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