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
+ MIIDKTCCAhGgAwIBAgIUaAgNa9r45P7lGSz9yjEAMmSYuA4wDQYJKoZIhvcNAQEL
5
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
6
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDczMTAyMDgwOFoXDTMyMDcy
7
+ ODAyMDgwOFowRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
8
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
9
+ AAOCAQ8AMIIBCgKCAQEAnTwel56+tLKkGLedJB0CRNyiCYiWS0sNuoCYpRN6MTnj
10
+ o5pYCN6rFQvdRvkaBRTodlU4stoEAy7b/v2ny7h00M8iWkVXqiDIB8u1pefEE53G
11
+ p7ezsPNSf5sX4+1kvm/+TJd4UEeAnSYaN6LWnTbEov18Kb7Xgy9yoGPpnYHmoYme
12
+ lmnV9rSXmI+nFzLIMWKTFfaGW4icTI3d8m53Teqhj0XiPI9VU7PHjUakAEkybyPM
13
+ tGJ0f7yq4OG29haDfWicyAKjYm3KxAQwdRUR4AuUWjXhk3flSyEnFsu5aevHd5xJ
14
+ 88W7sp7UJWw3NDPHIxrehVeo+ZWNiMJWC/Ff1bVMBwIDAQABoxMwETAPBgNVHRMB
15
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCLXqq05Wp9/J3atNhSo+qoFETF
16
+ aO2VokcUYonsiXxNqTKruNtTHMSIHZwerwhIPqEA0KGUVR1oyJvvdBu2VAxv8IpC
17
+ vR4aJAtI8X2UgDYElsDkmahEiCja+1f3+w7AK78HGCzm+5d2kz3p4vQHGkE4N57c
18
+ g6uZVoouma3LJMpKS9R++Y2JBjg1EfXoleYdh+CPac0AihHMvV64/7tkTt7Wd++O
19
+ 4pe/yUy7qcZL1b4JKoSb2bKAwDTYMljJ1buLLvBlhjIwqxOiYjnEZJK1MHfEp+sF
20
+ HPPfgGE01n8iANfXwjob4OY1SB0n7vxz2tCMEBMqAdOt0T7ThGhCVRGILcKH
21
+ -----END CERTIFICATE-----
22
+ """
23
+
24
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
25
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCdPB6Xnr60sqQY
26
+ t50kHQJE3KIJiJZLSw26gJilE3oxOeOjmlgI3qsVC91G+RoFFOh2VTiy2gQDLtv+
27
+ /afLuHTQzyJaRVeqIMgHy7Wl58QTncant7Ow81J/mxfj7WS+b/5Ml3hQR4CdJho3
28
+ otadNsSi/XwpvteDL3KgY+mdgeahiZ6WadX2tJeYj6cXMsgxYpMV9oZbiJxMjd3y
29
+ bndN6qGPReI8j1VTs8eNRqQASTJvI8y0YnR/vKrg4bb2FoN9aJzIAqNibcrEBDB1
30
+ FRHgC5RaNeGTd+VLIScWy7lp68d3nEnzxbuyntQlbDc0M8cjGt6FV6j5lY2IwlYL
31
+ 8V/VtUwHAgMBAAECggEAYjyXmH9UAy3BnLfLdC6zpjZ6/p3Z2PzxfN6vgCOlKnBS
32
+ q3rZGeGU3jdlbtxfx2ECxDwGiqfv7dUvGid82KlMQtHHUsMUPHTyxPwfZ6JgPSlM
33
+ XqlFmX7MwnEyAfPmB52NMmlIgE/MKWMO6kfQ8rSvMm5RTvuvRoU0hsUlxoTMhYut
34
+ VZbYOJGMes5zqAJbZPyt5+mFMPOMk8/ceDf3s3toZbvBtVXQ5tFsIpudA15Z2TLV
35
+ W4U+Hkkpru0pmV3h5cdYxM+Sb+igmsmP3sXc4/t3v25TB0ppRH+fO/MfQ452KXP/
36
+ 91LbpedRFj7o6hQRlJwQwPYGWKmfF+fjlqsTpme+UQKBgQDKdJNyxzRzL49g3IR/
37
+ Da57S+bXPh/hupkW/bQhIv5VE/r1m/wy77SQetI6Dec1+0uZ1zTfqUCTkSzp50Rd
38
+ wXUnrB3/+bY6UtXN7wQpauiTitdcvcTPpHw4AOczUe39//6UW0qbi68CWz+Rduhb
39
+ rQ5xAI7vsRdtkBS1+yKm7NKHmwKBgQDG0dizsRVy/08iygrO/UPPvGkB9xqXr+0Z
40
+ CJT5bUnud6P1T5Zosrv8duDNoyJ4JcnguJ/SnKT68Efl41jF5BthU4KPOvt1j8P+
41
+ j/vNjKFJF3S2Cp8DAFtcRog1rKs8S2ZhrwVhGDNi6sXnsXwDdXaLBbkpB5IYgmGz
42
+ 1NhpP4tSBQKBgDLrPQZ6Kavqw1HmRIC8DS0/etCZ9GTOjKBmsL5A0dzOCKlrUPPy
43
+ q+RGr8cgJg3CpVIM+WRjajVzJuuxWdWGyZNvy5/My1NB8Do6Kj7Mf7BUFDRkGjLr
44
+ OL7RI1UZ/xSKJRplF4+lgx/BmWxZjrk3/lDXhhus26qXuU3H2wBGwfCPAoGANx3F
45
+ bUsSHycX0RUhmfAr9FLO6XSPMq3alK4EXoElla4lDcRadfvWkU6DU35998DCDkIg
46
+ TEqQkeA6jkhQO8vYq0pzTzGStCx+sPtJWto5fAG8oRqgqjxXF2WWLQsJDVX5s+rJ
47
+ GvmShUGAS5KwRmUxz6huhClNHu5GF4xR0huDi+ECgYAZURTCE5p4RZFTDLMGbFFw
48
+ ElNKKOmnPkCdfhCrNh9WazduJOwO971uN7t14j0gQ/VFFgxchflpITEX15ZCoSvZ
49
+ +9dXOmKNBYvPPDr68NKZTKAzWnhRhB1zI+jXZ0YmDxAIhbqRwh3xxkIw6/Kj9T9E
50
+ fg20IAWgmoJ7rc7AcoFMHQ==
51
+ -----END PRIVATE KEY-----
52
+ """
53
+
54
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
55
+ MIIDLDCCAhSgAwIBAgIUHx4JBOGyU12gOWGuB5dBegczdfcwDQYJKoZIhvcNAQEL
56
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
57
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgwOFoYDzIxMDAw
58
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
59
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
60
+ A4IBDwAwggEKAoIBAQCqyyHVlhZpFR0rHSfSunLrREk0Q9MJSU/pcsbnmYIBpUZS
61
+ HHnEStu5B984swApxNmBaPWiW7UaJ2jq8h4NS8Oo2tCasIJF2zWGWgJDEieTEU+d
62
+ vpJ/Sfu0MZUpu4obbWERXkmVnCyrDx7v+kSsxukSAWF5iAHT3Oqnouc0AwPJCuU7
63
+ 5MRD9/0xC6GFurSJQndquKcZJ8wGWkC1WNU9C3VwMy4pYLT84Pmu8bh/6uzupVet
64
+ TDDDNgh0SGqbabk0TCG9kgS41ww3GTRf0sOoJdT6Zb2UYA6SQ7iGmu5ZPZ7bQykC
65
+ 4zGkna+MtM5WldUilkfGN9rPt6xvCycBpif7nUOLAgMBAAGjFzAVMBMGA1UdEQQM
66
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBlSm8+WQWNqQ/6XZ6RFxCS
67
+ Lq3aFKAGGZpX97Y/Q88ZcbJFd+67yORmhCa8mvLYfhIpXXG/IoX4E1PEBohskeah
68
+ /nPyeaPAklwSjFYKMKbukYUb3j8hQgs0jFh6+mMvLUcf7bQbmD2ZgUgt7xKVPTHG
69
+ 59KlnZv+cIMlS50JQU6n3oHv0a9+STMU7GZV8RN14INGGX+RD8shO3xWVZB/BzNj
70
+ sjoud8pSpnBJYLH4uucnTXNjrzM8a+S+uaU0kxCdRY3TE8y6PsqC2XaPQctf9O3J
71
+ hnFoH9yydMD2leovDedRyENxs05wNlVK+GzUB8/g6++3dqC0Sq4U84yemYh73Pa0
72
+ -----END CERTIFICATE-----
73
+ """
74
+
75
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
76
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCqyyHVlhZpFR0r
77
+ HSfSunLrREk0Q9MJSU/pcsbnmYIBpUZSHHnEStu5B984swApxNmBaPWiW7UaJ2jq
78
+ 8h4NS8Oo2tCasIJF2zWGWgJDEieTEU+dvpJ/Sfu0MZUpu4obbWERXkmVnCyrDx7v
79
+ +kSsxukSAWF5iAHT3Oqnouc0AwPJCuU75MRD9/0xC6GFurSJQndquKcZJ8wGWkC1
80
+ WNU9C3VwMy4pYLT84Pmu8bh/6uzupVetTDDDNgh0SGqbabk0TCG9kgS41ww3GTRf
81
+ 0sOoJdT6Zb2UYA6SQ7iGmu5ZPZ7bQykC4zGkna+MtM5WldUilkfGN9rPt6xvCycB
82
+ pif7nUOLAgMBAAECggEBAJELq/NA4E1jsf7QZuaOk1P8DRNG2m2Thjsiz4sWkhMl
83
+ sj+/kSXD0TAlYEw9sFDIrVM6uQimS3onp/GHpz/xbPv0wJ3ucuQykxVDUZJ2U4eR
84
+ dwTnOHDDevB//0aOz24ViQ7//QwCsuifEc4Jw9Lbpko1Q/u7JpovjlTJgwJn4QoV
85
+ Q5W9gDoQOwtItyfs7hHgHsWB8uZvKbHoUp4/gRTRED/Dwu/kZ9jCYdKt2B+i4Amg
86
+ j+8bkcNQMhvt9ZHSRfqAiy3g8Qoufl5YYa3F6+CK5VRovWdQdlAp6gt9dyoNMJ1G
87
+ mSY9IXZhMDFwXZkLnwmI+aYD5xepasIqY3rGQ5LOkukCgYEA4Pmn+TF7xyQV9Xpz
88
+ CykW3dD3tXkLi+lf0k4Tl+YMBoxB1OQtyIjfdn8L/68evNwVv/31JtVPNxNP2YmJ
89
+ PeFe+7LQzadWTbOeMAjjrLoSAGv2xLlwtSOpxON6glWQuOjYMGKmnWSnZnkkIoVv
90
+ gYZ2xGO0zbohnBqcg1NssRGORp0CgYEAwliwDzVGRDqUYRcydR2rHJzdQv/zsyPD
91
+ OEb7D3GLx85bVrSQGVXWCMqbQVtvJzTuU/K3nNPKNgWnnt/ObLPsyWUYTxZAeLAT
92
+ JztAM1bvhFxmEXCY7wpWlcHrK1nNIRFtaWBvLRQVXe7HkAiUGH/p525HnoHfS/TU
93
+ LC/Ql42ABkcCgYEA3LYxA7l3LKSLYnwR92YFR/JlwkSRfl6jIih08nW/YIEjaJ+/
94
+ Bti5GoCDngEIz9G/CM82PjXQ9EBe+xUCbpH25EnGrau4cJyB2bAu5NrbJEzHGLKx
95
+ DxSAzmc5Xjphs/bDeZyexxTjYhYAzFlKTrFDPWJwE9DCfmphGDm1DXYitcUCgYA1
96
+ zhfwHe+2NAGgX6u4gN4+ra8UPYhasCv8CKq5O9ZXGuputs6uNPVsuasCDS5YzG6v
97
+ DyOGZ5w0GJyvf4bG0YlcuIBiZOa0gwrKcbz0eb0WB/66FVJB27rc+zMAbXw9C3Yf
98
+ FnOxJz5DIzhcyAM4RTGcwQtS9uG7Raz4DsTRMHuhQQKBgQCE1yrDDNa0cr3dhA9X
99
+ N6SlN4aguCcWFNPHdaH+xB10m4l6rNZZipIsM5sRgBFc0aUY6gkn145thlDukwW3
100
+ 0hcNIC0tIMeeHT3asLc6A/5utNxSMdhdgSXzJnfPnEabQmi7bnAE2gATw4oU+O77
101
+ KM5xV/wvREiyowg4Y49FNstCVw==
102
+ -----END PRIVATE KEY-----
103
+ """
104
+
105
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
106
+ MIIDLDCCAhSgAwIBAgIUFhaPwCH7jH8uqupV1SQQhWjqr7QwDQYJKoZIhvcNAQEL
107
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
108
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgwOFoYDzIxMDAw
109
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
110
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
111
+ A4IBDwAwggEKAoIBAQC0T15f3tKXrJr19pL+meyy+AxHrhlOfgID0n5BCn6sYGcg
112
+ 7OzPjMf7JFBavWzj9WGvufAke4mOCOrQ8XbbeTW6lKDow1mSAQYWe29N0Xuz1SQH
113
+ xwbFTf83tPzsbDWwxWZdDRG8SmkJ2WigJkG/0PGSlkPm+ttzga7Ehw9E+gUNTYNF
114
+ wbVj0+2zNVf6VzbQ++vnh4atHRvTcuMIXXJ9kfJPg9HupgykSi1EMum7fTNQQSRK
115
+ VYAyD/qnb4t7xbmzqIciC6uz26ziwMXLOhiV4zibe2gqoeLJBVboMV8WCWJnhSmA
116
+ MEXaGgq4cgZ1MhfJdlWa1TB/tCFz7vCHB6o3n5/rAgMBAAGjFzAVMBMGA1UdEQQM
117
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQC229ik5XvaUZsMoNKWpzPe
118
+ 7VA5XwAMPImgppwDsQrMlo8cLX7DEUOi0GPHstS8vx6cozRihVhr3YwfUh87MFIb
119
+ B2WkIy9dXyutI+KMK9dQWSUKaPcavvLvWBvMGN4bkx/93/CVq/lD7aUkoZ0XNulZ
120
+ Pf1SkL6qFjUYZb7l5xJhFeygYqz1cEdf/0u9FJpZPjyI8kRywTJv6cawDWCL3oeS
121
+ de1AN/0IWU9ePMiBlFjVjM6dhxP+qobq9WwZkJon3zWHuD5dbegEjS5tmN2g5VYT
122
+ 1hZaamRbV7aKDLr9Koq42owHByfGYxh1o5pBwnnOdEHB2SMT7djNC1gkDj+PxajW
123
+ -----END CERTIFICATE-----
124
+ """
125
+
126
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
127
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC0T15f3tKXrJr1
128
+ 9pL+meyy+AxHrhlOfgID0n5BCn6sYGcg7OzPjMf7JFBavWzj9WGvufAke4mOCOrQ
129
+ 8XbbeTW6lKDow1mSAQYWe29N0Xuz1SQHxwbFTf83tPzsbDWwxWZdDRG8SmkJ2Wig
130
+ JkG/0PGSlkPm+ttzga7Ehw9E+gUNTYNFwbVj0+2zNVf6VzbQ++vnh4atHRvTcuMI
131
+ XXJ9kfJPg9HupgykSi1EMum7fTNQQSRKVYAyD/qnb4t7xbmzqIciC6uz26ziwMXL
132
+ OhiV4zibe2gqoeLJBVboMV8WCWJnhSmAMEXaGgq4cgZ1MhfJdlWa1TB/tCFz7vCH
133
+ B6o3n5/rAgMBAAECggEAThNYEDdSBS9OYlcEy44nOk/CMX+noZ9ajAEnfk5nD4km
134
+ 3tD4sd6J8auFx+TiM8tbI1ZmL8X2iDRASX1lNB/GLiaRjniYXmpnEnEcfxvIbtRK
135
+ J7v8qI7fhmWuZ0lr7kFr07sHBPtLhGJJtZ8bNU3qbMj4Whoh0GBFJwA8kmeYrGs7
136
+ hohIFD6vp4z8lN0gq8Eofgm6r6vEAwC5UAA9DQSfcwlqOJmxTmfY+yoIUiIu8A5B
137
+ 99/xR0GwZx147CfbNCDV7YdwQCdVv2n6EiSglUrHSLJKYFrF4/9y5XK5DAejn27V
138
+ KPGQmAcf5FGlUafrcEWtnX1a56O35WJ6pcB5q0JHYQKBgQDlf3Rnn/V6daL6JU11
139
+ 1UCs7FjyEx/ZDDOO6dZKYNtywQSujasG5ZGqgJazkd6KSm28m0633q8hrvFxPuBp
140
+ T+tt45VQc33rhoaUR39j4ZYdEjzB8mEvNyMZp7ivV45ezVmRQUw3EwNHdlvR4Z6K
141
+ VSwHuxHCb+Pk+9Dm6biig36zOQKBgQDJIcuhHXWXEfCnUbZCTSza7Tu+pSc/bv8h
142
+ vTHTbdVT/Ogh07q4mI0bX5yKfXUCYiL9G4hjC1hoKfccXsWaCawDHvwIXpcvMa+5
143
+ f0RArQ3UHKvCLeLcrlL6ACwzjZ2/ktvu7BIkO8UfbCWrtw3ZstmvpudiZcdT3CO9
144
+ E98esRR4QwKBgA5qvFBKLyybOTrHnx8Y33A9hLToWKbU6mQ+8lRH02FZGMcyZR0Q
145
+ zN7OJylur3E2jcA8bWyFk7DlAYvgrE5RU/PaSSX9q1phYBDukOUgZcK7w49Xf51s
146
+ tErHS4XQVURFWCwU0wnequURXWFI8CG2igaOTOZPCxz2aMAozI2A/zOZAoGBAMRf
147
+ PKL3UkHHAEE8ZEhjdTHigXxnXuRuCKb2Q1l8WNYBjNrKD/n+53YcaYhFaSKEkkiw
148
+ wv6AqzY4Es4eMattWgZKECRTxiQLzNe9S/QhgejgfUm+50oy4Uy5Mm67C5NpXVXu
149
+ IuBBgvpk6nq25Mzx89uthyfo2y4jNrl6V1Nt7OBlAoGAO+xrWyqMmVAJI1hKTs/e
150
+ 8NUEg9pZrtEz0HWDCD+/+mYXcFZjFk1tXbmM6oluYd6paLJZfXjyNUsBei4vsbHD
151
+ gyCWKyut11dpZJScgk6vJKY3jZk4NW229GO7wqPiebZx+izLjZqvwUCqPQN9OjsY
152
+ 2jn5HwHyVt87z+BwyLiPmFs=
153
+ -----END PRIVATE KEY-----
154
+ """
155
+
156
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
157
+ MIIDLDCCAhSgAwIBAgIUPgSiFTu/c9pvcsiavcITg6l+XbUwDQYJKoZIhvcNAQEL
158
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
159
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgwOFoYDzIxMDAw
160
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
161
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
162
+ A4IBDwAwggEKAoIBAQC0AXXqjde3+iG4nSDVvntiMpMM+vm7Gg6R8yShZEp1zT/h
163
+ uov3smxNzKpSAbNA2nPifDIsLI0oVOWgDrZXOi1kXipC98GMjXE0mXItsDojSyih
164
+ Y78HKIAeJBtBfLkt2JvyoGxZ6TBBgfgemRQiz/b24QKLLIYjFIlH7VFI6XGMb2PT
165
+ rzB8OqwxnBe9orFnCJkGtYVrSQvcrIUX2Vt6SP+7QVXxgJXmm1SpetNjcmAYQ1Dp
166
+ QR9leIYRPy91TItvrUUnmP3pC2aJ7RmC7Ts2Fomqed3qnuMEgk1BhTILnZAC4oqb
167
+ lKMo082HapNoxbGcjBNIsm/Ns85la/DP3V2FdZINAgMBAAGjFzAVMBMGA1UdEQQM
168
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBjkhqh1RyS9YGL3OOQumPy
169
+ fYzt81tI9dfBcVDISmDYApgBQ9x2z5/JDZjReQuXacNbVYydJjHL2JEbhQvq5ebd
170
+ uv56pvNAUwMiM8Ihkos1cgN2QvALBAFYxusFEP02rI5sb9GwW9eSCYDbuJtFsvdN
171
+ D974kPNL4B2hLkWyO+f2/epxVJ3i4TSf5GwXIjJERIjNa+LKBCLEDq/IJ3sjQrbs
172
+ KZOiHm/NlgaEoqEIZGDE8J0FfhTUrnXHd31/fWe2iFDcbQkOuUCbpphtr/3iChXV
173
+ tgkL/OjUF3EID5NlttW4AbIXCwvW+buScK80DLtLEbaxueF7CUooOObsbECh6ZOU
174
+ -----END CERTIFICATE-----
175
+ """
176
+
177
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
178
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC0AXXqjde3+iG4
179
+ nSDVvntiMpMM+vm7Gg6R8yShZEp1zT/huov3smxNzKpSAbNA2nPifDIsLI0oVOWg
180
+ DrZXOi1kXipC98GMjXE0mXItsDojSyihY78HKIAeJBtBfLkt2JvyoGxZ6TBBgfge
181
+ mRQiz/b24QKLLIYjFIlH7VFI6XGMb2PTrzB8OqwxnBe9orFnCJkGtYVrSQvcrIUX
182
+ 2Vt6SP+7QVXxgJXmm1SpetNjcmAYQ1DpQR9leIYRPy91TItvrUUnmP3pC2aJ7RmC
183
+ 7Ts2Fomqed3qnuMEgk1BhTILnZAC4oqblKMo082HapNoxbGcjBNIsm/Ns85la/DP
184
+ 3V2FdZINAgMBAAECggEBAJpO6juhTryrU38ES+KPwQukGUU2XSDUrIrXKZ6k7+Pe
185
+ iJXEKjqznH5xJczZIkZFPrR4DTarFnLtnE9CbXOHLuRsiMQRybzof5Q8upGKEbyx
186
+ sGnxrQ/A21t7TlYsSj6QAtfSSDAnY7O0a/Qm/Aj/yFFJALo39+FYuHqNaXIclLdy
187
+ UbKoj5IFPnQQkY2Evd68jF9BP52+J9/eih4qY7t+QVBsDPcGMioDJGTzPXqotiAA
188
+ v3BbLmrXsG+DigYvfwFLfyAcD2ICw9jHks6F/h5IdO+WPm9BBiz0jqmJFv0bphiP
189
+ xixZC+/CMH5sEinCJXmHG7As16HonMmvw+svx38ZCa0CgYEA3CMZErXFYkFzO9or
190
+ c+9hhnrHBLMeCgYJhBSdB6mFzdVLL9MRaZAT5qLrLG+iOVX4nMjcvL7szczAgSbH
191
+ jTorHq+kNRc9J0qV6I7U494y04u9XCImTbSkukR4iJBYg25WGRvMF0uT1UfT1RMp
192
+ d7u32rmqWhG0MJ40z2GkucVmYrsCgYEA0VSq3dG8oYQ5lXIz/ZSMn/b3OZSKSh8K
193
+ c0Jz+EDwfB6KWD8uu0IKa15f/wisPIlm6Fde1hlZ80Mh7BefYBxVu/PzyMc5bQWE
194
+ yZa/V2IRCTFtV+Lyq0HT2hc/P4YOnSZWFnJUvItcYALDcAA+XbkE3Nu+6zizW1S9
195
+ SUUfBfhxBdcCgYA7xrwUPI+wsp0b745FGQeegNByEkFh72m+F+rcHchbsEOOZP4h
196
+ cCI3Sp4ZnuaqMxIjYNev2RhseeD8MQ+W5ei3mHI6iGjutm4mjEJ67edXUmbFEfDc
197
+ wOTKP7WLP8cJSXjPsKCm4rrt+2cmQOHNxYeTOT9s3cnUOeGVPqqAV34J6QKBgG+/
198
+ jT/BebuXxM3dG5ghtzimNLCOdYzAKWoCbbp3oGoCO8SEZkQdK0bKKOETFi9zAnbC
199
+ PaR6ACT3D6LjsXczaSlfQCNNB4EF0y9yxE630XRg6IhkZTu7docUpfUZca+/CXIO
200
+ MuI8W2H916tw1dperRPiU3dq24TEJhB5T+h2CpAdAoGAKUTEcbu9bldS5E0xie+y
201
+ bnxXl0irA17jwlWz0o3X2rxHwx0fQKDixDbKH3iFFN7MAyAlObqJ/q3ecjrfHA+y
202
+ HA+cnex6yHXNzTc6fCKj4ZeKMx8sXOv0t4qtlNLXChfxLQlYndN6VsLuhyy04ZtX
203
+ AYRAWJaMU76KDTbwjnBrDEc=
204
+ -----END PRIVATE KEY-----
205
+ """
206
+
207
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
208
+ MIIDLDCCAhSgAwIBAgIUa6usaYtQvU3SpCXwC1JZ+v6+V+owDQYJKoZIhvcNAQEL
209
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
210
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgwOFoYDzIxMDAw
211
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
212
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
213
+ A4IBDwAwggEKAoIBAQCfSnAPjNYAaVYFm8sz9GPz3PytW3pZhdlEp41qyD7JKgdQ
214
+ znBMLwGHx8k2eT//mKovi7/4ASCrtgoti7k06GIRCM34ltcHBtBhwksJ3nlzvW9b
215
+ e2r/MzXN9nxNqVFf28Wpp577hngtnhm1Y6Jm7eVZP2C5nrEfOE4wwXkaG1wQn6ED
216
+ TvIz5G9pF0BkuqCKFajygtyHl5s3GeuysABMOLnj02K8IClStUd2sD3tuXoOhxZ7
217
+ dqtmN0HHKgA6GEeq1YNMpPmHAorJ/qgTWXTvAsHvxHIYAOvmOAFDBwj4dKBR3vCz
218
+ YpO7z/AfkHNJQjVMCZS+TilS8KvEOqrXg0jk8wf7AgMBAAGjFzAVMBMGA1UdEQQM
219
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCYJQ+LL15Qfnbw/Fi45U8Y
220
+ oBqdURidfgfqYD2z61hIE7MalIKy8zqsIadQc3+3xnIJRF5QrQ8ctpZuWKBjZ7Lx
221
+ 3c5NOENmNK4eiD/M5Ip9nA7XyyxLWkNIgpGLvJGmjTsH5XJBQjnUhxWP+hvapcox
222
+ t0uhkXafa7iQ2PCZfhAkdS+4rKl5aC2+gNPNN9unbTyrI3pUKv+kfWiV1rW66gdh
223
+ QMY98qQwlDA5FP+3Sldln9XbVUwZipEoBB6U4TwMye6ZuCvHUhi7eE037kN/RRWr
224
+ vvQxYJQy+J/dMVfCZ+DGdBMp6Hdf/uH+C7Dh9hFK7txq6LvU8sRCJT7CM+WSNNmB
225
+ -----END CERTIFICATE-----
226
+ """
227
+
228
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
229
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCfSnAPjNYAaVYF
230
+ m8sz9GPz3PytW3pZhdlEp41qyD7JKgdQznBMLwGHx8k2eT//mKovi7/4ASCrtgot
231
+ i7k06GIRCM34ltcHBtBhwksJ3nlzvW9be2r/MzXN9nxNqVFf28Wpp577hngtnhm1
232
+ Y6Jm7eVZP2C5nrEfOE4wwXkaG1wQn6EDTvIz5G9pF0BkuqCKFajygtyHl5s3Geuy
233
+ sABMOLnj02K8IClStUd2sD3tuXoOhxZ7dqtmN0HHKgA6GEeq1YNMpPmHAorJ/qgT
234
+ WXTvAsHvxHIYAOvmOAFDBwj4dKBR3vCzYpO7z/AfkHNJQjVMCZS+TilS8KvEOqrX
235
+ g0jk8wf7AgMBAAECggEAKBWnVYJvZ/MZ/pdR72UUsg1uWIGorFaOckRnxfNWOXEm
236
+ HiOVBtbdX7na3KZugHd+fDCCwnomKo/Ix+VdWf8QjpDUpDXxLod8cN1f3L/reEC3
237
+ gSHxrv7ID2hzp2dwXtsDRsozq8APBgu/FHJaL+S1zluwj4VrtRuKMaK+Qt+Xr2bW
238
+ j2MpJxv8qJtrUmOipJGlo2eqmYOx4CDs+NzEXQJJSLr7u+UnT6H5LtAhEc0t8h8c
239
+ v5l/vBlU5bFcreREGiU5RKjITA7Dip5vTy00qlMoX98bRmI30hlvQSawKbeXBMOV
240
+ neV260Em3J28DIcsorI0OMxGK3nju9hNDFGfnxlpwQKBgQDK0Kc9MUOV2I4IWDqh
241
+ b+8coFGlT8qNAYh1+9Cd+EfwWgVpQfKrs+2D1IJgBhE2g5o8SDEClVYn/1rbgw7W
242
+ z3fyCey1ERzaydRs1QkTsFJs3r39cRRMDVjX8/tt6CsO6DWBK783mVKaWrTLsoAX
243
+ PrAngfWO9gr0MzauvbNiJXDQgwKBgQDJD+twjRKqbbOwqbrXq997aoL1QmIFRVuc
244
+ Ls4KsLmdeBrGBX7Xg+/smeaWqCpo7qBfxwNbXTAQi0w4KTT/YTZltK+/A7obJdLH
245
+ G9h8MxShBL1Dk8b2lTxGwwApHvHSilffpIZJ7lURQWcZnUozwT5/Alh+rJ7yJzZj
246
+ eOTDx6BhKQKBgB8DxW9gJzu1ABNamqyxV1mDUrj6+LiTcXDJb1+Y5jdlLMqp4RhM
247
+ zZeJWd6hTuSNP3rUd1ozyBcZv6Ut54kF9Qu4ZNBTq5vxnWB/O4IdRp2LenZVYos2
248
+ x01O7DYkeOEwtW3paLZx5eXg1SEJTPlBBuMjxo90JLyvUD9slw/9NcFNAoGBAMC2
249
+ GIT9QjnGAee/Fw2meAKTuUeYQ9knfEH7fpMyhgYPWyIXnFa259yQOjqGnneK2H5U
250
+ grwsWmhRC1H89QYdyAS9pYFg8h0ZKKic4OdSEmCu6TT/TEGGEosEVoATX9bbsJPz
251
+ 3p636CMs28PqRXfLrboQpn9rtsEEopW/Bw07plXZAoGAZsHZOwRa474VFLR5DPHH
252
+ X42wdjWMKR5IRp1hkYwoxMC+ujlMCSJ6BnS1rYQK+795M+sn+9kVVfEv1tMuf+sa
253
+ V4oKG9qthjxb+MsqQyKYCF1WqM6jum7dpD47cuhg08/taDHT6yKzFTrT0sJLB3to
254
+ OV/477W23T6I0SBvrkruigE=
255
+ -----END PRIVATE KEY-----
256
+ """
257
+
258
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
259
+ MIIDLDCCAhSgAwIBAgIUNoDaXQ+0Go9hQxTxGLs0B7vxTDQwDQYJKoZIhvcNAQEL
260
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
261
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgwOFoYDzIxMDAw
262
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
263
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
264
+ A4IBDwAwggEKAoIBAQCwHxpAJMp1U0WJHLmyRi9bii71RoGv1NjkH+PuRZxigaFB
265
+ VMsjZndD+Is3DdYDWvPD/yQbe+pA0Ne/h9gLA+JAyRClPAhvx0hl20OQ/5AQDHkO
266
+ fFcgSyZsnIqqkzprHNHwEu+wJahTHNuRJb9iesNxDqXpV3Ve11wJf2Sh9o807a24
267
+ 2zTMb40CxdhF47Y2ZypDO6c7DbS/WJmEdTihCh4T+kgqSscXHlGAGlq9M8Vl9Mtd
268
+ uDxNzybWV37wHY0XNaHyJSmwlwznVE5Xz7BCjtyL2/Tw2Cp62mil4RvyHv3An3N+
269
+ lgC45Mo35mWX84VcBxqXfyNTGtw6oQ2SWllbGjUNAgMBAAGjFzAVMBMGA1UdEQQM
270
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQA9A7G1S48zTgsU7elNwxTm
271
+ ctADVimn5RWpVSHWJnRXCM7XQjzqvZ6LDyQGZAks8bE6cX1yHjJU+bJYJ2foYk3k
272
+ cVE0Xqozc9c2a54REY301NnHZB9ks8ptXjf4JZrifqStALW+wotqWIo1OSzcgMYJ
273
+ vaP4cUo4Tx29eYCq51jsqW331gY2ZqClzMn6DbhRJVQBH7avnTTbWWShnZ4sZxM1
274
+ un7BkM/d3t2ehx3FFBdoMSTCcXa/TolLO4DlCH4b9dojvW4HN42RrTcruwMx6m3/
275
+ KgcTOMtluX0W/Ti8H+SqCghru8FK/6HkE3EViCvYnHsr4AyEVXGzk+owTXfJq6vB
276
+ -----END CERTIFICATE-----
277
+ """
278
+
279
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
280
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCwHxpAJMp1U0WJ
281
+ HLmyRi9bii71RoGv1NjkH+PuRZxigaFBVMsjZndD+Is3DdYDWvPD/yQbe+pA0Ne/
282
+ h9gLA+JAyRClPAhvx0hl20OQ/5AQDHkOfFcgSyZsnIqqkzprHNHwEu+wJahTHNuR
283
+ Jb9iesNxDqXpV3Ve11wJf2Sh9o807a242zTMb40CxdhF47Y2ZypDO6c7DbS/WJmE
284
+ dTihCh4T+kgqSscXHlGAGlq9M8Vl9MtduDxNzybWV37wHY0XNaHyJSmwlwznVE5X
285
+ z7BCjtyL2/Tw2Cp62mil4RvyHv3An3N+lgC45Mo35mWX84VcBxqXfyNTGtw6oQ2S
286
+ WllbGjUNAgMBAAECggEAVCWIFT1+va+beXcQAe0mk0XiSa32KFw5hET4Uc9QeIAW
287
+ 22/33mIGeaM2YIdryQ6biPlN9xOtSGp/qjLtNdYVM37dRRT5su4z2PZ5wb1Yx1Iu
288
+ RI2D0xoUsa/ZUMYnEyYh5+IkQrS7R3pyLVcrqZGd71ZgTqxKl5Wtk5waKIf0xARA
289
+ IS8twb1GcagQ92Q58wNwz4jXgbBHe+QjskaargGxY/wyKfoTGDd1LaAecdOF2QUb
290
+ gZ2X/R8gzzh1ew7M3QFHA1ZUlznlX6mqycHkEDdkaA5ZDHMHZjUlZigUl6REGMBu
291
+ QUN9FWKmQxvh4lrkyxPbjPl3ZzZWT2S1dHoAm2AkAQKBgQDW+QkIez6s6cvT+oXF
292
+ un0cJbWdrtbddKsU1gl3swvoKbT86PdpZ4v88kNrd8TY6TGYzaAUQU+5VlLSEiUR
293
+ 89Dik/7xfcJ9xAKZk6jkbdQ3PR+jn4KnmZZxUY1r6u3VY98cTxSUErvEepSpYDDj
294
+ VLoJ1kvrNeawn+Yelkpu41fpnQKBgQDRu+b7H8jQBDCLTBv/uts99+bH7LCu5udX
295
+ PKkhK4EoqBlr6GdnemAeniXYwW1sDspa7dAAEDuvDPVU7q375FttT4Uf4y2KFsTd
296
+ 0DakcG7eFa3J1qn8EU1KLA6pW+LV+Y73jDzC6alikb2+2TWPAwtX6O0RY1Z2pNfv
297
+ K9ArLQ8WMQKBgEUd1qCqd3FCziz+fCohln4JRcZH439aNnNBidO5dleTqUQzZvC1
298
+ wRV3kuOno1uWRkL5wcEhao+NSJ2QBekquftPWAWuyGyFK8zS49dl1HhaJ6UE8Q4P
299
+ 3IXckZqj8wnLzX0dk+Ez0LkQLGH0smM054eoJcqfDue00Vj+OzpB0A8lAoGBALzt
300
+ EV1nPUI8c+oWziXnkTTaCZZQHLwAnaXUq9mIUdloyzWL7RGmh80s0pTVcJblH90W
301
+ 2cYk2U6PUrOGKU19X+owto+J2ezJI99XftFTwlrlll35s7evcjr9QtvGPKhZHDLb
302
+ raQ6TW3QMOcozHkd2er/lAWUwT8wsJ7ujZ9HAI8RAoGAVAEhprvCzaKzYHkN6mLe
303
+ 32H+GjtayEeF5JdXLPA5mmrYHalfT5w7sCuavJ00OptguRFeOIFFq63c0rOZh8jV
304
+ g8TFLaV2R3BVYL2Lr2Cc2gmtN+AYBbM9IKzk/JFSTjp5R3N31MM2iL990Qvlj5+N
305
+ 4UhwyFHCs3KOsaBrWy6eFN0=
306
+ -----END PRIVATE KEY-----
307
+ """
308
+
309
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
310
+ MIIDLDCCAhSgAwIBAgIUIMjA9usezqPG812Y++0Upkri/xMwDQYJKoZIhvcNAQEL
311
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
312
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgwOFoYDzIxMDAw
313
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
314
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
315
+ A4IBDwAwggEKAoIBAQDLxomVu498bb2IIN/b6aEe/TAO7KlTEHNMSuSA9OtKK9Rn
316
+ idxm41gWsyAb5JWqXkIOPg6mhuFCD5Xp1NOO3n541pEbE0P1Bc1XmDyDUq0+VqJp
317
+ hoevlCEmDbnfTPpqUWcybpGLeWfteQBWaMyiesi+PD0ABQxdvgDfmoeBzL4QDUhM
318
+ WkwHe2IthuUvAwW589PKiKFucxkZnHaZKYAcPzlWsG1+i2NSzL2TbCwFA9+pPOVJ
319
+ Aw3QbPmTviIgrfE3/oJbgFY+g1yoh3YALpe4vUjo9g1qW/joqhzLq7ZRMgxkZwyR
320
+ kZp/CXFUR4S2iLmU/4ST521avzBi/Mt+YEATvjbPAgMBAAGjFzAVMBMGA1UdEQQM
321
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBGQ0xssTKZRLCHx6yhG6Wz
322
+ eA7v0UIrUUtLBIwN8/EIVuYScv2o29kWQ3ANYhO10Jbj7uh5Pblk1CGkJO+kT54V
323
+ Xcl0okSDZ+IEV2D3ogUfOK7KLliHEy5WLfzOs829B38Sm5gQiAG8JdTHj9gPkb65
324
+ Cai4YYB2CESOdB16Xa0h0YKwtp+ELgaOOnGrjzUDEp+H+1tL6FOO4+rHxzE5wUAp
325
+ uljmdZ4LMqHh9vigEf+G2qpjuQzDgB0yPaQlDNnfus2MkTkyGgRBwPr27bdnNmLF
326
+ nJhA0ZnehIuVWm7CVRf1NJD5RbHBqVY3Lr/JElU9DAudrlHnxd6vh1qCquzBoRyr
327
+ -----END CERTIFICATE-----
328
+ """
329
+
330
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
331
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDLxomVu498bb2I
332
+ IN/b6aEe/TAO7KlTEHNMSuSA9OtKK9Rnidxm41gWsyAb5JWqXkIOPg6mhuFCD5Xp
333
+ 1NOO3n541pEbE0P1Bc1XmDyDUq0+VqJphoevlCEmDbnfTPpqUWcybpGLeWfteQBW
334
+ aMyiesi+PD0ABQxdvgDfmoeBzL4QDUhMWkwHe2IthuUvAwW589PKiKFucxkZnHaZ
335
+ KYAcPzlWsG1+i2NSzL2TbCwFA9+pPOVJAw3QbPmTviIgrfE3/oJbgFY+g1yoh3YA
336
+ Lpe4vUjo9g1qW/joqhzLq7ZRMgxkZwyRkZp/CXFUR4S2iLmU/4ST521avzBi/Mt+
337
+ YEATvjbPAgMBAAECggEAAnGlIMiZFfLy/Pj39lk893Qt6V/pP/fIijezueA2GjOg
338
+ XoWGwS0k11Dap7r8GIj83dLcth6UAQjS0XUd/G6qsaRRJTP78qpZJh3LS//n2AGN
339
+ /RoB8pciNqSfgBAaSMAlLrOoxzVzi6OR33duTNyQH8f1K1TkKxOmSwg9a88a0HJy
340
+ 2Qge9vOOGObhuEYJyWY3tYBKOuF/iLbvE8B2Y4Ye4gGn1AU91nLVUNaSf032A7QH
341
+ chmBFTGEER3p9vgvZifu5DLcnUIA8vbiBGN8ofiUs9ko8wYEhaVott+B5Tk1WLLr
342
+ rUIUwYhJLgbL/lg5zdGlk1U582t9MyKKP+isl5vHwQKBgQDw3HoRigqtOIozmmf9
343
+ lxakvsKvPiH86I3vUc/H8q6Bu2mrI3yxR7lsuYe0KggYoAn8DQ3kvZWszbxRGl1k
344
+ AbIZqVLzL0+e83VX4J6j/QMKy2s3JHcYSAQZ7nnU1MHVj8VdX5SHwzGcjxdAN9js
345
+ 7f1tEsSLTfKAHVWKbcaW/n2skQKBgQDYlVdvjjUWhKCk097B997G6eaahRZZWpgK
346
+ o1kFru+wZlZyVszzSL1oaJXdg4v1ZQgyJibu3y960RZPG8MT8ND0DXQf7SDIdz4X
347
+ 2LioWPiOv8kckH1z9AzQnUkUtWbosV53xKHfZiuhNTyjOjfkvVWrDZPO8u0OhZNC
348
+ 33HDDALdXwKBgQCrKUJlrF8h8YfkW9mCUBf7QsQ+nDyy6N/ULaMmR8LS1kelIja+
349
+ FGYkaUOSODxAo5n0z6IL5t2ySxGD4OR06O+TZMxZnElMf13n8OtLRcUfqqaqLPOl
350
+ AahIdTuGjxqflOeADygRwhhDVTwEmqtA027AUBHznJSzjiT3lkMFkhvkwQKBgQCW
351
+ XpFXHVeUa76Q0Zyd9PcSCYEWlQIgRXq8IA8FmCBHy7WHKuaenkkKvVoXcmZwmJWp
352
+ I73yKLhxP8uKXw8AwDiCyPhv1hXluIw+yDPkhekESvlZQKQpJi7jg+AiZZOuSL76
353
+ zmVIkkoGYczY0unNgPqCiSmvDBAz/d9xFWuJbMRsZwKBgG0zfPD5r1hk44DpNUda
354
+ VwfUXecRVfCMF38N94h+Y5KuuR76fNTEQpv3WLQxnwbvvKsQ6ktM5geSs3oZk57O
355
+ ThVwjLgtSZdd9CMp1+sH82iP9kqxCVXNWtwWcoDJ4LCyS94L6OzhA4Vxc0px72Hr
356
+ JKDc6KKfmJrHh7z02KlKx95h
357
+ -----END PRIVATE KEY-----
358
+ """
359
+
360
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
361
+ MIIDLDCCAhSgAwIBAgIUPBezel0+gYQ75ULotR1tSq2zBDowDQYJKoZIhvcNAQEL
362
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
363
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgwOFoYDzIxMDAw
364
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
365
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
366
+ A4IBDwAwggEKAoIBAQDPpF301kklnHmr9lz++7iRev33RBfOlOugCeTFDnyjgaR3
367
+ +PQoAm5yUyVa/Xp8VCe6b8Ksrcj+2xslCwhTtei4TEL19yvybdlQb8ZkZ84WBB0w
368
+ 22xneZur9ZAcNSx6+SjBVrmXb6f6UA/NXibDheYnGrNwoCJEy08+j1wSscu/9wok
369
+ Lq0b/ftD9iHh59xwkuQEm+zzlp6KwdqTKWqzm8+Qpx/9d9yG4EesEGBTq2FIr6kK
370
+ BYsVMURKJqmbiG4S2ZDTr2aaVTb3wluV4l8tRPk7vfU8NKJ50/hgIYf5PrjOEN+m
371
+ uwlRojkSIPKQi6xWfFaknToV1+BmKPvbjIfRC6tLAgMBAAGjFzAVMBMGA1UdEQQM
372
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQA4Q1eMPOUARR6xJ9GiU7mn
373
+ shWCKbiENr/p16ZjEoFa+uDT+HYkoQc9QnXH7tAkXDnzYmogGnkd/8G0QrHN/812
374
+ +yaN2agSlF852Hm3sODQ6VYyP9GjDY5OPTixZ1ZZnezENESGOdrO9FLlJPcEqgLR
375
+ MUq82Opri/m3iceHOAz/Zl45dtPkzGhTLwoSmkaBebXPMBfEQyDuGZtahdoHL34o
376
+ CKMdDUIe+PI7dKGgzlxTR56azOlxq08U4NkUzflyw8i/lo0nqWblS9i3fOcqxTUF
377
+ F0Wo/vgqW34MtM1jmK7J89ob0Shyk4tp+lTFpKyZGYx6gsSZhPsvUKgFaWv5vO7w
378
+ -----END CERTIFICATE-----
379
+ """
380
+
381
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
382
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDPpF301kklnHmr
383
+ 9lz++7iRev33RBfOlOugCeTFDnyjgaR3+PQoAm5yUyVa/Xp8VCe6b8Ksrcj+2xsl
384
+ CwhTtei4TEL19yvybdlQb8ZkZ84WBB0w22xneZur9ZAcNSx6+SjBVrmXb6f6UA/N
385
+ XibDheYnGrNwoCJEy08+j1wSscu/9wokLq0b/ftD9iHh59xwkuQEm+zzlp6KwdqT
386
+ KWqzm8+Qpx/9d9yG4EesEGBTq2FIr6kKBYsVMURKJqmbiG4S2ZDTr2aaVTb3wluV
387
+ 4l8tRPk7vfU8NKJ50/hgIYf5PrjOEN+muwlRojkSIPKQi6xWfFaknToV1+BmKPvb
388
+ jIfRC6tLAgMBAAECggEBAKx7tTC08H41xTx7ojSNlXwD1wOXpM8OFc0Tat3mctK/
389
+ 1odyXh7+JhEB0H4NIbo1jero+6XFlrld+OaEi5499dtiPh1j/TWc2nBe6UZulFrl
390
+ f/ody6cI9a+ahONpqFFet+QiznhlX/wmlXnbRAgXKmBBZd2gp9bNrD4jiDBfUQlc
391
+ BHZW7c2hK3oOjzVwKU+gbf/agyccemYBdtqEYPsBHjRchZc/WD7Zt5Xjx1kUhROB
392
+ jqdKLiVQrD7Io9XaIxhF9mXnN61FCu+9GrDRy8RYsz0eiZqeRhIkqKT30TDyhWRR
393
+ eKTdEbRMtMCMKm7iQHrYEcCUM/wNE4xTLNS6Q9v1Z8ECgYEA/QHQWSvZJY4uVsDB
394
+ ocDFAv+umZh0a2XDGHIheCncjuusrt/pWm7m5Sh9zoXQE8AWbTzM26lPAVfCmlhX
395
+ xyrWtkiorP+WsFg5D0PJJO8pDw8UDU86pobp8alC4w5LR5oUdYWrvUPiI4J5Z84h
396
+ VYQtMH9/F6kExYy3XItkfmQW+T8CgYEA0hksYzCqfcdDjirSCvyAgc2fxyQPfu+Y
397
+ VeEZuZXQI1Ar3VQoJe9CwAAAbmGlI70CQb3Ux7nWN0mR1IIPxKbjElCAb2Xd5kRP
398
+ IIqekROw47bU1fAsusCkTeuSgt5eXUUu86LIPaOYipIFKaZBCTnysk/TSbx1vESD
399
+ v9q2f6v2XvUCgYB1Dg7IAspvXq2/w2SSoq5Dqems9GUAf09ZEwy7HJsHoK//JGdB
400
+ SMgYw7gZAb34NUnq9lNNWbLMyz6kzDSoWACIy2sGxyV/pwGXN2Rrax8S8YX0dnCL
401
+ NSYtgYMJq8ZWdUn76YFAipSomyfyR+MSPpntsz8owjEL+QOolHFFLKeYXwKBgDWC
402
+ Ccb9Vv6PqEnl5/a6VjQ43U+HhJbMiJyepsGYQRktSu6kh1EZ/YMOvQ1fuwI+GfwK
403
+ T83KK5+LEiPwN/nakwxQClXUuM3zab+c7kN+o1drcgtGju3FMFNUAs1nutrASvPr
404
+ 6lmgd7Ia/EueNwQViRUWtXYbFFUtkexj1ITxk96dAoGBAOay9hPJadTnl790s/G7
405
+ 8V1XGsJYc3uP62FuhmIr+Q6cDJ/yNzdO3GTTx7Lk6Avq/phmbexvGBegeMgewFrt
406
+ hQTPDMMiZJv6NsZMJhmZeiW/QZdZxGMQk/051zClEQkzNmkZn9C1uJPJfEcSTy8C
407
+ Aa6vQcrVIKjpEG4mO0rZeSJc
408
+ -----END PRIVATE KEY-----
409
+ """
410
+
411
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
412
+ MIIDLDCCAhSgAwIBAgIUePevwBw17O1QxSIuitVeEUltmhUwDQYJKoZIhvcNAQEL
413
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
414
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgwOVoYDzIxMDAw
415
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
416
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
417
+ A4IBDwAwggEKAoIBAQDYCl75++jqmfKWVWn7sgEgX4IsHVVLdX37I7jnY4nrpdND
418
+ ZFHl+JIUHeMPzlnlEHBZHn4yoimLXhuia8VPrss8YH2WcaKyxuTfeoKjxEbs8oqi
419
+ rbjkmwTN8SkcMYoO6wXJqBPZaS2L1sQo2HJGPa7l0K6KjDdepuVJiEuoBro5zHLF
420
+ Le7g1V0aRHbqDGB6WjbgFh36Jisw6yPuNgcYDDl6fVWN5PT/UxOg1qVNrxPmNUrg
421
+ uGlZsCrI3/UwK/cxEv00H0S5qUcLNMb/9wVAvuPhG0UoTIkFPxelB5hSkhujaGRa
422
+ 5S9N4Wr+k2dNMtdO1swClRjWGj0skG0DWiKb0COLAgMBAAGjFzAVMBMGA1UdEQQM
423
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAmIlBN0D+64rjkWlN5bk5L
424
+ 7MVKhgRJmhbEgHW5JmbBkAMEUqf6reyuz+L0TbR2yAkujw69HTAMNvDuvoNewa8Q
425
+ x0qtlTJLOgYz/D1lS+Ti/EHcmkrHIKK9O+lBin2RpPoQZHaYLSpRXt1QMqmfn/ct
426
+ 9Jjx8AnKzTC/nOGDYOYskkPCiQ7JIaVyNFAmFBNoQHVlztDw6pR/Gpnt/jJ4Eyz/
427
+ JZSXHTTfqGm+4rRDfwM7yREwoG19ab6T/6Cbbfi5BbalJG5RqH9V7gLQspQIvwlk
428
+ ByC8qnXsqTu5UNh6GweiYWSb4zIol6a6i1SGY4lZ8ejkQKezCX5mU1GKkZhX7rOw
429
+ -----END CERTIFICATE-----
430
+ """
431
+
432
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
433
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDYCl75++jqmfKW
434
+ VWn7sgEgX4IsHVVLdX37I7jnY4nrpdNDZFHl+JIUHeMPzlnlEHBZHn4yoimLXhui
435
+ a8VPrss8YH2WcaKyxuTfeoKjxEbs8oqirbjkmwTN8SkcMYoO6wXJqBPZaS2L1sQo
436
+ 2HJGPa7l0K6KjDdepuVJiEuoBro5zHLFLe7g1V0aRHbqDGB6WjbgFh36Jisw6yPu
437
+ NgcYDDl6fVWN5PT/UxOg1qVNrxPmNUrguGlZsCrI3/UwK/cxEv00H0S5qUcLNMb/
438
+ 9wVAvuPhG0UoTIkFPxelB5hSkhujaGRa5S9N4Wr+k2dNMtdO1swClRjWGj0skG0D
439
+ WiKb0COLAgMBAAECggEANoe3nWWmTsD46FU64Rr3CdLRqozk4J0RZXiIzW7keyRq
440
+ BNKnkWKCjK1WiMDPE/BoSzZVKDaiQdlJJGALd6dpCR5Z1MVuCa4GSxpDK075kAlQ
441
+ UOuEhb9TISBD/ifK7yUHWvUfvXq80lUtQhoQDga3xK49wB7QQwXhTgQnBIxeKQQo
442
+ uB6FocwUmnA/Wy12PebdvxnbPTYt4I2WGRmLp+jceYUmn8y2bNx040+IDd438KqQ
443
+ 4jHuGqa2inpM1xVuGHvKCKvxt7THy4y1GeYDuaSTNPt+ZOzMKj+8tC4tdIiEIzG9
444
+ 4ctuMBHf+Q27eb6DyTZ0WftTmXAH/Ii1mkdQZsz7EQKBgQD/ywCbUhDqGmgCQB3W
445
+ Zdno6goXP9VPemp1CLyjANMm6+uQdckRUfGDSpP38SPLDvjVjfypItSRwEqzsOjz
446
+ 9I6w4RrRZeftnrIDnsAaHK8x4NLOIsN5uJtHYEaRoaVQI9ja6vQbhNVt9lGIEIO3
447
+ /bhbwyILEcxCo2Fzgt8HoZKWLwKBgQDYNyHg0MKtxLMbkDLL5JIzMEXekTC2tunQ
448
+ vylmi1hT29SHs94DiHE6qrCQnejSr2TLitX+O20NLRfCDF2U7TCY5CY+V/T78fdJ
449
+ HKO/+AM9WggYbWPmrL7xexdbBeMomtye1Ppk2uemkf8CMH1ERvaMeAimIRpcRaLy
450
+ pXQpZi2NZQKBgQDlkIoF23wkrfhEdMiSfyw3dbwCq55ESyg5ytKJNBdM6hSqvJrs
451
+ eW9YFll//yHRfqlh96EXJpRCDqK8a/xV3Vkmc5A+98dTocY/q3zasn2lNRHcQKTQ
452
+ nBZ303biAoG7z8AykQTtoaRuoM8BX1jnisSnThRCfQGlmL3ADmcdkSterwKBgQCl
453
+ 1muyvwyDMdra6lg70T5d6sm8c4p0qoleZjFACOMftv4lc8120kFe6SryUVwRtRvP
454
+ jtah4Dy9nXeai9d/cgoTSvMWYGp0kFvGhSQICxeZCCQrcEPu21K9b1czpqlcLKPJ
455
+ Y7wGfWyuc06wBDcglnlmtm6T1dIdMgBQsp0NX+TSjQKBgENTh+6BBRVwiUo901On
456
+ fxDPNTvQwk5hiisaeCG34CZ1qFbscDcOQqkwVoE6VmHXIvCw/7QLU9IVOrdf/xY4
457
+ Mcx6O9KpVnvA8ZVFU0051qh4HTFltGml5p/mwFly4SiM2M23EXS4N3cZYa5kQnp0
458
+ NMOSFFplOmKgVLmjr7ecwHHz
459
+ -----END PRIVATE KEY-----
460
+ """
461
+
462
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
463
+ MIIDLDCCAhSgAwIBAgIUBqJvyp77D14V2vRSpQEMvr4LaOYwDQYJKoZIhvcNAQEL
464
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
465
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgwOVoYDzIxMDAw
466
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
467
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
468
+ A4IBDwAwggEKAoIBAQDaaW7GUi71V+7SiknlTlrVQBokOlO7l6AJ8gjq3UOvYs3c
469
+ jd+XGO+hG0QpWhGMFwAD7Vfw2QLqA4MmgkE3xFvL+YadaOI1SkyoLMj+gM1W3NIu
470
+ wYn3dWQiB9i+u/Z5nv9rOYtfJAEllQLxY3j+7B+HQsU2bP0oRdUOCgDS7BR+SVuV
471
+ 6f4YkHxxdcwW8AE4fyqZ3R/ZUXi/Op4H+/9e8nqGPFd1TkARJtXErvS7zRwF7PT+
472
+ h0q3m46OyYqYLVmVTAHCNWgDJEnyzYCzzocixe/9EBwVcqE/DS0h4yfxwmJovhWe
473
+ BMg+M+vaBQYOtz+23xbQfEW4/dxQecl7DKqmfCPzAgMBAAGjFzAVMBMGA1UdEQQM
474
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAD9AGq5YOxEAr2veRCi7n3
475
+ t+zdX1PCsjIyYRPCsLpjBXklC8lKTUK7QI3P1zAZFkYVxGGn/YZf3gVUMNufFc+n
476
+ KY9glRor3qH8AlC7dhRkwj2QOkIS9442w9wgAiYUdofsY9JLV7gx04DK4UuBWuhZ
477
+ usDZo7sw6IlvynHP8KOr60SLMlgXb4uKYNAokiC14PL4kCk31i8XaXPqcgvx2WLF
478
+ 8z5OqUpJrcoIZPQwkAI7ajD2crsJbJ1IFv3ZDNTXfnjoGJBfCtWLk+mkZHpimMBH
479
+ 7bEpyOLEL90M7zNkEyGmXN7HcxgyLY9LNnRoDvHTCuYMDzJEeN5EBJqi5lc6S3LD
480
+ -----END CERTIFICATE-----
481
+ """
482
+
483
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
484
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDaaW7GUi71V+7S
485
+ iknlTlrVQBokOlO7l6AJ8gjq3UOvYs3cjd+XGO+hG0QpWhGMFwAD7Vfw2QLqA4Mm
486
+ gkE3xFvL+YadaOI1SkyoLMj+gM1W3NIuwYn3dWQiB9i+u/Z5nv9rOYtfJAEllQLx
487
+ Y3j+7B+HQsU2bP0oRdUOCgDS7BR+SVuV6f4YkHxxdcwW8AE4fyqZ3R/ZUXi/Op4H
488
+ +/9e8nqGPFd1TkARJtXErvS7zRwF7PT+h0q3m46OyYqYLVmVTAHCNWgDJEnyzYCz
489
+ zocixe/9EBwVcqE/DS0h4yfxwmJovhWeBMg+M+vaBQYOtz+23xbQfEW4/dxQecl7
490
+ DKqmfCPzAgMBAAECggEACByWUqNGvzHu2r7sE6ofUYA5+FJ6PaNZ/ESS9DYXh3IB
491
+ 90kFntT8QV2D4I1JzYwlIgA0netRYmOTAWEhDvMp/Z9c0ofMrvH9etl+9YTPG4TE
492
+ AZyKhThE6cak1CCi/M1c6xyOApCRwlWQcGqjWcRnP1zJekX9+Pru+MCCW1MNR8tc
493
+ GbKZ3IDBp+c5APBiaTofBtik3aAylE+ncrSIjSmygaAk1yysGg5cau35enA26nXu
494
+ easYo4mDdSGEnz/SkFeVe+XWav1+Hksyu1W2AFVq9ZJHrnH9TuBnwW/nLl3NoSoi
495
+ 03wgLw1gWvZKPopoqNh1rfGARL74CdyJvbA52iTy8QKBgQD1q3lyYCCL7X2JGsKV
496
+ 7fV+lHA6V4YCIQlGsBilfDEUErTCATZZZA6RMAjmm26fMNWySHl1lU6n83rTcf1D
497
+ r+S3hPA++CmAZez2QzJJjTb7/Kth+Tu2yIZbIlzJMLp7Ef6gLFy4BHWydOgSovAr
498
+ uW+Py+YbbFKTIEd25eYMOmr11QKBgQDjmInVphJQybb07U6DT/Nz9yfuUD/6PuDN
499
+ GneEnpMoQgc4INg9ebhMBIPvXxYxqkzNYEZiopmTPS1Lk/INC0BklogE/EOpzzXW
500
+ HGwjtMB15VaAZamVmXm2P4IZGUaW4dDrSB3lZmJcsuA+AlJqhgwvd/JHF4enVtdI
501
+ CogPjaOupwKBgFFC7SMmJN3kKrglP+Q0GBZMp2rE9LDTmKvnJ9/lWp6XKW9a001y
502
+ SVdBGlCdbVP+5VDZpEN+pcvsP96dP/cZwX/q20UY9TFhhaZXx9SIf32OsGnx9Qya
503
+ +8Y9cY+jLKv04dK9mdXMs9nZzcIMX4E3D23zNiQwCohcDweHODcnQ6YZAoGBALXy
504
+ M/6AjRPYrlKPg7ymJdIHO/zgWsULj1toVTPIMYx1fJ/6YeSDcjoTQgYS1gNOSafF
505
+ 137yziNPPO62j0KuRAQl8wdJRC50YG2Su0CwN0wI02ZB35ig4RQ5ISA/fJcSX5o4
506
+ RO4nM2s39NydrpVKJGOuWBlNTj0Qx3noMW19peTxAoGBAOchIvJsdoRIOAUsIyym
507
+ QcRGHtELfK8tvSpAubFYYI8fhb5vtmH3LdNrZvmxqJa9di0YRDVCt/Cfq+ZyGruy
508
+ buKComyjDK8l7hyjefunR203JcmSWnWNtC97veGBZJeVmzBM115zy2djcaHpSYYw
509
+ qmCWX6bxt8M+lvlNp/Zh8Hnp
510
+ -----END PRIVATE KEY-----
511
+ """
512
+
513
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
514
+ MIIDLDCCAhSgAwIBAgIUHjQDXM3yOfjn9cS6/zkVXNvAcPYwDQYJKoZIhvcNAQEL
515
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
516
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgwOVoYDzIxMDAw
517
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
518
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
519
+ A4IBDwAwggEKAoIBAQDlFI0WeUh9oK/l1+Kpa4JzUd0pgEWwyCKrtaDIMzuTPJEB
520
+ XA7OVfkemL9q1UAZ9FljEYXzFXzTk+OXwN3I1S4lFgitdc8xBQLljv5HelEq5H0P
521
+ ypUAE+HELxFQ0uWQqLoNvIqrEXh12mgdFvyIqyJj86Cvqv0J4DOEgtsXjxGYO+/4
522
+ ioJ+oO0yfe9BbL7rED+gfqUKabloEeL0s51sWrqlMOyOyq1MX1rP3cMmSDjQFcfV
523
+ AqY1IF+dgzw/WXbUjvFJPO4IN2lY/v5x9N+i946k1pFvecfXIseyZRym41kpP+Xd
524
+ JwxPasgMqcT/3d0BAaQCGpgNkpe3etisK4+0pXp3AgMBAAGjFzAVMBMGA1UdEQQM
525
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAcxIApP9qu9aa898tHtK5n
526
+ bnG1d5B0Tktv5BXkwS+BQ8uytnm6QtOVe4frxUdKUJEK3085Lr0B/j3bJNyJ4m96
527
+ fjpjScWHwk7N0egLq761XyBv7D1BjgDAsAYyYNOA4mgBqzfrJtLoDjnf8SMKpocr
528
+ ZLDXb6Qy8LGj0D5oaO3kWLzhWEdhFBcEVN/PnnBcuj/vT+MhhLGGJJk8WMp7dajB
529
+ I2+E8WW/RxHoXFHnmF3B7TYPhcEZI90AxmIWGnNW1cLArrvnCodpPvc03om+U6qX
530
+ kkNKgCYDEIJ5dTJWyjA+hwB6XjRgqshNNcc6FwXb2TAyQm8JQkIlRX4R6bjm5KEr
531
+ -----END CERTIFICATE-----
532
+ """
533
+
534
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
535
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDlFI0WeUh9oK/l
536
+ 1+Kpa4JzUd0pgEWwyCKrtaDIMzuTPJEBXA7OVfkemL9q1UAZ9FljEYXzFXzTk+OX
537
+ wN3I1S4lFgitdc8xBQLljv5HelEq5H0PypUAE+HELxFQ0uWQqLoNvIqrEXh12mgd
538
+ FvyIqyJj86Cvqv0J4DOEgtsXjxGYO+/4ioJ+oO0yfe9BbL7rED+gfqUKabloEeL0
539
+ s51sWrqlMOyOyq1MX1rP3cMmSDjQFcfVAqY1IF+dgzw/WXbUjvFJPO4IN2lY/v5x
540
+ 9N+i946k1pFvecfXIseyZRym41kpP+XdJwxPasgMqcT/3d0BAaQCGpgNkpe3etis
541
+ K4+0pXp3AgMBAAECggEAJrHH+ynVYtMHoy1KLg/o4w3K672tB+VmZdayJ97vizlJ
542
+ zQ79uUCwacinXKZUw42Qo7lMBPl2Mk7ivLlpPQk1WDJWmOYzbzZHfPsgXHZ+y134
543
+ +ffgHzk8g2Tn6d0Vxc+aTcOxMKAs1stjlrZRRcySbIu0crfRMh/a0+E+nMYf1LTJ
544
+ LreWGqApjkVK/lE4DyA/GJfJlNd+fCWVaPRwBVtI+PZmHkl5adonnNyQ4W7bxJEp
545
+ WGrD3FjHJ5XGL/dIA1JfkovpjRJQNXY2PgFiGCp4X13wc3V1RHk4j5dTxGLaVFLh
546
+ CFp3Xh9CmzuYD8IarLNrqg9xo9fokatGpYLzBch+UQKBgQD/38KSVwvsD/X0SFxB
547
+ niTVZYSD/tA98xH5QJuBhjnCHpedriJ696QVF5ncjLl4C1N5c54OW2Ra7T5T/WcY
548
+ RzY4x52MntG4umd/R+J7rcU/HLSWADn3vpQtuMqAaRMx1C0iuSsER9zdC3//yIYi
549
+ Pj6Neb4CrDIRQdj60I+g4yOFjQKBgQDlMWpCtT47rcYQ/1mC441tctP3xlYz0oSS
550
+ RsKRbYWbC+i+GH3WZjl1MjmvbBlLKk4UQKUDuovh5jkGpo4kxUFX3dAgf6Wr/+T5
551
+ ZqtjCw9sxCjU4AL50OcaKhPlR1OVMqJu44WiinoPNTDozFwo3blpwB1pUc0FVgvd
552
+ 7qCvNMYVEwKBgQDUk2KDz5uRCAWPaFp1DVyOiWOZgaYiAYIKMNnAtvHfSyktD9GH
553
+ lZuVBmGGcMdZaxdzjFFgnh72x6kDgEAZVHhAnd5PSFb2AK8heGg51jlL4J5LDG8c
554
+ WxGiFqbuHd2bhSnmci3Bxa5BWl+B8mc1pb60LNNmRwblfW41mfXpdSs6tQKBgQCs
555
+ +7bv0ku+T1IG0jOFDqpXySsi/5dgVaupm66OhNMqSrrHf0S65TzIr7fKJxSQHsX/
556
+ kyr4vXuGbHTuCBeQuTCwWMIVRUKNpv3zHwKMJnTl6sfGo6ybUIicvtV1X3g+S5E9
557
+ kIv0OgAWKldX3aZRUcf3gQCx1QOg22jpgInWs0Yt8QKBgQCWSBr4r89eX25a1JFR
558
+ Q761R1Xr2B+VHRLlzxnDHuqLzuebxlYErYy2/gpjQh3iuGTdtXcviKIvlkZb2BoU
559
+ /3QDs5Hgwb99YJv5SxNzkbu46qPsG873wb+L8OOQ4HneLvzovfgvHOFbs7/xeUAl
560
+ 5UgaquXT9oLVfoI9RDSReFiCsw==
561
+ -----END PRIVATE KEY-----
562
+ """
563
+
564
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
565
+ MIIDLDCCAhSgAwIBAgIUaYsQ6TR2c6krUj5rtYG1fdLox7wwDQYJKoZIhvcNAQEL
566
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
567
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgwOVoYDzIxMDAw
568
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
569
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
570
+ A4IBDwAwggEKAoIBAQCyZrrU3fBR88wFzlro0PddB8t5ILWZW5T4BqfGtJZUXgFR
571
+ wC5beEeufrlXk16bFIxLV55QWEn9PUIn7W5dz6sVmcj82/v52QOs0BctIhkc2ZIn
572
+ fj3++1C7hyNcYVAk0aPWXLvSnLx3jY2qGunO2vT13APoi00HeBxYv66ac06m2n82
573
+ xBQ/pZNWwCg9XRjPADDk9c6DJTPJGHgeeTmXOAI/obAP5V0FnrkPpC2lXXWdXd+B
574
+ Yco12V8sEFxocUQrRhP1tN6B9Aw0w1qTrTdD1jBF91zE+OCeQ+lgupGMZG7LuvOi
575
+ wvKocJugWQA3PoblbM4NYz+Q1QR9Z+sjLr/SdRLTAgMBAAGjFzAVMBMGA1UdEQQM
576
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBs4EPhrB7jb6BH6cMCtKTr
577
+ 28TcvWfC4eBd2NZKCI5ZsyerfwjIg1F/G7WgmToNE+FR5izQISSTzwzZhbEQlrt/
578
+ +bUeuUWHM6wk7on7cmSw7qVt7U7yRBFW5DKVcKKjO7s2Bs5JmVH953RTmRA7pM/0
579
+ khHIqJL6GfpxeD4zWO4P0Gipxr7ugqKNTViqZQOlIpj1vZpOOGWSpm/oPmp+XphI
580
+ TiwUtjaIW88JOy8oh3v6vM7FOxiAoqVhnkk7jnvYBR2+zrglMY1kNz/xQHYsBBDt
581
+ b+RUdVHiPgcPvlD+RhNxhqjfCeoAA8BQ5w9AOpum473CA7efRTKhusjP3dMz7hop
582
+ -----END CERTIFICATE-----
583
+ """
584
+
585
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
586
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCyZrrU3fBR88wF
587
+ zlro0PddB8t5ILWZW5T4BqfGtJZUXgFRwC5beEeufrlXk16bFIxLV55QWEn9PUIn
588
+ 7W5dz6sVmcj82/v52QOs0BctIhkc2ZInfj3++1C7hyNcYVAk0aPWXLvSnLx3jY2q
589
+ GunO2vT13APoi00HeBxYv66ac06m2n82xBQ/pZNWwCg9XRjPADDk9c6DJTPJGHge
590
+ eTmXOAI/obAP5V0FnrkPpC2lXXWdXd+BYco12V8sEFxocUQrRhP1tN6B9Aw0w1qT
591
+ rTdD1jBF91zE+OCeQ+lgupGMZG7LuvOiwvKocJugWQA3PoblbM4NYz+Q1QR9Z+sj
592
+ Lr/SdRLTAgMBAAECggEBAKQ1QLUcj86vK9UQSsdPSNCdkyEsBVtiW60sWxPgNxry
593
+ 6B36WfEhtkEcLbc5U3RFJplWzcbAbWImF5Wuys6Yjq40PjbYuYcQxHw1kY+eeiT+
594
+ 8rNdVO01H+tsiRTIEb/CIx71foBuel9EsOepHBqlmaIP4J0UU1OTr+vUi39osTWM
595
+ EDWKS7FrQPGwpzdXwQZ3oDceUbaS6ydSbJO5lyalqXjlwFviV83E9vfC/NjBy5a4
596
+ sZ5NaRSE9IrQZ6kpZ3/UDZQ5vke/xuiDBIiZIO1JMlzzb45D6r3lIJ2iQLT4OTEF
597
+ Yy8is05IZUpCGmuVMY09lgGSxD4Y84+Owe8EmEk1uVkCgYEA4xpIkhCkHPMnyL5J
598
+ 3h0XZjbJ4UfwjsLgQhGeSs7AGT4wXiPjL78Qn1RJNXqafTX4+NgWmnYTa/DOV71b
599
+ SZtIqsoZtKDgsIc8Nb+MyvraDKnbXVeyNUz/80qHi8tYxWp+6Sortp7PO/j+V3QH
600
+ 3faHw77J2v/mogmsWgblohc1BI8CgYEAyRoIGMofMFp/h7TkIToS5WEbFFWUC//k
601
+ 0gtAFbGT+Vvj6ATXIhNgJkgw46ujtGLPQzB41NjGADOaLWb/anIQegEfxKLzOJsO
602
+ C9agsLPEdRlZgFWNFBKdUBCyFL4IYWdRVeTuhy3EjFniwXRV03ESxDG2ZELbVvqX
603
+ anebLGHHF30CgYEAmRPrXMFozba811wkkFoNnrFJjNef96q13PLhPs1zwNAhbCNG
604
+ jLV+L9dxbWHR5ppN0vZc7gqu9rAfdhbGBKxt4+lMQGu8aGEPna8a6OsDtUt8+MMW
605
+ 9USMteJD0V/k21T4bJQnWPZc+7DPSAWHE/+L7c6ZY0vgmtJoYVqKyKJZ81MCgYBA
606
+ M+Jf36+jZVEPx02J2huMRbs6e7PfPNwVvue/xUjDtHWHbnwscdkhf6y0EukZvu4C
607
+ umfpNCfKiq7vTdG/bxkZimBVC9zwtnf+iZAVud6/r88mLKn0vZihpiLkgmL0jeKm
608
+ tIb+ezsjv9KoBnccIR5nqqNbUQjrtOdAY10UB0djlQKBgQCuSh+3J7rnwIFDPBeW
609
+ mcaz06IyQ4PkBp3HjYg4rAHqUxOVl9YgXqWrnOO/slPeNHsI2YIRj2jEp9zfoYc4
610
+ uDzbX6GQcfQTbnyvRMahuXNPIEkhZgNSfDgxkdztcjBqcVfCkiMr+A+fTG1WmHgm
611
+ ko9Nod4+yQCQ3iU96D8q0SNW3g==
612
+ -----END PRIVATE KEY-----
613
+ """
614
+
615
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
616
+ MIIDLDCCAhSgAwIBAgIUdIXMFTtdGFLVnK0Pm2qmcKCMWlYwDQYJKoZIhvcNAQEL
617
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
618
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgwOVoYDzIxMDAw
619
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
620
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
621
+ A4IBDwAwggEKAoIBAQCe22gtTak2xx5y3fPpK9vwCsVWGODc6AxfKo3cGe3Lw7xu
622
+ e8R8QPUCGEW9tzGwLvVuPzFnRgnMC+H2sGzh7eSm6Q7+3EyllNxmcVeWcrVUQUZc
623
+ zxV+POfQLyWbMzdY90HJRrxVXhK2U5fwYjzvZcjFVm0xwH/tWiFEXRZX8oMP0Szz
624
+ A0IwirL/pJc3Y+yvu149pKiGqX6m3id7S5jC6O6Q9b68iBurj9Ypvl30pZbuERTG
625
+ uOsMDFhIeQp8imZIqBBXSA0zJgWbc/cYhVkOY9D2RdHf41jqQHDab1J+Ce2f00I0
626
+ 4OPLJARHVed8XsKD+yjiLQxcuF3/hgSSsQNBKLZ1AgMBAAGjFzAVMBMGA1UdEQQM
627
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQA7j2j+OoDypCwsAdu3I5le
628
+ TezpdosGIbOC9Xcpuu6kjJoCVDbALWNId00pVc7TWLiskoOkaHVsMh/Wz4KkRnah
629
+ eNsMM9kmHWLhv+zdECFIbm9IOuLgnbVkwmTaCIhDur7vSPDbwLrkU8ppk9eyYdEj
630
+ hl4tnpH9I0PY2GOky7POSgV9kXMEuoW+uV/i23GiBGVuyrklgDtaUXoUuCq3cI4Q
631
+ dDz2c0kOQqYlkyanIEGLXalKjaSc73z1bbY2Yqe0OXbwh1qxHqW84gAd3WiK/TAV
632
+ DToeMdyg4Z07yaKBG0n2Za3tcNVSH9bVF3jIWvIGyDNq+IRvevPZbKQJgy4lZypZ
633
+ -----END CERTIFICATE-----
634
+ """
635
+
636
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
637
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCe22gtTak2xx5y
638
+ 3fPpK9vwCsVWGODc6AxfKo3cGe3Lw7xue8R8QPUCGEW9tzGwLvVuPzFnRgnMC+H2
639
+ sGzh7eSm6Q7+3EyllNxmcVeWcrVUQUZczxV+POfQLyWbMzdY90HJRrxVXhK2U5fw
640
+ YjzvZcjFVm0xwH/tWiFEXRZX8oMP0SzzA0IwirL/pJc3Y+yvu149pKiGqX6m3id7
641
+ S5jC6O6Q9b68iBurj9Ypvl30pZbuERTGuOsMDFhIeQp8imZIqBBXSA0zJgWbc/cY
642
+ hVkOY9D2RdHf41jqQHDab1J+Ce2f00I04OPLJARHVed8XsKD+yjiLQxcuF3/hgSS
643
+ sQNBKLZ1AgMBAAECggEAVS/DRcgHneBZa6+qRLfIUYj1GZ5ttwiY2c+wEv+0jTiB
644
+ q52jWB5dRKpPe9TpSFlmM6CflYnxZwJYQjmJqf4wR3FjIThxwbl6F1VgasVIh84Z
645
+ NVu3YuK2TOV7fSaR35t4I79S71RrJGrfZ4DGvHoQmAIovC1GbLmQbWCdwrvBnJDu
646
+ ypVp+EjYXSCI8HlKwntBigsHZtTmrqqM4JZIEQYec+ZlEYP1BLn9Vb264QjDTXoT
647
+ EzCtgEhOGtKvSbGUZk0Rhj2hP/LDRZb/wMkvbMTSNKOjxUoXJnbCzglNdo76lWbh
648
+ tEZarrK63j5fgsklnfWZfDcMLI5Eckky6JfGdt5vAQKBgQDTeGoQ+ZIj0TX611N4
649
+ pVZzrAyMsx9EHGb56ECrJI4Y/jkkPXA6+ySKzTtn7+YTWzl8raO0JuAJZa9sZzes
650
+ 6RL5T9bUV/JrxoXtWDNmDh8TQSHos12o5iADUg/MUcEAxZLDqQ6DSWgLPZLEaAbM
651
+ GLU04eT3j/qpAqN30BAA4UBO7QKBgQDATs25AtpeTcb4F43z++X3DyR7RDYoGaMX
652
+ WVPxAOkHJm1mv9QsYf0j+EHOOd4xa1nkV0rwQm2lSMMiN9C6P5Q3lJbfA7s9lKLx
653
+ C17xYl80hMnB1POAsXNI9aqOZAVvWwcooGRrqJ9KUvIuUWkXpFveT0xGMLjr0fQr
654
+ T+zU0FeMqQKBgCYav3n5jnS3wPNHE3pcyHwlV0mPCSY7u+5yBB0ShCxKur8l9vAZ
655
+ ytbb7kVnO9znBi/KFgJjMuFemkJ9QtH8WXflA//VLRBwgDdpOjG8f6r3hIWqtEi3
656
+ 1rLieYhGfvGFqFFrR/suIfpMiQKs//SMyzIRNjHJltAXcp8nNYsDC5RtAoGAGF6k
657
+ IUrkQ0kV6sCJY57LUJihpeFJ/6DoEwBl68eSwC41dOzgRVORkapXJHwe1SJmfNI3
658
+ E+VHIcfrun1aPQ/rh3OT/uTpKG+ainNHb81ohS5CpwaGaQuTsW44U90G90qQyKwy
659
+ rZXrwa5rNEVqzO0uGyjvYIGyHWg4yfhR6dIRFikCgYEAj2577x3Vb54G/wL25OJx
660
+ r78VzNxmlOu8qxrkLgylhLsnZo0dRgCCSrkYx+bM+moMIM3LnG6lN3IPYA9MpTgx
661
+ G1DclyXyZNuHnHim9xz7dzJ/HwYJxVulHM05KbaTQ3xYMUdpAXaM04Wv9kwpeDX8
662
+ axack/6KTJBo6FRskxPoH4U=
663
+ -----END PRIVATE KEY-----
664
+ """
665
+
666
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_8: tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
667
+
668
+ SSL_TEST_NODE_CERTS_AND_KEYS_8: 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
+ }