chia-blockchain 2.5.1rc1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1042) hide show
  1. chia/__init__.py +10 -0
  2. chia/__main__.py +5 -0
  3. chia/_tests/README.md +53 -0
  4. chia/_tests/__init__.py +0 -0
  5. chia/_tests/blockchain/__init__.py +0 -0
  6. chia/_tests/blockchain/blockchain_test_utils.py +195 -0
  7. chia/_tests/blockchain/config.py +4 -0
  8. chia/_tests/blockchain/test_augmented_chain.py +145 -0
  9. chia/_tests/blockchain/test_blockchain.py +4202 -0
  10. chia/_tests/blockchain/test_blockchain_transactions.py +1031 -0
  11. chia/_tests/blockchain/test_build_chains.py +59 -0
  12. chia/_tests/blockchain/test_get_block_generator.py +72 -0
  13. chia/_tests/blockchain/test_lookup_fork_chain.py +194 -0
  14. chia/_tests/build-init-files.py +92 -0
  15. chia/_tests/build-job-matrix.py +204 -0
  16. chia/_tests/check_pytest_monitor_output.py +34 -0
  17. chia/_tests/check_sql_statements.py +72 -0
  18. chia/_tests/chia-start-sim +42 -0
  19. chia/_tests/clvm/__init__.py +0 -0
  20. chia/_tests/clvm/benchmark_costs.py +23 -0
  21. chia/_tests/clvm/coin_store.py +149 -0
  22. chia/_tests/clvm/test_chialisp_deserialization.py +101 -0
  23. chia/_tests/clvm/test_clvm_step.py +37 -0
  24. chia/_tests/clvm/test_condition_codes.py +13 -0
  25. chia/_tests/clvm/test_curry_and_treehash.py +55 -0
  26. chia/_tests/clvm/test_message_conditions.py +184 -0
  27. chia/_tests/clvm/test_program.py +150 -0
  28. chia/_tests/clvm/test_puzzle_compression.py +143 -0
  29. chia/_tests/clvm/test_puzzle_drivers.py +45 -0
  30. chia/_tests/clvm/test_puzzles.py +242 -0
  31. chia/_tests/clvm/test_singletons.py +540 -0
  32. chia/_tests/clvm/test_spend_sim.py +181 -0
  33. chia/_tests/cmds/__init__.py +0 -0
  34. chia/_tests/cmds/cmd_test_utils.py +469 -0
  35. chia/_tests/cmds/config.py +3 -0
  36. chia/_tests/cmds/conftest.py +23 -0
  37. chia/_tests/cmds/test_click_types.py +200 -0
  38. chia/_tests/cmds/test_cmd_framework.py +620 -0
  39. chia/_tests/cmds/test_cmds_util.py +97 -0
  40. chia/_tests/cmds/test_daemon.py +92 -0
  41. chia/_tests/cmds/test_dev_gh.py +131 -0
  42. chia/_tests/cmds/test_farm_cmd.py +66 -0
  43. chia/_tests/cmds/test_show.py +116 -0
  44. chia/_tests/cmds/test_sim.py +207 -0
  45. chia/_tests/cmds/test_timelock_args.py +75 -0
  46. chia/_tests/cmds/test_tx_config_args.py +154 -0
  47. chia/_tests/cmds/testing_classes.py +59 -0
  48. chia/_tests/cmds/wallet/__init__.py +0 -0
  49. chia/_tests/cmds/wallet/test_consts.py +47 -0
  50. chia/_tests/cmds/wallet/test_dao.py +565 -0
  51. chia/_tests/cmds/wallet/test_did.py +403 -0
  52. chia/_tests/cmds/wallet/test_nft.py +471 -0
  53. chia/_tests/cmds/wallet/test_notifications.py +124 -0
  54. chia/_tests/cmds/wallet/test_offer.toffer +1 -0
  55. chia/_tests/cmds/wallet/test_tx_decorators.py +27 -0
  56. chia/_tests/cmds/wallet/test_vcs.py +400 -0
  57. chia/_tests/cmds/wallet/test_wallet.py +1125 -0
  58. chia/_tests/cmds/wallet/test_wallet_check.py +109 -0
  59. chia/_tests/conftest.py +1419 -0
  60. chia/_tests/connection_utils.py +125 -0
  61. chia/_tests/core/__init__.py +0 -0
  62. chia/_tests/core/cmds/__init__.py +0 -0
  63. chia/_tests/core/cmds/test_beta.py +382 -0
  64. chia/_tests/core/cmds/test_keys.py +1734 -0
  65. chia/_tests/core/cmds/test_wallet.py +126 -0
  66. chia/_tests/core/config.py +3 -0
  67. chia/_tests/core/consensus/__init__.py +0 -0
  68. chia/_tests/core/consensus/test_block_creation.py +54 -0
  69. chia/_tests/core/consensus/test_pot_iterations.py +117 -0
  70. chia/_tests/core/custom_types/__init__.py +0 -0
  71. chia/_tests/core/custom_types/test_coin.py +107 -0
  72. chia/_tests/core/custom_types/test_proof_of_space.py +144 -0
  73. chia/_tests/core/custom_types/test_spend_bundle.py +70 -0
  74. chia/_tests/core/daemon/__init__.py +0 -0
  75. chia/_tests/core/daemon/config.py +4 -0
  76. chia/_tests/core/daemon/test_daemon.py +2128 -0
  77. chia/_tests/core/daemon/test_daemon_register.py +109 -0
  78. chia/_tests/core/daemon/test_keychain_proxy.py +101 -0
  79. chia/_tests/core/data_layer/__init__.py +0 -0
  80. chia/_tests/core/data_layer/config.py +5 -0
  81. chia/_tests/core/data_layer/conftest.py +106 -0
  82. chia/_tests/core/data_layer/test_data_cli.py +56 -0
  83. chia/_tests/core/data_layer/test_data_layer.py +83 -0
  84. chia/_tests/core/data_layer/test_data_layer_util.py +218 -0
  85. chia/_tests/core/data_layer/test_data_rpc.py +3847 -0
  86. chia/_tests/core/data_layer/test_data_store.py +2424 -0
  87. chia/_tests/core/data_layer/test_data_store_schema.py +381 -0
  88. chia/_tests/core/data_layer/test_plugin.py +91 -0
  89. chia/_tests/core/data_layer/util.py +233 -0
  90. chia/_tests/core/farmer/__init__.py +0 -0
  91. chia/_tests/core/farmer/config.py +3 -0
  92. chia/_tests/core/farmer/test_farmer_api.py +103 -0
  93. chia/_tests/core/full_node/__init__.py +0 -0
  94. chia/_tests/core/full_node/config.py +4 -0
  95. chia/_tests/core/full_node/dos/__init__.py +0 -0
  96. chia/_tests/core/full_node/dos/config.py +3 -0
  97. chia/_tests/core/full_node/full_sync/__init__.py +0 -0
  98. chia/_tests/core/full_node/full_sync/config.py +4 -0
  99. chia/_tests/core/full_node/full_sync/test_full_sync.py +443 -0
  100. chia/_tests/core/full_node/ram_db.py +27 -0
  101. chia/_tests/core/full_node/stores/__init__.py +0 -0
  102. chia/_tests/core/full_node/stores/config.py +4 -0
  103. chia/_tests/core/full_node/stores/test_block_store.py +590 -0
  104. chia/_tests/core/full_node/stores/test_coin_store.py +897 -0
  105. chia/_tests/core/full_node/stores/test_full_node_store.py +1219 -0
  106. chia/_tests/core/full_node/stores/test_hint_store.py +229 -0
  107. chia/_tests/core/full_node/stores/test_sync_store.py +135 -0
  108. chia/_tests/core/full_node/test_address_manager.py +588 -0
  109. chia/_tests/core/full_node/test_block_height_map.py +556 -0
  110. chia/_tests/core/full_node/test_conditions.py +556 -0
  111. chia/_tests/core/full_node/test_full_node.py +2700 -0
  112. chia/_tests/core/full_node/test_generator_tools.py +82 -0
  113. chia/_tests/core/full_node/test_hint_management.py +104 -0
  114. chia/_tests/core/full_node/test_node_load.py +34 -0
  115. chia/_tests/core/full_node/test_performance.py +179 -0
  116. chia/_tests/core/full_node/test_subscriptions.py +492 -0
  117. chia/_tests/core/full_node/test_transactions.py +203 -0
  118. chia/_tests/core/full_node/test_tx_processing_queue.py +155 -0
  119. chia/_tests/core/large_block.py +2388 -0
  120. chia/_tests/core/make_block_generator.py +70 -0
  121. chia/_tests/core/mempool/__init__.py +0 -0
  122. chia/_tests/core/mempool/config.py +4 -0
  123. chia/_tests/core/mempool/test_mempool.py +3255 -0
  124. chia/_tests/core/mempool/test_mempool_fee_estimator.py +104 -0
  125. chia/_tests/core/mempool/test_mempool_fee_protocol.py +55 -0
  126. chia/_tests/core/mempool/test_mempool_item_queries.py +190 -0
  127. chia/_tests/core/mempool/test_mempool_manager.py +2084 -0
  128. chia/_tests/core/mempool/test_mempool_performance.py +64 -0
  129. chia/_tests/core/mempool/test_singleton_fast_forward.py +567 -0
  130. chia/_tests/core/node_height.py +28 -0
  131. chia/_tests/core/server/__init__.py +0 -0
  132. chia/_tests/core/server/config.py +3 -0
  133. chia/_tests/core/server/flood.py +84 -0
  134. chia/_tests/core/server/serve.py +135 -0
  135. chia/_tests/core/server/test_api_protocol.py +21 -0
  136. chia/_tests/core/server/test_capabilities.py +66 -0
  137. chia/_tests/core/server/test_dos.py +319 -0
  138. chia/_tests/core/server/test_event_loop.py +109 -0
  139. chia/_tests/core/server/test_loop.py +294 -0
  140. chia/_tests/core/server/test_node_discovery.py +73 -0
  141. chia/_tests/core/server/test_rate_limits.py +482 -0
  142. chia/_tests/core/server/test_server.py +226 -0
  143. chia/_tests/core/server/test_upnp.py +8 -0
  144. chia/_tests/core/services/__init__.py +0 -0
  145. chia/_tests/core/services/config.py +3 -0
  146. chia/_tests/core/services/test_services.py +188 -0
  147. chia/_tests/core/ssl/__init__.py +0 -0
  148. chia/_tests/core/ssl/config.py +3 -0
  149. chia/_tests/core/ssl/test_ssl.py +202 -0
  150. chia/_tests/core/test_coins.py +33 -0
  151. chia/_tests/core/test_cost_calculation.py +313 -0
  152. chia/_tests/core/test_crawler.py +175 -0
  153. chia/_tests/core/test_crawler_rpc.py +53 -0
  154. chia/_tests/core/test_daemon_rpc.py +24 -0
  155. chia/_tests/core/test_db_conversion.py +130 -0
  156. chia/_tests/core/test_db_validation.py +162 -0
  157. chia/_tests/core/test_farmer_harvester_rpc.py +505 -0
  158. chia/_tests/core/test_filter.py +35 -0
  159. chia/_tests/core/test_full_node_rpc.py +768 -0
  160. chia/_tests/core/test_merkle_set.py +343 -0
  161. chia/_tests/core/test_program.py +47 -0
  162. chia/_tests/core/test_rpc_util.py +86 -0
  163. chia/_tests/core/test_seeder.py +420 -0
  164. chia/_tests/core/test_setproctitle.py +13 -0
  165. chia/_tests/core/util/__init__.py +0 -0
  166. chia/_tests/core/util/config.py +4 -0
  167. chia/_tests/core/util/test_block_cache.py +44 -0
  168. chia/_tests/core/util/test_cached_bls.py +57 -0
  169. chia/_tests/core/util/test_config.py +337 -0
  170. chia/_tests/core/util/test_file_keyring_synchronization.py +105 -0
  171. chia/_tests/core/util/test_files.py +391 -0
  172. chia/_tests/core/util/test_jsonify.py +146 -0
  173. chia/_tests/core/util/test_keychain.py +522 -0
  174. chia/_tests/core/util/test_keyring_wrapper.py +491 -0
  175. chia/_tests/core/util/test_lockfile.py +380 -0
  176. chia/_tests/core/util/test_log_exceptions.py +187 -0
  177. chia/_tests/core/util/test_lru_cache.py +56 -0
  178. chia/_tests/core/util/test_significant_bits.py +40 -0
  179. chia/_tests/core/util/test_streamable.py +883 -0
  180. chia/_tests/db/__init__.py +0 -0
  181. chia/_tests/db/test_db_wrapper.py +566 -0
  182. chia/_tests/environments/__init__.py +0 -0
  183. chia/_tests/environments/common.py +35 -0
  184. chia/_tests/environments/full_node.py +47 -0
  185. chia/_tests/environments/wallet.py +429 -0
  186. chia/_tests/ether.py +19 -0
  187. chia/_tests/farmer_harvester/__init__.py +0 -0
  188. chia/_tests/farmer_harvester/config.py +3 -0
  189. chia/_tests/farmer_harvester/test_farmer.py +1264 -0
  190. chia/_tests/farmer_harvester/test_farmer_harvester.py +292 -0
  191. chia/_tests/farmer_harvester/test_filter_prefix_bits.py +131 -0
  192. chia/_tests/farmer_harvester/test_third_party_harvesters.py +528 -0
  193. chia/_tests/farmer_harvester/test_third_party_harvesters_data.json +29 -0
  194. chia/_tests/fee_estimation/__init__.py +0 -0
  195. chia/_tests/fee_estimation/config.py +3 -0
  196. chia/_tests/fee_estimation/test_fee_estimation_integration.py +262 -0
  197. chia/_tests/fee_estimation/test_fee_estimation_rpc.py +287 -0
  198. chia/_tests/fee_estimation/test_fee_estimation_unit_tests.py +144 -0
  199. chia/_tests/fee_estimation/test_mempoolitem_height_added.py +146 -0
  200. chia/_tests/generator/__init__.py +0 -0
  201. chia/_tests/generator/puzzles/__init__.py +0 -0
  202. chia/_tests/generator/puzzles/test_generator_deserialize.clsp +3 -0
  203. chia/_tests/generator/puzzles/test_generator_deserialize.clsp.hex +1 -0
  204. chia/_tests/generator/puzzles/test_multiple_generator_input_arguments.clsp +19 -0
  205. chia/_tests/generator/puzzles/test_multiple_generator_input_arguments.clsp.hex +1 -0
  206. chia/_tests/generator/test_compression.py +201 -0
  207. chia/_tests/generator/test_generator_types.py +44 -0
  208. chia/_tests/generator/test_rom.py +180 -0
  209. chia/_tests/plot_sync/__init__.py +0 -0
  210. chia/_tests/plot_sync/config.py +3 -0
  211. chia/_tests/plot_sync/test_delta.py +101 -0
  212. chia/_tests/plot_sync/test_plot_sync.py +618 -0
  213. chia/_tests/plot_sync/test_receiver.py +451 -0
  214. chia/_tests/plot_sync/test_sender.py +116 -0
  215. chia/_tests/plot_sync/test_sync_simulated.py +451 -0
  216. chia/_tests/plot_sync/util.py +68 -0
  217. chia/_tests/plotting/__init__.py +0 -0
  218. chia/_tests/plotting/config.py +3 -0
  219. chia/_tests/plotting/test_plot_manager.py +781 -0
  220. chia/_tests/plotting/util.py +12 -0
  221. chia/_tests/pools/__init__.py +0 -0
  222. chia/_tests/pools/config.py +5 -0
  223. chia/_tests/pools/test_pool_cli_parsing.py +128 -0
  224. chia/_tests/pools/test_pool_cmdline.py +1001 -0
  225. chia/_tests/pools/test_pool_config.py +42 -0
  226. chia/_tests/pools/test_pool_puzzles_lifecycle.py +397 -0
  227. chia/_tests/pools/test_pool_rpc.py +1123 -0
  228. chia/_tests/pools/test_pool_wallet.py +205 -0
  229. chia/_tests/pools/test_wallet_pool_store.py +161 -0
  230. chia/_tests/process_junit.py +348 -0
  231. chia/_tests/rpc/__init__.py +0 -0
  232. chia/_tests/rpc/test_rpc_client.py +138 -0
  233. chia/_tests/rpc/test_rpc_server.py +183 -0
  234. chia/_tests/simulation/__init__.py +0 -0
  235. chia/_tests/simulation/config.py +6 -0
  236. chia/_tests/simulation/test_simulation.py +501 -0
  237. chia/_tests/simulation/test_simulator.py +232 -0
  238. chia/_tests/simulation/test_start_simulator.py +107 -0
  239. chia/_tests/testconfig.py +13 -0
  240. chia/_tests/timelord/__init__.py +0 -0
  241. chia/_tests/timelord/config.py +3 -0
  242. chia/_tests/timelord/test_new_peak.py +437 -0
  243. chia/_tests/timelord/test_timelord.py +11 -0
  244. chia/_tests/tools/1315537.json +170 -0
  245. chia/_tests/tools/1315544.json +160 -0
  246. chia/_tests/tools/1315630.json +150 -0
  247. chia/_tests/tools/300000.json +105 -0
  248. chia/_tests/tools/442734.json +140 -0
  249. chia/_tests/tools/466212.json +130 -0
  250. chia/_tests/tools/__init__.py +0 -0
  251. chia/_tests/tools/config.py +5 -0
  252. chia/_tests/tools/test-blockchain-db.sqlite +0 -0
  253. chia/_tests/tools/test_full_sync.py +30 -0
  254. chia/_tests/tools/test_legacy_keyring.py +82 -0
  255. chia/_tests/tools/test_run_block.py +128 -0
  256. chia/_tests/tools/test_virtual_project.py +591 -0
  257. chia/_tests/util/__init__.py +0 -0
  258. chia/_tests/util/benchmark_cost.py +170 -0
  259. chia/_tests/util/benchmarks.py +153 -0
  260. chia/_tests/util/bip39_test_vectors.json +148 -0
  261. chia/_tests/util/blockchain.py +134 -0
  262. chia/_tests/util/blockchain_mock.py +132 -0
  263. chia/_tests/util/build_network_protocol_files.py +302 -0
  264. chia/_tests/util/clvm_generator.bin +0 -0
  265. chia/_tests/util/config.py +3 -0
  266. chia/_tests/util/constants.py +20 -0
  267. chia/_tests/util/db_connection.py +37 -0
  268. chia/_tests/util/full_sync.py +253 -0
  269. chia/_tests/util/gen_ssl_certs.py +114 -0
  270. chia/_tests/util/generator_tools_testing.py +45 -0
  271. chia/_tests/util/get_name_puzzle_conditions.py +52 -0
  272. chia/_tests/util/key_tool.py +36 -0
  273. chia/_tests/util/misc.py +675 -0
  274. chia/_tests/util/network_protocol_data.py +1072 -0
  275. chia/_tests/util/protocol_messages_bytes-v1.0 +0 -0
  276. chia/_tests/util/protocol_messages_json.py +2701 -0
  277. chia/_tests/util/rpc.py +26 -0
  278. chia/_tests/util/run_block.py +163 -0
  279. chia/_tests/util/setup_nodes.py +481 -0
  280. chia/_tests/util/spend_sim.py +492 -0
  281. chia/_tests/util/split_managers.py +102 -0
  282. chia/_tests/util/temp_file.py +14 -0
  283. chia/_tests/util/test_action_scope.py +144 -0
  284. chia/_tests/util/test_async_pool.py +366 -0
  285. chia/_tests/util/test_build_job_matrix.py +42 -0
  286. chia/_tests/util/test_build_network_protocol_files.py +7 -0
  287. chia/_tests/util/test_chia_version.py +50 -0
  288. chia/_tests/util/test_collection.py +11 -0
  289. chia/_tests/util/test_condition_tools.py +229 -0
  290. chia/_tests/util/test_config.py +426 -0
  291. chia/_tests/util/test_dump_keyring.py +60 -0
  292. chia/_tests/util/test_errors.py +10 -0
  293. chia/_tests/util/test_full_block_utils.py +279 -0
  294. chia/_tests/util/test_installed.py +20 -0
  295. chia/_tests/util/test_limited_semaphore.py +53 -0
  296. chia/_tests/util/test_logging_filter.py +42 -0
  297. chia/_tests/util/test_misc.py +445 -0
  298. chia/_tests/util/test_network.py +73 -0
  299. chia/_tests/util/test_network_protocol_files.py +578 -0
  300. chia/_tests/util/test_network_protocol_json.py +267 -0
  301. chia/_tests/util/test_network_protocol_test.py +256 -0
  302. chia/_tests/util/test_paginator.py +71 -0
  303. chia/_tests/util/test_pprint.py +17 -0
  304. chia/_tests/util/test_priority_mutex.py +488 -0
  305. chia/_tests/util/test_recursive_replace.py +116 -0
  306. chia/_tests/util/test_replace_str_to_bytes.py +137 -0
  307. chia/_tests/util/test_service_groups.py +15 -0
  308. chia/_tests/util/test_ssl_check.py +31 -0
  309. chia/_tests/util/test_testnet_overrides.py +19 -0
  310. chia/_tests/util/test_tests_misc.py +38 -0
  311. chia/_tests/util/test_timing.py +37 -0
  312. chia/_tests/util/test_trusted_peer.py +51 -0
  313. chia/_tests/util/time_out_assert.py +191 -0
  314. chia/_tests/wallet/__init__.py +0 -0
  315. chia/_tests/wallet/cat_wallet/__init__.py +0 -0
  316. chia/_tests/wallet/cat_wallet/config.py +4 -0
  317. chia/_tests/wallet/cat_wallet/test_cat_lifecycle.py +468 -0
  318. chia/_tests/wallet/cat_wallet/test_cat_outer_puzzle.py +69 -0
  319. chia/_tests/wallet/cat_wallet/test_cat_wallet.py +1826 -0
  320. chia/_tests/wallet/cat_wallet/test_offer_lifecycle.py +291 -0
  321. chia/_tests/wallet/cat_wallet/test_trades.py +2600 -0
  322. chia/_tests/wallet/clawback/__init__.py +0 -0
  323. chia/_tests/wallet/clawback/config.py +3 -0
  324. chia/_tests/wallet/clawback/test_clawback_decorator.py +78 -0
  325. chia/_tests/wallet/clawback/test_clawback_lifecycle.py +292 -0
  326. chia/_tests/wallet/clawback/test_clawback_metadata.py +50 -0
  327. chia/_tests/wallet/config.py +4 -0
  328. chia/_tests/wallet/conftest.py +278 -0
  329. chia/_tests/wallet/dao_wallet/__init__.py +0 -0
  330. chia/_tests/wallet/dao_wallet/config.py +3 -0
  331. chia/_tests/wallet/dao_wallet/test_dao_clvm.py +1330 -0
  332. chia/_tests/wallet/dao_wallet/test_dao_wallets.py +3488 -0
  333. chia/_tests/wallet/db_wallet/__init__.py +0 -0
  334. chia/_tests/wallet/db_wallet/config.py +3 -0
  335. chia/_tests/wallet/db_wallet/test_db_graftroot.py +141 -0
  336. chia/_tests/wallet/db_wallet/test_dl_offers.py +491 -0
  337. chia/_tests/wallet/db_wallet/test_dl_wallet.py +823 -0
  338. chia/_tests/wallet/did_wallet/__init__.py +0 -0
  339. chia/_tests/wallet/did_wallet/config.py +4 -0
  340. chia/_tests/wallet/did_wallet/test_did.py +2284 -0
  341. chia/_tests/wallet/nft_wallet/__init__.py +0 -0
  342. chia/_tests/wallet/nft_wallet/config.py +4 -0
  343. chia/_tests/wallet/nft_wallet/test_nft_1_offers.py +1493 -0
  344. chia/_tests/wallet/nft_wallet/test_nft_bulk_mint.py +1024 -0
  345. chia/_tests/wallet/nft_wallet/test_nft_lifecycle.py +375 -0
  346. chia/_tests/wallet/nft_wallet/test_nft_offers.py +1209 -0
  347. chia/_tests/wallet/nft_wallet/test_nft_puzzles.py +172 -0
  348. chia/_tests/wallet/nft_wallet/test_nft_wallet.py +2584 -0
  349. chia/_tests/wallet/nft_wallet/test_ownership_outer_puzzle.py +70 -0
  350. chia/_tests/wallet/rpc/__init__.py +0 -0
  351. chia/_tests/wallet/rpc/config.py +4 -0
  352. chia/_tests/wallet/rpc/test_dl_wallet_rpc.py +285 -0
  353. chia/_tests/wallet/rpc/test_wallet_rpc.py +3153 -0
  354. chia/_tests/wallet/simple_sync/__init__.py +0 -0
  355. chia/_tests/wallet/simple_sync/config.py +3 -0
  356. chia/_tests/wallet/simple_sync/test_simple_sync_protocol.py +718 -0
  357. chia/_tests/wallet/sync/__init__.py +0 -0
  358. chia/_tests/wallet/sync/config.py +4 -0
  359. chia/_tests/wallet/sync/test_wallet_sync.py +1692 -0
  360. chia/_tests/wallet/test_address_type.py +189 -0
  361. chia/_tests/wallet/test_bech32m.py +45 -0
  362. chia/_tests/wallet/test_clvm_streamable.py +244 -0
  363. chia/_tests/wallet/test_coin_management.py +354 -0
  364. chia/_tests/wallet/test_coin_selection.py +588 -0
  365. chia/_tests/wallet/test_conditions.py +400 -0
  366. chia/_tests/wallet/test_debug_spend_bundle.py +218 -0
  367. chia/_tests/wallet/test_new_wallet_protocol.py +1174 -0
  368. chia/_tests/wallet/test_nft_store.py +192 -0
  369. chia/_tests/wallet/test_notifications.py +196 -0
  370. chia/_tests/wallet/test_offer_parsing_performance.py +48 -0
  371. chia/_tests/wallet/test_puzzle_store.py +132 -0
  372. chia/_tests/wallet/test_sign_coin_spends.py +159 -0
  373. chia/_tests/wallet/test_signer_protocol.py +947 -0
  374. chia/_tests/wallet/test_singleton.py +122 -0
  375. chia/_tests/wallet/test_singleton_lifecycle_fast.py +772 -0
  376. chia/_tests/wallet/test_singleton_store.py +152 -0
  377. chia/_tests/wallet/test_taproot.py +19 -0
  378. chia/_tests/wallet/test_transaction_store.py +945 -0
  379. chia/_tests/wallet/test_util.py +185 -0
  380. chia/_tests/wallet/test_wallet.py +2139 -0
  381. chia/_tests/wallet/test_wallet_action_scope.py +85 -0
  382. chia/_tests/wallet/test_wallet_blockchain.py +111 -0
  383. chia/_tests/wallet/test_wallet_coin_store.py +1002 -0
  384. chia/_tests/wallet/test_wallet_interested_store.py +43 -0
  385. chia/_tests/wallet/test_wallet_key_val_store.py +40 -0
  386. chia/_tests/wallet/test_wallet_node.py +780 -0
  387. chia/_tests/wallet/test_wallet_retry.py +95 -0
  388. chia/_tests/wallet/test_wallet_state_manager.py +259 -0
  389. chia/_tests/wallet/test_wallet_test_framework.py +275 -0
  390. chia/_tests/wallet/test_wallet_trade_store.py +218 -0
  391. chia/_tests/wallet/test_wallet_user_store.py +34 -0
  392. chia/_tests/wallet/test_wallet_utils.py +156 -0
  393. chia/_tests/wallet/vc_wallet/__init__.py +0 -0
  394. chia/_tests/wallet/vc_wallet/config.py +3 -0
  395. chia/_tests/wallet/vc_wallet/test_cr_outer_puzzle.py +70 -0
  396. chia/_tests/wallet/vc_wallet/test_vc_lifecycle.py +883 -0
  397. chia/_tests/wallet/vc_wallet/test_vc_wallet.py +830 -0
  398. chia/_tests/wallet/wallet_block_tools.py +327 -0
  399. chia/_tests/weight_proof/__init__.py +0 -0
  400. chia/_tests/weight_proof/config.py +3 -0
  401. chia/_tests/weight_proof/test_weight_proof.py +528 -0
  402. chia/apis.py +19 -0
  403. chia/clvm/__init__.py +0 -0
  404. chia/cmds/__init__.py +0 -0
  405. chia/cmds/beta.py +184 -0
  406. chia/cmds/beta_funcs.py +137 -0
  407. chia/cmds/check_wallet_db.py +420 -0
  408. chia/cmds/chia.py +151 -0
  409. chia/cmds/cmd_classes.py +323 -0
  410. chia/cmds/cmd_helpers.py +242 -0
  411. chia/cmds/cmds_util.py +488 -0
  412. chia/cmds/coin_funcs.py +275 -0
  413. chia/cmds/coins.py +182 -0
  414. chia/cmds/completion.py +49 -0
  415. chia/cmds/configure.py +332 -0
  416. chia/cmds/dao.py +1064 -0
  417. chia/cmds/dao_funcs.py +598 -0
  418. chia/cmds/data.py +708 -0
  419. chia/cmds/data_funcs.py +385 -0
  420. chia/cmds/db.py +87 -0
  421. chia/cmds/db_backup_func.py +77 -0
  422. chia/cmds/db_upgrade_func.py +452 -0
  423. chia/cmds/db_validate_func.py +184 -0
  424. chia/cmds/dev.py +18 -0
  425. chia/cmds/farm.py +100 -0
  426. chia/cmds/farm_funcs.py +200 -0
  427. chia/cmds/gh.py +275 -0
  428. chia/cmds/init.py +63 -0
  429. chia/cmds/init_funcs.py +367 -0
  430. chia/cmds/installers.py +131 -0
  431. chia/cmds/keys.py +527 -0
  432. chia/cmds/keys_funcs.py +863 -0
  433. chia/cmds/netspace.py +50 -0
  434. chia/cmds/netspace_funcs.py +54 -0
  435. chia/cmds/options.py +32 -0
  436. chia/cmds/param_types.py +238 -0
  437. chia/cmds/passphrase.py +131 -0
  438. chia/cmds/passphrase_funcs.py +292 -0
  439. chia/cmds/peer.py +51 -0
  440. chia/cmds/peer_funcs.py +129 -0
  441. chia/cmds/plotnft.py +260 -0
  442. chia/cmds/plotnft_funcs.py +405 -0
  443. chia/cmds/plots.py +230 -0
  444. chia/cmds/plotters.py +18 -0
  445. chia/cmds/rpc.py +208 -0
  446. chia/cmds/show.py +72 -0
  447. chia/cmds/show_funcs.py +215 -0
  448. chia/cmds/signer.py +296 -0
  449. chia/cmds/sim.py +225 -0
  450. chia/cmds/sim_funcs.py +509 -0
  451. chia/cmds/start.py +24 -0
  452. chia/cmds/start_funcs.py +109 -0
  453. chia/cmds/stop.py +62 -0
  454. chia/cmds/units.py +9 -0
  455. chia/cmds/wallet.py +1901 -0
  456. chia/cmds/wallet_funcs.py +1874 -0
  457. chia/consensus/__init__.py +0 -0
  458. chia/consensus/block_body_validation.py +562 -0
  459. chia/consensus/block_creation.py +546 -0
  460. chia/consensus/block_header_validation.py +1059 -0
  461. chia/consensus/block_record.py +31 -0
  462. chia/consensus/block_rewards.py +53 -0
  463. chia/consensus/blockchain.py +1087 -0
  464. chia/consensus/blockchain_interface.py +56 -0
  465. chia/consensus/coinbase.py +30 -0
  466. chia/consensus/condition_costs.py +9 -0
  467. chia/consensus/constants.py +49 -0
  468. chia/consensus/cost_calculator.py +15 -0
  469. chia/consensus/default_constants.py +89 -0
  470. chia/consensus/deficit.py +55 -0
  471. chia/consensus/difficulty_adjustment.py +412 -0
  472. chia/consensus/find_fork_point.py +111 -0
  473. chia/consensus/full_block_to_block_record.py +167 -0
  474. chia/consensus/get_block_challenge.py +106 -0
  475. chia/consensus/get_block_generator.py +27 -0
  476. chia/consensus/make_sub_epoch_summary.py +210 -0
  477. chia/consensus/multiprocess_validation.py +268 -0
  478. chia/consensus/pos_quality.py +19 -0
  479. chia/consensus/pot_iterations.py +67 -0
  480. chia/consensus/puzzles/__init__.py +0 -0
  481. chia/consensus/puzzles/chialisp_deserialisation.clsp +69 -0
  482. chia/consensus/puzzles/chialisp_deserialisation.clsp.hex +1 -0
  483. chia/consensus/puzzles/rom_bootstrap_generator.clsp +37 -0
  484. chia/consensus/puzzles/rom_bootstrap_generator.clsp.hex +1 -0
  485. chia/consensus/vdf_info_computation.py +156 -0
  486. chia/daemon/__init__.py +0 -0
  487. chia/daemon/client.py +252 -0
  488. chia/daemon/keychain_proxy.py +502 -0
  489. chia/daemon/keychain_server.py +365 -0
  490. chia/daemon/server.py +1606 -0
  491. chia/daemon/windows_signal.py +56 -0
  492. chia/data_layer/__init__.py +0 -0
  493. chia/data_layer/data_layer.py +1291 -0
  494. chia/data_layer/data_layer_api.py +33 -0
  495. chia/data_layer/data_layer_errors.py +50 -0
  496. chia/data_layer/data_layer_server.py +170 -0
  497. chia/data_layer/data_layer_util.py +985 -0
  498. chia/data_layer/data_layer_wallet.py +1311 -0
  499. chia/data_layer/data_store.py +2267 -0
  500. chia/data_layer/dl_wallet_store.py +407 -0
  501. chia/data_layer/download_data.py +389 -0
  502. chia/data_layer/puzzles/__init__.py +0 -0
  503. chia/data_layer/puzzles/graftroot_dl_offers.clsp +100 -0
  504. chia/data_layer/puzzles/graftroot_dl_offers.clsp.hex +1 -0
  505. chia/data_layer/s3_plugin_config.yml +33 -0
  506. chia/data_layer/s3_plugin_service.py +468 -0
  507. chia/data_layer/util/__init__.py +0 -0
  508. chia/data_layer/util/benchmark.py +107 -0
  509. chia/data_layer/util/plugin.py +40 -0
  510. chia/farmer/__init__.py +0 -0
  511. chia/farmer/farmer.py +923 -0
  512. chia/farmer/farmer_api.py +820 -0
  513. chia/full_node/__init__.py +0 -0
  514. chia/full_node/bitcoin_fee_estimator.py +85 -0
  515. chia/full_node/block_height_map.py +271 -0
  516. chia/full_node/block_store.py +576 -0
  517. chia/full_node/bundle_tools.py +19 -0
  518. chia/full_node/coin_store.py +647 -0
  519. chia/full_node/fee_estimate.py +54 -0
  520. chia/full_node/fee_estimate_store.py +24 -0
  521. chia/full_node/fee_estimation.py +92 -0
  522. chia/full_node/fee_estimator.py +90 -0
  523. chia/full_node/fee_estimator_constants.py +38 -0
  524. chia/full_node/fee_estimator_interface.py +42 -0
  525. chia/full_node/fee_history.py +25 -0
  526. chia/full_node/fee_tracker.py +564 -0
  527. chia/full_node/full_node.py +3327 -0
  528. chia/full_node/full_node_api.py +2025 -0
  529. chia/full_node/full_node_store.py +1033 -0
  530. chia/full_node/hint_management.py +56 -0
  531. chia/full_node/hint_store.py +93 -0
  532. chia/full_node/mempool.py +589 -0
  533. chia/full_node/mempool_check_conditions.py +146 -0
  534. chia/full_node/mempool_manager.py +853 -0
  535. chia/full_node/pending_tx_cache.py +112 -0
  536. chia/full_node/puzzles/__init__.py +0 -0
  537. chia/full_node/puzzles/block_program_zero.clsp +14 -0
  538. chia/full_node/puzzles/block_program_zero.clsp.hex +1 -0
  539. chia/full_node/puzzles/decompress_coin_spend_entry.clsp +5 -0
  540. chia/full_node/puzzles/decompress_coin_spend_entry.clsp.hex +1 -0
  541. chia/full_node/puzzles/decompress_coin_spend_entry_with_prefix.clsp +7 -0
  542. chia/full_node/puzzles/decompress_coin_spend_entry_with_prefix.clsp.hex +1 -0
  543. chia/full_node/puzzles/decompress_puzzle.clsp +6 -0
  544. chia/full_node/puzzles/decompress_puzzle.clsp.hex +1 -0
  545. chia/full_node/signage_point.py +16 -0
  546. chia/full_node/subscriptions.py +247 -0
  547. chia/full_node/sync_store.py +146 -0
  548. chia/full_node/tx_processing_queue.py +78 -0
  549. chia/full_node/util/__init__.py +0 -0
  550. chia/full_node/weight_proof.py +1720 -0
  551. chia/harvester/__init__.py +0 -0
  552. chia/harvester/harvester.py +272 -0
  553. chia/harvester/harvester_api.py +380 -0
  554. chia/introducer/__init__.py +0 -0
  555. chia/introducer/introducer.py +122 -0
  556. chia/introducer/introducer_api.py +70 -0
  557. chia/legacy/__init__.py +0 -0
  558. chia/legacy/keyring.py +155 -0
  559. chia/plot_sync/__init__.py +0 -0
  560. chia/plot_sync/delta.py +61 -0
  561. chia/plot_sync/exceptions.py +56 -0
  562. chia/plot_sync/receiver.py +386 -0
  563. chia/plot_sync/sender.py +340 -0
  564. chia/plot_sync/util.py +43 -0
  565. chia/plotters/__init__.py +0 -0
  566. chia/plotters/bladebit.py +388 -0
  567. chia/plotters/chiapos.py +63 -0
  568. chia/plotters/madmax.py +224 -0
  569. chia/plotters/plotters.py +577 -0
  570. chia/plotters/plotters_util.py +133 -0
  571. chia/plotting/__init__.py +0 -0
  572. chia/plotting/cache.py +213 -0
  573. chia/plotting/check_plots.py +283 -0
  574. chia/plotting/create_plots.py +278 -0
  575. chia/plotting/manager.py +436 -0
  576. chia/plotting/util.py +336 -0
  577. chia/pools/__init__.py +0 -0
  578. chia/pools/pool_config.py +110 -0
  579. chia/pools/pool_puzzles.py +459 -0
  580. chia/pools/pool_wallet.py +933 -0
  581. chia/pools/pool_wallet_info.py +118 -0
  582. chia/pools/puzzles/__init__.py +0 -0
  583. chia/pools/puzzles/pool_member_innerpuz.clsp +70 -0
  584. chia/pools/puzzles/pool_member_innerpuz.clsp.hex +1 -0
  585. chia/pools/puzzles/pool_waitingroom_innerpuz.clsp +69 -0
  586. chia/pools/puzzles/pool_waitingroom_innerpuz.clsp.hex +1 -0
  587. chia/protocols/__init__.py +0 -0
  588. chia/protocols/farmer_protocol.py +102 -0
  589. chia/protocols/full_node_protocol.py +219 -0
  590. chia/protocols/harvester_protocol.py +216 -0
  591. chia/protocols/introducer_protocol.py +25 -0
  592. chia/protocols/pool_protocol.py +177 -0
  593. chia/protocols/protocol_message_types.py +139 -0
  594. chia/protocols/protocol_state_machine.py +87 -0
  595. chia/protocols/protocol_timing.py +8 -0
  596. chia/protocols/shared_protocol.py +86 -0
  597. chia/protocols/timelord_protocol.py +93 -0
  598. chia/protocols/wallet_protocol.py +401 -0
  599. chia/py.typed +0 -0
  600. chia/rpc/__init__.py +0 -0
  601. chia/rpc/crawler_rpc_api.py +80 -0
  602. chia/rpc/data_layer_rpc_api.py +644 -0
  603. chia/rpc/data_layer_rpc_client.py +188 -0
  604. chia/rpc/data_layer_rpc_util.py +58 -0
  605. chia/rpc/farmer_rpc_api.py +365 -0
  606. chia/rpc/farmer_rpc_client.py +86 -0
  607. chia/rpc/full_node_rpc_api.py +959 -0
  608. chia/rpc/full_node_rpc_client.py +292 -0
  609. chia/rpc/harvester_rpc_api.py +141 -0
  610. chia/rpc/harvester_rpc_client.py +54 -0
  611. chia/rpc/rpc_client.py +164 -0
  612. chia/rpc/rpc_server.py +521 -0
  613. chia/rpc/timelord_rpc_api.py +32 -0
  614. chia/rpc/util.py +93 -0
  615. chia/rpc/wallet_request_types.py +904 -0
  616. chia/rpc/wallet_rpc_api.py +4943 -0
  617. chia/rpc/wallet_rpc_client.py +1814 -0
  618. chia/seeder/__init__.py +0 -0
  619. chia/seeder/crawl_store.py +425 -0
  620. chia/seeder/crawler.py +410 -0
  621. chia/seeder/crawler_api.py +135 -0
  622. chia/seeder/dns_server.py +593 -0
  623. chia/seeder/peer_record.py +146 -0
  624. chia/seeder/start_crawler.py +92 -0
  625. chia/server/__init__.py +0 -0
  626. chia/server/address_manager.py +658 -0
  627. chia/server/address_manager_store.py +237 -0
  628. chia/server/api_protocol.py +116 -0
  629. chia/server/capabilities.py +24 -0
  630. chia/server/chia_policy.py +346 -0
  631. chia/server/introducer_peers.py +76 -0
  632. chia/server/node_discovery.py +714 -0
  633. chia/server/outbound_message.py +33 -0
  634. chia/server/rate_limit_numbers.py +214 -0
  635. chia/server/rate_limits.py +153 -0
  636. chia/server/server.py +741 -0
  637. chia/server/signal_handlers.py +120 -0
  638. chia/server/ssl_context.py +32 -0
  639. chia/server/start_data_layer.py +151 -0
  640. chia/server/start_farmer.py +98 -0
  641. chia/server/start_full_node.py +112 -0
  642. chia/server/start_harvester.py +93 -0
  643. chia/server/start_introducer.py +81 -0
  644. chia/server/start_service.py +316 -0
  645. chia/server/start_timelord.py +89 -0
  646. chia/server/start_wallet.py +113 -0
  647. chia/server/upnp.py +118 -0
  648. chia/server/ws_connection.py +766 -0
  649. chia/simulator/__init__.py +0 -0
  650. chia/simulator/add_blocks_in_batches.py +54 -0
  651. chia/simulator/block_tools.py +2054 -0
  652. chia/simulator/full_node_simulator.py +794 -0
  653. chia/simulator/keyring.py +128 -0
  654. chia/simulator/setup_services.py +506 -0
  655. chia/simulator/simulator_constants.py +13 -0
  656. chia/simulator/simulator_full_node_rpc_api.py +99 -0
  657. chia/simulator/simulator_full_node_rpc_client.py +60 -0
  658. chia/simulator/simulator_protocol.py +29 -0
  659. chia/simulator/simulator_test_tools.py +164 -0
  660. chia/simulator/socket.py +24 -0
  661. chia/simulator/ssl_certs.py +114 -0
  662. chia/simulator/ssl_certs_1.py +697 -0
  663. chia/simulator/ssl_certs_10.py +697 -0
  664. chia/simulator/ssl_certs_2.py +697 -0
  665. chia/simulator/ssl_certs_3.py +697 -0
  666. chia/simulator/ssl_certs_4.py +697 -0
  667. chia/simulator/ssl_certs_5.py +697 -0
  668. chia/simulator/ssl_certs_6.py +697 -0
  669. chia/simulator/ssl_certs_7.py +697 -0
  670. chia/simulator/ssl_certs_8.py +697 -0
  671. chia/simulator/ssl_certs_9.py +697 -0
  672. chia/simulator/start_simulator.py +143 -0
  673. chia/simulator/wallet_tools.py +246 -0
  674. chia/ssl/__init__.py +0 -0
  675. chia/ssl/chia_ca.crt +19 -0
  676. chia/ssl/chia_ca.key +28 -0
  677. chia/ssl/create_ssl.py +249 -0
  678. chia/ssl/dst_root_ca.pem +20 -0
  679. chia/timelord/__init__.py +0 -0
  680. chia/timelord/iters_from_block.py +50 -0
  681. chia/timelord/timelord.py +1226 -0
  682. chia/timelord/timelord_api.py +138 -0
  683. chia/timelord/timelord_launcher.py +190 -0
  684. chia/timelord/timelord_state.py +244 -0
  685. chia/timelord/types.py +22 -0
  686. chia/types/__init__.py +0 -0
  687. chia/types/aliases.py +35 -0
  688. chia/types/block_protocol.py +20 -0
  689. chia/types/blockchain_format/__init__.py +0 -0
  690. chia/types/blockchain_format/classgroup.py +5 -0
  691. chia/types/blockchain_format/coin.py +28 -0
  692. chia/types/blockchain_format/foliage.py +8 -0
  693. chia/types/blockchain_format/pool_target.py +5 -0
  694. chia/types/blockchain_format/program.py +269 -0
  695. chia/types/blockchain_format/proof_of_space.py +135 -0
  696. chia/types/blockchain_format/reward_chain_block.py +6 -0
  697. chia/types/blockchain_format/serialized_program.py +5 -0
  698. chia/types/blockchain_format/sized_bytes.py +11 -0
  699. chia/types/blockchain_format/slots.py +9 -0
  700. chia/types/blockchain_format/sub_epoch_summary.py +5 -0
  701. chia/types/blockchain_format/tree_hash.py +72 -0
  702. chia/types/blockchain_format/vdf.py +86 -0
  703. chia/types/clvm_cost.py +13 -0
  704. chia/types/coin_record.py +43 -0
  705. chia/types/coin_spend.py +115 -0
  706. chia/types/condition_opcodes.py +73 -0
  707. chia/types/condition_with_args.py +16 -0
  708. chia/types/eligible_coin_spends.py +365 -0
  709. chia/types/end_of_slot_bundle.py +5 -0
  710. chia/types/fee_rate.py +38 -0
  711. chia/types/full_block.py +5 -0
  712. chia/types/generator_types.py +13 -0
  713. chia/types/header_block.py +5 -0
  714. chia/types/internal_mempool_item.py +18 -0
  715. chia/types/mempool_inclusion_status.py +9 -0
  716. chia/types/mempool_item.py +85 -0
  717. chia/types/mempool_submission_status.py +30 -0
  718. chia/types/mojos.py +7 -0
  719. chia/types/peer_info.py +64 -0
  720. chia/types/signing_mode.py +29 -0
  721. chia/types/spend_bundle.py +30 -0
  722. chia/types/spend_bundle_conditions.py +7 -0
  723. chia/types/transaction_queue_entry.py +55 -0
  724. chia/types/unfinished_block.py +5 -0
  725. chia/types/unfinished_header_block.py +37 -0
  726. chia/types/validation_state.py +14 -0
  727. chia/types/weight_proof.py +49 -0
  728. chia/util/__init__.py +0 -0
  729. chia/util/action_scope.py +168 -0
  730. chia/util/async_pool.py +226 -0
  731. chia/util/augmented_chain.py +134 -0
  732. chia/util/batches.py +42 -0
  733. chia/util/bech32m.py +126 -0
  734. chia/util/beta_metrics.py +119 -0
  735. chia/util/block_cache.py +56 -0
  736. chia/util/byte_types.py +12 -0
  737. chia/util/check_fork_next_block.py +33 -0
  738. chia/util/chia_logging.py +144 -0
  739. chia/util/chia_version.py +33 -0
  740. chia/util/collection.py +17 -0
  741. chia/util/condition_tools.py +201 -0
  742. chia/util/config.py +367 -0
  743. chia/util/cpu.py +22 -0
  744. chia/util/db_synchronous.py +23 -0
  745. chia/util/db_version.py +32 -0
  746. chia/util/db_wrapper.py +430 -0
  747. chia/util/default_root.py +27 -0
  748. chia/util/dump_keyring.py +93 -0
  749. chia/util/english.txt +2048 -0
  750. chia/util/errors.py +353 -0
  751. chia/util/file_keyring.py +469 -0
  752. chia/util/files.py +97 -0
  753. chia/util/full_block_utils.py +345 -0
  754. chia/util/generator_tools.py +72 -0
  755. chia/util/hash.py +31 -0
  756. chia/util/initial-config.yaml +694 -0
  757. chia/util/inline_executor.py +26 -0
  758. chia/util/ints.py +19 -0
  759. chia/util/ip_address.py +39 -0
  760. chia/util/json_util.py +37 -0
  761. chia/util/keychain.py +676 -0
  762. chia/util/keyring_wrapper.py +327 -0
  763. chia/util/limited_semaphore.py +41 -0
  764. chia/util/lock.py +49 -0
  765. chia/util/log_exceptions.py +32 -0
  766. chia/util/logging.py +36 -0
  767. chia/util/lru_cache.py +31 -0
  768. chia/util/math.py +20 -0
  769. chia/util/network.py +182 -0
  770. chia/util/paginator.py +48 -0
  771. chia/util/path.py +31 -0
  772. chia/util/permissions.py +20 -0
  773. chia/util/prev_transaction_block.py +21 -0
  774. chia/util/priority_mutex.py +95 -0
  775. chia/util/profiler.py +197 -0
  776. chia/util/recursive_replace.py +24 -0
  777. chia/util/safe_cancel_task.py +16 -0
  778. chia/util/service_groups.py +47 -0
  779. chia/util/setproctitle.py +22 -0
  780. chia/util/significant_bits.py +32 -0
  781. chia/util/ssl_check.py +213 -0
  782. chia/util/streamable.py +642 -0
  783. chia/util/task_referencer.py +59 -0
  784. chia/util/task_timing.py +382 -0
  785. chia/util/timing.py +67 -0
  786. chia/util/vdf_prover.py +30 -0
  787. chia/util/virtual_project_analysis.py +540 -0
  788. chia/util/ws_message.py +66 -0
  789. chia/wallet/__init__.py +0 -0
  790. chia/wallet/cat_wallet/__init__.py +0 -0
  791. chia/wallet/cat_wallet/cat_constants.py +75 -0
  792. chia/wallet/cat_wallet/cat_info.py +47 -0
  793. chia/wallet/cat_wallet/cat_outer_puzzle.py +120 -0
  794. chia/wallet/cat_wallet/cat_utils.py +164 -0
  795. chia/wallet/cat_wallet/cat_wallet.py +855 -0
  796. chia/wallet/cat_wallet/dao_cat_info.py +28 -0
  797. chia/wallet/cat_wallet/dao_cat_wallet.py +669 -0
  798. chia/wallet/cat_wallet/lineage_store.py +74 -0
  799. chia/wallet/cat_wallet/puzzles/__init__.py +0 -0
  800. chia/wallet/cat_wallet/puzzles/cat_truths.clib +31 -0
  801. chia/wallet/cat_wallet/puzzles/cat_v2.clsp +397 -0
  802. chia/wallet/cat_wallet/puzzles/cat_v2.clsp.hex +1 -0
  803. chia/wallet/cat_wallet/puzzles/delegated_tail.clsp +25 -0
  804. chia/wallet/cat_wallet/puzzles/delegated_tail.clsp.hex +1 -0
  805. chia/wallet/cat_wallet/puzzles/everything_with_signature.clsp +15 -0
  806. chia/wallet/cat_wallet/puzzles/everything_with_signature.clsp.hex +1 -0
  807. chia/wallet/cat_wallet/puzzles/genesis_by_coin_id.clsp +26 -0
  808. chia/wallet/cat_wallet/puzzles/genesis_by_coin_id.clsp.hex +1 -0
  809. chia/wallet/cat_wallet/puzzles/genesis_by_coin_id_or_singleton.clsp +42 -0
  810. chia/wallet/cat_wallet/puzzles/genesis_by_coin_id_or_singleton.clsp.hex +1 -0
  811. chia/wallet/cat_wallet/puzzles/genesis_by_puzzle_hash.clsp +24 -0
  812. chia/wallet/cat_wallet/puzzles/genesis_by_puzzle_hash.clsp.hex +1 -0
  813. chia/wallet/coin_selection.py +188 -0
  814. chia/wallet/conditions.py +1512 -0
  815. chia/wallet/dao_wallet/__init__.py +0 -0
  816. chia/wallet/dao_wallet/dao_info.py +61 -0
  817. chia/wallet/dao_wallet/dao_utils.py +811 -0
  818. chia/wallet/dao_wallet/dao_wallet.py +2119 -0
  819. chia/wallet/db_wallet/__init__.py +0 -0
  820. chia/wallet/db_wallet/db_wallet_puzzles.py +111 -0
  821. chia/wallet/derivation_record.py +30 -0
  822. chia/wallet/derive_keys.py +146 -0
  823. chia/wallet/did_wallet/__init__.py +0 -0
  824. chia/wallet/did_wallet/did_info.py +39 -0
  825. chia/wallet/did_wallet/did_wallet.py +1494 -0
  826. chia/wallet/did_wallet/did_wallet_puzzles.py +221 -0
  827. chia/wallet/did_wallet/puzzles/__init__.py +0 -0
  828. chia/wallet/did_wallet/puzzles/did_innerpuz.clsp +135 -0
  829. chia/wallet/did_wallet/puzzles/did_innerpuz.clsp.hex +1 -0
  830. chia/wallet/driver_protocol.py +26 -0
  831. chia/wallet/key_val_store.py +55 -0
  832. chia/wallet/lineage_proof.py +58 -0
  833. chia/wallet/nft_wallet/__init__.py +0 -0
  834. chia/wallet/nft_wallet/metadata_outer_puzzle.py +92 -0
  835. chia/wallet/nft_wallet/nft_info.py +120 -0
  836. chia/wallet/nft_wallet/nft_puzzles.py +305 -0
  837. chia/wallet/nft_wallet/nft_wallet.py +1687 -0
  838. chia/wallet/nft_wallet/ownership_outer_puzzle.py +101 -0
  839. chia/wallet/nft_wallet/puzzles/__init__.py +0 -0
  840. chia/wallet/nft_wallet/puzzles/create_nft_launcher_from_did.clsp +6 -0
  841. chia/wallet/nft_wallet/puzzles/create_nft_launcher_from_did.clsp.hex +1 -0
  842. chia/wallet/nft_wallet/puzzles/nft_intermediate_launcher.clsp +6 -0
  843. chia/wallet/nft_wallet/puzzles/nft_intermediate_launcher.clsp.hex +1 -0
  844. chia/wallet/nft_wallet/puzzles/nft_metadata_updater_default.clsp +30 -0
  845. chia/wallet/nft_wallet/puzzles/nft_metadata_updater_default.clsp.hex +1 -0
  846. chia/wallet/nft_wallet/puzzles/nft_metadata_updater_updateable.clsp +28 -0
  847. chia/wallet/nft_wallet/puzzles/nft_metadata_updater_updateable.clsp.hex +1 -0
  848. chia/wallet/nft_wallet/puzzles/nft_ownership_layer.clsp +100 -0
  849. chia/wallet/nft_wallet/puzzles/nft_ownership_layer.clsp.hex +1 -0
  850. chia/wallet/nft_wallet/puzzles/nft_ownership_transfer_program_one_way_claim_with_royalties.clsp +78 -0
  851. chia/wallet/nft_wallet/puzzles/nft_ownership_transfer_program_one_way_claim_with_royalties.clsp.hex +1 -0
  852. chia/wallet/nft_wallet/puzzles/nft_state_layer.clsp +74 -0
  853. chia/wallet/nft_wallet/puzzles/nft_state_layer.clsp.hex +1 -0
  854. chia/wallet/nft_wallet/singleton_outer_puzzle.py +101 -0
  855. chia/wallet/nft_wallet/transfer_program_puzzle.py +82 -0
  856. chia/wallet/nft_wallet/uncurry_nft.py +217 -0
  857. chia/wallet/notification_manager.py +117 -0
  858. chia/wallet/notification_store.py +178 -0
  859. chia/wallet/outer_puzzles.py +84 -0
  860. chia/wallet/payment.py +33 -0
  861. chia/wallet/puzzle_drivers.py +118 -0
  862. chia/wallet/puzzles/__init__.py +0 -0
  863. chia/wallet/puzzles/augmented_condition.clsp +13 -0
  864. chia/wallet/puzzles/augmented_condition.clsp.hex +1 -0
  865. chia/wallet/puzzles/clawback/__init__.py +0 -0
  866. chia/wallet/puzzles/clawback/drivers.py +188 -0
  867. chia/wallet/puzzles/clawback/metadata.py +38 -0
  868. chia/wallet/puzzles/clawback/puzzle_decorator.py +67 -0
  869. chia/wallet/puzzles/condition_codes.clib +77 -0
  870. chia/wallet/puzzles/curry-and-treehash.clib +102 -0
  871. chia/wallet/puzzles/curry.clib +135 -0
  872. chia/wallet/puzzles/curry_by_index.clib +16 -0
  873. chia/wallet/puzzles/dao_cat_eve.clsp +17 -0
  874. chia/wallet/puzzles/dao_cat_eve.clsp.hex +1 -0
  875. chia/wallet/puzzles/dao_cat_launcher.clsp +36 -0
  876. chia/wallet/puzzles/dao_cat_launcher.clsp.hex +1 -0
  877. chia/wallet/puzzles/dao_finished_state.clsp +35 -0
  878. chia/wallet/puzzles/dao_finished_state.clsp.hex +1 -0
  879. chia/wallet/puzzles/dao_finished_state.clsp.hex.sha256tree +1 -0
  880. chia/wallet/puzzles/dao_lockup.clsp +288 -0
  881. chia/wallet/puzzles/dao_lockup.clsp.hex +1 -0
  882. chia/wallet/puzzles/dao_lockup.clsp.hex.sha256tree +1 -0
  883. chia/wallet/puzzles/dao_proposal.clsp +377 -0
  884. chia/wallet/puzzles/dao_proposal.clsp.hex +1 -0
  885. chia/wallet/puzzles/dao_proposal.clsp.hex.sha256tree +1 -0
  886. chia/wallet/puzzles/dao_proposal_timer.clsp +78 -0
  887. chia/wallet/puzzles/dao_proposal_timer.clsp.hex +1 -0
  888. chia/wallet/puzzles/dao_proposal_timer.clsp.hex.sha256tree +1 -0
  889. chia/wallet/puzzles/dao_proposal_validator.clsp +87 -0
  890. chia/wallet/puzzles/dao_proposal_validator.clsp.hex +1 -0
  891. chia/wallet/puzzles/dao_proposal_validator.clsp.hex.sha256tree +1 -0
  892. chia/wallet/puzzles/dao_spend_p2_singleton_v2.clsp +240 -0
  893. chia/wallet/puzzles/dao_spend_p2_singleton_v2.clsp.hex +1 -0
  894. chia/wallet/puzzles/dao_spend_p2_singleton_v2.clsp.hex.sha256tree +1 -0
  895. chia/wallet/puzzles/dao_treasury.clsp +115 -0
  896. chia/wallet/puzzles/dao_treasury.clsp.hex +1 -0
  897. chia/wallet/puzzles/dao_update_proposal.clsp +44 -0
  898. chia/wallet/puzzles/dao_update_proposal.clsp.hex +1 -0
  899. chia/wallet/puzzles/deployed_puzzle_hashes.json +67 -0
  900. chia/wallet/puzzles/json.clib +25 -0
  901. chia/wallet/puzzles/load_clvm.py +161 -0
  902. chia/wallet/puzzles/merkle_utils.clib +18 -0
  903. chia/wallet/puzzles/notification.clsp +7 -0
  904. chia/wallet/puzzles/notification.clsp.hex +1 -0
  905. chia/wallet/puzzles/p2_1_of_n.clsp +22 -0
  906. chia/wallet/puzzles/p2_1_of_n.clsp.hex +1 -0
  907. chia/wallet/puzzles/p2_conditions.clsp +3 -0
  908. chia/wallet/puzzles/p2_conditions.clsp.hex +1 -0
  909. chia/wallet/puzzles/p2_conditions.py +26 -0
  910. chia/wallet/puzzles/p2_delegated_conditions.clsp +18 -0
  911. chia/wallet/puzzles/p2_delegated_conditions.clsp.hex +1 -0
  912. chia/wallet/puzzles/p2_delegated_conditions.py +21 -0
  913. chia/wallet/puzzles/p2_delegated_puzzle.clsp +19 -0
  914. chia/wallet/puzzles/p2_delegated_puzzle.clsp.hex +1 -0
  915. chia/wallet/puzzles/p2_delegated_puzzle.py +34 -0
  916. chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.clsp +91 -0
  917. chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.clsp.hex +1 -0
  918. chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.py +160 -0
  919. chia/wallet/puzzles/p2_m_of_n_delegate_direct.clsp +108 -0
  920. chia/wallet/puzzles/p2_m_of_n_delegate_direct.clsp.hex +1 -0
  921. chia/wallet/puzzles/p2_m_of_n_delegate_direct.py +21 -0
  922. chia/wallet/puzzles/p2_parent.clsp +19 -0
  923. chia/wallet/puzzles/p2_parent.clsp.hex +1 -0
  924. chia/wallet/puzzles/p2_puzzle_hash.clsp +18 -0
  925. chia/wallet/puzzles/p2_puzzle_hash.clsp.hex +1 -0
  926. chia/wallet/puzzles/p2_puzzle_hash.py +27 -0
  927. chia/wallet/puzzles/p2_singleton.clsp +30 -0
  928. chia/wallet/puzzles/p2_singleton.clsp.hex +1 -0
  929. chia/wallet/puzzles/p2_singleton_aggregator.clsp +81 -0
  930. chia/wallet/puzzles/p2_singleton_aggregator.clsp.hex +1 -0
  931. chia/wallet/puzzles/p2_singleton_or_delayed_puzhash.clsp +50 -0
  932. chia/wallet/puzzles/p2_singleton_or_delayed_puzhash.clsp.hex +1 -0
  933. chia/wallet/puzzles/p2_singleton_via_delegated_puzzle.clsp +47 -0
  934. chia/wallet/puzzles/p2_singleton_via_delegated_puzzle.clsp.hex +1 -0
  935. chia/wallet/puzzles/puzzle_utils.py +34 -0
  936. chia/wallet/puzzles/settlement_payments.clsp +49 -0
  937. chia/wallet/puzzles/settlement_payments.clsp.hex +1 -0
  938. chia/wallet/puzzles/sha256tree.clib +11 -0
  939. chia/wallet/puzzles/singleton_launcher.clsp +16 -0
  940. chia/wallet/puzzles/singleton_launcher.clsp.hex +1 -0
  941. chia/wallet/puzzles/singleton_top_layer.clsp +177 -0
  942. chia/wallet/puzzles/singleton_top_layer.clsp.hex +1 -0
  943. chia/wallet/puzzles/singleton_top_layer.py +296 -0
  944. chia/wallet/puzzles/singleton_top_layer_v1_1.clsp +107 -0
  945. chia/wallet/puzzles/singleton_top_layer_v1_1.clsp.hex +1 -0
  946. chia/wallet/puzzles/singleton_top_layer_v1_1.py +345 -0
  947. chia/wallet/puzzles/singleton_truths.clib +21 -0
  948. chia/wallet/puzzles/tails.py +348 -0
  949. chia/wallet/puzzles/utility_macros.clib +48 -0
  950. chia/wallet/signer_protocol.py +125 -0
  951. chia/wallet/singleton.py +106 -0
  952. chia/wallet/singleton_record.py +30 -0
  953. chia/wallet/trade_manager.py +1102 -0
  954. chia/wallet/trade_record.py +67 -0
  955. chia/wallet/trading/__init__.py +0 -0
  956. chia/wallet/trading/offer.py +702 -0
  957. chia/wallet/trading/trade_status.py +13 -0
  958. chia/wallet/trading/trade_store.py +526 -0
  959. chia/wallet/transaction_record.py +158 -0
  960. chia/wallet/transaction_sorting.py +14 -0
  961. chia/wallet/uncurried_puzzle.py +17 -0
  962. chia/wallet/util/__init__.py +0 -0
  963. chia/wallet/util/address_type.py +55 -0
  964. chia/wallet/util/blind_signer_tl.py +164 -0
  965. chia/wallet/util/clvm_streamable.py +203 -0
  966. chia/wallet/util/compute_hints.py +66 -0
  967. chia/wallet/util/compute_memos.py +43 -0
  968. chia/wallet/util/curry_and_treehash.py +91 -0
  969. chia/wallet/util/debug_spend_bundle.py +232 -0
  970. chia/wallet/util/merkle_tree.py +100 -0
  971. chia/wallet/util/merkle_utils.py +102 -0
  972. chia/wallet/util/new_peak_queue.py +82 -0
  973. chia/wallet/util/notifications.py +12 -0
  974. chia/wallet/util/peer_request_cache.py +174 -0
  975. chia/wallet/util/pprint.py +39 -0
  976. chia/wallet/util/puzzle_compression.py +95 -0
  977. chia/wallet/util/puzzle_decorator.py +100 -0
  978. chia/wallet/util/puzzle_decorator_type.py +7 -0
  979. chia/wallet/util/query_filter.py +59 -0
  980. chia/wallet/util/transaction_type.py +23 -0
  981. chia/wallet/util/tx_config.py +158 -0
  982. chia/wallet/util/wallet_sync_utils.py +351 -0
  983. chia/wallet/util/wallet_types.py +72 -0
  984. chia/wallet/vc_wallet/__init__.py +0 -0
  985. chia/wallet/vc_wallet/cr_cat_drivers.py +664 -0
  986. chia/wallet/vc_wallet/cr_cat_wallet.py +877 -0
  987. chia/wallet/vc_wallet/cr_outer_puzzle.py +102 -0
  988. chia/wallet/vc_wallet/cr_puzzles/__init__.py +0 -0
  989. chia/wallet/vc_wallet/cr_puzzles/conditions_w_fee_announce.clsp +3 -0
  990. chia/wallet/vc_wallet/cr_puzzles/conditions_w_fee_announce.clsp.hex +1 -0
  991. chia/wallet/vc_wallet/cr_puzzles/credential_restriction.clsp +304 -0
  992. chia/wallet/vc_wallet/cr_puzzles/credential_restriction.clsp.hex +1 -0
  993. chia/wallet/vc_wallet/cr_puzzles/flag_proofs_checker.clsp +45 -0
  994. chia/wallet/vc_wallet/cr_puzzles/flag_proofs_checker.clsp.hex +1 -0
  995. chia/wallet/vc_wallet/vc_drivers.py +838 -0
  996. chia/wallet/vc_wallet/vc_puzzles/__init__.py +0 -0
  997. chia/wallet/vc_wallet/vc_puzzles/covenant_layer.clsp +30 -0
  998. chia/wallet/vc_wallet/vc_puzzles/covenant_layer.clsp.hex +1 -0
  999. chia/wallet/vc_wallet/vc_puzzles/eml_covenant_morpher.clsp +75 -0
  1000. chia/wallet/vc_wallet/vc_puzzles/eml_covenant_morpher.clsp.hex +1 -0
  1001. chia/wallet/vc_wallet/vc_puzzles/eml_transfer_program_covenant_adapter.clsp +32 -0
  1002. chia/wallet/vc_wallet/vc_puzzles/eml_transfer_program_covenant_adapter.clsp.hex +1 -0
  1003. chia/wallet/vc_wallet/vc_puzzles/eml_update_metadata_with_DID.clsp +80 -0
  1004. chia/wallet/vc_wallet/vc_puzzles/eml_update_metadata_with_DID.clsp.hex +1 -0
  1005. chia/wallet/vc_wallet/vc_puzzles/exigent_metadata_layer.clsp +163 -0
  1006. chia/wallet/vc_wallet/vc_puzzles/exigent_metadata_layer.clsp.hex +1 -0
  1007. chia/wallet/vc_wallet/vc_puzzles/p2_announced_delegated_puzzle.clsp +16 -0
  1008. chia/wallet/vc_wallet/vc_puzzles/p2_announced_delegated_puzzle.clsp.hex +1 -0
  1009. chia/wallet/vc_wallet/vc_puzzles/standard_vc_backdoor_puzzle.clsp +74 -0
  1010. chia/wallet/vc_wallet/vc_puzzles/standard_vc_backdoor_puzzle.clsp.hex +1 -0
  1011. chia/wallet/vc_wallet/vc_puzzles/std_parent_morpher.clsp +23 -0
  1012. chia/wallet/vc_wallet/vc_puzzles/std_parent_morpher.clsp.hex +1 -0
  1013. chia/wallet/vc_wallet/vc_puzzles/viral_backdoor.clsp +64 -0
  1014. chia/wallet/vc_wallet/vc_puzzles/viral_backdoor.clsp.hex +1 -0
  1015. chia/wallet/vc_wallet/vc_store.py +263 -0
  1016. chia/wallet/vc_wallet/vc_wallet.py +638 -0
  1017. chia/wallet/wallet.py +698 -0
  1018. chia/wallet/wallet_action_scope.py +96 -0
  1019. chia/wallet/wallet_blockchain.py +244 -0
  1020. chia/wallet/wallet_coin_record.py +72 -0
  1021. chia/wallet/wallet_coin_store.py +351 -0
  1022. chia/wallet/wallet_info.py +35 -0
  1023. chia/wallet/wallet_interested_store.py +188 -0
  1024. chia/wallet/wallet_nft_store.py +279 -0
  1025. chia/wallet/wallet_node.py +1765 -0
  1026. chia/wallet/wallet_node_api.py +207 -0
  1027. chia/wallet/wallet_pool_store.py +119 -0
  1028. chia/wallet/wallet_protocol.py +90 -0
  1029. chia/wallet/wallet_puzzle_store.py +396 -0
  1030. chia/wallet/wallet_retry_store.py +70 -0
  1031. chia/wallet/wallet_singleton_store.py +259 -0
  1032. chia/wallet/wallet_spend_bundle.py +25 -0
  1033. chia/wallet/wallet_state_manager.py +2819 -0
  1034. chia/wallet/wallet_transaction_store.py +496 -0
  1035. chia/wallet/wallet_user_store.py +110 -0
  1036. chia/wallet/wallet_weight_proof_handler.py +126 -0
  1037. chia_blockchain-2.5.1rc1.dist-info/LICENSE +201 -0
  1038. chia_blockchain-2.5.1rc1.dist-info/METADATA +156 -0
  1039. chia_blockchain-2.5.1rc1.dist-info/RECORD +1042 -0
  1040. chia_blockchain-2.5.1rc1.dist-info/WHEEL +4 -0
  1041. chia_blockchain-2.5.1rc1.dist-info/entry_points.txt +17 -0
  1042. mozilla-ca/cacert.pem +3611 -0
@@ -0,0 +1,697 @@
1
+ from __future__ import annotations
2
+
3
+ SSL_TEST_PRIVATE_CA_CRT = b"""-----BEGIN CERTIFICATE-----
4
+ MIIDKTCCAhGgAwIBAgIUD5VUdvJQlRhGJg2WJ+/K8I2sYZcwDQYJKoZIhvcNAQEL
5
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
6
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDMyMzE3MjkyN1oXDTMyMDMy
7
+ MDE3MjkyN1owRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
8
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
9
+ AAOCAQ8AMIIBCgKCAQEA47sS3nsWACyhnX2pvqdSMSfDWyeF1t+kmVvap2hk22yA
10
+ oAM56XCtHifhP8Zu8nI8uumP7Bnh8sW4yqE1Tl/Y5gkYD57r4ZH9o5lj1FvnZnoJ
11
+ lERpCpgeR9Lpw6xqfoPt+9a/KR6mQ93AwqH6tyqSicl+7TTNp8UAdAN/oFnymQ3T
12
+ VcBXV30YgiX3GIYNvcV0f+hglgA3BsprZLJRuaCv9fLT8PlhCqrFyJ67XflT98nE
13
+ 0pyaGIAEcvPCPQstAkcc9nnhmARkoAq7/3dsOWRr31paoWAnrSzXJtb+NWomlNEQ
14
+ ZADbNd68TIV40H6bcN45ff1nOfC78NJkXIjwdnFmuwIDAQABoxMwETAPBgNVHRMB
15
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAnl8bxBpQL41lIPB/o1Fe629IK
16
+ pFpJDjLC8xyUZrcoZigEYZ+O06Kbc8W52n3awRlLgSMjPUjwb3JExhPW1JcL2DAJ
17
+ ARoiu5XDCoTVAADeUAyf60YfARlu9y+hRDUSgYrUknuvJ07fTobJ4JbpMvP/mI9T
18
+ ILNZNJZVcaSD4ectURKYkveGtm5R9F3LIO0gscEFgWkhrPeLjiU6Hm1uuZgjRW8C
19
+ o57vHwW4yfmiWaXb3dwIjh8SBMgv/g9iDZskIkTCfRBEp8jM4ZlCAII0sNejSLkG
20
+ NjUDOtD3AYD46mLU9uOUkv/ecDn13usCaJSnQ7RfO7S/yGZQEcNw+DHHQXbS
21
+ -----END CERTIFICATE-----
22
+ """
23
+
24
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
25
+ MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDjuxLeexYALKGd
26
+ fam+p1IxJ8NbJ4XW36SZW9qnaGTbbICgAznpcK0eJ+E/xm7ycjy66Y/sGeHyxbjK
27
+ oTVOX9jmCRgPnuvhkf2jmWPUW+dmegmURGkKmB5H0unDrGp+g+371r8pHqZD3cDC
28
+ ofq3KpKJyX7tNM2nxQB0A3+gWfKZDdNVwFdXfRiCJfcYhg29xXR/6GCWADcGymtk
29
+ slG5oK/18tPw+WEKqsXInrtd+VP3ycTSnJoYgARy88I9Cy0CRxz2eeGYBGSgCrv/
30
+ d2w5ZGvfWlqhYCetLNcm1v41aiaU0RBkANs13rxMhXjQfptw3jl9/Wc58Lvw0mRc
31
+ iPB2cWa7AgMBAAECggEBANtdA5MNq6alV1SWjKEbGeBBtjujOZg+u5YCVgA2XhjD
32
+ Tq9UDD/iis/miGJfadXe1sMRYtKCKBUsApIlcWy6hPspPWUmp38UmucxRWl00dTz
33
+ rzCEKU7MMzbqYsVa2wZdXSvesysP3Aa5oAmb8B7qQle5oasq1wNJj+Mwz4qNulNU
34
+ nSJZVLbJC05B9+A5zaX1JeLsTDEhxwEatsUf5r4k5khsuw8xfALOjWLQ8x4CQb8W
35
+ d6qQIbsERzZFZ5CXqfOSjEA3J2UsvCcmbMZd35Q8AmjZNNGWRekrTolv/7Cw9KkS
36
+ rdKKb0hBAwenyTG0VKOCvawMbbyDRJF9X8rdExfwDfECgYEA/ypcZfxA2XghsYmX
37
+ vzqWTlwLNWUTOYJKA9wpW/tXqE9aSdFQic6sHhRsjrqEUArdIYmuzr6DKP/UYHiY
38
+ zzxNJ0YlqJ9me3h16QDc1l1luswg2ghxLrgoUakXIWWPzXPHBfIQOK1yHBiuQwRD
39
+ xj7A7bSV6kI+gS4yeFsn6QfbaFMCgYEA5Hm+LK7ubUNT2q/llaEWhLX60NPeDfMe
40
+ wpKusrPmwTTu0/Pm30VDO0p9+Wa/2MK6sOoL4OujTS/5afFRBK4Nhc2T0ldTQvL5
41
+ n9O3tLcARlCRquPJr+OQMQKwRAm64e06j8Itz+t6rg94bcgeqgAjAlHaUuhKYDX9
42
+ sWQGrPC9mvkCgYEAnvlGbefWg2b8Hv9pgqO+x31DInYhnx/Ue0ksn3kdqOgfiYQW
43
+ WHVh+K+i3t3H15KdKOr99SLu1pllOOGJ2vtn2kMy7Ta6g8yOMafu7sNrwRCymwTN
44
+ d10XCaF+nrkG+erbIZIplxZA1M5vq6M5kobAbpinGjdBd/xPR3sLh3z0rq8CgYEA
45
+ pvDFokSXdkKxrKLFsBUqLQIDKD8Gi07PdQBUocKNozKYJ0qZsR4cx9/gODF5kFqI
46
+ quf4kfnbMnURWvW2ayL6QoA5uIGSFuMOvlembWchzj7kkOcr4Vb3brg2LyCk6pu6
47
+ JHyPmNLIqxImvqBwt2quKe3BBr8wSShqHAmoTwkAoZECgYEAtNOneyR48yX/AKl3
48
+ O86o0y8nOgNX3FfW208IoXSk04oyYV1JGJvwk3p2lG5DkK6Atio1CAwTHGCnK124
49
+ ZVGwAun+Eo2jsxgKYtGxEBxIh7pimC+dVjDL65+PtCEbeEI8EwIALZgctMAACTN2
50
+ KiiTKFOa19a1Jkm5mVRiAuwxD2A=
51
+ -----END PRIVATE KEY-----
52
+ """
53
+
54
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
55
+ MIIDLDCCAhSgAwIBAgIUI/qIR41vNfZrImHDASkbd5CdhdkwDQYJKoZIhvcNAQEL
56
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
57
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyN1oYDzIxMDAw
58
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
59
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
60
+ A4IBDwAwggEKAoIBAQClBLYsg7P6WBNexxAiF04sCZN6saN+dI0Q/KAN1Rp2jfTX
61
+ nApvuNImoc2fozCViausJmEWKtx7RHQheDJmx+0LSpQ0fgdJJSNK5UVRme/pgVyE
62
+ /FACdD+fBuiasX1LoaBUqk7mpfeyQpfwKW5D1q3HgDK5ROmiaMe5VnMD0BvW/QYc
63
+ 1T3TDuBLXYZpAg7c+fdqmBKx4wnE1v9PqChdUd2AQF2INdQuz3QOHGAQ+cJsXqvy
64
+ cwep0LvlK9/j9dy08qKFvc40EZwsYqOh0HT6KzUupVh80qhZxOz3QSok6gNhGpnI
65
+ JHOFvJ+i2P48Wb05dCiqBqYkEnNQ252b1l7o+grjAgMBAAGjFzAVMBMGA1UdEQQM
66
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBYYc7lM9pM40R/SUMzhI4C
67
+ D59d0VMwKjTqXRy2ifrcZYVxmc9CAldj+nk04piXC+YxUihsIRSOxppd2I72lbo7
68
+ bCRPxj0rYK/iNBlkzFwvVCQ2e/chcKcFOEcXzEpKGzVpL2GyLv/NpxH87hLLJwSG
69
+ FPGsMm5MznnMDuCX1ALedLFKyvMoy8SSg/+z7TNiblJxEabxgEADpC/pbkLnJvlv
70
+ qQBTPZk9LD02ZXivI624ltlQt92tqIUFZBfQXKe6WDjz2IzeeaYSlhTBKvqzXXXg
71
+ aUXnGR1lA3Q7dBaCPSNkUimOm0qT6t81DLkvoSyQu3P0OvKFCmZNLxDbxEO5LBAK
72
+ -----END CERTIFICATE-----
73
+ """
74
+
75
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
76
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQClBLYsg7P6WBNe
77
+ xxAiF04sCZN6saN+dI0Q/KAN1Rp2jfTXnApvuNImoc2fozCViausJmEWKtx7RHQh
78
+ eDJmx+0LSpQ0fgdJJSNK5UVRme/pgVyE/FACdD+fBuiasX1LoaBUqk7mpfeyQpfw
79
+ KW5D1q3HgDK5ROmiaMe5VnMD0BvW/QYc1T3TDuBLXYZpAg7c+fdqmBKx4wnE1v9P
80
+ qChdUd2AQF2INdQuz3QOHGAQ+cJsXqvycwep0LvlK9/j9dy08qKFvc40EZwsYqOh
81
+ 0HT6KzUupVh80qhZxOz3QSok6gNhGpnIJHOFvJ+i2P48Wb05dCiqBqYkEnNQ252b
82
+ 1l7o+grjAgMBAAECggEAYog5rsLFSIompsT94R1BVBIzuWMwWGWHhckSWLASKRAC
83
+ Tmuh36vf76lVeiia7e9STmxsNCxLkl8BaKq4jZ567+8MJ3vJJefC9wmHJn5gPnE7
84
+ qTxvGcgH5RDe+t9YDTzo2yUGD7qx+ALDbmeOq3sYMLNfljiLuKoP956i9nfg57Ef
85
+ 4np0TSu2U7qFuVueuTyOAklT8Kwr58/JuTJT8OmWzoAwQj+z/qwLsCOJ6rgc3yUm
86
+ mc5LTcsPtejldBHMcMfMp+vIU/rL82DSUacf1YPWRFa29DYkBy31XZVOA1QVx1UY
87
+ gKqfTW6Khv7eMj8vJ9bKUyqGg84m/8ruLcGmaL4UgQKBgQDRYh5YQBES4u+zawUV
88
+ 3GRRt/MmkRWs+JXLntyxzv6r/l1vp8V3idECtyvxWgVBxVsTMwtdwlDNXyVclRpw
89
+ 962PA2H73U1R0zp0VGi0b4Bhz0ZvTB39gyDk8LKrBZB9FcePs4sHaJDuMjahlKL4
90
+ xI0sG41mI+g/kPWpK/ImVjjckwKBgQDJwf/91Y/z+6TLFxm7B/6p6x5ntK0KmtNd
91
+ jX54Sbqi/yiR6C9R89ZdRIWne+7udR/6NBuPcrJ6aRRwObE1c0qxYbLGl1Qb/aSa
92
+ DQyS2TL6d1WFcgon9uSIEV9lqDGcg7kzIFQGgP0qvnl0LDgHAgNChDyHlKMG4pxA
93
+ 17oC3HdacQKBgQCmskcWW2s8bhAH95wE24HCzYB3o+pt2zrm8YMizHlU1R3uVtOP
94
+ Z9lPICWL8O9efZEUp/7Ulm9eEfHc05hJd+ZlhXvs2TNFgbV4B/uUK3E6bZrV4PO/
95
+ cTYvDrIwFi4CZ+SJM5fsPgOkn7V+zqcxBsqd4xGfz9aHRRFPrf0LKHn8oQKBgQCX
96
+ UOitd35/fjwaFTk3DMfyqGQlY1xkl7nucDBqBuHzXWsQAxN6Y2ZijQGwm0KXlUBm
97
+ Zq5E58D0DdtGT/6YF9/tKVjrmJN8ar8IysCjYkLZlqaNbvou/vxnEKB7namXuTMt
98
+ JRHfzt4RMMnmV0Ot/dR0DrlW9iNPBqYp+6GGg9MAAQKBgGnTKFeTMysa2xN+KIpJ
99
+ YAZ7QdJqS/PwfdtAO5CdTDruIQfoVsyFG1k+79BNp8ukAwqu1sMy6Wz7anF/YE3b
100
+ 3idpnIH58jTMCZ59e1OPHbeHEagWeHcURXF4xfw50G+S+T8h9t9rw+oP39tNBNx7
101
+ P5GQKfMA2fTj6H+1QLMkTF+E
102
+ -----END PRIVATE KEY-----
103
+ """
104
+
105
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
106
+ MIIDLDCCAhSgAwIBAgIUBJH2JfwoCndkFqwVE6FeUMjDVx4wDQYJKoZIhvcNAQEL
107
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
108
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
109
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
110
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
111
+ A4IBDwAwggEKAoIBAQClPnyntGjxicj7xn5m1Ujkgid5yz+/d/g6kdRTJt0Faeiz
112
+ oqm+9o0YUsLeKWSjOhjgcKGPh542JPzYqTaV531R8gIYJEDs9hGR3dbjmeu5RzVd
113
+ Ycv3Ru9BInMudjH5GeelUos0nT3OUJlb75QcNB2Q3miP2SfPcHNtGHa72VXCP7mN
114
+ zmiadi6gEJyPz32eBAh64CPoV177/sJqqlrFERmo+LyUgNNiTpFqwbKYIW2dCozG
115
+ 3V/8dz25xQVvOMbVG7GnmRHXr6M6wTOefqsciOiGpPyfsTGfx++W+poGHrT1xqCL
116
+ IQNUVJZ+jip0BkWheR//bwe3RqCR/fCpbsd8CwTFAgMBAAGjFzAVMBMGA1UdEQQM
117
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAP3lZ7n12+Qq96lT5Q28/m
118
+ rldsTbJguDNPxOQYx8rvZO21Bf3YjJZmqAFM0H6wBgQf7d0CBru+3NxlwZs9RiLf
119
+ bpThwzl+oWWVw9dxyYmcBl6RXf9DvisbIxKvQloUWjPAGfRS64qyOqjjFwBc5dlc
120
+ r9AOzgsN1pM7f52o5Ks5frq0vfO20lVbkvFb9TfzcuzRh0xNROlrAVK2q3XEaEab
121
+ nBTNTYt5kq8KYU+s0jstlPFF9gGx+NOXKfZmdKtOfribuPJIQ5ADvxGDaWEmQHhF
122
+ PlgF7Y0kmP/vUknuY8rwMrGi+cncaafO+GIiaBXDGxa92SNWe2J7RtRWDC5NF1en
123
+ -----END CERTIFICATE-----
124
+ """
125
+
126
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
127
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQClPnyntGjxicj7
128
+ xn5m1Ujkgid5yz+/d/g6kdRTJt0Faeizoqm+9o0YUsLeKWSjOhjgcKGPh542JPzY
129
+ qTaV531R8gIYJEDs9hGR3dbjmeu5RzVdYcv3Ru9BInMudjH5GeelUos0nT3OUJlb
130
+ 75QcNB2Q3miP2SfPcHNtGHa72VXCP7mNzmiadi6gEJyPz32eBAh64CPoV177/sJq
131
+ qlrFERmo+LyUgNNiTpFqwbKYIW2dCozG3V/8dz25xQVvOMbVG7GnmRHXr6M6wTOe
132
+ fqsciOiGpPyfsTGfx++W+poGHrT1xqCLIQNUVJZ+jip0BkWheR//bwe3RqCR/fCp
133
+ bsd8CwTFAgMBAAECggEBAISIvcp0tMcl0AHAjplD8Bb3HVpeXl7fhkTTugyHWzaA
134
+ X5fUm3kCnuAnYQx2/rS8YD+DltFb4NVkjTfpYFKTPLyA8pUSXtCv/B+WYkhip+IO
135
+ 7wpa6hEG39bKHr/hJOu6j0TWE7i7dVsI4jgOzChi1GPhPtRBQ+DpPGr/+BtqkZId
136
+ 5/CtnmEf0D9gHTWi5Vp+dLHGHfcmqh0iOp7W4vUsifEX6CGYfyGWJ8/bGYPo7Rj1
137
+ juSr7rvXmAubP5ROga8vCsSImg3kkt9sKciXDnP7UsPOUF9LaOXJlODudRCsm1Oe
138
+ VyDmhB1pozmcOj5HYKX+RTv/ZGKvSwoh58VjfaW+R/ECgYEA2XKNFhMu6+yLnJCj
139
+ 7KsyykOJYesiQlmCXxmnsMBY/PoHCw6osXAS4EET461NiiQsMqymutY8s0pp9cBC
140
+ tF1XdZ9C4S8zlYxQreowZvdRfUvpLuIxre7joM9uT5NiSWMsfzaa9OaDn3mD1TJM
141
+ kgSh19bOQ1PhHr1O2C0dvmTNH5sCgYEAwoqK6CEW+tv12cQ4WcWBZPF8W35JHNmY
142
+ lAOG7nR2+MqZIHW6/Ed+zB1fSwkg1WrKU4HHvhsJBUREY6sTB9ynuWoYcS/Edeyg
143
+ rGjQDali8g/PylK+QwcVTxkyOGm6Rvx5J6pKYY4HgjcW+hfGXpdBUh83MpoK1Yil
144
+ HLJrPf7GIx8CgYBJ0825H/w/V8my95zgXuPYroN3fmjcVB2igkhgB35vLci0ZV67
145
+ F80g3JePJqj77PognmPhbZmgWfSN3qAHMuXd5pvDbs45yTEfSzLx0qiVPO/H3j51
146
+ ynT4hVTzqZumRQi3jGeiHJ21yIENIo3CydXVPXY8f78gO7AIT5EYsoq+XwKBgCfu
147
+ YAy9ngXn2FLWn+ptS934Y1o0VbWCRHs9LhkL9s+iZkPvZm4aDsC+1qyENyUXQmhZ
148
+ nzI6QmO+W3tJxiI6/IJmcJXrBBxgcapx6SKkvhaJgFE7IqqHbaxKs7A4o2+mqwel
149
+ QJc9m/TycdjrwF/yFApTNfVBATBLV/jH9pNHFExpAoGAd/Ar4NIaO2iOvCjXQIph
150
+ D3hkPA+e+K4g9xl81D5f8rFFj7AKXZ+3eIIfbd0501nnY0OVFVdp8IIjsUWHLnT+
151
+ OiMngy6lVfelNDegOIeSKLR4e3g3CADOqbhSbsEC44HbSiAjNB3kejN3Z5BMjQAW
152
+ zhl3fIHFOAbYHoEc9LC/GN0=
153
+ -----END PRIVATE KEY-----
154
+ """
155
+
156
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
157
+ MIIDLDCCAhSgAwIBAgIUT34idpoOlGXOYcUny2DMZVL5T4owDQYJKoZIhvcNAQEL
158
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
159
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
160
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
161
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
162
+ A4IBDwAwggEKAoIBAQDCzGdbpwHSb2Cr1yhXKPZ2aCWtHEksIl7ao2UCDO+ljCb0
163
+ n6PxHAbgVHKJ0vy7mC6Y1VXdstr4FS1Ak22V+4ceo1UW6Tsls4I9RunAjkfAl9J6
164
+ CzKCVr31L6GvWhIjgQBkxswmYK9AFx3WbOQfz7kN46usBX3YgAWiUwBseOS8KBuh
165
+ EWfguDqxL8yyPHf6v5kWy2QyfwUBITuLQE6AanbLrkoT5bRrE+06X7+PeKidHzXx
166
+ b72fSvuJ7ERbNPiHmmVoila6kb3PegcKnKsm7d6Blg9MwCeOcvTXRrXsCFHlJnlZ
167
+ YWczAKAvtd/OJeTEC4de4UTuuyuDm2+00FUjVKITAgMBAAGjFzAVMBMGA1UdEQQM
168
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAgc1DcbsLsxrKHZEoIENxp
169
+ 2pB5LM2Kq284Pll7Ix5x7OH8JRenLLZCGMLK+AeW25UchHZ8iagHYR6tQrc+7CLI
170
+ piE6YKchJu340c3RONXcxDZUKqXBxalUyVcb3z8I/syiqsvDrE94hnGfp4X9Yg/M
171
+ 7EIdv+I4y41qTxMD4HvVTcXVU5gapEC2mpOQ7mfN/rnIU1Gv6kpwG1FrnUyH+aP/
172
+ 2lpVSke8eSY59W4hThqZNf5cSGw/t95CBHigePoTqoD5MfmGhhrwGrjr9JHXVMpX
173
+ IUNgsbuPb6N5J7a63Ilgr+26X2ZC2zco7Ff5zKz1xKPMvLQ4tGBjm4rwQ1r7F4jH
174
+ -----END CERTIFICATE-----
175
+ """
176
+
177
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
178
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDCzGdbpwHSb2Cr
179
+ 1yhXKPZ2aCWtHEksIl7ao2UCDO+ljCb0n6PxHAbgVHKJ0vy7mC6Y1VXdstr4FS1A
180
+ k22V+4ceo1UW6Tsls4I9RunAjkfAl9J6CzKCVr31L6GvWhIjgQBkxswmYK9AFx3W
181
+ bOQfz7kN46usBX3YgAWiUwBseOS8KBuhEWfguDqxL8yyPHf6v5kWy2QyfwUBITuL
182
+ QE6AanbLrkoT5bRrE+06X7+PeKidHzXxb72fSvuJ7ERbNPiHmmVoila6kb3PegcK
183
+ nKsm7d6Blg9MwCeOcvTXRrXsCFHlJnlZYWczAKAvtd/OJeTEC4de4UTuuyuDm2+0
184
+ 0FUjVKITAgMBAAECggEBAKdCezznGVlm6Mqj469zLKxeoHsTXoDWwjtZMNGh6eNr
185
+ g8dni4zrU7wqxm4xC3DIKrpv81p4yCtbg49/BwlQ/6P++oDBoles2pdi3DLJ+DIW
186
+ KlNAag4gDNsKGvpFjG2PxpbBW2lYeyG8t5H1zarC4VJbunvp+zR6OFw4iJSa+UvU
187
+ ZMXx9a9nw+JvFwwQds1pyXHnyulZ0Eo5mkhZdDn3cA4bC59ZfwQkVJ2/7OMmz4kg
188
+ itVU6otQyHDDcH1IpGRi8wYAFNEVjndTpG6LFHmMFEKtJ2i3lLtgiS1n4GjJlgOX
189
+ gs3NwSxa/woOoPflFuNFRcfqk9EPnFpO5xmcoIYIZQECgYEA5TJerspGqSsOVemC
190
+ 9uR8j30RJL2scIFrzxIuMgoh0azMTUAhRXLEeNcf95hZBDW72CGoSBTS7I9wNsbB
191
+ HYOIqdXoz1jVGo7GAxV7tvTZKN4jOqn7rPBl6omxppQ9pFAU4bSApKOnEDcWtBk7
192
+ YdGedQhlPuOZdewJIzFyxia4hWkCgYEA2ZQ6DuZqDmJOCmw/fw768eQKL11c6J/7
193
+ bTEjTha7K3boRqk8Leg1bdPCwOQJNfuWOmjIjTJFBCA1S8+7+2uwFqoOFM5dNoUK
194
+ 8ff4QD1JtcoqgUPteJDaI8nmz/C/1oCy7+nOkTxQjrX1FbHU02n2rM89hFpPlBBZ
195
+ vDS8bgBIEBsCgYAb9dAdLKoAGzONgYYrjmYvrwc3Xzg5JWC8izA9hITpqlXmGqu0
196
+ aDLVtxC8SMabP97hmAGKgZfVqg37cLXAXvp+FY1oNiMRMVewqp9EC4yucqMDlhcQ
197
+ 2ubj/NZCRxVaBTb27ek/rINF9CJ96BIZddQJ3PNU/7kJ7LiUpYSl7bVW+QKBgFCx
198
+ yr6P8jGXf/4Zm4sSETv5KVXbuIOGIgejO8bQY2aBWTArv+f+wSIUcZx8dnYQ8uyC
199
+ xC6pwDMBhwKw7rUWgV5Gf6ZzytpXiXGoV+frUxUa/5ylhsM6Zcz0KqhgT6XMYZDd
200
+ FAGFbxMepOEA7T/jgtsgmV4m6HCvh7hnjqL1c8SVAoGBANkMW7qZKjYx1ikRC5w6
201
+ AkBouvDJQ8IP0lr8Z34x1v7YALWSi+nq/q7GD4I4Z1Bot11TXJZvEHf2UoLjbKLs
202
+ AoNvbiAIFGbKPmWyBqKmeVCQa000rXQxaDZ9/3SoZmkE7q0Tgv8Yw2wRy9DHEUaR
203
+ utOdTTwKn2bPzMmvjuuVGhGK
204
+ -----END PRIVATE KEY-----
205
+ """
206
+
207
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
208
+ MIIDLDCCAhSgAwIBAgIUUFx52dcZRD27Ek1S8a4FJOg5WTwwDQYJKoZIhvcNAQEL
209
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
210
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
211
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
212
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
213
+ A4IBDwAwggEKAoIBAQCvCRPBz1Wjq7GEdOtWDZUp0BTB4pTIuXP2F7bdAwPTJ7Pd
214
+ T6mjIPxM85E5sJL0pHvF49BZSFPm3OcrVv/4CHSZ9OV9aDGeioHZj5DdFZJDFv21
215
+ 0E02uZSDZBJ6b22zbA0dqq/wWm/s6J6dbypcW4895QeH/OqMU//A4dFPeDJzBf0b
216
+ 1BVjt/1QsFoEymb2nPRd0Pi05ROhuEaM4QuNSmncaFucLnDnn2UE3OB/O5K8zfyG
217
+ hsXxJx3RwS+0SLAIbzde9GxQUbU3SS0CFHN9J+UbeOX+fIBOvPrQsWZwRdOveTFS
218
+ tcqiEe0InWYXIIsfBxfdI0JNrsSrKlwMAhITg7yfAgMBAAGjFzAVMBMGA1UdEQQM
219
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAuBrB0tzL1s5Eaxv04bVeY
220
+ s2bktuk6zFw87kN9mJBEAQSkVAzx/5DfL/XT4uFhls3VyLOU2yMu7Vhxm2ZuMVXk
221
+ QdnhZ43T87lBnDBbZHd1NkrCY8UBqePB6cgA4JpmR1R8ypZmT6/V+POjqKGGwxJu
222
+ sxjF0f5VB78yJlPEoAnzYiqZUitZ1Lptq8K4ICORtN2yWG+dsq8Cv/dIvMOvEMpy
223
+ O6ozbk1qY0EaRuZAl7S/xghUq3QQOFZLQIkNGSJ5Q5xN1lqPJiDBinAjSb/r/zYn
224
+ edxjLvMjHDSLEfzyD9g1nmNq9z/8QsiYdc0mVMkkuvhXGDdCMOFmnZ0Zc3nPdvQ7
225
+ -----END CERTIFICATE-----
226
+ """
227
+
228
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
229
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCvCRPBz1Wjq7GE
230
+ dOtWDZUp0BTB4pTIuXP2F7bdAwPTJ7PdT6mjIPxM85E5sJL0pHvF49BZSFPm3Ocr
231
+ Vv/4CHSZ9OV9aDGeioHZj5DdFZJDFv210E02uZSDZBJ6b22zbA0dqq/wWm/s6J6d
232
+ bypcW4895QeH/OqMU//A4dFPeDJzBf0b1BVjt/1QsFoEymb2nPRd0Pi05ROhuEaM
233
+ 4QuNSmncaFucLnDnn2UE3OB/O5K8zfyGhsXxJx3RwS+0SLAIbzde9GxQUbU3SS0C
234
+ FHN9J+UbeOX+fIBOvPrQsWZwRdOveTFStcqiEe0InWYXIIsfBxfdI0JNrsSrKlwM
235
+ AhITg7yfAgMBAAECggEAFZiTHXiNYnJOpr8eQjHO06fex8VDAjkPe6+VWlOC50yg
236
+ vo+TqJLrTjtHEc0ddJ3Ov63KCRoJcBSVWR2U229/o3c50W1Hof4I42T5RK3iq/Bs
237
+ QUCAJl5jWorAVObmrBqKy7xBlPAzmxFgcKBEo7yQQdy+PyMPdVzv00aJYrq7zsEc
238
+ BSnzgYsuDK6O7Vo1pnyfQ0z4/rARbGV24VSX/I2hImRBcCzyiQggDXJHUEagJyDN
239
+ cmcZj5YaCVCmZLFaKBrLuaCDqh0uhYZ/aOF4vsCwHfz1yAabvF/EOP1x+HeVKdkk
240
+ JtIMVwPaeXcOWCS2sOrYmmd0jcgvjqEGniKsmdU9AQKBgQDkRXOeJ6e64Z6AYCh3
241
+ QVpqP1b54SeBmaKQHQlrKREmlH0P02xdfEw/mIwCFtOX8daHUhJcPkzwM4F01gcc
242
+ lLWxvF+VasfFHjIeo9uhnDewVQ4SnrLJnUrl4Z9c8RabizTD2HK0Lligun7wM/zC
243
+ oF0S1gsv8I0pGG6TPBiaRgS2QQKBgQDETCbS795gc5wGedslMNnBBPOPJICXJU9r
244
+ YNouUS099iE/3dTLvg/uGHh7jIAHBXGE7umucRL80UM4xI57aGx3wThqaScjvoLb
245
+ /E1pE/3bB7qNT9GzDYcVu6pqkW8/MClj6uaa0a7+QQbZMoI6q9NRqvZrOZXyO0Vm
246
+ sZq9Hw563wKBgFDxi7DuMNzkujadYlv/UZdRRH8w5rhfCTT/BuL32fwLNVmSR9/S
247
+ fpsidasb+wXrHH45jQcmlFOsf+A1MKpi1RbkTCSIi7QLJAyXX/8rjNe7IVVa7tzt
248
+ KKzhV4g2eSTItPopW2sm8Ah2eSKl3KALC1XtjmP+cZ+76SHOco7p+yvBAoGANx1u
249
+ lTFWTdyIBWV3e3TA3yolvJ4yIL4QE4UpHXIbctdFtKnzUpV14ZMrWP01AUOtAPcX
250
+ 06vZ+fRDnI/Ltai3M9Sjo3UM0UNveJbZoVREpZgA8CZmKZD1yctcaPmWs7YxGOXe
251
+ g7+2E5tscdV1rUWLWtXWxHpxuIad0NyzJsCujx8CgYEAyt4vj4rEjN0gFDfps3vS
252
+ nGpRhESh5P53cBQWF8XJhofRTQ8Vc5/9e06QLuTvkJjCwuJqtid7nfW26joC9jf1
253
+ oN48roPS4cXgGoj89n+uwgo5UCRSFZI0NTZvg2QRlGXV6N3GT8+MZHygf71LVfhj
254
+ X6TMkqmq3+T3pRy3Z5LGJAw=
255
+ -----END PRIVATE KEY-----
256
+ """
257
+
258
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
259
+ MIIDLDCCAhSgAwIBAgIUR15D8Dk0zvppH7mRgS1FK1xRwf8wDQYJKoZIhvcNAQEL
260
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
261
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
262
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
263
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
264
+ A4IBDwAwggEKAoIBAQC+v0wEABCQFqugGlVovy1kKU9YYWmPmK431Z2Gm8CECi6Q
265
+ GujhMJ4WYp9g/NhGcP7U6uQnuI1Ab0paDkPW4mMhqpfrrFE+dy0q+G/vlJZnD32U
266
+ BvAPHHd6z8QBJ3bM9t1mMZMPwi7iCadwQMDHaz+DOLC9EJO1FhsATAw8FLri8lJz
267
+ Acvs7LUwbRqoDn+7gR5lFg+kxSkEr/E0rVQZW27n+5nDE7lwU15O4czbczN+z1jA
268
+ ELSn/wJOFNyVsrDANALQ7ibHafWzk7T5wWDUyMsOSOd+E3uYz+myOJej9XpfwL2q
269
+ ANPkt8sa9XmJwiG2O/O45Lt/6nsjJzQbVuOW6jcHAgMBAAGjFzAVMBMGA1UdEQQM
270
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAqb3wJxEyRg3Z4UFzufrmK
271
+ WeWqEOCndJj5l3ppvf3yVW2VMoiqVssnfhtQ6LXJUZrl2qrkAYE0LFlWLpr9DQPG
272
+ i0Atr3dFH6+6f41pMe4GX2uusR/MdmRoU1mF2TpjxgkS8B5Q2aB23h/q6SR4n4bR
273
+ SWO7i3ARFljj9iAMVTOqrpyWbb+wuGWav709BqAXM7ZUYga6ifKaxL7ahr7K7HTY
274
+ yXbmisTBUY4yT7RYfvau1GyT93fU7K8cdtXBDHUBpVOWUJFQBHPKVKRivO7DkDTR
275
+ sPcphGcNjvGSNqjwGmN4Hzp+WC5/uJahRlhL7Y3+v3pfIeGUnOSatau6UuJpXNl1
276
+ -----END CERTIFICATE-----
277
+ """
278
+
279
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
280
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC+v0wEABCQFqug
281
+ GlVovy1kKU9YYWmPmK431Z2Gm8CECi6QGujhMJ4WYp9g/NhGcP7U6uQnuI1Ab0pa
282
+ DkPW4mMhqpfrrFE+dy0q+G/vlJZnD32UBvAPHHd6z8QBJ3bM9t1mMZMPwi7iCadw
283
+ QMDHaz+DOLC9EJO1FhsATAw8FLri8lJzAcvs7LUwbRqoDn+7gR5lFg+kxSkEr/E0
284
+ rVQZW27n+5nDE7lwU15O4czbczN+z1jAELSn/wJOFNyVsrDANALQ7ibHafWzk7T5
285
+ wWDUyMsOSOd+E3uYz+myOJej9XpfwL2qANPkt8sa9XmJwiG2O/O45Lt/6nsjJzQb
286
+ VuOW6jcHAgMBAAECggEBAIrrY39eVLG78Q7PXvjEk1hpRaJGf8zXE7sSVoGcmZ8Q
287
+ k0zcbFLlR51iAlVukEztKosC71uGa0lMREhGL14mzq/MQIyhmSH3RewPt+Yyvz8b
288
+ 5weR7e/zeYj2G/gDN+CawjAVVteZQu/YvBti7YPPNhhphz6K/ihaixuyRw7SwjFZ
289
+ rHtR98UAzp/DVJhugvi5vFCsJgkoy9II8Tu0O26+d07W2vcQWsCjzgTkq48VFHWd
290
+ xojTsU8LYfu0ryox/w3+Sz0I3EDuOac9LkvJoig23CTiLWsVNXNljiE9APlw39v3
291
+ jtcQyJZJm1woXxb0tra9uNwmTZTp1NBSt7bh6PV3HUECgYEA4qtDyMWMH955Ds6e
292
+ sqzKH4WTnYXSoQ5Z2eH86ZnQFU+u3VHhG1yERtiThDrXgCUcCmJI/9KdDS+0HH8L
293
+ Qh/joBNGaHvqGyap4fR0rYUc2CKHYhixd0xP4CJkPOFOs11KJm7pmJ6B5B41SHHZ
294
+ 1sl8shoRs/SX8D3E+auuPFpkJHECgYEA124Sob9VPHGeos0SwhZ89PhJVNcB84c4
295
+ zLEW8wl7w2up7vIC4h/JvD8k0kcTwnuCu8HRpktjANOjqSZBbty+I0iRxztMkJRz
296
+ MmOqW7RfEQhy7vQn7Vx6XYSSH/aXqrJQbjJZqm629famBZwWLIGEgbRIZ+M+fsjP
297
+ OaT+2HoK7vcCgYBYORi0+E7FyK2NmdYi7SXuhushkIierxtBtrfdpERdRxpkgg3/
298
+ vE6v1HP2L4DZG5iCYibPi4YdL8gGn1webJMIJvhsim5gCvhsPd17/Cdx6F6RS9Mm
299
+ /8jHEBu7pmYfYdwOgXTiNi+QPkG25LlI5DtohsUFKdpJY4FbO/sg+n2nwQKBgQCa
300
+ 78Farx8AT78F23OoP0AzdvZWnCP9H72MCbk1phZq393hyhCkzLPsPYWf7hqZ/vZx
301
+ Tt4XOZTEnXHRT4Az2XKuMZ0WquFQAlQvY1q8habxux/eF583qREgfR4S+ujtjT0n
302
+ Y/L1Dpdroq6Yzj9sVuIT3rNMdDUYPhg7nxziWDPQ1QKBgQDe9VUT0kxWU38pdbSu
303
+ vDlYcJfc+liGzeiG9eKe6vW8dI11iL62EelCjIb+MDa3WNVCWuxt7bjlA1fOiH7a
304
+ Zkq3MS6RjYHuK+izNIXSTk/wIrnZ5+h/pKyd6O3zEx21CVPFwXHYQ6ey8+OfeeYw
305
+ y7J7htSxk+ms+o2sO3OTMlVxxA==
306
+ -----END PRIVATE KEY-----
307
+ """
308
+
309
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
310
+ MIIDLDCCAhSgAwIBAgIUbNfOeBL5Eg+Tt37NytSIPVDVDKowDQYJKoZIhvcNAQEL
311
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
312
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
313
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
314
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
315
+ A4IBDwAwggEKAoIBAQDdwdMrIMRVxTYSO0s1krlXy/sAk/BYSKWEUIe6Htzc2GGn
316
+ gAVNdvOiVsXc+T213Euw7yvBb0pfRUmS5f1O+uWZespgDTsZUy0SJYOuHhGFmI9I
317
+ UelOX6Oy8fRDWVz8lovFKRcr2ytywXTAb1mTGad7VHwPW3DlnE/xeAfmLPjENQxy
318
+ qiUjxqgqK1U+mdhxIxMg5hScsFjWdZDvngKzH0bojgicnKwWAymG7eJDd31TFQ3d
319
+ Cs0SNPzXmNAOKCRkiAMgaln3hG3FXASQbl09JvEdYPpxcJXUePxBIXh6D8KhkAGS
320
+ LoFq4uXSw4cm1fMO/TGHtZgVOFS9+EprA8L2KSjpAgMBAAGjFzAVMBMGA1UdEQQM
321
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQC3ZKaUzSnUlaeNCdUvyRL4
322
+ RYVbzr5RuUPL085/JEtSpXUF7cZPMbpvpw/EWIUp+EPVG8h4/89F4L67MmHwCxgU
323
+ VwL2N87lk0b+TpOkLO93mO8gIGy7jJuIvDGqhWS13ocKI0Mm5Gl7n3zPS7pbqj2Z
324
+ F82nU6532WK16UBiYBYa4k+ZG4puYXpJc33/M8eiUQK5eY3sUL//OTJVz6WO8vCd
325
+ QVUn3+FwKZSJIaMaosKgb1SdHSqeti9RDNdQ44k6bfklZoz/NLOXi3bGUOt7RUp+
326
+ PEWLB7UnsI5qUY8aUU6g7PE3qt96dTy/9c+NTcpEnHj20wykofuPkaZOgDNgx51X
327
+ -----END CERTIFICATE-----
328
+ """
329
+
330
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
331
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDdwdMrIMRVxTYS
332
+ O0s1krlXy/sAk/BYSKWEUIe6Htzc2GGngAVNdvOiVsXc+T213Euw7yvBb0pfRUmS
333
+ 5f1O+uWZespgDTsZUy0SJYOuHhGFmI9IUelOX6Oy8fRDWVz8lovFKRcr2ytywXTA
334
+ b1mTGad7VHwPW3DlnE/xeAfmLPjENQxyqiUjxqgqK1U+mdhxIxMg5hScsFjWdZDv
335
+ ngKzH0bojgicnKwWAymG7eJDd31TFQ3dCs0SNPzXmNAOKCRkiAMgaln3hG3FXASQ
336
+ bl09JvEdYPpxcJXUePxBIXh6D8KhkAGSLoFq4uXSw4cm1fMO/TGHtZgVOFS9+Epr
337
+ A8L2KSjpAgMBAAECggEAUzOe1EamA3xLzkla7Y3QZoWM9mmLOsR+/YbtdcKQoXe6
338
+ JAtfcfIYdSdTc5Y8NhiieY8y/o+P+vDXKvuJr/Fo5c3xUlqEevr/JRjYMCLt9g8I
339
+ a1z4SUSO+dvYBtDnl4mwhVfmbrj7s0GsWWst04hDk31eUrC/Shb8059yb0UeTRbb
340
+ eqwUbr6Ww+ca4IK/MmvPPY7EWwaFEPrp7Qvdm/jEyPEgpXacfIjwJr+taBCdgnjr
341
+ lNYxvPyp8hwfsUorZPv+mhqNo4GqJVDQW9AnFTks+gIN+o3UhDG3fngqE4TLfdry
342
+ 86W3o2Rs37QFR0HozDkk9ODUjoRUwrBkyWuU33zBtQKBgQDu7inz5YzXpWhRabC7
343
+ 7gL8Y3OJB2DuwMUPmwAsBGBoCV7yqX7+lTa/g9uBjQfsBDhh0tCQwb2T8nKK0vW4
344
+ hx230jc0StZqEVmzG7q4xrqWioRFbX/Ullr7IlsNCTSzc/hfEnXpcQH1EdWmMzgr
345
+ 7vQjYePrAFn8oIAE8n36UyQYawKBgQDtmZPY9/tE9llQEPH8FxFe+AVCnRQHNxQJ
346
+ b6AR9ya5dQWx/GkQwvenqORhMbl7GaK7vhUlIx8lBvGCPH/yNXqqMRas4jX042as
347
+ vACfphKLiRNIU7PL+e6ds73TJlLUQ9YdOC3UrAilVXdhDDHy6cCPfD6Kg0pbak10
348
+ qqCu4P2o+wKBgQChGeslrai6mqftBQOKo6BVx0TWpyf/s/DrZcrG4yiR3YesvQaI
349
+ 59ljZqfyAULPK8VMiFXi1Q9bm0UKP9Y41rn+APsCAlfyasJ9lvverPiQmtM28O8Z
350
+ S0wLOw4DiyqCuXZFvG/OuEjmkmDpUG3WiacJ2G5SPQlv4lSPgWXaDIcxAwKBgFsr
351
+ MdLwHGcyy8RwLBoZ092H96S+1x+Jn9ObFGWwWxiQcZYBD2OSHCsmIDO3O7+jb5Dw
352
+ d/afCmVPy724bzPGF4JUganmxuNnmk8veGHJ/JW0DEUVcQkUpt22SWFK9D9kpDTk
353
+ CJnxRQQDzmHbpxLZZLzp5KmLhS2clYntquhPhqWfAoGAZB+QRC+S2FSjXHCRhASB
354
+ snOTlq6dDdpnTjrsv+SQQlnZKScBcotRGKe4SvCGbfCAocwLLenlItTu6/UGKEbq
355
+ c28u6ySsPqYCRQ8EwmZcJfU0QgEvBwwzhgcfsiKlf1ck6MKdq6/0CwKE6TP2mAbj
356
+ /QFprGRD8Kb/Mqb7BRch9TE=
357
+ -----END PRIVATE KEY-----
358
+ """
359
+
360
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
361
+ MIIDLDCCAhSgAwIBAgIUZGh0kY4W3yL0nzJVIYYmCTQM0LwwDQYJKoZIhvcNAQEL
362
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
363
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
364
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
365
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
366
+ A4IBDwAwggEKAoIBAQDVy8kOTXSTWhLK3BILK95b5/tY1dq7ARqrv4tVDWcXuyGV
367
+ vPPNj2BibF3Iv+4Gr/6XeZEWmH2ybbEKrAws9aBIw7ETQhTNjoBlEvkoKvISBkkR
368
+ KaQ3lUQ0Km0BONsdSwxkgcgzn61TeSOlWgpOuW8EOXZNSEUJTxp82GbbdVH1TAXH
369
+ 28oxUvrV/hPltxuQJ+3tcqN78VD2cGPwp4+RNYwklG04Jcj97wjv6v41jVrQ8IR2
370
+ k5GYuI8f9V6y1zw45A4XasZDb1/UmKk5cROSI/nJgOqZLmAhjK6eQMx1XqPYm2B/
371
+ e5J7V2nrOVhsasddwNH8fx+QhBz8cZwd7uK17oWdAgMBAAGjFzAVMBMGA1UdEQQM
372
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCpby2yro0LmC4xuhhuqs8q
373
+ pn4r6E5i5QTDHa5uVZ/GtNgYDP7x5MsSaWcVFHsq5TONiQY8rFg3iTMfoQTqvVqg
374
+ +4Eyopx/b7a8SryImxJXNVCNnY2GZ9DQIojYxDqiqsqDpIlgeR7FRCrjdy0W+5h3
375
+ Icbugg7sDeLYnerD9RAQciuClMC8jgAUc8LWXvI715kxTbrr2//8wu0YpfBLHln7
376
+ zL3zdyKcaAnqvbBx1FHgj4YI6ozfdpqYX88Uj4aeirCzHzT3QQGoAHXoDLFdg2yX
377
+ s44rft3s9/+MKiFdcvaxVkh5UIajc2q2ZZJ/mqdRtW/paO9cv+aNSdgPoRcn9hzb
378
+ -----END CERTIFICATE-----
379
+ """
380
+
381
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
382
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDVy8kOTXSTWhLK
383
+ 3BILK95b5/tY1dq7ARqrv4tVDWcXuyGVvPPNj2BibF3Iv+4Gr/6XeZEWmH2ybbEK
384
+ rAws9aBIw7ETQhTNjoBlEvkoKvISBkkRKaQ3lUQ0Km0BONsdSwxkgcgzn61TeSOl
385
+ WgpOuW8EOXZNSEUJTxp82GbbdVH1TAXH28oxUvrV/hPltxuQJ+3tcqN78VD2cGPw
386
+ p4+RNYwklG04Jcj97wjv6v41jVrQ8IR2k5GYuI8f9V6y1zw45A4XasZDb1/UmKk5
387
+ cROSI/nJgOqZLmAhjK6eQMx1XqPYm2B/e5J7V2nrOVhsasddwNH8fx+QhBz8cZwd
388
+ 7uK17oWdAgMBAAECggEAbOVomi1flHJLoiIn2qLUlpF5l80NpTSxxgtBR+gUu6So
389
+ PaHJuMkvudIijs8byTI5hiP4f77aP1jZ1Wq+pOPTaVyrw/hjqjPMOC9K02fUdtPW
390
+ wbQpHdqcq8l0TiwMh0YjoMnuFEVfvmW0f1N2bpTK9CbkmAaYi15MSozbDysZvMu2
391
+ yDpJqS42jIZIvXvCVzoaZiI7U3fzcplpqpHJ8rPTJANEjMeIa/1tA/ne481m/Rgv
392
+ T4slCDyU0bKrz6CvCyVPz3MzDzWmcJxYSMkGbeD73u3IjPEFbcIGHcoJ8C2CCtg1
393
+ nQEC8L4eHT6YTFBIQk4rleHTqv86dRgtwoolN4rcIQKBgQDtb9pZ85fAvPXyq3gC
394
+ phIFZXz8zMCPZQY+9sdvIz/LkU6kE0dZGB6/CsKAtdYAUtidKtsuz7sJwt2VREaj
395
+ loBPRd/F59rYwpQr0dUEsaPNACEv6DVnspRGJs+DFzF/2sQTRt9Ln0BqYP3LemxG
396
+ brLOp9q1i+8BB4zLxorHfSEYdQKBgQDmgsZ424fFEgIZk1tX/geCPV2f1Jz7bzBV
397
+ TnQqbRpPzatN10fYrvFfcSo3f5tLSel07AHZzjsx5ElbBrT9Agj7kw481xuHPqkf
398
+ LpaE+R9umGMF9RG1OUicnhAFt7ll2bu4ZOzNVJfJDm8DZuGQYeUtHmlN/yFtD9SK
399
+ kCCVFdDTiQKBgBsxnl6DCbRnb/vVK6+R+apoj0Ic6UkDFw4LEZhm/x1/jPQ5yQgp
400
+ PQxAXTqEmPf8hRarG+Nmo1Ng4CQCZ9zAlf1+UTzHa0c8MeA67hzVg58tDqAABm3U
401
+ BCtssoOfGmo8UgyrJ1Pv716/sRGm+dOvRgdpLiFw33TMupF0MdzbNfkpAoGBAJT1
402
+ p6pMO2WnqIG8jwfC2jlYzJrPu45kIPjPlRQhoyI1B2FrIDuveb2ylJR+uu0hW2M6
403
+ bEvDEM/B9YGESQtC+GkSc93vKBPy8zl6UrylfKFsink8EHBrDzhekH4RZxahaMTV
404
+ O43I/7lmwWiSYGt8R6wrfeNwXrpqw2+zicqt6V/5AoGBANEQxpu2Ji8SYmEb6hWe
405
+ pxYKlCdh62CtRh5cqPSw55G8LXldFK3QmHlOPGljc5XfuW9cOL1AKy3ZqRsrFqHM
406
+ /gINfX/9FCxPZ+DMsrnJzrGY+bmF0tvQS1ErdYPL3qqPv7nFY2mpIaiWUsAXFeZ1
407
+ ng06udTeYwfGwsNh7T712IZB
408
+ -----END PRIVATE KEY-----
409
+ """
410
+
411
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
412
+ MIIDLDCCAhSgAwIBAgIUBingUaQUNXQpmRUh3SWSFMUaSqkwDQYJKoZIhvcNAQEL
413
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
414
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
415
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
416
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
417
+ A4IBDwAwggEKAoIBAQDTqgBgTsNxYUYJrT8MLFe8Myww/wTuLUhZWTkCqGzQ7grt
418
+ BPV1d5BTN2gthV1sltE3pjVowQrakbhnYyKQtxkuuaL2j+99cd1ZAC7BopxnDgnw
419
+ wNp7lkwsuV9de5GcykCz5wLzkfj5webvaOWsYptahtFkAv2Q2EgeXp8ZK7xoiW9p
420
+ uTZ/74+7i+FqY4M3DcM7/RATcQTtKW8qvqF3oFUXlFxZb7j0UMjqPGfzjP0ccze2
421
+ zKxes1lgcic8TzCHWztOC4sYpSEfK/djDv2vSVjBBsGOWK+hi8rDCmoOKJonO9Fc
422
+ iw431LSHlvVyhg73Xp3HmBz+92IY1/EtJDrMGooHAgMBAAGjFzAVMBMGA1UdEQQM
423
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCpHVgrVBHGBx+s+CllkVJS
424
+ re1AACf94K1PUrnCe3nSPIjsjlauMO1vJEg39XnOdxz1GIj0ZxPVoanRWjJWRC6E
425
+ TGivunOZzfREEFrMmvxO/azlgLn2VjhPxXxgyvyhjVE1ZUTabuNCMQtvwvon79Ko
426
+ TX0Na8Rkkdx23TPR33YIkQXeGnFHY3Cikc8UiXPus7LMMP89PmVh7ACi4t5v+DRu
427
+ CImEvP+jr18Sjhul9aA+CtL5PFPzn8bWlROCAgGI7GZPMhJvugCusHHWSzG8UblK
428
+ hWV8Aa5CTndzTOya2regyeZyy/ftXEmjqKjKSH5kfL83MI5MWr7AJMJ2oeEoC1W0
429
+ -----END CERTIFICATE-----
430
+ """
431
+
432
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
433
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDTqgBgTsNxYUYJ
434
+ rT8MLFe8Myww/wTuLUhZWTkCqGzQ7grtBPV1d5BTN2gthV1sltE3pjVowQrakbhn
435
+ YyKQtxkuuaL2j+99cd1ZAC7BopxnDgnwwNp7lkwsuV9de5GcykCz5wLzkfj5webv
436
+ aOWsYptahtFkAv2Q2EgeXp8ZK7xoiW9puTZ/74+7i+FqY4M3DcM7/RATcQTtKW8q
437
+ vqF3oFUXlFxZb7j0UMjqPGfzjP0ccze2zKxes1lgcic8TzCHWztOC4sYpSEfK/dj
438
+ Dv2vSVjBBsGOWK+hi8rDCmoOKJonO9Fciw431LSHlvVyhg73Xp3HmBz+92IY1/Et
439
+ JDrMGooHAgMBAAECggEARH0fvgn+Z7OIDB2I5xF6GiWcyQXbvI3eeTrLnbaN71T3
440
+ KBaQrj/P7X1iMkiTIE30yML5STodnvfD6YBEcPsuJNZgitOsNLUhYGkUuAc8AISk
441
+ ZsigaZkKcPZSi1cumMNBCHVZmSLEo1xAs3sHxi3qAvLY0jm9fp7dRyZq6KQkRNaM
442
+ ybYIFrg7mzSwqX9m3MJSvPLiizIN1o7Ckdba89Mc2BNWQROUj1Rl6GoLqJc6w4bN
443
+ lHaWlxj0oahL2tcCdzfW19EJ+iXIe8oeb8hgIQUvMvKkenjyEjmqCKSQGEkUL0ae
444
+ 85Ym2/P1dCWRRqEEgbH7FFK81cdlL85U+oZ1hkmnYQKBgQD4C21Hp1fAKG0Y2MTA
445
+ 4j8XZfdHMEozFLu0tqoQYPVJhMzfL8XPsVhqqITnTnZDkJcmPuO5UHVgx89eGrpp
446
+ 7rAIWqNkL2bNzoOEOz01nxXHiwKwhlAjq44MBH0/gXJdbyYwCKM3yhFBvh2TKT02
447
+ BYn7WUDzdxgBdafqEYMe9PxwfwKBgQDac98eLwA67RoNhasFHKhu21a+/Ly3z4lP
448
+ uq9FzIuBQvTmZuUqS3tDOsm6/la9Fh0yGJAWHd5pdmmYGtvQ7WMB5OXM6WQm0pgm
449
+ WrSXozL2AtUQm4M3ZONmlypJhCzBRBYibH7BzvUxQjTestCexdu5OCnOPFKnadnl
450
+ cNEIweeieQKBgFTPU2YUiaRiLis4ss1gjkHp00q78CLXC/cWHb/L5xJkHciSBQim
451
+ kpylUgvkf/tKDOQ+zI4oPHoC15xNdz+RJQ82Lneq3XOxELa9qogTBNddaGYDBpOr
452
+ rL3fKxPzpq7buiriSSxiItRftK0EhLFb43nVYqfcKJEXMXqO0k5bZZTxAoGBAI97
453
+ DbAAhPEvLC53fhWUdhih3f8Bd15vZKvGXTrGF1bmSH5QVPKLs0E8CqXUSdpV/QUb
454
+ Vv//zEaOrNpnwbsfQClNU5ZcMRjCt4Zxiy4R1fX5dEI9Mlke3bFTVkYFF3Q1KSih
455
+ BDx9l1QsPReMcTPnluK3vdWkj1FAWAq4J8PNwDtZAoGBAJMEPX4KfAUequCni1KP
456
+ P7iSByUjz0d/4rTBLOL2Evkji69olG99VUOY2z54gPQ1tEAuk1z0z4/r4QF1gWxI
457
+ x1w4R5XrvYMUS6R3Lt7aV1uJDbbXJNTeZKxId8E4FHsonpyat5Qb0KP1At2wG4XY
458
+ UQ9+vOk/9hf93vP852ZK1tfz
459
+ -----END PRIVATE KEY-----
460
+ """
461
+
462
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
463
+ MIIDLDCCAhSgAwIBAgIUcWOy/+2e2VlxzEedhpSZS3UdmKUwDQYJKoZIhvcNAQEL
464
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
465
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
466
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
467
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
468
+ A4IBDwAwggEKAoIBAQDHS48UM5B+l3SpuKg1ZncimLWwOSyHyCASgN1dTFhFMW7/
469
+ WN1hGGrB/2lw8CAdEBb1y+i2+PHo/HQq+2tn6GmT3744GnwS3vZOqvhN0LBA4Eg8
470
+ DtE6utFBb4TZKcU2GQqGOHS3BdewXcVdoMfzM4IslqmHaQOXiqVwMrCGjiVKzF2l
471
+ SFzZdIsUBFiwSv02ZvWKhb0IbTsm7YK4NTGYKZxP4fsTHHZeBICjL2GEKlkXx47Z
472
+ JwthnpxB1AgeIdD+6tp8oCGPZxzd4lJxxTV385WH9zFg7jSp6poAOETra8ZnnceT
473
+ YgfHVvY5PEiKB+uZzMiPf9VIoVE3KwhW7JLWktnZAgMBAAGjFzAVMBMGA1UdEQQM
474
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQDGEr3k2P9Z4lOIwghhuVRf
475
+ T0YYzq39Vd/cDpQ/v1Ohs5kMdAEP/sDt5JWamtNLkbUDhbdgrE4Z5uKd2zTmL8Nb
476
+ aiT4vJ8E9hYYEheatE0qNJl0v3qxhz2mDGDfuYxGPPnssuxr/6cGWA2u1FasInYo
477
+ obLx7tBB3HNgKAtqSJZSwAMAhebJataR3REtkmBkn8s9zaTczwGsavH4AFit9ipB
478
+ oXkddyfvr5Ogpo1BEydLIOCv1c94zh9yI4gn9/Gz1uEgQZq6xg+A1VV4p3Oy0LWf
479
+ 4OjEohsV2dX8KMVbVJwht4HiTv58M+iL9kxvcYe2Ao/z6CnvObxiFgD0eVZjNsVq
480
+ -----END CERTIFICATE-----
481
+ """
482
+
483
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
484
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDHS48UM5B+l3Sp
485
+ uKg1ZncimLWwOSyHyCASgN1dTFhFMW7/WN1hGGrB/2lw8CAdEBb1y+i2+PHo/HQq
486
+ +2tn6GmT3744GnwS3vZOqvhN0LBA4Eg8DtE6utFBb4TZKcU2GQqGOHS3BdewXcVd
487
+ oMfzM4IslqmHaQOXiqVwMrCGjiVKzF2lSFzZdIsUBFiwSv02ZvWKhb0IbTsm7YK4
488
+ NTGYKZxP4fsTHHZeBICjL2GEKlkXx47ZJwthnpxB1AgeIdD+6tp8oCGPZxzd4lJx
489
+ xTV385WH9zFg7jSp6poAOETra8ZnnceTYgfHVvY5PEiKB+uZzMiPf9VIoVE3KwhW
490
+ 7JLWktnZAgMBAAECggEAd8lLi2ne3KfuACE0QTyAOPQuqGgFAuvfkx+Pbgd4OsaW
491
+ n7XrAfQqHsaEutQpiS5ljoFsM6X3yQEMVdVeXksMQkxGSfRpRPJseyY6LpNTjPsB
492
+ j8+cJL+rDLiZ0elQVs7AS6JdTLCfTqtd+IOuCtiX0nMQHIqbFRfJjmF5RrbjZUvV
493
+ jFWAqG1TjVxPGjxNppn2aFB2OcxjT2mK4p41vWkrlPOMiX9yL1Ven8la05wRL4QY
494
+ 0uVuhDJ1kAzpFcL38ZApx0Df1uJur+cuDVu7aFrg1A+TFhQjdCXOPPRf64+8ivq9
495
+ Qey/NSjl7oYWFUze2bbqIa2iOiCs/zf9zq6nXZMOAQKBgQD759sbH/mrVCF/ltsR
496
+ nKSx5OZs6T5Cb3r0gRilwNLYQ0ZWe1z/Ol/FvCidkkHeCTU/1hZ84XTBHci54bXc
497
+ PhyJ9FtIJ9byCRP0PN40k7ZBew4Uz3qVvuv6hRchip5yejlPRXRGGziaIiiP4zmj
498
+ AmIlxAcRuiUpuUURagotvsADGQKBgQDKiMxIzWY7xtPxZTgBDeQarQGHLd+lC0Ca
499
+ Sg4paRxixbDM4sxAOX1EzXWveTeFr3bPNCfzPkOr4Iyt47/uTYA76I9BTFtXFJZw
500
+ N94GAXNSBEOuEZ9V8iefUEV7KpO7xpyFlX0VXCD9v6qE1ueg44v2qOzDotjIbrDa
501
+ 4MRvN4kkwQKBgBIRvpDCiWk1vrVlP8+Smem8zp6PWIzxbDNvszHok/c5VClN7gzM
502
+ xiPr7EnpPNpNdMlgdPp+PZ7AoS5cN2xV9DwdEBMr8GoqJolFeHbzBYbK6eaqP1PQ
503
+ fyLYOyGHzPfPNp8uDzocJ8I+owQ3O2IrAJlO52bpIFNO29p07cf8P8+5AoGAczjI
504
+ H1LbKn6+7MIMzmy8rIBoMiNi7F4ubpha3iwyPe8B2k3crV0HazEIFr/7Wk6sZMzj
505
+ PXravNmOrw62jjgBEBQKC7gI7s2DmGvwH7KLjMloR4s2/oo5CGV+YcejLFydh1G4
506
+ S4KSMknsFI6+T8WkRrtrlxD6C20NqDffCParSwECgYByF6OIDs1E2i51bk2PkBnP
507
+ ktqjaZjlUAEhAR7d9tkqY03zCGwO6XRukSIBugtolUKPvUcTAEoQ8ZyqAr14BZEm
508
+ qCaRldCbWdeOYl4Wjg8X3wv3xMGwzsnGcGsgOs2XVykVaiwPtdadpsmdUtndl9Ft
509
+ ccTV6COdOO0n19CGUj0O7w==
510
+ -----END PRIVATE KEY-----
511
+ """
512
+
513
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
514
+ MIIDLDCCAhSgAwIBAgIUDNXuwE8yqviMvf47HApsgcMIG6kwDQYJKoZIhvcNAQEL
515
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
516
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
517
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
518
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
519
+ A4IBDwAwggEKAoIBAQC4r+RhnufHjAar0Rj+PEnVQFi2DtJGOVh4u96xaEbiY2EJ
520
+ 3Z+jZG+pV2ivKfKZJiVCWsMa/XZ9GoDckAM/7/BACMozRYdBXGXJQ8luOaBLh6oy
521
+ w+nCMQ7zs6J3meJKm8AXiEpq6y7AGJ2P0EcG5qY7jiKqkNckFvJayuJ7mt9DGxS8
522
+ OCNu0ja4waEtcVsMerM11zl4hQAxpm/+zRbTeRdHe6jY7Oxg3/V5e7W9kj6klzAt
523
+ LEFq3GNqztXlxEvnNCf2ItJ4RZ6P6dzho7hKQjIICkmzBrApcEZAj2Rhr47q2Prx
524
+ Ztw9E3iBTc3qpRkadbhQAtXUHDxTX/wUUzXgkBfXAgMBAAGjFzAVMBMGA1UdEQQM
525
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQDH2bDcb+NYjee2vV48E2Bc
526
+ 16MvrBDfgQLA9Nv6oczcE2yfD1qOQTnoLs40QtKhDq2PMivTLSS+x6pstg0R63bH
527
+ 7cCbWtGOYRDsjbjqTHwAFczQCgxZA3uKUeTaOv5M1jhQ4oP7Oz/oQv4yH7Fv9T0j
528
+ QOyCHe+CnLDP5VY0+3UWDSudCDIBWD/BxvsCBva+dstPfz3heIDciGiCRqrSXCh8
529
+ ROiBKUh1TaASOtcIKYIJfrLFs5zpHT0zZSppKQcxPeKimCR5q4ZC+CuPXMJzvzrX
530
+ xPlO7OvgQ6dJE1/nOnXdXvl085ycWrrefNb7IvJ2Oc2/yB0957jbm0+13tuikXgG
531
+ -----END CERTIFICATE-----
532
+ """
533
+
534
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
535
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC4r+RhnufHjAar
536
+ 0Rj+PEnVQFi2DtJGOVh4u96xaEbiY2EJ3Z+jZG+pV2ivKfKZJiVCWsMa/XZ9GoDc
537
+ kAM/7/BACMozRYdBXGXJQ8luOaBLh6oyw+nCMQ7zs6J3meJKm8AXiEpq6y7AGJ2P
538
+ 0EcG5qY7jiKqkNckFvJayuJ7mt9DGxS8OCNu0ja4waEtcVsMerM11zl4hQAxpm/+
539
+ zRbTeRdHe6jY7Oxg3/V5e7W9kj6klzAtLEFq3GNqztXlxEvnNCf2ItJ4RZ6P6dzh
540
+ o7hKQjIICkmzBrApcEZAj2Rhr47q2PrxZtw9E3iBTc3qpRkadbhQAtXUHDxTX/wU
541
+ UzXgkBfXAgMBAAECggEBALUyxURN7qOmK2lpdjcBmYLjZeYBNqb1XmreEAhJAbrd
542
+ u/g8+4IIaVFg0/F/m2hMt6OZfvC9GwJ0/Vbo6HdThoic1x1kquYirC7CFh/R5AYW
543
+ rZKvCmqfTUcmyFDFpvKCSv4Lls+9vJl1zSirNPR9WTz3H+Xuw1XCObeAdKLG+SNR
544
+ AoHEPBUNUts0kt143osiR6nY8mhkKLxHjjXJJHUaQyUmOkIKSu/fn+zIBCl69t0z
545
+ 7vAGe5mSB+fMTsQI0o+9Iy1NyBJ/saz73jfJ0xq757uwv64MwTYQirRy941x4xBo
546
+ efqZivY9VQuwPpKnjZiUlZZkKA7TneM9DF36opEQVkECgYEA8a3QTmc34UKxFeBg
547
+ jd0AP0c6qOnY2NUX6pS2ccjD+tGd+zE+FKB1DGMMysFzRtiTm+Kburcp3lbn0SVI
548
+ sUGN5QhsT7jV2Umi330Pbl4PniKlZmpYnz3jXTL07z8E6WYBqWuVaYVQ++sij9p9
549
+ W3gpt9lKG+0JiRUdTlS7v4sqZiECgYEAw6GIAaXp4/kokEskx7UA023uKZXE4LOw
550
+ QOvI/ZI9STa0GlqnFEKhi0e/Q0U5EpdRJfeDzp4kvYTMUi9Me1riSxaznFvpF1MR
551
+ P4JmVwDYVmKTSRvnRRG3lHbgeHA269I/0RMTfUT2fZX6Bfk61qoclSpGl/YVj1j0
552
+ vIX095tZzvcCgYAeg/bgX3IT1Ert2zX106jbVJAYkeZagpWRfhOHTHVKbztGY1JW
553
+ YmhFFyCfXUvD70a8ESHeso/rzgdZRh7mmsNi3uxmKI1/8SdKlszi/6dzLSa7RsRH
554
+ 3xWdR/jbWJazLbkZ/kaQW0/9bxQfG9RmP0btOtd7rTNeBrd7k4FdTyIcYQKBgA2e
555
+ JuuGcxuNcodo06ybKu2Mz3FRnZzOpUw/nYQZM+7uwea7vLmqUbhyTBwQq4JhyiJM
556
+ cn5lf8U5g0eNR1Om5e24LNSLiVQ4UhELsLgJtQV+YyZJrPWf4BmTlNiNZyVPQ2X4
557
+ X/juXgIr+HWF/dSHjunLQZK+bI3H8XFWGdFKnRvNAoGAc/IKMwRb9/XtAb405O2H
558
+ zu4GfSrFD/c3m7dMryPr3sZjPoatmTwWzFjZ0787kGnzsvGWsOYjXtKluE/g4jBP
559
+ nd5CgwRJrUytS45KXlM1AMt8/9lFLYDkVlFrM9FQ/UWJsW0gX346KX9XqtZT6g6e
560
+ 9JJi34/Q2nL5ZefIN1GL6qY=
561
+ -----END PRIVATE KEY-----
562
+ """
563
+
564
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
565
+ MIIDLDCCAhSgAwIBAgIUaVjP5toSZjz+kCPgpM9eyglT71IwDQYJKoZIhvcNAQEL
566
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
567
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOVoYDzIxMDAw
568
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
569
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
570
+ A4IBDwAwggEKAoIBAQDKT+/vp2gbgVymuRMyDDgpefM0auPvmIFcNGIS7MiCIc+N
571
+ qpYCfjaCdZc5gCo0pgS4Z1rqbl88puYH47Awav+b6YXz5jvU66ZssVlRHXdrnD1r
572
+ kXTdRGQxEMBy/iUfEdQgOgsk779QoEpAWAyxyHp2r3LSdphnRpHua+04cMdpWiRN
573
+ Jv90l/qHL5DEubwd9GIrnOa4BmfCfpyn3waJITN49ngSNumyQiCOoMKIcCRDdt1K
574
+ yxTw00cLLUVhhaaOlMGZ2Xvmlpl1UhIpXS6BPnztV7lbAQzgfAKFL7f+ae3hAsrq
575
+ jTKKU4BpzwNLsggE0/UaPqrvDP22rcQ0GBtYLUTbAgMBAAGjFzAVMBMGA1UdEQQM
576
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQACY+ZfFoP7D93ZJmwjFm36
577
+ AYwDLDCWbrwk1+MuLGVa3ppnbhb1ZnMpG+SUUoGUZ6BB0/Hq/945Y1igMPsElSRX
578
+ qrwq+Rtbr3f3ZqZe/JIVSlpFpPYYdZkXFJYrMkLSGJP8DkJVpmlskbXGqtaqcIQR
579
+ CurKKhkBsYsY3Z/YTEf82EHwXifukX2OlCmNWIEJe87/Dx/01GC9jD6iaHgJA76a
580
+ RIBwzf9YZqpgBEgOoTH5Pvz88tRf63njMdupgJVsxC03AqVBLFacDQ6aRjYgLedS
581
+ 8gJnwq0CY6nfO63UkPH1wHBLd8UFSw75FVIUxyeh9JNjiaPj/vlr7sOVseqTaKZK
582
+ -----END CERTIFICATE-----
583
+ """
584
+
585
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
586
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDKT+/vp2gbgVym
587
+ uRMyDDgpefM0auPvmIFcNGIS7MiCIc+NqpYCfjaCdZc5gCo0pgS4Z1rqbl88puYH
588
+ 47Awav+b6YXz5jvU66ZssVlRHXdrnD1rkXTdRGQxEMBy/iUfEdQgOgsk779QoEpA
589
+ WAyxyHp2r3LSdphnRpHua+04cMdpWiRNJv90l/qHL5DEubwd9GIrnOa4BmfCfpyn
590
+ 3waJITN49ngSNumyQiCOoMKIcCRDdt1KyxTw00cLLUVhhaaOlMGZ2Xvmlpl1UhIp
591
+ XS6BPnztV7lbAQzgfAKFL7f+ae3hAsrqjTKKU4BpzwNLsggE0/UaPqrvDP22rcQ0
592
+ GBtYLUTbAgMBAAECggEAFYHP+QMr7xied97e6oggBFDBiQX/+z2UKvAqqOZhHmxn
593
+ uyCyV8uBEfdcPzGfyv8HK29ZW+il2TXI6HfNCCinybRWmCoWnDj89TsZSqU+R8NR
594
+ SDkrWkZl/E1SmCbqXVYw3cgt3Rxbkz+nBRYXK2MrmahnJXaUFw6KfvUcP87FdC5/
595
+ TAqnjEqzBqDQPNQAHQBUseZoggx/1KnSFdw2qx0vmGfEdownvyUD1rXh1VDcrHYe
596
+ i+jcQVKGpwQ6pAf8SSqPVA2WK+flOJquSFIUVwjC4mKwWDdEpmJIRMQvcsdiv+3H
597
+ 1DyDjgbOBBveXAHOcb/RaO1q0SpdQ2on+fOzl+nb6QKBgQD/vICRgwrIgRg7pz7f
598
+ U1is42Q4W8PUSRB71uhJv4JRluMY0fDU0MoKFRhNso5JX08tXZJAqCFDgpU35lF5
599
+ V4R90am1rHTe1Z+vPrChEzMtPKj2HGVktTnzGw0G3nx/1eqM+w9TbkVZJjZDkLwA
600
+ TKTA1GIIGCy5bXA6a/7kg/f0jwKBgQDKhVWknx/LfoJf5P6hhbIYxzUHRAIhYE9F
601
+ nAD4Q+AdY0Gs2B3fQl+d0L0EnCrnX14RqpbHfXf+szjcH6ZeCwySd2zMh3Cm36LY
602
+ +iq+/oU7qLAh1CxJ7oWJQhExjHDFxyvMinfQ+tMtOEiXdnaCdoMWHWmPrIofG87+
603
+ 9NQdO2hI9QKBgQC9vi2iSRkKFQZW1EsIxb0oYXqteiB89Ez/pT8p4KafRJVwh+vo
604
+ 6pTNEEO8+jsp40ZKwX9O66/qeAugswlGP5H1DEefnLoFz3gwPRIuIKG68aPnHsB4
605
+ DSJW5n4u14qGCsCBI5GGdG2NrJVcYhmrGzKuQ6YMnWsplTJMlm5DPEsPrwKBgHOk
606
+ xa3WS4KY//ugOKKlRHiPsEEw3YKPi1S1a3xYze4aEpOPaSdmsFDetECgqIMsWvv9
607
+ jFHn3JBtaOeRjx+ecZRla5QzNumjREtgNu6PSicyATmf/ZZOBKTHPCguCOt2+xS2
608
+ cQq9X78vp4wN0khXQi1rqC6pmMmAyKefyEvU84zNAoGBAPkcWAaVvRgSkS71pLZx
609
+ CIEZbmzlbDrhKOmq6Ls9GbwnblXuYYhykCQ3YvEFicJK3m85ynHsyJaqxHnQTFE6
610
+ RL3vfzdUPu1v6BItzc2IYecvZDQDgNds1z1UH16cw8BtJpdDx1KPeX4aQLjnGbmZ
611
+ Fx6ylagPVDw34UcQ2WRdhGPh
612
+ -----END PRIVATE KEY-----
613
+ """
614
+
615
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
616
+ MIIDLDCCAhSgAwIBAgIUOwoUduReWasvp/QDg0CoLyhjMnAwDQYJKoZIhvcNAQEL
617
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
618
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOVoYDzIxMDAw
619
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
620
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
621
+ A4IBDwAwggEKAoIBAQC6ghTGOkfeWwqPLfK1hMgIbY5HaowuUHRXkCyxCF0E994w
622
+ CVGnU+dCSJIy+xAqRDvmiQc4DyG4SSskTSCq1tv2xCDmdCb8BFjFVoKwtTpDjIkF
623
+ mZBRAWJWnuDxE1zUH1kwR9p/d44Ln+SJQV9/tHdLrn1exmAl7TZ3fMHFKyyXsded
624
+ qJ7K/9mlNAHs4Mz2hMZ6h93363bShVRP0clOzdJ0g0/OpXgRkRDSntDwATlBpsYU
625
+ p0mWrpyAdPIvADHBWlFZik2Ts/DLpdzPaHG0jUmQ3OFAOUNWBGvGTbkPeWsv3grk
626
+ 4+m+MYbmoCg30l0ReeWy66J6OdjJMAiKuxoLfuRBAgMBAAGjFzAVMBMGA1UdEQQM
627
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCYEncQIRyINhibeDZaPwhF
628
+ exLV0IfnbLFMpICG36F/sK7b9RFAg1x3SrPk6SXe7odKfmEvjKivptKXnUJ1mojA
629
+ cufGQiMY9k+xiLzL/x9nTKMuT6hcGAwdpSZl9T1xQOalI67PVl9OH02Qdab1h1bR
630
+ Un5OISmD4D0vtFH4CYXjG//r/SpfbC7d5h7v9/h8rRhZPN/uGgezHE1s6IJdeRas
631
+ zRhieSXDW0aW3Y7agkgwdfrPbz4wpEYUpWHDM0dyRMpqww/aXgw32L7Iv2wYJroW
632
+ R8FESaGFlY+7aBORNlOqULtg6SEzCy+Bb2Z90iUA1A8UuuGQpIPvZPKfv68Hr/mI
633
+ -----END CERTIFICATE-----
634
+ """
635
+
636
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
637
+ MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQC6ghTGOkfeWwqP
638
+ LfK1hMgIbY5HaowuUHRXkCyxCF0E994wCVGnU+dCSJIy+xAqRDvmiQc4DyG4SSsk
639
+ TSCq1tv2xCDmdCb8BFjFVoKwtTpDjIkFmZBRAWJWnuDxE1zUH1kwR9p/d44Ln+SJ
640
+ QV9/tHdLrn1exmAl7TZ3fMHFKyyXsdedqJ7K/9mlNAHs4Mz2hMZ6h93363bShVRP
641
+ 0clOzdJ0g0/OpXgRkRDSntDwATlBpsYUp0mWrpyAdPIvADHBWlFZik2Ts/DLpdzP
642
+ aHG0jUmQ3OFAOUNWBGvGTbkPeWsv3grk4+m+MYbmoCg30l0ReeWy66J6OdjJMAiK
643
+ uxoLfuRBAgMBAAECggEBAIdEDqMR48vNhaQANBYYHieWpWkASnjQmwBirTccFLKk
644
+ vn1iVNkhjgjRr07QLZIp+LOjUBwFRXRthJ+IXJfqyo93AVGCjj+bO3Kr4o8ccQxK
645
+ oZnxHOzTLyoZgpT1cQ7bSYkto7ds0xV1On+dbRCmpxq5i22wPE1ldGpGjhZc0LOW
646
+ 5/kcRquDLYDf/jgwZzfi+bC9tRg+T7YOkUuCWxVetHKIHXunBQzDXv+HjS3SxJOy
647
+ bYaW5t8bPPo9ZO0nu2pJcsx4UOffMs53z00YZbKL93rzbHNeYEnUoD6sQoUKgLdL
648
+ 56cgkQx50lTYtD1O3I9XL//yhw+SyKOVxqFGD9sich0CgYEA390f/dtVouDQLSWs
649
+ R0dVrfxCeNsFx7qdSTOM+pMTkfoCVQNF4QyQoFZtZdPTcxiuyhHn5I/pgCbOt0Wd
650
+ VAhWB4Q4K1OfUxM/Q7y+BJpL6SgDUrcTXZUeef8JrYC6qGar0u748yBOWt8eYeW9
651
+ +WMdN4zxcKyTVnVGd8JMHRUA/jsCgYEA1Ugn+/RjouEUCwZIO4zoHGvPrisU5cOn
652
+ AYzIiL0mjF7suGXH3ntKj+8sxvtTImGc39TQWj/E224/pfRi24619b+F8zgXtDgh
653
+ f1FZYR/ejgz14+CbLbbVE0GCGIJbejjT3L0L2r0hzQtaMVxxEli+KK2dTYj69FMy
654
+ /b2ZQaYgU7MCgYEAxW6Yk2OIYDDTiK2sBeUU3HAZE8teiqq7ot6THD7wSJLs0Zsk
655
+ Wvmg57exnde2qdB//vjRwlNlxL71Gs+LlJwRe2mRvCxw3GyiJBRmpVqLTmMaoy2R
656
+ J7ym90MFfv6EIJcEPPDDoHDCigQzIHXlGPffwalNGmkpPFwLvP0f8ZofmRcCgYEA
657
+ vJPyFoo9VpSgPict0smBqS+CD0M0VPsrPOmXnZ9w6Ag+UcRcdlCY2q7k7oLlPK8G
658
+ H7pxBnr/uey/BiMRDYQfSswuyaA9BTHkHEh3OLMO+pZnCzdavY680yvGtZj8/RIl
659
+ 8TSNuLglnMB+3MoZh9lDOYBYZ2fITCMMIOJ1EWCrkJUCgYEAprFJf5oovD6sZLZz
660
+ 6AmPdamYCOLKul39P+tav9VvtY4MgQ1Nk3FxXqqsTH8rcos1Za39FIYXVZzAyiB8
661
+ hB4VIK5hQULU5NoUgjMdcegnmR80O5znx1jkoG8mGW5v2zi0DCWwQUe0eIqg7Cmo
662
+ NCqsxWTlPvhxmdJj/TVownPJrzA=
663
+ -----END PRIVATE KEY-----
664
+ """
665
+
666
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_6: tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
667
+
668
+ SSL_TEST_NODE_CERTS_AND_KEYS_6: dict[str, dict[str, dict[str, bytes]]] = {
669
+ "full_node": {
670
+ "private": {"crt": SSL_TEST_FULLNODE_PRIVATE_CRT, "key": SSL_TEST_FULLNODE_PRIVATE_KEY},
671
+ "public": {"crt": SSL_TEST_FULLNODE_PUBLIC_CRT, "key": SSL_TEST_FULLNODE_PUBLIC_KEY},
672
+ },
673
+ "wallet": {
674
+ "private": {"crt": SSL_TEST_WALLET_PRIVATE_CRT, "key": SSL_TEST_WALLET_PRIVATE_KEY},
675
+ "public": {"crt": SSL_TEST_WALLET_PUBLIC_CRT, "key": SSL_TEST_WALLET_PUBLIC_KEY},
676
+ },
677
+ "farmer": {
678
+ "private": {"crt": SSL_TEST_FARMER_PRIVATE_CRT, "key": SSL_TEST_FARMER_PRIVATE_KEY},
679
+ "public": {"crt": SSL_TEST_FARMER_PUBLIC_CRT, "key": SSL_TEST_FARMER_PUBLIC_KEY},
680
+ },
681
+ "harvester": {
682
+ "private": {"crt": SSL_TEST_HARVESTER_PRIVATE_CRT, "key": SSL_TEST_HARVESTER_PRIVATE_KEY},
683
+ },
684
+ "timelord": {
685
+ "private": {"crt": SSL_TEST_TIMELORD_PRIVATE_CRT, "key": SSL_TEST_TIMELORD_PRIVATE_KEY},
686
+ "public": {"crt": SSL_TEST_TIMELORD_PUBLIC_CRT, "key": SSL_TEST_TIMELORD_PUBLIC_KEY},
687
+ },
688
+ "crawler": {
689
+ "private": {"crt": SSL_TEST_CRAWLER_PRIVATE_CRT, "key": SSL_TEST_CRAWLER_PRIVATE_KEY},
690
+ },
691
+ "daemon": {
692
+ "private": {"crt": SSL_TEST_DAEMON_PRIVATE_CRT, "key": SSL_TEST_DAEMON_PRIVATE_KEY},
693
+ },
694
+ "introducer": {
695
+ "public": {"crt": SSL_TEST_INTRODUCER_PUBLIC_CRT, "key": SSL_TEST_INTRODUCER_PUBLIC_KEY},
696
+ },
697
+ }