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
+ MIIDKTCCAhGgAwIBAgIUZnoqyaLGQMl08azdwpafGGfEGR0wDQYJKoZIhvcNAQEL
7
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
8
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDMyMzE3MjkyMFoXDTMyMDMy
9
+ MDE3MjkyMFowRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
10
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
11
+ AAOCAQ8AMIIBCgKCAQEAmal1SzZpSVae9RShUcN1MjM/B8rJD47K0c49Uxj/YUD7
12
+ oGuSKWpYw/nM7aylODTqfJt660KN+Q5AeiZemKZ+YfbiQJ+1YUZazTcjoqOghXFl
13
+ E70KM6xyOiTr1SBSS1zf161BHPvTmbBQpkqsUStSZISBKaqU4lhJnBsllei8eFFN
14
+ mHEO+bgGQbTnjVWwHS+xgdajMiemK+Cql+pIpaoduTTtNyfwp9m2wF45EUT4DyUu
15
+ cU8En3NOOrarkPPG7x+FEANo0/UrqJwozY91Qsv6EPkhFUbBvF8l/p7uNCK0CIBK
16
+ yTOoPkeHvEeWX+LZlbICpdJQXIdiZJAqIu56yOPqAQIDAQABoxMwETAPBgNVHRMB
17
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBiRATAkJaW55BPdZ6TKMYfSFlJ
18
+ 9lO3K0eS6miuX6HG7OI6DHCBf18fjDLxg7O/HeVxSgI5txB4iEulRBcv35veDti+
19
+ R6PuebE1+g0QTMlw0WXlRMg+6bVaV2XwXoWQhhSnDexdQtcDPKd4xC6VGfK3sPjQ
20
+ ZSriMmrerVhGL9d1pYBtxolDbk9e/AwrnWKLPUDrR8W5DA+yJ/lL+k5pPrACNR82
21
+ cljDU3YA+bE+9LpNtfatPZwceaM7GupXJy9lngwlNAM42XFvWsTjH8Uy7ZJFOi0B
22
+ +3rLUOIXxCdpb88qeUGBN6BAUMhItoflSktN813vgKkiV7I0gNoU3XnUqG7w
23
+ -----END CERTIFICATE-----
24
+ """
25
+
26
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
27
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCZqXVLNmlJVp71
28
+ FKFRw3UyMz8HyskPjsrRzj1TGP9hQPuga5IpaljD+cztrKU4NOp8m3rrQo35DkB6
29
+ Jl6Ypn5h9uJAn7VhRlrNNyOio6CFcWUTvQozrHI6JOvVIFJLXN/XrUEc+9OZsFCm
30
+ SqxRK1JkhIEpqpTiWEmcGyWV6Lx4UU2YcQ75uAZBtOeNVbAdL7GB1qMyJ6Yr4KqX
31
+ 6kilqh25NO03J/Cn2bbAXjkRRPgPJS5xTwSfc046tquQ88bvH4UQA2jT9SuonCjN
32
+ j3VCy/oQ+SEVRsG8XyX+nu40IrQIgErJM6g+R4e8R5Zf4tmVsgKl0lBch2JkkCoi
33
+ 7nrI4+oBAgMBAAECggEAFZu+4tTD+Yw0zkIYbWcPFAAg3PenTojF/LsD5KufPg3l
34
+ VKnL5AcQdH6sUr/0e/L1BpDWuD6juGJIruS2aMEBBMWzC2NqHkPGgRU/7Z8U867+
35
+ h8gNpzaY2ZRXlaD18aMd1zaF8Y14NCSXMstNcByneXsorrNOPIYt08X9gxc3abPN
36
+ Zrln8Prqr3FcAhmdjSCCPjAnag4m9urlV5zX81pdlwpnq5LxrsAn3jXfci2bF4HE
37
+ kBKDL7IXZPVg86rSUrs6lTiqsbrqIcC0H7Mspqjp1eJhkbm64nWPfQaTZX9CRP40
38
+ lIOc1yWIrmmaaNQoesOLyjD2b52XsCNBOWMIHDsAAQKBgQDMfXuYlHb947kwcaHP
39
+ ndAj5H19xvsOINPujcz+uPxUr6yTmjmGpCcP7lHLL0fdRVN5fAMhrIzbdykSYkUI
40
+ FnhxGfP5PXVlno/1Ewht8/E7qigsVyIfIeMwa84Z0fXgyP1qwFrylK2GU80X3MdD
41
+ Y66hLhUFyU+uaJAUZF9AFyr8UQKBgQDAXlNG/vPR220syjaNpMKuiiuoPwUCkaor
42
+ +EaiXQ8XqjMNcmoLvsIF+hx+jEr1UCDtWf0hHBZAWIgZ0ek+6g3RufhTvlfjdxR7
43
+ t6h2lyTzxLL4oPC6tZU9DqW07+ENy/FGoCysB8ICob+VHHsbHTwWa2KbcqlHKJXT
44
+ K8ZMfhSWsQKBgQCqCi4cUlggBpyXi+XhnnjVX8p6LFvXA7U3SPKNXYV1Zh87HaN4
45
+ MkfJF4MsUcSQWnVvL4/rEHCQjiW5A74jW4wLgGk/d7uHJLLQN2NrCs4trvB47nuR
46
+ J7yjJwHatpyeroMLoaf+z2L7r/N7RDrt7pXnsUoJ5bw8avZj/pK12I4GAQKBgQCg
47
+ 2j6oTudxwxk3Kp8TMYHYkJCQzqFR1JuGyMPHYCkOkLK/u7wQtiFm/gx1hLnpBmeC
48
+ EI0o8mNoyp6DeJKgmPWVOPv8ilzTRu9Jw/iJsTik3QUKAQlKFiwEMgs9kJePAclu
49
+ VOEFuDbyHG4mMPp/YaKs3H5HnUkOx1EAksntjD+LAQKBgQCo2BKFm+NNWwXPWFEp
50
+ M98luElmx6qq437HKkkxnKhgkc0XlSuTlgQHIdADMAhwxjOxK+oZBsMrbZRU/8jd
51
+ qpzP0kB/WyXqmv4oZE94i6ZU4+ywowiE/7GK89zIr1sKOsmKKvH5NKJHLXr3yl2n
52
+ 50PAWFxodEEV/oUmDHAUeAz0bA==
53
+ -----END PRIVATE KEY-----
54
+ """
55
+
56
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
57
+ MIIDLDCCAhSgAwIBAgIUT5GDbvyrLH9Vkb7sFWPi1uFfhnEwDQYJKoZIhvcNAQEL
58
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
59
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMFoYDzIxMDAw
60
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
61
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
62
+ A4IBDwAwggEKAoIBAQC8vFVDrrbPlVphmwXld9chzAuCt6cUwFYBTxaIW01Ex5Ft
63
+ sJvGti6ve5BFx+B+wwA19Y1t6QOOnOn56x0Phm5/NqYidqYCBcrrHK28OH3kBhiO
64
+ NZiJi+tybGhxg2kjZldPBmoVA2r9MU1qA0PrRpozYi1mH8W2f/7yCstAHaYxZcjn
65
+ T70KkjWc7jMpV2g/6wLUaKJEgryQWqMr1Ru6BR2Q7IVIe688ptO53JRutPj/Fh6t
66
+ J9jWyF7b0EwoYc0Un2lRrzYgGQ0gGXGJCax3pWjZAokvVG5PQEPqK9TXqWVj/J+c
67
+ aA9jPEQcfivNW0nU8LmKHZyOaG/q39Y1wd9EhfOtAgMBAAGjFzAVMBMGA1UdEQQM
68
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAvyyCobTP0LbxqcCcNhY+3
69
+ /GPpUfYgjZdRy4uRtSLjcY3v604Azyuv07rMlT8qkvyYTuTzGXqpqVN1XJnllklH
70
+ psdkdA4uhlzx2ewhZw6usGV8QZEcOl6kMUeZK7TDMRkE10EnH2Qzg7R24coy9cEr
71
+ anGHgti6QrTK62aNT7aBGIDmteI3BRXc8Pb3BClDKLPpOC8DwRPD7nmQ/0awF3nN
72
+ B7caCwX4NCUuL1/Kbpz5Nt8wZepCcnXwF8BrSsiBFoUI01tGTm4BQVc1mufCmAlX
73
+ G8mCVW2JuymC6yia/bAUbvFhowbUrX55/z8SVEKQTLRQK2CglORjOTko0UbUcgN+
74
+ -----END CERTIFICATE-----
75
+ """
76
+
77
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
78
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC8vFVDrrbPlVph
79
+ mwXld9chzAuCt6cUwFYBTxaIW01Ex5FtsJvGti6ve5BFx+B+wwA19Y1t6QOOnOn5
80
+ 6x0Phm5/NqYidqYCBcrrHK28OH3kBhiONZiJi+tybGhxg2kjZldPBmoVA2r9MU1q
81
+ A0PrRpozYi1mH8W2f/7yCstAHaYxZcjnT70KkjWc7jMpV2g/6wLUaKJEgryQWqMr
82
+ 1Ru6BR2Q7IVIe688ptO53JRutPj/Fh6tJ9jWyF7b0EwoYc0Un2lRrzYgGQ0gGXGJ
83
+ Cax3pWjZAokvVG5PQEPqK9TXqWVj/J+caA9jPEQcfivNW0nU8LmKHZyOaG/q39Y1
84
+ wd9EhfOtAgMBAAECggEAWcRt/YIk+zi7Qz9bn5fPYAjP1L2LH4iXn4nBWtuqNbOC
85
+ DRz6CppuPBLWPQpjUYdoG0IOoZ85jOQ/ORpFuTOkbKdOf4fVT5L3v7nlPGfWINVx
86
+ ano9cfZ15vd++baaFDdCAZk4bYQxp/mCK5EgBdCP2S6yDye/fx0D4pWVtIolmMpR
87
+ dViuWmLF+nPP1n8K6Gi5G6d0X/I0FVtKfNG/vTLCNUbKR/RgPrLlkNbcFECDuVEn
88
+ 98XVsrcv+xsuPgG6Ayz2CO35wxFy6wl2g/qdaTlnoyjlV1mylvfnURyk2zUBtNvj
89
+ Qxqo1C42D2MiCz2tl3lk4xHRrvtC59IzMwuo0UFCoQKBgQD0CYvX+ChKhxQRRhGK
90
+ KgysySbQ4Dn/HCumnyVw5hRUCEvZUP6UU1pXiG3HJQ64TVzNA9dKZ+KjFCtt8ebS
91
+ 7E8xhQNbKB1z/PI6VFu8yqaCKY0WpEGIaH/zk25gxJ/oA57uL6HCpm79ksOXMDuY
92
+ RAbRyxUuQ+mF7kcQG7R3la7UtQKBgQDF/MzTFd7KhzK4luUs5DFJ+fCicb13wXiE
93
+ Q7jaUIQQOHzNUiTbe8nkTvZg/C6JFTj1muk+gqIz1OPOyadAhFqfLsGY2O26GW8y
94
+ KvAi17Qd6VzSSzginOPKZZKXXaaw4TgmyyXpzLfFxf4T4kTytVyvEO7ZoA6IELV+
95
+ YstAmWE2GQKBgDNta5YIytzh2H3HaVzXfbJP9akhB7fWRPCpKye+pNwMn4ddhTjW
96
+ 0/wMWS4VhiOa0gq2W4FnoSBC2OAjkUQz3oCOCmYEbyiJTrayHl8Lyck2XnA+Dz1i
97
+ 4EwBbspfxV8MnEqPqSQvFMbFTgindnehJlrB1GXak/TQgRNI82AcICrdAoGAVbDV
98
+ weKsW8HqTQRaSnS1dIwt/1D1LTjafXyGLE8+6XpZYdBUzX4lYqBeeJmNVp2N2pdi
99
+ rkCCDabttlmG/yCJzG3DMvFo6uwJOZBmAN6VQYD4QLh3olt/J+GQcd0BwXqo//la
100
+ /ncxbvMDxf1f1CB07fyJND3XLEL3Gq2NxPbdoTkCgYEAntyUO95C6BQL46heCu7R
101
+ 6ZvexdGTyRcOpRONSWyNTWbh/cPxkjHv4TrjFUETFcd10zH1BiInm5WRw0HpTGGm
102
+ mqWwk+grKPx28NNh4L3xmb9MWXQH8/iJjwPfD9EQ39zy3ahg6nLz/SSCnazOWIN5
103
+ APGqKKOj0t5FGbG9NZgAkwg=
104
+ -----END PRIVATE KEY-----
105
+ """
106
+
107
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
108
+ MIIDLDCCAhSgAwIBAgIUBV+nxo/NCVdtZFyXlpmq8HplFQQwDQYJKoZIhvcNAQEL
109
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
110
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMFoYDzIxMDAw
111
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
112
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
113
+ A4IBDwAwggEKAoIBAQDXf+htQ1YfVlp2jqHJ+EUmB6bhxE1tYl5i2VaZVanzjYgA
114
+ 9LDKeRhvUnaOWvLkGQbyzqvnAylXHXSNe9KAZrphoxDP40Ogu4IEGatxkAKafJ0s
115
+ KKAB3QwJlnOm2NJNuH9vOirw66ihkpz6Ydg7hmdWCF7bJgG82qwzQvEtIABUxZeq
116
+ EMJHLuTlVC5fyuIyggzzU1h+ss3bleM6oqT54yxJPoZYmvy067jeLGiyPg95EP+s
117
+ nuxLFhzeW1OZHMGmniDvO0zKGr9chiXKUSgugtT3MHUndociVCmc2OQaqjmWKwGr
118
+ O0mU5+lMgP2SojC7wpItyHSfn62YTLQ5VduDd5+fAgMBAAGjFzAVMBMGA1UdEQQM
119
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBeYWzDc79lXdOi2iopi50n
120
+ Hoc+91TiUr9Ubbd8lHWhidHcRYYWo1vFwM3of3eJ4rhAKPgwx9aclkryUEcZ05U9
121
+ tzs5OrmYsgnzdoX+zJenx/7NwuMO7Oe+XBAd16/4vGgSU9vPge1Ny4zN+zA1vn2V
122
+ zVlSBuGzmJI1ugPOVK9e0XAzJNsG5/pPRB29mbWWrrmFBmHvf33+PJms19aSfKrV
123
+ lJXYQV4Q9/xt5ehTPo20HF2r2CDiEjhV+P9QVRnwymuE/Zap+e1v+N+iWJVUB9hR
124
+ il4RskorFB1oY+FcNvDlsfO2bl29hGX3nNBQ0o8k1fjvuLz55MUNyGTeeqBGKkU2
125
+ -----END CERTIFICATE-----
126
+ """
127
+
128
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
129
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDXf+htQ1YfVlp2
130
+ jqHJ+EUmB6bhxE1tYl5i2VaZVanzjYgA9LDKeRhvUnaOWvLkGQbyzqvnAylXHXSN
131
+ e9KAZrphoxDP40Ogu4IEGatxkAKafJ0sKKAB3QwJlnOm2NJNuH9vOirw66ihkpz6
132
+ Ydg7hmdWCF7bJgG82qwzQvEtIABUxZeqEMJHLuTlVC5fyuIyggzzU1h+ss3bleM6
133
+ oqT54yxJPoZYmvy067jeLGiyPg95EP+snuxLFhzeW1OZHMGmniDvO0zKGr9chiXK
134
+ USgugtT3MHUndociVCmc2OQaqjmWKwGrO0mU5+lMgP2SojC7wpItyHSfn62YTLQ5
135
+ VduDd5+fAgMBAAECggEAOrRYX7NxOZYvjI5sWnWseKCrAGOWaA7dAXaNVbX1Vyid
136
+ /QyrQGzekCzZqQvzkNmUf/5267Z7w4R9pLEvddUGPuTKBqe1W4rY7z8C6iu92dHK
137
+ iyYB+J/70HzQwoncOFnjNSyWWA0KYgFri/WtjwGdEt2y4WYoIQc807YPtyg5jt3I
138
+ hz4wcXbj2crI9gyN97IrIAuoXkRxA8v/YqmVJpHp0mhDIyj9/4i8XevZQJ8sxZak
139
+ rYwO4ulK8AhLL4YXg60vjAFn5HcEbynZ3Da16wUhUt8php+lmJVDPo9rUIhC+nXn
140
+ QQW2KVnBJskHIrmrK5spM5PW7hX4A0XiCKJJ+H0XEQKBgQD+CNiObbyzBM+WH7uz
141
+ gFRJtZkwnkWBiMW4YdpEpBuoPyTJ8QgyJ70+7aI5pLlib7Rn9wjuaqZ6lB1+Qvk1
142
+ +SiwdlUDQpHg/VCGt9yddsiKd9gOU9obgR6zJaQNggkNrBNYMxC8GcaXICLd47ud
143
+ QmhaR7mjMeD1XFFZ7U1YM2oW1wKBgQDZKrzcMrQfXpgzO2ftoohYxL/XsTXUXyFl
144
+ pJaJFdM2B2dNzJ7rhj7AvN9BrD+csXD6tI6oeNxMrffeX3SXSAp+UkF485GERnv/
145
+ mn+jfE4J2xEofyK0f7bVqr8r6nhea+h2BV22dj3dBxGJ3pTt79kNbeh3qmMwuWUk
146
+ 1SQqMm1MeQKBgDenjHo3xH2b8ja7oQ3EcbLsXDFwm12zr02j8oPTSFPl8ZNkgR0r
147
+ 46Qjv8TNN+g+/NFCJ+zD5NE6HfQJjDus6KMwaZObRAZ8uOWq5mSBH5JmiykoacJY
148
+ 2Xb6KiTjdkROjLZoCaSMKRv26GygdfwQDnio+hys0tIudYw0FxvZt8ZlAoGAa5TC
149
+ bosntAqWd3rMZ2qHBQKizuVY91YRI1s/v7VyJmfQgzgE2kRsvepS5yO/d45nm6rq
150
+ qQcGi237Rswe4/qqSB3TlWmEAvUv5FXTOVgRCMzfWSJyPNyv5HVrswO6kXv/csgB
151
+ vqwgxWgFBjmfqaeR7RcvfGiKLs8JDhAQlF7aynECgYEAhYFtUuphLMVnPObGE90a
152
+ Ly00uCPeJ2RUA746+7B/hEuK6Vq0lx5sjkAcC4lljtczMYqytNfRlj+Pm5i49qsD
153
+ LSTPIGleWHgW/GzAUL5HYaIAxdckKpcvY321szR2CiYjG52H/iB+sJSJ3iY0S1gA
154
+ uqiteEzAks8NoZnUpvLK1LA=
155
+ -----END PRIVATE KEY-----
156
+ """
157
+
158
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
159
+ MIIDLDCCAhSgAwIBAgIUXxPjAJgu/kDoq+EOobX/wSYZjW4wDQYJKoZIhvcNAQEL
160
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
161
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMFoYDzIxMDAw
162
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
163
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
164
+ A4IBDwAwggEKAoIBAQCzYrIdaNeAReJVfaMXpHtY1JgjpAAP3XipZfrmRj0SY4pS
165
+ zHfEDSZByX7LLwde8B2ivQHDDmmIgDhL9TZ3pZlYmk2Vq0BQHJMciaI/fzF1+FNQ
166
+ imkccmvsC+LXft3SMG61ldFszMkVWGOLdflBzBudGa7z034czq3/Ucj2mE4jEsPI
167
+ OxnFH06DBadMDtGfaiyFPvEc1Ywr+LdJQ24LVrih1IZ2dmQtS40n2K77UUsvUs3s
168
+ jNx27qISfUI/tspa8DnKujuY/9x9AIzo5ldq8N20Ccns6kXxSewsxX1vH2uNH9RP
169
+ ReReTFsZU3z8xicFx8SBE4VcRXXTTsqm974QMYJlAgMBAAGjFzAVMBMGA1UdEQQM
170
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQA52jQ4+CoZILaTRP3mFYpg
171
+ 1OmD/bwzBsHbDZhB1co6d6lWel07fj3uNekBigyHgnciMGvXm2wSJIxEvsMoXIPh
172
+ yyBjdLb8IwaZRldnLPewUuTuA6WQx6eNwA+qEn6vT9tBVLMO0pRNXy1201c7oeCj
173
+ QCJQzn+tZweNdGuX06xgPX5q196gFS+BZDw/sn3ctQ/xCXC6gno21NRqyM2VdSCM
174
+ UIzCBQLoL9DVvpmC0atV9BO7LTvOYlEuCF58IXpBBi7P+3i1Q2z4SLamsKKcU1Pp
175
+ dJkK0lA+FfIYEGsUV09ddxGXRghU7YV0kU4iPMRs/ckin95kPiUOQx4lLo3N6u8+
176
+ -----END CERTIFICATE-----
177
+ """
178
+
179
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
180
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCzYrIdaNeAReJV
181
+ faMXpHtY1JgjpAAP3XipZfrmRj0SY4pSzHfEDSZByX7LLwde8B2ivQHDDmmIgDhL
182
+ 9TZ3pZlYmk2Vq0BQHJMciaI/fzF1+FNQimkccmvsC+LXft3SMG61ldFszMkVWGOL
183
+ dflBzBudGa7z034czq3/Ucj2mE4jEsPIOxnFH06DBadMDtGfaiyFPvEc1Ywr+LdJ
184
+ Q24LVrih1IZ2dmQtS40n2K77UUsvUs3sjNx27qISfUI/tspa8DnKujuY/9x9AIzo
185
+ 5ldq8N20Ccns6kXxSewsxX1vH2uNH9RPReReTFsZU3z8xicFx8SBE4VcRXXTTsqm
186
+ 974QMYJlAgMBAAECggEAT059DH+DdtRuofkvl45Cch1bPbaNyHXTmKDbcd7vtSeI
187
+ yd5XvLdLiJ46jj22doSVtZL2KnQ+t/hn6zz33aG6z+84CclyX3iimWVH8+aZyVwG
188
+ CX+HxOnZSLxgh4ExNHHxIBqiQgWviN5Q9CEuF6bTNntaW7XO9ZFyX4Sa4lqngN1W
189
+ 7eOlt11xwnTSd+7D4YODKeFsmNEGatL7Z/5rj2p8fYdKjEMQd4Am4tqnhvuy+/Ia
190
+ XUbrzloMaDH+aqwfE8leJq8VhBpVjUwFSKo0zHw1Rm3EVqFkiyPhJy7M7HqZWEO5
191
+ 0yWq18FnRzhp7Q4iZapYNHLHqQk4D77lE0TSAvG66QKBgQDmqiCEvRksmTxQjIEj
192
+ X9cQIrUM/Rxs5VM9I65gG7726vfoGFL1c8ZS3gzdgBgtxx+9X3CqiVnPfzXWRPUT
193
+ S+pYc2DJnsjZVY/rytbX6T4Xu9mV3ROFeuZPxBsfwgUaMbA8Qn8ETY5inqvrABoB
194
+ DYuvyvTxvRd6Bktthf56hf1z0wKBgQDHFrHQbq6rLrvP9vn86s/pLf9dIgYRjAKs
195
+ CoeKQMFfbZB5Oinkx53N/cwUebFLtU5hnRdO6jmiJ5ITkMdjwiHoMnWFz7wvI/Zp
196
+ V3XjgDR/lIhAUnF8jEwkKnbD/2sqDJiXBGxGqx0nvlreMGmjs2HBtCGvj7Ep3FNR
197
+ YEo0FG2l5wKBgQDa0jIfOrUTFhud3mzz/gusBwDy3XuF4tfgfGUET84NuEKOL+Uj
198
+ bT2Lh5N03fwSEYEOyee8IKjOq8OLDcfhEneyiWIcY0Huy7jI25iNI3wAT/jOrvfB
199
+ /SFYMpX4vrrQaqrhv8N3dYvKCvTU7ze8H/mQP123pscKv8X2lNMhsNMMeQKBgQCp
200
+ tcTaAp/OuMXM36H2YUveYCGBCJHXv1w/v7IOvmiYqlMvo882gJsaj7C5+4qRGPq5
201
+ 5ymJUczTV5wEJbRya3hv8SORb6XhIWzaG34Y8p7N6pXDDwRCwW3ennwjU8XMUHR6
202
+ t4B9NTxjNrdLFEXZD/7TGnRkrb6+ClzTz5sxjgByHQKBgEzWqkA8UPHV+QhRzq4K
203
+ vn4ImY3nZ2O42Hk9CQG6g3hL1z3yUpZeL6p5Wuw0p8NLn73YTY7iIqBZ31oJHOrH
204
+ Gr/SYiBP7dAtSPzhLJfGWuStXRCJTfEyudAv8KMXlxspdyLFu4iVN8rCiqlGP+KB
205
+ OEAo20EYspmrDR5Xq4hJtsM3
206
+ -----END PRIVATE KEY-----
207
+ """
208
+
209
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
210
+ MIIDLDCCAhSgAwIBAgIUIlcBc0KB9zljlWlercBlXSmz7i8wDQYJKoZIhvcNAQEL
211
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
212
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMVoYDzIxMDAw
213
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
214
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
215
+ A4IBDwAwggEKAoIBAQDFXFmZ+JAM+10oeWht8WutI9nkQRV2oMtCwmdJYerOQXEx
216
+ NGNAsUZAYQi7pUi3WFfKIOXcr+hwCFdCaoXG8A07kpAXnKlFYO8agYCwcyiYGx1Z
217
+ raB2UtUik/6j1/N6bluG4uMljojWRIAK5umAVALAmEHj4Qu0QSsv2Bi9cjqlPn80
218
+ /mM0iMqXhuQ3u+ae3t8yxbI8pQ2Zt6WJV1q9idiu6JB1ZBkm1VSO2m80rVIia4JS
219
+ nK5y/psDK5xzhi2NMp6WrCAc9ll0uNEysW2c+1ZZ5K5Sx6aEuOJadDGmZwxaHBdg
220
+ EUxrKtCTFRppHmgsr/pBwwXtI1g6rHY/Zm/8SRsDAgMBAAGjFzAVMBMGA1UdEQQM
221
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAn8BB5RX1ZvKsKEY+UMEEZ
222
+ 7u/yoXiocrxFsRyHGgjaB3Lh4ArMsFM6I3xIbeKjojidci2d5IxWACM4V4A2MQoG
223
+ FTiX192lg0a0VgutjcylGfXQuQuC4vQux+WaShksDTYn+CKl4vSDaZIkGi6j/MNb
224
+ lqgULuMUuilLJyNPqGobz/b1jE2N6uqMD6YUJHakD4ph/oVKOcxyvlcV9jGIdOgd
225
+ UlEk/zn3PPC6CadBQ3diEm9LYoLi3QPcsLYIFRSt2YcmdvMSl/9+uLAlP2Ja7RQr
226
+ 8KPvq4WWGh7S/9tblPBrPeab+Zw405qBc3RfAYuLvk4+DXA0iXIBO5yNSDpXzN3U
227
+ -----END CERTIFICATE-----
228
+ """
229
+
230
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
231
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDFXFmZ+JAM+10o
232
+ eWht8WutI9nkQRV2oMtCwmdJYerOQXExNGNAsUZAYQi7pUi3WFfKIOXcr+hwCFdC
233
+ aoXG8A07kpAXnKlFYO8agYCwcyiYGx1ZraB2UtUik/6j1/N6bluG4uMljojWRIAK
234
+ 5umAVALAmEHj4Qu0QSsv2Bi9cjqlPn80/mM0iMqXhuQ3u+ae3t8yxbI8pQ2Zt6WJ
235
+ V1q9idiu6JB1ZBkm1VSO2m80rVIia4JSnK5y/psDK5xzhi2NMp6WrCAc9ll0uNEy
236
+ sW2c+1ZZ5K5Sx6aEuOJadDGmZwxaHBdgEUxrKtCTFRppHmgsr/pBwwXtI1g6rHY/
237
+ Zm/8SRsDAgMBAAECggEBAI0bZzDP5+ZwPf33N/QLfWoQTPSGmBr2Af3cUs7DxIbt
238
+ gUml5CTX2pujBQRsu13jOvlYpiAwYSbgv8rLsJQ5A60JMB7BssDY+ntgBiuiWm7O
239
+ TCDXI/gVZy/O0mxAtWNeze/V/oPWsf1IgqfIy0AmUMV01v9f4udhBMizX5TrvARy
240
+ M41moISNV51S9CvVyKto4ojA9G4xkritKMJ0lsh4Pgs7Jp+/dIpWm1pZ8/bi0YEs
241
+ cJhxNswOfIM191G8u1Qr13/279aCauObqY9t6a1zuCeG9nqdbJJVK/OmjxX5W1Uk
242
+ vnKmxRyzxyw59kmnO5Gm63YE5gLZ99K/3qrVod0RZ+kCgYEA/+xtdwM5r0bwOaIT
243
+ bsVNO44Hn/9k+igkjXFNrt2e3nE0bOKwZY1lfhTknGBpVdHe4Tw+VJ1NA/nCAlXx
244
+ vlsVFjdyekC3gSAfsVyS2/F5BTMOPOf8ixcHXE759pyyXtKyTzhBZyJLXD6ge15U
245
+ SZkZhsetTKTkcFsFK+eYT4tLdM8CgYEAxWtxlFFbtyOfE8uIgRv9gnBS2bPusXHZ
246
+ MWnd/W1PtDgXdwWli1L2mFMbrY2UtKae20SiSZGRkjg8qZK+KedR7yxGu+AiUXte
247
+ fWnerz3UGIWbD5uPfTmpQBvBdXSZ0WTGTqsiqZawajpd7y0oOc/2HuBBKGpMped9
248
+ XgHrHKP1K40CgYEAk+8bu47OumXcGMR6TS6ZnVJVUAQ2X2/y6RvUlr8exWBUuJg0
249
+ 9Q7N2xrCpy4H1YbSOgoz0X939FNb9TOu4KUPxF7aupZMPMTP7Rsg/ShRF1NS6JwE
250
+ 3HW8WHyCey5K4QsT7T0MeUxWmYTOCWIWgNCR89nacBJkxhmnHKDr5xcSz/sCgYB8
251
+ 1+lHhfud4OTkO73jB7RVHHsIOQUlKX3UBcLgVJQmv6H3HpcFeD2BLm0+X14+r2+d
252
+ 8dU++NM5yF50Tdv729CwkytX+/E33fBvFtg/sbXCnBrmz9T5t9EUPXklscrj4/qU
253
+ HR0aabS+OJLWgZQCm0RlWiNaT36RG8boAAaSYgzUsQKBgHsZ9rP2HRruZvKKIx3u
254
+ BeNhXvrT/uyCgmGZ6DfncWsobF9HKjCd1e47wjhoPBJsKq0u79DZc5mhb6NyGa8e
255
+ qz8qD09ZqK3uVvxtZwDGFy4LR3vo6kLKnnJL+pstMrBGKyRBHryMF3srhMzS9guL
256
+ JzcZQSFoJRcYc82gq29lDJVe
257
+ -----END PRIVATE KEY-----
258
+ """
259
+
260
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
261
+ MIIDLDCCAhSgAwIBAgIUH4ybLZJDdYBBZEXa7rRC0r1WLYUwDQYJKoZIhvcNAQEL
262
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
263
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMVoYDzIxMDAw
264
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
265
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
266
+ A4IBDwAwggEKAoIBAQCr67MRDiKgPiH15yQ6ZJeEcghZEoYXb98sCwHKTk7cDMp+
267
+ 9Q92IP761jOmqXn1BTXNZQc62a1kZ0yIBUdqCxH5R3+BGF31fDwK0VPQhSh7Np85
268
+ iv3SHlrJBmNF+JX6A+aiKf0f6Zaq0pK1NiTaY7mfXMynSVdxJwwTgqQR0qfvqXEm
269
+ XWBeARhXpUelIyUexXHrGpXumAWY4wn1YEW+SpcGNXElidd/HLbJ/OHkCExd0nge
270
+ yKDQBabCAiIb6fm0wmL6HcD++mqsEt9II8U1qoUPfpUWxFpUSWBoZWcATqrPIPYu
271
+ LeHPvl3ZctQCuTthWHvum1zRK3G8YUXcTWwWsNBHAgMBAAGjFzAVMBMGA1UdEQQM
272
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAb3eNfxvPPv3QjmDEIcOhv
273
+ fyGS8orMzygz0eCtX0ODKsIWEBZw7bSym6fhEYvkltSf41KkeBInjDJnqiCJ2Yef
274
+ VvXcGLyHw/klmkafcvcVCoa95TNTuKb9ElJbdIuoQ3EWk4uQEK0ARH4K+mXA5lzh
275
+ RVbG9EWvmdYXaG9BrnX9Hr/lCEPXynGtbgKvglpFn8mAWz2ru44BsrkiZgMFBpPF
276
+ R6VJV3SRCTib0nsYXkLXyRgG5JcH/VPpFfyS+sLi/98AIG2mTWXTpj4dT5f9epTr
277
+ Cn00kytB4+9ZUvCMUrg0BciQkCz6lr46gcOwbMpzoxXWnK+cwPcr9zu+LLEs1NiZ
278
+ -----END CERTIFICATE-----
279
+ """
280
+
281
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
282
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCr67MRDiKgPiH1
283
+ 5yQ6ZJeEcghZEoYXb98sCwHKTk7cDMp+9Q92IP761jOmqXn1BTXNZQc62a1kZ0yI
284
+ BUdqCxH5R3+BGF31fDwK0VPQhSh7Np85iv3SHlrJBmNF+JX6A+aiKf0f6Zaq0pK1
285
+ NiTaY7mfXMynSVdxJwwTgqQR0qfvqXEmXWBeARhXpUelIyUexXHrGpXumAWY4wn1
286
+ YEW+SpcGNXElidd/HLbJ/OHkCExd0ngeyKDQBabCAiIb6fm0wmL6HcD++mqsEt9I
287
+ I8U1qoUPfpUWxFpUSWBoZWcATqrPIPYuLeHPvl3ZctQCuTthWHvum1zRK3G8YUXc
288
+ TWwWsNBHAgMBAAECggEAeYUdCY0oRIQmlR5QqUW5I9FGvU8uoRpecU9GcK1xaHFS
289
+ IPMvfpxMHxmRYNiib+LC6O/kcGC1AydRHUQ9+mLgzYcQRTvoDkFGX48e42F7/7vY
290
+ SGBKkV8LZNSzDx5rRFHFkBKF7Sy7Zvt438XpvsSGzHJX5lcdC8pB6viI6GAyfF/r
291
+ wG5ikvh7Jh8+UoWVI3VhwEKm6H4E8G5V2pUlIcG6avhIEcWsb8af4inMAncTIHuJ
292
+ 1NifePOv+Jeq3COFIj70eaHyuzhy0ESWvE6h/nu3e487ZnXZxC0w3b2QlOmVe53o
293
+ AkFpwzUBaVjeNtRwBiWpC3IUY2VbCqNR0/7NfIC2gQKBgQDcRd8sM2e6VHiyjkBv
294
+ qtiHFGZvZz7kd7sE1zV8KuLlT9sTsY+HQTC4cMtreZzdescTB3oHUOmfOmJXxrst
295
+ v1TfbE9ihfvfvndrlFovGv/KtllnK6Ku1MS8p3I5W5+g7MPndcO+VS2QPBgvLAUq
296
+ mIhWn77Cx/sF4q64nugek+7B9wKBgQDHzifuyvoywqLMYwQti2MhDbikd3MNBbpS
297
+ TdTYFTaCW/M0nQog6B1g3edD/gsGEQ2BEvX6a0OBD/40X1DgOCmuIBAKnwq2HiGi
298
+ yAc5ln2Zs/Ay8vjRfFc62TU84dY3xJdZ1TW0fDr3IyTi9LUiCMawbpC81+g2Wxw2
299
+ PNbv8YPQMQKBgCOZp1gddsZGoLs7Am8JzbUHNwcKSL/kGfXOUnae98zX+zBToj7Z
300
+ 6mXk1PupzBB/p20L6E0GZru1U++bzuS156G0f6AMx4iB4AsjDvBODMlWb1ydUM2w
301
+ 1Zsn9O4QQNxhZ8gg4GICojqNe9sj4jHgNSjK6KnSaF+rI1HzXNCUWCJBAoGASzcp
302
+ QzR38Wnh3S0dIoQJYiUHMCqjTfCtDlSsXlfF+Fbi/Bht+qtGe/OtHqRgw/zhZ4ia
303
+ vpVoiQpbOJ31FSMvVZROVaE/aAV5xgyk46HqUFUzhAqBbmLvd4DTEMM3YDEKhM/F
304
+ ctcdX3GEbkeOdGx3V22X4O8qRGQR/7zxcMwrQdECgYAg658h3apvIUbFaV3kOlZN
305
+ vZE+3uCFvFgrpI1eTmbMo50oDpzktr168MVu2fSZ8hB//ip+2AAIdNhzH8hi04fO
306
+ Xzesu+4/RgTv7wStTxMJS1rWUA4gGqb9Y7ZGMVuXkbEnG2EjFPQIrcESPytK7CT2
307
+ leydrAQ8338JrQG6x4jLmg==
308
+ -----END PRIVATE KEY-----
309
+ """
310
+
311
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
312
+ MIIDLDCCAhSgAwIBAgIUQv7oQqnVOgMJxwGj1o9mVlDjSV8wDQYJKoZIhvcNAQEL
313
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
314
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMVoYDzIxMDAw
315
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
316
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
317
+ A4IBDwAwggEKAoIBAQDWc6RPgLnigv9641Ig8ro/KxVnUM3ORHs2hgp9Cj4lljnn
318
+ 3Pl1IOlZu4pI8nQ0MGNVaiRTH5iqi1PmxfngFSsCAKjLFjty/Av2HpFiuYXQPxrC
319
+ suMPbF+KTpxi0QyxM/04inX9sZZpAPXbRtJ7XuFq71jB1mHvvyq/7/0mzTMwdUnX
320
+ LRfTMSN8TKVc+x0nGaQynIQbFxW2UcWLShaeNpfk0++2MeHOqrJo1LRta3uN8MBT
321
+ tdd7ISMv85gbwBajJ833BeE5/hxbDuohWnN6NOko+lKf+iaiVZG6LIqg4YLO8nEC
322
+ 3eCtPSqZDeMcojF2TpfAs7RYy/uPTnrurq1I3M1VAgMBAAGjFzAVMBMGA1UdEQQM
323
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBQPItY6FjeAmX7cpd0BPdo
324
+ lWYb1yYOUVdVkHV5S160tGhLCcipZF511IOvjH+UUh/YVRUPyAhb+tCURTxWMAmz
325
+ xKiMESk5uJWoxWKZYOTkEE1SzTHdOLIO4gVz+z5ewovgSHOQ6R95AtCCeFNf+G8K
326
+ JZux2BbxkHZTiUK21UiarheTIOvdwn4W3NaGnDaxgIQncptLlLUSHKcc5FbLNhU9
327
+ 4dlPe/VMglwI6R7euYFBdcJCpAnyhkeGGiEGZMPgu7oG8AY/PnbiAq4EFQa5rwB9
328
+ KtZGtuEvHhChxuCJrdhS3arkhq7qNPQc2iYRUeAnzK+CqVMMP+j9SqJA47YEoLKN
329
+ -----END CERTIFICATE-----
330
+ """
331
+
332
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
333
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDWc6RPgLnigv96
334
+ 41Ig8ro/KxVnUM3ORHs2hgp9Cj4lljnn3Pl1IOlZu4pI8nQ0MGNVaiRTH5iqi1Pm
335
+ xfngFSsCAKjLFjty/Av2HpFiuYXQPxrCsuMPbF+KTpxi0QyxM/04inX9sZZpAPXb
336
+ RtJ7XuFq71jB1mHvvyq/7/0mzTMwdUnXLRfTMSN8TKVc+x0nGaQynIQbFxW2UcWL
337
+ ShaeNpfk0++2MeHOqrJo1LRta3uN8MBTtdd7ISMv85gbwBajJ833BeE5/hxbDuoh
338
+ WnN6NOko+lKf+iaiVZG6LIqg4YLO8nEC3eCtPSqZDeMcojF2TpfAs7RYy/uPTnru
339
+ rq1I3M1VAgMBAAECggEAKxheIqPptv1APf/El15v0xXjXTm9wf+9Cv3wyaPvTTpd
340
+ NJ0RfFo6yo+HgJVIiNxYeee0mQe2dD8/gxax2jgmxmY/hWBYXgkMlk8aRE6n92tX
341
+ A11Th9vtbyvQ/YKpHEsoTd51S6AOa9eHkKMw1R4CCq1CluFwGO+/tYaSxuNhsBDj
342
+ dQfz/MMWlIOYxs+NQc6cqgJlIULch8KhQ+DxTnkBYFBVCeo/kTRHfw+kB5OYevzQ
343
+ cUE+mli14Ifv84BOvz/t9+/tV3XT9tUvUM8uprxhl00/ZQ60oIOdvGrgIsWb2BDa
344
+ MjCGMvlzpgNW9d45aI3k8rJuGBTTJfeZBlpQwUv9GQKBgQD72XuhG1e3gx7UCRIt
345
+ Ky1CXIZowQSdgDB/qJT8cG710ftkBp217aBqf2xyIlSU4O9yPd8rysh7CAkVj/DN
346
+ 1k+4JC/d9AaCGsz2BcyDPw2JTWErQAr9cjbNTBUmmIVeN6ZGXLjVKzlQbUfe0dA5
347
+ uXpDIR4DOklms0Q0AsUvp7HBDwKBgQDZ/GIFEavfIer239GwKWk+VIe4TUgzWXwb
348
+ WFfGuRE6jzd0gsSy8hwciee2gnTdI8kj01PQ5r9dD9D/bXE86aNiX5veMoGf1hpp
349
+ 3SX+bCgbUz41cSeJnb8WiTcQaq7SGho+kn+KkK2c1a6sDwFpKdAkP/YW7RSdl17G
350
+ UeWyvfYDWwKBgFmkdKPIlrVEH5H7VJPtPWPUiSb6JQlmmlymBbnAz04CGsfkrvgV
351
+ h7bAejo5y/9d/Pyd1zTALhHUr18UZ/LsKF3zy3HmLPbcUT30nHHO3KOVflOlrQO/
352
+ RpBWV2TwfvAlQLLkyAlgJDtjWmSOK96QDVudixA9C+lZP5p/re4jc1qzAoGBAIoy
353
+ vL3z9x/uc/Vx7pGdn3B5zNWmgUi0yb7YYkXFnMugcor2QNgmMHZTY8jMqmRsxJ9m
354
+ 4jOFpvrMBTd63hi9Eu1SKhJTuORpq7NEFktXrJGuU7kz9NoFXVlfQr6wtAbVr5/N
355
+ 5vglQzw0KJpCpSVT8faZal4cjj5e8iIPV+3bCvYTAoGBAMwzbamlJ/bYK/1rDtVB
356
+ bY4kcjf7bYvIvtIKpAOooY+ecOXIq0vP+wqJCjNtltKZUcVvPQMkw0ykhabuKsPj
357
+ hx2mcPHE7koN3UUmMfYdr9GI8DpACImSI5OgAUn+0U9kX59oSGxxMF0ZTjJLp+sN
358
+ UMYmnIWCoC9PGLsfs9Gt9E/p
359
+ -----END PRIVATE KEY-----
360
+ """
361
+
362
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
363
+ MIIDLDCCAhSgAwIBAgIUCg9lMTGr9/8DyLNEaafobyIYAS0wDQYJKoZIhvcNAQEL
364
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
365
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMVoYDzIxMDAw
366
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
367
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
368
+ A4IBDwAwggEKAoIBAQC7v3qmcCjmcREbWhZbtKpeZEwUPVkFpHg9yd0YQW0ZACZf
369
+ BZsJn5S9fkpfpJ9E758wRqvntAoKUwh0yntqjSNVEF+IwPs8eVV85yJLjZWzRlYN
370
+ FyZnr4ihtKAleDkXnSwDKKuWI3tm68GCmGlvzRvv8gR9/8Wut01JB4LjUslzaL5B
371
+ dM36gzjWGSxUD1A0gdG6leCMbJkRV6VQDLKMzMqfkrkleNZMfarrh4y2odaxGSlt
372
+ YGvIkeJg4R/vhUdWWnSCSZk8EtPZTC2ic/dMh0TZTw6zsaq0kkSf17a9HQ7exjgj
373
+ AMzTl4/O2mPQ1/j6t3nLqxXAMKRmQwe0RhW47fCzAgMBAAGjFzAVMBMGA1UdEQQM
374
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBSd5/DP0a3Pi7gQeYounMW
375
+ 9qa/ZCn2JyIlCSKPiQ2lRJeFLzXzG/e1hEiNtSBWS0oMi5HtyhsBSbmPeEp4Enl4
376
+ Ri7UR4OhyEOddOAI98IEPtditV7YVczQi0h8a3/518yxvqVcUUOmIsABIvNWWtB+
377
+ jov5sHygh2gQ9LK/9SXWxguvI4U0AiFteJvLKSFqqcUWbNXQn09fJNyM8Cx6mnTG
378
+ 5pba3FCnr39CdRgzn21Zp+plodI6xu2T/VmvkBcU4jFVY/i36LJkJ0EBjcaUiE3h
379
+ /1+POQXMivBuERizoRvtIx/xmsfKaFSp26iBW0I/AkQjCAJiVS+RF4DfaHLzg8jT
380
+ -----END CERTIFICATE-----
381
+ """
382
+
383
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
384
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC7v3qmcCjmcREb
385
+ WhZbtKpeZEwUPVkFpHg9yd0YQW0ZACZfBZsJn5S9fkpfpJ9E758wRqvntAoKUwh0
386
+ yntqjSNVEF+IwPs8eVV85yJLjZWzRlYNFyZnr4ihtKAleDkXnSwDKKuWI3tm68GC
387
+ mGlvzRvv8gR9/8Wut01JB4LjUslzaL5BdM36gzjWGSxUD1A0gdG6leCMbJkRV6VQ
388
+ DLKMzMqfkrkleNZMfarrh4y2odaxGSltYGvIkeJg4R/vhUdWWnSCSZk8EtPZTC2i
389
+ c/dMh0TZTw6zsaq0kkSf17a9HQ7exjgjAMzTl4/O2mPQ1/j6t3nLqxXAMKRmQwe0
390
+ RhW47fCzAgMBAAECggEARnkheMgxEg7u9O1j5xhxuuy7Af3lJJEP8WGMdEZaxT+h
391
+ J5nbEEmuc1KsaCpK/n1Tq7NbY6XY/vcb/XrjyKMh2BRFR/foVlLVHAVGgkWrI5gL
392
+ RO6jo9fn2YsLcgUmqQ5+LtFdVwYKlB96i6LaMPU0v2SA+yq+8U4s3HTNVLcGlyLc
393
+ v4eBAdGBIElWMK4ucH4IXmeVvxpvOHiC/mfMTu/LH6xk0lb6qTdM3zIzsPXjhjEp
394
+ dmnPMrS1AKOZ/abw/Yvi+4kuG6iLjeQWB+Z+BZQ0VJ82u1KRVxiH1USJo3Rm2lls
395
+ OB806LFcgOrk3TCErceglIzSixJP8LYLP1W7JcDBQQKBgQDwVRUx6Tvhc5cpYOu8
396
+ LrB6fIpdDTGccnLeoC8flqY7ou+ddYuvQTFlsPP4FLMcFuPJjbqbXPjwFRLcZFjn
397
+ aZE5VOVYlP5EzN2MQNZl3GNsKquUK/HqZ8hmacAknagDDad3Dxr/a+2hUDNrLHPr
398
+ YtQ5jabUfCi1eHz9FL3/RRyhdQKBgQDH/NApKnpYHYyvAr6vl8uWYm01VkS+pqON
399
+ wPyD/USCAU3lAPlr+Yt6hphhEQ67+aZZ4kcZIrYWdIJ6JNjNxVtqjcEPu72m3/qz
400
+ 56/9CmIEDEKfIoBDvNOJUS/O+u4SEuLpMGreuO+POw7PQ9iA1PMrTXH9lTwEivlz
401
+ NwpEnvwchwKBgQC+SI9EekcIBQ4tG+jpkQn3oP2oGRcrqE4cyDUnTI8HbsVLJVNY
402
+ ikSDIGy6AiGh3tmxrn6OHjmXVQge6XCeoK3z96yyyxza+l17e6aE9c7eSJaa9YRP
403
+ tKYtuBMCqrTo3fm2wYX9r8Vw0GA1vfd16kTf4LCzUi6lJ+XGN5MLNvwpNQKBgCoW
404
+ 8jSHxSIAbhhzSnCoUOfApV1hX6yEY820vTCGQEHgRmWZE+V+qrVJ2I4tSd2UCEfI
405
+ kNAgdxQ4xzEvyhVcoQXG+cf26k5Ru3DbpTVrVv+lGOxnFXmsJxUyag50z2Asa2dK
406
+ kmN3pquNcWt7yvgqWVdWwFPvcac/HIr8HYQdtc/HAoGACSOB38Pq/wsud66os5i+
407
+ 4TBx5wK46uSRWXpLbjL8afuFLhrCiOmtqiOVmTVmVYnASPcpiny2jLtanPlu9WZl
408
+ PqdUO50/a4zLcGuJ8grnNn+YplngmZTtZJVHn72XAIphdQO8rt1UFjozyiHxYPkX
409
+ q0cBfURX9v88SepGlqqyMaI=
410
+ -----END PRIVATE KEY-----
411
+ """
412
+
413
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
414
+ MIIDLDCCAhSgAwIBAgIUZZmj3NMn41MJf/JZnA19S7GWBEcwDQYJKoZIhvcNAQEL
415
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
416
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMVoYDzIxMDAw
417
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
418
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
419
+ A4IBDwAwggEKAoIBAQDiAHh3GaeWWIKsNlwDE6s8EfKs8AKvq7ThxFGtTAbZs1MT
420
+ ckyg/7/phaihOVXmpdl9Lhul9nUxr3pFkW3pDuCXWeF/QB4pJqbbDUdOl1fu1g6z
421
+ 8H3hLIKK8+yKm8SliLKGlYlm0lrCh+bR1gn46ACImMxs2PiLJydaG6TH/rnQZo8k
422
+ 8S8unwpjrI09dwnwdhTGG6F3789bEHyZbwzmitHRrzYUKDviazaWvyspDNg6CJ9x
423
+ +ufdVyY3vTAVsQZaGyTZMqxE/3cLtT3CHCGZaMddlVmicEIkgKh4vCYV//6suVbW
424
+ cQnzBXYCbAC0jp+TaHFoLztoB++ODJbQ02kI6xylAgMBAAGjFzAVMBMGA1UdEQQM
425
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCMUxFYqgEUN06caqVcTTZ5
426
+ rW3V8oRETxkCZ5okxRnKKJk6L9YhdkiL4Mjsbn+9ZwmWwEZJjlqOGUC8uZZgrRjr
427
+ fqyftmYjvRVMZNZoh1wqp3kcEDXPLOqM7ixpK/D/ScOZc8G0EpiTykj4lmgF8/7t
428
+ 11fCyv6vHYLqsDFNC3BJ8g8E09Zej2bEBwTXp6g52J/YCuJ2xpu9g8mOF2xs3ECv
429
+ M74JEGlF0eNjuAQ+R5J5DaNwojHDoVYMYT5X/KaPxmLLl6b6n7ZvKuCZHs1CoLFn
430
+ 1Jg1JGLOczrHvHnRPr4zLqffdnq/SFQP1MLFs+QUORLpHved+PPZJogSbRn7HzGQ
431
+ -----END CERTIFICATE-----
432
+ """
433
+
434
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
435
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDiAHh3GaeWWIKs
436
+ NlwDE6s8EfKs8AKvq7ThxFGtTAbZs1MTckyg/7/phaihOVXmpdl9Lhul9nUxr3pF
437
+ kW3pDuCXWeF/QB4pJqbbDUdOl1fu1g6z8H3hLIKK8+yKm8SliLKGlYlm0lrCh+bR
438
+ 1gn46ACImMxs2PiLJydaG6TH/rnQZo8k8S8unwpjrI09dwnwdhTGG6F3789bEHyZ
439
+ bwzmitHRrzYUKDviazaWvyspDNg6CJ9x+ufdVyY3vTAVsQZaGyTZMqxE/3cLtT3C
440
+ HCGZaMddlVmicEIkgKh4vCYV//6suVbWcQnzBXYCbAC0jp+TaHFoLztoB++ODJbQ
441
+ 02kI6xylAgMBAAECggEAOAKJ2GqBQB97cxadwx1yyJZiID3zTHovf+xZmatH31gz
442
+ 9JPVLel0NHmtixdclKbxubZdn8nuzXuBwBAEv0eynY/m9NR9JRGxNISb8XxMjKJ8
443
+ TlgBunZ/e9RsAQYNvECejgAtZ1AmsiNgLwzut8M3rqK/txImtsXjWM+VDQOyJVVu
444
+ SZRVCZvjSjmLKZE7GPVqzyi8MWo8LaY8i7H3iCko1/QVzA39Y+HPq6od2QPboTmU
445
+ gpIfLgbQqjS4FbIhNg8NCen7nshGybmCjP3wXPMoqVA46H8w/iOid0KM1tBdQw0P
446
+ YT8xRmhr9Yfkk62GSsaeu6lrJD1ZI9aOYN1G74MzGQKBgQD3wRJHZBrG74u92MtO
447
+ Xhz8b4jr/qkqYqkCGiZZLWzlrijPmWUll4zdsbFAlgzlmT1/mWEGAe0zfQ3hbmxf
448
+ toqCLF4r6shOqd5fSMT17If9aKwjhYc7DHARda5aE4rkyRy1k+6u7MKRosC+HG2y
449
+ Y5AqGtI7mgKwF6zRUr92WCVElwKBgQDphhBK5qb85ySqZiVu743WSbgC1E7o76pu
450
+ RGwNPzy8fVn88AghtLRdiXOF9z+NK1m1Q4STlSYRWox4MccceD96NzNs09VpObSh
451
+ Z9ZgfoPVRB1pCwj4AUN9hu5Vzr2KT2J2elv7zJQfIjuKSOjAq9/R//iuAeZlfgHs
452
+ ZrmC1W6kIwKBgQDp+n/Nxl93gyFhIM4Ya89KI/eWkMGoUta0MogG7lyKqSjHrmGU
453
+ 2ARkFn2EtnDloQwwZmT37HfciXzDaqqU1esHNumU5j1X9Rsat7mzWzeu/dycC24E
454
+ OSHZi18mmJAyszAW1+excc3rBl6q7GQ49chfy0bCnRduwF0ortI87M/9bwKBgQDF
455
+ RI0K2OGDjrb4gyVoG1FUDh41taebOqpcT8x/PEZQbAvSkeosnvwmb/B44K580HwN
456
+ laWvDjWEP1ueRV6P/DyTP4JfkmsbYrXmC1ObXAR96fZ2P+4poteieJNpRSX0aq8g
457
+ qqh9gwo1arOlU4XbDNYcDgHC7LP2VIXHb9eSYD4AxQKBgHjHyFvTfm6ZRv6WHcTJ
458
+ LTp50k9l2sdXe14kBnblEBTvo5DMbN+d0JJWGCywj0s9Zhdo7W9Lu72NKDnp/rM0
459
+ 8e2meBI5lz27JJ1Iggozulu5xiYkHQmt2FvceZ2ROlvrCVkP/r0AXr77T1veIWTr
460
+ vGxAJJJJPWNb/rpmosGSnnt/
461
+ -----END PRIVATE KEY-----
462
+ """
463
+
464
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
465
+ MIIDLDCCAhSgAwIBAgIUCo4bPbI2+6ucwAKVWOVvza/5Ve0wDQYJKoZIhvcNAQEL
466
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
467
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMVoYDzIxMDAw
468
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
469
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
470
+ A4IBDwAwggEKAoIBAQDTrCQBeTfXl3xKstyCxQpGelFNEagDRZLaJe/dPLN9FiBq
471
+ N25JmL0mMiJfSSI1HQQoMMM0ayilEU8epeqWkWLi+Pw2aR7nuayPzlqfY411pOVy
472
+ I0lZWi/M+w+ytyHA+/ORZHqSUf3Zccs8PouexC7bU4ScLHo6X7bOSiLfezNsqPAc
473
+ RngI9C1rPLrzQQHUd1m2aQOhvMmbXfawaofZzSRZT/Ipdhm6TsTy4325XM8BtoXm
474
+ CQtEUyM8xgmOkQF/4m/N51/+7Jnchcb3pBP1RujmibOwH4fAlDwu6A5kwe1oFMaq
475
+ ql15KdElfkRvzbVDdyAVjUnW2j0WZ3WnumM0uTSbAgMBAAGjFzAVMBMGA1UdEQQM
476
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBGVJ1SnI7UT7M9BSt6Sfnu
477
+ noJa96HgjVJTwMBkGIP7phGY8sm2B9OSVlaVUC6tZkJaXSPDqejdHRFleFrMn+yS
478
+ eY3apM70u+GHRIjozf6FtQQ8D9AWY3sL1eDVfoNh/w6UPaLtt0GtvLXhR9gCvPgH
479
+ WKNJ7/5hSsJHRVKBRZtuLwrU4nIwrdvcFHh9btAeNU+ZQ9BPx+jD7G0b3MC4aePg
480
+ M/mUQkCBShhQPFIuPO5B5hYmyqvSfKfRCCXz3yObo0/DmEk1XlWu5fUStUXMoBRl
481
+ JQ8AxL5aH9GLLkdhMqzInZiiEgFEEEF9OjeA0FpwG7qmRMwL0d6Mp/VfyMV3CwqT
482
+ -----END CERTIFICATE-----
483
+ """
484
+
485
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
486
+ MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDTrCQBeTfXl3xK
487
+ styCxQpGelFNEagDRZLaJe/dPLN9FiBqN25JmL0mMiJfSSI1HQQoMMM0ayilEU8e
488
+ peqWkWLi+Pw2aR7nuayPzlqfY411pOVyI0lZWi/M+w+ytyHA+/ORZHqSUf3Zccs8
489
+ PouexC7bU4ScLHo6X7bOSiLfezNsqPAcRngI9C1rPLrzQQHUd1m2aQOhvMmbXfaw
490
+ aofZzSRZT/Ipdhm6TsTy4325XM8BtoXmCQtEUyM8xgmOkQF/4m/N51/+7Jnchcb3
491
+ pBP1RujmibOwH4fAlDwu6A5kwe1oFMaqql15KdElfkRvzbVDdyAVjUnW2j0WZ3Wn
492
+ umM0uTSbAgMBAAECggEBAKXCtmeY/8wLS0BMFTcrCsLqYuSRoRr+zuOatd5w/LZG
493
+ L5g+VFW6ENXqiNRJt0oUsP6wQQ25pRivF2CO2ciTjfbkuM37QEKDOsla9ci/8zVf
494
+ rnbVf0lDwQ8qxL5Vf09bfwAqyXnwT3SLEnbZHAl25KLJIp4Sjp1L+yJNGEYeesTp
495
+ kUb1CwxMqGwtTRZ9AVjeH03OYC/mE3l461q9Wh8yc4tE94ASm/DRLOacd/+gGzRx
496
+ X8lN7P8bUsH/G0bpBfaSj8NuOO2Uo+vyRP4nPyLakm+HcgDhnElhrs+IHEuzMq8O
497
+ CI69sj8/rIoDBt4HQ7VhZ6IR3NDC6N0SnPLT602UTVECgYEA/Wo1m9QEkMYJUUos
498
+ o34xTfUrrefMYRNXiQOy6u/ExLGFJ44kgttpLHrZ0JYrJT+auoT65SukChXftOna
499
+ vPIN6rI5IGhb93uyGxiTRj7+hhCne3gMHsmDwJB0veKGBS843AFRwbsxbv9HJc/b
500
+ 01rZ4BKWSRF0s+U/6Mb1aXO3WocCgYEA1dTr1BHH/iD8vJgKKeSB4eo2q7hU5FvJ
501
+ 3lud8JeQ/AOmlXfXusm4w4mPJ7whCeBfobR850VdrEZYcT7DbpsYjmBG+4+sbjg2
502
+ cPrEt+nZ8Vr6JRpbyq1j3P2osrnDpErusZ+gxX9zGh9alKsRVC7hmiOzCmAFAf6H
503
+ Gj5zrbzRtk0CgYEA4uuBV6lx8SW0YDtYX4p3ogRBebdQVzkXsFREmYXcn/kKcBIj
504
+ dZ39vtu/Qb3GotMivZSoiiAbAwD1Ui36NilV9uxipTdt6t2z7fmCn2t3RRuSrcgg
505
+ qkzukreIIiS+t9PCSZdQ23bBXFBxKFXJ1afL448hTgq4gwJsyQen6Ca7b+8CgYEA
506
+ xbDabvAZhBufTgUKsHxwkBrnfI8o/Q7XbVoqhPq7siL16g4oRqqkxTLyRPwrV2Q3
507
+ RdsF9xMsbU+ECP7L1ABUDZ15Qq4r7qLNwlo1cQsk0X0Y8yCRaKoxP2jMhKA1/jjA
508
+ wTshejZAhhAiwHv/w2KsdMM4jgkD2DonUd4XOLLu96kCgYEA6qvaeKQulvy8GjN8
509
+ eZdxPHvZxEc6bncv27dTBTCfJAwvQnAM17XGuYpL+wpmBWT5NyMQhqR8ufTjCaTZ
510
+ mYQ8D+fbP1dzXsNCWy2ULXQyDp4iBr8DD+yhxXe0T/osEC2w9GOpHhTskriyjrDr
511
+ jMdzq9sbblgFm6dKe56DLvc4z/c=
512
+ -----END PRIVATE KEY-----
513
+ """
514
+
515
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
516
+ MIIDLDCCAhSgAwIBAgIUZXUt4iAbkAXAUd0mDEZSMXmcl3YwDQYJKoZIhvcNAQEL
517
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
518
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMVoYDzIxMDAw
519
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
520
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
521
+ A4IBDwAwggEKAoIBAQDxVh9zMP+GF0XYDAqC3vehKpK2gTXSZTdgQWn0YMOkKQFZ
522
+ NNHHkWAtePO5p7wSbysSUnurh9GlYtsK4kDnkj1eVBCWfVyPM/0cfkbhIcv5Jpkr
523
+ qKABv+6b3v1mikl+erJ2SE3GEWY7wThZuPvNh8kDAYs7MuN766jQ59wSIxvCPlpp
524
+ cObzbz21dHRrxDl8zCzNOk2z41sY12sGvtR1fWTIByqxnNy7mfa15/uEtY5qVaVz
525
+ uQBm+gYV+lRoW3sHBJz9TEH92s+VnSpZj/hHbL8kpN8y0zichH9vG17E78LcCfCR
526
+ B6fd/Civ8mZZNhH1cCGlm26w8y7qM2PnEwvsVJ/xAgMBAAGjFzAVMBMGA1UdEQQM
527
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAyQKtGaSz4s/U85m3zSqTm
528
+ fykoZVo9+BhqPEK3bqiA/wQ4RnQushPEuaLqdD/qI9l6h6jKgnx3hyJ0Ht8CYo4r
529
+ KAEhRVSoImdqW8TpFIOG2vNgK09HuI0ahwT3NfmXz8uI87IkzHco+QS/i7AMvU7V
530
+ vjyFXSjWWQYmnzb7gWw/LEcpqScMB6/4UOam3G/xznMiFCmUDn9CEh/VNFaE6YK5
531
+ 9VcfE2mcOftm8/jstoOgz5a/XduxJGObE/esMf2XeLLvfhIJV5yL+AkyVUrgESeB
532
+ /SVfSH0gcu98o+jp3fT8zKF6Q53D4Uyf28HUY261pvvvZFnshprKR3Tzfjo+LcpW
533
+ -----END CERTIFICATE-----
534
+ """
535
+
536
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
537
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDxVh9zMP+GF0XY
538
+ DAqC3vehKpK2gTXSZTdgQWn0YMOkKQFZNNHHkWAtePO5p7wSbysSUnurh9GlYtsK
539
+ 4kDnkj1eVBCWfVyPM/0cfkbhIcv5JpkrqKABv+6b3v1mikl+erJ2SE3GEWY7wThZ
540
+ uPvNh8kDAYs7MuN766jQ59wSIxvCPlppcObzbz21dHRrxDl8zCzNOk2z41sY12sG
541
+ vtR1fWTIByqxnNy7mfa15/uEtY5qVaVzuQBm+gYV+lRoW3sHBJz9TEH92s+VnSpZ
542
+ j/hHbL8kpN8y0zichH9vG17E78LcCfCRB6fd/Civ8mZZNhH1cCGlm26w8y7qM2Pn
543
+ EwvsVJ/xAgMBAAECggEAaPItnPb6twHZ0nhx/bUd9AzCXfDUSdjP+uCXRbjqerGG
544
+ L5ejfeg+7adCPUKuq0mCbmZF9zKJvSS+4f2/gbP7UdC2oeqD3JYcBE75XZ9HxuG9
545
+ C9o5MmmXRlry0KtkCEcs4fjRMUeRsHx2l7W0cg0RIWiDdkvL1rCE6ctZzN1Njeqd
546
+ UuX9K4ruErxZOO2GXlkEheK/6C9ezvt5qGUNpr2rcpBHCVoOmOuQeIzwfdPrjlNE
547
+ SFq0wG+kTE7z1ucwc81OIuHlQX1IGuMXtFHEnB9iuAqZ/8Y9J5a9vj5EEZTAIcKa
548
+ 4UeJvKon9UtP+kp5PNBYso/Fq+uCYQgnKo31Hjte7QKBgQD4nHqIqF0kzcSCnqTW
549
+ Ys4tDab7KNNTkPf38OMiF0S798jzMEZLDA4m0AaP2pSk0bSbvjCp3fLz74sjEmZO
550
+ NKob1nWPFP+yuLhS9PdupnLpHLj+LCT4pmvwg5gvM2Z3EOFrNJNrdR4ei682Z4vC
551
+ bMII0JCQcA3aMqx2MmIh7dmQvwKBgQD4gkt2JY7IFwy1wgf5sJpTzQ5hGIw5q17G
552
+ S0Ee7TuvV4IROVck+feJ+Zysz0leEIqqVVz1ku6c+rQ3Cod00ZVMG1TaBq7QOGia
553
+ tevvLhYY52IHbtxXUWy5T0+am8vXz/wBbFmMSqZ3cu5emFh0daGf03v1jHB2Xtgo
554
+ cBRdgHdLTwKBgQDVUh9qJ11U+SLHGa1DL6DN08sV85/xMpEzNIUQeXrG9wR8d025
555
+ k2yJLTKUOPAWxMH+aSGEgCe53C89NsqGDHZyUICq90+4YPv4Yq31SemL0NODdQl8
556
+ OgCgbaolxisDu35Q6Nod+G6RszXyrsKjX4LW4W9KIHwiYBzPhsfhaR+oLQKBgHPd
557
+ bAmd4UBxXr+vw8ArEwlXZgjnRRnuSLXziF0/BsDt7/rP3U2kLkHqW55G11JALCbW
558
+ vgzRgOc4DKZNBnL09MMTSzCMRR1X742SnHpb5nmeCBqnGZysniCYVekkEpqAomKX
559
+ ffjnJU40C+eW6EcEQWMfW4BVBmpqNiZEe3pM11IJAoGBAMHxD5Waq3fg//mCKmhg
560
+ Ud0FqKksa6lqYnUIFfUqiq2YwRYOBLGEYjheG2bgALZ/rHCWjdL1HvhCKl4PJTSA
561
+ 3Ut8Yx1fyexZQ/aBzLpvWbWRIcj97gDMniVoOSMnCSilrK0ASr9JUCGo08d20fSK
562
+ EuQE6iLXGSX27W02kzBke/Q0
563
+ -----END PRIVATE KEY-----
564
+ """
565
+
566
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
567
+ MIIDLDCCAhSgAwIBAgIUQBjubkcEz8Ame+evhVR/P+08N7IwDQYJKoZIhvcNAQEL
568
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
569
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMVoYDzIxMDAw
570
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
571
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
572
+ A4IBDwAwggEKAoIBAQClp3iVfH6FLpZut6UdSrfkIfqED7h0aj8rkUi934BDFQiP
573
+ I87MuuAl7N3Nj3U3my+vppp3se0kt4cro79KStORGGuKm6EftkWJj9PIx/UKU0jv
574
+ PmtU2T7jzmohwM0RFwXSUUpAnInGUptSNlngbDJSQo92KYqCnCCw2Kllh8tSnaqn
575
+ /cVeBeOQ6ippM6YwJGs4rVMzS0v93aUvTXsKHaqq+wLe7Jcbiy2iAZT2HWZcuIt/
576
+ uhWDTRiDMxFsSl53O2dtG5tlvxS+kjZ0YOZbhJMcddHBNg0fX6oPeEzMB0DMs7Nj
577
+ 3Q4CDrPXYIaLryMccGDljrF8xZ1+rlOLar1A8pufAgMBAAGjFzAVMBMGA1UdEQQM
578
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCKnK69Hada53vK4LIQS8mk
579
+ PqMiGLkrNsdqo+8/zm31wWQaL+XfWEzdEWfpSy4nPAKN8PriBafoRJynxUzNKNfP
580
+ YwzSpdwh49I/hQXgTg43Ps/Ud8eMAOwZ8hQFjtpxwMN5KMCNUZ2WkN7gyHN4eCFL
581
+ Vi52fq0zSvKIgCiB/G5oauC+4oesD3KhNFNdGDM+u4cZowfJP0ytetW9YRppUDyL
582
+ Di8vN8lRfLQmt/yvEF0Qgxuz1w/4D090mSHNwkiQFvu1+A21PEkk/FGsOqaEXyjN
583
+ a/hVuQii73GQQJgDCbeBECbmNz32rXYhzm0/Gg2QQ3B592qNnyDfU0Jxsq/IJtcU
584
+ -----END CERTIFICATE-----
585
+ """
586
+
587
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
588
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQClp3iVfH6FLpZu
589
+ t6UdSrfkIfqED7h0aj8rkUi934BDFQiPI87MuuAl7N3Nj3U3my+vppp3se0kt4cr
590
+ o79KStORGGuKm6EftkWJj9PIx/UKU0jvPmtU2T7jzmohwM0RFwXSUUpAnInGUptS
591
+ NlngbDJSQo92KYqCnCCw2Kllh8tSnaqn/cVeBeOQ6ippM6YwJGs4rVMzS0v93aUv
592
+ TXsKHaqq+wLe7Jcbiy2iAZT2HWZcuIt/uhWDTRiDMxFsSl53O2dtG5tlvxS+kjZ0
593
+ YOZbhJMcddHBNg0fX6oPeEzMB0DMs7Nj3Q4CDrPXYIaLryMccGDljrF8xZ1+rlOL
594
+ ar1A8pufAgMBAAECggEBAJgRbu67hGG6bLpit552Mu2oC5Mj405rImZaTo6PF+18
595
+ 54iPdI4Ylx/5m3vSz+Yl/dafeHmcynfESr/S6A3JNwKhikeJqpWz+43WjLJqbRX3
596
+ cqK9iEYx0DvMBz3JAfdITT3PBfzeNtPqjU8hOcx9RoyhMZVleROBQ7lUi9z6lbnW
597
+ LJneYPx4fgyaRX8ah44GQPtPVMytOIyl4MMrXyWGaYR4wyqnuWFnvzWmd+71bMd5
598
+ jpvfuRqnbgQYGANQM21N2G7Zs3Z6NbiD5UfQLNlxgnTaPBjVQT1/F838ZeR91Dm8
599
+ 8PLzF2juYTc3Sgyp8P4jkxl1mobzEMqeh+CpI2/YtbECgYEA1yZUeyYAy+3QVdDW
600
+ PcYP/AmTnL+3L5QSp9WrtuZ2kVhLFLgIo7aZOVGBz7s0RjPnH/bL/s+OLiXvAgIH
601
+ KZuC/H4Z2vrQcQX9E7rB1iBk2ZFxHl2gdzREG37wXdgKvI3YCicDRpulr+ZG7dA0
602
+ 1k2vxWhvDm/eSGuEHt5JkC2REv0CgYEAxRtWTUMNMSWA8zN5eONYPZQ4GkuA0kEr
603
+ 0q7p4a7zvR44Pf+g3QzBi3paugQSmQLcRTlDYBOp6LlODQji2V2VPtsD9FjduFjX
604
+ uuQ3ze/ZKnT3ECflO9VExohX2bUaxJGS4KqGAowChknCO4BoSygBrkijIWa7b+AU
605
+ gJM4QXiI0csCgYA3WWkKdXBnBjs+mIdFRRr/oAcVoEykNNfHzbRrTUbbhXdrUR0H
606
+ 4QXyNQHMS0DbfqbLFlbMquDNBn1CavskvRkpk9da+oN9UCkXVkhfqd3ICx6qzTNm
607
+ 908+M53qxpWchHE7y2WQWKJ7aiZ9L78oErxRcNiBQk5RGzfWKSGLse1MkQKBgQCd
608
+ 4pfuq5cVlwUDymey/ejg6qlF5tT5llqUGKgfrxRumJZUkz830c/2+btS5ZBAIJpw
609
+ mL3vZ9DiKgzrRALyOpQiFS3FvKld0Ux81/Ibc9RwveBpgIuOsfa1UOGN8hPPAQy2
610
+ CeHuiFg9WTfMkb749MLj6CtDxha+NrA1jbeyOereoQKBgQCysqn3E91OkbpjguGE
611
+ EXU7t8/YhP/xohYw0I+hNNuGSFQuVihFd/iEqlhGelaSe10ap6PRurUgG3z2PcsX
612
+ wosAbh3TOHIRCUW5xaJ93vqys4/DrSPzoA4jHb0M2MP1EBM7OkMS+CntHsfj9trN
613
+ ypymj8/PSQTf9TC4KL55sXK34Q==
614
+ -----END PRIVATE KEY-----
615
+ """
616
+
617
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
618
+ MIIDLDCCAhSgAwIBAgIUbJaDX38rnF2BylBTXCWNjn1E4kkwDQYJKoZIhvcNAQEL
619
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
620
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMVoYDzIxMDAw
621
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
622
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
623
+ A4IBDwAwggEKAoIBAQDfTXQTHHDgCbBC8m1oybg5od+wH7Pfh4duI9m/I1JZLZoz
624
+ 74GaQZlDG2bTHwwa3ccXDF5N3BbVG5BWGhFKquy37Od5mB88pDLngazumte0DaRC
625
+ MvM542TUwBVwLruT2jNDIPtXFZ5b7XMZh+dyLXHbvP9wyEUUBKcSi5kRgp02OYJC
626
+ g053dKazEAFtmOHoPNlCWlqqjfpMAXsbiFUBCoXmqYcyRBnNpzV1ET0nZC9W6Don
627
+ racpKDIvCGQPvZ6PL1iP/SLGx2n8QQ6y+MwRO+f4A+5dabTJHgLBQ6s3nL8ijPUU
628
+ V8jLUAkP4Yzrg127RqfHRolf644d3RqMyxGabOlPAgMBAAGjFzAVMBMGA1UdEQQM
629
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBKXvslWP38FdHCrH4uZq6C
630
+ r38iUHhM83Bd5PWOWpJLSepoDuAuV6FaLsDVqjQxI8M1sv6uLfBbfsCBZY6e61QM
631
+ vWI8vzDiCaUicntxozI02gSedAOyecUksADYkoL0xTPWlWHoD3EwASbwTC9Giip6
632
+ 0A3Aja5mgDxB6vwRjhXs2hX0ERTJ0kmXG4As2gPhuqoXYKo5E2y+z8PkvEkjEeUx
633
+ laMTDrnaYZjfk1Vq5qED49CwAZljaIghe+Bad84JtEOckAEUteoCtsG7Th2/nQ9t
634
+ Qs81jLixhO1sYJmhoYxM8kwtv8/hC18u9qvKxZfqZfa178G3eePvbYNeS3LRlhg6
635
+ -----END CERTIFICATE-----
636
+ """
637
+
638
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
639
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDfTXQTHHDgCbBC
640
+ 8m1oybg5od+wH7Pfh4duI9m/I1JZLZoz74GaQZlDG2bTHwwa3ccXDF5N3BbVG5BW
641
+ GhFKquy37Od5mB88pDLngazumte0DaRCMvM542TUwBVwLruT2jNDIPtXFZ5b7XMZ
642
+ h+dyLXHbvP9wyEUUBKcSi5kRgp02OYJCg053dKazEAFtmOHoPNlCWlqqjfpMAXsb
643
+ iFUBCoXmqYcyRBnNpzV1ET0nZC9W6DonracpKDIvCGQPvZ6PL1iP/SLGx2n8QQ6y
644
+ +MwRO+f4A+5dabTJHgLBQ6s3nL8ijPUUV8jLUAkP4Yzrg127RqfHRolf644d3RqM
645
+ yxGabOlPAgMBAAECggEAPXeclAYoLAN+uW7yHv4n7/VXFawkX0t3RCIqNisK5/Fd
646
+ mR48lrGn9oj8bPEG6/5QZ0/IRbZnspG70XeretpB/v7/WME/F/o66O8RIz0MU0vO
647
+ A0rzGOQ3RTj6rb6vc6uEoN3bUcVpqfRa0pROaWeJB+umhO0b1r7RHpG+uMsza1E1
648
+ b/nrZs9H61Saj0IcZcjA9YRvevuwP7xRN/XJL/HCrkdYtqdyOI58Rs2TmHB5cj53
649
+ bHwlvy88zgObh+t18VYi3kx6TftpIT8Oft/0PEp9infCspffvw/1LrSBXyqo5MQx
650
+ CUFCgM6Q8nFyiQZi1trgyWfoCkBKpXo5ydrJChEQQQKBgQD8UxWV6hrVi39hfhQN
651
+ yjgHDKHcI1+Wcm9MxFp0oFvuqXU68r91JZtadMhz82aLnIC9+FQJC3PDaN2c4fVt
652
+ 7slD4yR9hWCl4pqcC1cbEyV2C/zQW1AVdBiqKkaeJsAeM5aeKia61XVZbpsYGIDx
653
+ FR1zGH5xUJ3uhGJ+Wno2OeimywKBgQDijiV4g2+hxwELgMPlmgdzNqp1rmqDP3O+
654
+ HdzqoI4V0cfIIf/OUfvksHMY0AfUgWppwH+d9ImwxXrntenS5mLXpihU9UIcIUD1
655
+ sU2jbDm5tph4V1I9CLxnBsmCZi0A+/IOhZNQdPzVFD4ZLJFpZV7Lf1FwdyyhrLWK
656
+ UKz/ouYzDQKBgDQFzUWDZtTwVer725acQsDxUc3ZXTPflCL3uM6i4VFrjsgAlIjK
657
+ oCUePtXpMRNHySNht7HFsrBvRoG59Kgdu1FL25Illa+d8NKLZAIpCGg2QIGU0gYa
658
+ UZuD69tfkeyoJj2l4yZSLEesDj4Bj1QlTlUUj709KdKraMM0VE4p0lXRAoGAf0pK
659
+ d1mx4P2E8seYSWqvgOZYA+LJaZC/ITR6KUGoU04Yp7OinHOnyafyIyDPJXDJLz2+
660
+ 9iqtKirqkUG+bIaRRoTO6F0cld2BOAo0ivuFu3iCVisJw80ivegsVB3Ab2sfZ1VZ
661
+ nbz9SWMkONS3prYT+tZAFaZ/5x64qUwGx2LpYAkCgYA3NbPLd4OmQhaANknb6QKL
662
+ BIBhiZzKHRiFkQ2KiYd2/lILEBnOmiYcjtWRmUdLMZidodpSpFbVNVc3U+BjEjgc
663
+ p0aVjmQpCXDRpWFQQ/Ak0XYeHECW0uwWKp5GuMkwks0dDCys4Z+Gf4kJSWmtu5OG
664
+ NR6RKo206k2HeqrAQC0L0A==
665
+ -----END PRIVATE KEY-----
666
+ """
667
+
668
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_1: Tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
669
+
670
+ SSL_TEST_NODE_CERTS_AND_KEYS_1: 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
+ }