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
+ MIIDKTCCAhGgAwIBAgIUbFhRlgpIM3M+ZYuTigQ1Vbmi6P4wDQYJKoZIhvcNAQEL
5
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
6
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDMyMzE3MjkyMloXDTMyMDMy
7
+ MDE3MjkyMlowRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
8
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
9
+ AAOCAQ8AMIIBCgKCAQEAsc4R76dCSzj3MR7adSLI+Mk9cX42bTHiu00c964rUXr2
10
+ eGpYy1fmtdiq71kkVFRCtX+m8tc0jA5RCOCJsVKPZ7a2zQVcUkC1HJDCg8lufI2p
11
+ hS33zpjP+BePGmxQDhBU744cmFA/TVN+VTEhTlbmhFo62eX2Repbl2coF3MhoKTz
12
+ cilUgiCww+DUa6IQk06Zkh8TFJ8iPp67QRM1wEhMEcKrnRNxPGHDxa9ZxhwrmKft
13
+ UOFrat+ijftQDexMkVZLUXPoksM/7afjqvP9fkFpQEJZ3R1p3uwSX+oIr4yE/0il
14
+ nnLnunvUcWYTmvVcwrV5Zu+IOtV+yBbJxmFsobiecQIDAQABoxMwETAPBgNVHRMB
15
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAgxl6fGre+yFpKxEVcJ554klsg
16
+ Hefei1tv94BDMqdzfdeocTBiYmN70j9KEZr5CoMUhpRh0sESpgZ+6JD506Crpa6y
17
+ CwkhfQXwOH58E6pbqLLpG3F96BeIBQ/IS0iGvRaerK/9hybt4NJAyrXX1idJikiJ
18
+ h4qck731LOSiCw7T138yjlVEXm4DdCj/MYJDJJznMYDXJrJEE7tDHHvPaPU3Snrd
19
+ CeAYwXaZlvoCbU0f0DCyAXS5+/HgzY5qVrvDXCHTAEnMSEQyIhESSL2xmumTGNCA
20
+ BBlbMJ6oLn3fOHrB7qQortCwcAQkbk/MiZhAkL/+NDz6gdIZqgXLDDVZxext
21
+ -----END CERTIFICATE-----
22
+ """
23
+
24
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
25
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCxzhHvp0JLOPcx
26
+ Htp1Isj4yT1xfjZtMeK7TRz3ritRevZ4aljLV+a12KrvWSRUVEK1f6by1zSMDlEI
27
+ 4ImxUo9ntrbNBVxSQLUckMKDyW58jamFLffOmM/4F48abFAOEFTvjhyYUD9NU35V
28
+ MSFOVuaEWjrZ5fZF6luXZygXcyGgpPNyKVSCILDD4NRrohCTTpmSHxMUnyI+nrtB
29
+ EzXASEwRwqudE3E8YcPFr1nGHCuYp+1Q4Wtq36KN+1AN7EyRVktRc+iSwz/tp+Oq
30
+ 8/1+QWlAQlndHWne7BJf6givjIT/SKWecue6e9RxZhOa9VzCtXlm74g61X7IFsnG
31
+ YWyhuJ5xAgMBAAECggEAGKUzn0BT1BFlUg2wwiO8L5/VQHH6IVCU2NlrdnlRz813
32
+ dGFpRWY9uF778oksm/PB+15iSa7CvdcOLGjTLR0Ae6O72tcvYMdPU1JNY+77vY/1
33
+ O1yPyLctvHmngEYbIpfo7fuIwyP8Yj98d1qD/1PUR+wp1CIn7LD7WRUXXYi71IRN
34
+ dVKX7G0S/QPSePe+9ILMd/fA8Qs0wOKBvWRHjfOxvNP9AXTeuUzLbbGQ1YPLGSLU
35
+ R2aS5T3f7wNAKyjmvk7AjeEYNDNZbZzmc+bj36buUd7dqlhTGOFt0sBZ/K+IQjnK
36
+ wiF/2rBFdklMePuqdyuRhkybjAjj1NZvfXxLD8TCcQKBgQDfTbUaDqWrB8vf76ZQ
37
+ pjIYQpXBEU8r1xlTr7ExP7KM+1qGdtGW54uln+tFgpR7mIgZg10ehCAuqwT2GHSJ
38
+ luOI0tDQcu8wG3RB0x7L4Xq8qXORKIEmyZ+ZleBAwjfq4du4lyb0Ob+dKjFBPSuY
39
+ eTWt1bSGklk61QoyWbVJ2NQf7wKBgQDL1uW1PKrygzBcnt2ndR8u1IvjLl6Q8t7y
40
+ j79wxM4eNpkEMV09eAU3cNAuquG88BAeXUY8j7OyMuhlgG2s6AgnQO3/g32OKNJ1
41
+ +F9m3CldxXFY9dKOH+FOZjb2kPcgNX2xvKo/IvGkxoIvwGtRc9OkvK65RSlqc/GH
42
+ MbkVezrHnwKBgQC2u6JdxmqvwNuHT1dsW/RWgfaGXaHKIGVrZDS+Nn/oerAjpQvy
43
+ T1yplmozIZ5cXf/R0PvcwwaK6gxPTsfe6AkeqFWUntk5Jt5GF3v2H3gO9yPJP7og
44
+ gZIHXux6UfTsUxM4xQhthuxUsnhICMSqK1ZQALeQACbgzAFiHqMJ4VQFJQKBgCS5
45
+ J5M6RdYBGpJlMKu9pwuJ0VXxgan9h3sNuMC5RCUfUvv1ZMXxPIdbdLYjpR2j5lOC
46
+ HGhGv2oIT+QRejDfcLCZuwcAins1EY2dXJqsaWtyadRMHU3romy8b4SGY29TE70U
47
+ r1tGkWBNPyEZOnxnMKcKMzQ/qJF8J/RiWeTr2ZAjAoGBALSW7/CRSwm1sxpQNbm/
48
+ TlehXDdz5od3d8VftZbXR3hoOrMVdgyN3FO0qmRjGkG6hyj0TU9kwXbjzAYywiW3
49
+ KTA+/LtAjeBFuxkhbqBPBQGwjfFNg7Ju7bG2t9U7qSw/Swihg4kfYlsl8jLPLj2E
50
+ D3THVwgDuL8d0lZEaK0n/EqT
51
+ -----END PRIVATE KEY-----
52
+ """
53
+
54
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
55
+ MIIDLDCCAhSgAwIBAgIUJBzmO7OHvvlimGi0mXLrh/8TPeMwDQYJKoZIhvcNAQEL
56
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
57
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
58
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
59
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
60
+ A4IBDwAwggEKAoIBAQC792uVfc1mFbJluKxzWxZ0r5yaKGjR8azECVrNTcegAjLF
61
+ Qd7+iZS+7DZwEA6Xy/h8T9DZd3Q1m0Rjlgg73ngO50leCvLqWEvrhueuEIWLdbef
62
+ 4NaX4qkusMI/orYE/ItKgL86HWkGUELnmf3TkMccohR63vS+Fr6dZDvIw3g+gBPL
63
+ P9MlK7sdXq1I8CIcV+2du4jhmkA4mJ278TdQZOfXnX1hhe1wPuyhJyBN1sV2ntLG
64
+ TLcRl8WQSIh3j4vhMilEU85rA+q4TuqrOlZtKPTPNGeACwrD7qQkWihsEAKWMdQJ
65
+ e++9+CdigL/S3IhMmdTwHHNht31oYl1vAqbQbCEzAgMBAAGjFzAVMBMGA1UdEQQM
66
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAttszf/gjwRvkxZs8Iq474
67
+ aoBzfsF/NKCKBNRoTdVwQc6DycJylA9JL45BFhc39tka00ttcKGbXmbnOzltnFsH
68
+ QuD/1B4pQOESZzUEcsHHCn7tKxIrCn4wk9OiiqcIwHwavFy+guHFSw71jVFhv6im
69
+ ILe/K+wzpgc+pUeYiQlWRSuoR7YABZekL8bjpCpuq1kXzP4bV9pnq0sMayCHdH+q
70
+ enRnvo4u6PtMUGdX+bye3sp609uFgH53v06ufl3ylkoK5TRuaOj84yYuJDBrAAG6
71
+ ZYZaosM/CKXoumetH90Sc2rAvWp2HniHe99STfaw1aNK9YV1T9SjIqhzyzoMzGRP
72
+ -----END CERTIFICATE-----
73
+ """
74
+
75
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
76
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC792uVfc1mFbJl
77
+ uKxzWxZ0r5yaKGjR8azECVrNTcegAjLFQd7+iZS+7DZwEA6Xy/h8T9DZd3Q1m0Rj
78
+ lgg73ngO50leCvLqWEvrhueuEIWLdbef4NaX4qkusMI/orYE/ItKgL86HWkGUELn
79
+ mf3TkMccohR63vS+Fr6dZDvIw3g+gBPLP9MlK7sdXq1I8CIcV+2du4jhmkA4mJ27
80
+ 8TdQZOfXnX1hhe1wPuyhJyBN1sV2ntLGTLcRl8WQSIh3j4vhMilEU85rA+q4Tuqr
81
+ OlZtKPTPNGeACwrD7qQkWihsEAKWMdQJe++9+CdigL/S3IhMmdTwHHNht31oYl1v
82
+ AqbQbCEzAgMBAAECggEAGe13GZfQzVQQ15cxsnfOESpoH5uTWeJMQn5H2Cnyb0/e
83
+ UPdVGyc/LVbH641LdgTcsckQte6USRCxzkrTt+5oASZGKIK6Hzkuv75MFuaQhTwn
84
+ qBYLg8fwLlCTetOm5+kuDYjU199WrVhE4k2LhbNiw8BXstsuR0o74NoCpR7RZ01m
85
+ mHwWGuD9aGMYLlUBqNGB9UztxudbhKOtDPOWqhUHcZA9YuBSEegGPrJEwEo/sP3q
86
+ H6ipRmmufX2KUR5qgNW8MzHVSqPns8YJnyRzXrp1y1a9JXEsrBtq7bQcsBkJlZDK
87
+ WE66CTewQhx4SGSI/3ktg18BkAeJTUCp+l4+ApIBgQKBgQDy6+qRfB6O4UQwYlaj
88
+ 8lQf+kRNzjbSBq3BUPbbYthgV42GTcLqT8SIdr+ITy/2ModO/vGaUbrJsGSW4Max
89
+ ora+eDMqlz3ucJh+DeYWNLcI3+V5kMzBQNcGPVeAWFgz3ItWiPBUmXc+QDgH9Zia
90
+ fGBKj272gLL0rwd1IxRwJw9CBwKBgQDGFhT048DRWYpjCKlZ+lmWKvkuu8uTAl1y
91
+ YBXlSEpVeQxev4z0HJFEtiuv77pLGKmM6M5mLW3WEHv2nG1zaYUEJP2C2ds29yAR
92
+ 2TFKjTxT+6PfFynWgJkA31W7cOTX06LeNRMECUTVX4t7dvSY+H0jK0+Ok7vGNay2
93
+ mLlqvqhsdQKBgAfTH5AmHlnd2bNxR3cqdBk/l3mmHc/wFSK39+ujKHMZ/t4HnTKs
94
+ 9RisMokye8oDYKZjweaFoW2jt+nAPcY1BovmFUfW7VDD4bWVvwaSFh88Dwk2Z9IF
95
+ w6dYzHu+3MB25yoXaR5gfx3LNcLT32GChhuAuUNJa/pDtQrJ4XunVm97AoGAKdZs
96
+ IrUf+peg5P3lVv3Lgi4dZ0N+4dP0DL5CoaS9HoRsmm52xPBrtkmLvKMzg7z3wq1B
97
+ Os+JjVb598JeU6wLzi5J5SNCa7+SZHKtOIPQJCTYHbx0t7t9lXOWVfqoOvWWRryL
98
+ AaU7hp2hhjg/vTdupsj1CrYlSN35Vq+3KdaPGCkCgYAtdziasAmXhyR+yjY45ejR
99
+ Qdi47tcJU7cuXlvMZltqJG4JgbqKWbbApF8WethF30q2+sDXTQvFNN6l2jS1NVx0
100
+ BZjtJMmkEjJxQ3vY4xA4IjdVZJORKkkcaOlYGokNy55SFR7zHn/+qwy1ckWBdzZl
101
+ 6s4N6Y5uv5tFPWcFgyJlAg==
102
+ -----END PRIVATE KEY-----
103
+ """
104
+
105
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
106
+ MIIDLDCCAhSgAwIBAgIUF2mq+KA3KYyp6bso3F79MnD6AacwDQYJKoZIhvcNAQEL
107
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
108
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
109
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
110
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
111
+ A4IBDwAwggEKAoIBAQC5wiF41CixaxHM2oHf3nYkuGmLeG6xBdSogQuaSMAw6KCy
112
+ AvCfLDBRgfbvWjXV5teUv61+xgyLctNLmJQBg0owYQhhZnwIZK2jK9h5CvquI9UC
113
+ xAdgtvKc6yFKlWS435xSt+ja2w5eHsE0QE6U9SL9qm7OnehvF0baDA7CjQNKQ8SR
114
+ lkrl0+mQZCEc5lfroYlpOJ1XKrmLhfX4KV+RcNEuLF4roY1TdkUfCOk9Jq8/DrCD
115
+ rAOuFaU/GShqmG9REt3HKIGBO254/xoTcSkGIOHOGI/2uZI0MVUDK8tNDwAaDLcg
116
+ RAclaoGQ1++jcjnmjvopsqySEJwJrDJMkpqKd0SzAgMBAAGjFzAVMBMGA1UdEQQM
117
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCImPY2TwUGre7AM6nzBqrh
118
+ WCXTEct84E1jfJtgWZ5xYdVMNd0Ujg6A89LZnc//KW1xVDImmTrsxwHj/vR7lRdr
119
+ L7ADGbKOepqKMgUdT8Im67jpMen9Bnrx/q5dtW8qmUMc+EpGwvMOASYEa5jxQ1Uy
120
+ Bxpyk3lpeZs5HZJPG0WVFQnNXtlG8LMlmlj1JAEB79hbK7PqPvat6rnS6NTCHGtC
121
+ vjAd8mHjVQJkla6u4dV4oI+niEJk12d1yJ9dMSZ8hO3CiBJBieZJ2v2S04N8UUMh
122
+ PQEX/yYT94hLaYWYextZRDxNWnjS68Ju1xv8j8GKdMLE693Z6K5kJkspBy0sEtxk
123
+ -----END CERTIFICATE-----
124
+ """
125
+
126
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
127
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC5wiF41CixaxHM
128
+ 2oHf3nYkuGmLeG6xBdSogQuaSMAw6KCyAvCfLDBRgfbvWjXV5teUv61+xgyLctNL
129
+ mJQBg0owYQhhZnwIZK2jK9h5CvquI9UCxAdgtvKc6yFKlWS435xSt+ja2w5eHsE0
130
+ QE6U9SL9qm7OnehvF0baDA7CjQNKQ8SRlkrl0+mQZCEc5lfroYlpOJ1XKrmLhfX4
131
+ KV+RcNEuLF4roY1TdkUfCOk9Jq8/DrCDrAOuFaU/GShqmG9REt3HKIGBO254/xoT
132
+ cSkGIOHOGI/2uZI0MVUDK8tNDwAaDLcgRAclaoGQ1++jcjnmjvopsqySEJwJrDJM
133
+ kpqKd0SzAgMBAAECggEABavwu7C2oVwkif2t83jmYI6k4lZGAu+ro411HjvUamnf
134
+ 5i+Cy0ldHE/8iyhU9nf64xbLJFDFt0hFPUymUDmC/WEpEVhAtzzjtFS1YlS8fK6p
135
+ ZVE47HIJjFL9jDptfduN+VSWLoB7utHzkjXYcGHftKEMixB1NVcfma6+kKAflpfX
136
+ yA41RixC37ENue4NbUJ2XowVgI0I7MvVbmTqRxx6MbZoO803h/0Vl229+3ixAWnr
137
+ UsbEKVkaaX3OUW45q/90nHd5dTjtnwNUAPA4ma1cl6d3sDb248XLKhDji4TQXVIb
138
+ R3M2aavGsPf1z3TDcFO/IayKWaOSvV2JGS+NEeXicQKBgQDioeYcmUDQuK7rP1aD
139
+ 7+fpnv46dkB9Oq8JRrI+EPmUq7xZYLouwjfubYCGSRERpUda771KW17hzkDey0fh
140
+ 4SRIpJZJ5/lrF2VhlzZJPdQ04UDMyQ+V7YCRkBhZnteQHOm0mHO2AGJBQEkutDVK
141
+ 5drK+eumCoghiR64q5Fhzz3NawKBgQDR1E+sx3Pf6seUaY1aBTTfwbnuoaVYWvo0
142
+ sSpIhNjP/tenX2E/9t+4Pjg++eIf03zH/doiWA2ppktTkjIXMh9gTrK4+xRcLSc3
143
+ PFxz0UKIt50ft37bjuMM5xttBc6LelNrwCuuTAdPMBtBdPxW4A5yz5yMMxrqtb0i
144
+ y8e+4Piv2QKBgCoM4CVuShhwLAR6PBM+8Ejot0MhrdWOjeuqsmfRvn1XYBs1V1ZV
145
+ swsKRk6kQAaGJDc7RGQHkBNVsbOlBDFlFNZls30DDcRREv6IkAoG7tjg8qUMqVeo
146
+ ObLIibwXPOgAdVyM7OtYJuL0ip+f0EOVYoNG2/JzAc83Ifwh2VfMnCsBAoGAeKsp
147
+ WsqlJ7uEJSSChqeB3cAyJjrNtL81LsJH98Z2TT9YU8e1TKyzwef+PrFDylu8YeLp
148
+ 5GBREyQwI5Jqvg40HxWDEIBMGCpbaBeNb4mDQs6dTJUhHjDRACWUDyGMw4eIm+m6
149
+ 9RSCC5c1xXH6gBeAF6Svea0WKK51Y6Jfb7U/LxkCgYEAo8BzWfRRu902NAeWXGb0
150
+ SGiTeFxW8llFEG1xfK0pbCXcUjr8jnT9cDLw9ojiBvKyI+AyX7NNT2YhkYjHIwc3
151
+ Lq+vn/eD5lx41p0CwhCclAtMwz3lY/+cpxBewC5LBMW+IjYsHELtJyelzwke6DM/
152
+ priiJGzzKpJ8pdgZyTyNoB8=
153
+ -----END PRIVATE KEY-----
154
+ """
155
+
156
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
157
+ MIIDLDCCAhSgAwIBAgIURlqEdkPWX2ld1ZkYRM10UTM191wwDQYJKoZIhvcNAQEL
158
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
159
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
160
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
161
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
162
+ A4IBDwAwggEKAoIBAQDKHNdtHZzYGVJlTaAmiJDMsNdVpyo3sHewUF23K2zMTUZh
163
+ 2DBX1heO09RpOIoGIdsgm2P2T/+731O6Hi1+pJyLBq/7LtoPX5fZL/AT1uQN5yDF
164
+ xBUvmaFmnapEyRC2tg6H/YNBCTrHO3OKWzF5Zn5dZDmS8D5FcnhPups13k6YYklZ
165
+ ZewRTTUxUlnorKdDh2Ur5UPHnpxfG+yRYow/prs6sfQNj1Hdv4nsjEwTPwJQVIC7
166
+ xViZMiSWUaYMx0giJe1wggkuVYTBQ6tYCOtbO/FKErYS+NrZ5lUfUzmpzlXIM1bn
167
+ Ux+4SwMYddcbedVywMap7mzupD8ZQNCuio9Z7nc1AgMBAAGjFzAVMBMGA1UdEQQM
168
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBghZflsoqx/js1oQC2JfNc
169
+ gD5HWNqlS6JbupJr2zt7KaKFVQfXmMEUNcVsEr9PXIGA3vqDnpT3L7Ybk0R9knYP
170
+ yGb1c5uRFn5A7moAcJjgwUrDE9GQBx59KRXmK4DofcwinUPEe6BU8sn9VfqjTprQ
171
+ WFFLyt941YCxaCCGPgZTyGbHWK2pTQY0aBSQAyNppk+dsca6l2HkelkmUrS6I30p
172
+ r4nhJq+eXmehrtn8+zXT6qxmr/vw+F7cwnYyxLswBMc8ijcmvBbkcSEcFbdP8TMN
173
+ A4FFYyh0rIijlKTsoEyvUP7LGBBJv0d3RU30jHPBm4faJ1wWXLm6p3hQEJmLzM0i
174
+ -----END CERTIFICATE-----
175
+ """
176
+
177
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
178
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDKHNdtHZzYGVJl
179
+ TaAmiJDMsNdVpyo3sHewUF23K2zMTUZh2DBX1heO09RpOIoGIdsgm2P2T/+731O6
180
+ Hi1+pJyLBq/7LtoPX5fZL/AT1uQN5yDFxBUvmaFmnapEyRC2tg6H/YNBCTrHO3OK
181
+ WzF5Zn5dZDmS8D5FcnhPups13k6YYklZZewRTTUxUlnorKdDh2Ur5UPHnpxfG+yR
182
+ Yow/prs6sfQNj1Hdv4nsjEwTPwJQVIC7xViZMiSWUaYMx0giJe1wggkuVYTBQ6tY
183
+ COtbO/FKErYS+NrZ5lUfUzmpzlXIM1bnUx+4SwMYddcbedVywMap7mzupD8ZQNCu
184
+ io9Z7nc1AgMBAAECggEAeIubMUloMrtnmWQjENiDBJK03DFHzM9Dk7VbL9SGn5O3
185
+ VsRKkRjwFA/jsJ44NFAdEeWcSVyNetBIb8lv+QjVFVZ3v6jCBklNmAwvdKXGf0RL
186
+ F6lLuYg366w90ajafx82q4VYs4F9vTaIQw0BBRdMZwdQD4OaoHEVsPfresWMuvVU
187
+ zT43W+PDbRq5gam9Y4VZuFeOBYYEe4mFE2e2CRdKys6w/NsYhbDcYS39OXDnR6FU
188
+ 1NIYDWN3FSU0cXuwZ8UtViNw7kCMLHvrrW/D7DV4HBYj5KtjFenViAeVolLX+7S8
189
+ K9DSQtxzZHL7OmZ6y+LhopWh0pdaftkSwpuq/6liAQKBgQDmlyFpfzzDoWIfzR/M
190
+ X6ZwJwOeWLDzeRG0hZETReaEgvmhyda45xumBIWvmQTDzSk8O34hisofHKH99VlX
191
+ fefwknZ+M2wcXClnKQgOE7YfYKaReb59PG6APkcgbM/H2rG+eLzGONd9IUIa8q7A
192
+ Zr3vlcYvjk/QuxP3SIC6aQ2cCQKBgQDgYl2hGlJ3HENi5O8MeS92WBNhIUDL/ieO
193
+ Tsyx+cSxufaX+n/EPHkfacquqX/snbqkcpw4NlxBdpEZo6Lzcr69gCYc8LzN2a4S
194
+ CHiGVKonTggRxT6Bp3F4IOH9FwFQ8y+0F7ycOXXkesaL+TUzGx2usvhSfWau+3C9
195
+ +Nu9f61kzQKBgQCFL1N4GKqjH+qKDbNJGxIKAy6+3eFOr2X/i4oQxLXxYakHvonM
196
+ AIhiqogAtXQgF7ayeHZQr1YxBBu4kGaK90jpFd9k4xSViNHNKNDjOJVfqDZtHhFd
197
+ SnNUlSQF4XNdrr4tEpWONDSarIP/Bp7SuEUKRcrTmvIU0IkmsfTQNm9K6QKBgQDa
198
+ fQ3cnGvmTaAUQQXAaJRdsR+VubKFsEJGINbTCnmL8Z97l1En/RaYDwRsFOJava+L
199
+ B4q0dcJZgCGEDMHUOkwe7BSwo33FGAyWxKbPbsuMoD/dReo6h5hGuAY10lvWviYa
200
+ P+7JVG5Gf4Krs4so62N4xA5nDHKbOn0qjpMxr4xglQKBgF5jn3tV5eH2/AyV+CMj
201
+ PS9saOsiAZJLRioz/9KB/OIcO/0GH+xBj8nPLXzFuSN1sK6UYbKujvM0NeY5x/kJ
202
+ SyB6LZxz++ARJARmmgxKdW8bUxZDfTGrfYyDgWWYbN0SJCJHEDz72XM48lFxB1SB
203
+ L4t7t85YfzmrZpeu/vCnqVPT
204
+ -----END PRIVATE KEY-----
205
+ """
206
+
207
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
208
+ MIIDLDCCAhSgAwIBAgIULNQ5Bq+zPWOGPtKDkjFf9aHtCBYwDQYJKoZIhvcNAQEL
209
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
210
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
211
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
212
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
213
+ A4IBDwAwggEKAoIBAQDmIHrbtqy5/pMJq5NZmVRFbX8wHSciOLyUwWY6K6BgOtZH
214
+ 8WaKoOS03X8KVnWKqXGcUY9DKWar8iQ+VbGP7YLw9wJjr4hNsW1DqN7uzxla3XIF
215
+ upT/tKAhZpiqOHKstGEoKwjVD3Dym5xmSP6ERQTfMolo7WaakTpANCGKW0tKM2Rs
216
+ 6pSaHV4GIvbHSer/apt1zr2IBFQI7Sj9KSXZ1OhOZERSE4FigTAJvW5PEcuVsjwR
217
+ LB11vpPKiF7YkLmsj0MQRHlFqZukrSdlvR9ZLaAREJLgk7SwCwUSYGQEGhjiEkH6
218
+ vWXT/35IYCkiYNI/vcdCQlN4xBOOAXgO3c1HtikFAgMBAAGjFzAVMBMGA1UdEQQM
219
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQByHJaF2w67743OsMwKbQ5j
220
+ oWAt+rqivYmqJ6tVKEpCAZu3aMPdchcoZdfWRfh/tRP0SwkNE7PwIyRxo0qynrPO
221
+ gXhGR17ezrgz3a5AzQ42EXg0xb75QzpkXdrOZK9ynjer4jlMx+a+IJniYlSpyCxc
222
+ AnEKvnH22S4j1xCYC9zMDUF6Jqm51h+Pnrz2sHr7NyRu7Lq9cJ62rfyT9kFW/aZX
223
+ 1/xAwzw2GmyYRpw7ZEiRN9Ipkjs8Nn6yCWOvs/wa6el06mXB/i/IvOdMI7/B3PJS
224
+ sOvOjmtIS04kyR2ZB4Qhkty5WSHrF0Se/9WH28L6a6bjFKLRMKLTRLdeZ3ybEOFN
225
+ -----END CERTIFICATE-----
226
+ """
227
+
228
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
229
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDmIHrbtqy5/pMJ
230
+ q5NZmVRFbX8wHSciOLyUwWY6K6BgOtZH8WaKoOS03X8KVnWKqXGcUY9DKWar8iQ+
231
+ VbGP7YLw9wJjr4hNsW1DqN7uzxla3XIFupT/tKAhZpiqOHKstGEoKwjVD3Dym5xm
232
+ SP6ERQTfMolo7WaakTpANCGKW0tKM2Rs6pSaHV4GIvbHSer/apt1zr2IBFQI7Sj9
233
+ KSXZ1OhOZERSE4FigTAJvW5PEcuVsjwRLB11vpPKiF7YkLmsj0MQRHlFqZukrSdl
234
+ vR9ZLaAREJLgk7SwCwUSYGQEGhjiEkH6vWXT/35IYCkiYNI/vcdCQlN4xBOOAXgO
235
+ 3c1HtikFAgMBAAECggEBAJNd2U85/AJfc+mNZh7KgZy0Me6tvJG9o4XfE4fMyDbX
236
+ dsE7ZV8BCXSJIwGLvFm/iHGCCSwJJyaVOYBxf/ObNW75vx33GmImbMIXMivbk3EM
237
+ vifNA/17vc+l072tyEGwgUcnx9AowzuZSt51gAdT63rC8huvazUwKw1SVOg07lHk
238
+ wFGsmPGq8O14sytwf1Dpp7p/ixaxyqz+jLLJdrtC97vh0aHzg980IN5eWNCNdETT
239
+ TzQ4xYF9jYXk7LzpV/jarfUznre58ohwIEyUwsoFmNzkvYCoVko4REhMF9rHgYCh
240
+ XfF+JF8KWAA4Dpy5Dfzm2nXwvEbQhh/xByPFC6G/KgECgYEA9uYvKJqcQlXePuCi
241
+ Obp2XmtxhuXOpTqsOsI4Y1JGHQ3VsYE/9Ps4R71uLtqkr/T0k3iybRzguGHIkNqc
242
+ J9pFD0NGfQ4pTSmUQtJYa8ndcgCIKh5lKDYjjQDQJKDlIOewVggF0GoWLoTegvAz
243
+ dWye1DPdYf07zWTwpatoV2AyCKkCgYEA7pwG/uTWGa9tzaPgIt1x/WGSkMa6/lsI
244
+ Eb9w8iDsRlSal94qeQ/7tPI7Mkkm58oThTgY6OQ32T2xig1vtW5uRal07vjKUizO
245
+ qjttMj/qLBjw35mkmaLnemhTcWnY9M4nLSBRwMO1o6I5oP6AQXX7kvEL65SicvSD
246
+ ptSZL2WlCv0CgYAsYvl7bUBGVLWdzDid9D2vf9VrEQlzfvbToXMNuA7Ozlvqi3f6
247
+ DOfzTcTvO3N8Bqepk3tQTm6/9yRdlk+Ygo8DzW5wsQkPzDfRQ4uN5T6gbiQMnmZF
248
+ MmZ1xP2meB55Ke3zqYGSFGBkgJKYK6K0q5BqSeC06xfDNzBkOEqL2slj8QKBgCgL
249
+ qaTn1QL0jVIg+cIANlxXHtkLcWC0+HK6FYOdgOoA0v0//RLaWt0wdjznSA9Iu+P0
250
+ 2UFk4/aiwwQvYxspEHrCiOx+dr455OlvFdGEJpIGEY8FYzmhvIWvsqlrIU1ct/h7
251
+ 3xyh+/8df9yEOhRCb9lmeSCtjmIKpXm/XoI05fElAoGAQcVrN4WoooWchzuhaFlQ
252
+ q9T5RDTgooYUi5GDQgqEiPHJJAaqIlAi8kAN82umwBF9al8Kj51JXEEhxJQBMq8D
253
+ csxU9ppgBlKPyftgUDwz/agJ6C0zrxAzkNlFzwz0RsqS/38sTjyHiBz3LAjDU8PX
254
+ hIarfSKXzCV1ZFJjKvLv/20=
255
+ -----END PRIVATE KEY-----
256
+ """
257
+
258
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
259
+ MIIDLDCCAhSgAwIBAgIUTnXTzqEOILFs1Y6LuvX7UkxgI1EwDQYJKoZIhvcNAQEL
260
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
261
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
262
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
263
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
264
+ A4IBDwAwggEKAoIBAQDWr7824CNwPS2WHAlYs2QpHVtj+nMn/nl02e3JIX9utKfz
265
+ 2sVXy9dT0sW7VcDaeUYBi6pDZz8DecwGjvnBMAfh+bkEx9gCs1tY8Iqitgmekoy7
266
+ e7+zHJ1zuo0J+p/zeW+Lwg6D0FztarME2gm2tuw1c5FTIfWWnwotYetXxUWCeKNc
267
+ +TgeK8WnfUjRcULzyFRAA16n6AmqihfcfVmT/Jyr2eubKeyCJFGUx6jIClb+OFUU
268
+ 0h4VCZzhHOx/R/X6B9HWJTWgdoKUxQcMt1sdlNuntOkgg1JsJPVPM/+NnijCdHEC
269
+ Wsk6MGCiVVH/vtR6ek3sDitsJfk36m5NjiDzeK9dAgMBAAGjFzAVMBMGA1UdEQQM
270
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCj7q/5jVqInWNHENfekLWU
271
+ u9N+cSMhDMyq/ANc/wm3OcOAYUODAmfgZDuGAmHW73BSeoEuXQdsnxQTCM0bVF5v
272
+ 9hKcQkLY9v0tez7xcDwicFQfg/SzjCehbeKtKZGnrANLg1tEm2QFUuqmepbhatF1
273
+ NREBmX1EtUrZ8l9e0i1oDk13eOJvdkZ5pfQC7UOK2N7dAHQmsWJtJgHpGu9KgdDV
274
+ eKRf55N0tiDKFjumdFucvMQVaOtuZX+4bKrLuDE3y6lG/Bzt+ZHZkbCsYAqCtubp
275
+ PfGozr3jW+plZvnRz4X2GxQRWFw2jVBcBzu8f8Ahp7q62nT9bEfJ6fsKqwhX/KSx
276
+ -----END CERTIFICATE-----
277
+ """
278
+
279
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
280
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDWr7824CNwPS2W
281
+ HAlYs2QpHVtj+nMn/nl02e3JIX9utKfz2sVXy9dT0sW7VcDaeUYBi6pDZz8DecwG
282
+ jvnBMAfh+bkEx9gCs1tY8Iqitgmekoy7e7+zHJ1zuo0J+p/zeW+Lwg6D0FztarME
283
+ 2gm2tuw1c5FTIfWWnwotYetXxUWCeKNc+TgeK8WnfUjRcULzyFRAA16n6Amqihfc
284
+ fVmT/Jyr2eubKeyCJFGUx6jIClb+OFUU0h4VCZzhHOx/R/X6B9HWJTWgdoKUxQcM
285
+ t1sdlNuntOkgg1JsJPVPM/+NnijCdHECWsk6MGCiVVH/vtR6ek3sDitsJfk36m5N
286
+ jiDzeK9dAgMBAAECggEAQ59aCIvzPbBXgpfULddbrkOr/MLvsOJMGY1ng9oETLek
287
+ y3/Wd0Ai1Clo1Qg+1dIrReNbPx3vUEX2CP7SFpLteLVzHNlh5f/evxYNZREX2JXq
288
+ tEdXa7CQu9pAAKur5EIU6521ermP+8yHFPkk5COcJX4AgYIJ3Ga+Cutz+NKPgXew
289
+ WIikyHnPui59OZPe+ZzHx2Th1IK6OkzLAeb7EWPs5CbcMZVjmyoX+16+QPY5NqXS
290
+ lYeP4R+8No1ZVZr1u4KyPLyHu6s+mUtf6l2J74EhLWwgPlhNGYVCvHPNusO4TuVc
291
+ HvJXjt/SyP/7bdL3JWoilQgSouEgWes/asaJUVshIQKBgQD7cCgk5wpe9Zlg4c/g
292
+ 54XrdC7TJSrvzSyTUjwNRK2jSJ2gk8lkbfdEHX/XWKz4O99AO3z8LlKl80429Et8
293
+ Oze4rInxoKmzh3J/gyn3udOmJtGRd9RJzpPVxHodbD13o6bVuoMCCnUdx5YzSkZG
294
+ Dnu0+YvMXE73VCHrlO2nSnbDWQKBgQDalORBhTOg6BsmFACRifMZI/hxpiy3SVSr
295
+ +t8Uhi8vp56OgtyqjCy3SJfS098Pjb3AlxU/jn8kY3bJDPxCs9ty1+WxQI9VDcTn
296
+ bWh6bkUs1ywqv3ujHPLUcXU9aMdfrGFnr/u19Vdo/ZwIB4AooJW+mHe8MjtLN9Tx
297
+ 6TQMrc0fpQKBgQDkpR0cUa0wpQ4Q98ddsawqbMCX6VieMGm0njdVqXps3X/Zogql
298
+ dQpBusGiRlUkdu2RL4d8m3M0zYf2mTh7hC4rlVrrizpGs4j/Q3tKdoVstigkrF8z
299
+ rtLotX6GewN6ZCs2eCDiHjhaGEER6xz0X/9Glxb1g4ubhbpCzG9AjYpqIQKBgDfc
300
+ p30rOqebyhxwLjkDxXIeZEc/TdxFzHLreYm4RWTrdLU9MoIPsvngfpSt+yrxcZY/
301
+ xnloxIubM+dr/yhY6POvw48KTddR3om6x2HKvrkYALyoFUP5iQHMQUdBePq1hmtG
302
+ aZD2M7GsZu0SZal8aOi99JPPTqIJkc2FaPz4ihzVAoGBANMDz8fD3OkbzQxjl7nU
303
+ AcX1qY05gZrv86SEMECz5TTONBwXU7QiUwp6ihC6FJ/pFfT8MjYmBKzhh/0bHeO8
304
+ IZbjDgsZM3e96LJB4uhyps2UaKNrP5Hptw/M58YbSzW92r+2FBucF6vH2yOjIT1E
305
+ h46Z/ZztK/e+f65ANNHtAilU
306
+ -----END PRIVATE KEY-----
307
+ """
308
+
309
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
310
+ MIIDLDCCAhSgAwIBAgIUR24x4LgpE1t6Nmpk9Lbcm2p9bZ8wDQYJKoZIhvcNAQEL
311
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
312
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
313
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
314
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
315
+ A4IBDwAwggEKAoIBAQC2ye4u+jn4ldMnKFJTrpndM/mgaOI9irWCQ9/kES44RvYz
316
+ SCWgNIqU83XC7siCkDTAfmQ5dPDgwExGp9mqbBjLa3QuWLiBSmstk/RdvWyYTyv7
317
+ Tk3BXjmYU6nbBr0p310+D5Jw8RKB7O88wM603E5Cb48GKmh71DY5+JxwaIJbFATs
318
+ DmPXQ5tIO+z2WZmzB/Zba7pYOILk1XDR4YPLgVdvOGlaMCkfMALYKtdW9ek6hIFS
319
+ oPlm/mbzbIld80PYP9E3Sf9iX55GVytuIt5B0u6PbUYFcrKyNld9K1UEA9fyNECa
320
+ KUVe6UK1Kc+LYGdkRv/qAmMG85zMM4CHs1dP2jRFAgMBAAGjFzAVMBMGA1UdEQQM
321
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAREhwgP+CXusazRom0cMeb
322
+ KfKZIY2TMHWTYceAB21vUDSor8dfDNZNaJGqNDWJiwxMdqCa6k5u4ClBts2silfs
323
+ qYWGQvUpygD9dq9Nazsf8GATZJ/X5OfVKSb/j9OsmikirngsB3KfoOVUz77aALec
324
+ yuH9tji46NtYUXEMYsCvQ+8SAmLQNra/jqzM/SHAL1Rz2JNxXY2ldBpsWuwaau8n
325
+ j4FqvQtT97zC/RV32B/Io4/LJnD2bvPd41Wf5YutTOJXUFuVDQPD9rI0VkZk87a3
326
+ o7oGLlusWLZ1ZIqTylCNVtv/Lz0JXwImhYIsDcNswVhNIWiKHSJkR4aS3gqVt4Sr
327
+ -----END CERTIFICATE-----
328
+ """
329
+
330
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
331
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC2ye4u+jn4ldMn
332
+ KFJTrpndM/mgaOI9irWCQ9/kES44RvYzSCWgNIqU83XC7siCkDTAfmQ5dPDgwExG
333
+ p9mqbBjLa3QuWLiBSmstk/RdvWyYTyv7Tk3BXjmYU6nbBr0p310+D5Jw8RKB7O88
334
+ wM603E5Cb48GKmh71DY5+JxwaIJbFATsDmPXQ5tIO+z2WZmzB/Zba7pYOILk1XDR
335
+ 4YPLgVdvOGlaMCkfMALYKtdW9ek6hIFSoPlm/mbzbIld80PYP9E3Sf9iX55GVytu
336
+ It5B0u6PbUYFcrKyNld9K1UEA9fyNECaKUVe6UK1Kc+LYGdkRv/qAmMG85zMM4CH
337
+ s1dP2jRFAgMBAAECggEAe7/QGkvcDXjZoGwC+JZ/oqt6d+gqKwIKimuLW2tqQD2C
338
+ lwtkNcb8f4UoF9XzN7mLjTrEfcW3AmIOAdPHYEKYsrdHy8zS9O0+DHhbe08wAxmu
339
+ rA/CQoSZN5CEsT0pufx3svl16jK7leyjtxzNlNKFxSKj0MfLPvJX1/2BY/TNM/z+
340
+ pgiVZNLqVpKwEqVx6awyZKSWimP5pHRJuSXyoXauXLBzj33j5mYP9MRAxIn8GE99
341
+ SRCoJB2g6Pa08g4+1cWpyS9mR+9gLilYkuXrUZfG/Xz7L5AHm4w5RxNDu+8tU/Bt
342
+ 9d3tNLVuFSI4VInD9/GYy046gYM6KvGd8sPy8F5VQQKBgQDsFVSZPfl0ani0S+++
343
+ X9FQm2YF2PSmuAw6Np07kNfRluo1hYVqS7Cn1fjnobVPeWBGpGnlh10mkIVJgfxi
344
+ cqg5ILNnzSMhRuMNb/SacRJkJvl7xNfKPZ1PGpmk6tWS4T4Np2fY7+IRE7P+gFc3
345
+ 9Ckbnwaqm2wO5In4/c6NVbVOdQKBgQDGNZpX81wxapjrVMlpsDLnCUaUXvxiN2E2
346
+ NLRrW+rg2BBw7uTT4l3QSsuQylM3UHW35jAxbYEzPUTnwAUpTMd39/p54kbMWMRX
347
+ hyKvBWI0+R/Rfv+YgYABH/oNktrL8jFbd8LyRZ7RyooWxcBrZMC2CvSruOL9doGa
348
+ ZGKGqjU0kQKBgQDZ3dV0lfzfsmIyAOH+je5ctQwx2UXtlWuzTTNNBR4mDV+WhOHa
349
+ dn9QY+aP3Gu2LAztJE2VxJXyQOzAKXUAZU9ZaRQndug0jXZ7sBXLcQ3H3y/dSIrb
350
+ 2ICTv7iKuSzfn33km9j6GmZF3Cj/dPEIcgp9swQz7bqLA91QKumzBKWNAQKBgFkx
351
+ /gbeKPrD8ZTVTt4UwJNfhTd3lzPLoB94kEhP0N7l3GA14RvInlcBkaHSqqgVuSPM
352
+ nptfn+ijBcMUkj4HoyvFmB4JSbrjp1eMJHuGfK9B/KOV9wd2H1hiP3CkSXnFv5hd
353
+ yIil89aMwp+E1hZ9/IrvWzN7vAo7rg8AZaYcKl1BAoGBAJ+2BDW2l4uGOIDc8KRh
354
+ SmPRecSs/T4VaEurSkSTCxUp+mvGgw79+hgq7f9dW1Fq3TDr8J1CmY36mT08MWV7
355
+ +ucP16bGqR6jymQPEijtthKvnAXihX1zfqNNOn9IUx8zSsyS6gx40za5VeugJc4T
356
+ FJsyYFxZ+2EXCgIm/y04IYuH
357
+ -----END PRIVATE KEY-----
358
+ """
359
+
360
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
361
+ MIIDLDCCAhSgAwIBAgIUQsRmXdBM+Yt81O+qtGzJpULDwhcwDQYJKoZIhvcNAQEL
362
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
363
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
364
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
365
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
366
+ A4IBDwAwggEKAoIBAQDc2huslrMBGoEROWCsfrd4LwHPSXrehqP8uthUzpsxhxJP
367
+ HU2bDi4Q56IiAaXl33txbDnKE7zOE205rp0h/k3mvnbo9zBFHZakIZuySP5L/+ry
368
+ +Jyld9QuggpD5mWWHW6lCmUtGfY0UJJJbr6KPyMqzzQ0xrjLAPWqVvNR19Iapd5D
369
+ GsWgBSpKyUIwPUf8JpkFvSv4udZlrONoMA+/PAVEeCgOKbWdwi8vrpR43VcUPSe0
370
+ TbxE/bWHgOSDW1FtE46logzJLOzvx/k3Lhvumfrr+znNsZyjk14peqkdAUtOA0dm
371
+ VEhs/wHthVkw/47MO7G96DzB0NI0++anRhNXLiAZAgMBAAGjFzAVMBMGA1UdEQQM
372
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAVNEaquHBV5LaHJDGrr66p
373
+ xPuM9sjaahXr01VfAFBqFGzr+8ZH2T7VL0bg0vO3aimM+Kp45eRGM+gffZ70ab0q
374
+ 94CVT++3rhoro6nXhx1U1lHRNRqVOyGImwMbz/MtmIAeme7My+kZDcNlFg+MC5DY
375
+ 0pjN/EAoBslrhGp7yWzEh6oo6cKsYajfqcrewwMRrY7shqrpH/fs9gAB4uzryCVV
376
+ 54tBj69C9JVi0d06YijpLcUT5czScd6yPlX61XKR9lpKUDyEGbRU+4f4DP2oJzzq
377
+ 6tsME2HXXcZr2fsxkBeCjZpDEsKPMxsHBnebwSTNESCLQgdQc7wJ8QVzgOkAGoNg
378
+ -----END CERTIFICATE-----
379
+ """
380
+
381
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
382
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDc2huslrMBGoER
383
+ OWCsfrd4LwHPSXrehqP8uthUzpsxhxJPHU2bDi4Q56IiAaXl33txbDnKE7zOE205
384
+ rp0h/k3mvnbo9zBFHZakIZuySP5L/+ry+Jyld9QuggpD5mWWHW6lCmUtGfY0UJJJ
385
+ br6KPyMqzzQ0xrjLAPWqVvNR19Iapd5DGsWgBSpKyUIwPUf8JpkFvSv4udZlrONo
386
+ MA+/PAVEeCgOKbWdwi8vrpR43VcUPSe0TbxE/bWHgOSDW1FtE46logzJLOzvx/k3
387
+ Lhvumfrr+znNsZyjk14peqkdAUtOA0dmVEhs/wHthVkw/47MO7G96DzB0NI0++an
388
+ RhNXLiAZAgMBAAECggEARghr6ijHjrwG3Z1iSJDOQTA21LKqYdI0QjpFy27Qy73X
389
+ UnsqVtcCSJ4LTdlT8DcT//2fvbLQllCWvEngzhzEOz1+m5V3GxOs51M4+ionaZY3
390
+ vOCVW+tJv43BD5MJ97ZRlchcGRc4eZJrMRoLFe+7iSG3nly90LH3NRLpibR0jbog
391
+ YHJuavvPA6cKDsrPhZN87YkHbrmYu78HrBVX5blws96HxsMqXRlrj6/hdd3MyZSW
392
+ IGbIbLKFP5Vy6pBbAXCnY6uw8oC2HvdLis2nEx3UOs7Ktm0AyCR1/OQ1MnLugVbn
393
+ iezo7Eb2n+n+3k3X0cIv+SlQZwGgZRAWFdtjGsvL+QKBgQD7FBE1UlNAiqgrS0IS
394
+ /l0jLOIPRl/OwMOFzn6oVX7u4qx93JGEsZEYE/0l9DthzRTVbaiat5QZFLBXFTpi
395
+ moxBBLu0RBCGJCnfIe4/jmZUobbSqoXMwMbN4AKRM5IjKHQEyRo36fGRLg+eqVFq
396
+ pSzK4FGyiah/rLzuDzpwQut5gwKBgQDhLly5/vpYU6DogXAz7V3Q/YQPBr6N5c69
397
+ kj19DjivPJQ2Qxl+y8XDv6HyGxkeKGsqFNGEJ6a8RyAMh+IKawJgxGmgjiglRAY8
398
+ J4PiYK7wj9pyQhf9QKybs6ahjI1f0oQ8ngJ5QKhxhoRNzfXCM7JeofOMgbKdl318
399
+ IUdFSPJ5MwKBgQCi95F71KWo3Nbu0vheL6/wZu+MDpedMU03iqJ3TJcJIyPmxcXG
400
+ JSMSR9cmTXJFtsFxDq5DTijYZq9WtragzcN/aD0VcqBvEQYEiJeFtT4CbLyn3Hrg
401
+ PbhMZLwF1z1hiJ5VhNp5tGVRYF5PE4N+/xsly5f7lJJD3LD8q/G4cBc7VQKBgQCO
402
+ EbYnExvXhkvK5X9pA6VhKdGbuWGYHRlmuVFaCRLyXIIWCheXy/CmI82E9lvOjymt
403
+ jxzxCCNGPomV3lVaxVDmxITv60Cg4l4crcGjneRBmkD0PYbtHVTJl3rWCdtYTXVo
404
+ 2TguUAD2PyxR+lPHht5OnlcOmvWaP+3H1yckK3XvyQKBgQC21g8EqK3PhRUBV8U1
405
+ 0mTrw39O7DcqhkfTqXRMLLViCh/RLYZmkT2JY1U2Kej0nD4CNBYrQWApRW6srp+I
406
+ FOW+1kdmTvaclFMal4gbBraRlt4veqf2dCZuxQTTt3SCf7Rm12jmIjyEH7LfFM3W
407
+ 2riEhrrEJcofPkOfK2qSifaH9A==
408
+ -----END PRIVATE KEY-----
409
+ """
410
+
411
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
412
+ MIIDLDCCAhSgAwIBAgIUXa72z76zyiyFs6cTa7GIU/m41T0wDQYJKoZIhvcNAQEL
413
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
414
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
415
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
416
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
417
+ A4IBDwAwggEKAoIBAQDTSy0YIggCwTF96eLR2AxXmpXg30F1eG4SZzr6xWd5sXiL
418
+ crUjSc6V9YZRPF+g6ODEryNYjSxWlYf0EtFPD1MGLW+7ssUJrWK1BX+FFCLvjQX6
419
+ ShfRFoOqmkAhWp813xYaWihdLLv2UglphfekREFhRw5h8ikfk5JA3AgTFVGFjB/q
420
+ 1pZ7gWVamhjjzvrbhiXdqcHDqMuNUMQoCuPLlMOq1D59nzYhUUYZOTP8aAOD2dj8
421
+ a8plM6OQwAuQarqt9DW69Tm7AxKbFrXnzXqTT4Ccp4rEJxscV8OIP2DVioFLV37B
422
+ EWq3pVcarIJku+Lxcpf4C7jXvhBUYAFVeQLMmjzXAgMBAAGjFzAVMBMGA1UdEQQM
423
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCSc1CA9sp1CEbEV+7+8EOc
424
+ 5v3DU1rTEW4dG94MiWDXH/s8B+nWb2lsXLd9Gmau8S+/c3c8rW3eejS7YZ5w7lnb
425
+ NOdc8SUwPDM+/f89UCiEeuk9fUIe9EK3pER60Fn4H/0ZXQhVob+1lGScnIyx5vr0
426
+ Hq5rPO99qnZ3kgLeYRfHQygSpFQ28XHOkQGVSklgCbCBdE0lNWKpaw8oxw+Ki2zb
427
+ tSGF5Uoel75Y3e2ZqtonZCuvE9Q02LGmDmmfSrRuS9jW2hvV/CHpRnv02GMPQT4+
428
+ JTKtqOeY6+hI/eg4UKBYbGLY2Sn1irKMRFwAzftgB2eeU+Bhxb4ioksFlhDvzkMf
429
+ -----END CERTIFICATE-----
430
+ """
431
+
432
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
433
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDTSy0YIggCwTF9
434
+ 6eLR2AxXmpXg30F1eG4SZzr6xWd5sXiLcrUjSc6V9YZRPF+g6ODEryNYjSxWlYf0
435
+ EtFPD1MGLW+7ssUJrWK1BX+FFCLvjQX6ShfRFoOqmkAhWp813xYaWihdLLv2Uglp
436
+ hfekREFhRw5h8ikfk5JA3AgTFVGFjB/q1pZ7gWVamhjjzvrbhiXdqcHDqMuNUMQo
437
+ CuPLlMOq1D59nzYhUUYZOTP8aAOD2dj8a8plM6OQwAuQarqt9DW69Tm7AxKbFrXn
438
+ zXqTT4Ccp4rEJxscV8OIP2DVioFLV37BEWq3pVcarIJku+Lxcpf4C7jXvhBUYAFV
439
+ eQLMmjzXAgMBAAECggEBAIrRPCo7yYmNxedUr0lwqQMxM8EOzKHR4ndCzTQOV6JT
440
+ H8B2N12c0xYgvgNHKAi+l1WBPzahYXztNun7JvrLNZ+8YEkv9VYbTNtjZllXVnCN
441
+ 9VxwK1+abBy8xN9k+27YR1w+2YAFsOPvF/H1KzMICPBRT7i38Z6mRJNKPB/VhL64
442
+ lGbwmYRUl3KxGjanfiGmzRRARBJA2lIQ+wCUbdpi1HSyktBRdegMYHEn+YcWNXya
443
+ WZib1tWF8B2MtJppjjP57rQuCJNRUCnIu44ybw4/zpojErtXLhT6iSDRmXMvfGCx
444
+ eJF4J8sNHgFpNtdhLzTCwiD+2oHWygvPNI6oawxcwjECgYEA7Ge51RJeC/5tug90
445
+ DxzF+9l8k1zbf+4FcsK2cQwdAJiiTSMaujyj8uyX0eQ9HJfQNBcJo7A7cKQRfHaL
446
+ cnw0qNMm7Iu99V5+pyWkZLF7Crz43T0iez3DE6jD/eclwM8mtt2Bk/jxwioWV41u
447
+ YX8Kaw8V/kdZvqPm1MWEVZzBHz8CgYEA5M6cEOpvweNZcE4a5+K0QbWRTCNuxlD3
448
+ Cd9up2W6CeLVC6tjVfsmVsAb1DI5CYteeAro1BWoiS+7RpZ2IVq+DdRRVpOdWaAq
449
+ aaY76ekK8mYdS/CQpBoOltJwXh3XAt9pZ7ymRqhpdSO5NAwX+U+HvEEM0w/Pdy9K
450
+ qM75MOOslGkCgYEA3+uv/b6UDlBEpsQUbmwWq+LpOLvvvVE7H+SG4rVSk0oAEYh6
451
+ vITL1kF73HeP2xGBSJW5r64x3xPI7Fds5lf3mSHH8K68kzmaRcBF4oqpvRYZs5VA
452
+ n/N0X56vZkQXYnXUecl9/ycB96Pd3bg9IWQv/hAgCOaUfxrIfilIm78KvgkCgYAH
453
+ tlMaWtyTe3dLSsarZD/RKy6Pk24rbxU0lvxi1hH0PVoS/57kigebyvPlLiAwCyuO
454
+ /kckxuocXaiBU5b9vtJDIxHuyiD2oWhskTbZxoog64I3Sg+GCH7PZJ52/ah+p0sl
455
+ PP2Zyhlr4l1evL2eIKkhlku5XYIPsV9h20AY/sOVaQKBgQCWV8x5bl9bAmyKj83w
456
+ 8NBEhKU3zKHkcD0M9+XfjdzxwYLHkQ2X2ftA6prrEJO1NY90PCdNDygJ/m//3tsY
457
+ /ClatjEXGrOV34EhzxQd20EQzCrOm2/DZMOL3RALIVW//vL6LNcuytNSKYIAz76a
458
+ 5NjJeF+rpn62syvQ/MDPnLE2Yw==
459
+ -----END PRIVATE KEY-----
460
+ """
461
+
462
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
463
+ MIIDLDCCAhSgAwIBAgIUfuygNa26jw3yA1o8IQkLYCW31D8wDQYJKoZIhvcNAQEL
464
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
465
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
466
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
467
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
468
+ A4IBDwAwggEKAoIBAQDlsfb6//PmK5sQ+v3l3+IIjiTdRcoIxHB3e+fMu6kZPD0r
469
+ xLiIbQtw06CZsX4yVF3DaiIPobGKfI1fv7pxyHM5OldOAn52SFIWjnU5PNGfrw7H
470
+ +6Z1yCnB6lC89UO39ArbfiNrYGpf0Lq99ECHd/EjRP/mMd717fOQ//2zkhzeenXC
471
+ 9jRffLZhkhblPCyFepVBAmBQPKB0rNmnhblwtueUM86LWPq0FrDp0MfP/HbgPQ/v
472
+ VxY1Pd0mBQ23xXnKCQDg4buXAqv9IVd/kNxzG7H8+5k2Ji1QSoSi301XWWa66kXu
473
+ svWc4125avodKiC5t3Czbce7kLAq8mvU32GacJ+fAgMBAAGjFzAVMBMGA1UdEQQM
474
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQA5M3qJYfjlVzdXzu/JTmG0
475
+ 4Mp2G8cjAXcSWEPwz+FI6gImLrA4tZz5MER5WxMQF9ALKKPt58qi3hk1b8Ko8OUa
476
+ wq802DBkg+LpurAmPNht3IZ8s4oTkSWOP3b0FYA+/rYqM4+EGBcso6cGSl6msayc
477
+ 0eyUO+AlWYg+2Bw9AiDEiAiLMaODgmMh6ztmycNluMhP8TNOzQRqFlrEs6YvL/z6
478
+ tryToIqZVjIZogcU5Bko8KMcLOEWbLprSzSd4CIJEtuao3TdbU40TZmhUgcorX0h
479
+ GKaAgtGOxcYjApuavtzr3BA1X/HKLOUNOMDo/27lFPSL2PhSBBRZGGU56FQm2LB4
480
+ -----END CERTIFICATE-----
481
+ """
482
+
483
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
484
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDlsfb6//PmK5sQ
485
+ +v3l3+IIjiTdRcoIxHB3e+fMu6kZPD0rxLiIbQtw06CZsX4yVF3DaiIPobGKfI1f
486
+ v7pxyHM5OldOAn52SFIWjnU5PNGfrw7H+6Z1yCnB6lC89UO39ArbfiNrYGpf0Lq9
487
+ 9ECHd/EjRP/mMd717fOQ//2zkhzeenXC9jRffLZhkhblPCyFepVBAmBQPKB0rNmn
488
+ hblwtueUM86LWPq0FrDp0MfP/HbgPQ/vVxY1Pd0mBQ23xXnKCQDg4buXAqv9IVd/
489
+ kNxzG7H8+5k2Ji1QSoSi301XWWa66kXusvWc4125avodKiC5t3Czbce7kLAq8mvU
490
+ 32GacJ+fAgMBAAECggEAYp5YNkgyhb5vI4k//bR0Lcwp078lEUKWLxbJ3UMtRSJx
491
+ +RrLR/fZk6WpLJPiZOWIJGCrIx7/RUBYyqVc/YFcx1NfLKUxesNuSzT664pLTk4x
492
+ AHfxblx0YUejRp3fZ1mmV7r+phmNUnoh03DNS9yZcdUsMb9zxQ9XJghi+vhe4L3P
493
+ BzxDJjodLkUsvZh64NZcwWqHM0dE+4tR5s9wUfEz92gEe4v+E69EmLC5ob/+h35/
494
+ +P/a0COmD0DDT4f1LDLONt/xIKHjQHeg0ccLkV9T4XULm9jT2irUcIme425jIrPV
495
+ PFQdyboVlBttoVyoxgr27tiz75kKbQ3pEmgkxI/u4QKBgQD5Q7mmYkZqLz1Xb86C
496
+ CHEKMkIfLZ5nzwKfeLPYboNT+KymJI6KD6uL0tGagjaz2KnSY0vyhWNcAEeluiHJ
497
+ ZOfo80VmrvhU298YXIfXv2dc8lnA2zMu56ACTLjtKOZ9uv8RnA+xpJdY0lXH5zSj
498
+ sB8m68M4Lc8O9Ei8KigH5ELByQKBgQDr5t6Rkbwd3bKz+FHNtDbthLRGnS6otYd1
499
+ rsfFFVRwgHh5gVWf+RvcuX5YmyU738VkvvB74hatTQ3T2qxctcY3/hOf9bbuR/jQ
500
+ XWQhwdpQaaASB1D1+ZwFAgwbGYevU5fwnSgKeMxqq90eTBCCIEBWgC1mvL9yLQi5
501
+ EkI/jrlKJwKBgGAzKBozwXNHqgftyahbs6y4utYnmAP+W8fKILa96AdnaNJyN2TH
502
+ KXC8O1LDQHNmghwFYJFHs5IVNZGbZWDBhdNc2AMKMiMl/FL9mxvD7hNsIQGSV42Z
503
+ rSJWE+TLrTEHE1vrfA8WM6b+/kY5UBKAbXVq9hvfahMealfceTiaer0pAoGAWsE2
504
+ LTCw+5h4EK7e4dGMNDKSnHwKIFO+KnM0XckH9EQolS5Bv8q5gmBGkFYXrAI50bl3
505
+ kWF4sfFr+W4uU3iHKrFv4WFJoEBGI/tZ83a9w6PvNiBkcE04TeDswVxADB6P3LzJ
506
+ U8YHdp5p8ib3TuiTd/PWA6lnycgzi+fPXt5MwI8CgYEAusoZUcey3Pw020LCC2HJ
507
+ Gs6yHqyGBJCtDnjnCLoVXJdPQAQz2YjTHoOGgStKvADdYCKRPiGiYpwXyyS6TwgQ
508
+ S6t44Es3eaPxiysbwZrl9SYarFIzN/8gErylU+qvJpNUg1GHdiT0QRmLGZ7679hn
509
+ gPSjDIJ2mH3IbqiM2oyvqgg=
510
+ -----END PRIVATE KEY-----
511
+ """
512
+
513
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
514
+ MIIDLDCCAhSgAwIBAgIUWOfPmS17sBQ2KK+z+yx4bCQgBiswDQYJKoZIhvcNAQEL
515
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
516
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
517
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
518
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
519
+ A4IBDwAwggEKAoIBAQD9vVqZL4co41Wj3v05i+zWg7J+9ODBraJDHeEaw3T7fXDD
520
+ I+ZmzNDER6uWmEGqFOvXHdwi2b0mDa6+LLOB2ksOiLknMME7rAF1BusxhYLypF7t
521
+ 8uQXq1aGQ4fb8LN0llRR3EagfB9mQEJtLHksK50Q39tL+00L/Te56zvjwJR4IwME
522
+ MifXGQF0TbN5ofVPOxVczpo5cULvVyLst8S7C4qCs9iHxWFe+o7CXlJRtedNL00+
523
+ SdqkTllHXeEYM3nmSoj15telQDTW9AJyHQUTB34qEt8o2Oa6nrrEBRNHZGlBmwcF
524
+ EJt0EPpp6A4lHd8Iq/aQAhrweud/kWzde9oMBx11AgMBAAGjFzAVMBMGA1UdEQQM
525
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB0VYSPGkkpREqo5NXcXn3h
526
+ vhVmZwV+M1ZZac0/P5g/ILxhRSIWn1JTLd0y6eFznEPOYrQHZws33jsfZlU4OyT2
527
+ 8Ypxp6v2TRZjY4RpEPy85VAqu5JU0+FZpJkHt4PXaLSnOX3Nd1XZi0AXtQHLvrTK
528
+ qEe0A4v0hkwAQK1Ds02udRn2eyHSZVfMVchMPJSD2wrlZ5Mz7uIWNu1jdTrNzHsY
529
+ sSBZlwrOzUYSgYP9YucbzEquj/tmn2rhZXNDaFZZ4/Rw1kcKH96vBTIxKnf/ocla
530
+ bYmP7j1r3Auw6AxLR5zUtybAj2M9tdE1c+qSP5mvN/ckCBhwOP1XuGjHs40bAiea
531
+ -----END CERTIFICATE-----
532
+ """
533
+
534
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
535
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQD9vVqZL4co41Wj
536
+ 3v05i+zWg7J+9ODBraJDHeEaw3T7fXDDI+ZmzNDER6uWmEGqFOvXHdwi2b0mDa6+
537
+ LLOB2ksOiLknMME7rAF1BusxhYLypF7t8uQXq1aGQ4fb8LN0llRR3EagfB9mQEJt
538
+ LHksK50Q39tL+00L/Te56zvjwJR4IwMEMifXGQF0TbN5ofVPOxVczpo5cULvVyLs
539
+ t8S7C4qCs9iHxWFe+o7CXlJRtedNL00+SdqkTllHXeEYM3nmSoj15telQDTW9AJy
540
+ HQUTB34qEt8o2Oa6nrrEBRNHZGlBmwcFEJt0EPpp6A4lHd8Iq/aQAhrweud/kWzd
541
+ e9oMBx11AgMBAAECggEAeZwxOc3vp4cdWobbMqN/hWhlOje/KNRBOo2tf5hCDu6W
542
+ BtDD8m0jeY8oC+s5PXz9c4JaKVHWN9DC+V6PQiMPag3ZP5E8a48Ku73vJzLoCccB
543
+ wGVzMGzr8TmYea8pMy2BiCJcrzoOCoGt1IlGIgddJeNERWxSBvb7qF23vHZmMhUR
544
+ ZNt6l8n6ADXL/gYeCue0LkK0OSb66Hdb2swecjx+aelMHudPfYjKdVtDLj/5kd+U
545
+ NgygosIiJqa/KTgv+ZKCFgPZgV26guV8Coav8b+UDmDOmevO4+a50iKX//KsR4Ry
546
+ KvzGR64ILp1hBT9PwAomH+j2MRzAcDZIFV1cr9Q+AQKBgQD/XY/eGEYRJPmPrWI1
547
+ BC1Kvmni9fXajc6/YVIliL+rOoPLPkZTWvkQZh6PiUFC9H4L3yFHhtWMmn6dyI5w
548
+ B6O1pr87P5RTyfJ9LpnY1epXRERnIAR4Yuh1W9QgUzbiP+Y0jYHbSQm8C8EDPwnL
549
+ 159sGmFMD/fwnEEZIsqPxVMZtQKBgQD+XsH7FcAII8Z4XdQJYGCGMHi+y634teLJ
550
+ /f1vWfsEJoeJYaiJUoXzrJSVom7wMbEwgPFTmM/SGNLDDwjeoFjYryIB6DIyUfk7
551
+ dGykQY0v6YhFUUx2K1QpEdPbBSx/oyQXmiwbEo8DD6cWF5SYux2KfdngH1OAOnuz
552
+ TV6MVSNMwQKBgB3w1mFv7ycrcqdJ6O3WY4kT8k5OEFljrw35VyxXcEGfRryZvJ0h
553
+ WXp2vraNnT1AdVbm/nvobzlhE99kGG9CNguiVWGY/sckMm5C/H7T9fntYyfENUH4
554
+ NtErxx9TImg8nb0jqkoPsjh+GE9NINTpnyOJpEbKyINJjshnr+BTfn7RAoGAG3XZ
555
+ VSTU9Uv/ahEfCeAYq4PiFR7h6h6gnBPKX1IEcj9ClIcxbZm2EkdIRxshBNcofMb+
556
+ xnqRvOmnHx2pZHdFACdv8WrCuIH2+P8pl1XoSwrYBjuvmHY3ALQG/fcCBclz5QRk
557
+ zItlWvw+mnjzNsXEe6X4dmSLXCV0IzgwA9BRHkECgYEA74UZh8R5iZNWjt14TYay
558
+ 0D33Qhu4nFhRtdqlIMZl6GW7pxqVYZKD512X+G6AVDceJTGmzy94kgc/lb7YtKCw
559
+ 3nMFPncjRhG98rv+O4CobxjxtRwNTacbwFD+/yYxUCUio14agPezNbX/oEGe8cGL
560
+ tsqsAShkZwiJbNvz1q/u6kw=
561
+ -----END PRIVATE KEY-----
562
+ """
563
+
564
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
565
+ MIIDLDCCAhSgAwIBAgIURUSWnNQeBOShv/Sz9MuDq2t6VVwwDQYJKoZIhvcNAQEL
566
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
567
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
568
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
569
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
570
+ A4IBDwAwggEKAoIBAQDEDI/6MSomdp0AjdEuQgP6og1bMKOb/X0G9mEpvKjyIl+8
571
+ SSijACXVRhSG7Nx0tU61pebjXF2ax6jgqpzSrrlv/w6WxSmRcqbrdZFSUWMG5FFc
572
+ dYfSKyrMmF/p0o0kXQRaBSeIhkLnGS43Zna1w5b7ak76EttzQd5uiJ6bG7vCpGn0
573
+ hXNgdXtRIaruK4TWt740F2vyhIRtsEIUURaLe8MPT8ey4lm4Fz2URnUvfdMma7GS
574
+ rZIsT17kw7SQBlaqoGXslYNB2yMdnAWRJzuh6cvnxQax2Mfciwit5fkFQlnVPdZx
575
+ W/rLffyCCef9Z0m6WArb76OTwcCq4pmwh3dfOi/ZAgMBAAGjFzAVMBMGA1UdEQQM
576
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBu0wa4sLoqzpBt71pELonc
577
+ siZZ+dCLuFCXvyt8nQcN8arR7Dd5/eb+kn1AFNRFggbnf/z/jTc6ujISUrHIzAkz
578
+ mVbuwzyA3gKzZfyTgv6H8N6qvqLPBTWMgs82UXdKE4gXuheUT9+lAp6z81FbuFK9
579
+ PSX+gebb/WwxdEP0w7A4mws6udBnOpPW9i0ArZKNKgWl8RiaVxoJWt74AG/t6HIx
580
+ TV2iONXfZJO1k4rJb/jsmOavfXDYeEVrqXJ40f20Ex1wWPGd5Hm/yOrFutF7nvye
581
+ mHxa/DuK2vpqPuwcJLYr2FHatClZNiCza6JLeMq1CWgEJ0Io9fte87JuP4ZWi4Q+
582
+ -----END CERTIFICATE-----
583
+ """
584
+
585
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
586
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDEDI/6MSomdp0A
587
+ jdEuQgP6og1bMKOb/X0G9mEpvKjyIl+8SSijACXVRhSG7Nx0tU61pebjXF2ax6jg
588
+ qpzSrrlv/w6WxSmRcqbrdZFSUWMG5FFcdYfSKyrMmF/p0o0kXQRaBSeIhkLnGS43
589
+ Zna1w5b7ak76EttzQd5uiJ6bG7vCpGn0hXNgdXtRIaruK4TWt740F2vyhIRtsEIU
590
+ URaLe8MPT8ey4lm4Fz2URnUvfdMma7GSrZIsT17kw7SQBlaqoGXslYNB2yMdnAWR
591
+ Jzuh6cvnxQax2Mfciwit5fkFQlnVPdZxW/rLffyCCef9Z0m6WArb76OTwcCq4pmw
592
+ h3dfOi/ZAgMBAAECggEAUcbPs9QYOe0WNmnxjHMbB8va+GPEi0fkhCf3hZpdeore
593
+ FkMKAVwJa/oMi+93UfNi/qBSPBqGLQ8FoZlpSvR5A3+HzVo2qaYCfIsQ8B5kyTYp
594
+ vgCEhCVfd/JDZ9xc5YMrUoV95RPkClPVlGRYNh989ih1AxkkkuIx7zdruVWLL3f7
595
+ X/p9P9GvW1pKchk6nSqxiXAqiLljOL3mashfiymmXdAJEpRDSwg4dvsviMjbnIvE
596
+ /3jIszp/QXZxXjV+UEjPjL+gSLYwVVGoXV+Ejf/9WlkQSrKo2xIrNSuIl/30R1wV
597
+ r9KmQjUafhInB6nWRgFxsknb8vmbWZ60wDghopti1QKBgQD7JhaciR6xhtZGt42n
598
+ dbFxKbnLeRVet/WKMLBd4o82kRgtH64LJoZ6hWKF8A7uvf1H6rgNUQLX24870C5B
599
+ iGJFaBKQ5MHGPagMpAKjwNAOHMkssLt2stFri5thulf8nBpN/dyeCEbBOAanG6vY
600
+ cwfV4YOb/PFJ9ODkLeTiKWOxFwKBgQDH1gKcRaeTMbrSm+NySCFxO8Hk09wFR3D9
601
+ RkH6BQ0V+Gl9ds7G8p/tjYWQDC1Ts9APyCNKoKC9IFHSaMhfjAO/6qPhuDi3DRco
602
+ er8BvcDjA5bBN+9xrezCuGO6T7IW+fY6BgWv9+XH+MmaokA234ABsz7v15C3Qk55
603
+ /VcrzgpcjwKBgQD04CJT5m6C8dGjif0YNm0YxXJermTjwcIrR2XvZKP2tGo6NRVh
604
+ 0eJ1O/DgXzxwE9cNdBKZCVAYX/+8djNjujL3MY5IsIMvY5ajHJdmSu2RlQeiB4AB
605
+ MEF49to9448+woXzXX7qp281ngb+kMBxf1c4d3X3dh1d2uIcGZN94JVPaQKBgQCe
606
+ 3q84mc+9n72NDk3mXx3nLcDaMOwsbj2PvblaEYXzv4fuLPP7CozGiMp0WJn4f22b
607
+ /lrAS68+bGFgS9lwzJl2jA45twGv1YJhtiQAOGEOmZ3Sgqujzsf5jioKxq0owxRT
608
+ 0NHYsdZGAq4Ud4VhmpHjyCLy/oeYiehl51jUBHwMVQKBgQDU4aOi+FwIrdSyqU3e
609
+ 0ZWpLd9mJ4UEkzsmtDs0mewfDc15RzeqZCi2tQkSvzratYtrNydtG/L9nxaDDBU4
610
+ S9tIWmaKBMtFAzGG/Drs1wKrCCH8DTvuv/70kvx6TwbzPDQvg9KOgKFLATiEzRDG
611
+ EWSTA/GNS4G4uZ31e/CscomD6w==
612
+ -----END PRIVATE KEY-----
613
+ """
614
+
615
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
616
+ MIIDLDCCAhSgAwIBAgIUPwUT6RFj3c1lZddwvYGkWtbwHzIwDQYJKoZIhvcNAQEL
617
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
618
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
619
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
620
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
621
+ A4IBDwAwggEKAoIBAQDPobMhkfO6/94LcS9llcyUkzxSeRcWOnmtEXgJxwe8biHW
622
+ 5CWrNu5GMiCFSs6Z9os8M4Xl1s3DvYCfxiG5XaA7SqLX1183QMS/a4zOPbozuVL7
623
+ tyLpGx511o6gQrHMPFIqc50SVPeW2gMd/PW9WcYXI2rmMOGMfUhI5kGSZFXIWZzT
624
+ DRdIEyFYsMh0vNPuMGhcuWglXD1Wv6LGEoDsvFnmvqzbplxgZeSilvUyEMhxx/gJ
625
+ XwhsdXnxwVcdg7DWA1adELbiwx4TrA8ws+r5EOK3uvmemxMhwcjMtKPU3LvafBzK
626
+ R5MkMQpxY4RehqO5TiCAsJXMrkLoKkMGCtfW2TBNAgMBAAGjFzAVMBMGA1UdEQQM
627
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQA466vxCP9fhomcXQolSuIj
628
+ speXwl0h7xPZvT+0dk+HVJbr/peTKMlg7szvwbNmjJHijwlHD5oim+GB6+WBiSXS
629
+ G9ceIe7bBLoPRizsw6b963u8jvKHPRXux8HNspYw18MV8E4SxMB6Sqtk+i8HWgcU
630
+ kSu6wjQurRjBMuZtu7abRn8gGhaRWMbu0TRrJlYRDpI6zQJfo+HWc4Wn8knJ0PGo
631
+ BqLKD7kCrTqp9eES6WUKMBJ/xLRdIK516I8gw4mQJxO//Hej0o98bkFihcSZMT0o
632
+ y4QKE9FN6TjHYPTllouTn4G8e43PnqYT4K8pium+tIuO61W+4OsgvRnk7ykFJpgj
633
+ -----END CERTIFICATE-----
634
+ """
635
+
636
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
637
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDPobMhkfO6/94L
638
+ cS9llcyUkzxSeRcWOnmtEXgJxwe8biHW5CWrNu5GMiCFSs6Z9os8M4Xl1s3DvYCf
639
+ xiG5XaA7SqLX1183QMS/a4zOPbozuVL7tyLpGx511o6gQrHMPFIqc50SVPeW2gMd
640
+ /PW9WcYXI2rmMOGMfUhI5kGSZFXIWZzTDRdIEyFYsMh0vNPuMGhcuWglXD1Wv6LG
641
+ EoDsvFnmvqzbplxgZeSilvUyEMhxx/gJXwhsdXnxwVcdg7DWA1adELbiwx4TrA8w
642
+ s+r5EOK3uvmemxMhwcjMtKPU3LvafBzKR5MkMQpxY4RehqO5TiCAsJXMrkLoKkMG
643
+ CtfW2TBNAgMBAAECggEAL83qAVOqSya4B+hiYkAwHxEbNV3d2+dQtnEsMwwZEuBE
644
+ eEaFCbuW9qB57lZ/5ODnw8+VB4sCSwvpfl/Oye/tgVk4zvsuV/lYkz3+6Ek8Asar
645
+ fXr31bXBuJ3SrsFMUFqfDFkcE+luK9Q8HX5tUdBGlHM6HI+qjn8V0nr5I+xn972H
646
+ zT2oouCoM/2pfwfWVy/K9Z6/z7rcmZNbEnF3n4nh85nN906ofsPuCpIqVLV/1Bf/
647
+ 2Z+yLLg+ddneVCbULiXyfW32IdwzsK/WFUAUQuwtZNRVQ+Gf0GBZoipur6hIfNol
648
+ 9Z7HKzu/1207Sd07u4UqbxPaEcwWHmaTCTON390PXQKBgQD0ntD51zWFpjf4NBcc
649
+ NOGESHaIXI4VZWPdXZrs8IsGrLvULEev1dGpVqTCIbpDUGfDP9eaMpRare95eRUS
650
+ uZk4AAFT4cgUD1AA7npxNHLJ807k1OKUTfRUTbSt/7MY66nKJ0xd8pLasCN8r1E9
651
+ j/jx4qVPyZaPigQhEhq1NRD10wKBgQDZSmJ10xxdM0wMhV72kMYtKWOLGVTcSLNA
652
+ +ZFzOUL+0AL9UA+qqvoU8evFYXjmqGlAAhWb7OocbhOWyr0YwjRCOADApGiP8tMk
653
+ 2x6PE8pbDabvRcLQ3/s6qs4Q100Ga1MDW8Mwi4FTe3e79qkY2gBerYvOL+oDPEXn
654
+ DPye9/zNXwKBgHx+34hn+PteDxopGKHoX+X9IyZfRIirI1okK5bvDTKGcsmXB5z7
655
+ y0rNp+iNVciwgT6jnU0C9PH5l+lQsGLpRotzpTlVrYhYCrWOqY43zTvusnZPykkE
656
+ K5dEPPJZMoM6XR1fRsSBki/ueQEaENSuE1q3qL6ksBW5fkR+fE1BBrK1AoGAHQwl
657
+ l2yuWQM3gmD97eYyp+zlgr3TK1OIqwHx4L5h52B1VdmzDnSm08/3Xb6HBAa1czoU
658
+ G3ETZtOMSNc3aizkAYotB5Oy6rNiaIXmUugpX/y2OTxRK80Vb6VPwM6XXGlSgpts
659
+ v3uWwUs7GWSC/HCAJif7DYg4N1CCY73Hs5ShNe8CgYBrW0knLvima3Ug0oBNwOy3
660
+ 2cnNnQqpXqn2cVfBbB2Om/6q9zclD3Qu0k11gUsYTMyGnXOLl9J7PhKgDqbnvhSA
661
+ s4kJlLBYxfILTZrlMeZGkLMtDxll8cUTKJ5AP6gR7AAbm5y20+xqPaIr1gjdGict
662
+ y5AZoW69GqwC41YzBDIO0w==
663
+ -----END PRIVATE KEY-----
664
+ """
665
+
666
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_2: tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
667
+
668
+ SSL_TEST_NODE_CERTS_AND_KEYS_2: 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
+ }