chia-blockchain 2.4.4__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 (1028) 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 +197 -0
  7. chia/_tests/blockchain/config.py +4 -0
  8. chia/_tests/blockchain/test_augmented_chain.py +147 -0
  9. chia/_tests/blockchain/test_blockchain.py +4100 -0
  10. chia/_tests/blockchain/test_blockchain_transactions.py +1050 -0
  11. chia/_tests/blockchain/test_build_chains.py +61 -0
  12. chia/_tests/blockchain/test_get_block_generator.py +72 -0
  13. chia/_tests/blockchain/test_lookup_fork_chain.py +195 -0
  14. chia/_tests/build-init-files.py +93 -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 +73 -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 +147 -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 +57 -0
  26. chia/_tests/clvm/test_program.py +150 -0
  27. chia/_tests/clvm/test_puzzle_compression.py +144 -0
  28. chia/_tests/clvm/test_puzzle_drivers.py +45 -0
  29. chia/_tests/clvm/test_puzzles.py +247 -0
  30. chia/_tests/clvm/test_singletons.py +540 -0
  31. chia/_tests/clvm/test_spend_sim.py +181 -0
  32. chia/_tests/cmds/__init__.py +0 -0
  33. chia/_tests/cmds/cmd_test_utils.py +472 -0
  34. chia/_tests/cmds/config.py +3 -0
  35. chia/_tests/cmds/conftest.py +23 -0
  36. chia/_tests/cmds/test_click_types.py +195 -0
  37. chia/_tests/cmds/test_cmd_framework.py +400 -0
  38. chia/_tests/cmds/test_cmds_util.py +97 -0
  39. chia/_tests/cmds/test_daemon.py +92 -0
  40. chia/_tests/cmds/test_farm_cmd.py +67 -0
  41. chia/_tests/cmds/test_show.py +116 -0
  42. chia/_tests/cmds/test_sim.py +207 -0
  43. chia/_tests/cmds/test_timelock_args.py +75 -0
  44. chia/_tests/cmds/test_tx_config_args.py +153 -0
  45. chia/_tests/cmds/testing_classes.py +59 -0
  46. chia/_tests/cmds/wallet/__init__.py +0 -0
  47. chia/_tests/cmds/wallet/test_coins.py +195 -0
  48. chia/_tests/cmds/wallet/test_consts.py +47 -0
  49. chia/_tests/cmds/wallet/test_dao.py +565 -0
  50. chia/_tests/cmds/wallet/test_did.py +403 -0
  51. chia/_tests/cmds/wallet/test_nft.py +470 -0
  52. chia/_tests/cmds/wallet/test_notifications.py +124 -0
  53. chia/_tests/cmds/wallet/test_offer.toffer +1 -0
  54. chia/_tests/cmds/wallet/test_tx_decorators.py +27 -0
  55. chia/_tests/cmds/wallet/test_vcs.py +376 -0
  56. chia/_tests/cmds/wallet/test_wallet.py +1126 -0
  57. chia/_tests/cmds/wallet/test_wallet_check.py +111 -0
  58. chia/_tests/conftest.py +1304 -0
  59. chia/_tests/connection_utils.py +124 -0
  60. chia/_tests/core/__init__.py +0 -0
  61. chia/_tests/core/cmds/__init__.py +0 -0
  62. chia/_tests/core/cmds/test_beta.py +382 -0
  63. chia/_tests/core/cmds/test_keys.py +1734 -0
  64. chia/_tests/core/cmds/test_wallet.py +126 -0
  65. chia/_tests/core/config.py +3 -0
  66. chia/_tests/core/consensus/__init__.py +0 -0
  67. chia/_tests/core/consensus/test_block_creation.py +56 -0
  68. chia/_tests/core/consensus/test_pot_iterations.py +117 -0
  69. chia/_tests/core/custom_types/__init__.py +0 -0
  70. chia/_tests/core/custom_types/test_coin.py +109 -0
  71. chia/_tests/core/custom_types/test_proof_of_space.py +144 -0
  72. chia/_tests/core/custom_types/test_spend_bundle.py +71 -0
  73. chia/_tests/core/daemon/__init__.py +0 -0
  74. chia/_tests/core/daemon/config.py +4 -0
  75. chia/_tests/core/daemon/test_daemon.py +2128 -0
  76. chia/_tests/core/daemon/test_daemon_register.py +109 -0
  77. chia/_tests/core/daemon/test_keychain_proxy.py +100 -0
  78. chia/_tests/core/data_layer/__init__.py +0 -0
  79. chia/_tests/core/data_layer/config.py +5 -0
  80. chia/_tests/core/data_layer/conftest.py +105 -0
  81. chia/_tests/core/data_layer/test_data_cli.py +57 -0
  82. chia/_tests/core/data_layer/test_data_layer.py +83 -0
  83. chia/_tests/core/data_layer/test_data_layer_util.py +219 -0
  84. chia/_tests/core/data_layer/test_data_rpc.py +3865 -0
  85. chia/_tests/core/data_layer/test_data_store.py +2423 -0
  86. chia/_tests/core/data_layer/test_data_store_schema.py +381 -0
  87. chia/_tests/core/data_layer/test_plugin.py +91 -0
  88. chia/_tests/core/data_layer/util.py +232 -0
  89. chia/_tests/core/farmer/__init__.py +0 -0
  90. chia/_tests/core/farmer/config.py +3 -0
  91. chia/_tests/core/farmer/test_farmer_api.py +101 -0
  92. chia/_tests/core/full_node/__init__.py +0 -0
  93. chia/_tests/core/full_node/config.py +4 -0
  94. chia/_tests/core/full_node/dos/__init__.py +0 -0
  95. chia/_tests/core/full_node/dos/config.py +3 -0
  96. chia/_tests/core/full_node/full_sync/__init__.py +0 -0
  97. chia/_tests/core/full_node/full_sync/config.py +4 -0
  98. chia/_tests/core/full_node/full_sync/test_full_sync.py +448 -0
  99. chia/_tests/core/full_node/ram_db.py +27 -0
  100. chia/_tests/core/full_node/stores/__init__.py +0 -0
  101. chia/_tests/core/full_node/stores/config.py +4 -0
  102. chia/_tests/core/full_node/stores/test_block_store.py +488 -0
  103. chia/_tests/core/full_node/stores/test_coin_store.py +888 -0
  104. chia/_tests/core/full_node/stores/test_full_node_store.py +1215 -0
  105. chia/_tests/core/full_node/stores/test_hint_store.py +230 -0
  106. chia/_tests/core/full_node/stores/test_sync_store.py +135 -0
  107. chia/_tests/core/full_node/test_address_manager.py +588 -0
  108. chia/_tests/core/full_node/test_block_height_map.py +556 -0
  109. chia/_tests/core/full_node/test_conditions.py +558 -0
  110. chia/_tests/core/full_node/test_full_node.py +2445 -0
  111. chia/_tests/core/full_node/test_generator_tools.py +82 -0
  112. chia/_tests/core/full_node/test_hint_management.py +104 -0
  113. chia/_tests/core/full_node/test_node_load.py +34 -0
  114. chia/_tests/core/full_node/test_performance.py +182 -0
  115. chia/_tests/core/full_node/test_subscriptions.py +492 -0
  116. chia/_tests/core/full_node/test_transactions.py +203 -0
  117. chia/_tests/core/full_node/test_tx_processing_queue.py +154 -0
  118. chia/_tests/core/large_block.py +2388 -0
  119. chia/_tests/core/make_block_generator.py +72 -0
  120. chia/_tests/core/mempool/__init__.py +0 -0
  121. chia/_tests/core/mempool/config.py +4 -0
  122. chia/_tests/core/mempool/test_mempool.py +3180 -0
  123. chia/_tests/core/mempool/test_mempool_fee_estimator.py +104 -0
  124. chia/_tests/core/mempool/test_mempool_fee_protocol.py +55 -0
  125. chia/_tests/core/mempool/test_mempool_item_queries.py +192 -0
  126. chia/_tests/core/mempool/test_mempool_manager.py +2054 -0
  127. chia/_tests/core/mempool/test_mempool_performance.py +65 -0
  128. chia/_tests/core/mempool/test_singleton_fast_forward.py +567 -0
  129. chia/_tests/core/node_height.py +28 -0
  130. chia/_tests/core/server/__init__.py +0 -0
  131. chia/_tests/core/server/config.py +3 -0
  132. chia/_tests/core/server/flood.py +82 -0
  133. chia/_tests/core/server/serve.py +132 -0
  134. chia/_tests/core/server/test_capabilities.py +68 -0
  135. chia/_tests/core/server/test_dos.py +320 -0
  136. chia/_tests/core/server/test_event_loop.py +109 -0
  137. chia/_tests/core/server/test_loop.py +290 -0
  138. chia/_tests/core/server/test_node_discovery.py +74 -0
  139. chia/_tests/core/server/test_rate_limits.py +370 -0
  140. chia/_tests/core/server/test_server.py +225 -0
  141. chia/_tests/core/server/test_upnp.py +8 -0
  142. chia/_tests/core/services/__init__.py +0 -0
  143. chia/_tests/core/services/config.py +3 -0
  144. chia/_tests/core/services/test_services.py +166 -0
  145. chia/_tests/core/ssl/__init__.py +0 -0
  146. chia/_tests/core/ssl/config.py +3 -0
  147. chia/_tests/core/ssl/test_ssl.py +198 -0
  148. chia/_tests/core/test_coins.py +33 -0
  149. chia/_tests/core/test_cost_calculation.py +314 -0
  150. chia/_tests/core/test_crawler.py +175 -0
  151. chia/_tests/core/test_crawler_rpc.py +53 -0
  152. chia/_tests/core/test_daemon_rpc.py +24 -0
  153. chia/_tests/core/test_db_conversion.py +129 -0
  154. chia/_tests/core/test_db_validation.py +161 -0
  155. chia/_tests/core/test_farmer_harvester_rpc.py +504 -0
  156. chia/_tests/core/test_filter.py +37 -0
  157. chia/_tests/core/test_full_node_rpc.py +794 -0
  158. chia/_tests/core/test_merkle_set.py +343 -0
  159. chia/_tests/core/test_program.py +49 -0
  160. chia/_tests/core/test_rpc_util.py +87 -0
  161. chia/_tests/core/test_seeder.py +308 -0
  162. chia/_tests/core/test_setproctitle.py +13 -0
  163. chia/_tests/core/util/__init__.py +0 -0
  164. chia/_tests/core/util/config.py +4 -0
  165. chia/_tests/core/util/test_block_cache.py +44 -0
  166. chia/_tests/core/util/test_cached_bls.py +57 -0
  167. chia/_tests/core/util/test_config.py +337 -0
  168. chia/_tests/core/util/test_file_keyring_synchronization.py +105 -0
  169. chia/_tests/core/util/test_files.py +391 -0
  170. chia/_tests/core/util/test_jsonify.py +146 -0
  171. chia/_tests/core/util/test_keychain.py +514 -0
  172. chia/_tests/core/util/test_keyring_wrapper.py +490 -0
  173. chia/_tests/core/util/test_lockfile.py +380 -0
  174. chia/_tests/core/util/test_log_exceptions.py +187 -0
  175. chia/_tests/core/util/test_lru_cache.py +56 -0
  176. chia/_tests/core/util/test_significant_bits.py +40 -0
  177. chia/_tests/core/util/test_streamable.py +883 -0
  178. chia/_tests/db/__init__.py +0 -0
  179. chia/_tests/db/test_db_wrapper.py +565 -0
  180. chia/_tests/environments/__init__.py +0 -0
  181. chia/_tests/environments/common.py +35 -0
  182. chia/_tests/environments/full_node.py +47 -0
  183. chia/_tests/environments/wallet.py +368 -0
  184. chia/_tests/ether.py +19 -0
  185. chia/_tests/farmer_harvester/__init__.py +0 -0
  186. chia/_tests/farmer_harvester/config.py +3 -0
  187. chia/_tests/farmer_harvester/test_farmer.py +1264 -0
  188. chia/_tests/farmer_harvester/test_farmer_harvester.py +292 -0
  189. chia/_tests/farmer_harvester/test_filter_prefix_bits.py +130 -0
  190. chia/_tests/farmer_harvester/test_third_party_harvesters.py +501 -0
  191. chia/_tests/farmer_harvester/test_third_party_harvesters_data.json +29 -0
  192. chia/_tests/fee_estimation/__init__.py +0 -0
  193. chia/_tests/fee_estimation/config.py +3 -0
  194. chia/_tests/fee_estimation/test_fee_estimation_integration.py +262 -0
  195. chia/_tests/fee_estimation/test_fee_estimation_rpc.py +287 -0
  196. chia/_tests/fee_estimation/test_fee_estimation_unit_tests.py +145 -0
  197. chia/_tests/fee_estimation/test_mempoolitem_height_added.py +146 -0
  198. chia/_tests/generator/__init__.py +0 -0
  199. chia/_tests/generator/puzzles/__init__.py +0 -0
  200. chia/_tests/generator/puzzles/test_generator_deserialize.clsp +3 -0
  201. chia/_tests/generator/puzzles/test_generator_deserialize.clsp.hex +1 -0
  202. chia/_tests/generator/puzzles/test_multiple_generator_input_arguments.clsp +19 -0
  203. chia/_tests/generator/puzzles/test_multiple_generator_input_arguments.clsp.hex +1 -0
  204. chia/_tests/generator/test_compression.py +218 -0
  205. chia/_tests/generator/test_generator_types.py +44 -0
  206. chia/_tests/generator/test_rom.py +182 -0
  207. chia/_tests/plot_sync/__init__.py +0 -0
  208. chia/_tests/plot_sync/config.py +3 -0
  209. chia/_tests/plot_sync/test_delta.py +102 -0
  210. chia/_tests/plot_sync/test_plot_sync.py +617 -0
  211. chia/_tests/plot_sync/test_receiver.py +451 -0
  212. chia/_tests/plot_sync/test_sender.py +116 -0
  213. chia/_tests/plot_sync/test_sync_simulated.py +450 -0
  214. chia/_tests/plot_sync/util.py +67 -0
  215. chia/_tests/plotting/__init__.py +0 -0
  216. chia/_tests/plotting/config.py +3 -0
  217. chia/_tests/plotting/test_plot_manager.py +738 -0
  218. chia/_tests/plotting/util.py +13 -0
  219. chia/_tests/pools/__init__.py +0 -0
  220. chia/_tests/pools/config.py +5 -0
  221. chia/_tests/pools/test_pool_cmdline.py +23 -0
  222. chia/_tests/pools/test_pool_config.py +44 -0
  223. chia/_tests/pools/test_pool_puzzles_lifecycle.py +398 -0
  224. chia/_tests/pools/test_pool_rpc.py +1010 -0
  225. chia/_tests/pools/test_pool_wallet.py +201 -0
  226. chia/_tests/pools/test_wallet_pool_store.py +161 -0
  227. chia/_tests/process_junit.py +349 -0
  228. chia/_tests/rpc/__init__.py +0 -0
  229. chia/_tests/rpc/test_rpc_client.py +81 -0
  230. chia/_tests/simulation/__init__.py +0 -0
  231. chia/_tests/simulation/config.py +6 -0
  232. chia/_tests/simulation/test_simulation.py +501 -0
  233. chia/_tests/simulation/test_simulator.py +234 -0
  234. chia/_tests/simulation/test_start_simulator.py +106 -0
  235. chia/_tests/testconfig.py +13 -0
  236. chia/_tests/timelord/__init__.py +0 -0
  237. chia/_tests/timelord/config.py +3 -0
  238. chia/_tests/timelord/test_new_peak.py +437 -0
  239. chia/_tests/timelord/test_timelord.py +11 -0
  240. chia/_tests/tools/1315537.json +170 -0
  241. chia/_tests/tools/1315544.json +160 -0
  242. chia/_tests/tools/1315630.json +150 -0
  243. chia/_tests/tools/300000.json +105 -0
  244. chia/_tests/tools/442734.json +140 -0
  245. chia/_tests/tools/466212.json +130 -0
  246. chia/_tests/tools/__init__.py +0 -0
  247. chia/_tests/tools/config.py +5 -0
  248. chia/_tests/tools/test-blockchain-db.sqlite +0 -0
  249. chia/_tests/tools/test_full_sync.py +30 -0
  250. chia/_tests/tools/test_legacy_keyring.py +82 -0
  251. chia/_tests/tools/test_run_block.py +129 -0
  252. chia/_tests/util/__init__.py +0 -0
  253. chia/_tests/util/benchmark_cost.py +170 -0
  254. chia/_tests/util/benchmarks.py +154 -0
  255. chia/_tests/util/bip39_test_vectors.json +148 -0
  256. chia/_tests/util/blockchain.py +133 -0
  257. chia/_tests/util/blockchain_mock.py +132 -0
  258. chia/_tests/util/build_network_protocol_files.py +302 -0
  259. chia/_tests/util/clvm_generator.bin +0 -0
  260. chia/_tests/util/config.py +3 -0
  261. chia/_tests/util/constants.py +20 -0
  262. chia/_tests/util/db_connection.py +36 -0
  263. chia/_tests/util/full_sync.py +245 -0
  264. chia/_tests/util/gen_ssl_certs.py +115 -0
  265. chia/_tests/util/generator_tools_testing.py +47 -0
  266. chia/_tests/util/key_tool.py +37 -0
  267. chia/_tests/util/misc.py +722 -0
  268. chia/_tests/util/network_protocol_data.py +1074 -0
  269. chia/_tests/util/protocol_messages_bytes-v1.0 +0 -0
  270. chia/_tests/util/protocol_messages_json.py +2700 -0
  271. chia/_tests/util/rpc.py +23 -0
  272. chia/_tests/util/run_block.py +163 -0
  273. chia/_tests/util/setup_nodes.py +479 -0
  274. chia/_tests/util/split_managers.py +99 -0
  275. chia/_tests/util/temp_file.py +14 -0
  276. chia/_tests/util/test_action_scope.py +143 -0
  277. chia/_tests/util/test_async_pool.py +366 -0
  278. chia/_tests/util/test_build_job_matrix.py +43 -0
  279. chia/_tests/util/test_build_network_protocol_files.py +7 -0
  280. chia/_tests/util/test_chia_version.py +50 -0
  281. chia/_tests/util/test_collection.py +11 -0
  282. chia/_tests/util/test_condition_tools.py +231 -0
  283. chia/_tests/util/test_config.py +426 -0
  284. chia/_tests/util/test_dump_keyring.py +60 -0
  285. chia/_tests/util/test_errors.py +10 -0
  286. chia/_tests/util/test_full_block_utils.py +271 -0
  287. chia/_tests/util/test_installed.py +20 -0
  288. chia/_tests/util/test_limited_semaphore.py +52 -0
  289. chia/_tests/util/test_logging_filter.py +43 -0
  290. chia/_tests/util/test_misc.py +444 -0
  291. chia/_tests/util/test_network.py +74 -0
  292. chia/_tests/util/test_network_protocol_files.py +579 -0
  293. chia/_tests/util/test_network_protocol_json.py +266 -0
  294. chia/_tests/util/test_network_protocol_test.py +257 -0
  295. chia/_tests/util/test_paginator.py +72 -0
  296. chia/_tests/util/test_pprint.py +17 -0
  297. chia/_tests/util/test_priority_mutex.py +487 -0
  298. chia/_tests/util/test_recursive_replace.py +116 -0
  299. chia/_tests/util/test_replace_str_to_bytes.py +137 -0
  300. chia/_tests/util/test_service_groups.py +15 -0
  301. chia/_tests/util/test_ssl_check.py +31 -0
  302. chia/_tests/util/test_testnet_overrides.py +19 -0
  303. chia/_tests/util/test_tests_misc.py +38 -0
  304. chia/_tests/util/test_timing.py +37 -0
  305. chia/_tests/util/test_trusted_peer.py +51 -0
  306. chia/_tests/util/time_out_assert.py +154 -0
  307. chia/_tests/wallet/__init__.py +0 -0
  308. chia/_tests/wallet/cat_wallet/__init__.py +0 -0
  309. chia/_tests/wallet/cat_wallet/config.py +4 -0
  310. chia/_tests/wallet/cat_wallet/test_cat_lifecycle.py +468 -0
  311. chia/_tests/wallet/cat_wallet/test_cat_outer_puzzle.py +69 -0
  312. chia/_tests/wallet/cat_wallet/test_cat_wallet.py +1738 -0
  313. chia/_tests/wallet/cat_wallet/test_offer_lifecycle.py +291 -0
  314. chia/_tests/wallet/cat_wallet/test_trades.py +2578 -0
  315. chia/_tests/wallet/clawback/__init__.py +0 -0
  316. chia/_tests/wallet/clawback/config.py +3 -0
  317. chia/_tests/wallet/clawback/test_clawback_decorator.py +80 -0
  318. chia/_tests/wallet/clawback/test_clawback_lifecycle.py +292 -0
  319. chia/_tests/wallet/clawback/test_clawback_metadata.py +51 -0
  320. chia/_tests/wallet/config.py +4 -0
  321. chia/_tests/wallet/conftest.py +217 -0
  322. chia/_tests/wallet/dao_wallet/__init__.py +0 -0
  323. chia/_tests/wallet/dao_wallet/config.py +3 -0
  324. chia/_tests/wallet/dao_wallet/test_dao_clvm.py +1322 -0
  325. chia/_tests/wallet/dao_wallet/test_dao_wallets.py +3488 -0
  326. chia/_tests/wallet/db_wallet/__init__.py +0 -0
  327. chia/_tests/wallet/db_wallet/config.py +3 -0
  328. chia/_tests/wallet/db_wallet/test_db_graftroot.py +143 -0
  329. chia/_tests/wallet/db_wallet/test_dl_offers.py +491 -0
  330. chia/_tests/wallet/db_wallet/test_dl_wallet.py +823 -0
  331. chia/_tests/wallet/did_wallet/__init__.py +0 -0
  332. chia/_tests/wallet/did_wallet/config.py +4 -0
  333. chia/_tests/wallet/did_wallet/test_did.py +1481 -0
  334. chia/_tests/wallet/nft_wallet/__init__.py +0 -0
  335. chia/_tests/wallet/nft_wallet/config.py +4 -0
  336. chia/_tests/wallet/nft_wallet/test_nft_1_offers.py +1492 -0
  337. chia/_tests/wallet/nft_wallet/test_nft_bulk_mint.py +1014 -0
  338. chia/_tests/wallet/nft_wallet/test_nft_lifecycle.py +376 -0
  339. chia/_tests/wallet/nft_wallet/test_nft_offers.py +1209 -0
  340. chia/_tests/wallet/nft_wallet/test_nft_puzzles.py +172 -0
  341. chia/_tests/wallet/nft_wallet/test_nft_wallet.py +2558 -0
  342. chia/_tests/wallet/nft_wallet/test_ownership_outer_puzzle.py +70 -0
  343. chia/_tests/wallet/rpc/__init__.py +0 -0
  344. chia/_tests/wallet/rpc/config.py +4 -0
  345. chia/_tests/wallet/rpc/test_dl_wallet_rpc.py +287 -0
  346. chia/_tests/wallet/rpc/test_wallet_rpc.py +3106 -0
  347. chia/_tests/wallet/simple_sync/__init__.py +0 -0
  348. chia/_tests/wallet/simple_sync/config.py +3 -0
  349. chia/_tests/wallet/simple_sync/test_simple_sync_protocol.py +719 -0
  350. chia/_tests/wallet/sync/__init__.py +0 -0
  351. chia/_tests/wallet/sync/config.py +4 -0
  352. chia/_tests/wallet/sync/test_wallet_sync.py +1529 -0
  353. chia/_tests/wallet/test_address_type.py +189 -0
  354. chia/_tests/wallet/test_bech32m.py +45 -0
  355. chia/_tests/wallet/test_clvm_streamable.py +244 -0
  356. chia/_tests/wallet/test_coin_selection.py +589 -0
  357. chia/_tests/wallet/test_conditions.py +388 -0
  358. chia/_tests/wallet/test_debug_spend_bundle.py +76 -0
  359. chia/_tests/wallet/test_new_wallet_protocol.py +1176 -0
  360. chia/_tests/wallet/test_nft_store.py +193 -0
  361. chia/_tests/wallet/test_notifications.py +196 -0
  362. chia/_tests/wallet/test_offer_parsing_performance.py +48 -0
  363. chia/_tests/wallet/test_puzzle_store.py +133 -0
  364. chia/_tests/wallet/test_sign_coin_spends.py +159 -0
  365. chia/_tests/wallet/test_signer_protocol.py +948 -0
  366. chia/_tests/wallet/test_singleton.py +122 -0
  367. chia/_tests/wallet/test_singleton_lifecycle_fast.py +772 -0
  368. chia/_tests/wallet/test_singleton_store.py +152 -0
  369. chia/_tests/wallet/test_taproot.py +19 -0
  370. chia/_tests/wallet/test_transaction_store.py +941 -0
  371. chia/_tests/wallet/test_util.py +181 -0
  372. chia/_tests/wallet/test_wallet.py +2139 -0
  373. chia/_tests/wallet/test_wallet_action_scope.py +85 -0
  374. chia/_tests/wallet/test_wallet_blockchain.py +113 -0
  375. chia/_tests/wallet/test_wallet_coin_store.py +1002 -0
  376. chia/_tests/wallet/test_wallet_interested_store.py +43 -0
  377. chia/_tests/wallet/test_wallet_key_val_store.py +40 -0
  378. chia/_tests/wallet/test_wallet_node.py +783 -0
  379. chia/_tests/wallet/test_wallet_retry.py +95 -0
  380. chia/_tests/wallet/test_wallet_state_manager.py +252 -0
  381. chia/_tests/wallet/test_wallet_test_framework.py +275 -0
  382. chia/_tests/wallet/test_wallet_trade_store.py +218 -0
  383. chia/_tests/wallet/test_wallet_user_store.py +34 -0
  384. chia/_tests/wallet/test_wallet_utils.py +155 -0
  385. chia/_tests/wallet/vc_wallet/__init__.py +0 -0
  386. chia/_tests/wallet/vc_wallet/config.py +3 -0
  387. chia/_tests/wallet/vc_wallet/test_cr_outer_puzzle.py +70 -0
  388. chia/_tests/wallet/vc_wallet/test_vc_lifecycle.py +883 -0
  389. chia/_tests/wallet/vc_wallet/test_vc_wallet.py +801 -0
  390. chia/_tests/wallet/wallet_block_tools.py +327 -0
  391. chia/_tests/weight_proof/__init__.py +0 -0
  392. chia/_tests/weight_proof/config.py +3 -0
  393. chia/_tests/weight_proof/test_weight_proof.py +528 -0
  394. chia/clvm/__init__.py +0 -0
  395. chia/clvm/spend_sim.py +488 -0
  396. chia/cmds/__init__.py +0 -0
  397. chia/cmds/beta.py +183 -0
  398. chia/cmds/beta_funcs.py +133 -0
  399. chia/cmds/check_wallet_db.py +418 -0
  400. chia/cmds/chia.py +143 -0
  401. chia/cmds/cmd_classes.py +315 -0
  402. chia/cmds/cmds_util.py +498 -0
  403. chia/cmds/coin_funcs.py +260 -0
  404. chia/cmds/coins.py +220 -0
  405. chia/cmds/completion.py +49 -0
  406. chia/cmds/configure.py +331 -0
  407. chia/cmds/dao.py +1008 -0
  408. chia/cmds/dao_funcs.py +576 -0
  409. chia/cmds/data.py +707 -0
  410. chia/cmds/data_funcs.py +380 -0
  411. chia/cmds/db.py +86 -0
  412. chia/cmds/db_backup_func.py +77 -0
  413. chia/cmds/db_upgrade_func.py +452 -0
  414. chia/cmds/db_validate_func.py +184 -0
  415. chia/cmds/dev.py +16 -0
  416. chia/cmds/farm.py +87 -0
  417. chia/cmds/farm_funcs.py +207 -0
  418. chia/cmds/init.py +70 -0
  419. chia/cmds/init_funcs.py +367 -0
  420. chia/cmds/installers.py +129 -0
  421. chia/cmds/keys.py +510 -0
  422. chia/cmds/keys_funcs.py +864 -0
  423. chia/cmds/netspace.py +47 -0
  424. chia/cmds/netspace_funcs.py +53 -0
  425. chia/cmds/options.py +32 -0
  426. chia/cmds/param_types.py +228 -0
  427. chia/cmds/passphrase.py +130 -0
  428. chia/cmds/passphrase_funcs.py +346 -0
  429. chia/cmds/peer.py +50 -0
  430. chia/cmds/peer_funcs.py +129 -0
  431. chia/cmds/plotnft.py +206 -0
  432. chia/cmds/plotnft_funcs.py +374 -0
  433. chia/cmds/plots.py +222 -0
  434. chia/cmds/plotters.py +17 -0
  435. chia/cmds/rpc.py +188 -0
  436. chia/cmds/show.py +71 -0
  437. chia/cmds/show_funcs.py +214 -0
  438. chia/cmds/signer.py +304 -0
  439. chia/cmds/sim.py +217 -0
  440. chia/cmds/sim_funcs.py +509 -0
  441. chia/cmds/start.py +24 -0
  442. chia/cmds/start_funcs.py +112 -0
  443. chia/cmds/stop.py +61 -0
  444. chia/cmds/units.py +11 -0
  445. chia/cmds/wallet.py +1745 -0
  446. chia/cmds/wallet_funcs.py +1800 -0
  447. chia/consensus/__init__.py +0 -0
  448. chia/consensus/block_body_validation.py +515 -0
  449. chia/consensus/block_creation.py +525 -0
  450. chia/consensus/block_header_validation.py +1064 -0
  451. chia/consensus/block_record.py +32 -0
  452. chia/consensus/block_rewards.py +53 -0
  453. chia/consensus/block_root_validation.py +46 -0
  454. chia/consensus/blockchain.py +1100 -0
  455. chia/consensus/blockchain_interface.py +56 -0
  456. chia/consensus/coinbase.py +30 -0
  457. chia/consensus/condition_costs.py +9 -0
  458. chia/consensus/constants.py +49 -0
  459. chia/consensus/cost_calculator.py +15 -0
  460. chia/consensus/default_constants.py +90 -0
  461. chia/consensus/deficit.py +55 -0
  462. chia/consensus/difficulty_adjustment.py +412 -0
  463. chia/consensus/find_fork_point.py +111 -0
  464. chia/consensus/full_block_to_block_record.py +167 -0
  465. chia/consensus/get_block_challenge.py +106 -0
  466. chia/consensus/get_block_generator.py +26 -0
  467. chia/consensus/make_sub_epoch_summary.py +210 -0
  468. chia/consensus/multiprocess_validation.py +365 -0
  469. chia/consensus/pos_quality.py +19 -0
  470. chia/consensus/pot_iterations.py +67 -0
  471. chia/consensus/puzzles/__init__.py +0 -0
  472. chia/consensus/puzzles/chialisp_deserialisation.clsp +69 -0
  473. chia/consensus/puzzles/chialisp_deserialisation.clsp.hex +1 -0
  474. chia/consensus/puzzles/rom_bootstrap_generator.clsp +37 -0
  475. chia/consensus/puzzles/rom_bootstrap_generator.clsp.hex +1 -0
  476. chia/consensus/vdf_info_computation.py +156 -0
  477. chia/daemon/__init__.py +0 -0
  478. chia/daemon/client.py +233 -0
  479. chia/daemon/keychain_proxy.py +501 -0
  480. chia/daemon/keychain_server.py +365 -0
  481. chia/daemon/server.py +1616 -0
  482. chia/daemon/windows_signal.py +56 -0
  483. chia/data_layer/__init__.py +0 -0
  484. chia/data_layer/data_layer.py +1303 -0
  485. chia/data_layer/data_layer_api.py +25 -0
  486. chia/data_layer/data_layer_errors.py +50 -0
  487. chia/data_layer/data_layer_server.py +170 -0
  488. chia/data_layer/data_layer_util.py +985 -0
  489. chia/data_layer/data_layer_wallet.py +1315 -0
  490. chia/data_layer/data_store.py +2267 -0
  491. chia/data_layer/dl_wallet_store.py +407 -0
  492. chia/data_layer/download_data.py +389 -0
  493. chia/data_layer/puzzles/__init__.py +0 -0
  494. chia/data_layer/puzzles/graftroot_dl_offers.clsp +100 -0
  495. chia/data_layer/puzzles/graftroot_dl_offers.clsp.hex +1 -0
  496. chia/data_layer/s3_plugin_config.yml +33 -0
  497. chia/data_layer/s3_plugin_service.py +468 -0
  498. chia/data_layer/util/__init__.py +0 -0
  499. chia/data_layer/util/benchmark.py +108 -0
  500. chia/data_layer/util/plugin.py +41 -0
  501. chia/farmer/__init__.py +0 -0
  502. chia/farmer/farmer.py +920 -0
  503. chia/farmer/farmer_api.py +814 -0
  504. chia/full_node/__init__.py +0 -0
  505. chia/full_node/bitcoin_fee_estimator.py +85 -0
  506. chia/full_node/block_height_map.py +271 -0
  507. chia/full_node/block_store.py +570 -0
  508. chia/full_node/bundle_tools.py +19 -0
  509. chia/full_node/coin_store.py +646 -0
  510. chia/full_node/fee_estimate.py +54 -0
  511. chia/full_node/fee_estimate_store.py +24 -0
  512. chia/full_node/fee_estimation.py +93 -0
  513. chia/full_node/fee_estimator.py +90 -0
  514. chia/full_node/fee_estimator_constants.py +38 -0
  515. chia/full_node/fee_estimator_interface.py +42 -0
  516. chia/full_node/fee_history.py +26 -0
  517. chia/full_node/fee_tracker.py +564 -0
  518. chia/full_node/full_node.py +3052 -0
  519. chia/full_node/full_node_api.py +1974 -0
  520. chia/full_node/full_node_store.py +1033 -0
  521. chia/full_node/hint_management.py +56 -0
  522. chia/full_node/hint_store.py +94 -0
  523. chia/full_node/mempool.py +583 -0
  524. chia/full_node/mempool_check_conditions.py +177 -0
  525. chia/full_node/mempool_manager.py +858 -0
  526. chia/full_node/pending_tx_cache.py +112 -0
  527. chia/full_node/puzzles/__init__.py +0 -0
  528. chia/full_node/puzzles/block_program_zero.clsp +14 -0
  529. chia/full_node/puzzles/block_program_zero.clsp.hex +1 -0
  530. chia/full_node/puzzles/decompress_coin_spend_entry.clsp +5 -0
  531. chia/full_node/puzzles/decompress_coin_spend_entry.clsp.hex +1 -0
  532. chia/full_node/puzzles/decompress_coin_spend_entry_with_prefix.clsp +7 -0
  533. chia/full_node/puzzles/decompress_coin_spend_entry_with_prefix.clsp.hex +1 -0
  534. chia/full_node/puzzles/decompress_puzzle.clsp +6 -0
  535. chia/full_node/puzzles/decompress_puzzle.clsp.hex +1 -0
  536. chia/full_node/signage_point.py +16 -0
  537. chia/full_node/subscriptions.py +248 -0
  538. chia/full_node/sync_store.py +145 -0
  539. chia/full_node/tx_processing_queue.py +78 -0
  540. chia/full_node/weight_proof.py +1719 -0
  541. chia/harvester/__init__.py +0 -0
  542. chia/harvester/harvester.py +271 -0
  543. chia/harvester/harvester_api.py +374 -0
  544. chia/introducer/__init__.py +0 -0
  545. chia/introducer/introducer.py +120 -0
  546. chia/introducer/introducer_api.py +64 -0
  547. chia/legacy/__init__.py +0 -0
  548. chia/legacy/keyring.py +154 -0
  549. chia/plot_sync/__init__.py +0 -0
  550. chia/plot_sync/delta.py +61 -0
  551. chia/plot_sync/exceptions.py +56 -0
  552. chia/plot_sync/receiver.py +385 -0
  553. chia/plot_sync/sender.py +337 -0
  554. chia/plot_sync/util.py +43 -0
  555. chia/plotters/__init__.py +0 -0
  556. chia/plotters/bladebit.py +388 -0
  557. chia/plotters/chiapos.py +63 -0
  558. chia/plotters/madmax.py +224 -0
  559. chia/plotters/plotters.py +577 -0
  560. chia/plotters/plotters_util.py +131 -0
  561. chia/plotting/__init__.py +0 -0
  562. chia/plotting/cache.py +212 -0
  563. chia/plotting/check_plots.py +283 -0
  564. chia/plotting/create_plots.py +278 -0
  565. chia/plotting/manager.py +436 -0
  566. chia/plotting/util.py +324 -0
  567. chia/pools/__init__.py +0 -0
  568. chia/pools/pool_config.py +110 -0
  569. chia/pools/pool_puzzles.py +459 -0
  570. chia/pools/pool_wallet.py +926 -0
  571. chia/pools/pool_wallet_info.py +118 -0
  572. chia/pools/puzzles/__init__.py +0 -0
  573. chia/pools/puzzles/pool_member_innerpuz.clsp +70 -0
  574. chia/pools/puzzles/pool_member_innerpuz.clsp.hex +1 -0
  575. chia/pools/puzzles/pool_waitingroom_innerpuz.clsp +69 -0
  576. chia/pools/puzzles/pool_waitingroom_innerpuz.clsp.hex +1 -0
  577. chia/protocols/__init__.py +0 -0
  578. chia/protocols/farmer_protocol.py +102 -0
  579. chia/protocols/full_node_protocol.py +219 -0
  580. chia/protocols/harvester_protocol.py +216 -0
  581. chia/protocols/introducer_protocol.py +26 -0
  582. chia/protocols/pool_protocol.py +177 -0
  583. chia/protocols/protocol_message_types.py +139 -0
  584. chia/protocols/protocol_state_machine.py +87 -0
  585. chia/protocols/protocol_timing.py +7 -0
  586. chia/protocols/shared_protocol.py +86 -0
  587. chia/protocols/timelord_protocol.py +93 -0
  588. chia/protocols/wallet_protocol.py +401 -0
  589. chia/py.typed +0 -0
  590. chia/rpc/__init__.py +0 -0
  591. chia/rpc/crawler_rpc_api.py +75 -0
  592. chia/rpc/data_layer_rpc_api.py +639 -0
  593. chia/rpc/data_layer_rpc_client.py +188 -0
  594. chia/rpc/data_layer_rpc_util.py +62 -0
  595. chia/rpc/farmer_rpc_api.py +360 -0
  596. chia/rpc/farmer_rpc_client.py +86 -0
  597. chia/rpc/full_node_rpc_api.py +954 -0
  598. chia/rpc/full_node_rpc_client.py +292 -0
  599. chia/rpc/harvester_rpc_api.py +136 -0
  600. chia/rpc/harvester_rpc_client.py +54 -0
  601. chia/rpc/rpc_client.py +144 -0
  602. chia/rpc/rpc_server.py +447 -0
  603. chia/rpc/timelord_rpc_api.py +27 -0
  604. chia/rpc/util.py +293 -0
  605. chia/rpc/wallet_request_types.py +688 -0
  606. chia/rpc/wallet_rpc_api.py +4779 -0
  607. chia/rpc/wallet_rpc_client.py +1844 -0
  608. chia/seeder/__init__.py +0 -0
  609. chia/seeder/crawl_store.py +427 -0
  610. chia/seeder/crawler.py +423 -0
  611. chia/seeder/crawler_api.py +129 -0
  612. chia/seeder/dns_server.py +544 -0
  613. chia/seeder/peer_record.py +146 -0
  614. chia/seeder/start_crawler.py +88 -0
  615. chia/server/__init__.py +0 -0
  616. chia/server/address_manager.py +658 -0
  617. chia/server/address_manager_store.py +237 -0
  618. chia/server/api_protocol.py +11 -0
  619. chia/server/capabilities.py +24 -0
  620. chia/server/chia_policy.py +345 -0
  621. chia/server/introducer_peers.py +76 -0
  622. chia/server/node_discovery.py +718 -0
  623. chia/server/outbound_message.py +33 -0
  624. chia/server/rate_limit_numbers.py +204 -0
  625. chia/server/rate_limits.py +113 -0
  626. chia/server/server.py +720 -0
  627. chia/server/signal_handlers.py +117 -0
  628. chia/server/ssl_context.py +32 -0
  629. chia/server/start_data_layer.py +137 -0
  630. chia/server/start_farmer.py +86 -0
  631. chia/server/start_full_node.py +106 -0
  632. chia/server/start_harvester.py +80 -0
  633. chia/server/start_introducer.py +69 -0
  634. chia/server/start_service.py +328 -0
  635. chia/server/start_timelord.py +82 -0
  636. chia/server/start_wallet.py +109 -0
  637. chia/server/upnp.py +117 -0
  638. chia/server/ws_connection.py +752 -0
  639. chia/simulator/__init__.py +0 -0
  640. chia/simulator/block_tools.py +2053 -0
  641. chia/simulator/full_node_simulator.py +802 -0
  642. chia/simulator/keyring.py +128 -0
  643. chia/simulator/setup_services.py +505 -0
  644. chia/simulator/simulator_constants.py +13 -0
  645. chia/simulator/simulator_full_node_rpc_api.py +101 -0
  646. chia/simulator/simulator_full_node_rpc_client.py +62 -0
  647. chia/simulator/simulator_protocol.py +29 -0
  648. chia/simulator/simulator_test_tools.py +163 -0
  649. chia/simulator/socket.py +27 -0
  650. chia/simulator/ssl_certs.py +114 -0
  651. chia/simulator/ssl_certs_1.py +699 -0
  652. chia/simulator/ssl_certs_10.py +699 -0
  653. chia/simulator/ssl_certs_2.py +699 -0
  654. chia/simulator/ssl_certs_3.py +699 -0
  655. chia/simulator/ssl_certs_4.py +699 -0
  656. chia/simulator/ssl_certs_5.py +699 -0
  657. chia/simulator/ssl_certs_6.py +699 -0
  658. chia/simulator/ssl_certs_7.py +699 -0
  659. chia/simulator/ssl_certs_8.py +699 -0
  660. chia/simulator/ssl_certs_9.py +699 -0
  661. chia/simulator/start_simulator.py +135 -0
  662. chia/simulator/wallet_tools.py +245 -0
  663. chia/ssl/__init__.py +0 -0
  664. chia/ssl/chia_ca.crt +19 -0
  665. chia/ssl/chia_ca.key +28 -0
  666. chia/ssl/create_ssl.py +249 -0
  667. chia/ssl/dst_root_ca.pem +20 -0
  668. chia/timelord/__init__.py +0 -0
  669. chia/timelord/iters_from_block.py +50 -0
  670. chia/timelord/timelord.py +1202 -0
  671. chia/timelord/timelord_api.py +132 -0
  672. chia/timelord/timelord_launcher.py +188 -0
  673. chia/timelord/timelord_state.py +244 -0
  674. chia/timelord/types.py +22 -0
  675. chia/types/__init__.py +0 -0
  676. chia/types/aliases.py +35 -0
  677. chia/types/block_protocol.py +20 -0
  678. chia/types/blockchain_format/__init__.py +0 -0
  679. chia/types/blockchain_format/classgroup.py +5 -0
  680. chia/types/blockchain_format/coin.py +28 -0
  681. chia/types/blockchain_format/foliage.py +8 -0
  682. chia/types/blockchain_format/pool_target.py +5 -0
  683. chia/types/blockchain_format/program.py +270 -0
  684. chia/types/blockchain_format/proof_of_space.py +135 -0
  685. chia/types/blockchain_format/reward_chain_block.py +6 -0
  686. chia/types/blockchain_format/serialized_program.py +5 -0
  687. chia/types/blockchain_format/sized_bytes.py +11 -0
  688. chia/types/blockchain_format/slots.py +9 -0
  689. chia/types/blockchain_format/sub_epoch_summary.py +5 -0
  690. chia/types/blockchain_format/tree_hash.py +72 -0
  691. chia/types/blockchain_format/vdf.py +86 -0
  692. chia/types/clvm_cost.py +13 -0
  693. chia/types/coin_record.py +43 -0
  694. chia/types/coin_spend.py +115 -0
  695. chia/types/condition_opcodes.py +73 -0
  696. chia/types/condition_with_args.py +17 -0
  697. chia/types/eligible_coin_spends.py +364 -0
  698. chia/types/end_of_slot_bundle.py +5 -0
  699. chia/types/fee_rate.py +38 -0
  700. chia/types/full_block.py +5 -0
  701. chia/types/generator_types.py +14 -0
  702. chia/types/header_block.py +5 -0
  703. chia/types/internal_mempool_item.py +19 -0
  704. chia/types/mempool_inclusion_status.py +9 -0
  705. chia/types/mempool_item.py +85 -0
  706. chia/types/mempool_submission_status.py +30 -0
  707. chia/types/mojos.py +7 -0
  708. chia/types/peer_info.py +64 -0
  709. chia/types/signing_mode.py +29 -0
  710. chia/types/spend_bundle.py +31 -0
  711. chia/types/spend_bundle_conditions.py +7 -0
  712. chia/types/transaction_queue_entry.py +55 -0
  713. chia/types/unfinished_block.py +5 -0
  714. chia/types/unfinished_header_block.py +37 -0
  715. chia/types/weight_proof.py +50 -0
  716. chia/util/__init__.py +0 -0
  717. chia/util/action_scope.py +168 -0
  718. chia/util/api_decorators.py +89 -0
  719. chia/util/async_pool.py +224 -0
  720. chia/util/augmented_chain.py +130 -0
  721. chia/util/batches.py +39 -0
  722. chia/util/bech32m.py +123 -0
  723. chia/util/beta_metrics.py +118 -0
  724. chia/util/block_cache.py +56 -0
  725. chia/util/byte_types.py +10 -0
  726. chia/util/check_fork_next_block.py +32 -0
  727. chia/util/chia_logging.py +124 -0
  728. chia/util/chia_version.py +33 -0
  729. chia/util/collection.py +17 -0
  730. chia/util/condition_tools.py +201 -0
  731. chia/util/config.py +366 -0
  732. chia/util/cpu.py +20 -0
  733. chia/util/db_synchronous.py +21 -0
  734. chia/util/db_version.py +30 -0
  735. chia/util/db_wrapper.py +427 -0
  736. chia/util/default_root.py +10 -0
  737. chia/util/dump_keyring.py +93 -0
  738. chia/util/english.txt +2048 -0
  739. chia/util/errors.py +351 -0
  740. chia/util/file_keyring.py +480 -0
  741. chia/util/files.py +95 -0
  742. chia/util/full_block_utils.py +321 -0
  743. chia/util/generator_tools.py +62 -0
  744. chia/util/hash.py +29 -0
  745. chia/util/initial-config.yaml +675 -0
  746. chia/util/inline_executor.py +24 -0
  747. chia/util/ints.py +19 -0
  748. chia/util/json_util.py +41 -0
  749. chia/util/keychain.py +673 -0
  750. chia/util/keyring_wrapper.py +266 -0
  751. chia/util/limited_semaphore.py +39 -0
  752. chia/util/lock.py +47 -0
  753. chia/util/log_exceptions.py +29 -0
  754. chia/util/logging.py +34 -0
  755. chia/util/lru_cache.py +29 -0
  756. chia/util/math.py +20 -0
  757. chia/util/network.py +240 -0
  758. chia/util/paginator.py +46 -0
  759. chia/util/path.py +29 -0
  760. chia/util/permissions.py +19 -0
  761. chia/util/pprint.py +40 -0
  762. chia/util/prev_transaction_block.py +23 -0
  763. chia/util/priority_mutex.py +92 -0
  764. chia/util/profiler.py +194 -0
  765. chia/util/recursive_replace.py +22 -0
  766. chia/util/safe_cancel_task.py +14 -0
  767. chia/util/service_groups.py +47 -0
  768. chia/util/setproctitle.py +20 -0
  769. chia/util/significant_bits.py +30 -0
  770. chia/util/ssl_check.py +213 -0
  771. chia/util/streamable.py +654 -0
  772. chia/util/task_timing.py +378 -0
  773. chia/util/timing.py +64 -0
  774. chia/util/vdf_prover.py +31 -0
  775. chia/util/ws_message.py +66 -0
  776. chia/wallet/__init__.py +0 -0
  777. chia/wallet/cat_wallet/__init__.py +0 -0
  778. chia/wallet/cat_wallet/cat_constants.py +75 -0
  779. chia/wallet/cat_wallet/cat_info.py +47 -0
  780. chia/wallet/cat_wallet/cat_outer_puzzle.py +120 -0
  781. chia/wallet/cat_wallet/cat_utils.py +163 -0
  782. chia/wallet/cat_wallet/cat_wallet.py +869 -0
  783. chia/wallet/cat_wallet/dao_cat_info.py +28 -0
  784. chia/wallet/cat_wallet/dao_cat_wallet.py +669 -0
  785. chia/wallet/cat_wallet/lineage_store.py +74 -0
  786. chia/wallet/cat_wallet/puzzles/__init__.py +0 -0
  787. chia/wallet/cat_wallet/puzzles/cat_truths.clib +31 -0
  788. chia/wallet/cat_wallet/puzzles/cat_v2.clsp +397 -0
  789. chia/wallet/cat_wallet/puzzles/cat_v2.clsp.hex +1 -0
  790. chia/wallet/cat_wallet/puzzles/delegated_tail.clsp +25 -0
  791. chia/wallet/cat_wallet/puzzles/delegated_tail.clsp.hex +1 -0
  792. chia/wallet/cat_wallet/puzzles/everything_with_signature.clsp +15 -0
  793. chia/wallet/cat_wallet/puzzles/everything_with_signature.clsp.hex +1 -0
  794. chia/wallet/cat_wallet/puzzles/genesis_by_coin_id.clsp +26 -0
  795. chia/wallet/cat_wallet/puzzles/genesis_by_coin_id.clsp.hex +1 -0
  796. chia/wallet/cat_wallet/puzzles/genesis_by_coin_id_or_singleton.clsp +42 -0
  797. chia/wallet/cat_wallet/puzzles/genesis_by_coin_id_or_singleton.clsp.hex +1 -0
  798. chia/wallet/cat_wallet/puzzles/genesis_by_puzzle_hash.clsp +24 -0
  799. chia/wallet/cat_wallet/puzzles/genesis_by_puzzle_hash.clsp.hex +1 -0
  800. chia/wallet/coin_selection.py +188 -0
  801. chia/wallet/conditions.py +1326 -0
  802. chia/wallet/dao_wallet/__init__.py +0 -0
  803. chia/wallet/dao_wallet/dao_info.py +61 -0
  804. chia/wallet/dao_wallet/dao_utils.py +810 -0
  805. chia/wallet/dao_wallet/dao_wallet.py +2121 -0
  806. chia/wallet/db_wallet/__init__.py +0 -0
  807. chia/wallet/db_wallet/db_wallet_puzzles.py +107 -0
  808. chia/wallet/derivation_record.py +30 -0
  809. chia/wallet/derive_keys.py +146 -0
  810. chia/wallet/did_wallet/__init__.py +0 -0
  811. chia/wallet/did_wallet/did_info.py +39 -0
  812. chia/wallet/did_wallet/did_wallet.py +1485 -0
  813. chia/wallet/did_wallet/did_wallet_puzzles.py +220 -0
  814. chia/wallet/did_wallet/puzzles/__init__.py +0 -0
  815. chia/wallet/did_wallet/puzzles/did_innerpuz.clsp +135 -0
  816. chia/wallet/did_wallet/puzzles/did_innerpuz.clsp.hex +1 -0
  817. chia/wallet/driver_protocol.py +26 -0
  818. chia/wallet/key_val_store.py +55 -0
  819. chia/wallet/lineage_proof.py +58 -0
  820. chia/wallet/nft_wallet/__init__.py +0 -0
  821. chia/wallet/nft_wallet/metadata_outer_puzzle.py +92 -0
  822. chia/wallet/nft_wallet/nft_info.py +120 -0
  823. chia/wallet/nft_wallet/nft_puzzles.py +305 -0
  824. chia/wallet/nft_wallet/nft_wallet.py +1686 -0
  825. chia/wallet/nft_wallet/ownership_outer_puzzle.py +101 -0
  826. chia/wallet/nft_wallet/puzzles/__init__.py +0 -0
  827. chia/wallet/nft_wallet/puzzles/create_nft_launcher_from_did.clsp +6 -0
  828. chia/wallet/nft_wallet/puzzles/create_nft_launcher_from_did.clsp.hex +1 -0
  829. chia/wallet/nft_wallet/puzzles/nft_intermediate_launcher.clsp +6 -0
  830. chia/wallet/nft_wallet/puzzles/nft_intermediate_launcher.clsp.hex +1 -0
  831. chia/wallet/nft_wallet/puzzles/nft_metadata_updater_default.clsp +30 -0
  832. chia/wallet/nft_wallet/puzzles/nft_metadata_updater_default.clsp.hex +1 -0
  833. chia/wallet/nft_wallet/puzzles/nft_metadata_updater_updateable.clsp +28 -0
  834. chia/wallet/nft_wallet/puzzles/nft_metadata_updater_updateable.clsp.hex +1 -0
  835. chia/wallet/nft_wallet/puzzles/nft_ownership_layer.clsp +100 -0
  836. chia/wallet/nft_wallet/puzzles/nft_ownership_layer.clsp.hex +1 -0
  837. chia/wallet/nft_wallet/puzzles/nft_ownership_transfer_program_one_way_claim_with_royalties.clsp +78 -0
  838. chia/wallet/nft_wallet/puzzles/nft_ownership_transfer_program_one_way_claim_with_royalties.clsp.hex +1 -0
  839. chia/wallet/nft_wallet/puzzles/nft_state_layer.clsp +74 -0
  840. chia/wallet/nft_wallet/puzzles/nft_state_layer.clsp.hex +1 -0
  841. chia/wallet/nft_wallet/singleton_outer_puzzle.py +101 -0
  842. chia/wallet/nft_wallet/transfer_program_puzzle.py +82 -0
  843. chia/wallet/nft_wallet/uncurry_nft.py +217 -0
  844. chia/wallet/notification_manager.py +117 -0
  845. chia/wallet/notification_store.py +178 -0
  846. chia/wallet/outer_puzzles.py +84 -0
  847. chia/wallet/payment.py +34 -0
  848. chia/wallet/puzzle_drivers.py +118 -0
  849. chia/wallet/puzzles/__init__.py +0 -0
  850. chia/wallet/puzzles/augmented_condition.clsp +13 -0
  851. chia/wallet/puzzles/augmented_condition.clsp.hex +1 -0
  852. chia/wallet/puzzles/clawback/__init__.py +0 -0
  853. chia/wallet/puzzles/clawback/drivers.py +188 -0
  854. chia/wallet/puzzles/clawback/metadata.py +38 -0
  855. chia/wallet/puzzles/clawback/puzzle_decorator.py +67 -0
  856. chia/wallet/puzzles/condition_codes.clib +77 -0
  857. chia/wallet/puzzles/curry-and-treehash.clib +102 -0
  858. chia/wallet/puzzles/curry.clib +135 -0
  859. chia/wallet/puzzles/curry_by_index.clib +16 -0
  860. chia/wallet/puzzles/dao_cat_eve.clsp +17 -0
  861. chia/wallet/puzzles/dao_cat_eve.clsp.hex +1 -0
  862. chia/wallet/puzzles/dao_cat_launcher.clsp +36 -0
  863. chia/wallet/puzzles/dao_cat_launcher.clsp.hex +1 -0
  864. chia/wallet/puzzles/dao_finished_state.clsp +35 -0
  865. chia/wallet/puzzles/dao_finished_state.clsp.hex +1 -0
  866. chia/wallet/puzzles/dao_finished_state.clsp.hex.sha256tree +1 -0
  867. chia/wallet/puzzles/dao_lockup.clsp +288 -0
  868. chia/wallet/puzzles/dao_lockup.clsp.hex +1 -0
  869. chia/wallet/puzzles/dao_lockup.clsp.hex.sha256tree +1 -0
  870. chia/wallet/puzzles/dao_proposal.clsp +377 -0
  871. chia/wallet/puzzles/dao_proposal.clsp.hex +1 -0
  872. chia/wallet/puzzles/dao_proposal.clsp.hex.sha256tree +1 -0
  873. chia/wallet/puzzles/dao_proposal_timer.clsp +78 -0
  874. chia/wallet/puzzles/dao_proposal_timer.clsp.hex +1 -0
  875. chia/wallet/puzzles/dao_proposal_timer.clsp.hex.sha256tree +1 -0
  876. chia/wallet/puzzles/dao_proposal_validator.clsp +87 -0
  877. chia/wallet/puzzles/dao_proposal_validator.clsp.hex +1 -0
  878. chia/wallet/puzzles/dao_proposal_validator.clsp.hex.sha256tree +1 -0
  879. chia/wallet/puzzles/dao_spend_p2_singleton_v2.clsp +240 -0
  880. chia/wallet/puzzles/dao_spend_p2_singleton_v2.clsp.hex +1 -0
  881. chia/wallet/puzzles/dao_spend_p2_singleton_v2.clsp.hex.sha256tree +1 -0
  882. chia/wallet/puzzles/dao_treasury.clsp +115 -0
  883. chia/wallet/puzzles/dao_treasury.clsp.hex +1 -0
  884. chia/wallet/puzzles/dao_update_proposal.clsp +44 -0
  885. chia/wallet/puzzles/dao_update_proposal.clsp.hex +1 -0
  886. chia/wallet/puzzles/deployed_puzzle_hashes.json +67 -0
  887. chia/wallet/puzzles/json.clib +25 -0
  888. chia/wallet/puzzles/load_clvm.py +162 -0
  889. chia/wallet/puzzles/merkle_utils.clib +18 -0
  890. chia/wallet/puzzles/notification.clsp +7 -0
  891. chia/wallet/puzzles/notification.clsp.hex +1 -0
  892. chia/wallet/puzzles/p2_1_of_n.clsp +22 -0
  893. chia/wallet/puzzles/p2_1_of_n.clsp.hex +1 -0
  894. chia/wallet/puzzles/p2_conditions.clsp +3 -0
  895. chia/wallet/puzzles/p2_conditions.clsp.hex +1 -0
  896. chia/wallet/puzzles/p2_conditions.py +27 -0
  897. chia/wallet/puzzles/p2_delegated_conditions.clsp +18 -0
  898. chia/wallet/puzzles/p2_delegated_conditions.clsp.hex +1 -0
  899. chia/wallet/puzzles/p2_delegated_conditions.py +22 -0
  900. chia/wallet/puzzles/p2_delegated_puzzle.clsp +19 -0
  901. chia/wallet/puzzles/p2_delegated_puzzle.clsp.hex +1 -0
  902. chia/wallet/puzzles/p2_delegated_puzzle.py +35 -0
  903. chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.clsp +91 -0
  904. chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.clsp.hex +1 -0
  905. chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.py +161 -0
  906. chia/wallet/puzzles/p2_m_of_n_delegate_direct.clsp +108 -0
  907. chia/wallet/puzzles/p2_m_of_n_delegate_direct.clsp.hex +1 -0
  908. chia/wallet/puzzles/p2_m_of_n_delegate_direct.py +22 -0
  909. chia/wallet/puzzles/p2_parent.clsp +19 -0
  910. chia/wallet/puzzles/p2_parent.clsp.hex +1 -0
  911. chia/wallet/puzzles/p2_puzzle_hash.clsp +18 -0
  912. chia/wallet/puzzles/p2_puzzle_hash.clsp.hex +1 -0
  913. chia/wallet/puzzles/p2_puzzle_hash.py +28 -0
  914. chia/wallet/puzzles/p2_singleton.clsp +30 -0
  915. chia/wallet/puzzles/p2_singleton.clsp.hex +1 -0
  916. chia/wallet/puzzles/p2_singleton_aggregator.clsp +81 -0
  917. chia/wallet/puzzles/p2_singleton_aggregator.clsp.hex +1 -0
  918. chia/wallet/puzzles/p2_singleton_or_delayed_puzhash.clsp +50 -0
  919. chia/wallet/puzzles/p2_singleton_or_delayed_puzhash.clsp.hex +1 -0
  920. chia/wallet/puzzles/p2_singleton_via_delegated_puzzle.clsp +47 -0
  921. chia/wallet/puzzles/p2_singleton_via_delegated_puzzle.clsp.hex +1 -0
  922. chia/wallet/puzzles/puzzle_utils.py +34 -0
  923. chia/wallet/puzzles/settlement_payments.clsp +49 -0
  924. chia/wallet/puzzles/settlement_payments.clsp.hex +1 -0
  925. chia/wallet/puzzles/sha256tree.clib +11 -0
  926. chia/wallet/puzzles/singleton_launcher.clsp +16 -0
  927. chia/wallet/puzzles/singleton_launcher.clsp.hex +1 -0
  928. chia/wallet/puzzles/singleton_top_layer.clsp +177 -0
  929. chia/wallet/puzzles/singleton_top_layer.clsp.hex +1 -0
  930. chia/wallet/puzzles/singleton_top_layer.py +295 -0
  931. chia/wallet/puzzles/singleton_top_layer_v1_1.clsp +107 -0
  932. chia/wallet/puzzles/singleton_top_layer_v1_1.clsp.hex +1 -0
  933. chia/wallet/puzzles/singleton_top_layer_v1_1.py +344 -0
  934. chia/wallet/puzzles/singleton_truths.clib +21 -0
  935. chia/wallet/puzzles/tails.py +344 -0
  936. chia/wallet/puzzles/utility_macros.clib +48 -0
  937. chia/wallet/signer_protocol.py +126 -0
  938. chia/wallet/singleton.py +106 -0
  939. chia/wallet/singleton_record.py +30 -0
  940. chia/wallet/trade_manager.py +1088 -0
  941. chia/wallet/trade_record.py +67 -0
  942. chia/wallet/trading/__init__.py +0 -0
  943. chia/wallet/trading/offer.py +703 -0
  944. chia/wallet/trading/trade_status.py +13 -0
  945. chia/wallet/trading/trade_store.py +526 -0
  946. chia/wallet/transaction_record.py +143 -0
  947. chia/wallet/transaction_sorting.py +14 -0
  948. chia/wallet/uncurried_puzzle.py +17 -0
  949. chia/wallet/util/__init__.py +0 -0
  950. chia/wallet/util/address_type.py +55 -0
  951. chia/wallet/util/blind_signer_tl.py +168 -0
  952. chia/wallet/util/clvm_streamable.py +203 -0
  953. chia/wallet/util/compute_hints.py +66 -0
  954. chia/wallet/util/compute_memos.py +45 -0
  955. chia/wallet/util/curry_and_treehash.py +90 -0
  956. chia/wallet/util/debug_spend_bundle.py +234 -0
  957. chia/wallet/util/merkle_tree.py +100 -0
  958. chia/wallet/util/merkle_utils.py +102 -0
  959. chia/wallet/util/new_peak_queue.py +82 -0
  960. chia/wallet/util/notifications.py +12 -0
  961. chia/wallet/util/peer_request_cache.py +174 -0
  962. chia/wallet/util/puzzle_compression.py +96 -0
  963. chia/wallet/util/puzzle_decorator.py +100 -0
  964. chia/wallet/util/puzzle_decorator_type.py +7 -0
  965. chia/wallet/util/query_filter.py +60 -0
  966. chia/wallet/util/transaction_type.py +23 -0
  967. chia/wallet/util/tx_config.py +158 -0
  968. chia/wallet/util/wallet_sync_utils.py +348 -0
  969. chia/wallet/util/wallet_types.py +65 -0
  970. chia/wallet/vc_wallet/__init__.py +0 -0
  971. chia/wallet/vc_wallet/cr_cat_drivers.py +663 -0
  972. chia/wallet/vc_wallet/cr_cat_wallet.py +875 -0
  973. chia/wallet/vc_wallet/cr_outer_puzzle.py +102 -0
  974. chia/wallet/vc_wallet/cr_puzzles/__init__.py +0 -0
  975. chia/wallet/vc_wallet/cr_puzzles/conditions_w_fee_announce.clsp +3 -0
  976. chia/wallet/vc_wallet/cr_puzzles/conditions_w_fee_announce.clsp.hex +1 -0
  977. chia/wallet/vc_wallet/cr_puzzles/credential_restriction.clsp +304 -0
  978. chia/wallet/vc_wallet/cr_puzzles/credential_restriction.clsp.hex +1 -0
  979. chia/wallet/vc_wallet/cr_puzzles/flag_proofs_checker.clsp +45 -0
  980. chia/wallet/vc_wallet/cr_puzzles/flag_proofs_checker.clsp.hex +1 -0
  981. chia/wallet/vc_wallet/vc_drivers.py +838 -0
  982. chia/wallet/vc_wallet/vc_puzzles/__init__.py +0 -0
  983. chia/wallet/vc_wallet/vc_puzzles/covenant_layer.clsp +30 -0
  984. chia/wallet/vc_wallet/vc_puzzles/covenant_layer.clsp.hex +1 -0
  985. chia/wallet/vc_wallet/vc_puzzles/eml_covenant_morpher.clsp +75 -0
  986. chia/wallet/vc_wallet/vc_puzzles/eml_covenant_morpher.clsp.hex +1 -0
  987. chia/wallet/vc_wallet/vc_puzzles/eml_transfer_program_covenant_adapter.clsp +32 -0
  988. chia/wallet/vc_wallet/vc_puzzles/eml_transfer_program_covenant_adapter.clsp.hex +1 -0
  989. chia/wallet/vc_wallet/vc_puzzles/eml_update_metadata_with_DID.clsp +80 -0
  990. chia/wallet/vc_wallet/vc_puzzles/eml_update_metadata_with_DID.clsp.hex +1 -0
  991. chia/wallet/vc_wallet/vc_puzzles/exigent_metadata_layer.clsp +163 -0
  992. chia/wallet/vc_wallet/vc_puzzles/exigent_metadata_layer.clsp.hex +1 -0
  993. chia/wallet/vc_wallet/vc_puzzles/p2_announced_delegated_puzzle.clsp +16 -0
  994. chia/wallet/vc_wallet/vc_puzzles/p2_announced_delegated_puzzle.clsp.hex +1 -0
  995. chia/wallet/vc_wallet/vc_puzzles/standard_vc_backdoor_puzzle.clsp +74 -0
  996. chia/wallet/vc_wallet/vc_puzzles/standard_vc_backdoor_puzzle.clsp.hex +1 -0
  997. chia/wallet/vc_wallet/vc_puzzles/std_parent_morpher.clsp +23 -0
  998. chia/wallet/vc_wallet/vc_puzzles/std_parent_morpher.clsp.hex +1 -0
  999. chia/wallet/vc_wallet/vc_puzzles/viral_backdoor.clsp +64 -0
  1000. chia/wallet/vc_wallet/vc_puzzles/viral_backdoor.clsp.hex +1 -0
  1001. chia/wallet/vc_wallet/vc_store.py +263 -0
  1002. chia/wallet/vc_wallet/vc_wallet.py +638 -0
  1003. chia/wallet/wallet.py +698 -0
  1004. chia/wallet/wallet_action_scope.py +95 -0
  1005. chia/wallet/wallet_blockchain.py +244 -0
  1006. chia/wallet/wallet_coin_record.py +72 -0
  1007. chia/wallet/wallet_coin_store.py +351 -0
  1008. chia/wallet/wallet_info.py +36 -0
  1009. chia/wallet/wallet_interested_store.py +188 -0
  1010. chia/wallet/wallet_nft_store.py +279 -0
  1011. chia/wallet/wallet_node.py +1769 -0
  1012. chia/wallet/wallet_node_api.py +201 -0
  1013. chia/wallet/wallet_pool_store.py +120 -0
  1014. chia/wallet/wallet_protocol.py +90 -0
  1015. chia/wallet/wallet_puzzle_store.py +365 -0
  1016. chia/wallet/wallet_retry_store.py +70 -0
  1017. chia/wallet/wallet_singleton_store.py +258 -0
  1018. chia/wallet/wallet_spend_bundle.py +41 -0
  1019. chia/wallet/wallet_state_manager.py +2820 -0
  1020. chia/wallet/wallet_transaction_store.py +470 -0
  1021. chia/wallet/wallet_user_store.py +110 -0
  1022. chia/wallet/wallet_weight_proof_handler.py +126 -0
  1023. chia_blockchain-2.4.4.dist-info/LICENSE +201 -0
  1024. chia_blockchain-2.4.4.dist-info/METADATA +161 -0
  1025. chia_blockchain-2.4.4.dist-info/RECORD +1028 -0
  1026. chia_blockchain-2.4.4.dist-info/WHEEL +4 -0
  1027. chia_blockchain-2.4.4.dist-info/entry_points.txt +17 -0
  1028. mozilla-ca/cacert.pem +3666 -0
@@ -0,0 +1,699 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Dict, Tuple
4
+
5
+ SSL_TEST_PRIVATE_CA_CRT = b"""-----BEGIN CERTIFICATE-----
6
+ MIIDKTCCAhGgAwIBAgIUD5VUdvJQlRhGJg2WJ+/K8I2sYZcwDQYJKoZIhvcNAQEL
7
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
8
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDMyMzE3MjkyN1oXDTMyMDMy
9
+ MDE3MjkyN1owRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
10
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
11
+ AAOCAQ8AMIIBCgKCAQEA47sS3nsWACyhnX2pvqdSMSfDWyeF1t+kmVvap2hk22yA
12
+ oAM56XCtHifhP8Zu8nI8uumP7Bnh8sW4yqE1Tl/Y5gkYD57r4ZH9o5lj1FvnZnoJ
13
+ lERpCpgeR9Lpw6xqfoPt+9a/KR6mQ93AwqH6tyqSicl+7TTNp8UAdAN/oFnymQ3T
14
+ VcBXV30YgiX3GIYNvcV0f+hglgA3BsprZLJRuaCv9fLT8PlhCqrFyJ67XflT98nE
15
+ 0pyaGIAEcvPCPQstAkcc9nnhmARkoAq7/3dsOWRr31paoWAnrSzXJtb+NWomlNEQ
16
+ ZADbNd68TIV40H6bcN45ff1nOfC78NJkXIjwdnFmuwIDAQABoxMwETAPBgNVHRMB
17
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAnl8bxBpQL41lIPB/o1Fe629IK
18
+ pFpJDjLC8xyUZrcoZigEYZ+O06Kbc8W52n3awRlLgSMjPUjwb3JExhPW1JcL2DAJ
19
+ ARoiu5XDCoTVAADeUAyf60YfARlu9y+hRDUSgYrUknuvJ07fTobJ4JbpMvP/mI9T
20
+ ILNZNJZVcaSD4ectURKYkveGtm5R9F3LIO0gscEFgWkhrPeLjiU6Hm1uuZgjRW8C
21
+ o57vHwW4yfmiWaXb3dwIjh8SBMgv/g9iDZskIkTCfRBEp8jM4ZlCAII0sNejSLkG
22
+ NjUDOtD3AYD46mLU9uOUkv/ecDn13usCaJSnQ7RfO7S/yGZQEcNw+DHHQXbS
23
+ -----END CERTIFICATE-----
24
+ """
25
+
26
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
27
+ MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDjuxLeexYALKGd
28
+ fam+p1IxJ8NbJ4XW36SZW9qnaGTbbICgAznpcK0eJ+E/xm7ycjy66Y/sGeHyxbjK
29
+ oTVOX9jmCRgPnuvhkf2jmWPUW+dmegmURGkKmB5H0unDrGp+g+371r8pHqZD3cDC
30
+ ofq3KpKJyX7tNM2nxQB0A3+gWfKZDdNVwFdXfRiCJfcYhg29xXR/6GCWADcGymtk
31
+ slG5oK/18tPw+WEKqsXInrtd+VP3ycTSnJoYgARy88I9Cy0CRxz2eeGYBGSgCrv/
32
+ d2w5ZGvfWlqhYCetLNcm1v41aiaU0RBkANs13rxMhXjQfptw3jl9/Wc58Lvw0mRc
33
+ iPB2cWa7AgMBAAECggEBANtdA5MNq6alV1SWjKEbGeBBtjujOZg+u5YCVgA2XhjD
34
+ Tq9UDD/iis/miGJfadXe1sMRYtKCKBUsApIlcWy6hPspPWUmp38UmucxRWl00dTz
35
+ rzCEKU7MMzbqYsVa2wZdXSvesysP3Aa5oAmb8B7qQle5oasq1wNJj+Mwz4qNulNU
36
+ nSJZVLbJC05B9+A5zaX1JeLsTDEhxwEatsUf5r4k5khsuw8xfALOjWLQ8x4CQb8W
37
+ d6qQIbsERzZFZ5CXqfOSjEA3J2UsvCcmbMZd35Q8AmjZNNGWRekrTolv/7Cw9KkS
38
+ rdKKb0hBAwenyTG0VKOCvawMbbyDRJF9X8rdExfwDfECgYEA/ypcZfxA2XghsYmX
39
+ vzqWTlwLNWUTOYJKA9wpW/tXqE9aSdFQic6sHhRsjrqEUArdIYmuzr6DKP/UYHiY
40
+ zzxNJ0YlqJ9me3h16QDc1l1luswg2ghxLrgoUakXIWWPzXPHBfIQOK1yHBiuQwRD
41
+ xj7A7bSV6kI+gS4yeFsn6QfbaFMCgYEA5Hm+LK7ubUNT2q/llaEWhLX60NPeDfMe
42
+ wpKusrPmwTTu0/Pm30VDO0p9+Wa/2MK6sOoL4OujTS/5afFRBK4Nhc2T0ldTQvL5
43
+ n9O3tLcARlCRquPJr+OQMQKwRAm64e06j8Itz+t6rg94bcgeqgAjAlHaUuhKYDX9
44
+ sWQGrPC9mvkCgYEAnvlGbefWg2b8Hv9pgqO+x31DInYhnx/Ue0ksn3kdqOgfiYQW
45
+ WHVh+K+i3t3H15KdKOr99SLu1pllOOGJ2vtn2kMy7Ta6g8yOMafu7sNrwRCymwTN
46
+ d10XCaF+nrkG+erbIZIplxZA1M5vq6M5kobAbpinGjdBd/xPR3sLh3z0rq8CgYEA
47
+ pvDFokSXdkKxrKLFsBUqLQIDKD8Gi07PdQBUocKNozKYJ0qZsR4cx9/gODF5kFqI
48
+ quf4kfnbMnURWvW2ayL6QoA5uIGSFuMOvlembWchzj7kkOcr4Vb3brg2LyCk6pu6
49
+ JHyPmNLIqxImvqBwt2quKe3BBr8wSShqHAmoTwkAoZECgYEAtNOneyR48yX/AKl3
50
+ O86o0y8nOgNX3FfW208IoXSk04oyYV1JGJvwk3p2lG5DkK6Atio1CAwTHGCnK124
51
+ ZVGwAun+Eo2jsxgKYtGxEBxIh7pimC+dVjDL65+PtCEbeEI8EwIALZgctMAACTN2
52
+ KiiTKFOa19a1Jkm5mVRiAuwxD2A=
53
+ -----END PRIVATE KEY-----
54
+ """
55
+
56
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
57
+ MIIDLDCCAhSgAwIBAgIUI/qIR41vNfZrImHDASkbd5CdhdkwDQYJKoZIhvcNAQEL
58
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
59
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyN1oYDzIxMDAw
60
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
61
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
62
+ A4IBDwAwggEKAoIBAQClBLYsg7P6WBNexxAiF04sCZN6saN+dI0Q/KAN1Rp2jfTX
63
+ nApvuNImoc2fozCViausJmEWKtx7RHQheDJmx+0LSpQ0fgdJJSNK5UVRme/pgVyE
64
+ /FACdD+fBuiasX1LoaBUqk7mpfeyQpfwKW5D1q3HgDK5ROmiaMe5VnMD0BvW/QYc
65
+ 1T3TDuBLXYZpAg7c+fdqmBKx4wnE1v9PqChdUd2AQF2INdQuz3QOHGAQ+cJsXqvy
66
+ cwep0LvlK9/j9dy08qKFvc40EZwsYqOh0HT6KzUupVh80qhZxOz3QSok6gNhGpnI
67
+ JHOFvJ+i2P48Wb05dCiqBqYkEnNQ252b1l7o+grjAgMBAAGjFzAVMBMGA1UdEQQM
68
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBYYc7lM9pM40R/SUMzhI4C
69
+ D59d0VMwKjTqXRy2ifrcZYVxmc9CAldj+nk04piXC+YxUihsIRSOxppd2I72lbo7
70
+ bCRPxj0rYK/iNBlkzFwvVCQ2e/chcKcFOEcXzEpKGzVpL2GyLv/NpxH87hLLJwSG
71
+ FPGsMm5MznnMDuCX1ALedLFKyvMoy8SSg/+z7TNiblJxEabxgEADpC/pbkLnJvlv
72
+ qQBTPZk9LD02ZXivI624ltlQt92tqIUFZBfQXKe6WDjz2IzeeaYSlhTBKvqzXXXg
73
+ aUXnGR1lA3Q7dBaCPSNkUimOm0qT6t81DLkvoSyQu3P0OvKFCmZNLxDbxEO5LBAK
74
+ -----END CERTIFICATE-----
75
+ """
76
+
77
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
78
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQClBLYsg7P6WBNe
79
+ xxAiF04sCZN6saN+dI0Q/KAN1Rp2jfTXnApvuNImoc2fozCViausJmEWKtx7RHQh
80
+ eDJmx+0LSpQ0fgdJJSNK5UVRme/pgVyE/FACdD+fBuiasX1LoaBUqk7mpfeyQpfw
81
+ KW5D1q3HgDK5ROmiaMe5VnMD0BvW/QYc1T3TDuBLXYZpAg7c+fdqmBKx4wnE1v9P
82
+ qChdUd2AQF2INdQuz3QOHGAQ+cJsXqvycwep0LvlK9/j9dy08qKFvc40EZwsYqOh
83
+ 0HT6KzUupVh80qhZxOz3QSok6gNhGpnIJHOFvJ+i2P48Wb05dCiqBqYkEnNQ252b
84
+ 1l7o+grjAgMBAAECggEAYog5rsLFSIompsT94R1BVBIzuWMwWGWHhckSWLASKRAC
85
+ Tmuh36vf76lVeiia7e9STmxsNCxLkl8BaKq4jZ567+8MJ3vJJefC9wmHJn5gPnE7
86
+ qTxvGcgH5RDe+t9YDTzo2yUGD7qx+ALDbmeOq3sYMLNfljiLuKoP956i9nfg57Ef
87
+ 4np0TSu2U7qFuVueuTyOAklT8Kwr58/JuTJT8OmWzoAwQj+z/qwLsCOJ6rgc3yUm
88
+ mc5LTcsPtejldBHMcMfMp+vIU/rL82DSUacf1YPWRFa29DYkBy31XZVOA1QVx1UY
89
+ gKqfTW6Khv7eMj8vJ9bKUyqGg84m/8ruLcGmaL4UgQKBgQDRYh5YQBES4u+zawUV
90
+ 3GRRt/MmkRWs+JXLntyxzv6r/l1vp8V3idECtyvxWgVBxVsTMwtdwlDNXyVclRpw
91
+ 962PA2H73U1R0zp0VGi0b4Bhz0ZvTB39gyDk8LKrBZB9FcePs4sHaJDuMjahlKL4
92
+ xI0sG41mI+g/kPWpK/ImVjjckwKBgQDJwf/91Y/z+6TLFxm7B/6p6x5ntK0KmtNd
93
+ jX54Sbqi/yiR6C9R89ZdRIWne+7udR/6NBuPcrJ6aRRwObE1c0qxYbLGl1Qb/aSa
94
+ DQyS2TL6d1WFcgon9uSIEV9lqDGcg7kzIFQGgP0qvnl0LDgHAgNChDyHlKMG4pxA
95
+ 17oC3HdacQKBgQCmskcWW2s8bhAH95wE24HCzYB3o+pt2zrm8YMizHlU1R3uVtOP
96
+ Z9lPICWL8O9efZEUp/7Ulm9eEfHc05hJd+ZlhXvs2TNFgbV4B/uUK3E6bZrV4PO/
97
+ cTYvDrIwFi4CZ+SJM5fsPgOkn7V+zqcxBsqd4xGfz9aHRRFPrf0LKHn8oQKBgQCX
98
+ UOitd35/fjwaFTk3DMfyqGQlY1xkl7nucDBqBuHzXWsQAxN6Y2ZijQGwm0KXlUBm
99
+ Zq5E58D0DdtGT/6YF9/tKVjrmJN8ar8IysCjYkLZlqaNbvou/vxnEKB7namXuTMt
100
+ JRHfzt4RMMnmV0Ot/dR0DrlW9iNPBqYp+6GGg9MAAQKBgGnTKFeTMysa2xN+KIpJ
101
+ YAZ7QdJqS/PwfdtAO5CdTDruIQfoVsyFG1k+79BNp8ukAwqu1sMy6Wz7anF/YE3b
102
+ 3idpnIH58jTMCZ59e1OPHbeHEagWeHcURXF4xfw50G+S+T8h9t9rw+oP39tNBNx7
103
+ P5GQKfMA2fTj6H+1QLMkTF+E
104
+ -----END PRIVATE KEY-----
105
+ """
106
+
107
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
108
+ MIIDLDCCAhSgAwIBAgIUBJH2JfwoCndkFqwVE6FeUMjDVx4wDQYJKoZIhvcNAQEL
109
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
110
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
111
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
112
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
113
+ A4IBDwAwggEKAoIBAQClPnyntGjxicj7xn5m1Ujkgid5yz+/d/g6kdRTJt0Faeiz
114
+ oqm+9o0YUsLeKWSjOhjgcKGPh542JPzYqTaV531R8gIYJEDs9hGR3dbjmeu5RzVd
115
+ Ycv3Ru9BInMudjH5GeelUos0nT3OUJlb75QcNB2Q3miP2SfPcHNtGHa72VXCP7mN
116
+ zmiadi6gEJyPz32eBAh64CPoV177/sJqqlrFERmo+LyUgNNiTpFqwbKYIW2dCozG
117
+ 3V/8dz25xQVvOMbVG7GnmRHXr6M6wTOefqsciOiGpPyfsTGfx++W+poGHrT1xqCL
118
+ IQNUVJZ+jip0BkWheR//bwe3RqCR/fCpbsd8CwTFAgMBAAGjFzAVMBMGA1UdEQQM
119
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAP3lZ7n12+Qq96lT5Q28/m
120
+ rldsTbJguDNPxOQYx8rvZO21Bf3YjJZmqAFM0H6wBgQf7d0CBru+3NxlwZs9RiLf
121
+ bpThwzl+oWWVw9dxyYmcBl6RXf9DvisbIxKvQloUWjPAGfRS64qyOqjjFwBc5dlc
122
+ r9AOzgsN1pM7f52o5Ks5frq0vfO20lVbkvFb9TfzcuzRh0xNROlrAVK2q3XEaEab
123
+ nBTNTYt5kq8KYU+s0jstlPFF9gGx+NOXKfZmdKtOfribuPJIQ5ADvxGDaWEmQHhF
124
+ PlgF7Y0kmP/vUknuY8rwMrGi+cncaafO+GIiaBXDGxa92SNWe2J7RtRWDC5NF1en
125
+ -----END CERTIFICATE-----
126
+ """
127
+
128
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
129
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQClPnyntGjxicj7
130
+ xn5m1Ujkgid5yz+/d/g6kdRTJt0Faeizoqm+9o0YUsLeKWSjOhjgcKGPh542JPzY
131
+ qTaV531R8gIYJEDs9hGR3dbjmeu5RzVdYcv3Ru9BInMudjH5GeelUos0nT3OUJlb
132
+ 75QcNB2Q3miP2SfPcHNtGHa72VXCP7mNzmiadi6gEJyPz32eBAh64CPoV177/sJq
133
+ qlrFERmo+LyUgNNiTpFqwbKYIW2dCozG3V/8dz25xQVvOMbVG7GnmRHXr6M6wTOe
134
+ fqsciOiGpPyfsTGfx++W+poGHrT1xqCLIQNUVJZ+jip0BkWheR//bwe3RqCR/fCp
135
+ bsd8CwTFAgMBAAECggEBAISIvcp0tMcl0AHAjplD8Bb3HVpeXl7fhkTTugyHWzaA
136
+ X5fUm3kCnuAnYQx2/rS8YD+DltFb4NVkjTfpYFKTPLyA8pUSXtCv/B+WYkhip+IO
137
+ 7wpa6hEG39bKHr/hJOu6j0TWE7i7dVsI4jgOzChi1GPhPtRBQ+DpPGr/+BtqkZId
138
+ 5/CtnmEf0D9gHTWi5Vp+dLHGHfcmqh0iOp7W4vUsifEX6CGYfyGWJ8/bGYPo7Rj1
139
+ juSr7rvXmAubP5ROga8vCsSImg3kkt9sKciXDnP7UsPOUF9LaOXJlODudRCsm1Oe
140
+ VyDmhB1pozmcOj5HYKX+RTv/ZGKvSwoh58VjfaW+R/ECgYEA2XKNFhMu6+yLnJCj
141
+ 7KsyykOJYesiQlmCXxmnsMBY/PoHCw6osXAS4EET461NiiQsMqymutY8s0pp9cBC
142
+ tF1XdZ9C4S8zlYxQreowZvdRfUvpLuIxre7joM9uT5NiSWMsfzaa9OaDn3mD1TJM
143
+ kgSh19bOQ1PhHr1O2C0dvmTNH5sCgYEAwoqK6CEW+tv12cQ4WcWBZPF8W35JHNmY
144
+ lAOG7nR2+MqZIHW6/Ed+zB1fSwkg1WrKU4HHvhsJBUREY6sTB9ynuWoYcS/Edeyg
145
+ rGjQDali8g/PylK+QwcVTxkyOGm6Rvx5J6pKYY4HgjcW+hfGXpdBUh83MpoK1Yil
146
+ HLJrPf7GIx8CgYBJ0825H/w/V8my95zgXuPYroN3fmjcVB2igkhgB35vLci0ZV67
147
+ F80g3JePJqj77PognmPhbZmgWfSN3qAHMuXd5pvDbs45yTEfSzLx0qiVPO/H3j51
148
+ ynT4hVTzqZumRQi3jGeiHJ21yIENIo3CydXVPXY8f78gO7AIT5EYsoq+XwKBgCfu
149
+ YAy9ngXn2FLWn+ptS934Y1o0VbWCRHs9LhkL9s+iZkPvZm4aDsC+1qyENyUXQmhZ
150
+ nzI6QmO+W3tJxiI6/IJmcJXrBBxgcapx6SKkvhaJgFE7IqqHbaxKs7A4o2+mqwel
151
+ QJc9m/TycdjrwF/yFApTNfVBATBLV/jH9pNHFExpAoGAd/Ar4NIaO2iOvCjXQIph
152
+ D3hkPA+e+K4g9xl81D5f8rFFj7AKXZ+3eIIfbd0501nnY0OVFVdp8IIjsUWHLnT+
153
+ OiMngy6lVfelNDegOIeSKLR4e3g3CADOqbhSbsEC44HbSiAjNB3kejN3Z5BMjQAW
154
+ zhl3fIHFOAbYHoEc9LC/GN0=
155
+ -----END PRIVATE KEY-----
156
+ """
157
+
158
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
159
+ MIIDLDCCAhSgAwIBAgIUT34idpoOlGXOYcUny2DMZVL5T4owDQYJKoZIhvcNAQEL
160
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
161
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
162
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
163
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
164
+ A4IBDwAwggEKAoIBAQDCzGdbpwHSb2Cr1yhXKPZ2aCWtHEksIl7ao2UCDO+ljCb0
165
+ n6PxHAbgVHKJ0vy7mC6Y1VXdstr4FS1Ak22V+4ceo1UW6Tsls4I9RunAjkfAl9J6
166
+ CzKCVr31L6GvWhIjgQBkxswmYK9AFx3WbOQfz7kN46usBX3YgAWiUwBseOS8KBuh
167
+ EWfguDqxL8yyPHf6v5kWy2QyfwUBITuLQE6AanbLrkoT5bRrE+06X7+PeKidHzXx
168
+ b72fSvuJ7ERbNPiHmmVoila6kb3PegcKnKsm7d6Blg9MwCeOcvTXRrXsCFHlJnlZ
169
+ YWczAKAvtd/OJeTEC4de4UTuuyuDm2+00FUjVKITAgMBAAGjFzAVMBMGA1UdEQQM
170
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAgc1DcbsLsxrKHZEoIENxp
171
+ 2pB5LM2Kq284Pll7Ix5x7OH8JRenLLZCGMLK+AeW25UchHZ8iagHYR6tQrc+7CLI
172
+ piE6YKchJu340c3RONXcxDZUKqXBxalUyVcb3z8I/syiqsvDrE94hnGfp4X9Yg/M
173
+ 7EIdv+I4y41qTxMD4HvVTcXVU5gapEC2mpOQ7mfN/rnIU1Gv6kpwG1FrnUyH+aP/
174
+ 2lpVSke8eSY59W4hThqZNf5cSGw/t95CBHigePoTqoD5MfmGhhrwGrjr9JHXVMpX
175
+ IUNgsbuPb6N5J7a63Ilgr+26X2ZC2zco7Ff5zKz1xKPMvLQ4tGBjm4rwQ1r7F4jH
176
+ -----END CERTIFICATE-----
177
+ """
178
+
179
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
180
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDCzGdbpwHSb2Cr
181
+ 1yhXKPZ2aCWtHEksIl7ao2UCDO+ljCb0n6PxHAbgVHKJ0vy7mC6Y1VXdstr4FS1A
182
+ k22V+4ceo1UW6Tsls4I9RunAjkfAl9J6CzKCVr31L6GvWhIjgQBkxswmYK9AFx3W
183
+ bOQfz7kN46usBX3YgAWiUwBseOS8KBuhEWfguDqxL8yyPHf6v5kWy2QyfwUBITuL
184
+ QE6AanbLrkoT5bRrE+06X7+PeKidHzXxb72fSvuJ7ERbNPiHmmVoila6kb3PegcK
185
+ nKsm7d6Blg9MwCeOcvTXRrXsCFHlJnlZYWczAKAvtd/OJeTEC4de4UTuuyuDm2+0
186
+ 0FUjVKITAgMBAAECggEBAKdCezznGVlm6Mqj469zLKxeoHsTXoDWwjtZMNGh6eNr
187
+ g8dni4zrU7wqxm4xC3DIKrpv81p4yCtbg49/BwlQ/6P++oDBoles2pdi3DLJ+DIW
188
+ KlNAag4gDNsKGvpFjG2PxpbBW2lYeyG8t5H1zarC4VJbunvp+zR6OFw4iJSa+UvU
189
+ ZMXx9a9nw+JvFwwQds1pyXHnyulZ0Eo5mkhZdDn3cA4bC59ZfwQkVJ2/7OMmz4kg
190
+ itVU6otQyHDDcH1IpGRi8wYAFNEVjndTpG6LFHmMFEKtJ2i3lLtgiS1n4GjJlgOX
191
+ gs3NwSxa/woOoPflFuNFRcfqk9EPnFpO5xmcoIYIZQECgYEA5TJerspGqSsOVemC
192
+ 9uR8j30RJL2scIFrzxIuMgoh0azMTUAhRXLEeNcf95hZBDW72CGoSBTS7I9wNsbB
193
+ HYOIqdXoz1jVGo7GAxV7tvTZKN4jOqn7rPBl6omxppQ9pFAU4bSApKOnEDcWtBk7
194
+ YdGedQhlPuOZdewJIzFyxia4hWkCgYEA2ZQ6DuZqDmJOCmw/fw768eQKL11c6J/7
195
+ bTEjTha7K3boRqk8Leg1bdPCwOQJNfuWOmjIjTJFBCA1S8+7+2uwFqoOFM5dNoUK
196
+ 8ff4QD1JtcoqgUPteJDaI8nmz/C/1oCy7+nOkTxQjrX1FbHU02n2rM89hFpPlBBZ
197
+ vDS8bgBIEBsCgYAb9dAdLKoAGzONgYYrjmYvrwc3Xzg5JWC8izA9hITpqlXmGqu0
198
+ aDLVtxC8SMabP97hmAGKgZfVqg37cLXAXvp+FY1oNiMRMVewqp9EC4yucqMDlhcQ
199
+ 2ubj/NZCRxVaBTb27ek/rINF9CJ96BIZddQJ3PNU/7kJ7LiUpYSl7bVW+QKBgFCx
200
+ yr6P8jGXf/4Zm4sSETv5KVXbuIOGIgejO8bQY2aBWTArv+f+wSIUcZx8dnYQ8uyC
201
+ xC6pwDMBhwKw7rUWgV5Gf6ZzytpXiXGoV+frUxUa/5ylhsM6Zcz0KqhgT6XMYZDd
202
+ FAGFbxMepOEA7T/jgtsgmV4m6HCvh7hnjqL1c8SVAoGBANkMW7qZKjYx1ikRC5w6
203
+ AkBouvDJQ8IP0lr8Z34x1v7YALWSi+nq/q7GD4I4Z1Bot11TXJZvEHf2UoLjbKLs
204
+ AoNvbiAIFGbKPmWyBqKmeVCQa000rXQxaDZ9/3SoZmkE7q0Tgv8Yw2wRy9DHEUaR
205
+ utOdTTwKn2bPzMmvjuuVGhGK
206
+ -----END PRIVATE KEY-----
207
+ """
208
+
209
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
210
+ MIIDLDCCAhSgAwIBAgIUUFx52dcZRD27Ek1S8a4FJOg5WTwwDQYJKoZIhvcNAQEL
211
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
212
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
213
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
214
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
215
+ A4IBDwAwggEKAoIBAQCvCRPBz1Wjq7GEdOtWDZUp0BTB4pTIuXP2F7bdAwPTJ7Pd
216
+ T6mjIPxM85E5sJL0pHvF49BZSFPm3OcrVv/4CHSZ9OV9aDGeioHZj5DdFZJDFv21
217
+ 0E02uZSDZBJ6b22zbA0dqq/wWm/s6J6dbypcW4895QeH/OqMU//A4dFPeDJzBf0b
218
+ 1BVjt/1QsFoEymb2nPRd0Pi05ROhuEaM4QuNSmncaFucLnDnn2UE3OB/O5K8zfyG
219
+ hsXxJx3RwS+0SLAIbzde9GxQUbU3SS0CFHN9J+UbeOX+fIBOvPrQsWZwRdOveTFS
220
+ tcqiEe0InWYXIIsfBxfdI0JNrsSrKlwMAhITg7yfAgMBAAGjFzAVMBMGA1UdEQQM
221
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAuBrB0tzL1s5Eaxv04bVeY
222
+ s2bktuk6zFw87kN9mJBEAQSkVAzx/5DfL/XT4uFhls3VyLOU2yMu7Vhxm2ZuMVXk
223
+ QdnhZ43T87lBnDBbZHd1NkrCY8UBqePB6cgA4JpmR1R8ypZmT6/V+POjqKGGwxJu
224
+ sxjF0f5VB78yJlPEoAnzYiqZUitZ1Lptq8K4ICORtN2yWG+dsq8Cv/dIvMOvEMpy
225
+ O6ozbk1qY0EaRuZAl7S/xghUq3QQOFZLQIkNGSJ5Q5xN1lqPJiDBinAjSb/r/zYn
226
+ edxjLvMjHDSLEfzyD9g1nmNq9z/8QsiYdc0mVMkkuvhXGDdCMOFmnZ0Zc3nPdvQ7
227
+ -----END CERTIFICATE-----
228
+ """
229
+
230
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
231
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCvCRPBz1Wjq7GE
232
+ dOtWDZUp0BTB4pTIuXP2F7bdAwPTJ7PdT6mjIPxM85E5sJL0pHvF49BZSFPm3Ocr
233
+ Vv/4CHSZ9OV9aDGeioHZj5DdFZJDFv210E02uZSDZBJ6b22zbA0dqq/wWm/s6J6d
234
+ bypcW4895QeH/OqMU//A4dFPeDJzBf0b1BVjt/1QsFoEymb2nPRd0Pi05ROhuEaM
235
+ 4QuNSmncaFucLnDnn2UE3OB/O5K8zfyGhsXxJx3RwS+0SLAIbzde9GxQUbU3SS0C
236
+ FHN9J+UbeOX+fIBOvPrQsWZwRdOveTFStcqiEe0InWYXIIsfBxfdI0JNrsSrKlwM
237
+ AhITg7yfAgMBAAECggEAFZiTHXiNYnJOpr8eQjHO06fex8VDAjkPe6+VWlOC50yg
238
+ vo+TqJLrTjtHEc0ddJ3Ov63KCRoJcBSVWR2U229/o3c50W1Hof4I42T5RK3iq/Bs
239
+ QUCAJl5jWorAVObmrBqKy7xBlPAzmxFgcKBEo7yQQdy+PyMPdVzv00aJYrq7zsEc
240
+ BSnzgYsuDK6O7Vo1pnyfQ0z4/rARbGV24VSX/I2hImRBcCzyiQggDXJHUEagJyDN
241
+ cmcZj5YaCVCmZLFaKBrLuaCDqh0uhYZ/aOF4vsCwHfz1yAabvF/EOP1x+HeVKdkk
242
+ JtIMVwPaeXcOWCS2sOrYmmd0jcgvjqEGniKsmdU9AQKBgQDkRXOeJ6e64Z6AYCh3
243
+ QVpqP1b54SeBmaKQHQlrKREmlH0P02xdfEw/mIwCFtOX8daHUhJcPkzwM4F01gcc
244
+ lLWxvF+VasfFHjIeo9uhnDewVQ4SnrLJnUrl4Z9c8RabizTD2HK0Lligun7wM/zC
245
+ oF0S1gsv8I0pGG6TPBiaRgS2QQKBgQDETCbS795gc5wGedslMNnBBPOPJICXJU9r
246
+ YNouUS099iE/3dTLvg/uGHh7jIAHBXGE7umucRL80UM4xI57aGx3wThqaScjvoLb
247
+ /E1pE/3bB7qNT9GzDYcVu6pqkW8/MClj6uaa0a7+QQbZMoI6q9NRqvZrOZXyO0Vm
248
+ sZq9Hw563wKBgFDxi7DuMNzkujadYlv/UZdRRH8w5rhfCTT/BuL32fwLNVmSR9/S
249
+ fpsidasb+wXrHH45jQcmlFOsf+A1MKpi1RbkTCSIi7QLJAyXX/8rjNe7IVVa7tzt
250
+ KKzhV4g2eSTItPopW2sm8Ah2eSKl3KALC1XtjmP+cZ+76SHOco7p+yvBAoGANx1u
251
+ lTFWTdyIBWV3e3TA3yolvJ4yIL4QE4UpHXIbctdFtKnzUpV14ZMrWP01AUOtAPcX
252
+ 06vZ+fRDnI/Ltai3M9Sjo3UM0UNveJbZoVREpZgA8CZmKZD1yctcaPmWs7YxGOXe
253
+ g7+2E5tscdV1rUWLWtXWxHpxuIad0NyzJsCujx8CgYEAyt4vj4rEjN0gFDfps3vS
254
+ nGpRhESh5P53cBQWF8XJhofRTQ8Vc5/9e06QLuTvkJjCwuJqtid7nfW26joC9jf1
255
+ oN48roPS4cXgGoj89n+uwgo5UCRSFZI0NTZvg2QRlGXV6N3GT8+MZHygf71LVfhj
256
+ X6TMkqmq3+T3pRy3Z5LGJAw=
257
+ -----END PRIVATE KEY-----
258
+ """
259
+
260
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
261
+ MIIDLDCCAhSgAwIBAgIUR15D8Dk0zvppH7mRgS1FK1xRwf8wDQYJKoZIhvcNAQEL
262
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
263
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
264
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
265
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
266
+ A4IBDwAwggEKAoIBAQC+v0wEABCQFqugGlVovy1kKU9YYWmPmK431Z2Gm8CECi6Q
267
+ GujhMJ4WYp9g/NhGcP7U6uQnuI1Ab0paDkPW4mMhqpfrrFE+dy0q+G/vlJZnD32U
268
+ BvAPHHd6z8QBJ3bM9t1mMZMPwi7iCadwQMDHaz+DOLC9EJO1FhsATAw8FLri8lJz
269
+ Acvs7LUwbRqoDn+7gR5lFg+kxSkEr/E0rVQZW27n+5nDE7lwU15O4czbczN+z1jA
270
+ ELSn/wJOFNyVsrDANALQ7ibHafWzk7T5wWDUyMsOSOd+E3uYz+myOJej9XpfwL2q
271
+ ANPkt8sa9XmJwiG2O/O45Lt/6nsjJzQbVuOW6jcHAgMBAAGjFzAVMBMGA1UdEQQM
272
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAqb3wJxEyRg3Z4UFzufrmK
273
+ WeWqEOCndJj5l3ppvf3yVW2VMoiqVssnfhtQ6LXJUZrl2qrkAYE0LFlWLpr9DQPG
274
+ i0Atr3dFH6+6f41pMe4GX2uusR/MdmRoU1mF2TpjxgkS8B5Q2aB23h/q6SR4n4bR
275
+ SWO7i3ARFljj9iAMVTOqrpyWbb+wuGWav709BqAXM7ZUYga6ifKaxL7ahr7K7HTY
276
+ yXbmisTBUY4yT7RYfvau1GyT93fU7K8cdtXBDHUBpVOWUJFQBHPKVKRivO7DkDTR
277
+ sPcphGcNjvGSNqjwGmN4Hzp+WC5/uJahRlhL7Y3+v3pfIeGUnOSatau6UuJpXNl1
278
+ -----END CERTIFICATE-----
279
+ """
280
+
281
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
282
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC+v0wEABCQFqug
283
+ GlVovy1kKU9YYWmPmK431Z2Gm8CECi6QGujhMJ4WYp9g/NhGcP7U6uQnuI1Ab0pa
284
+ DkPW4mMhqpfrrFE+dy0q+G/vlJZnD32UBvAPHHd6z8QBJ3bM9t1mMZMPwi7iCadw
285
+ QMDHaz+DOLC9EJO1FhsATAw8FLri8lJzAcvs7LUwbRqoDn+7gR5lFg+kxSkEr/E0
286
+ rVQZW27n+5nDE7lwU15O4czbczN+z1jAELSn/wJOFNyVsrDANALQ7ibHafWzk7T5
287
+ wWDUyMsOSOd+E3uYz+myOJej9XpfwL2qANPkt8sa9XmJwiG2O/O45Lt/6nsjJzQb
288
+ VuOW6jcHAgMBAAECggEBAIrrY39eVLG78Q7PXvjEk1hpRaJGf8zXE7sSVoGcmZ8Q
289
+ k0zcbFLlR51iAlVukEztKosC71uGa0lMREhGL14mzq/MQIyhmSH3RewPt+Yyvz8b
290
+ 5weR7e/zeYj2G/gDN+CawjAVVteZQu/YvBti7YPPNhhphz6K/ihaixuyRw7SwjFZ
291
+ rHtR98UAzp/DVJhugvi5vFCsJgkoy9II8Tu0O26+d07W2vcQWsCjzgTkq48VFHWd
292
+ xojTsU8LYfu0ryox/w3+Sz0I3EDuOac9LkvJoig23CTiLWsVNXNljiE9APlw39v3
293
+ jtcQyJZJm1woXxb0tra9uNwmTZTp1NBSt7bh6PV3HUECgYEA4qtDyMWMH955Ds6e
294
+ sqzKH4WTnYXSoQ5Z2eH86ZnQFU+u3VHhG1yERtiThDrXgCUcCmJI/9KdDS+0HH8L
295
+ Qh/joBNGaHvqGyap4fR0rYUc2CKHYhixd0xP4CJkPOFOs11KJm7pmJ6B5B41SHHZ
296
+ 1sl8shoRs/SX8D3E+auuPFpkJHECgYEA124Sob9VPHGeos0SwhZ89PhJVNcB84c4
297
+ zLEW8wl7w2up7vIC4h/JvD8k0kcTwnuCu8HRpktjANOjqSZBbty+I0iRxztMkJRz
298
+ MmOqW7RfEQhy7vQn7Vx6XYSSH/aXqrJQbjJZqm629famBZwWLIGEgbRIZ+M+fsjP
299
+ OaT+2HoK7vcCgYBYORi0+E7FyK2NmdYi7SXuhushkIierxtBtrfdpERdRxpkgg3/
300
+ vE6v1HP2L4DZG5iCYibPi4YdL8gGn1webJMIJvhsim5gCvhsPd17/Cdx6F6RS9Mm
301
+ /8jHEBu7pmYfYdwOgXTiNi+QPkG25LlI5DtohsUFKdpJY4FbO/sg+n2nwQKBgQCa
302
+ 78Farx8AT78F23OoP0AzdvZWnCP9H72MCbk1phZq393hyhCkzLPsPYWf7hqZ/vZx
303
+ Tt4XOZTEnXHRT4Az2XKuMZ0WquFQAlQvY1q8habxux/eF583qREgfR4S+ujtjT0n
304
+ Y/L1Dpdroq6Yzj9sVuIT3rNMdDUYPhg7nxziWDPQ1QKBgQDe9VUT0kxWU38pdbSu
305
+ vDlYcJfc+liGzeiG9eKe6vW8dI11iL62EelCjIb+MDa3WNVCWuxt7bjlA1fOiH7a
306
+ Zkq3MS6RjYHuK+izNIXSTk/wIrnZ5+h/pKyd6O3zEx21CVPFwXHYQ6ey8+OfeeYw
307
+ y7J7htSxk+ms+o2sO3OTMlVxxA==
308
+ -----END PRIVATE KEY-----
309
+ """
310
+
311
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
312
+ MIIDLDCCAhSgAwIBAgIUbNfOeBL5Eg+Tt37NytSIPVDVDKowDQYJKoZIhvcNAQEL
313
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
314
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
315
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
316
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
317
+ A4IBDwAwggEKAoIBAQDdwdMrIMRVxTYSO0s1krlXy/sAk/BYSKWEUIe6Htzc2GGn
318
+ gAVNdvOiVsXc+T213Euw7yvBb0pfRUmS5f1O+uWZespgDTsZUy0SJYOuHhGFmI9I
319
+ UelOX6Oy8fRDWVz8lovFKRcr2ytywXTAb1mTGad7VHwPW3DlnE/xeAfmLPjENQxy
320
+ qiUjxqgqK1U+mdhxIxMg5hScsFjWdZDvngKzH0bojgicnKwWAymG7eJDd31TFQ3d
321
+ Cs0SNPzXmNAOKCRkiAMgaln3hG3FXASQbl09JvEdYPpxcJXUePxBIXh6D8KhkAGS
322
+ LoFq4uXSw4cm1fMO/TGHtZgVOFS9+EprA8L2KSjpAgMBAAGjFzAVMBMGA1UdEQQM
323
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQC3ZKaUzSnUlaeNCdUvyRL4
324
+ RYVbzr5RuUPL085/JEtSpXUF7cZPMbpvpw/EWIUp+EPVG8h4/89F4L67MmHwCxgU
325
+ VwL2N87lk0b+TpOkLO93mO8gIGy7jJuIvDGqhWS13ocKI0Mm5Gl7n3zPS7pbqj2Z
326
+ F82nU6532WK16UBiYBYa4k+ZG4puYXpJc33/M8eiUQK5eY3sUL//OTJVz6WO8vCd
327
+ QVUn3+FwKZSJIaMaosKgb1SdHSqeti9RDNdQ44k6bfklZoz/NLOXi3bGUOt7RUp+
328
+ PEWLB7UnsI5qUY8aUU6g7PE3qt96dTy/9c+NTcpEnHj20wykofuPkaZOgDNgx51X
329
+ -----END CERTIFICATE-----
330
+ """
331
+
332
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
333
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDdwdMrIMRVxTYS
334
+ O0s1krlXy/sAk/BYSKWEUIe6Htzc2GGngAVNdvOiVsXc+T213Euw7yvBb0pfRUmS
335
+ 5f1O+uWZespgDTsZUy0SJYOuHhGFmI9IUelOX6Oy8fRDWVz8lovFKRcr2ytywXTA
336
+ b1mTGad7VHwPW3DlnE/xeAfmLPjENQxyqiUjxqgqK1U+mdhxIxMg5hScsFjWdZDv
337
+ ngKzH0bojgicnKwWAymG7eJDd31TFQ3dCs0SNPzXmNAOKCRkiAMgaln3hG3FXASQ
338
+ bl09JvEdYPpxcJXUePxBIXh6D8KhkAGSLoFq4uXSw4cm1fMO/TGHtZgVOFS9+Epr
339
+ A8L2KSjpAgMBAAECggEAUzOe1EamA3xLzkla7Y3QZoWM9mmLOsR+/YbtdcKQoXe6
340
+ JAtfcfIYdSdTc5Y8NhiieY8y/o+P+vDXKvuJr/Fo5c3xUlqEevr/JRjYMCLt9g8I
341
+ a1z4SUSO+dvYBtDnl4mwhVfmbrj7s0GsWWst04hDk31eUrC/Shb8059yb0UeTRbb
342
+ eqwUbr6Ww+ca4IK/MmvPPY7EWwaFEPrp7Qvdm/jEyPEgpXacfIjwJr+taBCdgnjr
343
+ lNYxvPyp8hwfsUorZPv+mhqNo4GqJVDQW9AnFTks+gIN+o3UhDG3fngqE4TLfdry
344
+ 86W3o2Rs37QFR0HozDkk9ODUjoRUwrBkyWuU33zBtQKBgQDu7inz5YzXpWhRabC7
345
+ 7gL8Y3OJB2DuwMUPmwAsBGBoCV7yqX7+lTa/g9uBjQfsBDhh0tCQwb2T8nKK0vW4
346
+ hx230jc0StZqEVmzG7q4xrqWioRFbX/Ullr7IlsNCTSzc/hfEnXpcQH1EdWmMzgr
347
+ 7vQjYePrAFn8oIAE8n36UyQYawKBgQDtmZPY9/tE9llQEPH8FxFe+AVCnRQHNxQJ
348
+ b6AR9ya5dQWx/GkQwvenqORhMbl7GaK7vhUlIx8lBvGCPH/yNXqqMRas4jX042as
349
+ vACfphKLiRNIU7PL+e6ds73TJlLUQ9YdOC3UrAilVXdhDDHy6cCPfD6Kg0pbak10
350
+ qqCu4P2o+wKBgQChGeslrai6mqftBQOKo6BVx0TWpyf/s/DrZcrG4yiR3YesvQaI
351
+ 59ljZqfyAULPK8VMiFXi1Q9bm0UKP9Y41rn+APsCAlfyasJ9lvverPiQmtM28O8Z
352
+ S0wLOw4DiyqCuXZFvG/OuEjmkmDpUG3WiacJ2G5SPQlv4lSPgWXaDIcxAwKBgFsr
353
+ MdLwHGcyy8RwLBoZ092H96S+1x+Jn9ObFGWwWxiQcZYBD2OSHCsmIDO3O7+jb5Dw
354
+ d/afCmVPy724bzPGF4JUganmxuNnmk8veGHJ/JW0DEUVcQkUpt22SWFK9D9kpDTk
355
+ CJnxRQQDzmHbpxLZZLzp5KmLhS2clYntquhPhqWfAoGAZB+QRC+S2FSjXHCRhASB
356
+ snOTlq6dDdpnTjrsv+SQQlnZKScBcotRGKe4SvCGbfCAocwLLenlItTu6/UGKEbq
357
+ c28u6ySsPqYCRQ8EwmZcJfU0QgEvBwwzhgcfsiKlf1ck6MKdq6/0CwKE6TP2mAbj
358
+ /QFprGRD8Kb/Mqb7BRch9TE=
359
+ -----END PRIVATE KEY-----
360
+ """
361
+
362
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
363
+ MIIDLDCCAhSgAwIBAgIUZGh0kY4W3yL0nzJVIYYmCTQM0LwwDQYJKoZIhvcNAQEL
364
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
365
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
366
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
367
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
368
+ A4IBDwAwggEKAoIBAQDVy8kOTXSTWhLK3BILK95b5/tY1dq7ARqrv4tVDWcXuyGV
369
+ vPPNj2BibF3Iv+4Gr/6XeZEWmH2ybbEKrAws9aBIw7ETQhTNjoBlEvkoKvISBkkR
370
+ KaQ3lUQ0Km0BONsdSwxkgcgzn61TeSOlWgpOuW8EOXZNSEUJTxp82GbbdVH1TAXH
371
+ 28oxUvrV/hPltxuQJ+3tcqN78VD2cGPwp4+RNYwklG04Jcj97wjv6v41jVrQ8IR2
372
+ k5GYuI8f9V6y1zw45A4XasZDb1/UmKk5cROSI/nJgOqZLmAhjK6eQMx1XqPYm2B/
373
+ e5J7V2nrOVhsasddwNH8fx+QhBz8cZwd7uK17oWdAgMBAAGjFzAVMBMGA1UdEQQM
374
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCpby2yro0LmC4xuhhuqs8q
375
+ pn4r6E5i5QTDHa5uVZ/GtNgYDP7x5MsSaWcVFHsq5TONiQY8rFg3iTMfoQTqvVqg
376
+ +4Eyopx/b7a8SryImxJXNVCNnY2GZ9DQIojYxDqiqsqDpIlgeR7FRCrjdy0W+5h3
377
+ Icbugg7sDeLYnerD9RAQciuClMC8jgAUc8LWXvI715kxTbrr2//8wu0YpfBLHln7
378
+ zL3zdyKcaAnqvbBx1FHgj4YI6ozfdpqYX88Uj4aeirCzHzT3QQGoAHXoDLFdg2yX
379
+ s44rft3s9/+MKiFdcvaxVkh5UIajc2q2ZZJ/mqdRtW/paO9cv+aNSdgPoRcn9hzb
380
+ -----END CERTIFICATE-----
381
+ """
382
+
383
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
384
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDVy8kOTXSTWhLK
385
+ 3BILK95b5/tY1dq7ARqrv4tVDWcXuyGVvPPNj2BibF3Iv+4Gr/6XeZEWmH2ybbEK
386
+ rAws9aBIw7ETQhTNjoBlEvkoKvISBkkRKaQ3lUQ0Km0BONsdSwxkgcgzn61TeSOl
387
+ WgpOuW8EOXZNSEUJTxp82GbbdVH1TAXH28oxUvrV/hPltxuQJ+3tcqN78VD2cGPw
388
+ p4+RNYwklG04Jcj97wjv6v41jVrQ8IR2k5GYuI8f9V6y1zw45A4XasZDb1/UmKk5
389
+ cROSI/nJgOqZLmAhjK6eQMx1XqPYm2B/e5J7V2nrOVhsasddwNH8fx+QhBz8cZwd
390
+ 7uK17oWdAgMBAAECggEAbOVomi1flHJLoiIn2qLUlpF5l80NpTSxxgtBR+gUu6So
391
+ PaHJuMkvudIijs8byTI5hiP4f77aP1jZ1Wq+pOPTaVyrw/hjqjPMOC9K02fUdtPW
392
+ wbQpHdqcq8l0TiwMh0YjoMnuFEVfvmW0f1N2bpTK9CbkmAaYi15MSozbDysZvMu2
393
+ yDpJqS42jIZIvXvCVzoaZiI7U3fzcplpqpHJ8rPTJANEjMeIa/1tA/ne481m/Rgv
394
+ T4slCDyU0bKrz6CvCyVPz3MzDzWmcJxYSMkGbeD73u3IjPEFbcIGHcoJ8C2CCtg1
395
+ nQEC8L4eHT6YTFBIQk4rleHTqv86dRgtwoolN4rcIQKBgQDtb9pZ85fAvPXyq3gC
396
+ phIFZXz8zMCPZQY+9sdvIz/LkU6kE0dZGB6/CsKAtdYAUtidKtsuz7sJwt2VREaj
397
+ loBPRd/F59rYwpQr0dUEsaPNACEv6DVnspRGJs+DFzF/2sQTRt9Ln0BqYP3LemxG
398
+ brLOp9q1i+8BB4zLxorHfSEYdQKBgQDmgsZ424fFEgIZk1tX/geCPV2f1Jz7bzBV
399
+ TnQqbRpPzatN10fYrvFfcSo3f5tLSel07AHZzjsx5ElbBrT9Agj7kw481xuHPqkf
400
+ LpaE+R9umGMF9RG1OUicnhAFt7ll2bu4ZOzNVJfJDm8DZuGQYeUtHmlN/yFtD9SK
401
+ kCCVFdDTiQKBgBsxnl6DCbRnb/vVK6+R+apoj0Ic6UkDFw4LEZhm/x1/jPQ5yQgp
402
+ PQxAXTqEmPf8hRarG+Nmo1Ng4CQCZ9zAlf1+UTzHa0c8MeA67hzVg58tDqAABm3U
403
+ BCtssoOfGmo8UgyrJ1Pv716/sRGm+dOvRgdpLiFw33TMupF0MdzbNfkpAoGBAJT1
404
+ p6pMO2WnqIG8jwfC2jlYzJrPu45kIPjPlRQhoyI1B2FrIDuveb2ylJR+uu0hW2M6
405
+ bEvDEM/B9YGESQtC+GkSc93vKBPy8zl6UrylfKFsink8EHBrDzhekH4RZxahaMTV
406
+ O43I/7lmwWiSYGt8R6wrfeNwXrpqw2+zicqt6V/5AoGBANEQxpu2Ji8SYmEb6hWe
407
+ pxYKlCdh62CtRh5cqPSw55G8LXldFK3QmHlOPGljc5XfuW9cOL1AKy3ZqRsrFqHM
408
+ /gINfX/9FCxPZ+DMsrnJzrGY+bmF0tvQS1ErdYPL3qqPv7nFY2mpIaiWUsAXFeZ1
409
+ ng06udTeYwfGwsNh7T712IZB
410
+ -----END PRIVATE KEY-----
411
+ """
412
+
413
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
414
+ MIIDLDCCAhSgAwIBAgIUBingUaQUNXQpmRUh3SWSFMUaSqkwDQYJKoZIhvcNAQEL
415
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
416
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
417
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
418
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
419
+ A4IBDwAwggEKAoIBAQDTqgBgTsNxYUYJrT8MLFe8Myww/wTuLUhZWTkCqGzQ7grt
420
+ BPV1d5BTN2gthV1sltE3pjVowQrakbhnYyKQtxkuuaL2j+99cd1ZAC7BopxnDgnw
421
+ wNp7lkwsuV9de5GcykCz5wLzkfj5webvaOWsYptahtFkAv2Q2EgeXp8ZK7xoiW9p
422
+ uTZ/74+7i+FqY4M3DcM7/RATcQTtKW8qvqF3oFUXlFxZb7j0UMjqPGfzjP0ccze2
423
+ zKxes1lgcic8TzCHWztOC4sYpSEfK/djDv2vSVjBBsGOWK+hi8rDCmoOKJonO9Fc
424
+ iw431LSHlvVyhg73Xp3HmBz+92IY1/EtJDrMGooHAgMBAAGjFzAVMBMGA1UdEQQM
425
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCpHVgrVBHGBx+s+CllkVJS
426
+ re1AACf94K1PUrnCe3nSPIjsjlauMO1vJEg39XnOdxz1GIj0ZxPVoanRWjJWRC6E
427
+ TGivunOZzfREEFrMmvxO/azlgLn2VjhPxXxgyvyhjVE1ZUTabuNCMQtvwvon79Ko
428
+ TX0Na8Rkkdx23TPR33YIkQXeGnFHY3Cikc8UiXPus7LMMP89PmVh7ACi4t5v+DRu
429
+ CImEvP+jr18Sjhul9aA+CtL5PFPzn8bWlROCAgGI7GZPMhJvugCusHHWSzG8UblK
430
+ hWV8Aa5CTndzTOya2regyeZyy/ftXEmjqKjKSH5kfL83MI5MWr7AJMJ2oeEoC1W0
431
+ -----END CERTIFICATE-----
432
+ """
433
+
434
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
435
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDTqgBgTsNxYUYJ
436
+ rT8MLFe8Myww/wTuLUhZWTkCqGzQ7grtBPV1d5BTN2gthV1sltE3pjVowQrakbhn
437
+ YyKQtxkuuaL2j+99cd1ZAC7BopxnDgnwwNp7lkwsuV9de5GcykCz5wLzkfj5webv
438
+ aOWsYptahtFkAv2Q2EgeXp8ZK7xoiW9puTZ/74+7i+FqY4M3DcM7/RATcQTtKW8q
439
+ vqF3oFUXlFxZb7j0UMjqPGfzjP0ccze2zKxes1lgcic8TzCHWztOC4sYpSEfK/dj
440
+ Dv2vSVjBBsGOWK+hi8rDCmoOKJonO9Fciw431LSHlvVyhg73Xp3HmBz+92IY1/Et
441
+ JDrMGooHAgMBAAECggEARH0fvgn+Z7OIDB2I5xF6GiWcyQXbvI3eeTrLnbaN71T3
442
+ KBaQrj/P7X1iMkiTIE30yML5STodnvfD6YBEcPsuJNZgitOsNLUhYGkUuAc8AISk
443
+ ZsigaZkKcPZSi1cumMNBCHVZmSLEo1xAs3sHxi3qAvLY0jm9fp7dRyZq6KQkRNaM
444
+ ybYIFrg7mzSwqX9m3MJSvPLiizIN1o7Ckdba89Mc2BNWQROUj1Rl6GoLqJc6w4bN
445
+ lHaWlxj0oahL2tcCdzfW19EJ+iXIe8oeb8hgIQUvMvKkenjyEjmqCKSQGEkUL0ae
446
+ 85Ym2/P1dCWRRqEEgbH7FFK81cdlL85U+oZ1hkmnYQKBgQD4C21Hp1fAKG0Y2MTA
447
+ 4j8XZfdHMEozFLu0tqoQYPVJhMzfL8XPsVhqqITnTnZDkJcmPuO5UHVgx89eGrpp
448
+ 7rAIWqNkL2bNzoOEOz01nxXHiwKwhlAjq44MBH0/gXJdbyYwCKM3yhFBvh2TKT02
449
+ BYn7WUDzdxgBdafqEYMe9PxwfwKBgQDac98eLwA67RoNhasFHKhu21a+/Ly3z4lP
450
+ uq9FzIuBQvTmZuUqS3tDOsm6/la9Fh0yGJAWHd5pdmmYGtvQ7WMB5OXM6WQm0pgm
451
+ WrSXozL2AtUQm4M3ZONmlypJhCzBRBYibH7BzvUxQjTestCexdu5OCnOPFKnadnl
452
+ cNEIweeieQKBgFTPU2YUiaRiLis4ss1gjkHp00q78CLXC/cWHb/L5xJkHciSBQim
453
+ kpylUgvkf/tKDOQ+zI4oPHoC15xNdz+RJQ82Lneq3XOxELa9qogTBNddaGYDBpOr
454
+ rL3fKxPzpq7buiriSSxiItRftK0EhLFb43nVYqfcKJEXMXqO0k5bZZTxAoGBAI97
455
+ DbAAhPEvLC53fhWUdhih3f8Bd15vZKvGXTrGF1bmSH5QVPKLs0E8CqXUSdpV/QUb
456
+ Vv//zEaOrNpnwbsfQClNU5ZcMRjCt4Zxiy4R1fX5dEI9Mlke3bFTVkYFF3Q1KSih
457
+ BDx9l1QsPReMcTPnluK3vdWkj1FAWAq4J8PNwDtZAoGBAJMEPX4KfAUequCni1KP
458
+ P7iSByUjz0d/4rTBLOL2Evkji69olG99VUOY2z54gPQ1tEAuk1z0z4/r4QF1gWxI
459
+ x1w4R5XrvYMUS6R3Lt7aV1uJDbbXJNTeZKxId8E4FHsonpyat5Qb0KP1At2wG4XY
460
+ UQ9+vOk/9hf93vP852ZK1tfz
461
+ -----END PRIVATE KEY-----
462
+ """
463
+
464
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
465
+ MIIDLDCCAhSgAwIBAgIUcWOy/+2e2VlxzEedhpSZS3UdmKUwDQYJKoZIhvcNAQEL
466
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
467
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
468
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
469
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
470
+ A4IBDwAwggEKAoIBAQDHS48UM5B+l3SpuKg1ZncimLWwOSyHyCASgN1dTFhFMW7/
471
+ WN1hGGrB/2lw8CAdEBb1y+i2+PHo/HQq+2tn6GmT3744GnwS3vZOqvhN0LBA4Eg8
472
+ DtE6utFBb4TZKcU2GQqGOHS3BdewXcVdoMfzM4IslqmHaQOXiqVwMrCGjiVKzF2l
473
+ SFzZdIsUBFiwSv02ZvWKhb0IbTsm7YK4NTGYKZxP4fsTHHZeBICjL2GEKlkXx47Z
474
+ JwthnpxB1AgeIdD+6tp8oCGPZxzd4lJxxTV385WH9zFg7jSp6poAOETra8ZnnceT
475
+ YgfHVvY5PEiKB+uZzMiPf9VIoVE3KwhW7JLWktnZAgMBAAGjFzAVMBMGA1UdEQQM
476
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQDGEr3k2P9Z4lOIwghhuVRf
477
+ T0YYzq39Vd/cDpQ/v1Ohs5kMdAEP/sDt5JWamtNLkbUDhbdgrE4Z5uKd2zTmL8Nb
478
+ aiT4vJ8E9hYYEheatE0qNJl0v3qxhz2mDGDfuYxGPPnssuxr/6cGWA2u1FasInYo
479
+ obLx7tBB3HNgKAtqSJZSwAMAhebJataR3REtkmBkn8s9zaTczwGsavH4AFit9ipB
480
+ oXkddyfvr5Ogpo1BEydLIOCv1c94zh9yI4gn9/Gz1uEgQZq6xg+A1VV4p3Oy0LWf
481
+ 4OjEohsV2dX8KMVbVJwht4HiTv58M+iL9kxvcYe2Ao/z6CnvObxiFgD0eVZjNsVq
482
+ -----END CERTIFICATE-----
483
+ """
484
+
485
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
486
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDHS48UM5B+l3Sp
487
+ uKg1ZncimLWwOSyHyCASgN1dTFhFMW7/WN1hGGrB/2lw8CAdEBb1y+i2+PHo/HQq
488
+ +2tn6GmT3744GnwS3vZOqvhN0LBA4Eg8DtE6utFBb4TZKcU2GQqGOHS3BdewXcVd
489
+ oMfzM4IslqmHaQOXiqVwMrCGjiVKzF2lSFzZdIsUBFiwSv02ZvWKhb0IbTsm7YK4
490
+ NTGYKZxP4fsTHHZeBICjL2GEKlkXx47ZJwthnpxB1AgeIdD+6tp8oCGPZxzd4lJx
491
+ xTV385WH9zFg7jSp6poAOETra8ZnnceTYgfHVvY5PEiKB+uZzMiPf9VIoVE3KwhW
492
+ 7JLWktnZAgMBAAECggEAd8lLi2ne3KfuACE0QTyAOPQuqGgFAuvfkx+Pbgd4OsaW
493
+ n7XrAfQqHsaEutQpiS5ljoFsM6X3yQEMVdVeXksMQkxGSfRpRPJseyY6LpNTjPsB
494
+ j8+cJL+rDLiZ0elQVs7AS6JdTLCfTqtd+IOuCtiX0nMQHIqbFRfJjmF5RrbjZUvV
495
+ jFWAqG1TjVxPGjxNppn2aFB2OcxjT2mK4p41vWkrlPOMiX9yL1Ven8la05wRL4QY
496
+ 0uVuhDJ1kAzpFcL38ZApx0Df1uJur+cuDVu7aFrg1A+TFhQjdCXOPPRf64+8ivq9
497
+ Qey/NSjl7oYWFUze2bbqIa2iOiCs/zf9zq6nXZMOAQKBgQD759sbH/mrVCF/ltsR
498
+ nKSx5OZs6T5Cb3r0gRilwNLYQ0ZWe1z/Ol/FvCidkkHeCTU/1hZ84XTBHci54bXc
499
+ PhyJ9FtIJ9byCRP0PN40k7ZBew4Uz3qVvuv6hRchip5yejlPRXRGGziaIiiP4zmj
500
+ AmIlxAcRuiUpuUURagotvsADGQKBgQDKiMxIzWY7xtPxZTgBDeQarQGHLd+lC0Ca
501
+ Sg4paRxixbDM4sxAOX1EzXWveTeFr3bPNCfzPkOr4Iyt47/uTYA76I9BTFtXFJZw
502
+ N94GAXNSBEOuEZ9V8iefUEV7KpO7xpyFlX0VXCD9v6qE1ueg44v2qOzDotjIbrDa
503
+ 4MRvN4kkwQKBgBIRvpDCiWk1vrVlP8+Smem8zp6PWIzxbDNvszHok/c5VClN7gzM
504
+ xiPr7EnpPNpNdMlgdPp+PZ7AoS5cN2xV9DwdEBMr8GoqJolFeHbzBYbK6eaqP1PQ
505
+ fyLYOyGHzPfPNp8uDzocJ8I+owQ3O2IrAJlO52bpIFNO29p07cf8P8+5AoGAczjI
506
+ H1LbKn6+7MIMzmy8rIBoMiNi7F4ubpha3iwyPe8B2k3crV0HazEIFr/7Wk6sZMzj
507
+ PXravNmOrw62jjgBEBQKC7gI7s2DmGvwH7KLjMloR4s2/oo5CGV+YcejLFydh1G4
508
+ S4KSMknsFI6+T8WkRrtrlxD6C20NqDffCParSwECgYByF6OIDs1E2i51bk2PkBnP
509
+ ktqjaZjlUAEhAR7d9tkqY03zCGwO6XRukSIBugtolUKPvUcTAEoQ8ZyqAr14BZEm
510
+ qCaRldCbWdeOYl4Wjg8X3wv3xMGwzsnGcGsgOs2XVykVaiwPtdadpsmdUtndl9Ft
511
+ ccTV6COdOO0n19CGUj0O7w==
512
+ -----END PRIVATE KEY-----
513
+ """
514
+
515
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
516
+ MIIDLDCCAhSgAwIBAgIUDNXuwE8yqviMvf47HApsgcMIG6kwDQYJKoZIhvcNAQEL
517
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
518
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOFoYDzIxMDAw
519
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
520
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
521
+ A4IBDwAwggEKAoIBAQC4r+RhnufHjAar0Rj+PEnVQFi2DtJGOVh4u96xaEbiY2EJ
522
+ 3Z+jZG+pV2ivKfKZJiVCWsMa/XZ9GoDckAM/7/BACMozRYdBXGXJQ8luOaBLh6oy
523
+ w+nCMQ7zs6J3meJKm8AXiEpq6y7AGJ2P0EcG5qY7jiKqkNckFvJayuJ7mt9DGxS8
524
+ OCNu0ja4waEtcVsMerM11zl4hQAxpm/+zRbTeRdHe6jY7Oxg3/V5e7W9kj6klzAt
525
+ LEFq3GNqztXlxEvnNCf2ItJ4RZ6P6dzho7hKQjIICkmzBrApcEZAj2Rhr47q2Prx
526
+ Ztw9E3iBTc3qpRkadbhQAtXUHDxTX/wUUzXgkBfXAgMBAAGjFzAVMBMGA1UdEQQM
527
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQDH2bDcb+NYjee2vV48E2Bc
528
+ 16MvrBDfgQLA9Nv6oczcE2yfD1qOQTnoLs40QtKhDq2PMivTLSS+x6pstg0R63bH
529
+ 7cCbWtGOYRDsjbjqTHwAFczQCgxZA3uKUeTaOv5M1jhQ4oP7Oz/oQv4yH7Fv9T0j
530
+ QOyCHe+CnLDP5VY0+3UWDSudCDIBWD/BxvsCBva+dstPfz3heIDciGiCRqrSXCh8
531
+ ROiBKUh1TaASOtcIKYIJfrLFs5zpHT0zZSppKQcxPeKimCR5q4ZC+CuPXMJzvzrX
532
+ xPlO7OvgQ6dJE1/nOnXdXvl085ycWrrefNb7IvJ2Oc2/yB0957jbm0+13tuikXgG
533
+ -----END CERTIFICATE-----
534
+ """
535
+
536
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
537
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC4r+RhnufHjAar
538
+ 0Rj+PEnVQFi2DtJGOVh4u96xaEbiY2EJ3Z+jZG+pV2ivKfKZJiVCWsMa/XZ9GoDc
539
+ kAM/7/BACMozRYdBXGXJQ8luOaBLh6oyw+nCMQ7zs6J3meJKm8AXiEpq6y7AGJ2P
540
+ 0EcG5qY7jiKqkNckFvJayuJ7mt9DGxS8OCNu0ja4waEtcVsMerM11zl4hQAxpm/+
541
+ zRbTeRdHe6jY7Oxg3/V5e7W9kj6klzAtLEFq3GNqztXlxEvnNCf2ItJ4RZ6P6dzh
542
+ o7hKQjIICkmzBrApcEZAj2Rhr47q2PrxZtw9E3iBTc3qpRkadbhQAtXUHDxTX/wU
543
+ UzXgkBfXAgMBAAECggEBALUyxURN7qOmK2lpdjcBmYLjZeYBNqb1XmreEAhJAbrd
544
+ u/g8+4IIaVFg0/F/m2hMt6OZfvC9GwJ0/Vbo6HdThoic1x1kquYirC7CFh/R5AYW
545
+ rZKvCmqfTUcmyFDFpvKCSv4Lls+9vJl1zSirNPR9WTz3H+Xuw1XCObeAdKLG+SNR
546
+ AoHEPBUNUts0kt143osiR6nY8mhkKLxHjjXJJHUaQyUmOkIKSu/fn+zIBCl69t0z
547
+ 7vAGe5mSB+fMTsQI0o+9Iy1NyBJ/saz73jfJ0xq757uwv64MwTYQirRy941x4xBo
548
+ efqZivY9VQuwPpKnjZiUlZZkKA7TneM9DF36opEQVkECgYEA8a3QTmc34UKxFeBg
549
+ jd0AP0c6qOnY2NUX6pS2ccjD+tGd+zE+FKB1DGMMysFzRtiTm+Kburcp3lbn0SVI
550
+ sUGN5QhsT7jV2Umi330Pbl4PniKlZmpYnz3jXTL07z8E6WYBqWuVaYVQ++sij9p9
551
+ W3gpt9lKG+0JiRUdTlS7v4sqZiECgYEAw6GIAaXp4/kokEskx7UA023uKZXE4LOw
552
+ QOvI/ZI9STa0GlqnFEKhi0e/Q0U5EpdRJfeDzp4kvYTMUi9Me1riSxaznFvpF1MR
553
+ P4JmVwDYVmKTSRvnRRG3lHbgeHA269I/0RMTfUT2fZX6Bfk61qoclSpGl/YVj1j0
554
+ vIX095tZzvcCgYAeg/bgX3IT1Ert2zX106jbVJAYkeZagpWRfhOHTHVKbztGY1JW
555
+ YmhFFyCfXUvD70a8ESHeso/rzgdZRh7mmsNi3uxmKI1/8SdKlszi/6dzLSa7RsRH
556
+ 3xWdR/jbWJazLbkZ/kaQW0/9bxQfG9RmP0btOtd7rTNeBrd7k4FdTyIcYQKBgA2e
557
+ JuuGcxuNcodo06ybKu2Mz3FRnZzOpUw/nYQZM+7uwea7vLmqUbhyTBwQq4JhyiJM
558
+ cn5lf8U5g0eNR1Om5e24LNSLiVQ4UhELsLgJtQV+YyZJrPWf4BmTlNiNZyVPQ2X4
559
+ X/juXgIr+HWF/dSHjunLQZK+bI3H8XFWGdFKnRvNAoGAc/IKMwRb9/XtAb405O2H
560
+ zu4GfSrFD/c3m7dMryPr3sZjPoatmTwWzFjZ0787kGnzsvGWsOYjXtKluE/g4jBP
561
+ nd5CgwRJrUytS45KXlM1AMt8/9lFLYDkVlFrM9FQ/UWJsW0gX346KX9XqtZT6g6e
562
+ 9JJi34/Q2nL5ZefIN1GL6qY=
563
+ -----END PRIVATE KEY-----
564
+ """
565
+
566
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
567
+ MIIDLDCCAhSgAwIBAgIUaVjP5toSZjz+kCPgpM9eyglT71IwDQYJKoZIhvcNAQEL
568
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
569
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOVoYDzIxMDAw
570
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
571
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
572
+ A4IBDwAwggEKAoIBAQDKT+/vp2gbgVymuRMyDDgpefM0auPvmIFcNGIS7MiCIc+N
573
+ qpYCfjaCdZc5gCo0pgS4Z1rqbl88puYH47Awav+b6YXz5jvU66ZssVlRHXdrnD1r
574
+ kXTdRGQxEMBy/iUfEdQgOgsk779QoEpAWAyxyHp2r3LSdphnRpHua+04cMdpWiRN
575
+ Jv90l/qHL5DEubwd9GIrnOa4BmfCfpyn3waJITN49ngSNumyQiCOoMKIcCRDdt1K
576
+ yxTw00cLLUVhhaaOlMGZ2Xvmlpl1UhIpXS6BPnztV7lbAQzgfAKFL7f+ae3hAsrq
577
+ jTKKU4BpzwNLsggE0/UaPqrvDP22rcQ0GBtYLUTbAgMBAAGjFzAVMBMGA1UdEQQM
578
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQACY+ZfFoP7D93ZJmwjFm36
579
+ AYwDLDCWbrwk1+MuLGVa3ppnbhb1ZnMpG+SUUoGUZ6BB0/Hq/945Y1igMPsElSRX
580
+ qrwq+Rtbr3f3ZqZe/JIVSlpFpPYYdZkXFJYrMkLSGJP8DkJVpmlskbXGqtaqcIQR
581
+ CurKKhkBsYsY3Z/YTEf82EHwXifukX2OlCmNWIEJe87/Dx/01GC9jD6iaHgJA76a
582
+ RIBwzf9YZqpgBEgOoTH5Pvz88tRf63njMdupgJVsxC03AqVBLFacDQ6aRjYgLedS
583
+ 8gJnwq0CY6nfO63UkPH1wHBLd8UFSw75FVIUxyeh9JNjiaPj/vlr7sOVseqTaKZK
584
+ -----END CERTIFICATE-----
585
+ """
586
+
587
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
588
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDKT+/vp2gbgVym
589
+ uRMyDDgpefM0auPvmIFcNGIS7MiCIc+NqpYCfjaCdZc5gCo0pgS4Z1rqbl88puYH
590
+ 47Awav+b6YXz5jvU66ZssVlRHXdrnD1rkXTdRGQxEMBy/iUfEdQgOgsk779QoEpA
591
+ WAyxyHp2r3LSdphnRpHua+04cMdpWiRNJv90l/qHL5DEubwd9GIrnOa4BmfCfpyn
592
+ 3waJITN49ngSNumyQiCOoMKIcCRDdt1KyxTw00cLLUVhhaaOlMGZ2Xvmlpl1UhIp
593
+ XS6BPnztV7lbAQzgfAKFL7f+ae3hAsrqjTKKU4BpzwNLsggE0/UaPqrvDP22rcQ0
594
+ GBtYLUTbAgMBAAECggEAFYHP+QMr7xied97e6oggBFDBiQX/+z2UKvAqqOZhHmxn
595
+ uyCyV8uBEfdcPzGfyv8HK29ZW+il2TXI6HfNCCinybRWmCoWnDj89TsZSqU+R8NR
596
+ SDkrWkZl/E1SmCbqXVYw3cgt3Rxbkz+nBRYXK2MrmahnJXaUFw6KfvUcP87FdC5/
597
+ TAqnjEqzBqDQPNQAHQBUseZoggx/1KnSFdw2qx0vmGfEdownvyUD1rXh1VDcrHYe
598
+ i+jcQVKGpwQ6pAf8SSqPVA2WK+flOJquSFIUVwjC4mKwWDdEpmJIRMQvcsdiv+3H
599
+ 1DyDjgbOBBveXAHOcb/RaO1q0SpdQ2on+fOzl+nb6QKBgQD/vICRgwrIgRg7pz7f
600
+ U1is42Q4W8PUSRB71uhJv4JRluMY0fDU0MoKFRhNso5JX08tXZJAqCFDgpU35lF5
601
+ V4R90am1rHTe1Z+vPrChEzMtPKj2HGVktTnzGw0G3nx/1eqM+w9TbkVZJjZDkLwA
602
+ TKTA1GIIGCy5bXA6a/7kg/f0jwKBgQDKhVWknx/LfoJf5P6hhbIYxzUHRAIhYE9F
603
+ nAD4Q+AdY0Gs2B3fQl+d0L0EnCrnX14RqpbHfXf+szjcH6ZeCwySd2zMh3Cm36LY
604
+ +iq+/oU7qLAh1CxJ7oWJQhExjHDFxyvMinfQ+tMtOEiXdnaCdoMWHWmPrIofG87+
605
+ 9NQdO2hI9QKBgQC9vi2iSRkKFQZW1EsIxb0oYXqteiB89Ez/pT8p4KafRJVwh+vo
606
+ 6pTNEEO8+jsp40ZKwX9O66/qeAugswlGP5H1DEefnLoFz3gwPRIuIKG68aPnHsB4
607
+ DSJW5n4u14qGCsCBI5GGdG2NrJVcYhmrGzKuQ6YMnWsplTJMlm5DPEsPrwKBgHOk
608
+ xa3WS4KY//ugOKKlRHiPsEEw3YKPi1S1a3xYze4aEpOPaSdmsFDetECgqIMsWvv9
609
+ jFHn3JBtaOeRjx+ecZRla5QzNumjREtgNu6PSicyATmf/ZZOBKTHPCguCOt2+xS2
610
+ cQq9X78vp4wN0khXQi1rqC6pmMmAyKefyEvU84zNAoGBAPkcWAaVvRgSkS71pLZx
611
+ CIEZbmzlbDrhKOmq6Ls9GbwnblXuYYhykCQ3YvEFicJK3m85ynHsyJaqxHnQTFE6
612
+ RL3vfzdUPu1v6BItzc2IYecvZDQDgNds1z1UH16cw8BtJpdDx1KPeX4aQLjnGbmZ
613
+ Fx6ylagPVDw34UcQ2WRdhGPh
614
+ -----END PRIVATE KEY-----
615
+ """
616
+
617
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
618
+ MIIDLDCCAhSgAwIBAgIUOwoUduReWasvp/QDg0CoLyhjMnAwDQYJKoZIhvcNAQEL
619
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
620
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOVoYDzIxMDAw
621
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
622
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
623
+ A4IBDwAwggEKAoIBAQC6ghTGOkfeWwqPLfK1hMgIbY5HaowuUHRXkCyxCF0E994w
624
+ CVGnU+dCSJIy+xAqRDvmiQc4DyG4SSskTSCq1tv2xCDmdCb8BFjFVoKwtTpDjIkF
625
+ mZBRAWJWnuDxE1zUH1kwR9p/d44Ln+SJQV9/tHdLrn1exmAl7TZ3fMHFKyyXsded
626
+ qJ7K/9mlNAHs4Mz2hMZ6h93363bShVRP0clOzdJ0g0/OpXgRkRDSntDwATlBpsYU
627
+ p0mWrpyAdPIvADHBWlFZik2Ts/DLpdzPaHG0jUmQ3OFAOUNWBGvGTbkPeWsv3grk
628
+ 4+m+MYbmoCg30l0ReeWy66J6OdjJMAiKuxoLfuRBAgMBAAGjFzAVMBMGA1UdEQQM
629
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCYEncQIRyINhibeDZaPwhF
630
+ exLV0IfnbLFMpICG36F/sK7b9RFAg1x3SrPk6SXe7odKfmEvjKivptKXnUJ1mojA
631
+ cufGQiMY9k+xiLzL/x9nTKMuT6hcGAwdpSZl9T1xQOalI67PVl9OH02Qdab1h1bR
632
+ Un5OISmD4D0vtFH4CYXjG//r/SpfbC7d5h7v9/h8rRhZPN/uGgezHE1s6IJdeRas
633
+ zRhieSXDW0aW3Y7agkgwdfrPbz4wpEYUpWHDM0dyRMpqww/aXgw32L7Iv2wYJroW
634
+ R8FESaGFlY+7aBORNlOqULtg6SEzCy+Bb2Z90iUA1A8UuuGQpIPvZPKfv68Hr/mI
635
+ -----END CERTIFICATE-----
636
+ """
637
+
638
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
639
+ MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQC6ghTGOkfeWwqP
640
+ LfK1hMgIbY5HaowuUHRXkCyxCF0E994wCVGnU+dCSJIy+xAqRDvmiQc4DyG4SSsk
641
+ TSCq1tv2xCDmdCb8BFjFVoKwtTpDjIkFmZBRAWJWnuDxE1zUH1kwR9p/d44Ln+SJ
642
+ QV9/tHdLrn1exmAl7TZ3fMHFKyyXsdedqJ7K/9mlNAHs4Mz2hMZ6h93363bShVRP
643
+ 0clOzdJ0g0/OpXgRkRDSntDwATlBpsYUp0mWrpyAdPIvADHBWlFZik2Ts/DLpdzP
644
+ aHG0jUmQ3OFAOUNWBGvGTbkPeWsv3grk4+m+MYbmoCg30l0ReeWy66J6OdjJMAiK
645
+ uxoLfuRBAgMBAAECggEBAIdEDqMR48vNhaQANBYYHieWpWkASnjQmwBirTccFLKk
646
+ vn1iVNkhjgjRr07QLZIp+LOjUBwFRXRthJ+IXJfqyo93AVGCjj+bO3Kr4o8ccQxK
647
+ oZnxHOzTLyoZgpT1cQ7bSYkto7ds0xV1On+dbRCmpxq5i22wPE1ldGpGjhZc0LOW
648
+ 5/kcRquDLYDf/jgwZzfi+bC9tRg+T7YOkUuCWxVetHKIHXunBQzDXv+HjS3SxJOy
649
+ bYaW5t8bPPo9ZO0nu2pJcsx4UOffMs53z00YZbKL93rzbHNeYEnUoD6sQoUKgLdL
650
+ 56cgkQx50lTYtD1O3I9XL//yhw+SyKOVxqFGD9sich0CgYEA390f/dtVouDQLSWs
651
+ R0dVrfxCeNsFx7qdSTOM+pMTkfoCVQNF4QyQoFZtZdPTcxiuyhHn5I/pgCbOt0Wd
652
+ VAhWB4Q4K1OfUxM/Q7y+BJpL6SgDUrcTXZUeef8JrYC6qGar0u748yBOWt8eYeW9
653
+ +WMdN4zxcKyTVnVGd8JMHRUA/jsCgYEA1Ugn+/RjouEUCwZIO4zoHGvPrisU5cOn
654
+ AYzIiL0mjF7suGXH3ntKj+8sxvtTImGc39TQWj/E224/pfRi24619b+F8zgXtDgh
655
+ f1FZYR/ejgz14+CbLbbVE0GCGIJbejjT3L0L2r0hzQtaMVxxEli+KK2dTYj69FMy
656
+ /b2ZQaYgU7MCgYEAxW6Yk2OIYDDTiK2sBeUU3HAZE8teiqq7ot6THD7wSJLs0Zsk
657
+ Wvmg57exnde2qdB//vjRwlNlxL71Gs+LlJwRe2mRvCxw3GyiJBRmpVqLTmMaoy2R
658
+ J7ym90MFfv6EIJcEPPDDoHDCigQzIHXlGPffwalNGmkpPFwLvP0f8ZofmRcCgYEA
659
+ vJPyFoo9VpSgPict0smBqS+CD0M0VPsrPOmXnZ9w6Ag+UcRcdlCY2q7k7oLlPK8G
660
+ H7pxBnr/uey/BiMRDYQfSswuyaA9BTHkHEh3OLMO+pZnCzdavY680yvGtZj8/RIl
661
+ 8TSNuLglnMB+3MoZh9lDOYBYZ2fITCMMIOJ1EWCrkJUCgYEAprFJf5oovD6sZLZz
662
+ 6AmPdamYCOLKul39P+tav9VvtY4MgQ1Nk3FxXqqsTH8rcos1Za39FIYXVZzAyiB8
663
+ hB4VIK5hQULU5NoUgjMdcegnmR80O5znx1jkoG8mGW5v2zi0DCWwQUe0eIqg7Cmo
664
+ NCqsxWTlPvhxmdJj/TVownPJrzA=
665
+ -----END PRIVATE KEY-----
666
+ """
667
+
668
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_6: Tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
669
+
670
+ SSL_TEST_NODE_CERTS_AND_KEYS_6: Dict[str, Dict[str, Dict[str, bytes]]] = {
671
+ "full_node": {
672
+ "private": {"crt": SSL_TEST_FULLNODE_PRIVATE_CRT, "key": SSL_TEST_FULLNODE_PRIVATE_KEY},
673
+ "public": {"crt": SSL_TEST_FULLNODE_PUBLIC_CRT, "key": SSL_TEST_FULLNODE_PUBLIC_KEY},
674
+ },
675
+ "wallet": {
676
+ "private": {"crt": SSL_TEST_WALLET_PRIVATE_CRT, "key": SSL_TEST_WALLET_PRIVATE_KEY},
677
+ "public": {"crt": SSL_TEST_WALLET_PUBLIC_CRT, "key": SSL_TEST_WALLET_PUBLIC_KEY},
678
+ },
679
+ "farmer": {
680
+ "private": {"crt": SSL_TEST_FARMER_PRIVATE_CRT, "key": SSL_TEST_FARMER_PRIVATE_KEY},
681
+ "public": {"crt": SSL_TEST_FARMER_PUBLIC_CRT, "key": SSL_TEST_FARMER_PUBLIC_KEY},
682
+ },
683
+ "harvester": {
684
+ "private": {"crt": SSL_TEST_HARVESTER_PRIVATE_CRT, "key": SSL_TEST_HARVESTER_PRIVATE_KEY},
685
+ },
686
+ "timelord": {
687
+ "private": {"crt": SSL_TEST_TIMELORD_PRIVATE_CRT, "key": SSL_TEST_TIMELORD_PRIVATE_KEY},
688
+ "public": {"crt": SSL_TEST_TIMELORD_PUBLIC_CRT, "key": SSL_TEST_TIMELORD_PUBLIC_KEY},
689
+ },
690
+ "crawler": {
691
+ "private": {"crt": SSL_TEST_CRAWLER_PRIVATE_CRT, "key": SSL_TEST_CRAWLER_PRIVATE_KEY},
692
+ },
693
+ "daemon": {
694
+ "private": {"crt": SSL_TEST_DAEMON_PRIVATE_CRT, "key": SSL_TEST_DAEMON_PRIVATE_KEY},
695
+ },
696
+ "introducer": {
697
+ "public": {"crt": SSL_TEST_INTRODUCER_PUBLIC_CRT, "key": SSL_TEST_INTRODUCER_PUBLIC_KEY},
698
+ },
699
+ }