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
+ MIIDKTCCAhGgAwIBAgIUHoeobLQu3yMmraIDXDF+F6M4j9IwDQYJKoZIhvcNAQEL
5
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
6
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDMyMzE3MjkyOVoXDTMyMDMy
7
+ MDE3MjkyOVowRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
8
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
9
+ AAOCAQ8AMIIBCgKCAQEAskK29xVfnH/4tpM+loZOOZX3d0u/NARRkgnPeoTs14M0
10
+ dKP+dZ+FRuuqKmJQHuO8+MFfeTFIiI671rWobtdGCXVD+TZ3g4btdtGdvPjIBXJs
11
+ RFhYkP/fIjzq0MoJ9O6qlhXh3skispfHRY2ysVHpT4d63tixhycDsMn82Jh92OGm
12
+ BaO8UpjIk1twEnfxsKm5MtPbvNJGVzAkwYXWVFdV7GdEYCKsVm94Sd85TpDg0xFq
13
+ q5YWOg5mpFbGAExBjFerHSuVBuNsBap0mjL3aIb6MXvQeYp+lKrzeUfkUH06e/Pr
14
+ AY+TQPO9ktcUHHZ8+HrXhOODdeDlbC8mWzR9I59AfQIDAQABoxMwETAPBgNVHRMB
15
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBQ/s/lX6Tbdg1g1FIShK+BH+5q
16
+ msfNkAQG+mXYGbn6SYQQspYFZdZp4kXLdSKSjok5eWoMnfYN+hy29A5HgeJfdbM4
17
+ 4Nmt5OUvWT0EOTD1VtdVnsH8tac5Q1XevE0ZK9DXYBSEXqO8sVSt6VWmNT98lmEZ
18
+ AVWtawc0zt/31QAZEa5Jjghq/HRbIi6KUX1t3Hx/yVa9Uxiz1dBVE8A+QBwVKOzv
19
+ egKu6T94xBCcOeOh0NgluRdFiTr9cXAYNQAUM+WdmyAvFZ4qwuUKam7C7zX+td6M
20
+ r80F1SD8qbQgxYS1bwqx6K06xbFRLXpWbyHXG18v6ia+sifWblg6JQnYhxZg
21
+ -----END CERTIFICATE-----
22
+ """
23
+
24
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
25
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCyQrb3FV+cf/i2
26
+ kz6Whk45lfd3S780BFGSCc96hOzXgzR0o/51n4VG66oqYlAe47z4wV95MUiIjrvW
27
+ tahu10YJdUP5NneDhu120Z28+MgFcmxEWFiQ/98iPOrQygn07qqWFeHeySKyl8dF
28
+ jbKxUelPh3re2LGHJwOwyfzYmH3Y4aYFo7xSmMiTW3ASd/Gwqbky09u80kZXMCTB
29
+ hdZUV1XsZ0RgIqxWb3hJ3zlOkODTEWqrlhY6DmakVsYATEGMV6sdK5UG42wFqnSa
30
+ Mvdohvoxe9B5in6UqvN5R+RQfTp78+sBj5NA872S1xQcdnz4eteE44N14OVsLyZb
31
+ NH0jn0B9AgMBAAECggEAWbuXmp1Zuc/5hP5t/RuyeO5y2cx5fVfHL/pcRNJw3rOf
32
+ Ti/XQaKBVof+6sL+je4aDCZbRwh1+LfQ+m4LUXBwQwaSpvqyArWDB9LQ0nVxSryk
33
+ n2rRenwy+Gst0NhDVtZlbJOrVZhuLPSWTP7dOsF+7pfGVDNEekI7a1ziOK3ae7eT
34
+ 3YjwQejyxE9wWyyAQfsl0WkY6b8boBNYalSZIllPEE7NHmKmtHweXZFcgEMZepUp
35
+ cCksnc6VyFI6h14W3aHt9+I0ma4Zn9yfGzTTl5fMiDTMnkJ9+hB07mzrdI9GD7Hw
36
+ 74v6E3SToqHkKYWkByfWPNlq28Y7jud0FTGRLKsfQQKBgQDZrWf7zjLoDfks55S9
37
+ MTSbdz4NegjuOXrNRJ99cnk9UfuUqujaGrw/lMMbY1X2oW/goUlXLyG/Loh7T4dM
38
+ 0/5BJQHYu8lKngaGVA0/j8nqhjg0Z+hx9sr6tzz+MRVBqjJKrU4MtyERrEyPCAo5
39
+ VxSqHq0JCOJNnd2qlm7BQYAuhQKBgQDRpNFRhzKcFY/K3k5P3wSRVfg2742o40DI
40
+ qUNgmpTY0c/jEcXFU8/BhHULi9kkSYLXPcJFp36y/AGEJeyHniFMGFmQX4FXyWXj
41
+ 8GqK4eJqoX3lVHPwHjCO/7RAo3V8JA7hFPl0SpsCQlg+r69gIl7DeI9Y4MuRor8H
42
+ zJzWFDeXmQKBgCRiEYFLA8M5oq5Yvsmokcxyb9K81QVMYjQxBh9npNAVBeHhdy4N
43
+ Te2qpbnMLrAcZ6C6FJIX9KIJ2xIRRuIWhObKkrZxHMH2C80j+1rmY69pY7eOrpFt
44
+ 2JtzSSSLe6wQEHve367MZSCZFerKQzs2TOPqYK2j6H9kpYo/vp9anVwpAoGAfYoS
45
+ Ip0wTFGJGvXGtYOaS6HMkrEfBmyXpdHeXCIVUkVKFPLWmJTYy0yTfoePT3CJ3nTI
46
+ OkfT0kCgc8719jxWOig2sgLPBI/A6R9V3bboi+wK5OKOztJ1R5yOB0sbFmzNUDHs
47
+ M5xdeJvcFiXEgm/yiWFPjeyHWr23YWdA392ZcLkCgYA3mSWtslWBQTyRGKTka+ly
48
+ hqzIOS0lDwooMPa79MORFoIl/ofRk/XjloyTQyDkMwbkzz4RvqX6IQ5fWWusncQ+
49
+ 1xCtpSIUA9cXyyVuhSzuTkdnqtVyQeoy8EJlMDF8h1H3R4UrqrQ9NFgfZl/Eoqk8
50
+ M5FC/O3n2t4d7G85VO6jOQ==
51
+ -----END PRIVATE KEY-----
52
+ """
53
+
54
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
55
+ MIIDLDCCAhSgAwIBAgIUFNReIWFnacmYlEf+oXKER30rJfAwDQYJKoZIhvcNAQEL
56
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
57
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOVoYDzIxMDAw
58
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
59
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
60
+ A4IBDwAwggEKAoIBAQDdivRLL/onTCvG9JKzYXCxW6hrwYRgmiyG4ISrIWlainW3
61
+ ZCduM13t4qlWp2lVYCIez8K3NYb+m9Jk4tYJujzU9FhusvAy2D7SeGJGkAvDuYMK
62
+ LCRM0m3/Q0fls0RMHyNd7Csg26LNyGukdvEyKmonqA8q5MZENtsRx1tQtHORLlio
63
+ kEXjyd67J1wm5m4rOk+DqdrIzSAuomj+M/D1lRh0icjiSE0Wm9PXJllzSp/JyLqN
64
+ AMIDIjkG5CZc7cD2yM7OZQ+haCxIbAmxzyWVhLeuGiTP2qZ2ZRML2HXGVkQfbE+c
65
+ vFkPKVoY6pOI0USzM6ipqmYO9Y6357SIeSWhNNG1AgMBAAGjFzAVMBMGA1UdEQQM
66
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBGWHpJNp8iDR5uy14qFYwY
67
+ 1wwIvQUem0IYADuTXIP3Y+kSKyZpuZeYWFlKzrfTf6wTlmZchcqpidUfkqPS8sFL
68
+ 4LLRlDFTCWhIiBSs25gLLwRiMTErStedojGS9+smMVpp+/LguAp+kR0zyov7+Qe/
69
+ 05DW/fgtZFZIuDa9DX2aLcr2LHLpQU2+nKFM5E4dOEEwaf2rDkpqITME00bZRipF
70
+ yytQq6MIG+W2dl48b32B+VhU3UtjeJ4bYDY2BUvAoI69XN/RWO2JVZqEcuAKXjIY
71
+ m/+snrJJ8RNATWZ0XgFUQ3UL2j98qHwY5XtGNvLfkot6EC48t0jmuPICg/mTxCPV
72
+ -----END CERTIFICATE-----
73
+ """
74
+
75
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
76
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDdivRLL/onTCvG
77
+ 9JKzYXCxW6hrwYRgmiyG4ISrIWlainW3ZCduM13t4qlWp2lVYCIez8K3NYb+m9Jk
78
+ 4tYJujzU9FhusvAy2D7SeGJGkAvDuYMKLCRM0m3/Q0fls0RMHyNd7Csg26LNyGuk
79
+ dvEyKmonqA8q5MZENtsRx1tQtHORLliokEXjyd67J1wm5m4rOk+DqdrIzSAuomj+
80
+ M/D1lRh0icjiSE0Wm9PXJllzSp/JyLqNAMIDIjkG5CZc7cD2yM7OZQ+haCxIbAmx
81
+ zyWVhLeuGiTP2qZ2ZRML2HXGVkQfbE+cvFkPKVoY6pOI0USzM6ipqmYO9Y6357SI
82
+ eSWhNNG1AgMBAAECggEAIeOElQ/Eu0gqlieJXUk1fNvheoJCpqhO0V78zFSzEfeG
83
+ JER8x52x65a1gpzfPwESlxX+2hmlCcN6PpZ4WUqUzZqHAH/8wDpV+coSdmrIcesp
84
+ wV+ZOesiil6XW+q9Msu8lDxxKHiQgdv7o0/Se3MDhAdwMoaGUZ72idSuAj1oRDfC
85
+ sdm8KHLIBXw/+zFjYix45/k+Qn98Gq20Y9n1pF2nO8wLJ9uHKAcBWSW5x5+5B6Gl
86
+ zZ26/oFTAJ3UeAAjBnjaBpNDyHxiHZLEOJX0MqSRAQmgbxldgYd8qleju75GBO2k
87
+ w+ZGeWzm4i3fioQJEkaZevWkL2IHHWhEiLpB2ejirQKBgQD+VwpGemOudZ8ZiAtm
88
+ kg8SvilXfbwFnUjsWPNoJx8MRTvSDEWkJdpWIc/xMRYbf7If5Y+h0cx8tDdTMvNI
89
+ G7+j9dh9TQ2TgDtCsa3iF4NGY8YZj5YQqz8uiJeUusXis4rDd965HbBqCDo2k/m4
90
+ OtpUkUIMbk7T9IjJZJzllbsMQwKBgQDe/R2N+bSfp02kkOC8LPnSqEjqKNRP9a+e
91
+ XVVVcekZJUmMMxJ98uwZ70b1sckLPSzcTQE18YmWLGaSnOa02Zviq3hqF0Rj+W1h
92
+ QWVZO9jzgmO8lMWuNXSJ/csuVVZ4ebRoRwGsGynRn7+qmhjoAmFaY3SNfalLxZuy
93
+ Mc704zzGpwKBgQDrTeubuK9wQDGplUu24XpAhN4Kq7DAIPvObZ0Dxu3alFL7yY7E
94
+ hqCw/yc6pYcmecV57RAtTcQ5uyFUP9cD52gtcM2RXzAoPoKU+X09pzM0dCpai5Ty
95
+ ZvxVONnEJ+fcDO9cWBIegXEtJ99zjwOBhjFn+9t3VLZpMds7N3JQlW4vsQKBgBQC
96
+ kLlh1ASTpdMDsTcRriVqNojUuyClwmmqpHKzcyBviScMmjc1Kly1bR+1IX5hsfne
97
+ 6yHlF9yjBV1YuRc3g9aWXorepaN3CYq1rJuSVEidxcdxbj/QyjFr1eTFganz+e11
98
+ mb/Q/DK0bCWqCFwhgozy6c2cnimPhQY7k//DuHt3AoGBANipqLaUzia253xefvuZ
99
+ pHWiVJJyif5L14boYbJFA9Wibg3K99pDG9uoVBmfChC6Hm6CxvIIDSqSbZGEEio1
100
+ ajiPyszsAdvbuqQH0Xm0cDpL4Ngb2QS+CaccXGJkJj4u7rBE/lKyfPjjiLZOvqRS
101
+ chyPhdHI5CNzAqqExg2h3lca
102
+ -----END PRIVATE KEY-----
103
+ """
104
+
105
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
106
+ MIIDLDCCAhSgAwIBAgIUfZLZhnra/z8yyJivw/7O2simIzowDQYJKoZIhvcNAQEL
107
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
108
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
109
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
110
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
111
+ A4IBDwAwggEKAoIBAQDAkSC0hl+/EeP4XUtJDAWCBRosaU7munJ8XX4fZDcmXzsg
112
+ p2zdv9UZp2zkfXTYP5zFAnjG9QEiiURMZ4rIKdr/cJXY/93H6dwfrjZTS1gCSlpc
113
+ gkuq/cdbOeU6xCX8X/dotSQupbYr6ccPVf22iON/FotilEpP2yOFZi0d54uKnBoq
114
+ x6GP22b9/Ij+tQNacPZavQjZD2i7ChtLigtMDmrrFMOrsQjSCQPpGKsXmyNqTo+/
115
+ BKAKEs+WghuoVh6G5BeC2EY/PoUohUxBUWlAXThA73yrq/nGQRWfPeNZ2r0d1z9m
116
+ AlUakb4a54M8tDO+OOqw985KyhPYRGxOgPDFy4cdAgMBAAGjFzAVMBMGA1UdEQQM
117
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAQRNledZvjT6+Rtb29W8pN
118
+ 11WfUj5+QW7DX7/AFd59PXQkPbTf9EPiNtbriPaeOQ/B+jJ10/hGGGUhft4IEzpX
119
+ ffQ09CPNAFMiyvvnOQdykH9lvDMcoVYi4EjzFsCa7uVbKSZApeO07hCWRtlEeDrx
120
+ QU//I1F/BcGQGh9Evh4LiZZUzRxqlGE11jSBNIpSNkVE0DO90lBwEujvb1OC4YUh
121
+ x8Ef3hzI8EkR4VHG8SwX+VlasHAvM06ouKAQeMMNTWxeShaTI+mZkVUgkWJvTxf6
122
+ LwmU1B8s9M9hNUailBda/7ztvcZHWxghBhsWICZIngUvt8M5/rrgph+e0rI2QMiP
123
+ -----END CERTIFICATE-----
124
+ """
125
+
126
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
127
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDAkSC0hl+/EeP4
128
+ XUtJDAWCBRosaU7munJ8XX4fZDcmXzsgp2zdv9UZp2zkfXTYP5zFAnjG9QEiiURM
129
+ Z4rIKdr/cJXY/93H6dwfrjZTS1gCSlpcgkuq/cdbOeU6xCX8X/dotSQupbYr6ccP
130
+ Vf22iON/FotilEpP2yOFZi0d54uKnBoqx6GP22b9/Ij+tQNacPZavQjZD2i7ChtL
131
+ igtMDmrrFMOrsQjSCQPpGKsXmyNqTo+/BKAKEs+WghuoVh6G5BeC2EY/PoUohUxB
132
+ UWlAXThA73yrq/nGQRWfPeNZ2r0d1z9mAlUakb4a54M8tDO+OOqw985KyhPYRGxO
133
+ gPDFy4cdAgMBAAECggEAPB4Sw8kfoxsGvMcDde6W2ZyWKz9FLqsOitz1Pv+eaBBa
134
+ +TrLtf7pnHS0fjDchZZ2btryscpTbGDGPcQlg4/tmsmfPnvC1WKhIhLVSvO+qhhk
135
+ VXUoAl3wGv7cHZiW809SghHrFdUOJm95gcQqzQ23WDnFkiURfhS/5imb9DYRTlga
136
+ fGzbfwryTCQ+01MvIBDu/jRgDJny56FS75O9owqLgbBf/5NpdZbx16TZ+yS1YZ/X
137
+ R2sxyS+/R/KjcJ1iVIyzQ8VmQgeoxC5C/38T5cjy+Iyi+ueFTneMtuzhO35/eQO1
138
+ ZVSt36SpbDkxfNPYrnPo4ZC2MrZ6cALCKWORu/+e0QKBgQDyFR+yKGUIUpl0kdlb
139
+ qaV0Vjkt3xgSwCpO16viv2KJ3z5HrKtKvaRlx0DI0VwMEZaRfnWe6m15T8sUeiOV
140
+ HKbFUPYBUZqeSdisngM2+9zTxsKBVk7Hu/O70pBvwTXGyL1Pu7OgZ8Oo5qlBKo+s
141
+ W/Eg+Sopak56pjkmrhRkPuieZwKBgQDLo0CioWNvPz/oiak5pHtxAwWA+fDvj2qa
142
+ JGggwdIvRQuQqr9cXyk3f+bHMrGYsZcZib/Jdulym5LmggTa+HDGDVcCBSOkQbuy
143
+ 1a2/S2XOnLbfT9PPBMk7Y44RpVw0P72drBVPS59ftz0JFwfhyyAbh4lHvj2sbuN0
144
+ uIaip2az2wKBgQCeDxjA1AsTYgr7x3apmJyE1v9CahVnuLxm+f4qcFdAOdiKJ703
145
+ cZbzNSOhesCkyJ8MpArcFagguu6Xkh/Fbg2da30T41oW25RzMEBdGBlY1L+OfvG1
146
+ C4zaJ2NS9E3OWqbwdleT9ewUTXZZLBberLFFnCnhHJ3dCsbp8GM0CLcNJQKBgQCh
147
+ O8dHfSUvxhKh2a1leHhMiKno7vz3kMRE+6J+nTgAOVjo2GjfiHEoAlsFSXwYfDQ5
148
+ AjoaF87K8ackX7ncbm1MQu+rJ8qKmYk2Fb2WAuq+5pJcyeXYud9i6HZqPlV9ASLv
149
+ HntY53Vu4bSv585T1vK7GVt2tIg8aSgrGJdxXb4RlQKBgQDesyxvn8XWcKy6E9LU
150
+ M2W6szBKah0VphqyDb5yDeFA+0d7gs7zpTx2hbVz3ux0osuQfT0TtmZlp9dOPi4r
151
+ BCUtrflSZpG88z6ZZ08uvQ2SSbV0QCLb3yDMPW7emDWNATVNriS4Trm7yXC7Qkq+
152
+ N7ym8cFFFxe4u+vajInVVZV+8A==
153
+ -----END PRIVATE KEY-----
154
+ """
155
+
156
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
157
+ MIIDLDCCAhSgAwIBAgIUZmWsnGgQgJO07P9Mrqx1hHBfQbkwDQYJKoZIhvcNAQEL
158
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
159
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
160
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
161
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
162
+ A4IBDwAwggEKAoIBAQDjcVLjFq2N6GKxvke2xGntOo62h4ze0fNrdj/OifXvpzxf
163
+ qnPkhBcb7+6GL/gO9IT6hnTCDSjNQG/Coi1grjoPT9T+DkamwioBcFdIOYwEqPCd
164
+ Fk5ZnqwAWWg94+dkb/jlRcFlShNcgDriH/MrgfQ03A4VfqzcNT8GzZ4zwFqAyhiV
165
+ KQ56q0qrnIrHQDERII3QMH72EGCVX+32IIkz2CJvo56yngwF+tDzYJYHMJnNTCG8
166
+ iVD71v6qBM52G/6bKFRJhyZkKkVqPwptIXInDPY5ETgfZYgD67ffQ5+W1kXlCmmH
167
+ PuK8w48Fw7LjRDzLTYRFyDSIT1H5sdRvHLIl9BEnAgMBAAGjFzAVMBMGA1UdEQQM
168
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBvOTJdNGUD5Zc976Q5SJre
169
+ 15KN8PaOsLePPISn7e/2DwMGuq7GXnGa4JCb35XTGjX+Wxgnv/0/8asMimay6gwE
170
+ YZBcRwakm3l3//4W1ELc6SREoFcUTV49rnccq/N3u7ZrDubf1U9uKvFEpwp9TM8a
171
+ nq7tVOe3j+Msyvq4/q/l0nnHX/uuWYrZrC+Cm6tjytmOr6JzAhURFoVx3QnwaD8z
172
+ qm+cisSE3/lLuyTzgNUiQkdIC6bCg5KVOrTXFo3T72F7+oeM7h+OiDO71y79x9UH
173
+ r6YE8Ab1nYz6Cw1fwy3/QzxtazuTrJ5gBotF0oqCoayEtiOMZr+aQuM/qRs0EeTy
174
+ -----END CERTIFICATE-----
175
+ """
176
+
177
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
178
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDjcVLjFq2N6GKx
179
+ vke2xGntOo62h4ze0fNrdj/OifXvpzxfqnPkhBcb7+6GL/gO9IT6hnTCDSjNQG/C
180
+ oi1grjoPT9T+DkamwioBcFdIOYwEqPCdFk5ZnqwAWWg94+dkb/jlRcFlShNcgDri
181
+ H/MrgfQ03A4VfqzcNT8GzZ4zwFqAyhiVKQ56q0qrnIrHQDERII3QMH72EGCVX+32
182
+ IIkz2CJvo56yngwF+tDzYJYHMJnNTCG8iVD71v6qBM52G/6bKFRJhyZkKkVqPwpt
183
+ IXInDPY5ETgfZYgD67ffQ5+W1kXlCmmHPuK8w48Fw7LjRDzLTYRFyDSIT1H5sdRv
184
+ HLIl9BEnAgMBAAECggEAfIJcMs8GYao25UDad3Zc2q500/2uo4hh7pFEaufhh7mQ
185
+ dnqUiSO6luOpOzJlZKJ9bbxPjK+xh3Nf+zfXCZc3V4yHeDEOglnGrxT14ycFvMNT
186
+ PVuptqwDUwme5EqwMK6PncurDK0Znkjgc0u0TjwNGSbiWugG72ICx9GmaoRBx0BS
187
+ 1cYu8YaRf5X2PZ7FETJVevEAsLk37iLjDsR/lqJ2Efv0ga4xt+nzxBLs1uOukTB3
188
+ W7I/cnsoKLJfBYgmcnIXylx3tlSw/3mawT1JN6goFpX5wgTTeO9NPh+m5DYKfZZh
189
+ LGSBV1Yz5d3Eai4hC9ug4E2891Z91AItIdppxGHMaQKBgQD+d38Feab2mQYoeb1c
190
+ MfL3ulibU9I6KGyCNmrXjyFjfeB0D+JtS0pfudKWYYBTNVNTTWd8+aOQenRjKgOf
191
+ 416MDI+EFSo+jF8LunYifUyKJs6UwPE6k+XX336C9p0eTn2DkCnTaIK7WWeVH0OE
192
+ Vj7jZdwFIttrwx2mU4viWGfH1QKBgQDk0CTjkO3Q1edoootsxbkQ5kDXMtRyiY7w
193
+ AfV0QX6Xd7lQ6b2D5idi1RUAsozWcFzQQnd+7x+YqEOqJ4vFvjajuPzJCp4pRdlb
194
+ dd4MY90uFHxyjEgJm/x/aPn1CDHqDBDSKnIhRqf/SsNSbt2Ke77TtVriGqe+m49t
195
+ RyjdVyUPCwKBgQC/BJzJU2TOQFirEZfgGW62H6BcGTP6jFXH+WmCnuMFeHyBI1tp
196
+ h9cwvKEkWdSmoaUHJ1fELPFnh0TPG77Uyy0yHEuvbuPjSCQg/buocD6AhlkUuTFc
197
+ M6GZxx+E1/NhyLHXjOSY2h8o3BgxjOJ1+PgEY3YiNORZpIIhVR3wr0RYcQKBgHrA
198
+ q7mmK99okiARa8kr/g/x5wFMVKsp3xQliOAYruhlo3akHzbex2x/MihQobv9Rd24
199
+ etEPSh0k0EA9vP+V/0wwVvUoDBfKUER/5GMzRBqPhQATACafl4Nm9wocnmKYnIGT
200
+ oez2MfSE0Gqt7Y54urRrS9mXQTzByd1vWp38PXZnAoGBAIMo2HNWUrC0bmEX2sbQ
201
+ UvFS05244Qf04jg3QFqm2gmdwbD8sSpkj1FlaKbt5jOy3rMa+ybqGIJldH2m3UhQ
202
+ 1ULRjFo/fxiiiUUpjHByto8h+G15fHkIXYMR9VEjHhkvwRzScp4bux/OXUAzfSQ5
203
+ PWxnvhmehLqJg1cZuRch55xQ
204
+ -----END PRIVATE KEY-----
205
+ """
206
+
207
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
208
+ MIIDLDCCAhSgAwIBAgIUJg7OmxTb+nSse9yCvMecvDQ995gwDQYJKoZIhvcNAQEL
209
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
210
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
211
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
212
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
213
+ A4IBDwAwggEKAoIBAQCoMxRs8WLspmYqmfcq6MqZI2h1bNRqXkdXdDpRTNkdfusp
214
+ 8Xm5/Oncd2ewVbOIWNtaw0c5Uq6futXmo3cMAf4fTCpQUxEeWcMw1KWK5vudfXFY
215
+ w0VNxS9fAR4ByRbNGDcW7HXu0silleuD8onSKxBEyUpNHksqmuWLJ+Av9zvRfl4V
216
+ P5WUVr84dpaotLXYx4PxoPINRloIKIrzsEAVwrmV8OxsbsxdlvokUYy6kezTRNqN
217
+ 7izl2CCi5PvklOHYr9Bf5NgfAE4VMMTcVrQKebTkGAdlJipJ3N7gf75Yi/mMTXnW
218
+ SjMSRjJWGub0iowNUEXLXLaSQurQRJ5iCoMCZr4tAgMBAAGjFzAVMBMGA1UdEQQM
219
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAw9TzzcnbQvjEC4zF4nPr4
220
+ w6cNUog8tfiUx3Oh2Hf4+//Urhu+9rO2ylV90apT2kR5qUT0yod3s/9WGMe56P1b
221
+ 3qES6PTN2LipOT0js9SmmhHmcy+tiQxeKk37SWjFMHMmfpaZHLZROxIAsHUlisYo
222
+ Pb45Lm9zd/yofyh0xTHC36KaU7R3mVzE0cKtFKHZIiwpd5BUp638lY6tngQzOOe/
223
+ hhxRyJ4XoafugAgW9nykm+zMG9LxhHpoMFIZuZQZED4RKG7gKA8l0VqKm9Cg9DTm
224
+ xqhRHtHY9hS47dsHL9Ggv8XsBy4nnkemVhB33DPK9kYRmz+J4Y8gjoqlL7ZL8bnr
225
+ -----END CERTIFICATE-----
226
+ """
227
+
228
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
229
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCoMxRs8WLspmYq
230
+ mfcq6MqZI2h1bNRqXkdXdDpRTNkdfusp8Xm5/Oncd2ewVbOIWNtaw0c5Uq6futXm
231
+ o3cMAf4fTCpQUxEeWcMw1KWK5vudfXFYw0VNxS9fAR4ByRbNGDcW7HXu0silleuD
232
+ 8onSKxBEyUpNHksqmuWLJ+Av9zvRfl4VP5WUVr84dpaotLXYx4PxoPINRloIKIrz
233
+ sEAVwrmV8OxsbsxdlvokUYy6kezTRNqN7izl2CCi5PvklOHYr9Bf5NgfAE4VMMTc
234
+ VrQKebTkGAdlJipJ3N7gf75Yi/mMTXnWSjMSRjJWGub0iowNUEXLXLaSQurQRJ5i
235
+ CoMCZr4tAgMBAAECggEAKh0H+zMBGtGa+QWtzi+VMnycFfKWyL8sS6hNRbfhELKL
236
+ fOf6G2hIwauf6ZW7quLcoUANoDukf1fPYL0C/J2vG/T9DzmNKrU82wgTHtEwpMEY
237
+ 1SmnO46oirgD5FyN+fIbMQEpkg9yr4r2+gWLHnUr0J05nk98cIFyAcKNLlVPw+bh
238
+ C1ScfsCT66dPxBnYNorU9j2Wexu6uvajtrGSTsMtKxvrSlvtcEMuu/RzmLj9ciFI
239
+ /8YFQnQYtMS61Yb2JfBrk3OXGjPhQaOeWM/zQpAHVMaJmcViKiWspqP6uZy5d4Cl
240
+ i6IDAUjwHnwNjKiXcoleZQLOKXDfzJwCt3SciSHInQKBgQDRNcd9QpmcX1ftWKDe
241
+ EIJ8dkUnLyDcvxGSUiNlWf1VQYVmEIg+Iw3OBIjl8ryzHWgsrPi9i9Pj7hChLeRv
242
+ XelYZGgbyigXvpH/SyhdyQob/Q2XZ+rpgdH0HKDG+f1fHEYdOggl/F9ybN8TyH7C
243
+ al13i3W+5bMjOsCrKgEN/afEhwKBgQDN0UMFv4n0Jm+IC2w4ASKi5lvL+u1n1rIt
244
+ S6VFMNm4qlWdUdGfNyQDpwsSoQILh2vlawdsMVqyS2/HlyGXlK4Tc0VHxzOczIU3
245
+ mulY6lh2XVDDA5DXmwEnYu5P6Zp9em7X/vFGFnLDmhoMOulqo4tO9BvGWteOldiU
246
+ 2wh5cAvIqwKBgHW5O24i4el6RTILo0oSJDsBGly4SletNKgPjFdl0gX9fqE2QFQm
247
+ yYfaSWaLtt9bdtlc5ANVAYDK35SzDE4WnE3fAi5RDUp/NAxiMG7Fx+iD9vfxw+Bt
248
+ 6sTgryAIYCj68gFUPG2Tm+n5lXW+ZoXj8IBqe3FWM/1o/C3Uzw8eYx9VAoGBAI2s
249
+ Vi5GwndFXdCPzFZgsa7gUp/+ghzQNKXpREJ0deoflf9MqramBixdd8nC+t1kwmiR
250
+ W/KlpoDEXJVO+tiUh57r4eyeunBcd/bms2l5JpuTcFxMwA8pq4mpF9H6Q1XMSTB1
251
+ VS+hlC4AjZ2Nj87P9LzMW7IWJfsIOqV8gEDXV8UxAoGAQGUk1vmkSG7211QuU4Su
252
+ gbRd4JwAoN9LRZQutuTVUJ5E045dh2iIba9giYzqNRIiseZloy7tpotgoNsLfHB3
253
+ hnJFGrgqMFgoczqjiH5tlvGXcRqCNvRRCeu8iwXDj5VZrkM6t1W2mgoEA1RjQxIB
254
+ 9Q+UEMEwZS5D+rdfwaDFnkE=
255
+ -----END PRIVATE KEY-----
256
+ """
257
+
258
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
259
+ MIIDLDCCAhSgAwIBAgIUBK/eOJ8iPyAfvjMt3GSSInfW8+owDQYJKoZIhvcNAQEL
260
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
261
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
262
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
263
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
264
+ A4IBDwAwggEKAoIBAQC6Z/5RC7RCEceZktvq4CJeAaGlKGJFpF3z/THIWoVjJ03N
265
+ KpDMprhq8N2HM1pM5I0HPDze0hDCRGpGh3wby3FmVAxb1vJyDTT/DLw5KYDBQaCY
266
+ TXwschPu3MYfSJIUXlJVWRC7di3xV6si3L1ALdfmK2des/YWCYP0qIjc1E8j/OVc
267
+ wD2PdyHR+p129SsO6WB8KIH/ocTw5YJisQBebUo4m495FhKLcKPiczUpRL4CmZUa
268
+ dFkrTWz1Vcr33f6fFybYaWI3lxHHYxOSB3MilDd8Au55tLhkpwpkaqPKWDP6b7au
269
+ WFuc3q8DegbYRLyq7qEudsG/u4afrHfI+vovHLVBAgMBAAGjFzAVMBMGA1UdEQQM
270
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB/MflzZFEWhLZ/ZcHfmVkO
271
+ nTs74yALWjdld24er665E/tbRUScuGwpGJDhxoLE3JrsM8wIyqw/dOLqGscNprl2
272
+ u5MBRMwzbQncE1kZ9YNyT/1oC84Fee3IFni47hBUJK3o1zOuRlU9cMTj3dttBEG2
273
+ hByAv/ZP56H/dQN1/LIGoOHNSRhdzuY33rFYg6ZjV5mnFh4BHQ8jElA6lTiz2uBL
274
+ 98RePraQx1ONCXyrjBV5o0G1Ra1UmRo/DBvkQu03eZXIyqSrZJKX1xM8345p9SjI
275
+ Ztpr9N0YFHRkMrj8SCiqYeRX0LdUW/D5e/gBf5j+dJzFiB6NHgyD6mKORQgxmIPY
276
+ -----END CERTIFICATE-----
277
+ """
278
+
279
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
280
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC6Z/5RC7RCEceZ
281
+ ktvq4CJeAaGlKGJFpF3z/THIWoVjJ03NKpDMprhq8N2HM1pM5I0HPDze0hDCRGpG
282
+ h3wby3FmVAxb1vJyDTT/DLw5KYDBQaCYTXwschPu3MYfSJIUXlJVWRC7di3xV6si
283
+ 3L1ALdfmK2des/YWCYP0qIjc1E8j/OVcwD2PdyHR+p129SsO6WB8KIH/ocTw5YJi
284
+ sQBebUo4m495FhKLcKPiczUpRL4CmZUadFkrTWz1Vcr33f6fFybYaWI3lxHHYxOS
285
+ B3MilDd8Au55tLhkpwpkaqPKWDP6b7auWFuc3q8DegbYRLyq7qEudsG/u4afrHfI
286
+ +vovHLVBAgMBAAECggEAZXbfxovBZck5xY1b6aBw9IycyUKPI2tRvNKQO4eSXaNy
287
+ RQAra0pAze0oGETKnVo2rb6LP5pGhwgodRWgZ5y4sEOFqqP4uj4YH9B10AOYUxl+
288
+ 6ggbVDIQSY+gxDyDT1T8KfreEbxFS741qDdRSFLr1xy/GpyIkfxB+HWYceOa5HIA
289
+ wyxiVuKraonFzA9BA7xL6J7LB/Pkq1gqQsPYbDO+aK3b2vUA+GnaMVpMiysyTNjm
290
+ dhzn6Cnorz5dncGbZq7nQ/9ifMG5cUMHpNyANI99qGjkdrCwcfIiinXl9qOfx28n
291
+ PMxO7HiR3FdywlylqxPJzVtby/VWtwaAdxzvKGiAtQKBgQDoDo2TyB9ys3uhNbjs
292
+ QLL5N/CI/juUKbcyL5etbpN0ovp9DSaF++9ay+4d+YMfpv7I35NldAjj1VPEmghR
293
+ u810qv7eL2un7a9qGJvj7MSSizbw4N6Ll84UlxmuOwzbTiRWlXPqPQdBEcTxKMB9
294
+ Rg7WMcsjiHQXIQV50XbacyXBIwKBgQDNo6UfFnCIjV5S2jZJ2ZPZNllYTvm5OfeK
295
+ GTTB8lqv/8sbW4DGuoc3SDgpUyqBA34gUl01nYU+0hDYTQ/jaUgPZ8a2nAOcwICf
296
+ 92um+HENTmLaA0RlDssil5k4soLo0NCpv3bxF64p09DdCYwn25af0Dgg+RLtzVa+
297
+ QisSROBgSwKBgQDSASGU5N244r72RHTmsSKGsV4ny9PFIP9eFn3wgQpG2ptPghAj
298
+ 3rxc8gK686v7gBhBVzu/64OEE/GsES2IMiob9AeUsVt+7HX70Ot7GDFI4V3GHeqo
299
+ b6gbMCcYau4WpZ/zD2uIRtSCyX7uM9AHTthsdUF+FaXhrIuVE7+4r84x+wKBgQC9
300
+ gtuQi9CHt6i+uEUhx/deTZ0HKjkv/4DmbxZUyrHS0uxuOOSzwIEObGr9gpyAKyTY
301
+ Sq+F0rZST6uge1xyGruDHwNdlOgrVKj1Q0KdrQYa2it1eV9Vts10Arv9KV5FivNS
302
+ DJZj14v1FjS9D6hvrwngHDcuA/zy1LLlQfuJqZoSgwKBgQCa5/XDdJrxy6cYGvOW
303
+ PCGv/kKMbfMMjX590VR4+K+hTk2hywqss+kqmRoFraNwtfF/bc1AE00NYGp+yL3D
304
+ bz/mSX+BRFPuiE5x/hhH5imfLClvwcjmZvhfE4buVrdj0yFrD+IL8lZsOBvYk5FC
305
+ Z8QaFOfz2CDLvK7nZuvPq38w1A==
306
+ -----END PRIVATE KEY-----
307
+ """
308
+
309
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
310
+ MIIDLDCCAhSgAwIBAgIUDuk4yYHfeEkTr0RtsKoTAPWmWRYwDQYJKoZIhvcNAQEL
311
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
312
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
313
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
314
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
315
+ A4IBDwAwggEKAoIBAQDjKy/CjxjtUi82UKxLzsR39LAoE9BUZwLlkvPrugeudoLq
316
+ EHlKTolTuvlFJAi1e5PKjJiHdKW2vSrpt9yBj56qw2xt7eJOQKxIE1kdeCdLoK1M
317
+ WaVWVekONJSlSqcHkW3NuBVtbAKJO+KIdTMMolYJlheQKBZp3JsSjLakDUQEoGyb
318
+ GT/+/xo3OZciBk1acmOBh9mJ///p8LO/oFZXZCXSau3+9K9vzcwS5J3HkDjkNVxb
319
+ AJny8gEe6ux0rXzkZLfG8WA7F0SVu+493kDHB4TO6o7UxAWatGVcyG+M3ujJ9iEg
320
+ 0oeyoCghgpBSX02gM0alwW2cWNrkgisf0tyuJBRdAgMBAAGjFzAVMBMGA1UdEQQM
321
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAqtpdHxteYdjGDUaNuVzRN
322
+ 1qmnmD8m+scvNpqYU5wQ4xawZVFyx6k9dl40BYeYvTcvSpBmNoy9fTpuTYVeeOae
323
+ glreJiKnulsbMRHwxDjCKvhoCge8ZTsX/0Atfkb+AHNMEN/QXS857ovSy8JoV71Y
324
+ S3ZGa01vG6AdHfpin+xHuDBh/B7bCHPBEwNc943PgAeQ09X0ZP/EFb31h2sK/eoR
325
+ jytU7Aw/NwCnSaA689xoTmtJp2p7INSTXJNO/rJeRKPxKNF3Jcg9Ngtci7CxkXzi
326
+ 4+Hs2aSkIAYj05UcYdiLs4TNR2ZrPKA4/ZSZUCCDQAogOEUg+SOMGPkevqpojYvf
327
+ -----END CERTIFICATE-----
328
+ """
329
+
330
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
331
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDjKy/CjxjtUi82
332
+ UKxLzsR39LAoE9BUZwLlkvPrugeudoLqEHlKTolTuvlFJAi1e5PKjJiHdKW2vSrp
333
+ t9yBj56qw2xt7eJOQKxIE1kdeCdLoK1MWaVWVekONJSlSqcHkW3NuBVtbAKJO+KI
334
+ dTMMolYJlheQKBZp3JsSjLakDUQEoGybGT/+/xo3OZciBk1acmOBh9mJ///p8LO/
335
+ oFZXZCXSau3+9K9vzcwS5J3HkDjkNVxbAJny8gEe6ux0rXzkZLfG8WA7F0SVu+49
336
+ 3kDHB4TO6o7UxAWatGVcyG+M3ujJ9iEg0oeyoCghgpBSX02gM0alwW2cWNrkgisf
337
+ 0tyuJBRdAgMBAAECggEBAJe+JFQBBDSankDY2I522pQKVZUfzxxiBvRVGixPAoyO
338
+ S1qQkISLO347ugBuVobrukglbEmnKH6Nk9m04E2HIwSML6Sqr214E9y9V9ywgwco
339
+ mDoU87VdA6ViiBx1ZmdOxJsTKPUDnhoPb32ZU/VPhss2gBziOj6Sht94MRQabGHt
340
+ iPcsgKv4P3I/Ooqw0kDNtYguG1jNH+E2pvYkYF0Ne7S6yWz+hKM1RhMCa0BNCNWz
341
+ lNsvtV6v5t18NhpJwFHwap9q8JM6uMZRpT/brI+k8qnJzEvhuJQt6PpLCZCbwBdp
342
+ +1vrz5NpnvrsOnFjn/eCioF+MqW7bRZDKP+lN/Fpqx0CgYEA92G0OQV10PXb62yb
343
+ gXXtEcCns4NnnDRZ3v8O7JE9umrvh9cJi4DlVKPVI8Ti3m0CpSf1WjvODEGhkh14
344
+ dYEAh26dDDhuy3XU8PS5yTMTmgwPGP6VPoHtcVldcmBxG1gjxzadr38hJ/0jha0T
345
+ xjjbbE9mX9T8VXX6Tawq44ubqvcCgYEA6xU2IO4ypHX8iikCR1kh4wyK6dosJ3CR
346
+ 8nXZNDMbiEYPETk1+iD3RwSgk7gXp30hlwaq2aUuImMtggtfm++2GhDZJNXEvFJZ
347
+ VxZ1uFi2Hw9MGbrBoB8kf/TSWZm0jRsfGW54rqOvdArtGbw8Uo/fFucqvoGRN4vl
348
+ o5+zXf0RcksCgYEAvQwycP0GOykX5kK6V+XpxI5I2juKW2n6YBrkqc6YsLR11oZz
349
+ qeNX3iXRhSM6CKafxdzSeCGJ5f3l3kadPpbV86mJZMRfjya+E2HB9MsOqMOcagpr
350
+ vTgHX37elcCzzyS9Osk3Gd16VhfyJH7OxMXAkXXgE04tg5XEMcVnhTq0PKMCgYBY
351
+ Z+OxQqLc4loUgxOOTWDHCAJ9q0SLmHPqYJNMZCPofaBQ89jutdMIbB8PLl4G6LHn
352
+ H+TEcLAG0pFcpHZSKDWtW8Sta47O25EphRLEPuhOiewuiOMkGlIZpLIua/VQU3DA
353
+ maDc3EWxOCKuWPG+gsh8znZuqj84Sm4TuI01vWQAPQKBgFvrRPwaahZFLitLbQnw
354
+ oyzYKaTReYkcc2VLB5jA7V80VddTBgb5taNk105zl4u00GLxq3m9sr5zl+r4hF+B
355
+ hlt1sUypnCrfrqRRzn4GcKmF0o5vgz0zrS0+2lqUxriz4nRIzeyeiUpTPjkufPYp
356
+ dW7e/L6tdJx2jn5EkI2wP/HG
357
+ -----END PRIVATE KEY-----
358
+ """
359
+
360
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
361
+ MIIDLDCCAhSgAwIBAgIUF+41lzP8r7pBiPCZFG7cMvOPcnowDQYJKoZIhvcNAQEL
362
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
363
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
364
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
365
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
366
+ A4IBDwAwggEKAoIBAQC2wkXkBcUaOlajfjIsrbJPbKnSspyB9PbJ2nT/Nga/za94
367
+ 79C2tTntMhbh40hT6E00HHxmwDOpzEEH+C+vkmhR3zkTFmP9uV2jSyylwBwWnTru
368
+ 9io58MA/G25FMYH7a/3lKYspeh/mSKWqhV2xN07Mov9JbNAUVT13oHvUMlmhxaoX
369
+ pTKehNH6u3dm8ovYlZyimVRbu8d88Ke5atjV613Ci1zV63b/Vt5YmWR3bAw6h10W
370
+ UMSrh5pDEXuKplS9dTYOwfkVLhIinFSbyw66k9X1qNZIF2M10rvW8FsZxwtHbdAI
371
+ ArD4kB7FrsoezBW2+Drap4aeHD1cMOYZPh9XnW05AgMBAAGjFzAVMBMGA1UdEQQM
372
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAs7LdVyhNjP4DiXaKCy9De
373
+ 7skX66TzJiwBBQ+fXjvAcOZCmn6lrje5ZA1pEE2e26huygXcADPntZJWgaV8uQ0M
374
+ SXml0t5eSbDFlxOOOVTk7bRyt3+Wj3kz4N0P9ehLKtemKd7A0kYrgcFhylQrEHFq
375
+ Ijo8uEhv77AzhJfNHDbqw+qax3rvOG2b1H+7yyn6u6kdiOVbGUd1ChIh1zTFFYrT
376
+ WJbF+67bEFy/AEUYFdK53x6M94NWoBKqkIrgvbjf6G+++6IiL+PpaR0j3Dnu86ea
377
+ anXRdbkhy36143Kk8GUy/Vx0e0L+aAbLDwobngzvMYactqDo7pqcDaORLSLKiQT5
378
+ -----END CERTIFICATE-----
379
+ """
380
+
381
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
382
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC2wkXkBcUaOlaj
383
+ fjIsrbJPbKnSspyB9PbJ2nT/Nga/za9479C2tTntMhbh40hT6E00HHxmwDOpzEEH
384
+ +C+vkmhR3zkTFmP9uV2jSyylwBwWnTru9io58MA/G25FMYH7a/3lKYspeh/mSKWq
385
+ hV2xN07Mov9JbNAUVT13oHvUMlmhxaoXpTKehNH6u3dm8ovYlZyimVRbu8d88Ke5
386
+ atjV613Ci1zV63b/Vt5YmWR3bAw6h10WUMSrh5pDEXuKplS9dTYOwfkVLhIinFSb
387
+ yw66k9X1qNZIF2M10rvW8FsZxwtHbdAIArD4kB7FrsoezBW2+Drap4aeHD1cMOYZ
388
+ Ph9XnW05AgMBAAECggEAZLviQBP6F0HOnWEikMPQw7x2Qn9Wir8WBB6YXE9QGwpp
389
+ TLSKixqK6jWwrSNUq4MggreszgnksBO4SIdA6Xo+a9opIF84EBLLDQWTf2zLTp+t
390
+ aydeEP+lR2N8PUFTjtxwXo6ueNcqnAiw37OQ9+wvT9YL9lG2w25UagqYFlcGVoap
391
+ eonK4rhlSlj+qSGCZzXoFnJSlht7Z0CNoSg+hWuLWlYYKes7E6IFqTAMCHg1DfjR
392
+ YpE4hmLX9nqr6hMQMGI+HXtNW3ogG8vgg6V8BcehyeSyvgZq1+IYQ+cuQh4ijo4s
393
+ 1D5uWfXVCGl6abKvXZ5Ft2mMEZxX8+6mnyp+qutZgQKBgQDd7ouacyoYc2DccxSP
394
+ edRjUrlpG1OjY79KwIfuFRd/jcRcbpxKCjRbztyzd7kWBebEh3rYJCxkX2Mti2+M
395
+ 3bdNAxupCdtJ5Qkf6ASVEujDIPfHaMP27ZD5sbdCUkgUaPG99V3bj5mP069ZE12T
396
+ +nNuoer/MULB1M0Hk/cT6pYK6QKBgQDS0FA7PDgejBQwl3BIsOAkU0CR4Cxfoydd
397
+ ST0Qiv68/Z+6wrEoukcE/86OT9fUxoFDITfirkSQvbneIc4nr4igpAA2C0GUAOlJ
398
+ yDTyt/MF1jndu9kE3jzBBMMKx9G0x2PuDeMAtUt3b7ObHkoJgxpvafIsZJOCdTjc
399
+ rBd1ET090QKBgBmm094DR69RzrVMW+kFhOYCDso2TWGKSvcB7/Q13eRxZ2vjoQ7x
400
+ xQGDlIDt6qfAAN9gZXOMItFrMRR3lGosyl4NaOoN6JnO7lIQyE7Ow7aiHeGfm170
401
+ MJib0PnKduhdBOwW60VQgMheCFt8YImVHjiAYKAkenna9ePVV26m47bZAoGAGojf
402
+ 4GTXB3lIPUmCd5PT0p6r/PCDhVIq7UH/rqpgH/eoeEBzPhYcRFPScvU3zG9j68gt
403
+ mZmnxbQrxfrpUPN2NgoOgL7v9SocMw5BI9/ldfGd/Pvc+BDlAsKPrjayfZevS1Jy
404
+ JS+snQ7xQ3APj5zx4d4q/k12h7ArhRMgLLsLw1ECgYAuYHuen6z7AJkKkD5xOSBm
405
+ nNuqfB9GeoKsHHtiP5lUBrkINlarO3CZKRi7xjmr+qw8HkVuejutUBa7KT+yasMt
406
+ WLTDq2u/pFo5Lh2GEoZI6GwAraNeRro7O1fLuYK531G43K0S64uNZAW3mzKPKuZW
407
+ 0jnlPEesX1D3KVAB28v0NQ==
408
+ -----END PRIVATE KEY-----
409
+ """
410
+
411
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
412
+ MIIDLDCCAhSgAwIBAgIUaTJzz6JzsH2ZddKgtyDaLvK0+fgwDQYJKoZIhvcNAQEL
413
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
414
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
415
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
416
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
417
+ A4IBDwAwggEKAoIBAQCcusqOeHXjSZtVYgT32PKxIjsW/TPBlv/ovjQpFIkBZTCC
418
+ Rp+O0BNUJ13Kv9MVyyprKlR3EMldjIxolACVS+UIieuIERjufyMQVBuqJg+qr80l
419
+ rbBwcKmzB496Lopi4DpX3W3kqaXd1c65RNCAhiQ50ZfEvFwLIhRzxC/ZofRW/iFX
420
+ 0B2x+LE7TZ8uEXhtzVPc9GYVnEk/I2hN426pX59WmF/+xQ+HKguzCCBQ/7V6TiS8
421
+ 1dLw4z5aIKedBgvlX8ibDkCUp6jOOfUTh12Xx6nHd3TX9qhL5h9zDfWbdoBdr3PU
422
+ tYEgNXrYVq75HTlHoSRCuG4SccoVCwNzdKyjJ4mDAgMBAAGjFzAVMBMGA1UdEQQM
423
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAKaLVA7Ogf7S4gIwv/3K88
424
+ PGJxIhTcgMSyCVdKnPLWRUEofdZVMZEDcVI+l+4iB8sJ0XOs7fZp+bAnaQfgXzE2
425
+ wyWAODuytYlYZYc42xlT0PhqNnRKLUKf6uLCtNZFgpmiVmqgvAkzk/SJXTPw2F7q
426
+ hFA8K70Z6Wh08rZCP3hXLk5A8h6ejcNBHAoOg7B8Z9AMPlHW474xoGUrLjl01H4S
427
+ 6C2/7D/URCQFBTrLt4sIvtxe+cAtggB4DVpJk7eoxk7JL4CsRu8flqGLn1wFraqr
428
+ jIb+X70mOXY7cO1R0n0uJLgHTU1dDkMlV3xOVfqhE+pe7caknwI0Nfzvlar491Ct
429
+ -----END CERTIFICATE-----
430
+ """
431
+
432
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
433
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCcusqOeHXjSZtV
434
+ YgT32PKxIjsW/TPBlv/ovjQpFIkBZTCCRp+O0BNUJ13Kv9MVyyprKlR3EMldjIxo
435
+ lACVS+UIieuIERjufyMQVBuqJg+qr80lrbBwcKmzB496Lopi4DpX3W3kqaXd1c65
436
+ RNCAhiQ50ZfEvFwLIhRzxC/ZofRW/iFX0B2x+LE7TZ8uEXhtzVPc9GYVnEk/I2hN
437
+ 426pX59WmF/+xQ+HKguzCCBQ/7V6TiS81dLw4z5aIKedBgvlX8ibDkCUp6jOOfUT
438
+ h12Xx6nHd3TX9qhL5h9zDfWbdoBdr3PUtYEgNXrYVq75HTlHoSRCuG4SccoVCwNz
439
+ dKyjJ4mDAgMBAAECggEAIqF/emWRnuw3v3EOKfms/ojSx6yhEAieeT315pHcCAvk
440
+ 4RRb00GU08ZzCgbCzJD8yXsr+Lcj12Dj8YOqcVK4w989xO4KNUCwbb438qvAUHXR
441
+ /Z5YWy/5v05PXK8F8v0axyltS9ZUiSTiLbvP2mZJgOEYCOeZ6vfXzxCthggsJkBe
442
+ diZNCuq8cA4kSnF/v/jPatxJVtV17P/nwd7GOWgZ8pJZ8hOk8uGlwzQWHhynH19Q
443
+ keArStXoJwvfr1dceIln860RjqfnuOp8Rl1JAxQIBvHJmdvlOuXve5wF1wCQQuPJ
444
+ RGy2UQFe4xDrn9RIBl3Wd05uO3bmFhEFVPJIF/pWcQKBgQDJW+DfEFl25HyKjGd+
445
+ VCjJCauBYE3cE1U0jKmYyJwXV+xodUBdcHaCTtGNIos0LMRkaSpwg5/DueYL9pF1
446
+ vorrE7F4DaMLvpk/rl1GpzM7MNHuwO1bsIffOswYy2++PHOG0DsmFa2YMGZXMLwz
447
+ cl5eJpUq4CO0R8qrB0HfhFd8GQKBgQDHQpTVkKwgdjQFJxGD+51yRqQgtNUjvq4a
448
+ RD+UScRxudO3ZIHU0TuK3IRWFOVypagotsvo3tfoEsQ0CJ9WCL7CP+f+/85REKZB
449
+ lkhZKAk2lXurZcRRGdGBwurOdRT3kDxLWGpBV4IAGbPM0Vf01SzEbYxeTJuqaA8E
450
+ C2YRViNl+wKBgAKHU9iZRPZYQjQfNUGB3w0/QNccFX45A+3oAk0337XvVbmuF0PV
451
+ ILfcM4d5MpRSJ5k3NOA61uvHTttBmmwHG4l+MtFWIoEIQLZrAyLbAKqyn0BHTfPD
452
+ 0MD95Qg+rcWOzsiXntaImSh7Gx3nL8XZntPB2keyjuA5spLZQXuEFvEpAoGAQVE/
453
+ Dp7k/aMhvEqpQDV70Bj99kaw043O7odOvCJOReVfVG+a65NGzGcq7jjdWe6Zp/b7
454
+ 8rMR3V5BeLkW2hH1ziE6wGlETWiCx18nCirIkl7/8hhi+R7YgYvOgqz4mYpraVtr
455
+ QU4ZLEVAnjRFe9lhWmZ6q/K62GpR+cZux+IPqn8CgYBVDKjInduDLbFYieirj0Nz
456
+ 326jhsuafhuVoQ24hSsQNXWnYlN3jWNEsbGly/zRJ9lm0xrlhyUGh7MSG/yau0G2
457
+ fE2c0nVSQM+YZqAbzz5q+X/wWIE20H6tmu70qH+MOYV119jzfWc53CAIwRkH/H2o
458
+ KbJFO3MTfmwo1mgBjYBV+w==
459
+ -----END PRIVATE KEY-----
460
+ """
461
+
462
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
463
+ MIIDLDCCAhSgAwIBAgIUaXeigR1NhYcViVNvWOSNgb1hguMwDQYJKoZIhvcNAQEL
464
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
465
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
466
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
467
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
468
+ A4IBDwAwggEKAoIBAQDlm9CbdDwaD7gUkwY+Y2by3np+QtBFoJtk4hcbdAQ4Vd27
469
+ 7sJGve+iYg4vCCg3fdpxKZrM7p8VlRlQOMu2+Nkel726yhvs9hALWx0UVppk4iKV
470
+ rj/dzd/Oiwaf/Tk3DwMnfiv4RyUU1YnVusUnche1KKHfwHGCzLAnlu286wQXruug
471
+ Xl6onBQiF3rDqkLVrHcqMiasCJHLS2S9xktDiKwNCphATHFuZtzUIZeJK+yNiF+M
472
+ JKXN1xQFq8k9kb2q8y8qAgf1dY3wW9Xj4iP1Qo9Bzx1CxJTLpezIk3QTcCWKUkE+
473
+ 2/4Nly+M5GoJDv59gzjvPmyWPTr6TZ3lrls/Z/rjAgMBAAGjFzAVMBMGA1UdEQQM
474
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBQBbv4tGvdNY+P2A62GfhR
475
+ cyNDjXUKk+YHY64hGeiXp61l8e2Hf58lV9lgBoMpniXUvMk9Nx0g+d1Gsoc9VWHs
476
+ LP1MhVaf0zodeK45jJxuzCC+eDHSNmvhkUJEVD8LDgmHTJlddpwYBwKocyr4m3XX
477
+ 2QMcgiKcYaqIt5MLFwCWuarQ6bXKT88qRVTxKTA4FoqXXqJKCbAsEMql1h+dvXeV
478
+ yTwPK3vuRrZxyiIYlILG/tgNS6P+qUwLCnYjoPX2Ml3djMkUhRBdsTWR8wWTYkb0
479
+ qmqKNsNL7+OHzUI+Z8WBoja8MHVZohl0iDAvFO7Y67ovldeYS8mlb0Tv3nVRUhiM
480
+ -----END CERTIFICATE-----
481
+ """
482
+
483
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
484
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDlm9CbdDwaD7gU
485
+ kwY+Y2by3np+QtBFoJtk4hcbdAQ4Vd277sJGve+iYg4vCCg3fdpxKZrM7p8VlRlQ
486
+ OMu2+Nkel726yhvs9hALWx0UVppk4iKVrj/dzd/Oiwaf/Tk3DwMnfiv4RyUU1YnV
487
+ usUnche1KKHfwHGCzLAnlu286wQXruugXl6onBQiF3rDqkLVrHcqMiasCJHLS2S9
488
+ xktDiKwNCphATHFuZtzUIZeJK+yNiF+MJKXN1xQFq8k9kb2q8y8qAgf1dY3wW9Xj
489
+ 4iP1Qo9Bzx1CxJTLpezIk3QTcCWKUkE+2/4Nly+M5GoJDv59gzjvPmyWPTr6TZ3l
490
+ rls/Z/rjAgMBAAECggEBAN3qO7OToucZXDPeacFwtzZy2ncfwkYZVTcq4WRyPAXq
491
+ z5TszS4sMuiB1u2T97KyW6bVrDz3QCBO65lCW3nrh4Vu6TwYTOc4Zwdit3dJwI1S
492
+ llSOhkGs0evBKNUGm/7f7o+D/aFHucoqHL7KdfSK6+j2bYVhbRQbGwIYeIwHpPvx
493
+ CjF4dzPAurZzyKwb1xbjGxe8U6Wz/l27prb7Ac/SowCToFEnZc2UTDlsddxX3JN0
494
+ sr4eFLI0O3NQZNC6PQE8AcqXfUzvYmwelieh+Ih6bT4/VdaP+m88Ch82nnjm+aN+
495
+ GVVOSSMSPBdltK6MFBGFnklGyFH1PeeUHlr5YoEdUmECgYEA9W+qYw9tbag4iDh2
496
+ sHCBMhciAG8y1S8gwjZ8OrIyb5pBd8qjC3LXtDjvQPZEdngIqbgq0bE/vOg+ewnf
497
+ 1cddOuvaCieje36aCHCRi6ugU1c6zTLU/dRjYEf77qsaku/zLEw9omj7WZWNdIjN
498
+ 4lKUaAoZqjL/72ptyl/c1xS/UHECgYEA733A+VBgeCun0LQoOOHw5ZeIj0d0JMFn
499
+ 6oTsC6IzYcagXhZJ74G+l4FZBPM9wQ8H+wqcdbwZDq7VM+klqa692D+Gcs6bHuw/
500
+ CwP3wWShwyZt5p/++eVLBc1kR1vKlE16CDLm61t9h/bnbR2afvd0wYRlJd+CPuV0
501
+ mCi6m0EeapMCgYAZxPSt2/PQXKY63zrPAbD+8mDWjNZYfc9BtPjMLOOQxjBzhGok
502
+ DJXLTWMJfhHoImg+caDFTYf0rKnKv1mqF3mZcyP8hvbqQ3umwTL26Dk4JuN8ogas
503
+ 8/zPIh+4imyK2vi8QPEDuWQSntowTyDWz3bXiZ/yN9KZb6JBallEl+AScQKBgEh2
504
+ 7osBjQ8Pdomp2XnMs81kmodwAW6VrtHBQoMKoy10olWVvO1hfr/s/XiH+SmPWMTX
505
+ Ixxku9g7gntgkmrTWtIx9oaKiVlD9pdorfCweFnKKPrdcpM+lAK/cRY+af+RqdkN
506
+ Pd39IvCe/st/Z53/Vi6v1sMs7AYH+82GlWAgxglNAoGAenbzsZhOZ8QhhC3xPCkV
507
+ 0iJ6E5znVtXraIPmK22PyiH3yz7X5PFW8QOumS47TDYhX8IIw9qCaH7nMdV4SOvz
508
+ vDapMTO6TD+6GzKoMOXCBK3G/maoZMc8ENAQOcUFeFl44mxUVAVnz0dDyFHgTK+Q
509
+ NEhbtfmhfnhXGLOU2l+lvgc=
510
+ -----END PRIVATE KEY-----
511
+ """
512
+
513
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
514
+ MIIDLDCCAhSgAwIBAgIUdCBu6ITWB8mIr3CFYUGSoidgl9IwDQYJKoZIhvcNAQEL
515
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
516
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
517
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
518
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
519
+ A4IBDwAwggEKAoIBAQC6CqdPjfQSDqwE+0QwTkW3Gq2z+SdyOkCbA1f65tpk9dzN
520
+ yLx2xtHRV433IUFRxY4slpeO/ff/yWI11e8aubv1TJt1Df2XJWsrTSpasHiB0cQu
521
+ sBIUPCw0KkvNsZ93UVRArKyiNIut3tFTvM54hzUsSpMnH3gUiF2osJP/qFi9Fm4w
522
+ nHhhvjnm98YZ73r9qmS7x1pRLkduOLauQrZeMGtfqPbrDn+zrXISJz/WlVs1RFtj
523
+ S//fsuWYX1mecsowyj2uPgCiWxd4uYcnYEmv8o1+3yMucR6dWQCQxxLFaN4vgksz
524
+ vxQRQ+GzLYBG4rGXaJhuTd7zNX4MAvFC7dZF4Ey/AgMBAAGjFzAVMBMGA1UdEQQM
525
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCWFqbiMrpwtfPP9S5YKnFw
526
+ kv6aDeUeq6GYfoBdKYnVpfaXQgPXzc8eiNXptAPuMIVoSn811Hg+p9SsEjKBjPlZ
527
+ jdbbl44S2owhrJ7N4H5qTSoryBvuTwlh+aQDsDh+x5uO7PQzb2F3yU2cM2MvtU+2
528
+ 4pYr0Pucs2A0XzqWp+cZLhWHcTOm391Ab+Vr+Q/ZguvOxbmsBCs+qwSlPaktd9Yw
529
+ AqNKFau9hAnb++jd3k08EN8GBVlQBP/njdEoWEGjHD2SnTo2z1sv5jF+t9E28Swm
530
+ QbkNYNrgryTYJzPDZMMrK6DkkEFnH0djbKjwAdkooHr0pa9COcuYMhsqNMZ8irgY
531
+ -----END CERTIFICATE-----
532
+ """
533
+
534
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
535
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC6CqdPjfQSDqwE
536
+ +0QwTkW3Gq2z+SdyOkCbA1f65tpk9dzNyLx2xtHRV433IUFRxY4slpeO/ff/yWI1
537
+ 1e8aubv1TJt1Df2XJWsrTSpasHiB0cQusBIUPCw0KkvNsZ93UVRArKyiNIut3tFT
538
+ vM54hzUsSpMnH3gUiF2osJP/qFi9Fm4wnHhhvjnm98YZ73r9qmS7x1pRLkduOLau
539
+ QrZeMGtfqPbrDn+zrXISJz/WlVs1RFtjS//fsuWYX1mecsowyj2uPgCiWxd4uYcn
540
+ YEmv8o1+3yMucR6dWQCQxxLFaN4vgkszvxQRQ+GzLYBG4rGXaJhuTd7zNX4MAvFC
541
+ 7dZF4Ey/AgMBAAECggEAVfCJ7UQD1TuV1w9DJpVhuv3F8/dKc4fZREI9KBfwFudE
542
+ QoNSHAQn9G5flCN2ixGZZZuDE3jaUPx0M65Jr6zQ2LW0slPuKx4L7YrN3+rZIA8I
543
+ cxC+qT5KpSZMsg41PecB5oZdkOh5Ba6CQA5dymua8oTYiSAOVl3P9hbrpxPbOi0S
544
+ CAwC5u1FNFnLmT1TCFmQcIH3x1sKssoNLZNMQLJLHg6eFNu9WF4iNctlIcAjgoPI
545
+ 5+eRvjJiKI5g2ddoYwypcnohNzgvTnlb5KBqo9fGJ+ArThy5x7JyJAfvgfFbKkVA
546
+ wlfUfI4n2rPl0XwWwk7y/D5RIRywxC+RpKL7+JPTYQKBgQDtwuvZza+0DMTP8qoU
547
+ fWWXksAtKYWUN8iv+zuWMMSauAwy4lzyBDnZQ+JmF3kMxQEPXKdwB347xCOgL8YF
548
+ 5yygB95FjCjAI7VUVn4R1svhfk3B0vgfAt4o2JHcTN9akRk87wUAocl3KhmGiBXZ
549
+ qPxZ3UmBxbzGshAdkgiZ5GDexwKBgQDIUBOH6HbNaTvolMC9IMtZJFcEN1i4xzd0
550
+ g27Q2/eljzoqnGOrycV2x2w/iAigeV4bkzrdFaWMoXEAtyQ3OBGhG3Xwapf2TRze
551
+ y9dZjVSFWAj5MVPCObkmCTMi8DNaoHQF5nyxzE3ICSf+xgFr5JDDiXroKru5L/g5
552
+ LewL3QsKSQKBgQC2ybQorkj2Uxq8BANd3UnNTbURA2r+mCRhpvQYc0Wy7Ovz8rMi
553
+ HL2cmuPjOQiHGK3H8aOILTqPGCuLay8COsfEAEiRjz+E9+7f997UOB5mLYP6DwdS
554
+ UBIbtOPuSess5YBRqDBgXAFW67bUBqtFuvTG4akxa6PF3f8lvK+AIGOY4QKBgDgs
555
+ 1L1ZgO+sImPgS4j+iGhwW4LQLq5rF+8x6MLj3ThtyUcn4n/LrvfXh1DtylWOk8ix
556
+ 6mET8ABXSgSEV8CwlakTtWh9zC4DhCQrEDKKAvj+Lk4L+kxOudCj5dZXfF9e/gql
557
+ j7Sg8fM2NiQpzT4/tCVSCcjQKyMNA9StPzQ4gh8ZAoGAZJ/TTNNL0oMgcq1aRmLi
558
+ p0yZQOIijGVnbt5l6V8Xtcw3Gb54/mC0Y9kerQkpKzCUxBkT4pZqTJpWHo6cZF0Y
559
+ szbK5Ti1iNTlmAn87kG5nKQIUtvg4+rtSixbHy0lTiXHavSr5MXNXAy/3Yr+nSwg
560
+ a8dV9Of3/E3C1kAjnrW8Ry4=
561
+ -----END PRIVATE KEY-----
562
+ """
563
+
564
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
565
+ MIIDLDCCAhSgAwIBAgIUJWB6PMvY6/sycKKe2rKlyk2Jhx0wDQYJKoZIhvcNAQEL
566
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
567
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
568
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
569
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
570
+ A4IBDwAwggEKAoIBAQDpNyGq9RLF09KE+uiFLgNAWUXiUWRDWS86+S+knZMa40Pi
571
+ iDdpxcRxNgxUVioleNfKIuXQp1eKCwCuAv8js9hRqOIkEfZHtiNaai4iJWYKD8v6
572
+ /Mh1iTQ8evvsxR9Edlr2vpf86uWcIZ6NfD2R0QuDNi/rEQimilQr9O0zgpVcZ/rX
573
+ lu/ApUkBZP7nRXSgFDwyxub9eGO/XXYCFiaznFEewdEwMxJ7mekMejT+47QZj1PJ
574
+ JLII1sgGUMOnwauUqub4L3ibcFtWVI948ckq/vaYsX/MVYZ+Vr8sDpcuAZC+2FuZ
575
+ Wj8cjoFXGG2uHbXilw/+9uHiIpH9jE7sQLz7RUOjAgMBAAGjFzAVMBMGA1UdEQQM
576
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCCivAYNk17t6dwt0l3GmiO
577
+ eEQp2nXF7hkt3Nws4+GefOrcCzyTAoinwGzoSJpuv6YdIp8txyylWeEVVrvJRXyg
578
+ 3m648yIgnp3U5fSD6a2V7GnCSOjCoT1dlcIMFPuOk/XKN/0acfAEsJGscS0y/mVQ
579
+ MiJjjNv3K+ZzY8nDu+UxdC+cqLaY3KFF9QarWNjyiDjRi+7NrJN6mdGtZITSND1w
580
+ 3RXLCSaaB5VTHqkSTGNrSMr8Y5CGgXyPq9sQMLS2Hfb8K/Y57xlnuJJEkHo09pUF
581
+ mz79hUFHqgjrtxAd4UoBUujTpwBN1on/KFrYa7fGwmisb1V35Qjjogs8AGD8tnh7
582
+ -----END CERTIFICATE-----
583
+ """
584
+
585
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
586
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDpNyGq9RLF09KE
587
+ +uiFLgNAWUXiUWRDWS86+S+knZMa40PiiDdpxcRxNgxUVioleNfKIuXQp1eKCwCu
588
+ Av8js9hRqOIkEfZHtiNaai4iJWYKD8v6/Mh1iTQ8evvsxR9Edlr2vpf86uWcIZ6N
589
+ fD2R0QuDNi/rEQimilQr9O0zgpVcZ/rXlu/ApUkBZP7nRXSgFDwyxub9eGO/XXYC
590
+ FiaznFEewdEwMxJ7mekMejT+47QZj1PJJLII1sgGUMOnwauUqub4L3ibcFtWVI94
591
+ 8ckq/vaYsX/MVYZ+Vr8sDpcuAZC+2FuZWj8cjoFXGG2uHbXilw/+9uHiIpH9jE7s
592
+ QLz7RUOjAgMBAAECggEAA8wE/U6OJrBjLg0Tug9cuDB75cpjcoFCNpiWAP0bxwVK
593
+ Nqb3F/7DSwCRRNI+T2vfP4g/65y93R5+vVaJJuCntfSk8edk9hfuDWvLIn0vYxyM
594
+ uqJg9SDtu8pYzasL7kZrBrdlrBV69YbKmQ0bx4L6yAEa2J3nYSbBZhHPxtXqbp2u
595
+ z4knTBjpMEyCAvnPto4GBWYyEmix1PEGWDaZQxhUZcWTCGg61O9A/gLiNMntyAsC
596
+ pe9+cqJPUsBau3y5At6mXIcK9psA/bLIzjlimRMzC2WJ0rl0niovVMVEJoetDNFy
597
+ CDjUYMH8FHow4ujhA3KHVFwrEhIIz/mmF4QevLrHUQKBgQD5mhnl4C4DCS7/TvdW
598
+ 0v6eaIvnKyUTKclV/dahbsFlvCMF0TVzI8uSIVPjs/D5FgHVnk5aE8rPN5asfXUj
599
+ YU/UjC5qE9sKszThnhW+NitePoaxfgJcvJP3PLIarhZCHV5b4zBmT3OtOAvYfvRa
600
+ TJuXpx2YOyxcpXdLLmzWtzWD2QKBgQDvMYAympkIvQWy8VwbUGL5VwO0GaOhxCiR
601
+ 7IJYefn91cqB9VxV4vElbi2z+wVO0H+mukdBnQ1r9PPL3eTDzL/I9lgIItKXufhz
602
+ T6hC/QhZlrp33rFfHH/2fbvBaDVOCEkXEGiQM/IUjN6reR1hRAmt34bj3eEfgjK/
603
+ zZyn6+Kh2wKBgQC45uyKeyD6xMHZBgF6g0F1zdLeA/sqEAmDN1DZM/f2yoFTXODw
604
+ k7LJZQEFLJa1nxTqz6QRXJogGXj3/NRaykreFJ6JnH3mlkz1WiuXRf+oiD81mzha
605
+ xKQEQiVaWF5KygDNpyaClBcIWf2Eer+/aQLWPElTLXq2gyk1O4YLJZtyOQKBgHIB
606
+ 0Q3NnCWLGt1Ip1MphJM9wzkjg1fGTGQJK7OKJ/qx3P0GesVBDxl9I3GGsuf2/vD0
607
+ FqSSe+Q58732/GPLApqBuEHgfynsbRxhGl0bh9BTxHr//ODNj7xn/4bW6ZlQ362L
608
+ l5sr9zWOU0+9waArssVaJkwT5IqFHzVGhmWPTA1DAoGBAPlDNCTFmamuBygx+mD0
609
+ pAqcCcSNFPT2/QnKAEJKRz2XKNTXrEvfaFKaI7L78wZiKVZpwqKqSTL4C+OeMdG0
610
+ T2VKa/FosuS45sW4zA/IQsM6xCSQoSh/O0YcjSvdP6NiRcIO3feZb24TzgOUl/Sf
611
+ lBBukQk2x+6YHo4NOH+suXQw
612
+ -----END PRIVATE KEY-----
613
+ """
614
+
615
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
616
+ MIIDLDCCAhSgAwIBAgIUIOpxHZYryCoSWIfdQ8uCSoeS3KkwDQYJKoZIhvcNAQEL
617
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
618
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
619
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
620
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
621
+ A4IBDwAwggEKAoIBAQC/LMgHvqhwBTGYi8fLSDC5BAMvpZlHojkCtD2tAe8x4xES
622
+ ziFbEN0h3majAaFEbKWf38QwZb8+MTqtqC3hBXLlmQMOHJ98B+pcJiquWmDFadWm
623
+ mRv/aSsDcN8Nuil07mTYVl4KjqJ3BIuBgBF6VHU5EtALFPwM/xnFONPB5BC4Gm6X
624
+ /Bb9QQ4lBZVbXvuaHoiY/qXZeM/M0J4jGjgW3CvFKx6Cg3QrSPTZQRo7YoFOJzCe
625
+ WEU1NjaY32vstiK7qTFJCZ+Vfk3NNU0QealoqUdd7SeTNgPwEpYlTLalyKJHGPAU
626
+ yeq2LHmUX9F81MZIdk3Y2ugwonIjdAgo2d1Bft1nAgMBAAGjFzAVMBMGA1UdEQQM
627
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQC1ACGsaR3WXsh2iMZEtbFU
628
+ JDbmDgviv1WCft7Lt0lpTWCNq24PXn5EOFU2UPBcsLCjoMfgvjj+b4dVcGt7mX91
629
+ dtMIwEORe9stfr1Y1Frql9nMgk8PyRYDt4oUUUwwZ/MjqU3ZiP4znsiZuEGTAdKb
630
+ BqhVubSZdYOIrYV5Chbta7/OXxXpOv458CWLKqvfoDVsWldhQDWOkeh6nz8dkPO3
631
+ Jt0IRUPqS7TV2fUcbHLpO3z1xUxL83xN3wgoBafSSbvVcLAN1+//+1JqLPxznSjV
632
+ rYf9ERqDwJpIGysbRvIyu+ahf0zJwBwob/O6+1vuryLQ2SdMFIlk57U6JOkePfEy
633
+ -----END CERTIFICATE-----
634
+ """
635
+
636
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
637
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC/LMgHvqhwBTGY
638
+ i8fLSDC5BAMvpZlHojkCtD2tAe8x4xESziFbEN0h3majAaFEbKWf38QwZb8+MTqt
639
+ qC3hBXLlmQMOHJ98B+pcJiquWmDFadWmmRv/aSsDcN8Nuil07mTYVl4KjqJ3BIuB
640
+ gBF6VHU5EtALFPwM/xnFONPB5BC4Gm6X/Bb9QQ4lBZVbXvuaHoiY/qXZeM/M0J4j
641
+ GjgW3CvFKx6Cg3QrSPTZQRo7YoFOJzCeWEU1NjaY32vstiK7qTFJCZ+Vfk3NNU0Q
642
+ ealoqUdd7SeTNgPwEpYlTLalyKJHGPAUyeq2LHmUX9F81MZIdk3Y2ugwonIjdAgo
643
+ 2d1Bft1nAgMBAAECggEBAKgxA8MckCAN0bZ9s8c6ufLsfskajiIhrLqeTGy7eO+Q
644
+ 7+J1i48M5R/5BJ+AvZrvYz+mpHpX6csTkKZbghGos48f8TonIIEEjcGIqqA+T0kf
645
+ daJere0lX3xlfzgagoKngf167r2nA3RmgT3rqHTRfVg7HuHBEod0n/2No2+/8J2m
646
+ zI0eyorzofIjzRZt03/LSJvYKla8MPSEyrPHay+xQTsU9KmqoxXJdH04fWBnvE8N
647
+ /187j/AWUroFoZxtyr3+csbmCxYwYasfuLbI8afkrzTLM1bhvbdIdVVzApBjb5Dp
648
+ s67i3rxW9+36bWQx7wiTIQbI01ySxGNv0U4vdEFJVPECgYEA8wnp2oYwE96qR+Tp
649
+ CAA9PBW0lB6s87c7eF1OFrxVNFjmTvTFA4iELp+6wCe7L/9m2phL9TatJwRreukm
650
+ TdSNVn99HORJQrz3wzAc2IM2wVmuykNL9iXBiTS9EyDPv5wb9V8bY3wNXwGeDEgE
651
+ 1rRfcLwDe9P8ywdXFiWxsa5llWMCgYEAyV7MHNzNl7Vba+Su+FOwgrqSi+wxcFT1
652
+ vPpUoy6xnyVYBOteSNoNhIKVrQ5P0gBN85fDjcqYba3dn5NdybcJT1SkBlGSkUSt
653
+ 3uHEYYCkA/RNY4cbc0rcqIjXfsbhEdGjETV4ekiY3UwkWXRKAwzI6tUi9t+9vWOB
654
+ xhwfu3iKaS0CgYEA7zYtt4lmHtiFr5euidJ6cv5GK5f50TPjU/g6WQRrtMdfgA1J
655
+ MM4YlC9hR6qTgo2Wtcc61BNJ4GJoS6TZr7dqmd2Hzn0fYpHOJ47ehXi41xwnfys3
656
+ xAGreRmwk/gyorzLg/plYckC/CUCY8IrCQyl97cGksW3RjpmTAUz3dfyYlMCgYB+
657
+ OSXIkb9tcQi1QMtMbWkfCMQDYTI8L4U5x9B12TcNguMBcmfPUp9WiGQ57daq0/YI
658
+ 0wCJSIzzcyCQflczsb/sMin+q/Mri9lQ9EOcun4U3HYGBRJ32l0mZ2Bs300FVlrY
659
+ 1qOGQytOzAOc7v/VmZX3XVJlXSoaJN2byNU7NfvMoQKBgDtfPGowSJN7Jacpt7CT
660
+ 5CiaF13M+lDwkpMFVNIJj4tWwFpE1IuqWhfSNKkR+vVl3xahxRh2F5X4MQ8LRdtS
661
+ 11mELfdBi+IRudn4Mpn6Hl/E1U9/wxEFjXfEMZrNQA3ekZTAzMoH0yEsIBCX+KIl
662
+ QSJ3WfEjOC9Xe5CR6qPEmR99
663
+ -----END PRIVATE KEY-----
664
+ """
665
+
666
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_7: tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
667
+
668
+ SSL_TEST_NODE_CERTS_AND_KEYS_7: 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
+ }