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
+ MIIDKTCCAhGgAwIBAgIUWzGLmUq3RgS/u2oYomRSyKsXWwcwDQYJKoZIhvcNAQEL
5
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
6
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDczMTAyMDgyM1oXDTMyMDcy
7
+ ODAyMDgyM1owRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
8
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
9
+ AAOCAQ8AMIIBCgKCAQEAzB+IyNSmoJt99NpPQ2agYv/3Bxa70ZKHmCRHT6h2eNFg
10
+ 87Mw6Dntpq8uS4zAa2pUohWNRPFrWLkHMxngQuuCJqfu7sqTJwwSNodYK6ajoidI
11
+ qKyZGZd4kj8AYhKe/2O0cefjWbc1leOzXwqtQSdlr65pXaJMWG7jckNGf8hj+Dfe
12
+ ZqJdonS9w6LYJPFH7l8njHaECLm6fWusJjq8nhVlAbbjetnl5wYsWjdJZCWfcSG2
13
+ PRrHncuPLSJVPn9Gdo/bqC+zQ3VJhXLELM/Fz10+cxWpaUvjEJEnhaRjAYsD6wk0
14
+ yBoaNXzVo3e/gsPcppG14dgFC+bdfFytDHMFqw2kHwIDAQABoxMwETAPBgNVHRMB
15
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBNwno+FoJnwcJpltsDfPnTYAMD
16
+ +9gm/dMBrwVtYZyB6OJKrOUYY49KA5p5/O06n0S7DOYKXVGZmXPownj9Hc1/0kUE
17
+ KKg3GTzekBIso91wUL9isR5eEUnLfnHwa1OAsu2ycv1pQWwsyFvcl8ttBdmYWN5z
18
+ 3EgF3kDtIc0erz91hpkixev4ZpWQzf22UKhp58EehwODI5CRRJKeVUP/pMPkrfUm
19
+ 58aU31u+rCSX+uJWH/wnWeE6WZDBS5/4abcY8KLnW+ArEXrZPpEqWWsuj0lWrM24
20
+ yyfyhCmRMmeS6XSgpitKZk6kWG0VUUF6NKSilGCYUD1tEKq89oUCdDoMqJIC
21
+ -----END CERTIFICATE-----
22
+ """
23
+
24
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
25
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDMH4jI1Kagm330
26
+ 2k9DZqBi//cHFrvRkoeYJEdPqHZ40WDzszDoOe2mry5LjMBralSiFY1E8WtYuQcz
27
+ GeBC64Imp+7uypMnDBI2h1grpqOiJ0iorJkZl3iSPwBiEp7/Y7Rx5+NZtzWV47Nf
28
+ Cq1BJ2WvrmldokxYbuNyQ0Z/yGP4N95mol2idL3Dotgk8UfuXyeMdoQIubp9a6wm
29
+ OryeFWUBtuN62eXnBixaN0lkJZ9xIbY9Gsedy48tIlU+f0Z2j9uoL7NDdUmFcsQs
30
+ z8XPXT5zFalpS+MQkSeFpGMBiwPrCTTIGho1fNWjd7+Cw9ymkbXh2AUL5t18XK0M
31
+ cwWrDaQfAgMBAAECggEBAI/8aotn3YYLSQUv/ZuIx/gtoH4inigN2ZILfTYGmlNN
32
+ NruRGh2lxyq+BcULKyxaHAsdcsJAHb2+/wIf7Z6m6+8CpLtSsAxqKmrGe/6GlISs
33
+ e0doQLLZsxZOVKHZisiR91YmAaxmXOk3bm7LZD1CYitTt0VyV7JFvjD6nb9Dhqku
34
+ 1SDH4igl/AqrnTUuZ1NPv+xTJGuDfCL4PPinGu/9F0VuWU8PDDzm+Xl7pqbCFw0d
35
+ nvoqlXVoruqq+FDY4uQG9F7h4oAfk7+EdYy3MML/HkGef07ifeY6HtpUC6f73zHb
36
+ cpqQ++pAFK2QYCpQZB5Yoja1JGvyn7jjXGNT58tPLlECgYEA6cjpeucBU/Yxp56i
37
+ SIM1IJQZjliGMtVf4Ulmy88t2hUpT6nn1yYKdK+NNCN85KK+QT4a9ZCU+7YpCj8B
38
+ yF0/80Vn/dUXPHw4TURCBGFDl+tNOVaQHRXZca2/GEm9dGz2fybCQxUZKawhapGR
39
+ S16h19ed7XW44mDeeZsvaNof5/cCgYEA34URizWh+97565qsNGNHNCxwVl3RdcdD
40
+ 59/9Tbq94amy+BQgVvQ40sVa6+w+nkqtZSuwyKHSHaCNFPOZiWP/0IT9hBRdEODv
41
+ bzt1li4UgS+aUKrD5fX6Lw9cgD08OVKWgMSMWehrm4sgL6itzjUqbMVerFJmBhMb
42
+ x12owc5yqxkCgYEA3h3PBsAX2OfeAX2Mfgx7G3raVQ3yYrWrpOYSTq2GyN62I0Qw
43
+ S4+O+5IXPGRDMw8UZ/RTtOArTIOjtmJqlS1TpxRYWyhsLUFwVKj3eCXZDKu48TM3
44
+ NQsfTwxetPrKj6U/BUuT4hxXjepGzXOEcfF1HxdyqrvgbuTOOwegIaSsD70CgYA5
45
+ G15oGsPP/iAMOfBVUigXBGOPLVkeplKLI4csHNH2nczD5SB+FteNwi6AqFM3Tg0P
46
+ FCKOoAl22FYzTCmmGI57T/8Vh75fWZjS6nYYcJ18hBUBFyAF2Nqau2n+uaZxXtBl
47
+ BdJ2BhO4IcuPYaFGVf8I20Rc8pBubONkBGHhYkWZwQKBgB7xvvDZEWSbhW8xgs5g
48
+ 4a4AElP2al8Rmki4nv+q10z3cgqH5l1EoT1nKhZ6tvVOZj5SDwKHA+shp2PYnV7o
49
+ yX9Opy5+wwYqbpwx+D1j4C64bJ31k7NiJ3kh18I1tS8Pc+uvAKUepjZcRvgaRJsP
50
+ DEuyC4irkg/3ZMIPxYmI6ZLY
51
+ -----END PRIVATE KEY-----
52
+ """
53
+
54
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
55
+ MIIDLDCCAhSgAwIBAgIUSj1pdOwRwJrEORU+fqWLTHMZr3cwDQYJKoZIhvcNAQEL
56
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
57
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyM1oYDzIxMDAw
58
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
59
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
60
+ A4IBDwAwggEKAoIBAQC76QDovPz74lN1tpHAA/sXtUXVu3UiikJjnFpgUQIK44wX
61
+ +QSbiY3W4fvvmrDv2c283ZiH2td080R/sACUVW3o87hqYJI3aSsuoE0AtOkBjPbg
62
+ xvn4T9C0DpJQIiqhBWXBZ7JnLVcgihCblRd/LsjWQOB/G42VC7ikLe5zW5fto0DS
63
+ sTwFLmY6wKMmuSN0HoHvk/fv7YSTFKPNW6ofwwQ7gaeqwBRUsRqCXoREUe0wLvUP
64
+ 7HRfJ6+mDn3Yd+upymCuUOhXQNTjD5mfiijxawq8MYIO3niObValyqNU6mHUyaOj
65
+ 4abGws3Y8Mju+5dlHmQmBBL/HXme1Irw/Ta4G7TnAgMBAAGjFzAVMBMGA1UdEQQM
66
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAWfUyskkstyDNjFG9EseOZ
67
+ YPvtjkjbrlk+IKPfACfpiwAGsEMYS3P/GVQXkA/VYAUiaqhZqJvGvb7zceXKDqcD
68
+ 3/UiId3YtlcZYzaAcAbf7xmPkmb/kMjtsmao17lm//YldbM9zp9kh6JJS+8Gh1cp
69
+ Q4c4pR1NPS5/m/dPHNe5K/BrAQZUEV4TBlfEUSkQ9vYJeOIekHGWVTFOgJ9mfML5
70
+ aP01qLcDOvTwV9BewpjHL0RXPqn7w9v4nUQa9Tqla5ce/OBgAOfB9xO2+9IpWI8a
71
+ NCigB+qkSal87TL2/jGgry1aPpT5SHP2iGaLYbG5//Z75rTZzGHQJQxgJeR5zm+7
72
+ -----END CERTIFICATE-----
73
+ """
74
+
75
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
76
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC76QDovPz74lN1
77
+ tpHAA/sXtUXVu3UiikJjnFpgUQIK44wX+QSbiY3W4fvvmrDv2c283ZiH2td080R/
78
+ sACUVW3o87hqYJI3aSsuoE0AtOkBjPbgxvn4T9C0DpJQIiqhBWXBZ7JnLVcgihCb
79
+ lRd/LsjWQOB/G42VC7ikLe5zW5fto0DSsTwFLmY6wKMmuSN0HoHvk/fv7YSTFKPN
80
+ W6ofwwQ7gaeqwBRUsRqCXoREUe0wLvUP7HRfJ6+mDn3Yd+upymCuUOhXQNTjD5mf
81
+ iijxawq8MYIO3niObValyqNU6mHUyaOj4abGws3Y8Mju+5dlHmQmBBL/HXme1Irw
82
+ /Ta4G7TnAgMBAAECggEAU3Qt9S9J48wmaNcGcBLUhzj4pO22HfrtdTPRZ4lSsOdS
83
+ Jqtvgmxa1B5VN5qqDjvbBZAc1+k3WzdXKqZN+5LdV2I2evgcuAM7LGABEtlFymyC
84
+ kF2OUtuPwwfdrz0dVZoCER0uvGgEk+z9ZzuVzeRHSfBSQ+FGxfUIsdG8XvtExELC
85
+ 5SBx+0/Kka08IEuyTjjp37tVHN1DCYunWN8PvkDPLcmw0jjt78pWpIylNTctcFMG
86
+ rhLz0CFAAJGEAF082xZdwSi2BFlQ3RSufZYDygHGvQvRVIvL/jLIBtIe+gPjvSvW
87
+ WxqSCzS/Akt0O65unCebkjaBQuBvql8lYfBhGDu/oQKBgQD0g3jDh9a3SuGoMvXN
88
+ jjNllf7uWrGSA9gWcMbAk/i5E1aMArjN+RmOv0tG8DEs6qRKe0ZCxVlGCVfMjDzh
89
+ Nh+uvPH4MqhCU9uEBolLPArPlr41tayc1AWpBLa63mXLeS+m38mjjMnJEmV4OoFG
90
+ pps6edbvw9pqSRbbjvRjOziZvwKBgQDEvNFKWdQaypSAk5zk6aMOw5v++VKs/4NU
91
+ fFjjBp9XdxvMcgbQ6i5iRmE0V0X3tHKy37Zy3vtbJ3CEfrAdbfTi0IHK9tAUIVo5
92
+ o5axahu+Qu2ELbxCMe2c+WH15rR0SuTXOAJvpBdub06WP9Osqz+ZQMiKP8STpXkn
93
+ OFQfoiMe2QKBgEnfTqUEbUKDRRnkC49G3xBZ+ONaUzuiHa7p86JLEmIYDZXPXLYe
94
+ BDK0aLHN7416dphqFhgmN4qJWBVcaShBieDpBNHPvDYNz8xbjS9FvJ5rFJx1fukC
95
+ xZMC8ZITjv2iZ1srUWgwKOauwClKw7PssglAtkdKDLr/ygAbeIpiYf9RAoGAPPv2
96
+ uGBuAjwHmm+nc8IEnIAALCJnAV9W+2psNzuHSxqN0GsMN9hPtoDwgsQG2UjjQRVd
97
+ ve/m5JOuKjQHLag2/9P4V8z4JTVNfY57GNW2cdzXOWDf+Xj2mfEn74yrJV1N4HTp
98
+ NGgeJ0pzhtmUKPMQjNXrFAe+TLI/guvQD9o3nskCgYEAoeo/RX+o6x0Hm+MVoj6a
99
+ BFladjP1XzDeInXLS1g46Bngu+4JlxAb0/Xw+tnkopxQLGWkFeWMRZ6vLZDxzwVl
100
+ Z+32ERySVgI1HPur5NqucNg6/Ms5KZCRgIZ7uKzMxgH6ziVUBiv693xsZj572L8L
101
+ pLWEzgClPUX+Df9VTSsG/JE=
102
+ -----END PRIVATE KEY-----
103
+ """
104
+
105
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
106
+ MIIDLDCCAhSgAwIBAgIUU6xhWBWAz/LanKKEiMOFsRIw0mAwDQYJKoZIhvcNAQEL
107
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
108
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyM1oYDzIxMDAw
109
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
110
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
111
+ A4IBDwAwggEKAoIBAQDC7U3QVRjBkgeNtXO74IHz9vlkL0MA1DWGglxzPDTUArgx
112
+ qaOySonFeh5kjMhYqRNulUsdCoRyNIUz02cvg0UAE323BkJUPJBaz/F+jS9rX/f3
113
+ KLqbbsxDc2l+R3uz+MqD6DAiuBJuqD/273oIdGmhp3j0be2/DGCPpfTeh8h9lM8u
114
+ eIvBClLWPsVaZAD93ahflId1XIji+D3xsRao6ss2zWkYtQC33giSTC30+DVmVbJG
115
+ wsTGkEki6SZa04m8nrCcMAMyujspmrO3Z9ybDMq77HzF334QSkG7M5Jl0Z4lA0R5
116
+ g25Poi3Ej0GBU4nPfJoChSnelV4emG6G2FxZfXZHAgMBAAGjFzAVMBMGA1UdEQQM
117
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB80O3SW7hciWlkcRKrl6tL
118
+ iBVLFxobmIVUVjSeXfSx1fiVzdSoPKy5S1NLzisGqPkFQnngz85CWb+frFUSiCQw
119
+ jKepxTKluiWzW2IUTgu6lwPFcupd2EfTv3RLiN6NY/ivjYKtMvOGP7c7WFf21r3B
120
+ 39SmTfwJoEfJAkRmi4bTOwTjVC1fV8j3idyjWudvEtH/QdOIMp7+CdDJAa+loPCT
121
+ V5jXF2gVyaLZJkilr2ZGj9+uy2w6LGyrxU2LKvuaMzFWRC4X8EmnFuO2o0Dbss7Y
122
+ zSofQc72b5XtaaTkfHaGWzLBeebu8ICo5zJwCzMkK2fWp4tAegetnlUKlEWpvT2Z
123
+ -----END CERTIFICATE-----
124
+ """
125
+
126
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
127
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDC7U3QVRjBkgeN
128
+ tXO74IHz9vlkL0MA1DWGglxzPDTUArgxqaOySonFeh5kjMhYqRNulUsdCoRyNIUz
129
+ 02cvg0UAE323BkJUPJBaz/F+jS9rX/f3KLqbbsxDc2l+R3uz+MqD6DAiuBJuqD/2
130
+ 73oIdGmhp3j0be2/DGCPpfTeh8h9lM8ueIvBClLWPsVaZAD93ahflId1XIji+D3x
131
+ sRao6ss2zWkYtQC33giSTC30+DVmVbJGwsTGkEki6SZa04m8nrCcMAMyujspmrO3
132
+ Z9ybDMq77HzF334QSkG7M5Jl0Z4lA0R5g25Poi3Ej0GBU4nPfJoChSnelV4emG6G
133
+ 2FxZfXZHAgMBAAECggEBAKsYB9j5GIWvW5nyzub1pJszCKv7H+C2Y1TxT5yGGAiP
134
+ aoWM1PZFnrALBGpVd/T6UugZepi/BooHt3NJ96QooIP0l7/yan3tuvc61kmyOxEQ
135
+ Z2I2CbUsh3Yc81e3/sh1c6xcPQP8dZFTdPGWOZL6O0185hoF80xh3M+5Zzl8DWrL
136
+ jvYA0D3H+IQ2Fx7+5uL0Bhujbobgigi39b3H0DU6Cx3TTDetXusWcfX9QGT0Hl7G
137
+ xoIboZ1S9Sl+nd198O4GcgnnRcdnM7WGbrAqAoHsHJdlQNdENpB5nLN+xeGrrCV4
138
+ wycAGoKsbLBhtN/UggLTQslHbaM3LA6uqRhgzuUSAsECgYEA4LG1Zp9z5gFrLylk
139
+ TptxnjyDB/qh6NrlTRIuIV64JrrvjqzcGIs+G/WlrBiDjx5d8DyezJKa550UEpc0
140
+ Em66/hrSfw1IZrzmVdBC9/G7y0JVNjHeY8IrscTVs9YHb9lI4Vyi6IH48R4pI3xb
141
+ paLCpN77K1HkqkShxfi/l2W/NIkCgYEA3hXfObc5XiBvR47x5HgOL8U2lg8WwqrN
142
+ 5YsypdaRjq2KCSd3LynpsCOa9iETxy7KrfAkIYiDEWWzuHF0AJsGbWGnyNRWdJRS
143
+ FcdG2Jw4hx9v5fNX26RCSMUqk+tDeHf1zhTnx2N/w0cCUVn2lWg2ara6VGAhTH0w
144
+ Y4/HhxEKQE8CgYAsDKqzY68k+EI7DLJNdsvfaZ2Gguwa6k7pvRauFBOmBB/SqLC9
145
+ Xw7eDFpeUq/37swbvMak9FjJ71FwE5RxyKOADWIW5lO7UG0XhaybTxix0F9EMKKY
146
+ jAhk4WHDz8HFe6N+CtslGdXj7zXBby/IWRAvokc7RuK9Ppc4aHunAptpgQKBgAUI
147
+ P9eh9DXSzFK1xXtk0QV6FYOO8fgVQLcb0Vj6pK+z9PXCJCw4aego1mEPXNBdmhAY
148
+ 6eisnDOvt0PNplBBMwMVfGTLku3vUnDV5CASYiGFr9ZpDiuW7D2T4iQZ55x6M2Kp
149
+ DJtzALkfCcloHXNDOkBuxYgV6Ys/JvKKln3UAAR3AoGAVG5YvRAT7zRz2gMx0avK
150
+ MWg52cRvxnI24njN8Tiw73Mb2KOK64ObpluopIXlKnvo8QbTCkRKcOtoZsIGQPyJ
151
+ yo6eYIgJ1n+uX+jl3OpHUV1qRj9Oy38tzGaFwo1sRCNsnkL56lrI6CR1mQT4PHdM
152
+ wm871rBGNc/esbPNXmuLvUE=
153
+ -----END PRIVATE KEY-----
154
+ """
155
+
156
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
157
+ MIIDLDCCAhSgAwIBAgIUE3WYHLRte9HfED08IQ/HsX/LM78wDQYJKoZIhvcNAQEL
158
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
159
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyM1oYDzIxMDAw
160
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
161
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
162
+ A4IBDwAwggEKAoIBAQCtro19tmukTk4ClxM7EsqL4nEG8deswAwgpxvHAqwruOLO
163
+ fn8VrWOruj+WCLwPiFulAFA79eX6qoUNj+KskOqhseLPQgw/PPXNVmFr4pCIhUJR
164
+ m1RsSnN8/rbQwGwqaZTNv9ziwPY9N+sRAO+dNK9JWaRQYnUYM7aVO7ze0T5TAGZx
165
+ Xc1RnRH4z66mvyK2o+RxGrm9bRRJckXHewcpmGKzWlJWBeUpgTMb7i32y83sfR4K
166
+ hKCee7YQqb4NBO+Xi3+NWxks62qjrInupxE3x7bm/uBRFGxxQEko4Nuy9gIs9as3
167
+ nJKwxxb0t1k0DPfZVBMOa6rmsXw2XAT7Gy2Mu+tfAgMBAAGjFzAVMBMGA1UdEQQM
168
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAy6Rn3XCcZIwdoTlqcXGTq
169
+ SxOJ2YD8vluqyGdk7oF8sv7hprQy4fiuIKgVM6H0j6o/ITZeAqZfYOJ7XwmbrhBn
170
+ XBCjWqa5GLIqjG/SH9qjxnqI7zPkVwyGXfUEUu2q934fq5hZ3/KC+9mAqOXyYpgI
171
+ pEuJlgqP8F1mc/QoSgbEldCJonGFnJo5tXx5p9a7lTz9y9EUFBR74hPfpUKWilGG
172
+ 9YZ0UFnsV3NsAyngQ5/SeY1/leBWCXy6YPpVZZD8l5vOvRYeRKzZbPhJnbL22ba+
173
+ rUZ/b1sBH0+aW7wOGfR/dQgIoGgHjgpztLm4dmdwmJNRI5J94yQSJLswgTbvl8ka
174
+ -----END CERTIFICATE-----
175
+ """
176
+
177
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
178
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCtro19tmukTk4C
179
+ lxM7EsqL4nEG8deswAwgpxvHAqwruOLOfn8VrWOruj+WCLwPiFulAFA79eX6qoUN
180
+ j+KskOqhseLPQgw/PPXNVmFr4pCIhUJRm1RsSnN8/rbQwGwqaZTNv9ziwPY9N+sR
181
+ AO+dNK9JWaRQYnUYM7aVO7ze0T5TAGZxXc1RnRH4z66mvyK2o+RxGrm9bRRJckXH
182
+ ewcpmGKzWlJWBeUpgTMb7i32y83sfR4KhKCee7YQqb4NBO+Xi3+NWxks62qjrInu
183
+ pxE3x7bm/uBRFGxxQEko4Nuy9gIs9as3nJKwxxb0t1k0DPfZVBMOa6rmsXw2XAT7
184
+ Gy2Mu+tfAgMBAAECggEBAIZ1uWKWxJTqbmiA70lvjdFoGFrpBjDeaUUqOk4C2qnq
185
+ s+RreBWfK6e6RBnyXy2jQlfmezdAcrByLRnHyBQTCSLvZYlRN8wJdL5oXnm4aG7Y
186
+ w/QLzfscVHZzd7L7FYJsROBY5jfCbaANV3XNhLPvIrklphj5cG+xMWwtWFYkJhz4
187
+ ztWa3kE0yW9Ylw+IpojdMapOudXXvVaxnmii9lqWTJROtU4WXyroCq3/ehxNdsvH
188
+ ybpwunB5bYYuMmDC6ZTfHdED/cpwGujpJUUB4qKfs9c+ORqOtWQprdkBkBrJwE4B
189
+ QvfNq7cW6MoZiuFda1BkMslxnHZ4CBlyMFZaS6k4L9ECgYEA1KlyM6PdA1IhRVbn
190
+ IK3YfC5vFK1TIdUHWsLrtK87gblps0se9+k9vus7by03EG6PtVYk5jGcy3ZYznMx
191
+ mex2YgKvf1sqyIA3Dky3hwAVCsGxmL5rnDiAd6RdlBSmP2fs/pqOtjBb/eH8J53m
192
+ QmqP1oZmB7IqQWKnhoa6WOEoBVcCgYEA0ROFPD5P8fiY0GS4EFDgtQ1m3frQ5USy
193
+ QfUtzOMd6JZNbrdy8lnLFmRN2jORCpAIfxSuvQHzFXPGJemHo26+S/8A1m4oSK87
194
+ jFKeHtQzlfxPlWxIiHAs1tjvJlDEG4NtguLFeqxVFFXU01mNPMw4FUnK038ZoX9/
195
+ Q4D5Vv27PTkCgYBoALKERMhK3ni9A4Infj3YhZD3qMh2TEu7fIZvqB9PExF5iOyN
196
+ S7lRzJMVjSRX2epYQdfr6CmJa8iEttt0Lqu6xRt1Cm4C/oluaeB7mnOv/ghP7hiM
197
+ nylc2bqWN/8SFU5XOdk/iqkCoemCqns40gqkXLg7XUvDDG9noC40V3EOIwKBgQC1
198
+ U+++8vAVFR07x86XX/2zKN9pcCmSXkUXzVOeme+LlCet+W6438WyMuYOc6C8f3TO
199
+ +poeFL3FgjZ9FQ/tX5Oth4krcDiB6XCE3/aBGFtxHnXLSzGRG3DYGSc4nN2oWxE0
200
+ bgcFwMa9Lz+42bcT3q5ZUDmXumj5VwGCAy69Eqw8iQKBgCQDVi6aAdPq8dN/AdIp
201
+ KdxiXxAz1CH0TJnioWtOQSz5LuPcdyq7sufQOP8VfegWk8mP+qM0l6qyiyLf29Ex
202
+ 4Qy+B9I7DgXuGiKFPU+juAFGBOIQWG1vIFLHO1GMj7Z2E8YRycI1RRk4qxcOjRUB
203
+ NJV4QI4scqqU0oA0jHlzqDic
204
+ -----END PRIVATE KEY-----
205
+ """
206
+
207
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
208
+ MIIDLDCCAhSgAwIBAgIUceygR6j1lNbh5j15q1GRBLaqODwwDQYJKoZIhvcNAQEL
209
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
210
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyM1oYDzIxMDAw
211
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
212
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
213
+ A4IBDwAwggEKAoIBAQDXxvUiBZjy1HMvZuOEeXSx6ByH7NrLbdQargaCuhpNP1M8
214
+ B4Be5t+5UJK40oDpMrVNg5hdqIRGn6kH9j6sA/mNDdHt1d7alAIAAljSe1RXnk/o
215
+ r2znyAjnA3UpkQl1JT4pyPXfsE8ucIq4XcC66MWtKj5mVH2CWbPqbJbVqtvwO2eV
216
+ MC3G4x7gj3LCPxiTmGyt2v730lsMeShYN/H2ocZ1ZvFKDBInK7iLwycaM7GGaRkf
217
+ oXYodbVwZydd0DLMuumqml+6U52tWtB2mFYJeKEAauJr2h0n/QdBFRzVpDjRXU7/
218
+ AIGzHl6tpQys2fhFa+wAY4n4oSu4CHTsIiZLKWSrAgMBAAGjFzAVMBMGA1UdEQQM
219
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBZWLumeHQXOK9mju8KhC05
220
+ FvTz0X6osRIIu+B85ZBh4xh52xpaIe52xeNAzZ1CH7IKuLoQdSROWhLOEQu4YUGX
221
+ KvN+2/8D60M1WXtAXmQwX27ZNEVfCsveLVqV+KD3Eb6y7YsXzS+GneQInlP+b3+H
222
+ 3YYPfhKwqUjYcSsj9A3u0iSu6NM8Iefwl89NYN0Rk4//dM0blK17gcT2TiGNJB5z
223
+ uEXtvL3+78oWgY/nNbqcf0yHa7mjMwebnU5RQRs0gYIWnlGmqfctwSFgEw/V8Kq0
224
+ Pgau9uqub3bfFJ+bV4wScRnOkjq1h4KkQkHSqLOVPRK86fa57pQw4FOQyykvzD25
225
+ -----END CERTIFICATE-----
226
+ """
227
+
228
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
229
+ MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDXxvUiBZjy1HMv
230
+ ZuOEeXSx6ByH7NrLbdQargaCuhpNP1M8B4Be5t+5UJK40oDpMrVNg5hdqIRGn6kH
231
+ 9j6sA/mNDdHt1d7alAIAAljSe1RXnk/or2znyAjnA3UpkQl1JT4pyPXfsE8ucIq4
232
+ XcC66MWtKj5mVH2CWbPqbJbVqtvwO2eVMC3G4x7gj3LCPxiTmGyt2v730lsMeShY
233
+ N/H2ocZ1ZvFKDBInK7iLwycaM7GGaRkfoXYodbVwZydd0DLMuumqml+6U52tWtB2
234
+ mFYJeKEAauJr2h0n/QdBFRzVpDjRXU7/AIGzHl6tpQys2fhFa+wAY4n4oSu4CHTs
235
+ IiZLKWSrAgMBAAECggEBAM7ECAIh+v42Nmol3b8D457XHP/jJ4XoKGeoevSqAKol
236
+ FE1hotFNyvR5ER+qF31e6fztLQQShy5lsEPA4y1SYb+YjqGpX3N0gLYhiZuoMpoD
237
+ Se9eqq0wMdesqIi8QqPOnFLOD03aVQXbMhKZRCXXCBV3dXP5YouWCaGJjMASic8Y
238
+ WbbiQMByQ//ZMUqNADwKpmF35BB+r8RxO4+SEpUA6+n/t7nQ8KrVN6CMQaZMSCvd
239
+ PzYAk8o7Mz71+WJxgLcpMWQO/hdvJH7sDqFlFEimNyPrNLNLqmCSQoF2oPyA/DZy
240
+ PO1v/VpX94Fr6+eqBSk1SJv4MJw0ia4YWFHTKnyz9QECgYEA/qrStd7i8w0J9ox5
241
+ Awl3aZ518fr7OhsKJEPWcAkcdOo1Ikuwf1hOAE2npOD46mCKdxxKPg1ivJjPlNfD
242
+ 7F86OCbhjwhcr+Y1zkHeGtDBVnKeTreE/vm3K/k4cOyMfHTOBGd0UCQVsA6zB6ed
243
+ 4xQsods4H/s+OFDeWj6cHHYxZ8kCgYEA2OgIlQzGK33UdywxZalkPzYk6f51rz8s
244
+ 4T9OpjpnggZrIesU5PDjcwR/8WsRf3/8VFG9UX+m6G4GF1kyBrwfBROJdGDnW2zw
245
+ Yjl5PwOEOPe2K51fXgyhrYtUm0QSF1E3njWHtuXCO9sAcdznHDkpbrrrDY0NOU+t
246
+ C7NIF3bLCtMCgYEAjnSX8cyAP11n2VayypQdDCPr7jRrHBHMFoUsCvfNx0jL+CdG
247
+ z7VhzKGjyYNfOhxO2Fom3Zc3SDBizev0WODb/FUjj5Mp5ets5bfKuk1UGTt8eqQF
248
+ 7Wtan2qFvAVWgLgGFkiYs8u7pgRS+VE17LR4UwIB30H3iCEUgH7NbM5gzKECgYEA
249
+ m/VqhlEjBA57gBykf+ZmEBVMQXsW/yS7jlHIqTkBR7p5uW+gHGUgBYlMvTcw464Q
250
+ rkf/iePxDNpfQtZ9Y95Lp4i+opEyiMgxp06P4UEUByoFMCL9eVA3x+KQuPsezuk0
251
+ xmrS5C0blZIIJdahzedD5Tw82gd7ZKPnVqxXv5dIssUCgYEAhOLYFE7w6NdfFo5Q
252
+ wrwABNVHpYAfuQLoZe2pQNkWySiphjAr9sb+itN8gbR/1gUCJ3hdkwjJbxUDh3eR
253
+ pn+/k44oxXQZUpw1mkfU1PyH1DJ+1hQfdNnu0V62d1PQLmdQgzbWVdmjI8Us9LSd
254
+ RyAKeQittjiV/2JVbDzin50aL/M=
255
+ -----END PRIVATE KEY-----
256
+ """
257
+
258
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
259
+ MIIDLDCCAhSgAwIBAgIUD/plueTF8nkLakTDG0grFBs+OUIwDQYJKoZIhvcNAQEL
260
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
261
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyM1oYDzIxMDAw
262
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
263
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
264
+ A4IBDwAwggEKAoIBAQDcF8mA8F+FreurCbiCrW0e9t6QrME4w37dwoXxN1YamOO/
265
+ 15IVMCd4HJRiCp9FN6Z/MrZeBgVqzzZW4XwdH4EcIAr3yFkRo21mxvlRKPe70NJw
266
+ ZByFhtkzTo+Sb8drAbl4LsBb7obxWAIhZvMT/1Od0QH+7mhkSi11gxR1AI9EF7cd
267
+ bK85MnAuH4UXDM4w4fg/n4gFlNiHhH2gaF5xFwEn+Bksy/lxFA9lEXnOI4QSTeCO
268
+ UtTPN7q2Ns5i1tx1zLmQDFfxkaC9BNq0GFDCRvgvEdFW3VGN44C8TTBbXDucdAFK
269
+ O8Lmhvj59Re4ulJuEeHS2Z6BTwEWdRXFPQ2j1kiLAgMBAAGjFzAVMBMGA1UdEQQM
270
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAhakbfc0tiTSdyXNqxXMzZ
271
+ EdQJOupcHLuBC4rIN5qlV416r8H+sBKMJoKNUjI/pUHdGiIiM5bsfVqBYeVF26WS
272
+ B4VWaj6KG5t+kmp+DTjur1MmgKt2mgMtbeziCe0N34mX7EdO6JBYriGQcq5B8+S+
273
+ WVcM3JBsTi7ou+6+V0AIs80e2BpGiqpkTOi8Weu8f3x1WjSbGjFCck/Om1M67v+O
274
+ SJo2TXv1boz1yFcjD7Ha8qTzDSDRQQJ9Td4LheooCd3TSQ6bTG7mNDaYh7WT5Ra6
275
+ TOlbXp/CnnSsF67XY7w4LjPXhOKpGNriDiyq0/DeKx+3Ie0kSCSoQZe04Zm40+OO
276
+ -----END CERTIFICATE-----
277
+ """
278
+
279
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
280
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDcF8mA8F+Freur
281
+ CbiCrW0e9t6QrME4w37dwoXxN1YamOO/15IVMCd4HJRiCp9FN6Z/MrZeBgVqzzZW
282
+ 4XwdH4EcIAr3yFkRo21mxvlRKPe70NJwZByFhtkzTo+Sb8drAbl4LsBb7obxWAIh
283
+ ZvMT/1Od0QH+7mhkSi11gxR1AI9EF7cdbK85MnAuH4UXDM4w4fg/n4gFlNiHhH2g
284
+ aF5xFwEn+Bksy/lxFA9lEXnOI4QSTeCOUtTPN7q2Ns5i1tx1zLmQDFfxkaC9BNq0
285
+ GFDCRvgvEdFW3VGN44C8TTBbXDucdAFKO8Lmhvj59Re4ulJuEeHS2Z6BTwEWdRXF
286
+ PQ2j1kiLAgMBAAECggEBAKUzlaSayJhmu4ZefYhY9JdRZi3h/gbFduytniw5BQBh
287
+ 0lGlVZlh075sdVRB9NrXsrm3LvvUOSy67Ga6SZbyls6tno3ubCy5Jt0GbQ1mWs03
288
+ KT4DZwUy+sVwKoQYMu83FCgJr4lRuShejvrTc5GHDRRgVccs3F6q7wRNp4VLLj5E
289
+ ymUIRihgVbv+QveJly92+rjNHnmAojklu5FyjxoEERbR12RTsDpEYurdEABH67/A
290
+ C1ginviUORrQJ3EFNAbt2cHREhP09MlLTvOgmHP7bo++CfKmSZrxmv1fFUrS6fko
291
+ Z5jKzleszXILXhg5G5hJX/fn5STZWMG0/8+eBj4GTMECgYEA8MMCASq08UmWHE5g
292
+ lI/Bl2pdTQxoUIT8/QEzq8oqVC7PYpd2bNJKWb0tan47Zm4Mod0HwakPsdZmJeq8
293
+ k4gTfEXbVTjCkXJy4axtsQ7fj7q/Jz+Cz3o2ir/sfsb5S3zK8iWdsVGJRhaGRNNe
294
+ oFmC1O0GKNYUnp5J+/y7s6ZgYMUCgYEA6gXjZfyjOY02Rignlvbw8nc2CSVkggwQ
295
+ Pdjgg3VSyOTTtVgI4S/lU6f5ZwvWZqAntThcUL+5HbzA82btAPc0wqQv0xwGWB27
296
+ MB2b/U8hyOaqCveWJVAGxge7kG4VTzvACVmP1bN90V6evg+T9pnCAfERTLgZtyJ1
297
+ SE39wuzd+Q8CgYBjYVt2d9ZwsttPm9qp+B0FD1ar8y8r7XkwRkq54p1OWnQoUjUD
298
+ /lnKaRhSGQET6uEz/zSwb8SWt9U6WYa1rzm71moO53sI5qEdHju5FlaZ0ZAN911b
299
+ nyrcYxSP0DofOsfa5EQPaYSsdae+yTEKJ2il06DzQksInnYTmeMw6MBnsQKBgQDM
300
+ vfQSETLYsiPuw0jHuipZZ1SeMdm6MUWwZmMef/G6kwBp4qh6I0Y2p3n63o9oX+v9
301
+ j16swt/5FV+WU9E8jArb03uH7jfatcBEO1NzDd1X//5689unr1kNvkwp8zWviW3c
302
+ gD/nzk5gc7DcRZLFKAZlXnwtK9BLudj0Nk+yTztwnwKBgQDh35ck35wwTffrrCo8
303
+ lXdDGxqjH2spxuesSPf2YxTFShbV6BLDoQ+hVD+QOgByQQP78Qv+ATHEr2TOtV/3
304
+ TdTn5+PzxmV+TB16BvImbHFp0I5jOlfGO+tkI9IGNfnh7zuXbcD5ud51E/aRRXAs
305
+ 1+6WZaW9kC9W+BaaIgTvka1leg==
306
+ -----END PRIVATE KEY-----
307
+ """
308
+
309
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
310
+ MIIDLDCCAhSgAwIBAgIUGEsNvk3tP0A/OO8kzGApLrkPgqAwDQYJKoZIhvcNAQEL
311
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
312
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
313
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
314
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
315
+ A4IBDwAwggEKAoIBAQDfU/KtYwJBDRNT1ohOQiZyWS21uU249ykMPIUmryL6/2wf
316
+ V8QGoXSPapX1nDi5scC6/m9WBGeQkvytkqkfDCKXeQkcwDWslstYJrYQUL/aDnLE
317
+ Kd/EWkoFiQM2ALcPRk/v4W1s7e1UfZCn/LWRZok1mTvLhO7/ReanpQ9p7AcKgE7b
318
+ I2HCEpe6YT8X1eFWBQnsep3FqipKRTfOL3lAv3vd3ufahcU0rFY+REae5DKSyKzK
319
+ rlWb1CHUxEIHTHvUdmCRVkEBUfudbsS/9SDi6N4KHyW3k05FZ11E0iM0ugimlVAe
320
+ h8A968IFxcZj9iMU/WYuuOQz/xsrkie2VC0Un3P9AgMBAAGjFzAVMBMGA1UdEQQM
321
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB3bfnPsdtBRoQhCzF+TbF2
322
+ tJjl5Aa22Hdgkp+ew6X1l+BsOtSyKnWhfDE3Vc5ImWbwXCRXqh8R2GrlG1qACRFr
323
+ EoMr7XwYSMxF9BE/dsBNiVszs+cLoSmVKEzLdHMcdgptaJLbKRP+p3/M9qUgs6cS
324
+ 7Iuwl8mqH0ebCgSMYrteVYu/XPanmTRfHIWNIVa0S8Wfrcu1FY+UiVSRVmSCPlGS
325
+ HOsYKko8JKlLG3ZpKOJ9wDLGIbOEelqCB/ysYXbzLTl/qzbrfdun3pk4rL3UPQir
326
+ FmXo/0MLHgnl1qJpHCXsrTIpxzCR2+7KpkA31JrM01T+6FBGEFQBVPo6zIHlPLDD
327
+ -----END CERTIFICATE-----
328
+ """
329
+
330
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
331
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDfU/KtYwJBDRNT
332
+ 1ohOQiZyWS21uU249ykMPIUmryL6/2wfV8QGoXSPapX1nDi5scC6/m9WBGeQkvyt
333
+ kqkfDCKXeQkcwDWslstYJrYQUL/aDnLEKd/EWkoFiQM2ALcPRk/v4W1s7e1UfZCn
334
+ /LWRZok1mTvLhO7/ReanpQ9p7AcKgE7bI2HCEpe6YT8X1eFWBQnsep3FqipKRTfO
335
+ L3lAv3vd3ufahcU0rFY+REae5DKSyKzKrlWb1CHUxEIHTHvUdmCRVkEBUfudbsS/
336
+ 9SDi6N4KHyW3k05FZ11E0iM0ugimlVAeh8A968IFxcZj9iMU/WYuuOQz/xsrkie2
337
+ VC0Un3P9AgMBAAECggEAK0mbTU5WnoNJTsPTkc+yohF1EbdEQGjv9OY6LOBfmGUv
338
+ 8PdTELH05OOVA5FvUVcJ83Tj4bli1ZwYDBDUZSc2AUQ9puv+u2BTM9f1DD6KoVqR
339
+ lkJDlEyn8mC3VZ1X3kcTsXxxeF651Nmt01HhY7iLOe9krrMqnCJRbgdJcI+GYdtW
340
+ MQdYm95c3Jwwuvw1ePtEqaQ2SKoFwGT+k0qRHeo/waIwo2BNJEnyqdAUH5B6oa42
341
+ HwHkIldC5smV73hxuIlgiUmUAfy7My0YNef3KZAw8BZa9M79uYFPk5/n/2cRjEdb
342
+ Jo9mhKicvE5uPQNrQlwrW1VKXu6NOlA9pW3aDystYQKBgQD2iDAvGJmVZX5Vo5hy
343
+ KK7BoOTEEbjGguB4HyDrO20Gv2bFHI4XXJyz6xUoy7rTJfXLWxMgXct6K4ucgAhs
344
+ 6QrfEPMivPQH2vDCOTsNRCYUu7VvenUtpmvpHy7pUVnB2oY04ul/pq/EdpHm67eO
345
+ BOakF+WbdBwdBIHbkEuppKTJCQKBgQDn56A8iFJxNl/FdTA5m3oUr5sXdA15ahya
346
+ RkzWromATl+Vj5PAX2KAxoX0s0m77ECoDofHJLGhbs8Sc+Q1RUdpLxa7xPJVOFwL
347
+ dDP1ey8oV0Yzr6WK/0qXfwZ8YszmlL3h3BpzsmXHfcRlsrG6u5R01WqtaGzqLxhb
348
+ /skvCZQUVQKBgH3PkG9oaXBxZCCGJVUU5+IOntBkjtxXjAAhOqZxJDmOUf8DjIvl
349
+ il7S+HBiT8xTkfUeXEtnMmD9efj66dHSt+aQetPeg9bCZ51moXkqrxhjlrr2Tnhm
350
+ dql4bXNKPbkNMPIqXqjzQr3LGLg00O6cF6vkOhu0DGjOlQqcv9AqIqIpAoGASiZi
351
+ stg33CExsDZPTCwtdc3MfkxKPqcyLBYMXZyDNLZak7zL1nfpTBmuHVbyXZcl+VZk
352
+ DcXq0h5XMaRCtNHJCpXW5AUOIzeZHsRyFKzloDV/qekgunf0hspD7aO9toCa0kwJ
353
+ XTMOniHVmVrwvy9ZQZ43tOit4pdaZ5fpBhQ+990CgYAdeLfNGaSXmt4ex+Wg2A/n
354
+ 3yvHpLuSTWHEALREY9b3CS/8PMKxpHBShbrfPuBSiinOwL9Px8ZuEygPmyS+bjA+
355
+ +fjR1zprPU+8ujAt8Sszxb22DBa4vq4qogyYWA4Pt5OwiyW+uKQ76w39IdZbx06U
356
+ /HMX1zYDm8q2rO1hOvyQ/w==
357
+ -----END PRIVATE KEY-----
358
+ """
359
+
360
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
361
+ MIIDLDCCAhSgAwIBAgIUYuDSVIYA8huPudIdi0WG2abkweswDQYJKoZIhvcNAQEL
362
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
363
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
364
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
365
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
366
+ A4IBDwAwggEKAoIBAQCpomQtc8V53Akl8GGEiAmySQBqEdpHzezrfzmZULGkPHIi
367
+ brx5QAUpzLTaRQL8vTKls0wN2qjf3k3oQXB8NDuveUTuosms14KeNhSj2AK/3baH
368
+ aUCe+F/UnPb3ns/YLZltuGUzsf9mp8P9yluTMhUqLweaRG4rfWkzu8aug6uuKt5o
369
+ 5FBV8AHLLNe89WHBRDqR29BiQV7rrdfjVEPrlW0ZuVJ2obcp/OvXt6c7XEq/FgOG
370
+ r7qVxK9VELEZM2auH+wDHFghIdLgsbj3dUNOqxqhE3Mg3bKiTqxmrLsV15ZLQCcE
371
+ erJPLQsqjQla6+yGPOKou26C3n0ukdyWvPuipjqPAgMBAAGjFzAVMBMGA1UdEQQM
372
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCtDYfrHPXlP8OR62xr/Eve
373
+ dD+2Sl8KLDX+ekaV2p6GLO6+nTeD//8NFG7gh22LGBAyGYSKDcFSVy7fIl4iV98t
374
+ qXpYfC8PA+pXIhCI0bEHz0Jd/g0oCgtbvGs/1SGWYzVvvfrDunGM2d/IRLFtIwde
375
+ xNz661oFWR4UzbF16wPlxZ4S2BolgBAq9V3vr8G6r58/wfKLaR+kM11u3MupI/iz
376
+ z/b67IsYicnYf+r8tLs0NMxI3nt6bkMth4552GGOx0490faxSH2wvS8r9OhvHfh1
377
+ yzpmzqgcGJ5vVyzPcj0ADCe7USBsTF5ocL5wLpj5i1OWtGeuevkyJ4CUHOUn2l3T
378
+ -----END CERTIFICATE-----
379
+ """
380
+
381
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
382
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCpomQtc8V53Akl
383
+ 8GGEiAmySQBqEdpHzezrfzmZULGkPHIibrx5QAUpzLTaRQL8vTKls0wN2qjf3k3o
384
+ QXB8NDuveUTuosms14KeNhSj2AK/3baHaUCe+F/UnPb3ns/YLZltuGUzsf9mp8P9
385
+ yluTMhUqLweaRG4rfWkzu8aug6uuKt5o5FBV8AHLLNe89WHBRDqR29BiQV7rrdfj
386
+ VEPrlW0ZuVJ2obcp/OvXt6c7XEq/FgOGr7qVxK9VELEZM2auH+wDHFghIdLgsbj3
387
+ dUNOqxqhE3Mg3bKiTqxmrLsV15ZLQCcEerJPLQsqjQla6+yGPOKou26C3n0ukdyW
388
+ vPuipjqPAgMBAAECggEAZZdUqYfpH2bwr6D7thSGwhhIQD363P/twMfL5g7WpIZy
389
+ 0D5Db9YwgW0QbpvgAx8IAwaTKMToWFJZlBwE0s2xZRCagNRLNdFHb5rx14IZe3C7
390
+ zPLy+YHEWp+6pGefEFeWyIgjS8dxLriQfyC+oTPgSwgpZHFRDYipBYuSnJdMrRwT
391
+ KrBKjPjef4NDf/F2xUDZxi1BJDJzjog+3r964cdG9homLe2UvR1QKfXZnXxVwpgj
392
+ Z+x2I/tEGlVJ/rfWywddIYar58/u3xKvyRYMlV/OlmDQfOtuxRqPscNWiUJF91E8
393
+ BjjIZM+Gb4ndffvGo9/k92WwshQI2D1LYaUX44WPKQKBgQDfbGLp0Pc+VXUPt7/5
394
+ cX0fuwPWHlYoVIRMXtDT4G5aNUYm6kwukL2HdiQty+6zf55dP1WEnZr3bGlW1zmV
395
+ NjE+gn8iWcWsNo5zhZ7I1fPjEZR41hd7RRoTTPRfgy55pCa3Jxup8h5grzfuT6VB
396
+ oEgvbMPaNN6hQKcCVie8c1sA8wKBgQDCXj+Ao+EBcmFEcQFrN0nT6fD03/OkUWLk
397
+ 9CFG7koqlFjKnGMv8Nm2MMm5c3WUR9lygMboPQSV4j1VmcNBKPG/sA9MUTToT1Jq
398
+ oXWYkDuukW/kYoeTm5PcITHWKJtNatSdxE6B3Ck183sPQ/YDZ176Zh4TAvDU9H9l
399
+ wvUT7Hzm9QKBgQC+LzonxJyiMAZ8wbKl+IhFOWGzo5E9tWwEwnVK1nG5Uj4MJEeD
400
+ H+xl4hg776uamljJEX+PasWeNmeY5455yG60wkrMh9RvmuU5yxV16kI4GR/kmIHW
401
+ ieT/ZvNiVn16SFQ4dg7jZFmdfanDr4KB0ZmA3Tn+hiC47Rr9Ly+WCDAAJwKBgHcV
402
+ uYB+Z4g0ZQXC2uSuriwJBBlz8Nm3B4lRTeYgbw5hb3lLkbW4shrfD2jxJZPg5Ygz
403
+ ACsf32RZhcyhdbDBfkQ8gVL32huPJeaw39TGYdqVvuFFwN0eD9xp9hfJL0Wic3vp
404
+ 31PO6OzmLXpv4BW7ysRNtpVdUuKWnkthxDgdx3TVAoGATUxRuwlAj4sQutVM4nJl
405
+ Rn+EjohYj+5eQbiKX6PtrPBq35N+HBiW/Nll3DNQycQofWPiNfeMt5L0OzTwjOlJ
406
+ e/LWCQhKDlw+uvqczJtWR8c+YIJ1Q8/c75B9FU7ZDZBZ8UoX1Tj4V9N9rcY5TctQ
407
+ /XazFAYtNVeeJiw6nKXrMYs=
408
+ -----END PRIVATE KEY-----
409
+ """
410
+
411
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
412
+ MIIDLDCCAhSgAwIBAgIUN/JXfTKKgYd8tAmAAwPecG1x5qswDQYJKoZIhvcNAQEL
413
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
414
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
415
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
416
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
417
+ A4IBDwAwggEKAoIBAQDRq9bspUpXBycLMb0rLXGVMD4xnT9+VfLF9GD5EFVOCG9N
418
+ t2VmZ8Tvlq76G/5MI7nI/wf2E+Z5e46DFdsCwH3uZRja//eQQ3jhiNN92qPaHpZo
419
+ 15CXLRm0HUEX+YHTBCQ4A2evFhH3CkxVmTwJYEIfQUf1N8XRMTV+LUGdjeYJSMR7
420
+ GuDrRft1AJDmGEeECp9o/DxBc/Na6a3hSM6EKfVacXh3XZBuRtfXvArOiZw18U80
421
+ qzi905hw0UnsCd34hHc30gYMI1ZGnhafFQRzLQuIAzCQgKGZJ6S6mwY1Ovu8qi6T
422
+ vjGGzWc58yRv4SgiI+wMEJGcfDGEjedXnH5Sb14VAgMBAAGjFzAVMBMGA1UdEQQM
423
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCY5SoXBJC1OtM3oDPvrbD0
424
+ ziondPDLGfS3zOXZ224c9s3vV8VOfUtdamrjn3OJnip5U8jlTg16gpSOqNK62CTl
425
+ kgRtmR3tBLZmSfQIDB3SVN9OLWS+bpb2BtAdrUu/3vdP9EClbPMCO6lCDnjt2LBV
426
+ qGmfBl57J9p9j/2z2ln+C9AboGmJGlNWiu56kOYUCM3+WYSSAq56FCGpqMSzBvX8
427
+ 0q7lAy/dG07fVtnE6FSQ44nEmqY9zq2goy0F/w3h9EPXaIuixz/PnJuFhPHVZLZm
428
+ GmpR9Aqxnu1EURt0I/reYetoXB4oYP8b+3LtQ00o64fQV7byKNSrji6Nw6VVaCUI
429
+ -----END CERTIFICATE-----
430
+ """
431
+
432
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
433
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDRq9bspUpXBycL
434
+ Mb0rLXGVMD4xnT9+VfLF9GD5EFVOCG9Nt2VmZ8Tvlq76G/5MI7nI/wf2E+Z5e46D
435
+ FdsCwH3uZRja//eQQ3jhiNN92qPaHpZo15CXLRm0HUEX+YHTBCQ4A2evFhH3CkxV
436
+ mTwJYEIfQUf1N8XRMTV+LUGdjeYJSMR7GuDrRft1AJDmGEeECp9o/DxBc/Na6a3h
437
+ SM6EKfVacXh3XZBuRtfXvArOiZw18U80qzi905hw0UnsCd34hHc30gYMI1ZGnhaf
438
+ FQRzLQuIAzCQgKGZJ6S6mwY1Ovu8qi6TvjGGzWc58yRv4SgiI+wMEJGcfDGEjedX
439
+ nH5Sb14VAgMBAAECggEAU6Hkd74ymeYbd8aeOwPEY4q7tBSSB/WGgdlJeO8/54FL
440
+ zEcT5jYMArkrEE5sL7isWXUImuozK0/Sd40XL9DSKm4e7PPerqeLJwLpwTCd3NoI
441
+ isc5QGPX9dUZatO2KhJj1AffqqH2BoEQE7CsltzTYx4p8rENcbTcLnkkzBCWqiqo
442
+ NPJyGyyqP7iD5n0gWv+ojeXH00ktghop/oPldwIaarEkEKjURnZhiYDKs1XtPZP8
443
+ yNx1uXCcvpXTpli7++tROOlokqoqH4ZiX7OQo4GLwV/cW5JBeVz8/gg4oc3knn1T
444
+ E4h7rkmyMLwKeoiYGyx09bvxSHeJ4hTtjEiFA2CC/QKBgQD18A74b6E9UQndBHgE
445
+ uI7xufylsCbZeuu6p1HcbNPbhYnIjh6sknsul1FomPOLt+mWYXefldIAERm4nDVo
446
+ O6TAEilnozj5eUN6Oxl7Ri/HBJMAYhjDKBlUwwp4tGiJAjLh7ddpkhsQ2MmQuvsA
447
+ p2yEhxBrrd+gNybSzeyUoEn9awKBgQDaP+1ugSjEt7ay83L4ODcVIcKC+xhtIfiQ
448
+ H7rqHFrHHyF/dQNW1ftacDaSYexG2TsGMQk/Vd+hkVAwn5cr+t7mta3GZOSiukCm
449
+ iQpAX6CacDpgx6kwJhNpO5/NxlP1AGOPlbzL04shlL14LrvNhdDz/7fbEe1T0Mc4
450
+ 4LUer+NyfwKBgHsWSmfMdsZZaLZVJjw2olQY4XmLT+ZIvvIMC8xmKyITE4Jsnq2A
451
+ ImaPFQ9kfX/P6/h3j4cvVIr0BAuBIrmoICyA6ngUGM/DASKLsZUg64iPoYLvlbUW
452
+ vJbPhs4ifK8ViqHIh6cumJ014qus6TLKmGU7s9wwiVuGPsgCiAVas61BAoGBAJWq
453
+ LRoQfHKaQTFqfTb25d8Z7ZeAtXlxSFEdUUJl+2J9WK1dAtMznlCgjuvHNw5GvZE7
454
+ Y0oJi3fyfHk7l6FTQjQX9nkMizWEX/1UELGgYjRGLeJcSQt5sOoDN00Xak+i2qOG
455
+ XZexE8INi/i0o5kG4QnSHLSgEI3fqB67CblniKPlAoGBALhkgKNAIFriwetJUhGE
456
+ 7FD/9YtQUE2oGc4Ipey3zHgjzbt+BxCrNGlCNtxeqRKW9yy1amUUJMFptHlk6ccI
457
+ YexcFwMqtA6/fzs4Lbv18bRE14yVpmZILdrWk6AYPOF+3RiOiD7CFWDWV2sMxTyr
458
+ 2+6SbxkutiKAmAd+GQ2QcILk
459
+ -----END PRIVATE KEY-----
460
+ """
461
+
462
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
463
+ MIIDLDCCAhSgAwIBAgIUH0ogquGB4mndRRHavQuBPNDRMc0wDQYJKoZIhvcNAQEL
464
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
465
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
466
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
467
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
468
+ A4IBDwAwggEKAoIBAQCfuudKm7y0TVi6OOD54Ir9f0LaXBWRy+Xdq+0Jtmbc5TPk
469
+ 9XMgt4DP+U6KukAwSb7jEudyiHjWIeB8EXkQ6bVRPWUxo9CZtzPjYVi8yZhJnOqE
470
+ r5oSgiS0L45mEuhrVeero+K6QtMlU07UaZk2OPq+AppeYLexMDvexxx1yVf36mby
471
+ VG+o1s/Eu1RPLaViaF8Owjl/A3YgccKUSx+/KKYGRnSIaEpoXdnLbD6HfgLWZbw2
472
+ qBg+eiy6GGYVFTJ0CcnfxgTJQ5wN9je+VFEPvdJQpuU/aBZ/CLxI/BCqF91xRg/A
473
+ kND8+WqZI2X5ET+gnRuDA0SzNARyUx6ng93vyCAZAgMBAAGjFzAVMBMGA1UdEQQM
474
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBWOG1W4dxscVyJPt2hczoN
475
+ OOuS9uA6cHeqtRyXxwBfCxFMTBJn3nEnNFNt1CgLhyPQY1CFyf+8ZycaIfeeCqE2
476
+ +qHdIpwoFOF0usRUi1oH2Pb4F/62x1EERDdl+tDdVE1vgm5Mh/teDBmHZwPnAhyZ
477
+ rX3FAN/he6JXmZpQCuMazJ0PhcMPbrwtv2RBkFGneQamHYbTcsofQlecgRIcGRbO
478
+ N5nr1d6LGoBlGRNFJRcH+9VZtw09dOixh9+uzKHIhzkUpJWrfpZXGq/Zxjjhj+7G
479
+ z1LWzIV/uatBy6TyHsnHicPyc3dYW01OPE3TjsiFMaGFB2A38IcyqP+3PmzD5vwG
480
+ -----END CERTIFICATE-----
481
+ """
482
+
483
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
484
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCfuudKm7y0TVi6
485
+ OOD54Ir9f0LaXBWRy+Xdq+0Jtmbc5TPk9XMgt4DP+U6KukAwSb7jEudyiHjWIeB8
486
+ EXkQ6bVRPWUxo9CZtzPjYVi8yZhJnOqEr5oSgiS0L45mEuhrVeero+K6QtMlU07U
487
+ aZk2OPq+AppeYLexMDvexxx1yVf36mbyVG+o1s/Eu1RPLaViaF8Owjl/A3YgccKU
488
+ Sx+/KKYGRnSIaEpoXdnLbD6HfgLWZbw2qBg+eiy6GGYVFTJ0CcnfxgTJQ5wN9je+
489
+ VFEPvdJQpuU/aBZ/CLxI/BCqF91xRg/AkND8+WqZI2X5ET+gnRuDA0SzNARyUx6n
490
+ g93vyCAZAgMBAAECggEAMwiZW2oUyZqozZ7cqpmGbuXZK0Eelx2JTODgdCj2Bn+o
491
+ q++MIBjhLBGgeYx2c7csKQriLeLSkL/0JE/E2ZWCG/m8ujZ3sJUrG+v/WRoj8OkU
492
+ uN4OIPm51mQXYB+MaLbitSFAkHhHU/ahChbPH9bmrgzQ23SVXCRoDI6bVjrFQ2z8
493
+ oqb+Ct4o9GVkLBwdSDdFgTcPTcyCLLq/sof9B6V9SETNO9snfyaN3p2Oz0Vgd6Ib
494
+ tcfnodAHZIXQw1oo3az0SP6L1lR/Zag61Y2oz2Ll7KZpXQuoDIK1T7hFMCFEykf7
495
+ 6cfDGb3QeFvsNtIvnM53+ZHdMMqyFLxXx+sor25fjQKBgQDUzzO4pOpu1PuX2sQn
496
+ hLSed9UMqupbIC85ww29XazjZb9nU2kHAUSi/FYadCtOSNrtp0McYD1QbOJ/T3Ib
497
+ OkOc4pzywk0CY/EPJiuQGuBMByfAs/Yv4Wz2iQM1vZ8EAj44c5w0pfwlRnRIfHir
498
+ SxQP5eXnHUn2Ck7HncPVTtpxCwKBgQDAJeU6GqYkfAN2EEcYXKAoTxRjxhoCsV3U
499
+ caLqDpv9JMNIa/K9VCwKuE3i4FnDTB0o9eCeyGsiJ3dkgIZFeoZxL6TDR/b7iyRR
500
+ DYXNIg5gNWrfNJ2erQdHG5xqZAyEDYsYzFFPQtFHcrxcdCSZMBxPYcWPuoUxg5sX
501
+ pKRVnuXx6wKBgFHqjGM4ABG3pD0Y9case4ZAZF8i72Eya1tVrNVG2MUTpnDUl6od
502
+ n9kJPu+h5gWVX8h5SQkENrXdo/YTk73NWLdsN7PufQw9gk4tiDlJTyuU2YWBAHP/
503
+ 1xyzMuwd2LcHUgIS5n8RoZSLoTlByIVPOiLAgRXMnWq7HwYRwY87cjRvAoGAahOB
504
+ nLYhinq8Hm2WEijwcdBWXU58BYiNWD7zxWsTSokFFfIiK8tQFQryVJGufFaEspwq
505
+ yP2zx0Mqcl1RwwGFPu8icnxEKVIDVou0li566ToUKe0OJw82uVbQ3xsknbIsXCBP
506
+ swYcKul4e0HTAo7A0kIToulBprgU4tSNtIboQskCgYA1t7lDpzjyEslx1l7gCY1f
507
+ hVw+uFE3Y/ITxBvCqrTiUGlsepuKOixf2hACoyRgtq9bzlgOu7mL62um6rzSaxf5
508
+ j0RaNeZOSPCDrLGFXCRkcsBWtkyr0Xt7e8rNNJxfIkaOPQ4mRSFs1MfY7dLYTk+q
509
+ t93+b6J1Gj2wv6Bl5olceg==
510
+ -----END PRIVATE KEY-----
511
+ """
512
+
513
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
514
+ MIIDLDCCAhSgAwIBAgIUchZN2ld769tiYoK60GmFQF/Q1z8wDQYJKoZIhvcNAQEL
515
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
516
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
517
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
518
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
519
+ A4IBDwAwggEKAoIBAQCmD4gtULYn91b8jZo0/I0JUA6j3lbV40/ivqH9AqEoHiKY
520
+ qQMbT1IywATq0/oaawM0sz3JfPPWpRVMVHHXWZdNtSinnXheqraWJX8ZDLmMKhMP
521
+ srRgX1eDjY+brHB1+E/0BGhFmajopdv2RDlfjljh+J+/nFMqvR5m2Eap0m6peINV
522
+ m6gYloHwCfa/ieYsF+zpHJNX5t4Z3q6BiTZPwcmxF19gfS35ea4SEqW9Skvm2+o8
523
+ VbOiC0y9VtSl925phEn7ptefu2vT+QtgNVllMZ1r51s8T76bs/pVBUTE0ZSycQsU
524
+ LAgNP7luy+PepQf5JsGPM9M71idQudkjiNKRe1EjAgMBAAGjFzAVMBMGA1UdEQQM
525
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBAwLNxGGdf9VqeqG3RO5lS
526
+ a4B7k276NjG9Fl1Ys5BbbUzpSPwLunNGGNI0rhlY+uUZDCg8kAdwfnrMwtoTwH8d
527
+ ez0cYCW210Gdtg0z4X2L0oHkGMxJwsRvl7cp3v1k5R1iupFzdE4lUsxapfRrQeOt
528
+ JJGVVDdQKKZ86DuDMpanrBGUWl8e4b4/8bQS/8PgCQEJqkJjVB4qS9km/CV83D83
529
+ aeJVOvBlf1TfJgmxKvUksgnKUoN1L1sN6JIcWtVqe4qj39wmCZLIUaupFE0fmUYt
530
+ JPrsEwbkgm1PN+n0+gyV9uNwW3WFGoildZ/hCN0f9KuH2uz/LmnMpEmBMnnk/DAS
531
+ -----END CERTIFICATE-----
532
+ """
533
+
534
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
535
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmD4gtULYn91b8
536
+ jZo0/I0JUA6j3lbV40/ivqH9AqEoHiKYqQMbT1IywATq0/oaawM0sz3JfPPWpRVM
537
+ VHHXWZdNtSinnXheqraWJX8ZDLmMKhMPsrRgX1eDjY+brHB1+E/0BGhFmajopdv2
538
+ RDlfjljh+J+/nFMqvR5m2Eap0m6peINVm6gYloHwCfa/ieYsF+zpHJNX5t4Z3q6B
539
+ iTZPwcmxF19gfS35ea4SEqW9Skvm2+o8VbOiC0y9VtSl925phEn7ptefu2vT+Qtg
540
+ NVllMZ1r51s8T76bs/pVBUTE0ZSycQsULAgNP7luy+PepQf5JsGPM9M71idQudkj
541
+ iNKRe1EjAgMBAAECggEAL2NTSwszUChnLF8EWIaRgMzVwLGcOiFKFLyt4VO0xYwD
542
+ 92iTuGFkZZMiVBj10EAlhA56XVtJAkHN2CBo9Dle0hAWb+6iAPHadPJyWKWm9Xa0
543
+ RdCLZM0QXjwxdQ06co/P0STI1MPKzck3AgnqDXjDqIiYncdwfEvHtzWUxLWGWtnR
544
+ WZTjj9iVbStcgRgAeljtmDlp0RcaGURoWer63TbacOU5hRj3Uf0jB+1E1P+OPVSn
545
+ GC7qWZACpW12CNOLc9wbZ1WvzwRDby3ugXqo7EoOIaQUGQJlX9XbZ6p2cSrvk1VS
546
+ sEbGRaVLjgoOLupAegI6TUC1+1eoV7Uiao5jAZhxoQKBgQDZWMju6BYd027MHyEA
547
+ B2oRtXXuaBZy2KwYUaksGsVa70XriOqVn4AA9HxT5XWiKvngDo+6Q2Gd0/ov9uhx
548
+ i1XlWWeCDsHN5Ud0HKttOc3BnyOt3YmICUBqW8YLUSMYYNYCEm/ZQAXsPFvAjiUO
549
+ Wp8eh5fK+u4/t1Io/tUthrrsOQKBgQDDl9O4frcEg/hOguQEot3gOSrRlNQgPMFx
550
+ m3KTsLub9aWd3GljLDj1ExIGXJpHYm5P+mMU/IMiSO7CqE1gJObCGwvLqPTD21jW
551
+ +kM68mDXZXgQ87JxILYnLpQlR8AbJ63zxJUw2WMRuuqeVRDcdZ6MA1MqckVmjc3w
552
+ Q5JcTV3gOwKBgQCuDR2LxCvB4sl9iQgiP82/NLOmIZCok77tEqgI+79DnQ0/GzvQ
553
+ ahRVr3PIs55KKWRE+yQ6Iy+O9mwJ8Q4fr1cv/TKYwjyNJ6ja4QKey4VsIoat+xTh
554
+ 7Za6FZg5A9a49QMsUZtkPJMBpSxMvQgLwKJgDnGOSPh16dZPohMRDC2wcQKBgCi9
555
+ sFEmu9KJ9qfL5dj9X7/7yGp9WK4aWaTjXztaPcnfog6+wYjxxi9uOHvwwAYMf7PT
556
+ EN5nNp1mma0cR3m2VgaqgYt7dvhw8RFecbCOmhNjxF2rlUixKqAAuMUHLAG8AyTa
557
+ lsTlExi3WXV/fJKfQVYivykBQml5MiNQv+TQDLTPAoGAVNb5EodqcFnLoFSB9N07
558
+ D33n32H2XUKvO+TQU5Y4Q6xFz2SwcQAtOUAtpR/2vhxMML47PxhpveeePf6jwVZh
559
+ jFEGMGRMIalqyxy9sDNFr0QHDZExZopvy6axylLmm1DgLO55pP61P4CnD408F4sS
560
+ f+NKfr5p/QNnq3RB/S16J0k=
561
+ -----END PRIVATE KEY-----
562
+ """
563
+
564
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
565
+ MIIDLDCCAhSgAwIBAgIUa42MrlXu0Vb3u6bdR8DwCfMsPV8wDQYJKoZIhvcNAQEL
566
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
567
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
568
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
569
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
570
+ A4IBDwAwggEKAoIBAQC7oQMwbqJoeS3oiLCgTaa5ruJkb9tPKzPKwHSrRcyXsFim
571
+ wNp6dtw3rxT4i7Fa5gAe7Y4iH72pQYOVMfTLH+5gEciUjnhTZwilMi/PzcEbsjVV
572
+ UUr23RoZ5iLVZNAcUP8lcf1eSWJk6ohmA738artmaXdcjXO3gL/FVi5E8BG3n5Dj
573
+ ZcQ5e+eTm0CbsF0cBa42TjTyjr27/o1J79kmoHVVlZIxZXVJNMcnXHcMF68UQi/i
574
+ czEZdpby/T4bnU8e/fnXe94v5Tsr1wWtaqQp1xh4r+Ngtn6ovu+JGHdX5FGsnOGM
575
+ Wjnzu3gXm4BvSVq6R5OZptP8NPZELRq4S5RbZoCbAgMBAAGjFzAVMBMGA1UdEQQM
576
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCcYWvDW8WbK0OkXEDGR2DZ
577
+ yv8g9+Wtg77krCngqMnLcd33IBEqm5Tc02WfZCd786yj7Qfz1v9Y0qHQodibgfYK
578
+ FtN7zUMaovGltm8M0sP5XdQKh/UAjmvCtOn/qB4mYImkx5vkbTF38kH+wWac7kWg
579
+ 3ehxJ8Xsv6SLLNb0KQgrFt0HblVC5Xr0JfHLKDm9j4QmIjeE+DkS/xW2ERr+E8MR
580
+ iXgoWjbeXfSwvstAj3IRSN6Wh4gsi38unpC7sxsrCalRvASgkvaAykV20HcaueVq
581
+ BzQ1jKOQ2zKpAr0n4mXtrtvw/t2VNVRu+QEir8Kwm4TtTHsgaIuU/sVchYqDsKgy
582
+ -----END CERTIFICATE-----
583
+ """
584
+
585
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
586
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC7oQMwbqJoeS3o
587
+ iLCgTaa5ruJkb9tPKzPKwHSrRcyXsFimwNp6dtw3rxT4i7Fa5gAe7Y4iH72pQYOV
588
+ MfTLH+5gEciUjnhTZwilMi/PzcEbsjVVUUr23RoZ5iLVZNAcUP8lcf1eSWJk6ohm
589
+ A738artmaXdcjXO3gL/FVi5E8BG3n5DjZcQ5e+eTm0CbsF0cBa42TjTyjr27/o1J
590
+ 79kmoHVVlZIxZXVJNMcnXHcMF68UQi/iczEZdpby/T4bnU8e/fnXe94v5Tsr1wWt
591
+ aqQp1xh4r+Ngtn6ovu+JGHdX5FGsnOGMWjnzu3gXm4BvSVq6R5OZptP8NPZELRq4
592
+ S5RbZoCbAgMBAAECggEAdQI2YO+9rHVVodwMeguy270qRgRTug1xIRHgMCc5Lae1
593
+ wVgnZ5PURY2UAGPtWIhyrtbqenFc776BdntO85WYLKUqdypZ83kftRWVJ3xi3wjF
594
+ pc0qeMTt0BTqyDU0a1Q/qXRq02/kQpbYNPZEdrOA5p8C5t73uQo7ja7u7+LeyalR
595
+ aJz5VY46QICN1A3dqPhzs7DFbZYkv4wXIZTb7UyuXu+AOJDOJ/4sbTWQGHBMvYeb
596
+ dcU2Fskc7dfMMphvi22oEphS5Ez6HFkYiOyePtH3MSlags/TyKK4XF2U0YtZbHZA
597
+ TYem+a3DQh9cjwKPHPazGd7vTDolfgdschS27/kSYQKBgQDeqQcji7kAqIjHUFel
598
+ E/e/zzUVaOPQ/HAWMMcqaiX6ax42RUISV+4N/6qEWTbdVpuUpF+7COHHIVvvZjdv
599
+ tmNmdhVD+DFTTWjO9Kr6LxhHC85neSzV9rN1Dd765JXWpYGbi6oN1vzo5gjRYY/y
600
+ Hi+oBw/Sj8qaCZIythStLx1MgwKBgQDXuSu9vUK4uYVPwwLrbTncb/b0IK1aYOsW
601
+ 6fr1zczZxta5UJCicIQrC/JbPa5DaqqSSgkdRQn+/dXPYFg3gMY/8hDxQUMXwNhx
602
+ D+7cQYZLNftUkSVSgNIvDw/v/Bf0aHwrSGiWPLXCWCD6ziPasDnxzsjOxHZgPJQm
603
+ pj4czIzwCQKBgHl6CE4JTb6hNDZhi9+hPDpmZtSubBQ5lUFWDWMDlILB7DK5qGlv
604
+ lY4HnVUlgzxQowL+hsf4+Yz1kz3SK46EGEjvRXzWrLqA8hxu+dUS2pDwTQTA5Ig7
605
+ Vv8WuT9ydJktpL9i/D0evM6nqcnqC2mRtHhcmfJLxsIxVJTcJ/2wRbDXAoGAYIe9
606
+ qQPdrWdm3hA3aD3SHHAFo6xTphOkXvaIlCFpPzIYt4fzkJykp9aKtoVdS1GZzihO
607
+ 98gC9xWC7W8BSqTXEZoyNqKrcR+cOsuUaP7xJwqa0na4qrh2VRR6XzsBRR7UIVIf
608
+ asrz0mk5KMHBjYQ6CZgsh0mmZt30tW7CcISftHECgYAavwNWxF/Xjx1A4J0pKOlP
609
+ wz6yGSs6Cynr6IbMZh65zBKcJLVB5uQYJlJQH4cXkhEdwf2reC9BoJ6z9r2hldqC
610
+ lRWu7geb25N7uBo/e9XnHr7wIxW2iWsoITSXBquZdI7qSnJXHJCRFtFYFKW+HaY0
611
+ nDrLCA30oEA02+rthIp3LQ==
612
+ -----END PRIVATE KEY-----
613
+ """
614
+
615
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
616
+ MIIDLDCCAhSgAwIBAgIUICyWEmsr4MlpJdYd26hP/SeDpY0wDQYJKoZIhvcNAQEL
617
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
618
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
619
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
620
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
621
+ A4IBDwAwggEKAoIBAQCo9A1mRiRjlRDVdiu0aQjkJKzorb9LTNnlkWGIjTjoFOhS
622
+ w8+lxt4Ul/MQf4xx3KetsUT32OUOGy8RGOWhCnDI1v4V9QzvUWUniDLu7DKFmmHq
623
+ uvoW9LGVy/2rA19OeTu+rg5XbygTHnhfMlHwd1jlg7fc6eQlouwA+HtJ6yPNAgRK
624
+ 3i4IyqHsM/UQQpoE0hb0cMTSR9S+LlGsmL2TciPV00YYzGLWVYXGIT4OAtZg6rsx
625
+ FzxjzEDGIxqKZwh6O82L/nM+/bZz9cemdKKnJhEByxeErBotD81y7lrlG5PRNjzY
626
+ /1h0QhovQ1Qq0St8/JuJERWln+lB4hh3MtmChTW5AgMBAAGjFzAVMBMGA1UdEQQM
627
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQACE2BlPeJVC1dMaotYniTu
628
+ G7WsfsRbNaozT55kXwMQ8/SYGLutUZr7pqO7VwGFlEiIKD2nbypZx69Q7/GjMtTd
629
+ 5bFFtrkZcuTViaLARZFbSTAYeakp3CGrUanlJT2xLTFvu4HFxFCBzpIYGjhLcm82
630
+ spMaHzr7Ch9jZIlFqB8bHJcedEtOSnIbeetVNDnkES1JZCN8GBDpUmbKxWm5qfPs
631
+ WDG546VZbigBvsWDke+z/mcB7NkbasyXzzHqAdlvBMjo9ZHQZfvqB+6Ira0Hir+R
632
+ KA9hMtCL1MTX9Hg5+V8MZpoOi66B4q71svDoL/I/VjO3w2QFyt+2+Y2gQp6YfGdf
633
+ -----END CERTIFICATE-----
634
+ """
635
+
636
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
637
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCo9A1mRiRjlRDV
638
+ diu0aQjkJKzorb9LTNnlkWGIjTjoFOhSw8+lxt4Ul/MQf4xx3KetsUT32OUOGy8R
639
+ GOWhCnDI1v4V9QzvUWUniDLu7DKFmmHquvoW9LGVy/2rA19OeTu+rg5XbygTHnhf
640
+ MlHwd1jlg7fc6eQlouwA+HtJ6yPNAgRK3i4IyqHsM/UQQpoE0hb0cMTSR9S+LlGs
641
+ mL2TciPV00YYzGLWVYXGIT4OAtZg6rsxFzxjzEDGIxqKZwh6O82L/nM+/bZz9cem
642
+ dKKnJhEByxeErBotD81y7lrlG5PRNjzY/1h0QhovQ1Qq0St8/JuJERWln+lB4hh3
643
+ MtmChTW5AgMBAAECggEBAJB3tyl32s/H/A/7Lt3iXnbuoWeIgiU6PqvdR2ADGeDh
644
+ V9LFmr3vMaC8WVwHJKmL+1k7VnTz4tDQD8v31QqCKfSiWbuewYO1vuAxxxOjpoO1
645
+ gfq8DPMqIturBWqAxLMOWTbwEFVVOBg5GsaT+Zq8Aqimm8ZrvOktyc3+qzWGuiMm
646
+ LPcVTlN3SPWhiBFwAh0mRYkYUwLOXFNDZzDmK3G3ONdlIuyvRdvGZQc4bd0z6bsJ
647
+ UorXTjB294MsEO9Ev6+BEtRCpCnm7+rB7ZBmUaH4tDGDmO47inrWeU9uQ6roKHvZ
648
+ yIPU7DO8P5/YohXiJKXBtwHZcYTfproFJOQ9yQjhcDECgYEA3V8pSkFdUfNimcfY
649
+ +waG7m7+kZq8Gt1uFZ4ZWaO7zxsgzspENm0Ik4xf3U3yFsiNlCO4e0HWxNIgpDf5
650
+ kdy20aL3Ila78quuX4dxZONychzCalIJS7sMc65kD7c1ZrVHJTTv4xwThwlw65W2
651
+ WT+E6jeZ0wTecfF4NJQ5pyrakd0CgYEAw2HLZ5/NxgeP1eiQ2u/pNkGeDgRjjWTh
652
+ K2nCqlaRXeLD7KbzDxCPq8DFvFO3fV/EgtUGrIWSyrkKQCVGx5YaC14g/gJlXIOR
653
+ khxox5B2b/kjw6RydkRvlwvwdR6dVEN2NwDuTBzvLM4L4vMgnIJDgY3743TKRoWs
654
+ 6CIhg8Xh640CgYADcuEUzBHlHfKSTL+/oWlmu4nxwMRfcsWtRopEkD1zy4tmTVZk
655
+ tqwkiFJSA03bNwKlpSzRlsP+yvtBM7IKqLKcb3qEKW/CJxSPXm/Qz45P4szQlTiZ
656
+ 2m8mOjhK2mLVl8tk8/8svZo8R1RgBzQRDeFHONiHphLFGaryvsBrL0q6bQKBgEeY
657
+ /sDqfq2i98Kbhvm0EPIg+ZqJYTHfVeRizUM+leahwspmI4vRtdRqwAtTYlo/TfPj
658
+ vJ5cFH7VcDwxbM6W4tRnmg97MUnFrQKuBnebKMu/sKtxB8DvMzVW2rcQkPbgAeIG
659
+ JU0fDUaN+y0fi0PPOI2xSi0AD1/ofIRUfZOcYD3BAoGAJ7V3ipczlg0j5OQ/XT8o
660
+ TiJVzyBwQy0S3AQI9zeo9tlVfCd+BwnSdSWlb5AxLOJWBYO/ptOvW6I4wtkYNSLT
661
+ j6gSYVfRLqAbBVWydCQuSVAHhM4Fonqcis5S7Yd1U05GLsvpG5T7uqG5N7pgS4SD
662
+ EMu0jkyvnFmDWG65WRzbD5c=
663
+ -----END PRIVATE KEY-----
664
+ """
665
+
666
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_10: tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
667
+
668
+ SSL_TEST_NODE_CERTS_AND_KEYS_10: 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
+ }