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
+ MIIDKTCCAhGgAwIBAgIUeLxDdxR+RmiMMvvCxRfsQJAL7vUwDQYJKoZIhvcNAQEL
5
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
6
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDMyMzE3MjkyM1oXDTMyMDMy
7
+ MDE3MjkyM1owRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
8
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
9
+ AAOCAQ8AMIIBCgKCAQEA0Bvshi5y4VEw+k32NOOMFZJaraLoJx5N1WOJDYGqSDPe
10
+ 7ICPjz4IWDQN+yPrFv+ms+es3Ys8WOKEOMWR8U9mAxG21t+n8LH7NAMlCRNscBZ/
11
+ Si04bqfrBc3adznorQLtShOpYxEfRdu7kpHo6+D+4Av96qMpMLsPKiZWjjy9O3ai
12
+ oNzymj0mwlZ/1gaxpvfmvuqNNR9Kog8o7crLbp/x0ZPiU+Q0y6Kj4saZwu5Nq2cO
13
+ JqLn6ex8w576/UOAN4u28S3m2pVgoYkqGqJSXORUqZj38Ro0zAYywIHjiIfhLp5a
14
+ dhqDyf/IUCawltEzdXoOp3irYaV0SmAB8+e2ILZJawIDAQABoxMwETAPBgNVHRMB
15
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAchOBNfaAIoP97Lmyk/S4Hu94I
16
+ bGqj/BT6/q+UnWYcIt3UO6/d9a6WO7xtSPKiuObip8M6UQYVKQC8YecnAvXFwI6Q
17
+ r4z2TdGx2MjsxfQSNX0BYASlv5EWd3LYJs+Ayi2lxh+3XLSH+BK/7R1nL1MaN161
18
+ vAN2rGOo5J1niWyixyGK/jrKTtsRTxDcpFeIYdk1r/qGiY5uxwg6ny0JYHXYhSNm
19
+ AyADKnZoXw/kb6+mEHJHZaTR1JpNHkQ7azhNYyVMUseCi+5vYuzA2OoxSgBegSj+
20
+ 1fRUZI+j46hkr5Qspw9P++dDLzEGgarbxruRf6VsosU3sSYxq6LC+a9UHXNG
21
+ -----END CERTIFICATE-----
22
+ """
23
+
24
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
25
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDQG+yGLnLhUTD6
26
+ TfY044wVklqtougnHk3VY4kNgapIM97sgI+PPghYNA37I+sW/6az56zdizxY4oQ4
27
+ xZHxT2YDEbbW36fwsfs0AyUJE2xwFn9KLThup+sFzdp3OeitAu1KE6ljER9F27uS
28
+ kejr4P7gC/3qoykwuw8qJlaOPL07dqKg3PKaPSbCVn/WBrGm9+a+6o01H0qiDyjt
29
+ ystun/HRk+JT5DTLoqPixpnC7k2rZw4moufp7HzDnvr9Q4A3i7bxLebalWChiSoa
30
+ olJc5FSpmPfxGjTMBjLAgeOIh+Eunlp2GoPJ/8hQJrCW0TN1eg6neKthpXRKYAHz
31
+ 57YgtklrAgMBAAECggEBAINUe+kZuumyISR0uqEZ0Dd0ysC1A6hcGWZGkCDz6Q/z
32
+ nATIBNCypvVytDf+rMcwwnTaCV8uFQFKwYJKPBV6s7fQIABt2D+vMgXazi5yEYaS
33
+ y/V1oB1E3q4lAG8pHkrAhBqxWb3o+kFNr4uJhOIGdRHSv4SpPr8/7Qv+cbUFY633
34
+ xshNrE7kKfaZcY/VlnyID1EHHWnEwBQMbh3ljj5e3xgw/w58R5UgU792NFOHQ5JO
35
+ 6BIbCOclF4X5yVfX350n9oFc5Qest00JXxz0aOocMTLqtchv03xRjqdVW/NsL/Kl
36
+ jqTZW0OGdZRhotym4d6Sas40lEpdzSUpHrDwUMAKm+ECgYEA6LvZz48fQWNPanJV
37
+ Atz8e3lQO3SO+wY8Rr4S9hgL5kURWJeP3z4obG0itzolpvdKL94IxL6o8A7cXzAL
38
+ Un6oerfiDoHa/ZIfd3ko5ZdnAwWQRwzemw7EFrBW0fmy6FMrzour+qLYQTnJPQ02
39
+ Uz40zzPKFi2b/DySOeXL/knncNMCgYEA5Onf6a9LJqHekFMMcuUtTD3Zto4BBExH
40
+ 7sMc6a2zJXDNtlfMRLUhUy3TZkfkU03aeTvxdSV1M1SS+cc+sZWiAjd3wOVZy1+H
41
+ uuLRP1KDJ250g4/0ROZ2vfv256kAdBq8Typ/LGLmjVimnr2s9ZlaaJxNuI3KEChO
42
+ oWFq4DtcJgkCgYBrIOUu5IuXlrYcooo9KinSUFI9O/cA16rxSVcDDqiTk2FbrVBd
43
+ i4gh+M6NFuf0BkqQ5ByXK8gp0D1iV4QusfytmG0nDmEWbaesYAoSPPH+8xWpjuP8
44
+ 7fwXEY61UsImrPoyNhqw4Tq4M3hNcQJ7qNu4MPep4860edE5c2zGHZC6XwKBgCrz
45
+ u0D01EwOaV15R8ezOtmobVZ0tLoiugiR8bXjEs8+qErDlJ97wSIDYjw51xzOaeT/
46
+ m2HYwnH8N4vIl/noUrrJv52hK0UeyrAFaS/Rgqx+bDxXYYUgHT2urnhvXJdsgNL1
47
+ 7WDdudbhwHneqzp2KOGiGm87o6N+fKqJRe2HFdZJAoGAD//Jp7Hw8/9BA3NNhWAU
48
+ YubL5O4jututW1VGzW1TOmK3MvroJ3ip0vmop4zFuiG/pp5cNhDB56ablAW+s/re
49
+ zIjKmF79k/AXmrtXlm0XBRXBdhb3qHBF1WSUD63DttrpGdd0Mj6LY+gd+Z0/z1Yl
50
+ Z65yJ0/xVyaFjRGIBikb+90=
51
+ -----END PRIVATE KEY-----
52
+ """
53
+
54
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
55
+ MIIDLDCCAhSgAwIBAgIUFhEfo/xtdcjm/XhkbuouJaZUBEAwDQYJKoZIhvcNAQEL
56
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
57
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
58
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
59
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
60
+ A4IBDwAwggEKAoIBAQDQEygAVJgviM/8f0wuEsmCJoiNJ3gvrX8EckcllVXeyg23
61
+ iXiIadXqtCdPOXQlJHw2fZ838o/WuJkI9TsrtUkG3e+VEJKku3GtDez7gDufVZd9
62
+ e7jmqbO1mMwvpbFwEUzR9IumsxiOqDVAzSJIJGnWKhiOLYkXdKI4D+dyniEMKVFk
63
+ Y1TcI1huQngH+dBYujHlJZ4USOB+xVv5LfgrKYiZyHdKmRchIdhcjft5b7gBp38z
64
+ helydqA+mEU8zFqL5iwpNOALmije5IQKDrVHThIVmlg+G96DakoVBcpEqttfHb0N
65
+ E/oX3v0yAeV6IJ94VwCsSzndHt/KEG5PjsqQ60KHAgMBAAGjFzAVMBMGA1UdEQQM
66
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB63tKOcuBjL8tjnIlDozpm
67
+ t+LRcNiubKRc/rhTBYIoO6cTMN61ITe2FvogzNAPR/wmsaDO/sqG1oEHrrnJ7hXi
68
+ zNVj3GC7XYlqXvoRsCTdqoZE4ATPVZkJqhDx+/5IruWo1Q7F3nPzjLcS3mpwu2xc
69
+ Tl2HBEwCX2gTuG6lB5DUztrgGLNh27pqRLoGW4fzmVtHD/z54SFsQvPw0flYMRtc
70
+ qA/4eoWLvQNGoqsfA2F+eFTlXiPr/jp3jFVJvqixlwEN1DJkTi7hfMTEty7xrlZq
71
+ dZUmYxygqt4sy0AMbwCbemYJmvONlW8lN5GYo5NjB0BaMYsGMrehY2XHZg2npy+U
72
+ -----END CERTIFICATE-----
73
+ """
74
+
75
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
76
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDQEygAVJgviM/8
77
+ f0wuEsmCJoiNJ3gvrX8EckcllVXeyg23iXiIadXqtCdPOXQlJHw2fZ838o/WuJkI
78
+ 9TsrtUkG3e+VEJKku3GtDez7gDufVZd9e7jmqbO1mMwvpbFwEUzR9IumsxiOqDVA
79
+ zSJIJGnWKhiOLYkXdKI4D+dyniEMKVFkY1TcI1huQngH+dBYujHlJZ4USOB+xVv5
80
+ LfgrKYiZyHdKmRchIdhcjft5b7gBp38zhelydqA+mEU8zFqL5iwpNOALmije5IQK
81
+ DrVHThIVmlg+G96DakoVBcpEqttfHb0NE/oX3v0yAeV6IJ94VwCsSzndHt/KEG5P
82
+ jsqQ60KHAgMBAAECggEATp0+Osm7ahI9yr9pz+qHOeZHJ1WnQhRB7jMjEF8Yv4EF
83
+ p7eH07pw+SkxxOwHJtVfHNNfqaq6j7zVDR5iScRHoBGQKHjHfvfXHjQpumgbnrqe
84
+ 7ukk1fl+DXl6g/INVTMkHBtR/BykhZml7SLT9f/UAPeMqYMozbTiaV4Q6yw1fjsb
85
+ vPkaUtjveFE33f4sAWaJXMhGw0CaSAQ5UpU0juSPgRrH7WLot9TkR5KLldupoSil
86
+ bLG5SD9a00UnNpO1VKdkypS8xLtHRveFaosp4kJ74fklef8ZRSIdRwpoVbjJNcsQ
87
+ Yw5JevF68RS3/4/AQoHJUhrdjeWNWHh4cyB5LKQYCQKBgQDpaIsPFI+ZJjNBEeQP
88
+ 3rxvO2TTH9dIRsKgl1LyawaPACknt5lssHOFb7iT8eEg97PRq1TZMGbpdHdhq5bG
89
+ 276n3cqO+qJ4weC51n3n7iEreORROmc3gvEw19mwSxSmJnfiS/yyMnGvnqBY8F0x
90
+ R3ICitGp5AZi5rcN2DqcsVdtlQKBgQDkNuQ97C8tktfuVs3tjuv65Isg6rYK5Asy
91
+ Ksu4MqihpAUt2OFvFmqlDVSUshvtXro9VNZMkJav0zdu1YzBRK9aq7IImLSmnAJE
92
+ Hck6I7rp5SpTCNPqC/yNfL0cMktFzyMeNsVe+v6DYjE+vu2lUKUEir40mc/S8CE8
93
+ 3QMZUYzQqwKBgASj/nfLSduapdQ6XdVu8UIo5SVJccdPGNmGiLCnLhczwp22icde
94
+ br2NbhcK7RXxttKJXIOA8drcZO89MR89CTpfL4LOOuK5wBURzakJ1AEAQ1HWHm09
95
+ HjyBXiOiKoPvKd0G87w7QoViWv/Jr6CmMf8Y8Xg2P2ZB/gu5a9jnsbxNAoGBAIB9
96
+ k2Z1614qdl8gCpO9S4oYUWk4HUTmfpNBWzAbfax8r9nPaaXlJihF6CBMY8Ly+cL8
97
+ WCgFpIHcVzKVE8nhRSW00+lZKSVBY1k8uAZ/BYcZWwojR0VYeFqlJ8iPXKgyZuBl
98
+ EB1ZDiGlEHr2ftD8Jdz3zP3KuCNYxi4BdfQ0YSc/AoGAOkyeYVV/1iq0iuNvZ19Q
99
+ VeL/FEz/QLn98o7Et0wCp6VCsdQLOR+OermxF/5NTSBXreDS+YOSsc8N7Ds0Cvyb
100
+ 9x6E+AQu+0G+i4RsY1A6680O6dXAtTq9oiE6q2aWA2731J9lQlSDykg4PagAkpJK
101
+ D6LDXVuc+4onE/JZ30e0xmU=
102
+ -----END PRIVATE KEY-----
103
+ """
104
+
105
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
106
+ MIIDLDCCAhSgAwIBAgIUO/5znSza9Dx7FlysyCyStw2FDwQwDQYJKoZIhvcNAQEL
107
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
108
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
109
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
110
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
111
+ A4IBDwAwggEKAoIBAQDFUvDaklLh3JqASKA1I6H/cULbcPCiXDy5CTtXJUzSRc8Q
112
+ ckjI4pepWm2/qPKkmiW+6V3irdc1sGF5ICB0mh41UAu5338+0nuQ2n6LWChL4OG7
113
+ JNU4uBIbf5PXmlZhj8BHAfpAi0rvXIdlEUyVhDnjfnOnYK/2Eivh5gOvnmoHA9EA
114
+ BI1KCvhIdv9H4Vdrl+iFTL42hPe1X4TBRcg7HuFVZ14kzxWQ4x9Ep/tzzq8eaLSM
115
+ rlrRmBlrXMgN66ib65deEbuGPxVdHwY4OkR7hxal41ON6sduZ7d5ypHWGUwrT0eY
116
+ Pga4/b10/trBHGlk7cFmLmqTDVEtPMgrHFrtM4YJAgMBAAGjFzAVMBMGA1UdEQQM
117
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAk17NlkhSre6JbKzlUdYB4
118
+ GOddsueSKsnathkvevXLM5Q2zhY1GKdeT6chlflcgLs1q810LwyAvVD/A5k3jOZM
119
+ YxR9mQMAARuk1qZsxeYfu1ARZWEU77HJj2foWw0r5+1FmT5vCPZoqnINElXHMbuy
120
+ DtgYUjAS/31pqHtFKrqFAV3IruQyosYoVOFmKb419s+7ST6u+FQZpiouKKnSpqfc
121
+ 0K9+O4pcCvPgcrj8rTK5cxLeIYd7LwL9grxE9DrIJhsaoKUkwM4+tiimr+7OSYov
122
+ byhFnXiLH9MEZgJXtV9jwQJideTpcI7rdVFVc4+tEP9A5Prru6asNC2UsXbg4kZy
123
+ -----END CERTIFICATE-----
124
+ """
125
+
126
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
127
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDFUvDaklLh3JqA
128
+ SKA1I6H/cULbcPCiXDy5CTtXJUzSRc8QckjI4pepWm2/qPKkmiW+6V3irdc1sGF5
129
+ ICB0mh41UAu5338+0nuQ2n6LWChL4OG7JNU4uBIbf5PXmlZhj8BHAfpAi0rvXIdl
130
+ EUyVhDnjfnOnYK/2Eivh5gOvnmoHA9EABI1KCvhIdv9H4Vdrl+iFTL42hPe1X4TB
131
+ Rcg7HuFVZ14kzxWQ4x9Ep/tzzq8eaLSMrlrRmBlrXMgN66ib65deEbuGPxVdHwY4
132
+ OkR7hxal41ON6sduZ7d5ypHWGUwrT0eYPga4/b10/trBHGlk7cFmLmqTDVEtPMgr
133
+ HFrtM4YJAgMBAAECggEAMn+bbBRuaacPUy1C8tZ/quPNfGNW8fYxBBm8ufytwFJl
134
+ P4w/3ElBDvI5jAcssbtRVZ5bjJt4rCDLkTgLlkuq13H4zkTIR8eOH/AK2pZhGaof
135
+ msk+WBmjaK4po8+3s5gaWRHEfagoMUG41MCsnMcOGY5PAtLXtV3JJTK8VsFv2QNJ
136
+ DBofTjJGGwagy7L6qYFzvl44KXoW04Ue0njsSN2elGnovqUpT+kx+VXHeTB6kCMa
137
+ 6X7FleGRd1/It8awBWxlDB4+Krxoxn9L8aPKqsIxD4Sp5NvntJJdYr1dis4ixBlI
138
+ mO6qI45iCoqh+/seomWYLVwuGCgwbmjSM/ZtMq87EQKBgQD/TK2FjoDkrFPTqB1i
139
+ W2wyUhy5qZXDkSOgOl/yjIHAPpxtSbwxva1U609tsfHHg2oZKf+7FPxSCY4ZngLT
140
+ gLCaBaYyY4MJP9z0sEc1tY5OLLg4sgl1xS/TXHW1hm91t7UVgrGBr6FH5ScolPW3
141
+ SblSMqOFechgZH7B5embaFyjawKBgQDF3YqCBOb/E20Mc3GPKAqKTgV8SEZyBp+e
142
+ kKubp0IbIsB7n5P1g63qjAZNLYCImIbk8lEaYnHIlrjiN7+vX4stU3xKawtdNfvh
143
+ SLOOhU1oKjL1l7ddvhE2w9hd7TAiAKL6EE88SYVm9LGXFekc/SmmScLEjTzAFZcf
144
+ qChKRysNWwKBgDH/r2Aft4iRY11paE/R/c+hGzUVTFpfu21u4UmcUPD4kiQpM60+
145
+ K4sdBpJCLkrXptjEy+u0wXHDo0vLEVygsHWJs7HcoVYXZsuZFmkjZHpU8cNQwt+I
146
+ vcQUMI1bhcq1LsbGsMLoRZrR+yhMfA7oZl39wt6qKh8Or3CD+YtRFgt/AoGBAJzL
147
+ AsAnXFlTLn3IWXuksj2IuCYVK+WdxA0l/Sb6MpNIRZlxChFqyH1temzcGtejbnms
148
+ X4J18k6OyXFR1g8FukcvufVKwBWb+r46GzdcAMwDbKBbGk4pmIB6T1GW7CZ1tLBO
149
+ DkvqwtCkJLph/XkgUEnad4HDnhlkwn2uhkbeAIqzAoGAZGg9br+0lG5/859Uz2zO
150
+ Gu6E1rW1Qmt7ZGsqdfOng/bud8scpS4cWhwDQ1dIO7xvVYMUeLZ38YhCb+V2JKEa
151
+ rHwctjh+AEpMwtnqcldni6G/3zGM5jLiN0hfcfBiXW6RQsV+ExWVLioXp1BLYUXZ
152
+ nFuRXApgKMWu3IQk6Nhxx7k=
153
+ -----END PRIVATE KEY-----
154
+ """
155
+
156
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
157
+ MIIDLDCCAhSgAwIBAgIUBN4qin5jD3jO3rKq1yvO8YTCOM8wDQYJKoZIhvcNAQEL
158
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
159
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
160
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
161
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
162
+ A4IBDwAwggEKAoIBAQCkLFKcf8jK2dB0dVNFO8ULxmS+4939oXH/TSF7JiNmUxGI
163
+ WkPyUSgHQOatbhAK7Z91ZnmWyVrnGzXjccvW64uLLrLFA5mL4q0iiwroxPnaP0qv
164
+ w5ZnZmDgH/SPrzt5yw8ndagkfpxLekG0Pwbh4Coffg1VgEw/gqjv//moUTSQB66i
165
+ daNHd4bN0KVDXmycUdqI2ER5iqnDnb6Fi4DTQXSkwd29t/mRaHcQLrwiV58YqsBF
166
+ YcpE70UWgV7j+e5qYUlzJ0P6Te8QU1pjqigWoAuJNptq7E9wenSJ+7RZB1c+R+48
167
+ bBuQpoX+UVQfTHIeJ2NSKiMN8deLUhPj+fQrCp+1AgMBAAGjFzAVMBMGA1UdEQQM
168
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAccb5ZaUOWhp4FAwQ4iTfo
169
+ 5RHaPGD770BgpIvl5yKAmfAN04iF6GgcCvZP69m5lFlNuQNaz0kOTIY8cNvrksHF
170
+ OYNbm7aHHdCGKs8sjdXxrJrL07MwRsN+XdWIDECGQBIHmvcOeY3HLdxcGr1lSpuP
171
+ xdT79hYrYeMBaHF3RVItts6fNVBGFmA9hf6/cDEIRt6TDbfBy+PCIRQO3OxKa+ch
172
+ sIemO+3tJsyB6xJz+iG7lO8QCI3qtn02XoGM82WMjgJVorWMzTSoMIP9UWMECoDw
173
+ Q9zy6Fqy4cOWT2qduWD/7r+5e2jmI22wEU9LW3QlNt9XziVBGqnZEiKfOdnf3XdB
174
+ -----END CERTIFICATE-----
175
+ """
176
+
177
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
178
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCkLFKcf8jK2dB0
179
+ dVNFO8ULxmS+4939oXH/TSF7JiNmUxGIWkPyUSgHQOatbhAK7Z91ZnmWyVrnGzXj
180
+ ccvW64uLLrLFA5mL4q0iiwroxPnaP0qvw5ZnZmDgH/SPrzt5yw8ndagkfpxLekG0
181
+ Pwbh4Coffg1VgEw/gqjv//moUTSQB66idaNHd4bN0KVDXmycUdqI2ER5iqnDnb6F
182
+ i4DTQXSkwd29t/mRaHcQLrwiV58YqsBFYcpE70UWgV7j+e5qYUlzJ0P6Te8QU1pj
183
+ qigWoAuJNptq7E9wenSJ+7RZB1c+R+48bBuQpoX+UVQfTHIeJ2NSKiMN8deLUhPj
184
+ +fQrCp+1AgMBAAECggEAMt60/l8uBYT2bY+JLNO3W82um+OZfqSO4S+yJymLIIKu
185
+ 1RQ7J5N0FsNKdwS6ndhBZ6xIEqvzqdapnP8+zSqRQ6BFrnxOEKU9Ro3U5Ilcbf7c
186
+ kpfFO+biL7BXJEqE4FlGKdDwN9avcUfBoitBY64E/1scoJivh6Jh3HPxlPEMm2/2
187
+ 2sYJqNGdO//MQ2gAcLclv2DhI9n5sI0/nieAETBj1z20/0Mq0YMxLTB8s7ctr9UM
188
+ 7gW3QoYwy6vmHI3OLrEDS/4cmZpBLeHmeQ4fcxsNAENu6+OkCTgiVgoTEWyJdtPe
189
+ /4zUWrcbXP/fYa5zH0CtoyeB047KjF7Y29kqC0PjBQKBgQDSXCRpdbrin40TaESi
190
+ uoFp0IPIqYediEqPMbn8+6g7GUGwDC3HsJ58njQLXK7g5MA259HtVdY6AfV5o7mU
191
+ IR75WFfU3JVvmi24mucDMpDx1reUQg4s9xt8OQZL0sp0RZIh4DuAhF2LRL4QUdsG
192
+ qCDaGxY7gtUBz/o306U82d+ZCwKBgQDHyt0ATDSaoT9Ra+h8jrRvelx4ORxa05l5
193
+ /ZaqRUthG9aOHvZLYpKaFsnEHtoBCtKC+Rr1oIdLrXrKjq1qLTt693tUJE2Y/OjN
194
+ GcbU2XAhlb94UvQlg5e64fQLoiqLqr9Uu1iIF/PvXXghgYDw2qP0YpF9lcUa4FnS
195
+ xtJ602GiPwKBgB/U25mtu/rhA9sE8yXgrQaTC+4IYUIgRpAGiUtT1XAj8UGvhhnq
196
+ iwD2e4+glcHoO4HTcHvGemVKuJeQg9t7a5F1oczPGDnMDdEad4yPUUmXIS5pFHYP
197
+ anRQuLgujH4trOA9ayOWZAVYAJ69lDQcquP2J1YYBR2CGC3sc9uSaHhjAoGAO/Ma
198
+ R2mWa0OxLSxU8XMcn0q3DngMkxBlQB6go+zxBm2E/tY5jzs/xC7MUiXzwlZN/nDi
199
+ 7wtBLasbakZPsMlrzKUQA5p1Ek/pRwnSCLJKHDnD30X87njDAZelVAxP+eK9UJ56
200
+ nTOaxZtlXaBvYVYp1j3xbB6Rq1PggAeaxrJA3J8CgYBV60pCQ70fdW8zx2WhUX8G
201
+ Hm6Lq4qVg7/M2inTUKVQfcoFzdbB1VcJqyoESwnQeK4dNTk3dQ+Jy8t10J3GQAkp
202
+ NCTCo4Wpy4cC/odHpEUFZpY3+LPRrvxDUGGDAJgQeOI969Zvesu593bpJa0b+0iy
203
+ sgSPHcG20oNGqqeAspJS8Q==
204
+ -----END PRIVATE KEY-----
205
+ """
206
+
207
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
208
+ MIIDLDCCAhSgAwIBAgIUU/+7JgmNQiwRivfB+ypu3OtSTJEwDQYJKoZIhvcNAQEL
209
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
210
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
211
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
212
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
213
+ A4IBDwAwggEKAoIBAQDT/HGxRGnq6IATEXgdHTrT88mmY+JRNzeBnD9Uh3uwBkai
214
+ kJam31eY3oxEsQWVZRJ+Qsynr+VBgxFquNBnHmQ27JOqAH800oM1CC0bq4Z8ac6X
215
+ O1SjCdUQdaqpjScUNfxWgk6gG3e9KiuHcvyOezdIvPb5Z8Lgz1Wk53IiUpjOBRrL
216
+ jvBYVebvpAog12q8Flbf3Myu27ZsL3lUhVWpfl91sEQ7rEz3ollxl52Mz2JA1B2+
217
+ TzaU/iDctTQnRCk75RqDmVshnKXKXGNnClwZXtIea4mfVVJB4mJhwGvgsLRRj7eg
218
+ BM6E+jzBfz181Cr0PrhpzGJnfuOtEepby5F71GbPAgMBAAGjFzAVMBMGA1UdEQQM
219
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQA5+/o35BCJRvrfMIp311Xv
220
+ ybio+Yq7Jpp4wDOT+6XlpGMMIHGtDw3fYXhZeXDLJQ144reDOnLWBEN7of1M0NHu
221
+ Y5ccTVeYaepZnvncyXtgokDtPZjegXj96zs1IDr5JU4F3x7xw3+zppTAZCgGQ4A9
222
+ rMwwFjsm+fbjITR9T5fLppUSW1aTCSii3i0VBzGyXZlLDuCqdOLYCOX6WFtx7j3y
223
+ jQYZlqXqv5idx1BiEJT4vqC2N8elpmPsZ0TIR7xIFft5HvlU/U+aCO4NRetJaRj9
224
+ JK9D6Jt3shpKLbyJOfa7foY6LBf+qS5MpC3kTnfoeVNpI6DHKWKE6d5+au48ARy5
225
+ -----END CERTIFICATE-----
226
+ """
227
+
228
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
229
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDT/HGxRGnq6IAT
230
+ EXgdHTrT88mmY+JRNzeBnD9Uh3uwBkaikJam31eY3oxEsQWVZRJ+Qsynr+VBgxFq
231
+ uNBnHmQ27JOqAH800oM1CC0bq4Z8ac6XO1SjCdUQdaqpjScUNfxWgk6gG3e9KiuH
232
+ cvyOezdIvPb5Z8Lgz1Wk53IiUpjOBRrLjvBYVebvpAog12q8Flbf3Myu27ZsL3lU
233
+ hVWpfl91sEQ7rEz3ollxl52Mz2JA1B2+TzaU/iDctTQnRCk75RqDmVshnKXKXGNn
234
+ ClwZXtIea4mfVVJB4mJhwGvgsLRRj7egBM6E+jzBfz181Cr0PrhpzGJnfuOtEepb
235
+ y5F71GbPAgMBAAECggEBAJuPzGrWlpdxCNN1ZVyQH6R8aUU2VVVeHNh7Lao9RhIV
236
+ eO5BBpzslt6yqeKauUs5gYmwQXjoxmb95OEZQK37inUXxQDjHnZH6UsYdemxRJ62
237
+ Eom+W0zNoVJT1upXkA7v0v4037f0kDj74jeitR1l5Fr3eJHriAHrhKDfy0zOqh28
238
+ H/28PUKAP9QVP93L8WMySDdQxTSgFnRmCN1ZFlR48UiIxD79W0SrY9W4V/A+rJ4o
239
+ TLoNSB3XBWWJA2iaCqhSHFziU8WvUqFa8ASrVnz4fQ9365jM1M5QlaGEfWkumKc6
240
+ 7tX4CG1dYSF7RBemgEQuUKKoHmUxqZN+DqOFjrAlX6kCgYEA/pYUhOB1kdOs604y
241
+ J+UpbXiTK4Rdw+ZSjdXov56wfqvzklECyltx4m6VGx/8qVNnOHfBFFRvvFM0T9Lz
242
+ /DZZKhW4xuyZjeGz3qhcHICEdL1JIxpDyazb5KPGlJ6s+vqoY7GD1vObSzbPdv5l
243
+ yAmtn5sq2so+9pylki0o78FtbuMCgYEA1SnNuEJw7Nsq829FZzYEgwXL7HU/NbZ5
244
+ urZe3LEROeoFXFb6IZvMF2IT9yk+f4/pNyGSIWe45q6XlDQ34rMhrWrwy3BMo89l
245
+ xBBzdG/jHD3q2V2NrdkKc6jlaVbZS4mBpwpde1DYpB6BOPXl3K0+FH7jW/gaSyMW
246
+ cjmA+9vtICUCgYEA+Mdb4cUd3pTFA2P0azvq0cjjt8CviAGIZoXD3YyK2B3b9P0p
247
+ Bul5TlXVax5E3opb8bhEe0NPtO5xzhdMyQeq9g8n82u9WgJWrJxE9q03woQ99gly
248
+ eJ9see743L56Nv++kT0komaHOGalMZjDiUi7253bsNW11XOZ8FAlErUn5RUCgYAX
249
+ D4iz8GwrE6LX5yfI/K0MR6pCEIUgGHee3W/xzC4i59BgpwA0dphjxzaFvK6IOldu
250
+ oXEfsAru2eCIJgYNvndcPX+DYsjHx/4ocecrp5cYTRKFJXvYXOymipUXClBDvcKL
251
+ AbIPTzXAu5QbR27wqsVWjkumfXbKvicFgHcVyDslCQKBgEtHDzYjU1dWeo4MXjs8
252
+ e4C7I0pj9lPvrNFjtS5WmtpeupjdVzuPqTPRmtXk3EDFtkyklUYR9zoHxghDPeen
253
+ c/mzkwTj5tsjM4FByYglctZ4yr6hmFMFxM67fTSrKYRW2VWqFYa0eUVvFI+1X53U
254
+ EUKm1RKG4TkGm+pSLJEhkeiQ
255
+ -----END PRIVATE KEY-----
256
+ """
257
+
258
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
259
+ MIIDLDCCAhSgAwIBAgIUbgDpFoeaeAbCjZcmf9YI/M3IB1IwDQYJKoZIhvcNAQEL
260
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
261
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
262
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
263
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
264
+ A4IBDwAwggEKAoIBAQC4vhXYgLWi/5xCrTP3efRW65MPn/vzynsCul7dya5vmTiO
265
+ BZV2BkzUBRfZygARIUy7z9VsX22c4I/xRtJUkjAtDaSw02bnlL0BZSjZg8DYWjZO
266
+ woO++FNweJ2SxvaPQypDCyRQuiIMGBcsqMX89owC2y0cQtYbB8kA90WXNeaSXXzB
267
+ WTpPd0pRDx+VOs60hGIfH5y6S/MkgDPHLkXYCGMqRK0vBbKr9yWq7YNkFmgGd6oV
268
+ qAspX0ykx3KOiubBO9WV9pw6Tn6Bzm+5yD2E4p+wmR6r25MEHExB8mzULoD3wQWE
269
+ 1xRQDZ2dF9dr0CXSnDlOpCf3LcHX0z1NJzG93/M/AgMBAAGjFzAVMBMGA1UdEQQM
270
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQC7rOkhmH/14hXD8dFxw7fv
271
+ MBE07KvCbbYxoupD3pUIHO27Nuwy1ZtcppHB1yLztFVy1gk4u5HfRPkliVrsUlCy
272
+ IQ6JiWl11TU9vPQHU6ZxAVYrmS4UhxKjOVQWJ9ZXHcQWamNZS31uCfEpG1AvLcQp
273
+ rP441aWGVl9pn4DvYCcrGA9iOIh4t4+IP9KdcehXwf5aIip6j7FR7lRgoS65xx18
274
+ aekW99yqzJtyqtx+UCn64a9lGFlCvzdUvh1N8qtv5O1FGC0u5erCkTpdR4mwbljh
275
+ Wl7fa/81yeoV1PM6sHrp3mEK1qY5yElHIEKlsoJvnoy0GRJXY+bhfEcZVEDvl9rW
276
+ -----END CERTIFICATE-----
277
+ """
278
+
279
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
280
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC4vhXYgLWi/5xC
281
+ rTP3efRW65MPn/vzynsCul7dya5vmTiOBZV2BkzUBRfZygARIUy7z9VsX22c4I/x
282
+ RtJUkjAtDaSw02bnlL0BZSjZg8DYWjZOwoO++FNweJ2SxvaPQypDCyRQuiIMGBcs
283
+ qMX89owC2y0cQtYbB8kA90WXNeaSXXzBWTpPd0pRDx+VOs60hGIfH5y6S/MkgDPH
284
+ LkXYCGMqRK0vBbKr9yWq7YNkFmgGd6oVqAspX0ykx3KOiubBO9WV9pw6Tn6Bzm+5
285
+ yD2E4p+wmR6r25MEHExB8mzULoD3wQWE1xRQDZ2dF9dr0CXSnDlOpCf3LcHX0z1N
286
+ JzG93/M/AgMBAAECggEBALOuvhSrav60WklHqOmkxg/cZFaoJigB4g7PMgHJbU3B
287
+ 2w3XRH1ct1Dn+0CqhdIjbzykclJLppMUnyvu1BfJb+4B/RK3KrlHI2W9/DNDQEet
288
+ xnBoJDeT06PqzGe7+IdyriIzLgkOYJseuzuGk7rsGVWV05RPNWto8Qltd1QQ6sej
289
+ V8y1bBvvywhhhMi1fxr+s/nC4mzURpCJUdENv82gaklf192uIvB5GCLum91GjZKj
290
+ VmgL/3l9A0Wy3Hwp0xdOPxAoeddXks6d0yrlfwSa0AIFT8GNyuOKPRgCHWDjg1FA
291
+ 3iOYZYQlmMt1OzKgTm0juuwK3VAao+zuBZPslfSs2CECgYEA9Z+NVCSfRlN6vvrv
292
+ Z+tiEBPMfKlf3Bb5K9QxLeJ3iGoqNyH1DbBn63SWukpI60qCE0HOsWazwI+G4DLj
293
+ XsGaa4DodEVqqncBzS4DIDU03xBo814d/X/5S5vW411o3ykDhbyoq9Exvt1UlDaC
294
+ Ntyv8AunBDH1Pcz1fHL2ELKgaSkCgYEAwIwZohhzNp4xX6NORRJh0hILWu20mMXE
295
+ Qq4xa83BqNqmXTmQfD99O39RdwSzL5IExCQCtAfHXDs0ZuQE1p98T7PI9xSOUrAe
296
+ iLHjlOerCPhUiFr2s1XE8Nkh5qz6nOFyaCgodbLXB+UMiAGR4hZCvxj9BZa+35Cr
297
+ egPUw+U4PicCgYBJwvVtPGY8d1tYOQFmQtC7JUb2dOLdtGR1ng56yhS9eaxdzCvM
298
+ RZqfoe6V2TMWvdRcNhn9Omtmu3N0prOTRC68dATazfHfaUe4N0YnCPNsvX/W/f+h
299
+ nineY9lfhDC3O5jcM7CvkG4Q9GSu8cOe+B05yDYK03njakaabeepUgtMKQKBgHRf
300
+ uNZppKjsL7c4AoRoucq3sTlB1hdH4HjUw3X+o/+kN0y9EACods5RAzHGG26y+EJ7
301
+ 6U5aLTonZmKRigMV3ZJmfR4oxGRhofLIYV6MLql7Pcwz/kshmahf88dx4P6UnAsr
302
+ ylhowOI6o7pICJ33Clxpg/Ouyqpgy+MxEZVcowOdAoGBAN2aBN/UZrisEFeVzTVu
303
+ FALP5NUPl6gobaPLTh4zFf3gJqArivZgV6EOcXkBHJgRkETcZl9dFVH2rJbhjFbN
304
+ beT6eWgATdaoptZhuYuqNl0p36mkCFemB8bsU8h8MlfZVwBGcJHQKTFcXp//p40q
305
+ DSUp+S4QDmrzcKn0dAJVeP7d
306
+ -----END PRIVATE KEY-----
307
+ """
308
+
309
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
310
+ MIIDLDCCAhSgAwIBAgIUcSw+1Ww+zDNNx/vNquiiebp0nRAwDQYJKoZIhvcNAQEL
311
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
312
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
313
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
314
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
315
+ A4IBDwAwggEKAoIBAQCj34tYd0hFq2vNzARK5oT3ZU9MX0GNLidDDBPpDkXEYZnR
316
+ yVqdLe61OWuU1dY7Imdoc72HCDQLEd3bV2dux2jE3ktHP0zELRIucyhBJvx5zl68
317
+ ZO004prWYH84O1GlTHsz/OQZeTyN8detpOgEmjZYJnPOWoMW063r5YAxfZ5BRdlx
318
+ MTmnJjLIxX2q60RjoVZXNtl5DOOxnYdGX6w5L6KXMr/A/65AePP1RYW6ugkQwcKA
319
+ +PsAbDz9T7qDmgu9gHcDtGUg30ua6kLgHPx3ZrL5RI9KxfP9l/r3TEXg1XhlVyv9
320
+ ogb12SQHitHR9HFcs2y1CraEw7HGTTfn1wqbqtzFAgMBAAGjFzAVMBMGA1UdEQQM
321
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB4Z7WQTY5irFfCZzVsLjpa
322
+ ntAiAe/EdaGbx/12Hy07efLQ29D7eMWOvjjlDUjAZFDefH6SPB3bZXY5rhY1qHnC
323
+ 7l3Fut2SqToPy4/8m895GNOtvPJQJgw3nUijKA4k+tSdN9XZz39sDYGKzHPMuAk4
324
+ D0S6MWIrT00zEUMJMUoFfCF7W1II5phrlAZTczdEiXo3fn6nSgsDXGgZS6Y4QXh/
325
+ 5HCPCuI/F1qZWK3eVdrrQaB7u2LLo3+qfku7unZ7+/EgomRL27pMukrL/N2kGU0U
326
+ 7P8mpcs7j+Sn9POI9h2fSbB4IElbHP1AM/mTfLc38bKQNt1bnXzMKfhnOWHshBrm
327
+ -----END CERTIFICATE-----
328
+ """
329
+
330
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
331
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCj34tYd0hFq2vN
332
+ zARK5oT3ZU9MX0GNLidDDBPpDkXEYZnRyVqdLe61OWuU1dY7Imdoc72HCDQLEd3b
333
+ V2dux2jE3ktHP0zELRIucyhBJvx5zl68ZO004prWYH84O1GlTHsz/OQZeTyN8det
334
+ pOgEmjZYJnPOWoMW063r5YAxfZ5BRdlxMTmnJjLIxX2q60RjoVZXNtl5DOOxnYdG
335
+ X6w5L6KXMr/A/65AePP1RYW6ugkQwcKA+PsAbDz9T7qDmgu9gHcDtGUg30ua6kLg
336
+ HPx3ZrL5RI9KxfP9l/r3TEXg1XhlVyv9ogb12SQHitHR9HFcs2y1CraEw7HGTTfn
337
+ 1wqbqtzFAgMBAAECggEBAIVpmj2Epw8pVxPts9TyxW/QR/XqWyjAWXCJZbBIUV5n
338
+ A1666g2q9nsN61r5mHb+NGfiSnujnxMgEZngF7IloFMekvTHQQ05kGLGmBAq2EOm
339
+ UpRYKpHyppI/b3NtP7QuhuM1UNK4VCdPrAKPjeEpV3L+oyttnum3nhG9/1bLaUrD
340
+ cJIu432eKPLNF0jdjtCCnuPmZthOh1qAETCtlQ3FmBnUOu2XVwY6kXMOFh8iA4GA
341
+ FMxx8MmHtAeCsY0ESp05OeAE3xNysrSMZPrhPPGtrvKGbImYJrmfOT8jdlncMx1U
342
+ bvQj15qsf8y6QjWsfgGYssoWPLtcZZGzXdwQp7jpPeECgYEAz5FK5Bs1kFjpBNDl
343
+ vSmkbwLVv4tPX5Q4WVafLA02AHfJznXNNydM0X5iQ1FvSrdUNx1hbHMytTQX/fRQ
344
+ Q+rHdCC5dnhhiYACUTgb2Pc6Vtfn0IASaen5pZGr2wDF3PND68afuJNaQM92B/yO
345
+ xKbQFg/810qTnvBLyPX489zYYbkCgYEAyhw+HHxcxTB+QJl5Y2dosdkYxtUnPiUL
346
+ zYaVpot92pHZ+K3FlIH1gDI17dITcWVOGLyxbUPsLG4apBEq2qXxeWlmGKT2AZi1
347
+ 36+uJwXZSI7dzY4pODkU+IdqeHxa1gIRHoBDB0BMqMhTITnBL0Ke/3rGDQMhKVzC
348
+ WI4VtXjHyW0CgYEAsyoNg9G8rWkhUafi9iHQroW67MgZ7j1pWiv73rFUkJjVV+G1
349
+ Dktc8mNt+/952ftetOgmZM8W0PQzVWCiO82W9jUdARat0lrtJSASYXgdIkLg9Mbn
350
+ ngZ5F6IivjnvkGVmlkhvK4n9WH36urAUp8f5S2HndAoKXCG8uK0gg5Z4K/kCgYB5
351
+ 1HZ4U1rUnrusExeCHSaV9kiiKoDiTBCGTndNEk7F/x9GcPFl6MTlBt9NQVHpC+j8
352
+ rlnBhK0Lxz8V4SdU76zUw/0AJAgKxFP1x3+SFEt7GmuHagdc1cPXYEGE6WkUEeDh
353
+ 4u0EpPTQ1RiPMbJK27zeQdK6q0VFGp4oJVXeszSzLQKBgHlC8nj9NKpaFWh0zoNX
354
+ FKdjOgXvsTe3a6ZbjjQe7yCsuwMmsDxIExnRYowTp9dxs2benh5hn7aw+IulV/rD
355
+ YmXKRj6wNr5LUy0ECSAfAmpMilAN3R6BK+ySAIXL63iKsn5fc6i76kREUc/9wyJA
356
+ YAy+y2CnPvr/gJB1OwB6NCwx
357
+ -----END PRIVATE KEY-----
358
+ """
359
+
360
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
361
+ MIIDLDCCAhSgAwIBAgIUcr5lcnpo87wW1R4tGOd5W3U3m7MwDQYJKoZIhvcNAQEL
362
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
363
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
364
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
365
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
366
+ A4IBDwAwggEKAoIBAQDFYItZq3rmZTSdcJK7m0sPbVSyexV4mIVkR1JLSYDkRUfC
367
+ xWqPB2ZY1sc6a+Tns/0qVOEddjfD8j5GrRU1g9VluSnKp2bg9NgQkqTEuyLDPF9C
368
+ iP1JOQudPSPQTeSwyOk2bQQ4LP/nRZXzZ+NnAEEHTkTD7D6LvFTGrIEShLIqxHdY
369
+ 5EeFXF3zTpp6LOQYii91joqN6i4BUbbMr6MoRIgVUZeEdmKPHkyaIg2LJ+HiqrNw
370
+ xc8Yg1ksRBYAKBbPptLsIPXp0T5ja1SUEUkyDaFclzZnAfQhB57+0VuA4/pIJcLV
371
+ 9p1avjw1PyrHqV48AGB/NqWA/+4kXEkZ+DrrY1D7AgMBAAGjFzAVMBMGA1UdEQQM
372
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBIvNub05nXZoxHcysNf39o
373
+ DudZ8wmn1urJpYQQUhFfZ7eGyTTgNiEI9Mz+kVK9f+BR6ylw5yDGpIC2BY2uDdR3
374
+ r+y6bs2loQzfIMWAOEsx86zMG1XmYj8zQ7pjZ/AOInu/Cy/w6AwNIt7U3B8+nZEA
375
+ qPatVOMPh0yWJ3CGjY3lP9mjhREyUBwBsUOq813JYXLsq/euFm5HPVptYf70Ms2Q
376
+ 3qkSmyZFozJbW2/wqsb083kJ3djkVliqSDVQ2TnQCi8PT/9uE8LfMTrnWbVZlTO3
377
+ hxByAQAco0fiTQ7BN74FuhzqBLBadcnQ6HnWe87E/0OI9co3+vJR1H6xHSebJ9pu
378
+ -----END CERTIFICATE-----
379
+ """
380
+
381
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
382
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDFYItZq3rmZTSd
383
+ cJK7m0sPbVSyexV4mIVkR1JLSYDkRUfCxWqPB2ZY1sc6a+Tns/0qVOEddjfD8j5G
384
+ rRU1g9VluSnKp2bg9NgQkqTEuyLDPF9CiP1JOQudPSPQTeSwyOk2bQQ4LP/nRZXz
385
+ Z+NnAEEHTkTD7D6LvFTGrIEShLIqxHdY5EeFXF3zTpp6LOQYii91joqN6i4BUbbM
386
+ r6MoRIgVUZeEdmKPHkyaIg2LJ+HiqrNwxc8Yg1ksRBYAKBbPptLsIPXp0T5ja1SU
387
+ EUkyDaFclzZnAfQhB57+0VuA4/pIJcLV9p1avjw1PyrHqV48AGB/NqWA/+4kXEkZ
388
+ +DrrY1D7AgMBAAECggEATrtKGsS6S3kHWd3zyf4SHN9Br8hFMku0ueFxRDLXxTaV
389
+ f238KX2MJ9fUtMshDgPP8rjU60miyPiyOsMD+MrTrrYDo6DO+uDv5vx32TnEjhhg
390
+ 70txrWmh5mDjDk5j8NjTnjAyRK4+jeRGAkfof8esKNvhtj1gXaEMOAvLmLVx1HjC
391
+ xaVUJXY2QtBJiJ89DEYdjiNwMZvJQ2FjTBk16d7di/Ntgtokm0hJfb0r+To99q21
392
+ 67yC7QCrPE0slrnWA/Ks0WOaWPiEuG1H9PLvlPqUgByIuRbSezAJvdmBGH3EaABL
393
+ Ir2uq2sRWpb6YbhMJV3jlorWzzcQHGzdEU5FxnOacQKBgQDhJpCkfQXdZTtpAwHD
394
+ pP6NCtLAmc2URLa6DINKstfsTG7W1WCvPjIfMCsGDXEfIqcdCZouuUw+jBwOEK0E
395
+ 75gL6P6AZqT1Rtp4ltHi9xW6/aAcNDVap3XC/GhXUWcI021r9PAoqhB8RlqxMSrb
396
+ 3iL2StulaHyypHrV0SwoMBX85wKBgQDga8oDP2OHdWRe/hWWC+hzd+eeHH80RfN3
397
+ nVNwEWnzXMPfMfUYnfttQwraObYkVbU9grQDJUQlQD4xYQhK3uU6uMjWzodmTdey
398
+ HRCp2/9Y8D06sbd4nE8fgGj8zUdZUbvahYO1uOg5WJdgph3bXaEpN1QIyoZpbqLS
399
+ RYhqMVRUzQKBgHDZM4Y+Y8IkCzMHHstA15U554hBjpjSGAQIYYX/PdpiNOvY5yzu
400
+ r5CSQ/40no5MgBY9ydnBZkWzVBx4nz/qFvthPK5+xA9sA/SNI4Xu8iVXGfkI8fUO
401
+ Gigw+ttJIat6zU1e50B6fOjNGofVbPXm0P9BZfXx+Q5RAoBI5yj9cQfhAoGAHIO1
402
+ lDoOpFx3F1bDWWBD9b/rbvyB8RteNvmHa3ra8m/79zT6xlj0ZEqba2TfzrgRIjKk
403
+ Oq4WfYEvJckFa7XsfEyUQC7Xp1kGqfvlbR+lzyAfN4DzJeD+cKs5K73NbfzjmH1U
404
+ YdePshGekkopCwFXg8wi4kcRUv4atArfrVZ9N5UCgYBKe3qSZ+AMQPWR0NkZEyBv
405
+ Qa/IBU5uMtEG715FfydAQoqkXJ0GZ0MzX5ByhS+suGOotvzXOfK1XwStvYu6rXHO
406
+ WdmtYre5e48lbtP+b4Mv45rb57ymBGrb9eJAlurOk6aK4B4nN1P26zVQAuhcfF3M
407
+ DD+hIL1erePro7W8CsCb0A==
408
+ -----END PRIVATE KEY-----
409
+ """
410
+
411
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
412
+ MIIDLDCCAhSgAwIBAgIUPDgBpxOAo73yMiUGMFNbK0SvFvwwDQYJKoZIhvcNAQEL
413
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
414
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
415
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
416
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
417
+ A4IBDwAwggEKAoIBAQDDT7pUEKAS2A96fkLb1IfDbHZCpOTUgKk7+uNQXTKarZv0
418
+ yys2/K/StPGJ3+mFlN1+dqubVHUILhPUpfFNHH3zintDsCjwu1GPKRuqgPla9ZAb
419
+ zBft+KKm2CewqvVotYOcfIAUqZMmfWuyxZFL/ITJqnJKHqYU3yO8pNO3k9c9tKVe
420
+ AVLlarcHJitjSkKz+s+3XRJYC/x6BsguRiNGSPVPAM/jV9PGhaQqlhWtQT0/kcEs
421
+ MRICpIPiPd01bX9NWbSoEbCVN2mBBxPi7fV4V2Y+xkdjj0QtkLmJJTnatNNK9UjK
422
+ 5npRqHyw1ogyguno10Jx6e5vd+3hWiJlBOzpqiT1AgMBAAGjFzAVMBMGA1UdEQQM
423
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB5xd/q0Z5SfPECusnXmAwF
424
+ X48KLYhjc1/483R1gz2Vy1XNPWzDDs9I8MWD02BWr0dMMuhV6iPFmmQcJ76ejJD0
425
+ NMtBpjDFfCknFuMavbog9ikPEXhL3EtzXP3jC+xsdvYwi35hkBgGs5hnAkheKklp
426
+ cjRurmsBAHJBlEsUc2C6kxq8FXcLM+WzJJYOitzE+fpyxrmeOIfpUd8Vwiu90Ta0
427
+ /w1mGD5vlXBTiFCwLEc2fVR7OPm3QxKvJ+eUdLTh+X4VgJ5vvdiqCodgAeqDZw/Z
428
+ x4hOnAEktgEqadUz5t7fJzxuWWpNTL8OQLJgW1cE/Kt/P8F9IQ5rC7PS+XU+Ds7U
429
+ -----END CERTIFICATE-----
430
+ """
431
+
432
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
433
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDDT7pUEKAS2A96
434
+ fkLb1IfDbHZCpOTUgKk7+uNQXTKarZv0yys2/K/StPGJ3+mFlN1+dqubVHUILhPU
435
+ pfFNHH3zintDsCjwu1GPKRuqgPla9ZAbzBft+KKm2CewqvVotYOcfIAUqZMmfWuy
436
+ xZFL/ITJqnJKHqYU3yO8pNO3k9c9tKVeAVLlarcHJitjSkKz+s+3XRJYC/x6Bsgu
437
+ RiNGSPVPAM/jV9PGhaQqlhWtQT0/kcEsMRICpIPiPd01bX9NWbSoEbCVN2mBBxPi
438
+ 7fV4V2Y+xkdjj0QtkLmJJTnatNNK9UjK5npRqHyw1ogyguno10Jx6e5vd+3hWiJl
439
+ BOzpqiT1AgMBAAECggEBAI72+Uk3sjSY+xuK+J25gHdIGXjHAsmaNEa3a1UUI0qd
440
+ 8h7J6SQi6wCtenCV+nXRdiBv9UWKGPCX6eQqY+syA/AVWg0+EXnFY/oK+TlhlyVB
441
+ wu7WAl4rNcQzTTpAqcqvs1sEtyxoxFHUVNVTUPvyJ7EGlwoyTRfSDnKzpFYoXdHH
442
+ 8+p1wOcfvWGVkUpRVopV5e890AX4mjYPtG9rc+S1EyMHVzcm1UjnAa++QiznSfal
443
+ mwiSHzyqHBlG6u8mJj+ZRLKLYKCciQsktA6TOIyvyA486ZHPLWwNjd9RhqgjdydD
444
+ a9rTOouDwaRAN8uDdRuKsVhdyFpE+ShhFLB88amdewECgYEA+8WUqPOHgCehvgKB
445
+ g2AqdkdN4McRjmIZAQJtwVae/1Mn89qlFQIw4+Nbxz9LFl3Pyd4G36nKXnudWvC8
446
+ 5Y7hDpxwmvVr7Vrotz8HEv7BTDp8LGN9A3qzdUsqSsAvGCZtaOEA4AIM6z1SPg7W
447
+ WEvFuE9K1pIAyHudzs4A65uLbQUCgYEAxpdpjP7MXyVCdBTM7TOD7hVtLttHkp+M
448
+ ugxcXgH5Mn+fbWglSMpI9FNwFma9JLG7Ye/wOPiC7FNV7PGKz6H/o0V/TGs8PvPG
449
+ oo0xnvVuzNHSp83MSQyLHiKePXSBQI+GAD2Txu4sWbekgAn016IQgqBlPgf1Mi0i
450
+ 0sJ9ALyL2zECgYBfr0CHUT5fAzDiMLud/U9F8mVzltRiQ3/zNUQXJV9589WMRL1W
451
+ laWVBlRcDf7weii9NIdyO2owrFQqOrHfoISB9AyLp9gjtdgZxHdgzbcSzGtix1C8
452
+ oMZRPobNL+r2B6yvHkwh1kWopX57HVJy7iEvodr0Xzqy9uALt5j78fp0LQKBgA4N
453
+ FoXIXXN58mq+MgWyeGo3D+OZ1kWUjmN3jm2EXDprdz9JeCHfViwbXznmiQl4ndZ/
454
+ IJMXWkQYXWMHcBfi0XCe8TPZ/ohBvVMxBErH+M/7JJmE4Shl/83hCysz/BUyUnvf
455
+ 333ayj6K1NPOYImFSP/FE4TBEWM8eFNLOYb80DRxAoGAQTX2Cls67t/7r+YFatLo
456
+ BHt4aNnszbBFqnsSiH0zZVX+i7e1XxnhsdapwsEVrYdbcT9CCHaPPar5patEqVsl
457
+ /Mf8S2hCnCRR4poOc40rk7pX+RHVU0GdSsHT4L6eC+4R9/i5OTfOZoJz5rTgddZe
458
+ G7NK4b0sDhXu3CaA2j0CVKw=
459
+ -----END PRIVATE KEY-----
460
+ """
461
+
462
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
463
+ MIIDLDCCAhSgAwIBAgIUIDNyJc/WIgjFdIWtYp9/dZyhDFwwDQYJKoZIhvcNAQEL
464
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
465
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNFoYDzIxMDAw
466
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
467
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
468
+ A4IBDwAwggEKAoIBAQC/em2gGo4JEdff7eRAMG3two7JlNvEzuTn95dcxWo3Pydz
469
+ OJ83gPrGCM93zBvxsCOppyER+c34D9toxAvu5N7S/68eGOPlvbqS1aUJtMRXIoGg
470
+ ghIlz1w97VOmQ2DS4PZX1Yw+563ah0T/kmKvrJ6Ti8MOqvJ28GNnDObBP1hSfezu
471
+ /iRbiaGJUF0wRULFaPX8uNnOT8oxDXzsyBRKmZLN/O3bwbpX3hzIK2D7BBpqUza0
472
+ AuO4/zemr3J21QFu4rD/Wbd5/zX4uxSOAIXbT2haDT5KZEUYQv2jXbHY6+tzpMRC
473
+ v+Bb3yAeFGt6K44fzqi0fj1pzoHZQ7pgqKwRKA0tAgMBAAGjFzAVMBMGA1UdEQQM
474
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBuL8MMR6mTzcL/0OOWVnQ1
475
+ phT2S9L1l6VmsZYK0/+kUNRphtglqiUg8TuHDUvXY6Bq5r+NY9De6ZhJMhsVYt5A
476
+ XRkBjEwIPLC5+JZi8iv9uip5qyqsfrt706zGz1NfVIk6pS97Nssj4d2WkdB8BrD9
477
+ fnngf6tnQJX4K7fhE/NWcE6YMSBA4GG/JvpH9ouJx4aN77zF6PKyX+iO3GDHXqNH
478
+ BAdEbHgr4pUPZuUg6c2x4T20NKnMNkx7C3Tx7tp2w49VamUwnwvm7vuzjajd2st0
479
+ q2O+l3iNwRuvzL+KaDhqexf3shDSCxuYSaInne2XmCiJjVW7QRfQmyA1LiUk/vfP
480
+ -----END CERTIFICATE-----
481
+ """
482
+
483
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
484
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC/em2gGo4JEdff
485
+ 7eRAMG3two7JlNvEzuTn95dcxWo3PydzOJ83gPrGCM93zBvxsCOppyER+c34D9to
486
+ xAvu5N7S/68eGOPlvbqS1aUJtMRXIoGgghIlz1w97VOmQ2DS4PZX1Yw+563ah0T/
487
+ kmKvrJ6Ti8MOqvJ28GNnDObBP1hSfezu/iRbiaGJUF0wRULFaPX8uNnOT8oxDXzs
488
+ yBRKmZLN/O3bwbpX3hzIK2D7BBpqUza0AuO4/zemr3J21QFu4rD/Wbd5/zX4uxSO
489
+ AIXbT2haDT5KZEUYQv2jXbHY6+tzpMRCv+Bb3yAeFGt6K44fzqi0fj1pzoHZQ7pg
490
+ qKwRKA0tAgMBAAECggEAHyviHtdT2hwihZzntJ9ttfAfaKeoI2D/GNhQttSYlwfb
491
+ 90D3goSnzodupvT+c5kWJS9FDfUZ19FVCbgorSprL/RZ4M9yglshvXe0V2ErOXgv
492
+ nB6wr6ETRi2VmZKMd6gR0ni8TR1QSywMSoLdN/YlFqYBCilAMaaut/78recPDNaV
493
+ Gv5RxAXoy7Dvm8G9hWR+QKIiaJXygaVdEnQI/z7Rc86aBxKYNwYz+pbGMM1k2gq3
494
+ lIHHzfEy2Jx1RO9QoEi8OZIyPZXFOww9tzJ6USdyduIb/9KbP+1TyyCC2vCEi/vM
495
+ Jk/TZMkEVI2YT6itkWYdcAgGwN9b7bu83zDvkH8RLQKBgQDh372ak0O3FymG6eOe
496
+ h6DAsMHs4CkZjlIAIK+3YddCJZeX0O89JTm0Ct4l0xXo45ORPAVMZCE4Q/S5J3WI
497
+ OubQNS+1SOCs93knJUCUzIylzjPx8SgH6OSUOhc6aqc/W33D8YkHthfYojypaxP+
498
+ q80YJrpc0EQWWnR9XM7MskBGvwKBgQDZBEa8ES1NMaLh974DwuFvaLNzhgeEwlAF
499
+ klx5JPE7aE34HFLOW3J//tAzIL3yxQZ86YZs/MhJlP24V0DRldmNqh75uhrkdAl/
500
+ VbF8BSUA7LnR561373T5OZD+oV49Lbcib2Z1fJHQ756IqEx8wmeR/WzzFAHYt5z0
501
+ bsCWgyVzEwKBgQCyhbo/7+D3VtE1lqqW46+EXLAJXmpdjoT1IOCA2k3eNAQKs9JC
502
+ y6c9y9EkqB+LAEPj6EJvzDwNUnib1rooQBWpvj/E0qLxUm9pJyJR+RG5Aq8/rFDt
503
+ X386QGeXfjBN/Sv7sG2TsLJMQH4dkUouYO8rBYEKVnlaCYhEhRPV6ZSv1QKBgAky
504
+ FjE35RyFQuqiTcnpAxZucFQv1Le6aBukVQjJGPO0esFNqfCWjWaBDJ9t/r5/vMOk
505
+ PY72syHzD0E1aUi4Ocy37bIVQbh2dkSQBAJGUYgVf9Y2I/KWEfXRi6ROgCjFfCIY
506
+ aFYIHkGlNamCwCL1NeBIxcoTCfT96sesvbpi+j5DAoGAQjZ7pYQstPZ5sEr/H2nG
507
+ PzDQh69XSgeDcyyh3bSLDWiauQLKB79O3X4AFMrvGGYw8skcPxmIyXyyMQpPHw+Q
508
+ Bmgp19lXRCv4EiEyd47dBMtx1mK4huNv0yjdC87PPEoqSy5vYmM39U5EpOoy65IN
509
+ At4QG2/6xEa2RMcmsW2erCg=
510
+ -----END PRIVATE KEY-----
511
+ """
512
+
513
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
514
+ MIIDLDCCAhSgAwIBAgIUMqlg7Aqc99ifdKynHggljrPnQjIwDQYJKoZIhvcNAQEL
515
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
516
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNFoYDzIxMDAw
517
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
518
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
519
+ A4IBDwAwggEKAoIBAQDr7NWQ0b8tQSlXzaa41vexl0Zc3WrfF8aw4mEaMcXM6lkO
520
+ hX5QLZpuTCs0RGwLXVAuqEcbQqA7GIbhq/ch4c9PSkh+yBUOB8SHx3UanMe9sH7S
521
+ 80rZCX+8HFMVMce5mMEPIRA7WmGRPf7+Fh0yHMAaIsaqDbI5f9DqLdWE+FsrFrdC
522
+ kp0RYTYQsYEl3YEPJfcYbfrX3I9GxKLSUX1iKsMlyohrFSlw/t2LlG1jeuxd5oLR
523
+ L79QY35LkCAsofDK/lThovM0qqnescGx4feZsLMCL4rv0td2GWNhA+4UofhTdul0
524
+ zRcaDZVrNEhCJk0RNf4wXtidqJN90Sf3dvIjx1qDAgMBAAGjFzAVMBMGA1UdEQQM
525
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCWj0tol4kMluTkz+sGjfpU
526
+ xTnbVkoJhaOVI3tdK5+Z8WkCS/IlFLFoHX1I5CoAtFDUTCrp1tU/5e0BzA2VfLME
527
+ B3+qgLQF1+Z2Qy+OBTRToUuOSg0n7qSQdG5zIsspKwRl+iobFKaxqw8j218/NKaa
528
+ +RJTdhRRrmrokiBxpz5AJK1WnLjYe65N/ZdfxHYoBMDtzrkCrPsoZQpHaUf/9K0p
529
+ v0tv8s4nr2NcAZrQeALoTvR0oJ5QlmRxfHY6xC170dLV9KHJTbV/FXXFmFQL1WkI
530
+ L74vcnYPvpD8tdY3kD8AXUFoYNb3sjjjmM5QS1pYva9PQUiuHqr8MAqAF4sHvnLF
531
+ -----END CERTIFICATE-----
532
+ """
533
+
534
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
535
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDr7NWQ0b8tQSlX
536
+ zaa41vexl0Zc3WrfF8aw4mEaMcXM6lkOhX5QLZpuTCs0RGwLXVAuqEcbQqA7GIbh
537
+ q/ch4c9PSkh+yBUOB8SHx3UanMe9sH7S80rZCX+8HFMVMce5mMEPIRA7WmGRPf7+
538
+ Fh0yHMAaIsaqDbI5f9DqLdWE+FsrFrdCkp0RYTYQsYEl3YEPJfcYbfrX3I9GxKLS
539
+ UX1iKsMlyohrFSlw/t2LlG1jeuxd5oLRL79QY35LkCAsofDK/lThovM0qqnescGx
540
+ 4feZsLMCL4rv0td2GWNhA+4UofhTdul0zRcaDZVrNEhCJk0RNf4wXtidqJN90Sf3
541
+ dvIjx1qDAgMBAAECggEANdQ2sjE5JnEspqz0ck4R+8IhOsUGQlqhafBs6VYb5HI/
542
+ 2ZFZzZ9qEeptHSLTaBBlYA/jEXQ1LOaet9TNsTxdWaEAQ3URYL8i9zvqGyVUaZJg
543
+ jW8XT8fcDiaESlyuTkltGy+XDYPEqSf1CzIufSWUKyJuI5S2amogV54Xjpw/6Od4
544
+ xrIvDgIJag5IM8dxUtx1wPjup+RMkqUbzewBWEAvKJNstKcouPS2QB4gyIJ5xBsV
545
+ AN2nmxx6ZGBpGxxDV0aLWppftmPUuojFkEvBD9yoQo5lLHhqnO/tTpTxZJnbjyNR
546
+ dPEEzpHFOgCdgwhO/xP+kNoHpB6m84HUTzRF7vI24QKBgQD5FRVrhKjqBgFihcsU
547
+ 2+CZf9hQM4IzQPaVs2ZLZZVmOvpUe7eYY/9Mjp0Wcn3g7wXGyyPYSLgXjyKxddPy
548
+ 9qDczcYdJtbOjlxER1aZdRQza9CKxZ2NAcyREEsc4ADEnQz/eHy67mNtB5oqIq8H
549
+ 05T3ZbsUA8UhQ7MndSswVdn/MwKBgQDyejSxfIomi/OWG1yEgYO1Dml34h+yg/Pp
550
+ 513YbQmnevTRgk+6GnKK9vezahNzTygSq590T45oc1ggZZjBumDh4OrRax+7XG3v
551
+ n+cpJSWYgsqW3DKrhTkLHJ7c/f6XLn9oLMpdGiQGDLO4iXpaBKccPvZHiOIKhs2F
552
+ xdwc9193cQKBgQCbWtcdVIS2UkCS3rgnrmyL0P1uKHJQ3XfvLxHifN2OAcMY5oFA
553
+ fz5A1cKMuaRhozOLJjCZOeH4b8JHxSIJLGJw1bd3fz4DXy+VNpmA5VFQMTLFGzSF
554
+ OlYJNIxk2iIgf4QX42KIhR9mZZN2LGPXEdSb6cuhVCij8sHPHnltkF6DmQKBgQDP
555
+ rD7pLGMeNItBqtmIW2y0a02FcdP4Du+fC5viuzCjkrmPnu4t1Gz5/B+WOGnEPq1x
556
+ oDAHbAPqDbASvzEf60MC8qHrDra0v6sgqnFPWhNjFdHxd1KmeImsrKybVabxUM+q
557
+ J4KCTts/my1qBcUWyBlgJcTE68W9gksQIbAt1uia4QKBgQCSIvXD6yeENloZR+YD
558
+ jUlsyICn59Z/p2AF9OJ5jY8t4HY8c4hBHoMzdxfRvGy4USq9NJ6vr/w5y76rnMCo
559
+ SHljHFE+JDfN2p5gQw8ZRar4Ia+0pjogQ3nQhN0dBWbNtETBf0XnCJhfLRXOOHMx
560
+ td1Mrxelh82bfgHW19MlGD1nIA==
561
+ -----END PRIVATE KEY-----
562
+ """
563
+
564
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
565
+ MIIDLDCCAhSgAwIBAgIUO9NYo6D7Fn6nsq5uHYKUMvoi2dwwDQYJKoZIhvcNAQEL
566
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
567
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNFoYDzIxMDAw
568
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
569
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
570
+ A4IBDwAwggEKAoIBAQClBJSKiguayx4ifSydXnEMoDWK+HeUkK/38DBFn/psx0fp
571
+ joXEUFXWcDba1WH9RtExs7PYD2n4w4BPSQjz6yIh1oNWc2HOpyHl0Kk5pL68yxWp
572
+ 3jFzAJQHJGgkeRdMH36lUQwEnQ3U8a6YNqd0j5qp24p2qyv9AGARvcrCgp8GeyS5
573
+ t6/tedqzzyujUNiOWzwdfCsdKo7Bv6VbPtx18b1EDQylQefSg3yxLXDgZEPlFPkM
574
+ 91/B/p2Om5p2Xi1ybITT7dgexHqqVo6bPzL7mYUZKSZ+dYZIb36mTxY7GWDf8ifE
575
+ kMO6+/8Wetwn+hw5ap4mzsAJGZU1a0lUOsQa+T1pAgMBAAGjFzAVMBMGA1UdEQQM
576
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCqtpCsF7eS40VB/wdjpn2o
577
+ jxGRfet1uP4QIAA3cNwGG4eWu4xW5lBk4duE6DXZYkD30qZYjHEsIPkefEc4sni0
578
+ O3IDSeomhw8Ek/GCgPdk47JF0tJEKRIe4hjMGKI3H0Gmczqp6F78QJNUvn5n/nBH
579
+ 9WWefV6sMsBLJ56CKRoakwYJzti0aSbAaaT1f/iwctTTxg7Jg4begI7XJyxTvs36
580
+ hwnNCv0+XSol4rerpLVaMm2IKbzfpCHygqxUQ/erch3NJ7mRLQgT/biYM1atPLAF
581
+ b1BApc+IIrwDbDMeZd9DG/Ov1Kbns+3Lg5H1eNXhCf1DW9HQNu0Z3XzbARmxxQM6
582
+ -----END CERTIFICATE-----
583
+ """
584
+
585
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
586
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQClBJSKiguayx4i
587
+ fSydXnEMoDWK+HeUkK/38DBFn/psx0fpjoXEUFXWcDba1WH9RtExs7PYD2n4w4BP
588
+ SQjz6yIh1oNWc2HOpyHl0Kk5pL68yxWp3jFzAJQHJGgkeRdMH36lUQwEnQ3U8a6Y
589
+ Nqd0j5qp24p2qyv9AGARvcrCgp8GeyS5t6/tedqzzyujUNiOWzwdfCsdKo7Bv6Vb
590
+ Ptx18b1EDQylQefSg3yxLXDgZEPlFPkM91/B/p2Om5p2Xi1ybITT7dgexHqqVo6b
591
+ PzL7mYUZKSZ+dYZIb36mTxY7GWDf8ifEkMO6+/8Wetwn+hw5ap4mzsAJGZU1a0lU
592
+ OsQa+T1pAgMBAAECggEAHzRrhnsuUJpCW5FCI4wdYp7VIS91JXHq5L7V0gS7jWBt
593
+ 19usrf/nC4LyzJT3T7bZjkWGJ8BacME/fT65Y66+KJnxAiMVhseSIGxB4/WkX/0j
594
+ Xpj2zuF4HJWk3+jKIAoAn/BgjmrIl9EQDBahuegB/kbWuzQJQHGWuSQjuH6M5eOL
595
+ oT0R61buQcj2jC9lGA0wQRbZ3/joWHvN6mHTSHxLr8Byxp4bR3lavsO2m6vbxFI1
596
+ R+JcnWNxxpBOBJCUT8K1O4PpPcIRt0+Mi4vEidH4hNW6xVCZqi6HVVnvZyIcVySA
597
+ cyXMEmdQmYI3qIsQQoe0TAng6nlSNHvuTFrrd0ZzgQKBgQDaTYvQUSxEmdea9hKH
598
+ ssu5PoAf8WwJDqxLtIzDcBNkFG5UUUSguWTYUc5dKtKwBkO6ZIUIrw0rT1oZk6Zl
599
+ 8leLwLwES8ZOVthADhPaQCqQHeRzeOmrsPqvZa5W/QkNK94kfGPXeWN8Slo+Smob
600
+ +7amvlAXZd9Xx7yiC4jDOlbtUQKBgQDBg3p9dicsSEu206qSjstD3Ks219Hu4D+7
601
+ xGfSnjioDYNG4SPOCYK9kkfvA8lSQrbagwYb1dwVb5INlPlTcXomdBJ5tI8XdHTJ
602
+ em1X6hYwBdGg174SLwLq+fST105eynkyx3p2zCIQjFJ/2ybCLPjB2bDF6/SM64AJ
603
+ Fo6EybTomQKBgQCY3MIxfhW0d9GM9hBlqyKStZw8Qe53rSmi3WvQErPRWakkK8AV
604
+ l5xxCV+qx6i+j7RvWaH6QbHECQ27aTOUoY0CFFTT4UecZZ2JxRHLuzDSt8vXu+xM
605
+ SGJR3a6lxQvIiFZGUEANizfJubrVcYA51hnBSvSEXdZ1/iwtgEwlAL4L8QKBgG0S
606
+ OVk73mqEOUDMXykKGSGf4FUiIi688M9ZrZc2HQMD0smBnpfEHo/RQoBCpxeZiMzy
607
+ 6t+Hk+v1HeJP5JQWst23sK4uijSTLDxfp//UbjsVHInG8Ff5bXCaADPQOFkPUG7B
608
+ ppINDuo63Uk5ccgiZveERrHYA9fl6R22PBA2TKSJAoGBAK+tZOCWqSzmqJICmsQl
609
+ 25dkO4TxFSnKKR9GDJOG33/InVkuuiPeDTCJyF1FJtKaPoXd19QNgplYR8UDyJ1P
610
+ 2cYO++vhhWa5WZqVzYAcO6fX5KJjrWS0ZgSNYG00qvTQwajUuiMZpo2n1G7rDmjw
611
+ B7u+xtbWWSeiabTmRwQsQ+MV
612
+ -----END PRIVATE KEY-----
613
+ """
614
+
615
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
616
+ MIIDLDCCAhSgAwIBAgIUKrZllgClUfhW5LVCxMSaWdpORVUwDQYJKoZIhvcNAQEL
617
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
618
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNFoYDzIxMDAw
619
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
620
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
621
+ A4IBDwAwggEKAoIBAQCxiqJHT5HiXBr1CxICYNvxLMEOaxEV+k98RIt1zrjrcfCk
622
+ GlQX8Y4nqF2gn/7s0wgW2lkPAjTnFH9r29lFzTx6sVqGuTal5efJiUqDxMYmWkuw
623
+ hVXcqSc0ocxKtL5hRikp+UifMW6YUQr0XDBrszSvVZRKiRtcwGBX7CUJ3pR40HxH
624
+ hdzF3K0XnqtymKa/Dz7egwpAms8EH16ndvNgt0Oy74iLLqbLSYIMqtRe99V7kClM
625
+ QpDpzQX47iQyxL047xpS0nArTgOfE2wCL+4lWa220O9TZf7Mon3XtX7SJb71lEkj
626
+ iNsQ++9S0vzM0BcWGeV+Y7H0MqBmbI0sYLltHG4dAgMBAAGjFzAVMBMGA1UdEQQM
627
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBWXFmtsc6tZu5VmqMEjOZ4
628
+ sPaf2yJgEDaPv70R8SiopJSXHNbn14+ksehjdLa4Z3R2QhzCicVMnhvovtXeXUi3
629
+ HuOnF6X5Xrk92wfw+1WW8DUsCLFFAjXggRxU5PDbXNafMSoP8005Jt7ai9S02JD2
630
+ yrbE1tgvCm4HYoliURCXh9//w1fen6D3WddcHuCHLYad5bHnplOgvtFobJaG3FEA
631
+ Px3wWmlv2hH22gQf+zGHkwVOd8Z+G9eSCl+wABRGUm4ef3n94DoqE1GqWJ02fHBT
632
+ hv3YRFiVH8A7AtBWyY3sdH5tgaO9uCwNiQ0gL64UyKS49F8jT5ChVTxidKyoQbWB
633
+ -----END CERTIFICATE-----
634
+ """
635
+
636
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
637
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCxiqJHT5HiXBr1
638
+ CxICYNvxLMEOaxEV+k98RIt1zrjrcfCkGlQX8Y4nqF2gn/7s0wgW2lkPAjTnFH9r
639
+ 29lFzTx6sVqGuTal5efJiUqDxMYmWkuwhVXcqSc0ocxKtL5hRikp+UifMW6YUQr0
640
+ XDBrszSvVZRKiRtcwGBX7CUJ3pR40HxHhdzF3K0XnqtymKa/Dz7egwpAms8EH16n
641
+ dvNgt0Oy74iLLqbLSYIMqtRe99V7kClMQpDpzQX47iQyxL047xpS0nArTgOfE2wC
642
+ L+4lWa220O9TZf7Mon3XtX7SJb71lEkjiNsQ++9S0vzM0BcWGeV+Y7H0MqBmbI0s
643
+ YLltHG4dAgMBAAECggEAC++cFVs+HY+/qDXEUjCc2Mv/dq6wCWA4s8wP7C2ntPyG
644
+ ByJWAP4WZoglM0VOaDGP26l2T1IAqIBySJgRNWYk6MK/qUsOZ3zbZms6fT1fbPip
645
+ Ggb8zMb6gclW6LbaDcQfxFikDz/NhaP9Lox8HOGBa0A/pfstwcCVOZQAsXcrWCvf
646
+ T1ilX5fViLDJERTqbNzvYQtcLplRZyfeOesAfgndQR5ZLh5BmzrXZYkLxMyznTaM
647
+ 7l6gNL6qh6/+W39rRYIesHP8MTBMTj/MhE0XI3cWti77vdE6ydQLHMwzvrLp9/o3
648
+ QyDR3TP8+sL1C+PMOokZA5LEx6tapOvA29xKZJWcwQKBgQDmEAzF8eh04pQp+TFh
649
+ 8JxvWrHg+OPtSj+Dfg8kO4VbMnTTaZvpmePETB1aHsUMA3DLCiNJK9dKvIXIrnhF
650
+ HzIuOtSa0HPGKJGLy5RESx5fozGIE79l5AK34Z39Un0+lNWyuf9fjGayjNcEErHN
651
+ yocoHsbAM9JmPMDgcWABCRCoKQKBgQDFjr7i/I49/Km4kC49nVSzC7vwzoqbgrgm
652
+ W+ImPRzMybYv7tMEOWO6tXzI0H91V3WVhLvGcTa7cqUhU9qo2lNHvw4uTMNghmve
653
+ WSTRcjb+wDR/uK4djbQN9aq0zxqxP52DZIkTg1AzbvNEcY6mWy8P1xWpNsf67mID
654
+ cSVPaBzk1QKBgQCpBDOOHMmNTYRSTct0y4Lx3+x8ff1dL8X3gV34XW38cNYZFyY+
655
+ +Rq29MA/nAlhaQmtcNY5hGbXdibHJz4eceu4wOm+jtPvSZCb5kUX4yP+WPMjqHZd
656
+ kaRZmPwrxjVTC57vfevaM1ijZgr06BMOP/MJi4qyW6AAEjQU79X7DMDa+QKBgGP+
657
+ wLf7xbOyc+WrdPxS6lBGHDbjFF1qaPNhhrJ8NFujrcfNRpnYwpX6ztKGVj16q1Wm
658
+ /bSQEXgHq3WXEBJvj7+9ANyGlk4BPBArZutsuFFx0CDlxZvH4d8+/czPF1+oJ34e
659
+ IRPzX2DpQ9Dc+atSdBu8boZb6BUnHA1J8+yhch6RAoGAZu1J9fqRkVXdPsPNtH/l
660
+ YbD/jwqglB6VCzLEjHHKBNNu4YnpSZN/wMNU7lWF0yjMajNGf3V1qghPu6xqqVj6
661
+ 05xIC3C+PUQvYyiyFxKT0kDMLp4Bbxljr50aqYs/b22fx4iRq/BakJ7SyKdUZ9ei
662
+ p0weDMN6dQd5dKE+pUZYYpM=
663
+ -----END PRIVATE KEY-----
664
+ """
665
+
666
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_3: tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
667
+
668
+ SSL_TEST_NODE_CERTS_AND_KEYS_3: 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
+ }