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
+ MIIDKTCCAhGgAwIBAgIUX9kvHEjir5fniTg3GRQ8wO7zOvAwDQYJKoZIhvcNAQEL
5
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
6
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDczMTAyMDgxNVoXDTMyMDcy
7
+ ODAyMDgxNVowRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
8
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
9
+ AAOCAQ8AMIIBCgKCAQEAykxn/RsW32xbKhz4CFSnngEwji+mbyOREJihRy/2ydPI
10
+ dQ1vgMJdgatf3GUr49imIYu4r1PfvvLTHCCXLjbW4zk8K+Tf+gGfnm/rjvGvwO7I
11
+ J7qZj2slknkZAqq0jhVKkt+xkM4A3fbk6cy2DC+2w2se20fKvPa8Nwgt1GzBGpN4
12
+ ditUWZwhVz3Q+4QMnZTEiKkfkKBYlJntheIiLPTReDiHUlMIfl1kBqYZqLmX3lsS
13
+ J29o73BMyjNhQBMKe5F6TIcYeIME5H/DAKCfS6JR3HGMj1aqeunqVZ+Wacs+HOtD
14
+ hHLrSsCwMa1XVzPPNV1on7JekgSpEXTd9DEtpHO5TQIDAQABoxMwETAPBgNVHRMB
15
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAk7pLuj7tqbztCXhLMD5TqIfml
16
+ HB3K1nOKwNEIJ29J8Xc6lKUMB/z3UFVmPPuuHW3FBXsrf1ZcZLaTNZuY2304yURV
17
+ uzpH5GAivGwSbXmccOee1HV8Rrvii/Gd8c2qdxBsypaiMaNAOCOUHqfGAQCWRefO
18
+ /8rn8TmXWikNFL2YygcR+XI5jWTAF6LoXCxV0y48X4Kg7G7s5QHDqnHYhakfAtyO
19
+ 9KpUPODd3UIZoW5k8A0vn0xwrvyqwNhCTHOkt178jCiqCR1b3jnvmVHTw1rIOnXE
20
+ rhdGfc4ywMBp+Rv8hFZM0RPmt+aDy+O2XvdPqFCky6R4+l8RtlYP242urN8q
21
+ -----END CERTIFICATE-----
22
+ """
23
+
24
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
25
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDKTGf9GxbfbFsq
26
+ HPgIVKeeATCOL6ZvI5EQmKFHL/bJ08h1DW+Awl2Bq1/cZSvj2KYhi7ivU9++8tMc
27
+ IJcuNtbjOTwr5N/6AZ+eb+uO8a/A7sgnupmPayWSeRkCqrSOFUqS37GQzgDd9uTp
28
+ zLYML7bDax7bR8q89rw3CC3UbMEak3h2K1RZnCFXPdD7hAydlMSIqR+QoFiUme2F
29
+ 4iIs9NF4OIdSUwh+XWQGphmouZfeWxInb2jvcEzKM2FAEwp7kXpMhxh4gwTkf8MA
30
+ oJ9LolHccYyPVqp66epVn5Zpyz4c60OEcutKwLAxrVdXM881XWifsl6SBKkRdN30
31
+ MS2kc7lNAgMBAAECggEAXrPWGo8L7hvzsYtOMdgvf7Be4rE74Nttla9eEM1LYsBa
32
+ HzHi+QwEaieoAKz8FvXdD+cw1iMVo3ZZjdlT7LaPcl/g40uJ7qfD6Y/LXmeWN2OR
33
+ H8gjCxjFxgQayTzQuZMODiPaJEfL8B0cnLbQonPTwzfqggzhxARdqAWULtWasK1z
34
+ h9iS0lDDEPUjNLv72X5uCNh5l7oi1lLoASgIz+YNnGuNw8lEhEzoXmh4SrAY6nGc
35
+ NAkHQfpCwD12AXysjO4l/yZavamT1F9L8TrYpEPJbcemTg7UJ3m6soD/K5zlQF1b
36
+ KGGjOHTeycbvgzasys0/Carhr1wytY4EOHJ/OU4UoQKBgQDsKKlYYqOn+FoX2uzF
37
+ 5Kmx8TyDp3rWB4n1JuyXcxu8g771aL16KCg7+RaaVQb+sUTmD+uOaBeV0aRWgx1V
38
+ v6h4tVu+nYlKe0gUkEpRYeAsaTuMlXH0QAjehxhbGp6UkvnE8ZTnZxFf/QRM7Cjn
39
+ 3DxRaNR55DBJxPXSQ1/uw/nvdwKBgQDbS3iMuqmGxhbBQXDBK2Gymxuu7w51ZZAm
40
+ qf1nA2t+RYEHNDkIcwiGrpAs/lEKkbrdV58g3KUbrmTNMzmLREPmccBDMUB5ehR/
41
+ 6DyWrpPnwbRDe6+w52NUu6xEFRCeWNuR4mXDDd9QwELUh7Hrzu6tJuWKvkTEnbq1
42
+ ZCDRkcu2WwKBgQC0gdv25+ZppEXQyBCErmQa0+ZKR0B3yelkDe13UY+Yxya10+pI
43
+ LdubA6iILIedM4gTRYXqIpwscsJnMe7BNS6jnRPUHfvrh1GwDh4QGHzN1V2j9jLU
44
+ 3AErfh1avX0K2VC6fWEwgrJgKTgZR8V4e/lKzJLj3EwghsDSh5cTHI60vwKBgEYm
45
+ xYCXcgXYNo1KBuz0mMNPFTMH7GMnw05rENI0aN2zFEyeqyQF0JNtIlgSXxB3gASw
46
+ tAoKK5NIXZy7J0xi4SnF99BG4C48HHSycTduz4fTEnyIA7Mewkrn4nrBFljhahQo
47
+ DY+xT2AAsSBV7FfYEcg4ajPRHCSdpI3EYy9HaZiDAoGBALfdWaUb5p1Z8fnJo6Pm
48
+ 3CesRNSqz56FzQ7yqg2af5R6in4AeAjuVjq2SR/5kqTJPicnPRVFm5Uv6NgWrVR5
49
+ pjab587uaDYA5aXbNYfZRpj6+WHaYBileILbqqTLFQjlVHJXJDuDs21tIkaXMxcN
50
+ XHMcjqOWJHxgq4s4SyJEQJAO
51
+ -----END PRIVATE KEY-----
52
+ """
53
+
54
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
55
+ MIIDLDCCAhSgAwIBAgIUJxG4nRreZqpC8YFg4bfgBgnjp8gwDQYJKoZIhvcNAQEL
56
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
57
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgxNVoYDzIxMDAw
58
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
59
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
60
+ A4IBDwAwggEKAoIBAQD7zuyb/gcsWCWbuLrEJSjVJWSOAP3YYVEnUIR949nIE+xS
61
+ 32Z01a2/y4lcUf1DoB2ADYv4LqSrHnBasgznXJHYWPNRQX5hOGeJzC0Gb8B4MEWF
62
+ 7gPC+v6//GXytGl2fg5GyGHDbKT33f6c1TaJXY4P2iummoFNoOX13EzyYEWXeBC1
63
+ L9p8+fkpSC1C1eCwRQdzrghqagP06kt4gpO2OSJ0xtBX5fz8NY4pZ2CP33nyG8S+
64
+ yTJLZweWMFnueUL3b9JJgticr8RteyrKOGoVhcFnymw3GnsbGZURUxp/yXM67ovN
65
+ Ud487CNHHOJl3gDK69LcALOMZAHS5Q0ZQECpPWSxAgMBAAGjFzAVMBMGA1UdEQQM
66
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCOzjCPbMEDx1Q1XJyJDF8l
67
+ c2z0Tk3xhlGY1PnaARt4xNHh5gFodCeFTb+f9Ywoy0cYQ67PRZyLgDyuRKp8T4+z
68
+ wgWmG4NmvMKO+9h4F76+VGqYX7Oc5QADPF+hJrAWUNNEN+NbUpDp+W8E1aUzkIBE
69
+ HK2aNM7PAapereWXyR+U/mUXrOtiecBD72g0zS4hp++Uxn3uEaQobBc1EaT/GS/x
70
+ HWy2tmWaczUf5TydC44lF8NZCuMm89ldF+Qmz8b30ON2OsFzr/2WVVaj+k+j0MsQ
71
+ +Urzepx4+8NnlBGwgAyzlA1nEoDIsKMqUyBQlqv7cSFh2m05q7UrAUk/nFw+tNOP
72
+ -----END CERTIFICATE-----
73
+ """
74
+
75
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
76
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQD7zuyb/gcsWCWb
77
+ uLrEJSjVJWSOAP3YYVEnUIR949nIE+xS32Z01a2/y4lcUf1DoB2ADYv4LqSrHnBa
78
+ sgznXJHYWPNRQX5hOGeJzC0Gb8B4MEWF7gPC+v6//GXytGl2fg5GyGHDbKT33f6c
79
+ 1TaJXY4P2iummoFNoOX13EzyYEWXeBC1L9p8+fkpSC1C1eCwRQdzrghqagP06kt4
80
+ gpO2OSJ0xtBX5fz8NY4pZ2CP33nyG8S+yTJLZweWMFnueUL3b9JJgticr8RteyrK
81
+ OGoVhcFnymw3GnsbGZURUxp/yXM67ovNUd487CNHHOJl3gDK69LcALOMZAHS5Q0Z
82
+ QECpPWSxAgMBAAECggEAGc3uuV2i5oxx7i9UFF2qfY1DbLn1SYNPibPan/wFiVdh
83
+ VGzIVxi+oXT+MpPEXHXAECtTOK+u+Eo6QVEVuW/nEkCrTpxjkxrwoVJnGs3A75Ai
84
+ z8LAZ+7IxGvdFq4eUKJCXEaUni44CZ6aRQAkgpcvw7gb2QrkTUw7xKI60GvFNexH
85
+ 4HO2kxQTD+CW2NJ3+HwB+WeSYuMZUb8bj/NcwAsJ5mqFH0b2UKxMm0BK0sDnPwC2
86
+ GjpH9VKPZbB87GbzLUZ/JZhE/RBmABH1AObBtquOnhAKAYdLsoBoVtbbLKu8MXBm
87
+ BTMuKsjVCvckaoYx5poafBDVpZcQafq1jq0fxTegQQKBgQD+IB2CloJhIoC2/R8u
88
+ VIbHKOkUtt/UZFe3cxvvn/MvEwQcGm9T1vZwwH5MOUIk0VnC/SCVIk3hLqI8F/dV
89
+ Zvgox37YEwFGRzKcpJL0MPnwLjvyqvGzIZYG2kFWOD+t4nzndVbfQJ19EeTzu8Aw
90
+ N6JyctUAaz0aPbHFWQ73BVfPBQKBgQD9qm7uSI7XJs++fXfZIEev2PdtlcBOLeg3
91
+ qL032tE8XEFs96DVrl8Vzaj2Vnj30aBrw8dUcldUvxQKIpiChUXwtWu8oxdt0TSx
92
+ aVpYQkSQXNQm2RufMjq33lyNtm05ygNF5xsKCoZ14c81MgWOOELHZiWwI96Of+NA
93
+ EwjxHgy2vQKBgQCkY+wTHQAMjABN36J7Gwzw6wMUdlSHFb40mw8YTRVIf3mqIGOi
94
+ Da3wNGW/M08ZeCAj5hFcyAsvPzaNv0cthOXFo3/nkSvC5a3U7RVvR/t3JsF68qBW
95
+ K8Tce/XGK67t8lSwehSPaUI3tQqxrOPfjS3V8Xjew4CMaBqGulzW6SrrbQKBgAeW
96
+ GUs3EE6O8peX2QW9WWeA7aVxXRb5eIBxo3cQLEHJ4IsJvN2nIWDdjbgQTf3bXxjZ
97
+ +hQkd0gpjsfe0QDWS4kvY9F4bzLxlsnXhMQu9y36GL4wsArKzcbB97KlSg74Y7Cr
98
+ gLuEJRFRd4j3vgLK2/RqsaXa7MUGPh2kdBgB9g9hAoGBAOl5cixsR8EXmHQqMuZT
99
+ 7iWTw4rUyyIH5RZRHrWD+GX3S0Ra+wY0wJBPzt/MeaJW4OtTgHQpQWAfWR9C2o+7
100
+ xUwA7aauwGg2MVF8iSRSOSCkpDfNM+AFZQ3HMg7CEVqPuypLGUkqGnvQQ2imTWO/
101
+ e4ZKdjD4H7urK494+juBwvCz
102
+ -----END PRIVATE KEY-----
103
+ """
104
+
105
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
106
+ MIIDLDCCAhSgAwIBAgIUH+vOBpWm7GZBImUetpmvvngiuUQwDQYJKoZIhvcNAQEL
107
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
108
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgxNVoYDzIxMDAw
109
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
110
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
111
+ A4IBDwAwggEKAoIBAQDSMjjzEEqoICoK7gBXrUhkhzVLmNnPxTpod32QWSpnSR9/
112
+ R81bPlxoaWixzYfNnAntIOr6txh82sd3lPqT45zT/Ji7iTkcbmh10Kw2YMPb1+cM
113
+ GAy3x/K+ASUMP911J/4E+4jFqodY7EccfxbnZir/U7IktqxchiPZoDC5Dvf5YtJZ
114
+ ZJLITRaAnoA66OC/cUWjxbzOGGPt9bJNbQXlgHGmJx6D9vaUE3hnIm03HpO+74S0
115
+ S54b4TI0R3H+fuU1jxgMuCHACcQTKpZRi5h4QT8QQJXoL/70dDG0DNFsI5RIEgf4
116
+ KS6wowbJLdqpZpeW4Sh513/xQYeEsIWgFnV6ZM3hAgMBAAGjFzAVMBMGA1UdEQQM
117
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAJKLQAkQBXoI8LJ0GRpLT+
118
+ wwdqXt1xdrLwyRI2Vf5hrxkRtYuvmXUjHrI/HxlIvapVUns2W9g9b2Eim/mb7FNJ
119
+ jztgEEP4V2OjbTOJOiqZakFA2te6FIlV4otaj6GOMwuCt8q2L+0m/KfHzLQYqn3X
120
+ YGUi9TQMMvJjVHmuZfEbVEKiNjjrT1DVE6YOQQBZKCCyTQccMXQSGwogtJOf3EH7
121
+ ruOiBExxyAFdntsE3VjSCD7U/jA2pnXD1KutI2o0g0bO1twuz7EzVLZFJNey0BUB
122
+ HtXDTP5TCJpf3lybcssjdiDnfARXUMTN2ka5WXgvebDwb1pqmuDlrVrA8UmqTYcy
123
+ -----END CERTIFICATE-----
124
+ """
125
+
126
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
127
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDSMjjzEEqoICoK
128
+ 7gBXrUhkhzVLmNnPxTpod32QWSpnSR9/R81bPlxoaWixzYfNnAntIOr6txh82sd3
129
+ lPqT45zT/Ji7iTkcbmh10Kw2YMPb1+cMGAy3x/K+ASUMP911J/4E+4jFqodY7Ecc
130
+ fxbnZir/U7IktqxchiPZoDC5Dvf5YtJZZJLITRaAnoA66OC/cUWjxbzOGGPt9bJN
131
+ bQXlgHGmJx6D9vaUE3hnIm03HpO+74S0S54b4TI0R3H+fuU1jxgMuCHACcQTKpZR
132
+ i5h4QT8QQJXoL/70dDG0DNFsI5RIEgf4KS6wowbJLdqpZpeW4Sh513/xQYeEsIWg
133
+ FnV6ZM3hAgMBAAECggEAUfCaGsbjE59WRGR7ZbJ7YhUDRbEUV9Z+6nKKVFcuHI14
134
+ 5dlLyKIKy/krgwSoSBLoG7SVZZ8ywJlY4NkGxdgZLtptf84CoX644hSyzY/zSiRk
135
+ QWauroYXrtIraxcKcb1hXPfhXY0YriWNoyI3/4TohhhOfdloX7k7CH9V/w5CxMh4
136
+ ZwWot36SmjNDPyW4z3rbcsSr9hmUeqxoE3KsXxHGdKNtg3NQ+qwAULE35qkQd+O4
137
+ mIgz51Qi7ZlYfgVq7BFn8Vs5rPYK57b+ACTMvReGylB8/r1wHtimk7p+7tjpZywz
138
+ qupcSgky3dch1bD2ICZpaeNGjQE40mdgggHmH634QQKBgQDtgYxppfzBE7k4Yopf
139
+ HbL5RnNc7wft0nzgp/zgz81W3emXshy7DdI1pVwhCBeTsCIgftsyTBncN7YeIP5p
140
+ MDhIZ8U6EthhuyPYp7dWmcIJSIeql/3/mVdK24sZcmDB9DaGsbY0oH0I9N9Ha2xo
141
+ jUWeColE1aeZYuyJFez/WbafpQKBgQDikEdE29uYeU1bioV3R1zzhyAgCLGF0RJs
142
+ Zuxwa5zYGkSjuswemxZiQQSJv/39mnGuKAtAU/d9ut8ay6/FZSFh6e/y231hPnm3
143
+ nqiPSZeAJx+TGg+eee2C4P5D2KfDnelswymD+rCfxJMyozwo2pYxu0sFHYcIluGo
144
+ Wtd+Xl1gjQKBgE2K72IK7IPJQb7UBWNamfVi+AVOkWMnRtg+YISxs9P5ret2HoU/
145
+ 1PLo4zRxpOj2J54+bKh2SjcpBU++6/FB6g5RuwXj4zu9Us3IrEYc+0n2oTykVSxf
146
+ Ty3EkhyjyE1qw2aknN1/zHLhKAj0XLeh8CnSPND5hLfCoYF8ZB1WmBZ1AoGAMrGl
147
+ wLqRACTkMj9kbbQCEFuDzKclUZPeU3MUJHNvvMrj4N7DHXYGJCX4JfpXko8kMJu1
148
+ KMeg8PkHQq+gvMJMHeSCVAzYmRGpmnRdsvH8fChE4F1McWFGy6ocOoIXx6VlvXhN
149
+ qcJGEvmhFguAQoPmZ2pI9vQMateX1lu9LAFhU2ECgYBi5jsclGCd/CoCF0NqBs+U
150
+ nEvvh/hUYbUytZDcs1AArXy8Lup6bcxag01KFxt9Wh69wLrocF+q8pUuVGl/yfrv
151
+ Ozm4563EFG0DnbzzyzU/jnomxVqKFMqjsusNKY8iS21EAkBkCv9P5oudwD/HzRtR
152
+ oOyRRuENRW7evdvE+J5Trw==
153
+ -----END PRIVATE KEY-----
154
+ """
155
+
156
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
157
+ MIIDLDCCAhSgAwIBAgIUHVa/b7E1IfWxhidTznNrmWBa8rEwDQYJKoZIhvcNAQEL
158
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
159
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgxNVoYDzIxMDAw
160
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
161
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
162
+ A4IBDwAwggEKAoIBAQDLKM3aHoUk41DT3hOcg4HMYIdu+p6iIchg/LxlzQW2QLAD
163
+ ALcqP/u+c+a2ogqpWUC5Ub2o20UgboUJ67XdfqdiC3fBZ4hFpd9fuy0RYYtbPtYX
164
+ 3DQkqY7U2eauRW78qTKP3AtTuGy25PmwtrEEMHpWTeeg2D3AdG6MGiiSzQHkPW/S
165
+ 5t9y7UzNIKKsr5sCKNmEmxde1g9z0Aa7oJPXRLr93Y2YkQcsszX6DC6Q69VnhgC9
166
+ 4CFfqp6kRk7DUxunJfNh0cUN2vHIP+0ICCr4o3FUslldpJrFvCpq9oyBxY1Gonpx
167
+ KaPhxkPJRmGNTxoubffDqwW0IjfxTMgGdjb2ZkytAgMBAAGjFzAVMBMGA1UdEQQM
168
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBXWejEkaLjR2YNUnUddqq4
169
+ Y49FDEmprs8tBY6bmpaJpKMCwLbBYBSnxRODlV2Q8MITeZUNSOwLhi96vsYFKRdD
170
+ yvYRXkk/aBl5soFCT8ihDFvx4mGKRNux0ouHEVveVJ5RJcMFyGAbI4J/L7XHgbXW
171
+ PSuY1Zdtnn/Tg0mkPvl9z+TPluxgLUBIvdzQIzcYNsCVL+iNZzjnbfz9qtvWGNXs
172
+ 63AWYpgl9TdIOUsa3biOl1ou9QS9t35LdNrKg1SMUHOcHyW6gFJI1d4l7XC9vwVN
173
+ z8YBWFgUNLUjSaW2N0Cv54XUQS7pAxo74x3R6t7u5QeIIc4JcsxO229bzGfYVGKD
174
+ -----END CERTIFICATE-----
175
+ """
176
+
177
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
178
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDLKM3aHoUk41DT
179
+ 3hOcg4HMYIdu+p6iIchg/LxlzQW2QLADALcqP/u+c+a2ogqpWUC5Ub2o20UgboUJ
180
+ 67XdfqdiC3fBZ4hFpd9fuy0RYYtbPtYX3DQkqY7U2eauRW78qTKP3AtTuGy25Pmw
181
+ trEEMHpWTeeg2D3AdG6MGiiSzQHkPW/S5t9y7UzNIKKsr5sCKNmEmxde1g9z0Aa7
182
+ oJPXRLr93Y2YkQcsszX6DC6Q69VnhgC94CFfqp6kRk7DUxunJfNh0cUN2vHIP+0I
183
+ CCr4o3FUslldpJrFvCpq9oyBxY1GonpxKaPhxkPJRmGNTxoubffDqwW0IjfxTMgG
184
+ djb2ZkytAgMBAAECggEAaeCzH6jmROo/FpvXZqtWuxfXnWv5vo+SqZEt8nQeNPST
185
+ ho0Z6Gf+ICyxIZ9jpQyB4dMK3/Semx9eMGRqnKvEOiG14NK/P2UJ/A9Flphak0w1
186
+ MawudKj1alLBmTNQe1cGpdjNAm3MIqlEw+cCbCeDqnThcX8g96r2bge3+4HiKXs5
187
+ XEN6OrrEZSopKRpp4nx4pyKhbfsd7wXUaCDCQ5r078s2enFkysBY9p9h1wUq9Mtv
188
+ a5dE/uM5EuleeCvlXFFr5Nbb6FtlNUMTy8qoognK7Oro+KRNyebZl7mtF7UyCK3Q
189
+ +moya7652EARZlEN+ryUPcWfJvgzmoKwN/ywfjB7YQKBgQDuNJl3cOa3OB8+3ROm
190
+ PmofP5rveQVU40XOuD/Y33l2aLrEW0Sht5E8iesW8Co47+/Pjjph/XeQrQ2rrxYC
191
+ cE6zmBKuW6/QMEeJS7tTRHqaOw9/it023M59LYKNEim97G9u0oH0YgdwqAMcn4Sf
192
+ 4Z5GdX7c6Sm1JnG5OVxF3CyYBQKBgQDaVf1O9Q8ZFD98S8N6hoVu1TblmQPW5y/L
193
+ ALF9F4y5ObNG/0ijsmuWV/gx3aPc3dV3IavQeLiTOP0Zdl0XeUXVF2JOlDFXLgAa
194
+ DQFqL3+AIKU6Sl0HkSOtHaYXAXD/w9p78v9nUfxg9IB4dK3tF1vJTXBhsTq8DPvp
195
+ V6bNxVHKiQKBgBn4QBcGhxDInJd08NR6D4XSoGilUBB+Krkr20IgsxRWvK31qVjc
196
+ M4hfHPNGQcQtXH7LadAPGz75rvjdwM+JQPtRhA/gTR2sddAhIo4kdB1mfP0RvaZi
197
+ klyRXp9UsJpVMZzqdGKZYWhF2PkA5yurJF9YJfmdrf9i7pkcCNRQ+celAoGALasG
198
+ zNkdS1Wc4dbHEH3KsyAN14Bl+TFqIcAHX+7pFGUpRpRnETZkopHL7EI74BrWZ5C3
199
+ a2eU09Z7ujOzzREktimp+l2s5FtO0iQeQ6Oju50YclTTmJ2XJMKq1u0KQbUpoft1
200
+ yJqxe2Yo6QkeyBS2sihsdUKo0mS03F3lGe1H6mECgYEApKv46FSIllTWf5OfV6uL
201
+ 8JPD2D0e2aet1YB+MGGGKRmgP2oEMWV/yqfxljFU5iIWmJHuIOySlj1eflT+O9fx
202
+ NN304ov9IffZUowo20DgmZ6RUVq6EXg14zsLZm6NFIngo54YkV2ftWSwcwH8nZRj
203
+ YBaBH+vYV9RqHvapSKze534=
204
+ -----END PRIVATE KEY-----
205
+ """
206
+
207
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
208
+ MIIDLDCCAhSgAwIBAgIUDQl9lGAFVCp4uzp2CyNIBevz9ZMwDQYJKoZIhvcNAQEL
209
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
210
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgxNVoYDzIxMDAw
211
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
212
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
213
+ A4IBDwAwggEKAoIBAQC+u6XURlYwJh3spBKnYAgu2pApo1dPx2lT8MrjWRlrafrG
214
+ N+eSEryqlnUzuUBb9ps5RbIB3Ojux183ZzuMal5AJGBMUz20WvoG24bp756Pi+Vw
215
+ kbWxw6U8z6CIDNF1gzokIhgUxQOrgcTXM3beR47CuOw9TPsjyHXp8EuOP4hvcVEO
216
+ XK9TiqKE/655j5DoWzcR5iR956McJ+er8uUgEuHDGWUld+7PNw7xeKUn22G2rbXU
217
+ mdOTL6uqdaKFsLM1Rpc5RYDn99PiSmtOEMr7hApTZHbzMGyQQlrRe44TBO6bAv3L
218
+ 2c/eGQ1c9vapj3242NS2T498uZCQmP5+XBKQ83v9AgMBAAGjFzAVMBMGA1UdEQQM
219
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAoAt81WNkFGQW5viqHVOy/
220
+ Yrgtm+FP0wWKI8bL+elljQoZv81Ya/sgfw9A5X5+5QcKGpciEg9J2OcE1Xijtah7
221
+ tMBS0oqupNw5EgPc1q0uelS+2///K+K3AwM40O3kd/S40Z93vSs/VstkljmgsWfL
222
+ 0Umpq0Cn6TQLwCnZad7GBA7uUpCameM8Mz9Bqk/5Qtyq5cOepKcdCPFH3NoE+aZX
223
+ 4tYMWPXMUy4NvFWMsCMWrRAvOs3uMZJwLLSGpV3Z9NElilPcQeFvsSiWCzMITvEy
224
+ MipcUFAug6Cz6oda1XkNmK3QOL4ZV9cxNXATvAb4XsE5CHcMiUq1GEFGEd1Nz/L/
225
+ -----END CERTIFICATE-----
226
+ """
227
+
228
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
229
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+u6XURlYwJh3s
230
+ pBKnYAgu2pApo1dPx2lT8MrjWRlrafrGN+eSEryqlnUzuUBb9ps5RbIB3Ojux183
231
+ ZzuMal5AJGBMUz20WvoG24bp756Pi+VwkbWxw6U8z6CIDNF1gzokIhgUxQOrgcTX
232
+ M3beR47CuOw9TPsjyHXp8EuOP4hvcVEOXK9TiqKE/655j5DoWzcR5iR956McJ+er
233
+ 8uUgEuHDGWUld+7PNw7xeKUn22G2rbXUmdOTL6uqdaKFsLM1Rpc5RYDn99PiSmtO
234
+ EMr7hApTZHbzMGyQQlrRe44TBO6bAv3L2c/eGQ1c9vapj3242NS2T498uZCQmP5+
235
+ XBKQ83v9AgMBAAECggEAV3Iy+lrxIwwmxhsHTmOx/MFKPTzdR/92I/0PGCL+i4fA
236
+ aOayrf8XLuLigz9Y6ZDr49s3XLFKvkb8OauD2sHdymyjFftIHAtl/ITjmxe4S7np
237
+ DK5RblnzxSiwQhAWbFko6+4RulwFbbmGZN/8jLakFlSwQv6rWeGLZiE8ktBAHk88
238
+ KDC6ZuY0X8YrxRrw4RTZv0VgY7OnV4BLtMj50HW+7ds52e/JOkUm/ymGUAif34JB
239
+ EAw/Mv88pGbxIiGYzBKnS/vpNiG7mNYRa4eSGd4Jb5JpFRWyMXqLrN8k6z4xBC+G
240
+ 6rmh46htuRGf2OOfgXUIcq15HjKfO2LKXh4OSzjtIQKBgQDfDeH+xq2wOTo3vZl8
241
+ UGcQQYOcLwS8R5YxZN57SJYm3buljPmD18aXq5Lfd/WADNzOrJ8eLc1jofKwGlTQ
242
+ 7K6EW1KZERVx4r0Q3rEF4tOtYitR9+LnGrloFVQYqLdVanULNpgdcCUrXnUqXaWZ
243
+ zfSbXbjhPEfptHX+QlgCsHUD+QKBgQDa56LOIoLuNOHL8LPSFhyHf21LzG2OOJ9Z
244
+ yuL5sq9Ebc/8o9ZGR24jPwsEfd6BBR+l95mnwxDib3zTNcVATe6mkGPATDsEvf5k
245
+ 7TSyLafKE/6dd5GVylqHrYSx08EIkXb1tS0kPKuc73mNKLjau3kjGlNBV/PrMKv8
246
+ wlJBQ9FxJQKBgQCLLOJiUh11439L4GWwh4qHPhmcjknqINC6KTIYwoXN4nR/K6NU
247
+ fIJRiKCwBu2L5HqyCkuOTQ3mqNoAv61EXynVNBYpo9s5oDxQFmNmRM3HVYWqM33E
248
+ rYwaQZSjfkJGbZJyWLI5TAwlL17z/FKj0Tpa5vPAthg43nzxFPxNUUTyIQKBgDji
249
+ 7z0QXOQYXAFKmQBkfJ99ruJ+yo2mC0sjXV60X7Wxr9YgoYN79pQ0QuG08AipUzMn
250
+ KAgfuhiODms40vzGA9nHNhT3+nJeCWki94nCMZNjJMy5EN1TS7lsj0pDFCvs2XQ6
251
+ 0/NRzOsolHbpeThmdbF4muAlQh8BdABoY0XQoPH9AoGAZZDDxLNWY+UTH1ZKahHJ
252
+ ZBpoIPlkB/A6Do+HQU5J/QZlleMCmOejZGKDmVgC1NW/a+LHSMOUPQwPzo6760aZ
253
+ n/Hv9j9wc5guJkkqJS6B5f0Cx/6V//TeYSz+pcY0rQk6jzr30turxl+U3v1tGsQ4
254
+ XLGUYqC0VKtxCeINNbcQYpE=
255
+ -----END PRIVATE KEY-----
256
+ """
257
+
258
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
259
+ MIIDLDCCAhSgAwIBAgIUNt5wFFEHInmQV+maGlazlOTq18YwDQYJKoZIhvcNAQEL
260
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
261
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgxNloYDzIxMDAw
262
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
263
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
264
+ A4IBDwAwggEKAoIBAQC9icCXt+50NDRtDYOA9SznDkajEonkL/tWDRgkWPfyrQjs
265
+ MgxK4thx8h2pzFFO0orpKhcBH9D/yJ+IyhOzrv9MqWIEXQ4I3BUWQvwUyJiAARbu
266
+ Udj51pFZiNcRJPGg29eIf8cJFfSTQ3LyU65BkYjxKScHi7psh3t6jCElxDnou5yY
267
+ brMytE9zUzV7xC6wTiN3BJk7A0W/d6fKpOziJ/487IlaBP6FIxUS/o5u8hG9VPXQ
268
+ ZCXBWpGB2xLahQS6xANGSCwYKtkFgUeIJLZwX+6+XAYppXthrffos2jKNmXj3GC7
269
+ XCKUEfp0rWBxcw6jlJZuOyqHPVOXzAmVlKVPnPQJAgMBAAGjFzAVMBMGA1UdEQQM
270
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAJV9THcfc7PMB8oJxoL3lu
271
+ gP29VWYHaSxblJ9OPsMVtFQEBwa72q1z1pCb9wKWQ0B1Hkz4YBtbYDHLqdsK3xfz
272
+ CXAo8zDEk+D5QPPzScWM3R/tK1wYUZ62Y2J40M7G7NP24aNzmlOKZOMOLbBqJ1ZU
273
+ vbuZ3XPDDv/CEWv+RkXUjc5ICzHCo+MtOJ/FlMvR5H8j3l7nj8sj4WjrhdqBh7AA
274
+ 74eHvlVqpIZaZw0HVAtDASJAYO+PTh0G61alVDWfoRmNtCeS9f/CXsNeiOwwWLBZ
275
+ ZO0evHv/iAaNk2FTTGwglURsIjphpOnVScLQtc9lDc2dpKm5d9rqs7binU4dupwU
276
+ -----END CERTIFICATE-----
277
+ """
278
+
279
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
280
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC9icCXt+50NDRt
281
+ DYOA9SznDkajEonkL/tWDRgkWPfyrQjsMgxK4thx8h2pzFFO0orpKhcBH9D/yJ+I
282
+ yhOzrv9MqWIEXQ4I3BUWQvwUyJiAARbuUdj51pFZiNcRJPGg29eIf8cJFfSTQ3Ly
283
+ U65BkYjxKScHi7psh3t6jCElxDnou5yYbrMytE9zUzV7xC6wTiN3BJk7A0W/d6fK
284
+ pOziJ/487IlaBP6FIxUS/o5u8hG9VPXQZCXBWpGB2xLahQS6xANGSCwYKtkFgUeI
285
+ JLZwX+6+XAYppXthrffos2jKNmXj3GC7XCKUEfp0rWBxcw6jlJZuOyqHPVOXzAmV
286
+ lKVPnPQJAgMBAAECggEBAJlg4fNkqphqrooZR3OR8/Y+fTb1h5Sap38pNYIkZPGC
287
+ yReqIHxxOcprrUl8x8dLZZHtt5P3VT/H8CHXtT3QvVQiNelmDDdrMb1EE44WDiJ3
288
+ v0C4ByeWVSTpMXD0Pnx3quEQ1dYqaDLLgDdNNFRnGzRcovLeRcwRjwDKaQCQ3HPS
289
+ CRWYoomXChI+F4w80g4Ybft4WBfZgaue4hiZRQB9YjyakEIAPvi9+V4zhjxziNoo
290
+ xuqf07WzF0gaHqYYOVMVDJzTAK1PmtE1SdmXdZLdsoUZnvEVa2dHp5nABycxT5rF
291
+ xxfLkeW+GKrPxlPcOVQY2diah/NuqvnGb8a9ERf5+EkCgYEA7UjVR703+uUpJtmq
292
+ vWb1bVTcm+/5suItq7fKHMMOHzDFXsw0eqdPI5TZMxGcFIK6QAtTd3UrDr8UX3w4
293
+ XbTS/IobTb3wjGmEiPxAfKfvxTV8feMUCeBNRdwkkqZYJm0oJ3mnisMS97fUhiwA
294
+ d1Zoo5aCWETybSDTaVcEmOoQtS8CgYEAzHzXFJRwY8OeZB6RqiemraNistlIuVmm
295
+ yqz6KXtV1HT28H2wiSb5HIVGq972tyQaK0YUgJZa1YLApNP/wAB+p5f7zHslqurI
296
+ wtaby13SIshUVo2fBkNpfHig8YD7A3ZoXxL8UzoLGINdKtjL+S8FUo6PjAjbWpVH
297
+ TNEg4Z0rjEcCgYBZqEqGZ9XOJGavOlHMbSnRHN6awUstL08ocjKZOY6NdIUvM6Ok
298
+ sLEzdZu4MzAxg8/SQTVRjuEtGkAdcDdwGNIcACce8eUBeSFODVpkf6QWdQZMHtBE
299
+ hw9LlUnwa5AlPNuORuZqhRkWpsxTwi6O6QRyw30O00Zyu5OGWw3upYqYmwKBgQC+
300
+ LbD+w9sO/cTWipOgs4XR4a2OdoSrVVTJFD0IzVsS38E2Az9nHyb5vn3upMvBokLw
301
+ UhoJSUyrXBJ8eWpXEF660Z/uGe37WqZihqOYbOZdUQEXClmGwrVdfPb6BKHvI3WI
302
+ Tqj7YnUlVC8XBVAWrQN/N3ULoMUZJtKL/8db7QeuSwKBgGbbVwgHgBYEzIOcwBL+
303
+ kSqEG8dsY7svrAQuFDgVhyFEp1LgYdy1s5arUTrOEaYteqXrvnruX2UdMX7vwrHE
304
+ obOkDNevPsSNEFK8hlQVOJaPqhuFeo0/Kes4OJ+tnMnvFDENGpH5fi9Km9jVM4oz
305
+ tGS+N31shUJxtPSj+scvrvNN
306
+ -----END PRIVATE KEY-----
307
+ """
308
+
309
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
310
+ MIIDLDCCAhSgAwIBAgIURDIvwbpBQzGaYcY5NjIvLi2K2z4wDQYJKoZIhvcNAQEL
311
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
312
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgxNloYDzIxMDAw
313
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
314
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
315
+ A4IBDwAwggEKAoIBAQDFaJpx21ia50KpGQRSKamxsjHUHVDHRccMQlHTD1urBNpE
316
+ 3ulAJhSiJVx5TAlQCZeaP8xq9CG2I+hRqZDq32JCW2RuJKS0NgI6HU+L5OLkLXYf
317
+ MXbZe9rMAoexVHNLxHdcTPBeEJWJhd9H6XjVJ+o0UudooVzUrGbl+xzGUxv8dyzi
318
+ LOIisbo9QVPf+MNgKD9TaH0aHSuh7BBd0lEJiV3kDntcBwjqfoC8FWMp9ykjQOQj
319
+ OICPVGVwAPo0sox7/WgKoiGQlSyI8als8NmGuLvqXnIGv5M7dDVUZSRIonmiz3k9
320
+ xnnc/bSxDorWTzgZ725CzD/8Aev3bJYxbSySe6jfAgMBAAGjFzAVMBMGA1UdEQQM
321
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCppINk17Ykk89Jdi1blQnp
322
+ RYEHvrP9q4BIK9g0nasjPq+GQLoiiJXT8LbisEV+0V54PVHV+Y1wcIMDXVTqhHnA
323
+ OpNgvud31bb1XQOoRdbtsS88QIB2ab4/urWLvuHBmksG/C2n7VKcbdeU6+xkUbfm
324
+ rPNWiN4vPyqfzz3FKSWbLKy52+HOp6/fQsdoH1TUO7keC9qG5JDLHvsHP/qsJKWG
325
+ D8LczKzlqVgxvxUrMdYngQcBlrP8Z4Oz0NCe0AF5/LI0q3YRLpLPLdsdAKDm44Lb
326
+ BAe1y2G1jeOvkSQBPWCpW5iTFuW+CMtGAiiDXRhkxdORDvW3YfBCjiWO0tOliydz
327
+ -----END CERTIFICATE-----
328
+ """
329
+
330
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
331
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDFaJpx21ia50Kp
332
+ GQRSKamxsjHUHVDHRccMQlHTD1urBNpE3ulAJhSiJVx5TAlQCZeaP8xq9CG2I+hR
333
+ qZDq32JCW2RuJKS0NgI6HU+L5OLkLXYfMXbZe9rMAoexVHNLxHdcTPBeEJWJhd9H
334
+ 6XjVJ+o0UudooVzUrGbl+xzGUxv8dyziLOIisbo9QVPf+MNgKD9TaH0aHSuh7BBd
335
+ 0lEJiV3kDntcBwjqfoC8FWMp9ykjQOQjOICPVGVwAPo0sox7/WgKoiGQlSyI8als
336
+ 8NmGuLvqXnIGv5M7dDVUZSRIonmiz3k9xnnc/bSxDorWTzgZ725CzD/8Aev3bJYx
337
+ bSySe6jfAgMBAAECggEAFHSlZFztTofeMXWFLBpjGiWz4h3zi+KgIJYSsoMp5YvI
338
+ LlDG7L3Fb5PdhDgr0t5blkE8Jm0LvTr1TNj8SkpBfUzJGFy1sHLUQj9dScq69Bf9
339
+ 4HeYsCqUXoV4mBh/Jf/Cuo7CbYzcYfa8T1BTFAthynA4yG/IFcWTmAswTSC5iqyE
340
+ ER7bD/Z1hGhj12anKmX4ikMceEW+sXGz93/TC2TrSTRq+C92AFpHq+c/oUc8LqoZ
341
+ KWJjYhE4M2qiDgbZOS62FnQgp3/sW6uEelcXA7bv9SvwWM6D2lZdAdKPa8bv7qV6
342
+ keX1HEA4iP9wXVCsIsUyhk/H7gy5tjwiVOx9Mp5vGQKBgQDt5mPJDeWnjlqlGjYr
343
+ IiPfjZLBF3Q0ot+a9b5WsaCAEB41aXp9NvvY+P3jonzZA9SR2r7HP+Evaf/Yy/K5
344
+ yMr0/ZlwV5gUgOgcgy58YZa86DHKbCwV9LCAQlBbb/xyM8nBeLlCADzSare8pEa3
345
+ QccJThs6vW1/eGSw5w5WngwJYwKBgQDUbY7PxHultNKxpTWC52Jkg4oC52Wjrcv7
346
+ OR2R88m0BG2SQtPJMSTJ++dzv3Z8/GRfuQSSDPe0qUaziQ8qa2yuV41+nBJ5MRgO
347
+ 5ceXIV1rO3pKdtg5RtTr/PMTBWtFPBQI13cvG9h9gKhBQXzRsAkh6VVLcUuQiTb+
348
+ 2MvZy7y5VQKBgFK4fZH3ZxdwBEzMZHFzGY4uKA1EHn/+8klrkZeLhAeDkz13Q8Qu
349
+ TjwPuBhi845yKoPcz+FwcNiPvwqfP/MhwpCVbbkGfDcE67CeXJebR1LAWi/MlTe9
350
+ MXInnNFuixUatNi1JZWxh3SS7viFFqG6GX8+zXELVPux3TE15mJv6jeJAoGAKTra
351
+ bRkFprPh8PjP2ghu4HNnZgjjgVFKNghv5NQcYgQ6ABlYYcRYD5wE4EJZDQkvsiSG
352
+ 7pH1werY/h+sAd+3yF7V560DKOKOeNXAV2TybM2ufqVycit9SBBgXWC/4UA34z9u
353
+ soYFDtbZ0VCUmV5BZ4OSOoJS2ErJkc0iQ7N3fcECgYASeSKYrluM9iwIGbu6GatF
354
+ vN9lDlx8EtQxIGUbZ3Ny9VzZ4WYdfiVVhmmsdBWCGYrb/iq6nwOaSbaBZXhZ6w4k
355
+ Y5zXL+W4i1NK2I6YV17HUXX7ww5jXXNYuq3nWEhdbXso1JkeJAFhRAC0fg4m8MCi
356
+ Kv2eTZG91HlI28B1X4ic1A==
357
+ -----END PRIVATE KEY-----
358
+ """
359
+
360
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
361
+ MIIDLDCCAhSgAwIBAgIULUbwce/xEqn+x6vr9oE80QQ3d8QwDQYJKoZIhvcNAQEL
362
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
363
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgxNloYDzIxMDAw
364
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
365
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
366
+ A4IBDwAwggEKAoIBAQClktgQ/ipScugjip0UN0Ukgkro8RUsfMKWCrQTx2THJhBf
367
+ C0mCuci1Pu4+kiJAXUkIs1zzYTE2Cus5OQOoIzkB/dFbn3nf1WSNrNsPKfsSeyoL
368
+ EQpBX2xxiPxI6zDzEv6NpwhaKSnkfVuZPn5v1PeXb87KZMLHlXZbS1HB1VcJqb9K
369
+ vDwvdOk9D/RjaqwMjlmtShMf4VAprWxtYZoKEvqWTeiBLQt1UVSa2Q8wQGsWHthm
370
+ 4bpQ/v1VqOBZvLbn1zkWBAvhzzd+yvMK2lzphjNnP5rFJ7Baem5UY9Dg5TP4Xz5l
371
+ /gDQZDm/bMrz8VN+IFfjb3Wm/33cGhTQX9YGzPUJAgMBAAGjFzAVMBMGA1UdEQQM
372
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQDHpjstiqVts7VnJ9fueQb+
373
+ 0CDiYjSkvfEzNEkRnoBunNW8/1ztJa1RfZlcg5EyI2AdneFNoiKFbJU/GlEeo2M3
374
+ hyz2t26/IsMjLOpLMRdTn+lOxdRd7qtC7KrC8/raeRiD5w1puS5miCi+DqRLbUfZ
375
+ oY212iyiiPDJM87ubwxFfySMkdKBd6Ai0gIYfHQnorMVAfgbDY4vfuvfzYXWKJyo
376
+ eP1LnyTGjcuswo1+1lMCkjcwyQdnwvapi+TqzlS8Ay4lSnbDhyK67jUHDZDNOuWu
377
+ +oDWpIWt2PPpJZUnBQu7XbHNup91PaWG3lGokssosgybkvZoNKTKtpe+XJDZ7j8T
378
+ -----END CERTIFICATE-----
379
+ """
380
+
381
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
382
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQClktgQ/ipScugj
383
+ ip0UN0Ukgkro8RUsfMKWCrQTx2THJhBfC0mCuci1Pu4+kiJAXUkIs1zzYTE2Cus5
384
+ OQOoIzkB/dFbn3nf1WSNrNsPKfsSeyoLEQpBX2xxiPxI6zDzEv6NpwhaKSnkfVuZ
385
+ Pn5v1PeXb87KZMLHlXZbS1HB1VcJqb9KvDwvdOk9D/RjaqwMjlmtShMf4VAprWxt
386
+ YZoKEvqWTeiBLQt1UVSa2Q8wQGsWHthm4bpQ/v1VqOBZvLbn1zkWBAvhzzd+yvMK
387
+ 2lzphjNnP5rFJ7Baem5UY9Dg5TP4Xz5l/gDQZDm/bMrz8VN+IFfjb3Wm/33cGhTQ
388
+ X9YGzPUJAgMBAAECggEAVfN90Ixwoe5ejZy2YDk03nf4tSX5bOezB7q0spPOwAcF
389
+ dqFgXslc5KGvgbHQsAL9F9Qsi3dH2ZsfcswjFtR6EouVc++8j7KyCU3TRfLwEC75
390
+ q1cEMN19aQ7IkH3vIjAZDqXIEy3NPnzI4Sts7Vbr1KRJAA4AgyUWlNvrrCi4jx3G
391
+ enGpjvH5yxaYDAcREw8tS6l75hTsv9hS+1x0/6yZOanEpOuODHG/Qh0u6TzKN+8v
392
+ vXslqpCB4XMYiqWMQavyf2qU75Ui6yAHjw8mbdHjFPxequqDJJnsbEcNM5nY0MNV
393
+ 9ezUD1M2c9RCj29BFU84yZRMoGNy4ddng3zMFKgJUQKBgQDVOUPWzt46XKWy70Tb
394
+ /I3uWr3WrP9BhPSguj3/GRI1xEASC1HmiYgLitla037NbPYlVjRpBk2O480aU79Q
395
+ 3R73tB+72i2O0pCpV7+dz7vaXLQwHSl/J5dYpvGxrZS0nwiF5K1HR4KSjlBBU8JO
396
+ unEPZ9woN+jimBw6qLCtdlL3LQKBgQDGyl4kX7JYms7eR7h8E+HtHF0W2czxqOey
397
+ 6HTNYQEu9n8c/ByDF+2WTDdZmG/9xtN5+ECi4oyOhe1d0ojqfboJmTxjKBH4QLER
398
+ lErySryUB12hjBb6cp8NmCtyGIp82J52wmIwmQ7CGZ8PKZhDeqO3gxl5mWB9eQ3Y
399
+ 3n0N5pTezQKBgQDOZrCUr4vPUv/TRmqRyNhbcttxg+VTtzBWpfJ9jfditKaQ0QRm
400
+ 9ZsMEUx172U/1cowOlJhmAhb2YghhBAeZu4jOem+HmUbbBk81ARY704ZAsQqDxCs
401
+ Vdbbqj8sj6rzbT8C3WofJcnvtHNbyYi+TRxEnXUwOW7mafhpkAH26CNHwQKBgEYa
402
+ x+h79yFYNuwczuqy+FHuVsXgOW5f6pYldEuZkhlFxL4sCsIQhjEi38IxCA2vOJUi
403
+ /2hyDK+We4dC4BYSELGh4LH3R58M8WUJrwSTZr2te0+lX9Ui5wScTXYHQY+VtQyc
404
+ sJQC5jl9X6KxQIlLjsEA8tL3TBfzwPZiQCfO0WFhAoGAZjPcJIEE5il2JzfJCAi0
405
+ 7Hdi29v+DfgRpzfLu5C44yokAh7qycFIr8k2vzYB7LeHViek2f0nTHZQpXk6hW6m
406
+ C9gT4M4UGNNoMv1mWpUCsm8qUpLGA3uJ/xrQE2ZNdWwOI+sS5wrgBVGt8VMlvNGQ
407
+ uwOu5JxCkWfK0JQH3DJaOtw=
408
+ -----END PRIVATE KEY-----
409
+ """
410
+
411
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
412
+ MIIDLDCCAhSgAwIBAgIUPASsrsYzDmz/DkwIqjt0/8jCYMswDQYJKoZIhvcNAQEL
413
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
414
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgxNloYDzIxMDAw
415
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
416
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
417
+ A4IBDwAwggEKAoIBAQDTC7KkVFiP877ALH2osPDSkV0+ElIk6dTIJ4dnMo6Caxq+
418
+ iL48E9xXK229yKBayaUHny75umllbXpAv/WpHDR9PdK6sy27d9PFRxIgysDEwNIG
419
+ AdfnXtyDnjuL2AUMdXByBUEATl3t3L0fFe1CZOQRnTdpr753tgkUwgnycWhYKlDN
420
+ FwkBG6OBODhwwwZ338Nn9G9kVWwZe5kcDxLngrYjvm9oZoGtep5zO7GJi+ccppul
421
+ LCwzkstJIfi3U7IYEEeHHn+r7jZb6kgFv9EOySfzPqWukkokA7JcQvoggccf+1Dw
422
+ 12pQ/wCLDjy++8bwsCh/BlbvUvaQUBbWFhw7egpHAgMBAAGjFzAVMBMGA1UdEQQM
423
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCnaO8umnXPXwTOJiWSt2C7
424
+ hP3ybwzmGrPo13RXia6QvaSH71QwYUi1NmwmNUVgRy7y/8uOEIVf8bXqa69I+b9+
425
+ qviIBgk45yPDfbCHGX5bbd2qV/XyYybT2X2FawTM7bN9gVU/EjMrvu/VAyiW5yYl
426
+ /O4WO+pvnThlXiEAJjgT1T8vXtf+YjxSfhuRfTRK1AW3SQCtYw09mREjeTCThlFN
427
+ zeAtI8H1VSgdUe+ATJ9wWDkqDSFP8Jof8Jv0aT8oLFfXrNCff+nTWPEpXkMqwoxO
428
+ wIn7lnNJMpehGLgCm/6vtoT8VvQUvcViKIkijwI4VcoK1tRWFURNm3YQZ1586wo7
429
+ -----END CERTIFICATE-----
430
+ """
431
+
432
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
433
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDTC7KkVFiP877A
434
+ LH2osPDSkV0+ElIk6dTIJ4dnMo6Caxq+iL48E9xXK229yKBayaUHny75umllbXpA
435
+ v/WpHDR9PdK6sy27d9PFRxIgysDEwNIGAdfnXtyDnjuL2AUMdXByBUEATl3t3L0f
436
+ Fe1CZOQRnTdpr753tgkUwgnycWhYKlDNFwkBG6OBODhwwwZ338Nn9G9kVWwZe5kc
437
+ DxLngrYjvm9oZoGtep5zO7GJi+ccppulLCwzkstJIfi3U7IYEEeHHn+r7jZb6kgF
438
+ v9EOySfzPqWukkokA7JcQvoggccf+1Dw12pQ/wCLDjy++8bwsCh/BlbvUvaQUBbW
439
+ Fhw7egpHAgMBAAECggEBAIJZcUbqCaEvrRtI33v3fWaw/eQ+sJm4CwJs18a3hSms
440
+ OWKBVu4IXklAu5FCfzhT3ygr+3mm1z4cNiwT5AlFMG5CZwuFa7OkORpZ4Sp70EA1
441
+ 0AKB1PZEsvJgIusmy0d8qazi7djgjkdB1VWD13zwj6UJc5ZFQ+Dwf/9gMYCa5xW8
442
+ PR+Jx83n3hKUBfzeUQckWUH2Fj3u8CWIRJMvnFoSYxL9/m1IsyyLB/vySxowTsg3
443
+ iZoc1t3n/xsua5E+UUYjV6ykb9vtkRYopZM2yv4POhMqVZyXTJOIXNbY2qrUDX1F
444
+ CV6S+44DcBkbCI+UvJSMfZJsvp70NCzqQD832cEyNWECgYEA+usZ4qTgyr1X+g9r
445
+ yVdJqLB1d+Lw8r9HnXnfXToI4FqZ+6eUP7Spdbl1zpxRdpSCoUKR1E4k49IgArCR
446
+ o1axPRrhfq0EuXh4r8uXhtaorDk0NsXQz3naZaSj9sAEDFW0TE9Kap6uDpJhtSfU
447
+ Bn2PKXfcNTp5i1tKqx10e9sHelkCgYEA11Hf9eEVMPZ1RNAXlycNyQQTg3o5y9uZ
448
+ H1g9cwHws6ND1m5x5Vlm/nWuuEJSH+4WlYaF2JSy7Cms9MBBDH0DUzrLEpNJYo4n
449
+ fJpct9QpYyKHwMq/OGRiZOtlEmffnfe76ijT9UFEZZdPAZWuB+hWx0DhFzJ48Fq8
450
+ wiqysj4x1Z8CgYAPr5zZp1cKNZYHYulpF9TZ/9YIHZ7UfhK7DIBjMpqVc/SGX+6L
451
+ oP6rBmIP/YO2NwiHjkLRk+UIfP1VTbZ9EJFZ8ZFBOw29joN08fRSEJ9QzO6vseQg
452
+ 5Ew76HP7m/tkzgLMdnR/f9X/wTTsf0Xo9fZ6MC0LAtHQXW+ojNnYWFP6WQKBgQCC
453
+ 4hzuHCTCf32nF4rPcYjaoOSvrfNF7LV2LTAlIY/L0jlhNf97t0147dYH4SCEkjge
454
+ KghgL3tXPLoKiHbB/Zew1vMr1mXsR5bPEhG8GHYT8aBtW5DC2ZpJ2CC3AHcYUcdj
455
+ PfAhi8vkqQX4Y6DG478kHVb1v9Nt3uoQaN34pP+r5wKBgQC2rbz81o14rH/Ss8Ci
456
+ s0YphZ55R+2VVj9lv0Bd2ea6J4qRG9ToPa6emk922v+b86s7zCGCCkxgC3nAK8U3
457
+ lg8KyOb9f+25S3ISohpvc90L/xHxUZcKA2OtJNz8U3AIp9f5pLyK2LhcROALfbPf
458
+ pIqiH6TZyQYwl2/pDJtLpW/6rg==
459
+ -----END PRIVATE KEY-----
460
+ """
461
+
462
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
463
+ MIIDLDCCAhSgAwIBAgIUfp7Qhve3TfaAj3jjcY/WUN1nozMwDQYJKoZIhvcNAQEL
464
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
465
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgxNloYDzIxMDAw
466
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
467
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
468
+ A4IBDwAwggEKAoIBAQDN93Shy0G+A51fMBzkH+j0LwpNhKMTMeNxsc7QpqwolyAm
469
+ /KBvbpFYO56c0o7zqNU0PdyO7D8x0qX19znVdXsYweEMhM11cTl3QV5QCjN+ldQ1
470
+ i0APjCmColWk9hfF5LX136jLurHhQrMaMTVZj7s6m9Zun7t1FOKqCliCGTP1mSPK
471
+ E1uxZi4Y9XCGwTjb6B8ffmgixPMxbb91YxC9FSa8m3iH+69cQ+edqvDCbmZrnJf2
472
+ 5qVlKpy3fiavqmrKcuD9eYsfngyfgMGb13Rswpd+gfaQP/gWUwSNX7VaHU97wkCN
473
+ OwJ+VX+4hL7rxdpprYrkiBlWoA3hUxhjtzIDyhN5AgMBAAGjFzAVMBMGA1UdEQQM
474
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAz/00Fvtg1+h6addocNGW/
475
+ y4RyLP14YefUkyBDJs3kxcDq2HvbzACc4nOMvmJ7QkE/TOCfDGCv+3pFd+a4SHdk
476
+ ifCI8YXTY3dv14CK4oLnHCCffnM8bzSCd0s6aTjYvGkiDKVOC1K8bcGBPjCsqY/U
477
+ U15vlfHAOkN5wYbDEFcoN/izozHOFiY1z5X+CBdVSXmqQv69jqXzQyLr9ul6v0gO
478
+ EOoNyl/yqfvjND7ytWcksJOM00ogVc8mdbOfVddq5od5i98KRwcDni79GXrELs66
479
+ ebCJ6M4lmzuktRiOzOskQmaXiVgYXYtR6EsQl1bGFv4jnES6l1EyJxaae9lm4cvw
480
+ -----END CERTIFICATE-----
481
+ """
482
+
483
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
484
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDN93Shy0G+A51f
485
+ MBzkH+j0LwpNhKMTMeNxsc7QpqwolyAm/KBvbpFYO56c0o7zqNU0PdyO7D8x0qX1
486
+ 9znVdXsYweEMhM11cTl3QV5QCjN+ldQ1i0APjCmColWk9hfF5LX136jLurHhQrMa
487
+ MTVZj7s6m9Zun7t1FOKqCliCGTP1mSPKE1uxZi4Y9XCGwTjb6B8ffmgixPMxbb91
488
+ YxC9FSa8m3iH+69cQ+edqvDCbmZrnJf25qVlKpy3fiavqmrKcuD9eYsfngyfgMGb
489
+ 13Rswpd+gfaQP/gWUwSNX7VaHU97wkCNOwJ+VX+4hL7rxdpprYrkiBlWoA3hUxhj
490
+ tzIDyhN5AgMBAAECggEBAMRjM/Fllhzw42g0vweBqaTTCZbaZofR5NWuvc1TbwoQ
491
+ 91ZVQUCfA7VGu7k6R5XrIMd8SMZ6WtNN0HLUNW/kYeg8TTKbmjBmMm4UhTH6WBlW
492
+ EY6wZPeuJJJr6Q+umwJVTm7PwOno7N0ltRK/Yugv1U1P9ElswtgjfvC1hqkeEN4W
493
+ W8LPHGoqavqP9DfPZXyzGuX6yJkC7Iq2nxEGy9IKIbFHcAYAI5OLjWUCAsDJQyiz
494
+ az/iQuuqsuwpBWZKC6aXG+jgw/hoT5IIXwjtEFnCWOkfUTlOXcBYa7NOEhlNJvT5
495
+ 4RJThEkMBxy4zJ88OFvaBQcmmzruYersQ8pYC69J/FUCgYEA/oRtq7Vlbm/MkD4l
496
+ yuhJaAn2tk4mh4cp19V2L0Psc8NLBSVoneZGDMz1ACDwCC+Sv37oNyIy3Gfjzhpm
497
+ OngX7c3roFmuqDHwy1fm3HEadHXWUAwHZG3t8eAQIPzAd9da54oYoiATyzQDxa/2
498
+ KY4Wm7pKkXujMg/TGDVeYkDrNM8CgYEAzyqfJe2HpzH7c9tO5srPY9SHWBSWRRmd
499
+ C9ZKE+NhA4SQvDgHhOyXVrGYLaLM6BTF6wWDVEKPRjNYDgBBJ0DIBNz4SwytGFvQ
500
+ ytSrGp2rydNqkpdxypZ6qZjjv4ORUf6NfwVRzC3lzo2jzW95xq02kUvPdVtFGt6n
501
+ YSsdguv3VTcCgYEApXWYCnGxkBr0JK2SShe6aP1ZOukRWTgAdsTZwR5qIFPMeHr6
502
+ SPRDg9zWRZAkG146C23ILtd3sxuC2CEHZmlePQWKccL7rXJR9Q+fEJ4isaVNftpj
503
+ D+H7NywPsDJAOWhyO2XmX7d0xrx421JqOFeb0P9JrMxwqoHpHKrNQhisD7cCgYAD
504
+ XDaen96uaJIii/EYrztz7BOR6yuQzVyNv5kN/4coTnMmimYc0tWVk2Xbf6OBNC0N
505
+ pdY+fKHkSproBzsHTvavlYH1fawlFAAr+g0YbmxF5sb4v7oZxh0ROSigh5rI0K8s
506
+ 20I7ZJcwpX19rIw2G8Mh0i/4QFW7nNbsLY3Z/MfTOwKBgQCi7pEysIDuE9FUm0H+
507
+ YMKLz2ZoYNhGiTB3/rnngFzb9BG0BeCa/0EmTBRx8oS0wrzWxnbvJKb79auSmQ0i
508
+ 9M52BymW143fGdyO1p/rxI8GQMeSmzZq1AC5upAxWGGxC5GZ384A5ptJS/fcwbOq
509
+ 8hJXghpBvRcSCfQsLOwHA1OFeQ==
510
+ -----END PRIVATE KEY-----
511
+ """
512
+
513
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
514
+ MIIDLDCCAhSgAwIBAgIUY8wJZA8KJ65kDzfXRlw/GtLkNLAwDQYJKoZIhvcNAQEL
515
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
516
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgxNloYDzIxMDAw
517
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
518
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
519
+ A4IBDwAwggEKAoIBAQD72WS1saIIDnLCq9rqmzXiyHJxMshwXlruH68D1kLKPpjD
520
+ L/E9u1KacaRr22g17yuJvwumRcGsDBEN0g3uDPQ8c1EVIuobm2pRd6nmTTrKWO/W
521
+ T2TpEQxrs6U1A5/xpkkCItn6z9V5ukSyFA68x+WDY8f7EEtwsJ2dJMx/7MgtXaab
522
+ ywapOA42YCX5V8vh1848hWw5qBLjz3JtmfqjMAEMLP592Wpqb4EjIw9EqUEAkjBo
523
+ JeJD4H05oFMfRFcA/30n+SRBCIAw8rvJV9zky9rbh7imLOf/EEGwvntnbZo3Mcil
524
+ Q4zvV90HGN7RZim+NopdhwnAyZ8ElXCDIL0CJXqdAgMBAAGjFzAVMBMGA1UdEQQM
525
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBca+x7FGg99wVVnCibFKCi
526
+ MvFM/csSYRbdIU2SEc8Odudy7o62rOnuBv3Pvt7hTNVcOFl8KjWAkDTheNqD3RdW
527
+ GAf+7XIuyHm6icXFNb4ODeLbIZwanWaa09hOSLfMkXUWe72zkGRw5Y7IK/vSF5F4
528
+ hFlPai5p+YJ+x94quL+mZM8sBgOLlY/YhWq8PUqEti+w8+iwHtgOHIks3XW5I2oK
529
+ 0aCcCbx6gs5XNr7iYzKIi/QinICAaXjm9AAIU5D0u9GLFm7YlWajMG+p0s0QgZlJ
530
+ KLa2WhXRqWH0i1g2xTaQ2Gr8+PyM5Rb10+DVFoREO3wXWuQpsSBPKAEpjxbGKBRB
531
+ -----END CERTIFICATE-----
532
+ """
533
+
534
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
535
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQD72WS1saIIDnLC
536
+ q9rqmzXiyHJxMshwXlruH68D1kLKPpjDL/E9u1KacaRr22g17yuJvwumRcGsDBEN
537
+ 0g3uDPQ8c1EVIuobm2pRd6nmTTrKWO/WT2TpEQxrs6U1A5/xpkkCItn6z9V5ukSy
538
+ FA68x+WDY8f7EEtwsJ2dJMx/7MgtXaabywapOA42YCX5V8vh1848hWw5qBLjz3Jt
539
+ mfqjMAEMLP592Wpqb4EjIw9EqUEAkjBoJeJD4H05oFMfRFcA/30n+SRBCIAw8rvJ
540
+ V9zky9rbh7imLOf/EEGwvntnbZo3McilQ4zvV90HGN7RZim+NopdhwnAyZ8ElXCD
541
+ IL0CJXqdAgMBAAECggEBAKw5qQ47cFPUFZSc03MWOw5gByr0EHAPhl1LG3MjRb9q
542
+ eSsZkP6nKEDnsAn2G9iuOvbSx9On5l6STeNGnzIId8kTDwLGQpQoftdBXtVYQPj5
543
+ QuIqnxZnCzhnvHV5ihpFna2xSaGkGRdKUwn4f2+Hv6NPTAWbygtBLDe3X4Wn1eh2
544
+ xFwFCCWNcA1RMX56YI5MlLSU5dwiEZheC/6TFQnKUS0cRi6bIIVhj+BGeEyHD2Qy
545
+ GillQRAW78xuV5hZrkiiJqMYL8WMlMcLpUi/OD81STxjYvyTW/1I0v0akSwf6Nux
546
+ izpTnnrQu3EMOJAUqSU+5CRDyTMYnNreNInJiTxjNSECgYEA/1oHlXNZEObnfiNo
547
+ nnp1GoVe0PjetSFdCztv62nvy0JkVjBCwSD6eWsd327Qh2VmRfTt669F67G83Uvi
548
+ Ea3P8WTdy2RlMztdeAB6McoiwwwxwJzIAjDPsr2iAXRdhlQL5/Q0qKsAzyHyp3BI
549
+ rIL3w/fp11DA6wSqnxCFc4YReNUCgYEA/H0WV1wZUutahnelJHRuZoD5P+1z8W0/
550
+ OeapPHy4Z5nlhON9aENT28Dq8qQ0yxzA+6EYkRjW3cHGObl9QFBJherQEWBPxrK2
551
+ 75MIMfQQ/+adZwpecgpLFwka/VjaLxc2LMFDqsK1Qc7fuyOZoR2QmU9vLun3SAyg
552
+ WkgRadyE3qkCgYBbZD2Sn9Yg1oPEAahQEEQZWeK1qF0NNwO2IW/NMf1BImIG9v7t
553
+ YIBFNLFcZqz7yK7yGteMow7DbLnL+nzPFwZ1v0Qip6wQyg6KBKG3cEFAzfyAk5yC
554
+ LDYqIvT40E0o5qvcOOsf8xQ3Dk9q3iUkmTtUSEbJaX2in+jxRVh+IF3ggQKBgFm8
555
+ K0CJHwb1VosL4sl+B+6uT+eEgPyBE0OE0wkIWpGXhJciMuPnadpkShxKd+joIz5L
556
+ Fuwao+LUh5rkbbt5zWem+KP0UuYPhizHWNZII/KPB8ojSUXGmsFpHwqDlae+3CYz
557
+ 2dTKtpjY6XMdR/CXDVkvfhhyVsxokGUF0AqLsT1hAoGBAPjuyPvZNKkK37Ev9jyP
558
+ PBk3H9mCDAJGti0dxH7xHHBBdC4Ukndvk137u8DzTT+RL8U8JWaBNb8FqpnCHXWZ
559
+ rl6HTJfPkmazmNRvaGZGutLOcvDNdUTiYs1oq+XA53otbTq1UrQKdPH0vC9DjAC3
560
+ MICafGImbpn8Do7jagO6z6bD
561
+ -----END PRIVATE KEY-----
562
+ """
563
+
564
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
565
+ MIIDLDCCAhSgAwIBAgIULEE9q3QPcGx/aF56Kcjpmm1ioFgwDQYJKoZIhvcNAQEL
566
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
567
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgxNloYDzIxMDAw
568
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
569
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
570
+ A4IBDwAwggEKAoIBAQC3vG+t/eMT7XSPOqYmHBKFP7McTUIanto6rHDJPqU8A8Wl
571
+ 7SexsxiHFxHDCRzy9Khcy4UR45LyfVKl3CkZJtV9CH6s08iXjmEeaFodkwOcPpFV
572
+ Bx48Id8Wcru9623+4zQJxrTRZXH7sKoTggSn0r2yAtCMzLiiMkko8EmRi20O79uz
573
+ 5L/TWHKSdf0wm9re9H+TeYDdew/A8t8H5PCMNaNO+QNSWNDTCc+ChLdFQupbqWSl
574
+ 3SpAvTkeGH1XjO/dxhUslzHrv7c92ZjvpHm8m2etcGP9VWW/6Lsa2/jDZaIGlc2P
575
+ z+2TGeC1E41wQNMXZbCnREjIvxlH18jknyxpuD/zAgMBAAGjFzAVMBMGA1UdEQQM
576
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBlmVB8gJE4++G5jc6nSW8v
577
+ sa0QsV3RRdPmBAAgY8A8L/7ACQZ179DmsXOkq760XMBftt4klfCznvD60MHxGnqv
578
+ PwIA1Y7TvhAK0WIiS1hgtNs3owkTx7jUfYmgaFmNMSdffod+mtu9VPzc7PsJgPpd
579
+ 92uWyGDhoQcIWe1hqCWQqyNUI1BtX3LY/iIJRSKXpBlvGm9iPVzwyUNwn/W/Fpp/
580
+ nw0vwbvcgdvLzWi5gWxfLI9gTolr4ptKRlXB2IhmGBI/u1FCJiIr2qTuN/A0YUzj
581
+ 7jhY0gEtutoz1XR9NXBhu4Y83ipJYcgHpRp8umv8HABdsSFSaOHahuYdUtnEPN8i
582
+ -----END CERTIFICATE-----
583
+ """
584
+
585
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
586
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC3vG+t/eMT7XSP
587
+ OqYmHBKFP7McTUIanto6rHDJPqU8A8Wl7SexsxiHFxHDCRzy9Khcy4UR45LyfVKl
588
+ 3CkZJtV9CH6s08iXjmEeaFodkwOcPpFVBx48Id8Wcru9623+4zQJxrTRZXH7sKoT
589
+ ggSn0r2yAtCMzLiiMkko8EmRi20O79uz5L/TWHKSdf0wm9re9H+TeYDdew/A8t8H
590
+ 5PCMNaNO+QNSWNDTCc+ChLdFQupbqWSl3SpAvTkeGH1XjO/dxhUslzHrv7c92Zjv
591
+ pHm8m2etcGP9VWW/6Lsa2/jDZaIGlc2Pz+2TGeC1E41wQNMXZbCnREjIvxlH18jk
592
+ nyxpuD/zAgMBAAECggEAT/t+nj5ESJt4vxTn2PUlds34+VwEZ7Q5CYuheWmE4nA9
593
+ 7PIk8m0lQ0FeoQlpibXJSMPrxJLNmDPH8524YlOOYeR9yFxVGOyJCISinfcufiia
594
+ eWok1kZkZ9BAO/etpWRgddUDR5gim08XanCR+EB8BW7GPFSuFyVOxbx8Ohh4vCQe
595
+ 4vnwxYVsYPLDRK50C3Pyfs13G9Jsy+RZtD4Sn65u694kR/BTIBGZtE5JBbfGhcTZ
596
+ MU3v4CpWAH8Q7uaZ49vF6dk3GKgDDZiDts2nXNeBqd27tKwjLoR/nmf5ZrovgI6Q
597
+ A/cwj3PMyNAtk9+JzwyMEuJZLcgp1a9pDxujQ8DN8QKBgQDlKDWQ9C/OLWEzLL8g
598
+ LjvIlMN9/S0O1U1R6Jrk9HT5MsxJD7NXxpVIXSNJZ6W5t4WisfyJ1EhEZdixQ5On
599
+ OqytQQRq39rvoRdlYrOMW7cRzorWVsSK8T5c8YRHI+tmyh0M28cbo0K2Q/NpKlV7
600
+ A9oU9EC+OSZ/Br+cM4xOki67mQKBgQDNQi0nJDvRrg0PpzAvAyskpGv20os2zW6j
601
+ XJ1tNz50xRjVFwDv9/ZrOMyIJgWHmMavx8EjPGKF8g4Erps1ktoAobQq8pjOIWf7
602
+ FByrtQ3OPEvl32wXoa9h94/sJARmjYJbqKwhPxAQQt5PU6Eny2ogq83xaXluww2L
603
+ IZxjbuzvawKBgCSSLTJL9hEmZtu+6WWeW0Ygj65cqEM0wVkwEQA3Dy/x7m4+hjWc
604
+ 6Jga3RXK58Tix/31/8KTUVExG8r2aOsITyR7OtQ/k3YotE4m2VauEGJUHw4j3Mv7
605
+ wiMdHCoqTlgiK06xCG6duHjUEVWYPvoZ3ET50hdJkZ42GoA4Lc0gQTsJAoGAOtPP
606
+ mxtAZb0Lk0PohGDVGaBiLRB0w9Um830UxXuC0/a1QkVgiGY54ssZm5/CD/XSZAjN
607
+ KusglaElMWRVqYoYHvw5ZeG3t8RNR+GgwfmXJleTrSNWmINHf71zK0u7UyUVim2S
608
+ P8kSMobnrjaaxov/M7Ppx1niasNOe2S7rKfbElcCgYAJFNYj1Au/5KEiY2FCIHwt
609
+ jeXNZLsCr+SPrsKSCeSafHiFlhcAr0aEBtD/Ua0+pV6fqeF5chPic93kiyskOKoa
610
+ 1GqSs9WdoxFj4sWVaqFKB+5G+m9Tg4sthPNiC5gGdpRZPf0DWUys9y2OehnwA4+b
611
+ 481YNhEqynDR87Wq71qZXg==
612
+ -----END PRIVATE KEY-----
613
+ """
614
+
615
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
616
+ MIIDLDCCAhSgAwIBAgIUbQFwdJUJU+uQu6TnBtgwRJEi7wEwDQYJKoZIhvcNAQEL
617
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
618
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgxNloYDzIxMDAw
619
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
620
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
621
+ A4IBDwAwggEKAoIBAQDN3kuiEl8fBuuVoTMZzBz317N5YG3fo2nA72B0U9WnL/2+
622
+ sJKlNZaw470ySXMzhTnoqUDMIwQEQ5Rg1A8x6HXfbbji8QRLXuLzQjAQ4FyWut5J
623
+ 7CYx77zmIIm6VFkiIYVe3HTbPCXT0B8NO1xZKTSL8paxZMhwP8ayi5HrA6AhDjOU
624
+ YV/wuT6J0LKhDmYzmYQ83psJRjByuVusXMME2zNqDVFWntaiYisOTCHLLHOwGpbu
625
+ Xl3bjANI1h8krrvlIuPwC6aPsKTFn46gSVt6knt7DHsx2hb+25yiTp+q6GZRdowI
626
+ nesrczxajB3JCgkMZ9PAwYLZy6+0j+W6O376K2lRAgMBAAGjFzAVMBMGA1UdEQQM
627
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQALkQ8XNZHvx78zevHQduhO
628
+ 2XETc4jnJgckpNvlytugIO5z5RvoGk7AGK8JLoxJFW+kU4qzGCVdZkskv8wMQfvu
629
+ +MNfRaMRqNvopXaSXRToKjxYp4BJCyiwvf6vaN7TVy46LVANv+lC6OPcLjmhR7h6
630
+ ZrOTrIiPl0U/Z5/2Lj3rRsYXsP5zYwQvnlH6xRoV7Vvy1/1JvJpn8pDGXqP2MNNS
631
+ RQvE+pTglxjjy8iFJo0ZUrjF3McGsC6OfAzAjM/ZVlzglko63S7VLcMlwjofy4OH
632
+ KUTPkS2bMqOmWwEeikF+7KfBCTPBNPj0Z5jvlaUwBt47PD/bLeaHD/hfcZn7yL52
633
+ -----END CERTIFICATE-----
634
+ """
635
+
636
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
637
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDN3kuiEl8fBuuV
638
+ oTMZzBz317N5YG3fo2nA72B0U9WnL/2+sJKlNZaw470ySXMzhTnoqUDMIwQEQ5Rg
639
+ 1A8x6HXfbbji8QRLXuLzQjAQ4FyWut5J7CYx77zmIIm6VFkiIYVe3HTbPCXT0B8N
640
+ O1xZKTSL8paxZMhwP8ayi5HrA6AhDjOUYV/wuT6J0LKhDmYzmYQ83psJRjByuVus
641
+ XMME2zNqDVFWntaiYisOTCHLLHOwGpbuXl3bjANI1h8krrvlIuPwC6aPsKTFn46g
642
+ SVt6knt7DHsx2hb+25yiTp+q6GZRdowInesrczxajB3JCgkMZ9PAwYLZy6+0j+W6
643
+ O376K2lRAgMBAAECggEBAIFQFtYRECrfH+/3N7AGpFOR7Cxbw+hsLyt/sWigmF3S
644
+ KWM0aojX5nXqN5d0x6YfE0bvucIAZK+A+5zu1zSUPiZAN5hlqDrnuUrv0l1ncQFF
645
+ FAf/C+bmHhO3cIvYG7zyrWHuvIBRgblQy5B2LwXaeiVGFh4LnlPT262fOeMTfewE
646
+ bR3L3ZjV80yw571TbojTNxIESu2HbCssRYjvzq4AJwxrQLh8brArlql2Z2FXOGT7
647
+ py/Mt7dqkEO4cVL0LxwUX5pHZgHW2o1f67PG8uNGXivVwRy647Cpeiwbk9OSJn2O
648
+ cPNtoII+p98MBHXMaRnWNwhg8mNRWEpsAIp9GooRY/kCgYEA7HPspUOV/vRgTlWx
649
+ fjbmQ5c0lT6dM2SQmL4nXCtdqEWIVc7znzwHViakCBh4ivL7M+ibPUJAfLtzyUSm
650
+ a26DrGHWqFtUifVqZHpnNMPeyCaJtiEJB/4AXkNu8A5VJQqHqzSZXITwEmUPZn6Q
651
+ 1yaYayp/i3N5AjvlZkVIQ8HKqR8CgYEA3uMbvjd1FgBZnbqlWu6ye2gKYdFDIK9V
652
+ WGVwJW4GkqONvm0oThHNpiVgh7JJ4axLYIN31YNahvLRzkkrVngRYeBGhyuiwms/
653
+ /a+clZ30wHZ6Wy7EGJ7K1V0iU4SCRwmV+OIOW7t5gwAfM63RfsWjhhjpx7Z/FO1w
654
+ e89CuaCN748CgYBWh2mvZNdMUMO5hvSIOrDzRS8x+pLujru3mcavnRMOFDv7ItvW
655
+ htIsfcGDUOkz+A1jhpjgxxDwVGzf16aLJAs9lyRFwf5i6hOAJ6cDETbCyg+VPeuf
656
+ KB2cYVMEuEoCXyMczQfeaqusH52OJXz9rxsSBKBeOOisn5yoW2xBl3aBgwKBgQDU
657
+ UubX0n6gYd786ZOhxyeRdbAGNNHMrhoQJjmp/mEWieV6VQQDMuSD9LE7MzU8XORF
658
+ YZfjdsjjKyeAaqV1LtXoNj0ZgREAQijoYsU4pgtE2NiASlGV3pb8oEcV5nIwd8o9
659
+ GCNzcWk0yQXwNhIOwPmgwdTaYlg3OGViHDPFH1R2swKBgQCz6rWtfURb/HJjrp0Q
660
+ GkhOBZ5BNaKNyrX/8XgSjoEHgi/d4WLhdcBCSaHIQg71u/qbg7TrH5M8Q504CpRV
661
+ zT4ntk6U3sI4WF0c4lmli+JNw5JiIrq+FJLBqczO5VpujUOBLf++UnBQvxi8ThVy
662
+ P3vN0OIo1UZaNRW6CpZLa8sOyg==
663
+ -----END PRIVATE KEY-----
664
+ """
665
+
666
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_9: tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
667
+
668
+ SSL_TEST_NODE_CERTS_AND_KEYS_9: 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
+ }