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
+ MIIDKTCCAhGgAwIBAgIUHoeobLQu3yMmraIDXDF+F6M4j9IwDQYJKoZIhvcNAQEL
7
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
8
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDMyMzE3MjkyOVoXDTMyMDMy
9
+ MDE3MjkyOVowRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
10
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
11
+ AAOCAQ8AMIIBCgKCAQEAskK29xVfnH/4tpM+loZOOZX3d0u/NARRkgnPeoTs14M0
12
+ dKP+dZ+FRuuqKmJQHuO8+MFfeTFIiI671rWobtdGCXVD+TZ3g4btdtGdvPjIBXJs
13
+ RFhYkP/fIjzq0MoJ9O6qlhXh3skispfHRY2ysVHpT4d63tixhycDsMn82Jh92OGm
14
+ BaO8UpjIk1twEnfxsKm5MtPbvNJGVzAkwYXWVFdV7GdEYCKsVm94Sd85TpDg0xFq
15
+ q5YWOg5mpFbGAExBjFerHSuVBuNsBap0mjL3aIb6MXvQeYp+lKrzeUfkUH06e/Pr
16
+ AY+TQPO9ktcUHHZ8+HrXhOODdeDlbC8mWzR9I59AfQIDAQABoxMwETAPBgNVHRMB
17
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBQ/s/lX6Tbdg1g1FIShK+BH+5q
18
+ msfNkAQG+mXYGbn6SYQQspYFZdZp4kXLdSKSjok5eWoMnfYN+hy29A5HgeJfdbM4
19
+ 4Nmt5OUvWT0EOTD1VtdVnsH8tac5Q1XevE0ZK9DXYBSEXqO8sVSt6VWmNT98lmEZ
20
+ AVWtawc0zt/31QAZEa5Jjghq/HRbIi6KUX1t3Hx/yVa9Uxiz1dBVE8A+QBwVKOzv
21
+ egKu6T94xBCcOeOh0NgluRdFiTr9cXAYNQAUM+WdmyAvFZ4qwuUKam7C7zX+td6M
22
+ r80F1SD8qbQgxYS1bwqx6K06xbFRLXpWbyHXG18v6ia+sifWblg6JQnYhxZg
23
+ -----END CERTIFICATE-----
24
+ """
25
+
26
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
27
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCyQrb3FV+cf/i2
28
+ kz6Whk45lfd3S780BFGSCc96hOzXgzR0o/51n4VG66oqYlAe47z4wV95MUiIjrvW
29
+ tahu10YJdUP5NneDhu120Z28+MgFcmxEWFiQ/98iPOrQygn07qqWFeHeySKyl8dF
30
+ jbKxUelPh3re2LGHJwOwyfzYmH3Y4aYFo7xSmMiTW3ASd/Gwqbky09u80kZXMCTB
31
+ hdZUV1XsZ0RgIqxWb3hJ3zlOkODTEWqrlhY6DmakVsYATEGMV6sdK5UG42wFqnSa
32
+ Mvdohvoxe9B5in6UqvN5R+RQfTp78+sBj5NA872S1xQcdnz4eteE44N14OVsLyZb
33
+ NH0jn0B9AgMBAAECggEAWbuXmp1Zuc/5hP5t/RuyeO5y2cx5fVfHL/pcRNJw3rOf
34
+ Ti/XQaKBVof+6sL+je4aDCZbRwh1+LfQ+m4LUXBwQwaSpvqyArWDB9LQ0nVxSryk
35
+ n2rRenwy+Gst0NhDVtZlbJOrVZhuLPSWTP7dOsF+7pfGVDNEekI7a1ziOK3ae7eT
36
+ 3YjwQejyxE9wWyyAQfsl0WkY6b8boBNYalSZIllPEE7NHmKmtHweXZFcgEMZepUp
37
+ cCksnc6VyFI6h14W3aHt9+I0ma4Zn9yfGzTTl5fMiDTMnkJ9+hB07mzrdI9GD7Hw
38
+ 74v6E3SToqHkKYWkByfWPNlq28Y7jud0FTGRLKsfQQKBgQDZrWf7zjLoDfks55S9
39
+ MTSbdz4NegjuOXrNRJ99cnk9UfuUqujaGrw/lMMbY1X2oW/goUlXLyG/Loh7T4dM
40
+ 0/5BJQHYu8lKngaGVA0/j8nqhjg0Z+hx9sr6tzz+MRVBqjJKrU4MtyERrEyPCAo5
41
+ VxSqHq0JCOJNnd2qlm7BQYAuhQKBgQDRpNFRhzKcFY/K3k5P3wSRVfg2742o40DI
42
+ qUNgmpTY0c/jEcXFU8/BhHULi9kkSYLXPcJFp36y/AGEJeyHniFMGFmQX4FXyWXj
43
+ 8GqK4eJqoX3lVHPwHjCO/7RAo3V8JA7hFPl0SpsCQlg+r69gIl7DeI9Y4MuRor8H
44
+ zJzWFDeXmQKBgCRiEYFLA8M5oq5Yvsmokcxyb9K81QVMYjQxBh9npNAVBeHhdy4N
45
+ Te2qpbnMLrAcZ6C6FJIX9KIJ2xIRRuIWhObKkrZxHMH2C80j+1rmY69pY7eOrpFt
46
+ 2JtzSSSLe6wQEHve367MZSCZFerKQzs2TOPqYK2j6H9kpYo/vp9anVwpAoGAfYoS
47
+ Ip0wTFGJGvXGtYOaS6HMkrEfBmyXpdHeXCIVUkVKFPLWmJTYy0yTfoePT3CJ3nTI
48
+ OkfT0kCgc8719jxWOig2sgLPBI/A6R9V3bboi+wK5OKOztJ1R5yOB0sbFmzNUDHs
49
+ M5xdeJvcFiXEgm/yiWFPjeyHWr23YWdA392ZcLkCgYA3mSWtslWBQTyRGKTka+ly
50
+ hqzIOS0lDwooMPa79MORFoIl/ofRk/XjloyTQyDkMwbkzz4RvqX6IQ5fWWusncQ+
51
+ 1xCtpSIUA9cXyyVuhSzuTkdnqtVyQeoy8EJlMDF8h1H3R4UrqrQ9NFgfZl/Eoqk8
52
+ M5FC/O3n2t4d7G85VO6jOQ==
53
+ -----END PRIVATE KEY-----
54
+ """
55
+
56
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
57
+ MIIDLDCCAhSgAwIBAgIUFNReIWFnacmYlEf+oXKER30rJfAwDQYJKoZIhvcNAQEL
58
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
59
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyOVoYDzIxMDAw
60
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
61
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
62
+ A4IBDwAwggEKAoIBAQDdivRLL/onTCvG9JKzYXCxW6hrwYRgmiyG4ISrIWlainW3
63
+ ZCduM13t4qlWp2lVYCIez8K3NYb+m9Jk4tYJujzU9FhusvAy2D7SeGJGkAvDuYMK
64
+ LCRM0m3/Q0fls0RMHyNd7Csg26LNyGukdvEyKmonqA8q5MZENtsRx1tQtHORLlio
65
+ kEXjyd67J1wm5m4rOk+DqdrIzSAuomj+M/D1lRh0icjiSE0Wm9PXJllzSp/JyLqN
66
+ AMIDIjkG5CZc7cD2yM7OZQ+haCxIbAmxzyWVhLeuGiTP2qZ2ZRML2HXGVkQfbE+c
67
+ vFkPKVoY6pOI0USzM6ipqmYO9Y6357SIeSWhNNG1AgMBAAGjFzAVMBMGA1UdEQQM
68
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBGWHpJNp8iDR5uy14qFYwY
69
+ 1wwIvQUem0IYADuTXIP3Y+kSKyZpuZeYWFlKzrfTf6wTlmZchcqpidUfkqPS8sFL
70
+ 4LLRlDFTCWhIiBSs25gLLwRiMTErStedojGS9+smMVpp+/LguAp+kR0zyov7+Qe/
71
+ 05DW/fgtZFZIuDa9DX2aLcr2LHLpQU2+nKFM5E4dOEEwaf2rDkpqITME00bZRipF
72
+ yytQq6MIG+W2dl48b32B+VhU3UtjeJ4bYDY2BUvAoI69XN/RWO2JVZqEcuAKXjIY
73
+ m/+snrJJ8RNATWZ0XgFUQ3UL2j98qHwY5XtGNvLfkot6EC48t0jmuPICg/mTxCPV
74
+ -----END CERTIFICATE-----
75
+ """
76
+
77
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
78
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDdivRLL/onTCvG
79
+ 9JKzYXCxW6hrwYRgmiyG4ISrIWlainW3ZCduM13t4qlWp2lVYCIez8K3NYb+m9Jk
80
+ 4tYJujzU9FhusvAy2D7SeGJGkAvDuYMKLCRM0m3/Q0fls0RMHyNd7Csg26LNyGuk
81
+ dvEyKmonqA8q5MZENtsRx1tQtHORLliokEXjyd67J1wm5m4rOk+DqdrIzSAuomj+
82
+ M/D1lRh0icjiSE0Wm9PXJllzSp/JyLqNAMIDIjkG5CZc7cD2yM7OZQ+haCxIbAmx
83
+ zyWVhLeuGiTP2qZ2ZRML2HXGVkQfbE+cvFkPKVoY6pOI0USzM6ipqmYO9Y6357SI
84
+ eSWhNNG1AgMBAAECggEAIeOElQ/Eu0gqlieJXUk1fNvheoJCpqhO0V78zFSzEfeG
85
+ JER8x52x65a1gpzfPwESlxX+2hmlCcN6PpZ4WUqUzZqHAH/8wDpV+coSdmrIcesp
86
+ wV+ZOesiil6XW+q9Msu8lDxxKHiQgdv7o0/Se3MDhAdwMoaGUZ72idSuAj1oRDfC
87
+ sdm8KHLIBXw/+zFjYix45/k+Qn98Gq20Y9n1pF2nO8wLJ9uHKAcBWSW5x5+5B6Gl
88
+ zZ26/oFTAJ3UeAAjBnjaBpNDyHxiHZLEOJX0MqSRAQmgbxldgYd8qleju75GBO2k
89
+ w+ZGeWzm4i3fioQJEkaZevWkL2IHHWhEiLpB2ejirQKBgQD+VwpGemOudZ8ZiAtm
90
+ kg8SvilXfbwFnUjsWPNoJx8MRTvSDEWkJdpWIc/xMRYbf7If5Y+h0cx8tDdTMvNI
91
+ G7+j9dh9TQ2TgDtCsa3iF4NGY8YZj5YQqz8uiJeUusXis4rDd965HbBqCDo2k/m4
92
+ OtpUkUIMbk7T9IjJZJzllbsMQwKBgQDe/R2N+bSfp02kkOC8LPnSqEjqKNRP9a+e
93
+ XVVVcekZJUmMMxJ98uwZ70b1sckLPSzcTQE18YmWLGaSnOa02Zviq3hqF0Rj+W1h
94
+ QWVZO9jzgmO8lMWuNXSJ/csuVVZ4ebRoRwGsGynRn7+qmhjoAmFaY3SNfalLxZuy
95
+ Mc704zzGpwKBgQDrTeubuK9wQDGplUu24XpAhN4Kq7DAIPvObZ0Dxu3alFL7yY7E
96
+ hqCw/yc6pYcmecV57RAtTcQ5uyFUP9cD52gtcM2RXzAoPoKU+X09pzM0dCpai5Ty
97
+ ZvxVONnEJ+fcDO9cWBIegXEtJ99zjwOBhjFn+9t3VLZpMds7N3JQlW4vsQKBgBQC
98
+ kLlh1ASTpdMDsTcRriVqNojUuyClwmmqpHKzcyBviScMmjc1Kly1bR+1IX5hsfne
99
+ 6yHlF9yjBV1YuRc3g9aWXorepaN3CYq1rJuSVEidxcdxbj/QyjFr1eTFganz+e11
100
+ mb/Q/DK0bCWqCFwhgozy6c2cnimPhQY7k//DuHt3AoGBANipqLaUzia253xefvuZ
101
+ pHWiVJJyif5L14boYbJFA9Wibg3K99pDG9uoVBmfChC6Hm6CxvIIDSqSbZGEEio1
102
+ ajiPyszsAdvbuqQH0Xm0cDpL4Ngb2QS+CaccXGJkJj4u7rBE/lKyfPjjiLZOvqRS
103
+ chyPhdHI5CNzAqqExg2h3lca
104
+ -----END PRIVATE KEY-----
105
+ """
106
+
107
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
108
+ MIIDLDCCAhSgAwIBAgIUfZLZhnra/z8yyJivw/7O2simIzowDQYJKoZIhvcNAQEL
109
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
110
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
111
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
112
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
113
+ A4IBDwAwggEKAoIBAQDAkSC0hl+/EeP4XUtJDAWCBRosaU7munJ8XX4fZDcmXzsg
114
+ p2zdv9UZp2zkfXTYP5zFAnjG9QEiiURMZ4rIKdr/cJXY/93H6dwfrjZTS1gCSlpc
115
+ gkuq/cdbOeU6xCX8X/dotSQupbYr6ccPVf22iON/FotilEpP2yOFZi0d54uKnBoq
116
+ x6GP22b9/Ij+tQNacPZavQjZD2i7ChtLigtMDmrrFMOrsQjSCQPpGKsXmyNqTo+/
117
+ BKAKEs+WghuoVh6G5BeC2EY/PoUohUxBUWlAXThA73yrq/nGQRWfPeNZ2r0d1z9m
118
+ AlUakb4a54M8tDO+OOqw985KyhPYRGxOgPDFy4cdAgMBAAGjFzAVMBMGA1UdEQQM
119
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAQRNledZvjT6+Rtb29W8pN
120
+ 11WfUj5+QW7DX7/AFd59PXQkPbTf9EPiNtbriPaeOQ/B+jJ10/hGGGUhft4IEzpX
121
+ ffQ09CPNAFMiyvvnOQdykH9lvDMcoVYi4EjzFsCa7uVbKSZApeO07hCWRtlEeDrx
122
+ QU//I1F/BcGQGh9Evh4LiZZUzRxqlGE11jSBNIpSNkVE0DO90lBwEujvb1OC4YUh
123
+ x8Ef3hzI8EkR4VHG8SwX+VlasHAvM06ouKAQeMMNTWxeShaTI+mZkVUgkWJvTxf6
124
+ LwmU1B8s9M9hNUailBda/7ztvcZHWxghBhsWICZIngUvt8M5/rrgph+e0rI2QMiP
125
+ -----END CERTIFICATE-----
126
+ """
127
+
128
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
129
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDAkSC0hl+/EeP4
130
+ XUtJDAWCBRosaU7munJ8XX4fZDcmXzsgp2zdv9UZp2zkfXTYP5zFAnjG9QEiiURM
131
+ Z4rIKdr/cJXY/93H6dwfrjZTS1gCSlpcgkuq/cdbOeU6xCX8X/dotSQupbYr6ccP
132
+ Vf22iON/FotilEpP2yOFZi0d54uKnBoqx6GP22b9/Ij+tQNacPZavQjZD2i7ChtL
133
+ igtMDmrrFMOrsQjSCQPpGKsXmyNqTo+/BKAKEs+WghuoVh6G5BeC2EY/PoUohUxB
134
+ UWlAXThA73yrq/nGQRWfPeNZ2r0d1z9mAlUakb4a54M8tDO+OOqw985KyhPYRGxO
135
+ gPDFy4cdAgMBAAECggEAPB4Sw8kfoxsGvMcDde6W2ZyWKz9FLqsOitz1Pv+eaBBa
136
+ +TrLtf7pnHS0fjDchZZ2btryscpTbGDGPcQlg4/tmsmfPnvC1WKhIhLVSvO+qhhk
137
+ VXUoAl3wGv7cHZiW809SghHrFdUOJm95gcQqzQ23WDnFkiURfhS/5imb9DYRTlga
138
+ fGzbfwryTCQ+01MvIBDu/jRgDJny56FS75O9owqLgbBf/5NpdZbx16TZ+yS1YZ/X
139
+ R2sxyS+/R/KjcJ1iVIyzQ8VmQgeoxC5C/38T5cjy+Iyi+ueFTneMtuzhO35/eQO1
140
+ ZVSt36SpbDkxfNPYrnPo4ZC2MrZ6cALCKWORu/+e0QKBgQDyFR+yKGUIUpl0kdlb
141
+ qaV0Vjkt3xgSwCpO16viv2KJ3z5HrKtKvaRlx0DI0VwMEZaRfnWe6m15T8sUeiOV
142
+ HKbFUPYBUZqeSdisngM2+9zTxsKBVk7Hu/O70pBvwTXGyL1Pu7OgZ8Oo5qlBKo+s
143
+ W/Eg+Sopak56pjkmrhRkPuieZwKBgQDLo0CioWNvPz/oiak5pHtxAwWA+fDvj2qa
144
+ JGggwdIvRQuQqr9cXyk3f+bHMrGYsZcZib/Jdulym5LmggTa+HDGDVcCBSOkQbuy
145
+ 1a2/S2XOnLbfT9PPBMk7Y44RpVw0P72drBVPS59ftz0JFwfhyyAbh4lHvj2sbuN0
146
+ uIaip2az2wKBgQCeDxjA1AsTYgr7x3apmJyE1v9CahVnuLxm+f4qcFdAOdiKJ703
147
+ cZbzNSOhesCkyJ8MpArcFagguu6Xkh/Fbg2da30T41oW25RzMEBdGBlY1L+OfvG1
148
+ C4zaJ2NS9E3OWqbwdleT9ewUTXZZLBberLFFnCnhHJ3dCsbp8GM0CLcNJQKBgQCh
149
+ O8dHfSUvxhKh2a1leHhMiKno7vz3kMRE+6J+nTgAOVjo2GjfiHEoAlsFSXwYfDQ5
150
+ AjoaF87K8ackX7ncbm1MQu+rJ8qKmYk2Fb2WAuq+5pJcyeXYud9i6HZqPlV9ASLv
151
+ HntY53Vu4bSv585T1vK7GVt2tIg8aSgrGJdxXb4RlQKBgQDesyxvn8XWcKy6E9LU
152
+ M2W6szBKah0VphqyDb5yDeFA+0d7gs7zpTx2hbVz3ux0osuQfT0TtmZlp9dOPi4r
153
+ BCUtrflSZpG88z6ZZ08uvQ2SSbV0QCLb3yDMPW7emDWNATVNriS4Trm7yXC7Qkq+
154
+ N7ym8cFFFxe4u+vajInVVZV+8A==
155
+ -----END PRIVATE KEY-----
156
+ """
157
+
158
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
159
+ MIIDLDCCAhSgAwIBAgIUZmWsnGgQgJO07P9Mrqx1hHBfQbkwDQYJKoZIhvcNAQEL
160
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
161
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
162
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
163
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
164
+ A4IBDwAwggEKAoIBAQDjcVLjFq2N6GKxvke2xGntOo62h4ze0fNrdj/OifXvpzxf
165
+ qnPkhBcb7+6GL/gO9IT6hnTCDSjNQG/Coi1grjoPT9T+DkamwioBcFdIOYwEqPCd
166
+ Fk5ZnqwAWWg94+dkb/jlRcFlShNcgDriH/MrgfQ03A4VfqzcNT8GzZ4zwFqAyhiV
167
+ KQ56q0qrnIrHQDERII3QMH72EGCVX+32IIkz2CJvo56yngwF+tDzYJYHMJnNTCG8
168
+ iVD71v6qBM52G/6bKFRJhyZkKkVqPwptIXInDPY5ETgfZYgD67ffQ5+W1kXlCmmH
169
+ PuK8w48Fw7LjRDzLTYRFyDSIT1H5sdRvHLIl9BEnAgMBAAGjFzAVMBMGA1UdEQQM
170
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBvOTJdNGUD5Zc976Q5SJre
171
+ 15KN8PaOsLePPISn7e/2DwMGuq7GXnGa4JCb35XTGjX+Wxgnv/0/8asMimay6gwE
172
+ YZBcRwakm3l3//4W1ELc6SREoFcUTV49rnccq/N3u7ZrDubf1U9uKvFEpwp9TM8a
173
+ nq7tVOe3j+Msyvq4/q/l0nnHX/uuWYrZrC+Cm6tjytmOr6JzAhURFoVx3QnwaD8z
174
+ qm+cisSE3/lLuyTzgNUiQkdIC6bCg5KVOrTXFo3T72F7+oeM7h+OiDO71y79x9UH
175
+ r6YE8Ab1nYz6Cw1fwy3/QzxtazuTrJ5gBotF0oqCoayEtiOMZr+aQuM/qRs0EeTy
176
+ -----END CERTIFICATE-----
177
+ """
178
+
179
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
180
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDjcVLjFq2N6GKx
181
+ vke2xGntOo62h4ze0fNrdj/OifXvpzxfqnPkhBcb7+6GL/gO9IT6hnTCDSjNQG/C
182
+ oi1grjoPT9T+DkamwioBcFdIOYwEqPCdFk5ZnqwAWWg94+dkb/jlRcFlShNcgDri
183
+ H/MrgfQ03A4VfqzcNT8GzZ4zwFqAyhiVKQ56q0qrnIrHQDERII3QMH72EGCVX+32
184
+ IIkz2CJvo56yngwF+tDzYJYHMJnNTCG8iVD71v6qBM52G/6bKFRJhyZkKkVqPwpt
185
+ IXInDPY5ETgfZYgD67ffQ5+W1kXlCmmHPuK8w48Fw7LjRDzLTYRFyDSIT1H5sdRv
186
+ HLIl9BEnAgMBAAECggEAfIJcMs8GYao25UDad3Zc2q500/2uo4hh7pFEaufhh7mQ
187
+ dnqUiSO6luOpOzJlZKJ9bbxPjK+xh3Nf+zfXCZc3V4yHeDEOglnGrxT14ycFvMNT
188
+ PVuptqwDUwme5EqwMK6PncurDK0Znkjgc0u0TjwNGSbiWugG72ICx9GmaoRBx0BS
189
+ 1cYu8YaRf5X2PZ7FETJVevEAsLk37iLjDsR/lqJ2Efv0ga4xt+nzxBLs1uOukTB3
190
+ W7I/cnsoKLJfBYgmcnIXylx3tlSw/3mawT1JN6goFpX5wgTTeO9NPh+m5DYKfZZh
191
+ LGSBV1Yz5d3Eai4hC9ug4E2891Z91AItIdppxGHMaQKBgQD+d38Feab2mQYoeb1c
192
+ MfL3ulibU9I6KGyCNmrXjyFjfeB0D+JtS0pfudKWYYBTNVNTTWd8+aOQenRjKgOf
193
+ 416MDI+EFSo+jF8LunYifUyKJs6UwPE6k+XX336C9p0eTn2DkCnTaIK7WWeVH0OE
194
+ Vj7jZdwFIttrwx2mU4viWGfH1QKBgQDk0CTjkO3Q1edoootsxbkQ5kDXMtRyiY7w
195
+ AfV0QX6Xd7lQ6b2D5idi1RUAsozWcFzQQnd+7x+YqEOqJ4vFvjajuPzJCp4pRdlb
196
+ dd4MY90uFHxyjEgJm/x/aPn1CDHqDBDSKnIhRqf/SsNSbt2Ke77TtVriGqe+m49t
197
+ RyjdVyUPCwKBgQC/BJzJU2TOQFirEZfgGW62H6BcGTP6jFXH+WmCnuMFeHyBI1tp
198
+ h9cwvKEkWdSmoaUHJ1fELPFnh0TPG77Uyy0yHEuvbuPjSCQg/buocD6AhlkUuTFc
199
+ M6GZxx+E1/NhyLHXjOSY2h8o3BgxjOJ1+PgEY3YiNORZpIIhVR3wr0RYcQKBgHrA
200
+ q7mmK99okiARa8kr/g/x5wFMVKsp3xQliOAYruhlo3akHzbex2x/MihQobv9Rd24
201
+ etEPSh0k0EA9vP+V/0wwVvUoDBfKUER/5GMzRBqPhQATACafl4Nm9wocnmKYnIGT
202
+ oez2MfSE0Gqt7Y54urRrS9mXQTzByd1vWp38PXZnAoGBAIMo2HNWUrC0bmEX2sbQ
203
+ UvFS05244Qf04jg3QFqm2gmdwbD8sSpkj1FlaKbt5jOy3rMa+ybqGIJldH2m3UhQ
204
+ 1ULRjFo/fxiiiUUpjHByto8h+G15fHkIXYMR9VEjHhkvwRzScp4bux/OXUAzfSQ5
205
+ PWxnvhmehLqJg1cZuRch55xQ
206
+ -----END PRIVATE KEY-----
207
+ """
208
+
209
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
210
+ MIIDLDCCAhSgAwIBAgIUJg7OmxTb+nSse9yCvMecvDQ995gwDQYJKoZIhvcNAQEL
211
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
212
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
213
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
214
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
215
+ A4IBDwAwggEKAoIBAQCoMxRs8WLspmYqmfcq6MqZI2h1bNRqXkdXdDpRTNkdfusp
216
+ 8Xm5/Oncd2ewVbOIWNtaw0c5Uq6futXmo3cMAf4fTCpQUxEeWcMw1KWK5vudfXFY
217
+ w0VNxS9fAR4ByRbNGDcW7HXu0silleuD8onSKxBEyUpNHksqmuWLJ+Av9zvRfl4V
218
+ P5WUVr84dpaotLXYx4PxoPINRloIKIrzsEAVwrmV8OxsbsxdlvokUYy6kezTRNqN
219
+ 7izl2CCi5PvklOHYr9Bf5NgfAE4VMMTcVrQKebTkGAdlJipJ3N7gf75Yi/mMTXnW
220
+ SjMSRjJWGub0iowNUEXLXLaSQurQRJ5iCoMCZr4tAgMBAAGjFzAVMBMGA1UdEQQM
221
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAw9TzzcnbQvjEC4zF4nPr4
222
+ w6cNUog8tfiUx3Oh2Hf4+//Urhu+9rO2ylV90apT2kR5qUT0yod3s/9WGMe56P1b
223
+ 3qES6PTN2LipOT0js9SmmhHmcy+tiQxeKk37SWjFMHMmfpaZHLZROxIAsHUlisYo
224
+ Pb45Lm9zd/yofyh0xTHC36KaU7R3mVzE0cKtFKHZIiwpd5BUp638lY6tngQzOOe/
225
+ hhxRyJ4XoafugAgW9nykm+zMG9LxhHpoMFIZuZQZED4RKG7gKA8l0VqKm9Cg9DTm
226
+ xqhRHtHY9hS47dsHL9Ggv8XsBy4nnkemVhB33DPK9kYRmz+J4Y8gjoqlL7ZL8bnr
227
+ -----END CERTIFICATE-----
228
+ """
229
+
230
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
231
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCoMxRs8WLspmYq
232
+ mfcq6MqZI2h1bNRqXkdXdDpRTNkdfusp8Xm5/Oncd2ewVbOIWNtaw0c5Uq6futXm
233
+ o3cMAf4fTCpQUxEeWcMw1KWK5vudfXFYw0VNxS9fAR4ByRbNGDcW7HXu0silleuD
234
+ 8onSKxBEyUpNHksqmuWLJ+Av9zvRfl4VP5WUVr84dpaotLXYx4PxoPINRloIKIrz
235
+ sEAVwrmV8OxsbsxdlvokUYy6kezTRNqN7izl2CCi5PvklOHYr9Bf5NgfAE4VMMTc
236
+ VrQKebTkGAdlJipJ3N7gf75Yi/mMTXnWSjMSRjJWGub0iowNUEXLXLaSQurQRJ5i
237
+ CoMCZr4tAgMBAAECggEAKh0H+zMBGtGa+QWtzi+VMnycFfKWyL8sS6hNRbfhELKL
238
+ fOf6G2hIwauf6ZW7quLcoUANoDukf1fPYL0C/J2vG/T9DzmNKrU82wgTHtEwpMEY
239
+ 1SmnO46oirgD5FyN+fIbMQEpkg9yr4r2+gWLHnUr0J05nk98cIFyAcKNLlVPw+bh
240
+ C1ScfsCT66dPxBnYNorU9j2Wexu6uvajtrGSTsMtKxvrSlvtcEMuu/RzmLj9ciFI
241
+ /8YFQnQYtMS61Yb2JfBrk3OXGjPhQaOeWM/zQpAHVMaJmcViKiWspqP6uZy5d4Cl
242
+ i6IDAUjwHnwNjKiXcoleZQLOKXDfzJwCt3SciSHInQKBgQDRNcd9QpmcX1ftWKDe
243
+ EIJ8dkUnLyDcvxGSUiNlWf1VQYVmEIg+Iw3OBIjl8ryzHWgsrPi9i9Pj7hChLeRv
244
+ XelYZGgbyigXvpH/SyhdyQob/Q2XZ+rpgdH0HKDG+f1fHEYdOggl/F9ybN8TyH7C
245
+ al13i3W+5bMjOsCrKgEN/afEhwKBgQDN0UMFv4n0Jm+IC2w4ASKi5lvL+u1n1rIt
246
+ S6VFMNm4qlWdUdGfNyQDpwsSoQILh2vlawdsMVqyS2/HlyGXlK4Tc0VHxzOczIU3
247
+ mulY6lh2XVDDA5DXmwEnYu5P6Zp9em7X/vFGFnLDmhoMOulqo4tO9BvGWteOldiU
248
+ 2wh5cAvIqwKBgHW5O24i4el6RTILo0oSJDsBGly4SletNKgPjFdl0gX9fqE2QFQm
249
+ yYfaSWaLtt9bdtlc5ANVAYDK35SzDE4WnE3fAi5RDUp/NAxiMG7Fx+iD9vfxw+Bt
250
+ 6sTgryAIYCj68gFUPG2Tm+n5lXW+ZoXj8IBqe3FWM/1o/C3Uzw8eYx9VAoGBAI2s
251
+ Vi5GwndFXdCPzFZgsa7gUp/+ghzQNKXpREJ0deoflf9MqramBixdd8nC+t1kwmiR
252
+ W/KlpoDEXJVO+tiUh57r4eyeunBcd/bms2l5JpuTcFxMwA8pq4mpF9H6Q1XMSTB1
253
+ VS+hlC4AjZ2Nj87P9LzMW7IWJfsIOqV8gEDXV8UxAoGAQGUk1vmkSG7211QuU4Su
254
+ gbRd4JwAoN9LRZQutuTVUJ5E045dh2iIba9giYzqNRIiseZloy7tpotgoNsLfHB3
255
+ hnJFGrgqMFgoczqjiH5tlvGXcRqCNvRRCeu8iwXDj5VZrkM6t1W2mgoEA1RjQxIB
256
+ 9Q+UEMEwZS5D+rdfwaDFnkE=
257
+ -----END PRIVATE KEY-----
258
+ """
259
+
260
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
261
+ MIIDLDCCAhSgAwIBAgIUBK/eOJ8iPyAfvjMt3GSSInfW8+owDQYJKoZIhvcNAQEL
262
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
263
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
264
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
265
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
266
+ A4IBDwAwggEKAoIBAQC6Z/5RC7RCEceZktvq4CJeAaGlKGJFpF3z/THIWoVjJ03N
267
+ KpDMprhq8N2HM1pM5I0HPDze0hDCRGpGh3wby3FmVAxb1vJyDTT/DLw5KYDBQaCY
268
+ TXwschPu3MYfSJIUXlJVWRC7di3xV6si3L1ALdfmK2des/YWCYP0qIjc1E8j/OVc
269
+ wD2PdyHR+p129SsO6WB8KIH/ocTw5YJisQBebUo4m495FhKLcKPiczUpRL4CmZUa
270
+ dFkrTWz1Vcr33f6fFybYaWI3lxHHYxOSB3MilDd8Au55tLhkpwpkaqPKWDP6b7au
271
+ WFuc3q8DegbYRLyq7qEudsG/u4afrHfI+vovHLVBAgMBAAGjFzAVMBMGA1UdEQQM
272
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB/MflzZFEWhLZ/ZcHfmVkO
273
+ nTs74yALWjdld24er665E/tbRUScuGwpGJDhxoLE3JrsM8wIyqw/dOLqGscNprl2
274
+ u5MBRMwzbQncE1kZ9YNyT/1oC84Fee3IFni47hBUJK3o1zOuRlU9cMTj3dttBEG2
275
+ hByAv/ZP56H/dQN1/LIGoOHNSRhdzuY33rFYg6ZjV5mnFh4BHQ8jElA6lTiz2uBL
276
+ 98RePraQx1ONCXyrjBV5o0G1Ra1UmRo/DBvkQu03eZXIyqSrZJKX1xM8345p9SjI
277
+ Ztpr9N0YFHRkMrj8SCiqYeRX0LdUW/D5e/gBf5j+dJzFiB6NHgyD6mKORQgxmIPY
278
+ -----END CERTIFICATE-----
279
+ """
280
+
281
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
282
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC6Z/5RC7RCEceZ
283
+ ktvq4CJeAaGlKGJFpF3z/THIWoVjJ03NKpDMprhq8N2HM1pM5I0HPDze0hDCRGpG
284
+ h3wby3FmVAxb1vJyDTT/DLw5KYDBQaCYTXwschPu3MYfSJIUXlJVWRC7di3xV6si
285
+ 3L1ALdfmK2des/YWCYP0qIjc1E8j/OVcwD2PdyHR+p129SsO6WB8KIH/ocTw5YJi
286
+ sQBebUo4m495FhKLcKPiczUpRL4CmZUadFkrTWz1Vcr33f6fFybYaWI3lxHHYxOS
287
+ B3MilDd8Au55tLhkpwpkaqPKWDP6b7auWFuc3q8DegbYRLyq7qEudsG/u4afrHfI
288
+ +vovHLVBAgMBAAECggEAZXbfxovBZck5xY1b6aBw9IycyUKPI2tRvNKQO4eSXaNy
289
+ RQAra0pAze0oGETKnVo2rb6LP5pGhwgodRWgZ5y4sEOFqqP4uj4YH9B10AOYUxl+
290
+ 6ggbVDIQSY+gxDyDT1T8KfreEbxFS741qDdRSFLr1xy/GpyIkfxB+HWYceOa5HIA
291
+ wyxiVuKraonFzA9BA7xL6J7LB/Pkq1gqQsPYbDO+aK3b2vUA+GnaMVpMiysyTNjm
292
+ dhzn6Cnorz5dncGbZq7nQ/9ifMG5cUMHpNyANI99qGjkdrCwcfIiinXl9qOfx28n
293
+ PMxO7HiR3FdywlylqxPJzVtby/VWtwaAdxzvKGiAtQKBgQDoDo2TyB9ys3uhNbjs
294
+ QLL5N/CI/juUKbcyL5etbpN0ovp9DSaF++9ay+4d+YMfpv7I35NldAjj1VPEmghR
295
+ u810qv7eL2un7a9qGJvj7MSSizbw4N6Ll84UlxmuOwzbTiRWlXPqPQdBEcTxKMB9
296
+ Rg7WMcsjiHQXIQV50XbacyXBIwKBgQDNo6UfFnCIjV5S2jZJ2ZPZNllYTvm5OfeK
297
+ GTTB8lqv/8sbW4DGuoc3SDgpUyqBA34gUl01nYU+0hDYTQ/jaUgPZ8a2nAOcwICf
298
+ 92um+HENTmLaA0RlDssil5k4soLo0NCpv3bxF64p09DdCYwn25af0Dgg+RLtzVa+
299
+ QisSROBgSwKBgQDSASGU5N244r72RHTmsSKGsV4ny9PFIP9eFn3wgQpG2ptPghAj
300
+ 3rxc8gK686v7gBhBVzu/64OEE/GsES2IMiob9AeUsVt+7HX70Ot7GDFI4V3GHeqo
301
+ b6gbMCcYau4WpZ/zD2uIRtSCyX7uM9AHTthsdUF+FaXhrIuVE7+4r84x+wKBgQC9
302
+ gtuQi9CHt6i+uEUhx/deTZ0HKjkv/4DmbxZUyrHS0uxuOOSzwIEObGr9gpyAKyTY
303
+ Sq+F0rZST6uge1xyGruDHwNdlOgrVKj1Q0KdrQYa2it1eV9Vts10Arv9KV5FivNS
304
+ DJZj14v1FjS9D6hvrwngHDcuA/zy1LLlQfuJqZoSgwKBgQCa5/XDdJrxy6cYGvOW
305
+ PCGv/kKMbfMMjX590VR4+K+hTk2hywqss+kqmRoFraNwtfF/bc1AE00NYGp+yL3D
306
+ bz/mSX+BRFPuiE5x/hhH5imfLClvwcjmZvhfE4buVrdj0yFrD+IL8lZsOBvYk5FC
307
+ Z8QaFOfz2CDLvK7nZuvPq38w1A==
308
+ -----END PRIVATE KEY-----
309
+ """
310
+
311
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
312
+ MIIDLDCCAhSgAwIBAgIUDuk4yYHfeEkTr0RtsKoTAPWmWRYwDQYJKoZIhvcNAQEL
313
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
314
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
315
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
316
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
317
+ A4IBDwAwggEKAoIBAQDjKy/CjxjtUi82UKxLzsR39LAoE9BUZwLlkvPrugeudoLq
318
+ EHlKTolTuvlFJAi1e5PKjJiHdKW2vSrpt9yBj56qw2xt7eJOQKxIE1kdeCdLoK1M
319
+ WaVWVekONJSlSqcHkW3NuBVtbAKJO+KIdTMMolYJlheQKBZp3JsSjLakDUQEoGyb
320
+ GT/+/xo3OZciBk1acmOBh9mJ///p8LO/oFZXZCXSau3+9K9vzcwS5J3HkDjkNVxb
321
+ AJny8gEe6ux0rXzkZLfG8WA7F0SVu+493kDHB4TO6o7UxAWatGVcyG+M3ujJ9iEg
322
+ 0oeyoCghgpBSX02gM0alwW2cWNrkgisf0tyuJBRdAgMBAAGjFzAVMBMGA1UdEQQM
323
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAqtpdHxteYdjGDUaNuVzRN
324
+ 1qmnmD8m+scvNpqYU5wQ4xawZVFyx6k9dl40BYeYvTcvSpBmNoy9fTpuTYVeeOae
325
+ glreJiKnulsbMRHwxDjCKvhoCge8ZTsX/0Atfkb+AHNMEN/QXS857ovSy8JoV71Y
326
+ S3ZGa01vG6AdHfpin+xHuDBh/B7bCHPBEwNc943PgAeQ09X0ZP/EFb31h2sK/eoR
327
+ jytU7Aw/NwCnSaA689xoTmtJp2p7INSTXJNO/rJeRKPxKNF3Jcg9Ngtci7CxkXzi
328
+ 4+Hs2aSkIAYj05UcYdiLs4TNR2ZrPKA4/ZSZUCCDQAogOEUg+SOMGPkevqpojYvf
329
+ -----END CERTIFICATE-----
330
+ """
331
+
332
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
333
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDjKy/CjxjtUi82
334
+ UKxLzsR39LAoE9BUZwLlkvPrugeudoLqEHlKTolTuvlFJAi1e5PKjJiHdKW2vSrp
335
+ t9yBj56qw2xt7eJOQKxIE1kdeCdLoK1MWaVWVekONJSlSqcHkW3NuBVtbAKJO+KI
336
+ dTMMolYJlheQKBZp3JsSjLakDUQEoGybGT/+/xo3OZciBk1acmOBh9mJ///p8LO/
337
+ oFZXZCXSau3+9K9vzcwS5J3HkDjkNVxbAJny8gEe6ux0rXzkZLfG8WA7F0SVu+49
338
+ 3kDHB4TO6o7UxAWatGVcyG+M3ujJ9iEg0oeyoCghgpBSX02gM0alwW2cWNrkgisf
339
+ 0tyuJBRdAgMBAAECggEBAJe+JFQBBDSankDY2I522pQKVZUfzxxiBvRVGixPAoyO
340
+ S1qQkISLO347ugBuVobrukglbEmnKH6Nk9m04E2HIwSML6Sqr214E9y9V9ywgwco
341
+ mDoU87VdA6ViiBx1ZmdOxJsTKPUDnhoPb32ZU/VPhss2gBziOj6Sht94MRQabGHt
342
+ iPcsgKv4P3I/Ooqw0kDNtYguG1jNH+E2pvYkYF0Ne7S6yWz+hKM1RhMCa0BNCNWz
343
+ lNsvtV6v5t18NhpJwFHwap9q8JM6uMZRpT/brI+k8qnJzEvhuJQt6PpLCZCbwBdp
344
+ +1vrz5NpnvrsOnFjn/eCioF+MqW7bRZDKP+lN/Fpqx0CgYEA92G0OQV10PXb62yb
345
+ gXXtEcCns4NnnDRZ3v8O7JE9umrvh9cJi4DlVKPVI8Ti3m0CpSf1WjvODEGhkh14
346
+ dYEAh26dDDhuy3XU8PS5yTMTmgwPGP6VPoHtcVldcmBxG1gjxzadr38hJ/0jha0T
347
+ xjjbbE9mX9T8VXX6Tawq44ubqvcCgYEA6xU2IO4ypHX8iikCR1kh4wyK6dosJ3CR
348
+ 8nXZNDMbiEYPETk1+iD3RwSgk7gXp30hlwaq2aUuImMtggtfm++2GhDZJNXEvFJZ
349
+ VxZ1uFi2Hw9MGbrBoB8kf/TSWZm0jRsfGW54rqOvdArtGbw8Uo/fFucqvoGRN4vl
350
+ o5+zXf0RcksCgYEAvQwycP0GOykX5kK6V+XpxI5I2juKW2n6YBrkqc6YsLR11oZz
351
+ qeNX3iXRhSM6CKafxdzSeCGJ5f3l3kadPpbV86mJZMRfjya+E2HB9MsOqMOcagpr
352
+ vTgHX37elcCzzyS9Osk3Gd16VhfyJH7OxMXAkXXgE04tg5XEMcVnhTq0PKMCgYBY
353
+ Z+OxQqLc4loUgxOOTWDHCAJ9q0SLmHPqYJNMZCPofaBQ89jutdMIbB8PLl4G6LHn
354
+ H+TEcLAG0pFcpHZSKDWtW8Sta47O25EphRLEPuhOiewuiOMkGlIZpLIua/VQU3DA
355
+ maDc3EWxOCKuWPG+gsh8znZuqj84Sm4TuI01vWQAPQKBgFvrRPwaahZFLitLbQnw
356
+ oyzYKaTReYkcc2VLB5jA7V80VddTBgb5taNk105zl4u00GLxq3m9sr5zl+r4hF+B
357
+ hlt1sUypnCrfrqRRzn4GcKmF0o5vgz0zrS0+2lqUxriz4nRIzeyeiUpTPjkufPYp
358
+ dW7e/L6tdJx2jn5EkI2wP/HG
359
+ -----END PRIVATE KEY-----
360
+ """
361
+
362
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
363
+ MIIDLDCCAhSgAwIBAgIUF+41lzP8r7pBiPCZFG7cMvOPcnowDQYJKoZIhvcNAQEL
364
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
365
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
366
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
367
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
368
+ A4IBDwAwggEKAoIBAQC2wkXkBcUaOlajfjIsrbJPbKnSspyB9PbJ2nT/Nga/za94
369
+ 79C2tTntMhbh40hT6E00HHxmwDOpzEEH+C+vkmhR3zkTFmP9uV2jSyylwBwWnTru
370
+ 9io58MA/G25FMYH7a/3lKYspeh/mSKWqhV2xN07Mov9JbNAUVT13oHvUMlmhxaoX
371
+ pTKehNH6u3dm8ovYlZyimVRbu8d88Ke5atjV613Ci1zV63b/Vt5YmWR3bAw6h10W
372
+ UMSrh5pDEXuKplS9dTYOwfkVLhIinFSbyw66k9X1qNZIF2M10rvW8FsZxwtHbdAI
373
+ ArD4kB7FrsoezBW2+Drap4aeHD1cMOYZPh9XnW05AgMBAAGjFzAVMBMGA1UdEQQM
374
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAs7LdVyhNjP4DiXaKCy9De
375
+ 7skX66TzJiwBBQ+fXjvAcOZCmn6lrje5ZA1pEE2e26huygXcADPntZJWgaV8uQ0M
376
+ SXml0t5eSbDFlxOOOVTk7bRyt3+Wj3kz4N0P9ehLKtemKd7A0kYrgcFhylQrEHFq
377
+ Ijo8uEhv77AzhJfNHDbqw+qax3rvOG2b1H+7yyn6u6kdiOVbGUd1ChIh1zTFFYrT
378
+ WJbF+67bEFy/AEUYFdK53x6M94NWoBKqkIrgvbjf6G+++6IiL+PpaR0j3Dnu86ea
379
+ anXRdbkhy36143Kk8GUy/Vx0e0L+aAbLDwobngzvMYactqDo7pqcDaORLSLKiQT5
380
+ -----END CERTIFICATE-----
381
+ """
382
+
383
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
384
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC2wkXkBcUaOlaj
385
+ fjIsrbJPbKnSspyB9PbJ2nT/Nga/za9479C2tTntMhbh40hT6E00HHxmwDOpzEEH
386
+ +C+vkmhR3zkTFmP9uV2jSyylwBwWnTru9io58MA/G25FMYH7a/3lKYspeh/mSKWq
387
+ hV2xN07Mov9JbNAUVT13oHvUMlmhxaoXpTKehNH6u3dm8ovYlZyimVRbu8d88Ke5
388
+ atjV613Ci1zV63b/Vt5YmWR3bAw6h10WUMSrh5pDEXuKplS9dTYOwfkVLhIinFSb
389
+ yw66k9X1qNZIF2M10rvW8FsZxwtHbdAIArD4kB7FrsoezBW2+Drap4aeHD1cMOYZ
390
+ Ph9XnW05AgMBAAECggEAZLviQBP6F0HOnWEikMPQw7x2Qn9Wir8WBB6YXE9QGwpp
391
+ TLSKixqK6jWwrSNUq4MggreszgnksBO4SIdA6Xo+a9opIF84EBLLDQWTf2zLTp+t
392
+ aydeEP+lR2N8PUFTjtxwXo6ueNcqnAiw37OQ9+wvT9YL9lG2w25UagqYFlcGVoap
393
+ eonK4rhlSlj+qSGCZzXoFnJSlht7Z0CNoSg+hWuLWlYYKes7E6IFqTAMCHg1DfjR
394
+ YpE4hmLX9nqr6hMQMGI+HXtNW3ogG8vgg6V8BcehyeSyvgZq1+IYQ+cuQh4ijo4s
395
+ 1D5uWfXVCGl6abKvXZ5Ft2mMEZxX8+6mnyp+qutZgQKBgQDd7ouacyoYc2DccxSP
396
+ edRjUrlpG1OjY79KwIfuFRd/jcRcbpxKCjRbztyzd7kWBebEh3rYJCxkX2Mti2+M
397
+ 3bdNAxupCdtJ5Qkf6ASVEujDIPfHaMP27ZD5sbdCUkgUaPG99V3bj5mP069ZE12T
398
+ +nNuoer/MULB1M0Hk/cT6pYK6QKBgQDS0FA7PDgejBQwl3BIsOAkU0CR4Cxfoydd
399
+ ST0Qiv68/Z+6wrEoukcE/86OT9fUxoFDITfirkSQvbneIc4nr4igpAA2C0GUAOlJ
400
+ yDTyt/MF1jndu9kE3jzBBMMKx9G0x2PuDeMAtUt3b7ObHkoJgxpvafIsZJOCdTjc
401
+ rBd1ET090QKBgBmm094DR69RzrVMW+kFhOYCDso2TWGKSvcB7/Q13eRxZ2vjoQ7x
402
+ xQGDlIDt6qfAAN9gZXOMItFrMRR3lGosyl4NaOoN6JnO7lIQyE7Ow7aiHeGfm170
403
+ MJib0PnKduhdBOwW60VQgMheCFt8YImVHjiAYKAkenna9ePVV26m47bZAoGAGojf
404
+ 4GTXB3lIPUmCd5PT0p6r/PCDhVIq7UH/rqpgH/eoeEBzPhYcRFPScvU3zG9j68gt
405
+ mZmnxbQrxfrpUPN2NgoOgL7v9SocMw5BI9/ldfGd/Pvc+BDlAsKPrjayfZevS1Jy
406
+ JS+snQ7xQ3APj5zx4d4q/k12h7ArhRMgLLsLw1ECgYAuYHuen6z7AJkKkD5xOSBm
407
+ nNuqfB9GeoKsHHtiP5lUBrkINlarO3CZKRi7xjmr+qw8HkVuejutUBa7KT+yasMt
408
+ WLTDq2u/pFo5Lh2GEoZI6GwAraNeRro7O1fLuYK531G43K0S64uNZAW3mzKPKuZW
409
+ 0jnlPEesX1D3KVAB28v0NQ==
410
+ -----END PRIVATE KEY-----
411
+ """
412
+
413
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
414
+ MIIDLDCCAhSgAwIBAgIUaTJzz6JzsH2ZddKgtyDaLvK0+fgwDQYJKoZIhvcNAQEL
415
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
416
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
417
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
418
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
419
+ A4IBDwAwggEKAoIBAQCcusqOeHXjSZtVYgT32PKxIjsW/TPBlv/ovjQpFIkBZTCC
420
+ Rp+O0BNUJ13Kv9MVyyprKlR3EMldjIxolACVS+UIieuIERjufyMQVBuqJg+qr80l
421
+ rbBwcKmzB496Lopi4DpX3W3kqaXd1c65RNCAhiQ50ZfEvFwLIhRzxC/ZofRW/iFX
422
+ 0B2x+LE7TZ8uEXhtzVPc9GYVnEk/I2hN426pX59WmF/+xQ+HKguzCCBQ/7V6TiS8
423
+ 1dLw4z5aIKedBgvlX8ibDkCUp6jOOfUTh12Xx6nHd3TX9qhL5h9zDfWbdoBdr3PU
424
+ tYEgNXrYVq75HTlHoSRCuG4SccoVCwNzdKyjJ4mDAgMBAAGjFzAVMBMGA1UdEQQM
425
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAKaLVA7Ogf7S4gIwv/3K88
426
+ PGJxIhTcgMSyCVdKnPLWRUEofdZVMZEDcVI+l+4iB8sJ0XOs7fZp+bAnaQfgXzE2
427
+ wyWAODuytYlYZYc42xlT0PhqNnRKLUKf6uLCtNZFgpmiVmqgvAkzk/SJXTPw2F7q
428
+ hFA8K70Z6Wh08rZCP3hXLk5A8h6ejcNBHAoOg7B8Z9AMPlHW474xoGUrLjl01H4S
429
+ 6C2/7D/URCQFBTrLt4sIvtxe+cAtggB4DVpJk7eoxk7JL4CsRu8flqGLn1wFraqr
430
+ jIb+X70mOXY7cO1R0n0uJLgHTU1dDkMlV3xOVfqhE+pe7caknwI0Nfzvlar491Ct
431
+ -----END CERTIFICATE-----
432
+ """
433
+
434
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
435
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCcusqOeHXjSZtV
436
+ YgT32PKxIjsW/TPBlv/ovjQpFIkBZTCCRp+O0BNUJ13Kv9MVyyprKlR3EMldjIxo
437
+ lACVS+UIieuIERjufyMQVBuqJg+qr80lrbBwcKmzB496Lopi4DpX3W3kqaXd1c65
438
+ RNCAhiQ50ZfEvFwLIhRzxC/ZofRW/iFX0B2x+LE7TZ8uEXhtzVPc9GYVnEk/I2hN
439
+ 426pX59WmF/+xQ+HKguzCCBQ/7V6TiS81dLw4z5aIKedBgvlX8ibDkCUp6jOOfUT
440
+ h12Xx6nHd3TX9qhL5h9zDfWbdoBdr3PUtYEgNXrYVq75HTlHoSRCuG4SccoVCwNz
441
+ dKyjJ4mDAgMBAAECggEAIqF/emWRnuw3v3EOKfms/ojSx6yhEAieeT315pHcCAvk
442
+ 4RRb00GU08ZzCgbCzJD8yXsr+Lcj12Dj8YOqcVK4w989xO4KNUCwbb438qvAUHXR
443
+ /Z5YWy/5v05PXK8F8v0axyltS9ZUiSTiLbvP2mZJgOEYCOeZ6vfXzxCthggsJkBe
444
+ diZNCuq8cA4kSnF/v/jPatxJVtV17P/nwd7GOWgZ8pJZ8hOk8uGlwzQWHhynH19Q
445
+ keArStXoJwvfr1dceIln860RjqfnuOp8Rl1JAxQIBvHJmdvlOuXve5wF1wCQQuPJ
446
+ RGy2UQFe4xDrn9RIBl3Wd05uO3bmFhEFVPJIF/pWcQKBgQDJW+DfEFl25HyKjGd+
447
+ VCjJCauBYE3cE1U0jKmYyJwXV+xodUBdcHaCTtGNIos0LMRkaSpwg5/DueYL9pF1
448
+ vorrE7F4DaMLvpk/rl1GpzM7MNHuwO1bsIffOswYy2++PHOG0DsmFa2YMGZXMLwz
449
+ cl5eJpUq4CO0R8qrB0HfhFd8GQKBgQDHQpTVkKwgdjQFJxGD+51yRqQgtNUjvq4a
450
+ RD+UScRxudO3ZIHU0TuK3IRWFOVypagotsvo3tfoEsQ0CJ9WCL7CP+f+/85REKZB
451
+ lkhZKAk2lXurZcRRGdGBwurOdRT3kDxLWGpBV4IAGbPM0Vf01SzEbYxeTJuqaA8E
452
+ C2YRViNl+wKBgAKHU9iZRPZYQjQfNUGB3w0/QNccFX45A+3oAk0337XvVbmuF0PV
453
+ ILfcM4d5MpRSJ5k3NOA61uvHTttBmmwHG4l+MtFWIoEIQLZrAyLbAKqyn0BHTfPD
454
+ 0MD95Qg+rcWOzsiXntaImSh7Gx3nL8XZntPB2keyjuA5spLZQXuEFvEpAoGAQVE/
455
+ Dp7k/aMhvEqpQDV70Bj99kaw043O7odOvCJOReVfVG+a65NGzGcq7jjdWe6Zp/b7
456
+ 8rMR3V5BeLkW2hH1ziE6wGlETWiCx18nCirIkl7/8hhi+R7YgYvOgqz4mYpraVtr
457
+ QU4ZLEVAnjRFe9lhWmZ6q/K62GpR+cZux+IPqn8CgYBVDKjInduDLbFYieirj0Nz
458
+ 326jhsuafhuVoQ24hSsQNXWnYlN3jWNEsbGly/zRJ9lm0xrlhyUGh7MSG/yau0G2
459
+ fE2c0nVSQM+YZqAbzz5q+X/wWIE20H6tmu70qH+MOYV119jzfWc53CAIwRkH/H2o
460
+ KbJFO3MTfmwo1mgBjYBV+w==
461
+ -----END PRIVATE KEY-----
462
+ """
463
+
464
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
465
+ MIIDLDCCAhSgAwIBAgIUaXeigR1NhYcViVNvWOSNgb1hguMwDQYJKoZIhvcNAQEL
466
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
467
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
468
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
469
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
470
+ A4IBDwAwggEKAoIBAQDlm9CbdDwaD7gUkwY+Y2by3np+QtBFoJtk4hcbdAQ4Vd27
471
+ 7sJGve+iYg4vCCg3fdpxKZrM7p8VlRlQOMu2+Nkel726yhvs9hALWx0UVppk4iKV
472
+ rj/dzd/Oiwaf/Tk3DwMnfiv4RyUU1YnVusUnche1KKHfwHGCzLAnlu286wQXruug
473
+ Xl6onBQiF3rDqkLVrHcqMiasCJHLS2S9xktDiKwNCphATHFuZtzUIZeJK+yNiF+M
474
+ JKXN1xQFq8k9kb2q8y8qAgf1dY3wW9Xj4iP1Qo9Bzx1CxJTLpezIk3QTcCWKUkE+
475
+ 2/4Nly+M5GoJDv59gzjvPmyWPTr6TZ3lrls/Z/rjAgMBAAGjFzAVMBMGA1UdEQQM
476
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBQBbv4tGvdNY+P2A62GfhR
477
+ cyNDjXUKk+YHY64hGeiXp61l8e2Hf58lV9lgBoMpniXUvMk9Nx0g+d1Gsoc9VWHs
478
+ LP1MhVaf0zodeK45jJxuzCC+eDHSNmvhkUJEVD8LDgmHTJlddpwYBwKocyr4m3XX
479
+ 2QMcgiKcYaqIt5MLFwCWuarQ6bXKT88qRVTxKTA4FoqXXqJKCbAsEMql1h+dvXeV
480
+ yTwPK3vuRrZxyiIYlILG/tgNS6P+qUwLCnYjoPX2Ml3djMkUhRBdsTWR8wWTYkb0
481
+ qmqKNsNL7+OHzUI+Z8WBoja8MHVZohl0iDAvFO7Y67ovldeYS8mlb0Tv3nVRUhiM
482
+ -----END CERTIFICATE-----
483
+ """
484
+
485
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
486
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDlm9CbdDwaD7gU
487
+ kwY+Y2by3np+QtBFoJtk4hcbdAQ4Vd277sJGve+iYg4vCCg3fdpxKZrM7p8VlRlQ
488
+ OMu2+Nkel726yhvs9hALWx0UVppk4iKVrj/dzd/Oiwaf/Tk3DwMnfiv4RyUU1YnV
489
+ usUnche1KKHfwHGCzLAnlu286wQXruugXl6onBQiF3rDqkLVrHcqMiasCJHLS2S9
490
+ xktDiKwNCphATHFuZtzUIZeJK+yNiF+MJKXN1xQFq8k9kb2q8y8qAgf1dY3wW9Xj
491
+ 4iP1Qo9Bzx1CxJTLpezIk3QTcCWKUkE+2/4Nly+M5GoJDv59gzjvPmyWPTr6TZ3l
492
+ rls/Z/rjAgMBAAECggEBAN3qO7OToucZXDPeacFwtzZy2ncfwkYZVTcq4WRyPAXq
493
+ z5TszS4sMuiB1u2T97KyW6bVrDz3QCBO65lCW3nrh4Vu6TwYTOc4Zwdit3dJwI1S
494
+ llSOhkGs0evBKNUGm/7f7o+D/aFHucoqHL7KdfSK6+j2bYVhbRQbGwIYeIwHpPvx
495
+ CjF4dzPAurZzyKwb1xbjGxe8U6Wz/l27prb7Ac/SowCToFEnZc2UTDlsddxX3JN0
496
+ sr4eFLI0O3NQZNC6PQE8AcqXfUzvYmwelieh+Ih6bT4/VdaP+m88Ch82nnjm+aN+
497
+ GVVOSSMSPBdltK6MFBGFnklGyFH1PeeUHlr5YoEdUmECgYEA9W+qYw9tbag4iDh2
498
+ sHCBMhciAG8y1S8gwjZ8OrIyb5pBd8qjC3LXtDjvQPZEdngIqbgq0bE/vOg+ewnf
499
+ 1cddOuvaCieje36aCHCRi6ugU1c6zTLU/dRjYEf77qsaku/zLEw9omj7WZWNdIjN
500
+ 4lKUaAoZqjL/72ptyl/c1xS/UHECgYEA733A+VBgeCun0LQoOOHw5ZeIj0d0JMFn
501
+ 6oTsC6IzYcagXhZJ74G+l4FZBPM9wQ8H+wqcdbwZDq7VM+klqa692D+Gcs6bHuw/
502
+ CwP3wWShwyZt5p/++eVLBc1kR1vKlE16CDLm61t9h/bnbR2afvd0wYRlJd+CPuV0
503
+ mCi6m0EeapMCgYAZxPSt2/PQXKY63zrPAbD+8mDWjNZYfc9BtPjMLOOQxjBzhGok
504
+ DJXLTWMJfhHoImg+caDFTYf0rKnKv1mqF3mZcyP8hvbqQ3umwTL26Dk4JuN8ogas
505
+ 8/zPIh+4imyK2vi8QPEDuWQSntowTyDWz3bXiZ/yN9KZb6JBallEl+AScQKBgEh2
506
+ 7osBjQ8Pdomp2XnMs81kmodwAW6VrtHBQoMKoy10olWVvO1hfr/s/XiH+SmPWMTX
507
+ Ixxku9g7gntgkmrTWtIx9oaKiVlD9pdorfCweFnKKPrdcpM+lAK/cRY+af+RqdkN
508
+ Pd39IvCe/st/Z53/Vi6v1sMs7AYH+82GlWAgxglNAoGAenbzsZhOZ8QhhC3xPCkV
509
+ 0iJ6E5znVtXraIPmK22PyiH3yz7X5PFW8QOumS47TDYhX8IIw9qCaH7nMdV4SOvz
510
+ vDapMTO6TD+6GzKoMOXCBK3G/maoZMc8ENAQOcUFeFl44mxUVAVnz0dDyFHgTK+Q
511
+ NEhbtfmhfnhXGLOU2l+lvgc=
512
+ -----END PRIVATE KEY-----
513
+ """
514
+
515
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
516
+ MIIDLDCCAhSgAwIBAgIUdCBu6ITWB8mIr3CFYUGSoidgl9IwDQYJKoZIhvcNAQEL
517
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
518
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
519
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
520
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
521
+ A4IBDwAwggEKAoIBAQC6CqdPjfQSDqwE+0QwTkW3Gq2z+SdyOkCbA1f65tpk9dzN
522
+ yLx2xtHRV433IUFRxY4slpeO/ff/yWI11e8aubv1TJt1Df2XJWsrTSpasHiB0cQu
523
+ sBIUPCw0KkvNsZ93UVRArKyiNIut3tFTvM54hzUsSpMnH3gUiF2osJP/qFi9Fm4w
524
+ nHhhvjnm98YZ73r9qmS7x1pRLkduOLauQrZeMGtfqPbrDn+zrXISJz/WlVs1RFtj
525
+ S//fsuWYX1mecsowyj2uPgCiWxd4uYcnYEmv8o1+3yMucR6dWQCQxxLFaN4vgksz
526
+ vxQRQ+GzLYBG4rGXaJhuTd7zNX4MAvFC7dZF4Ey/AgMBAAGjFzAVMBMGA1UdEQQM
527
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCWFqbiMrpwtfPP9S5YKnFw
528
+ kv6aDeUeq6GYfoBdKYnVpfaXQgPXzc8eiNXptAPuMIVoSn811Hg+p9SsEjKBjPlZ
529
+ jdbbl44S2owhrJ7N4H5qTSoryBvuTwlh+aQDsDh+x5uO7PQzb2F3yU2cM2MvtU+2
530
+ 4pYr0Pucs2A0XzqWp+cZLhWHcTOm391Ab+Vr+Q/ZguvOxbmsBCs+qwSlPaktd9Yw
531
+ AqNKFau9hAnb++jd3k08EN8GBVlQBP/njdEoWEGjHD2SnTo2z1sv5jF+t9E28Swm
532
+ QbkNYNrgryTYJzPDZMMrK6DkkEFnH0djbKjwAdkooHr0pa9COcuYMhsqNMZ8irgY
533
+ -----END CERTIFICATE-----
534
+ """
535
+
536
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
537
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC6CqdPjfQSDqwE
538
+ +0QwTkW3Gq2z+SdyOkCbA1f65tpk9dzNyLx2xtHRV433IUFRxY4slpeO/ff/yWI1
539
+ 1e8aubv1TJt1Df2XJWsrTSpasHiB0cQusBIUPCw0KkvNsZ93UVRArKyiNIut3tFT
540
+ vM54hzUsSpMnH3gUiF2osJP/qFi9Fm4wnHhhvjnm98YZ73r9qmS7x1pRLkduOLau
541
+ QrZeMGtfqPbrDn+zrXISJz/WlVs1RFtjS//fsuWYX1mecsowyj2uPgCiWxd4uYcn
542
+ YEmv8o1+3yMucR6dWQCQxxLFaN4vgkszvxQRQ+GzLYBG4rGXaJhuTd7zNX4MAvFC
543
+ 7dZF4Ey/AgMBAAECggEAVfCJ7UQD1TuV1w9DJpVhuv3F8/dKc4fZREI9KBfwFudE
544
+ QoNSHAQn9G5flCN2ixGZZZuDE3jaUPx0M65Jr6zQ2LW0slPuKx4L7YrN3+rZIA8I
545
+ cxC+qT5KpSZMsg41PecB5oZdkOh5Ba6CQA5dymua8oTYiSAOVl3P9hbrpxPbOi0S
546
+ CAwC5u1FNFnLmT1TCFmQcIH3x1sKssoNLZNMQLJLHg6eFNu9WF4iNctlIcAjgoPI
547
+ 5+eRvjJiKI5g2ddoYwypcnohNzgvTnlb5KBqo9fGJ+ArThy5x7JyJAfvgfFbKkVA
548
+ wlfUfI4n2rPl0XwWwk7y/D5RIRywxC+RpKL7+JPTYQKBgQDtwuvZza+0DMTP8qoU
549
+ fWWXksAtKYWUN8iv+zuWMMSauAwy4lzyBDnZQ+JmF3kMxQEPXKdwB347xCOgL8YF
550
+ 5yygB95FjCjAI7VUVn4R1svhfk3B0vgfAt4o2JHcTN9akRk87wUAocl3KhmGiBXZ
551
+ qPxZ3UmBxbzGshAdkgiZ5GDexwKBgQDIUBOH6HbNaTvolMC9IMtZJFcEN1i4xzd0
552
+ g27Q2/eljzoqnGOrycV2x2w/iAigeV4bkzrdFaWMoXEAtyQ3OBGhG3Xwapf2TRze
553
+ y9dZjVSFWAj5MVPCObkmCTMi8DNaoHQF5nyxzE3ICSf+xgFr5JDDiXroKru5L/g5
554
+ LewL3QsKSQKBgQC2ybQorkj2Uxq8BANd3UnNTbURA2r+mCRhpvQYc0Wy7Ovz8rMi
555
+ HL2cmuPjOQiHGK3H8aOILTqPGCuLay8COsfEAEiRjz+E9+7f997UOB5mLYP6DwdS
556
+ UBIbtOPuSess5YBRqDBgXAFW67bUBqtFuvTG4akxa6PF3f8lvK+AIGOY4QKBgDgs
557
+ 1L1ZgO+sImPgS4j+iGhwW4LQLq5rF+8x6MLj3ThtyUcn4n/LrvfXh1DtylWOk8ix
558
+ 6mET8ABXSgSEV8CwlakTtWh9zC4DhCQrEDKKAvj+Lk4L+kxOudCj5dZXfF9e/gql
559
+ j7Sg8fM2NiQpzT4/tCVSCcjQKyMNA9StPzQ4gh8ZAoGAZJ/TTNNL0oMgcq1aRmLi
560
+ p0yZQOIijGVnbt5l6V8Xtcw3Gb54/mC0Y9kerQkpKzCUxBkT4pZqTJpWHo6cZF0Y
561
+ szbK5Ti1iNTlmAn87kG5nKQIUtvg4+rtSixbHy0lTiXHavSr5MXNXAy/3Yr+nSwg
562
+ a8dV9Of3/E3C1kAjnrW8Ry4=
563
+ -----END PRIVATE KEY-----
564
+ """
565
+
566
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
567
+ MIIDLDCCAhSgAwIBAgIUJWB6PMvY6/sycKKe2rKlyk2Jhx0wDQYJKoZIhvcNAQEL
568
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
569
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
570
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
571
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
572
+ A4IBDwAwggEKAoIBAQDpNyGq9RLF09KE+uiFLgNAWUXiUWRDWS86+S+knZMa40Pi
573
+ iDdpxcRxNgxUVioleNfKIuXQp1eKCwCuAv8js9hRqOIkEfZHtiNaai4iJWYKD8v6
574
+ /Mh1iTQ8evvsxR9Edlr2vpf86uWcIZ6NfD2R0QuDNi/rEQimilQr9O0zgpVcZ/rX
575
+ lu/ApUkBZP7nRXSgFDwyxub9eGO/XXYCFiaznFEewdEwMxJ7mekMejT+47QZj1PJ
576
+ JLII1sgGUMOnwauUqub4L3ibcFtWVI948ckq/vaYsX/MVYZ+Vr8sDpcuAZC+2FuZ
577
+ Wj8cjoFXGG2uHbXilw/+9uHiIpH9jE7sQLz7RUOjAgMBAAGjFzAVMBMGA1UdEQQM
578
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCCivAYNk17t6dwt0l3GmiO
579
+ eEQp2nXF7hkt3Nws4+GefOrcCzyTAoinwGzoSJpuv6YdIp8txyylWeEVVrvJRXyg
580
+ 3m648yIgnp3U5fSD6a2V7GnCSOjCoT1dlcIMFPuOk/XKN/0acfAEsJGscS0y/mVQ
581
+ MiJjjNv3K+ZzY8nDu+UxdC+cqLaY3KFF9QarWNjyiDjRi+7NrJN6mdGtZITSND1w
582
+ 3RXLCSaaB5VTHqkSTGNrSMr8Y5CGgXyPq9sQMLS2Hfb8K/Y57xlnuJJEkHo09pUF
583
+ mz79hUFHqgjrtxAd4UoBUujTpwBN1on/KFrYa7fGwmisb1V35Qjjogs8AGD8tnh7
584
+ -----END CERTIFICATE-----
585
+ """
586
+
587
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
588
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDpNyGq9RLF09KE
589
+ +uiFLgNAWUXiUWRDWS86+S+knZMa40PiiDdpxcRxNgxUVioleNfKIuXQp1eKCwCu
590
+ Av8js9hRqOIkEfZHtiNaai4iJWYKD8v6/Mh1iTQ8evvsxR9Edlr2vpf86uWcIZ6N
591
+ fD2R0QuDNi/rEQimilQr9O0zgpVcZ/rXlu/ApUkBZP7nRXSgFDwyxub9eGO/XXYC
592
+ FiaznFEewdEwMxJ7mekMejT+47QZj1PJJLII1sgGUMOnwauUqub4L3ibcFtWVI94
593
+ 8ckq/vaYsX/MVYZ+Vr8sDpcuAZC+2FuZWj8cjoFXGG2uHbXilw/+9uHiIpH9jE7s
594
+ QLz7RUOjAgMBAAECggEAA8wE/U6OJrBjLg0Tug9cuDB75cpjcoFCNpiWAP0bxwVK
595
+ Nqb3F/7DSwCRRNI+T2vfP4g/65y93R5+vVaJJuCntfSk8edk9hfuDWvLIn0vYxyM
596
+ uqJg9SDtu8pYzasL7kZrBrdlrBV69YbKmQ0bx4L6yAEa2J3nYSbBZhHPxtXqbp2u
597
+ z4knTBjpMEyCAvnPto4GBWYyEmix1PEGWDaZQxhUZcWTCGg61O9A/gLiNMntyAsC
598
+ pe9+cqJPUsBau3y5At6mXIcK9psA/bLIzjlimRMzC2WJ0rl0niovVMVEJoetDNFy
599
+ CDjUYMH8FHow4ujhA3KHVFwrEhIIz/mmF4QevLrHUQKBgQD5mhnl4C4DCS7/TvdW
600
+ 0v6eaIvnKyUTKclV/dahbsFlvCMF0TVzI8uSIVPjs/D5FgHVnk5aE8rPN5asfXUj
601
+ YU/UjC5qE9sKszThnhW+NitePoaxfgJcvJP3PLIarhZCHV5b4zBmT3OtOAvYfvRa
602
+ TJuXpx2YOyxcpXdLLmzWtzWD2QKBgQDvMYAympkIvQWy8VwbUGL5VwO0GaOhxCiR
603
+ 7IJYefn91cqB9VxV4vElbi2z+wVO0H+mukdBnQ1r9PPL3eTDzL/I9lgIItKXufhz
604
+ T6hC/QhZlrp33rFfHH/2fbvBaDVOCEkXEGiQM/IUjN6reR1hRAmt34bj3eEfgjK/
605
+ zZyn6+Kh2wKBgQC45uyKeyD6xMHZBgF6g0F1zdLeA/sqEAmDN1DZM/f2yoFTXODw
606
+ k7LJZQEFLJa1nxTqz6QRXJogGXj3/NRaykreFJ6JnH3mlkz1WiuXRf+oiD81mzha
607
+ xKQEQiVaWF5KygDNpyaClBcIWf2Eer+/aQLWPElTLXq2gyk1O4YLJZtyOQKBgHIB
608
+ 0Q3NnCWLGt1Ip1MphJM9wzkjg1fGTGQJK7OKJ/qx3P0GesVBDxl9I3GGsuf2/vD0
609
+ FqSSe+Q58732/GPLApqBuEHgfynsbRxhGl0bh9BTxHr//ODNj7xn/4bW6ZlQ362L
610
+ l5sr9zWOU0+9waArssVaJkwT5IqFHzVGhmWPTA1DAoGBAPlDNCTFmamuBygx+mD0
611
+ pAqcCcSNFPT2/QnKAEJKRz2XKNTXrEvfaFKaI7L78wZiKVZpwqKqSTL4C+OeMdG0
612
+ T2VKa/FosuS45sW4zA/IQsM6xCSQoSh/O0YcjSvdP6NiRcIO3feZb24TzgOUl/Sf
613
+ lBBukQk2x+6YHo4NOH+suXQw
614
+ -----END PRIVATE KEY-----
615
+ """
616
+
617
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
618
+ MIIDLDCCAhSgAwIBAgIUIOpxHZYryCoSWIfdQ8uCSoeS3KkwDQYJKoZIhvcNAQEL
619
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
620
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkzMFoYDzIxMDAw
621
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
622
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
623
+ A4IBDwAwggEKAoIBAQC/LMgHvqhwBTGYi8fLSDC5BAMvpZlHojkCtD2tAe8x4xES
624
+ ziFbEN0h3majAaFEbKWf38QwZb8+MTqtqC3hBXLlmQMOHJ98B+pcJiquWmDFadWm
625
+ mRv/aSsDcN8Nuil07mTYVl4KjqJ3BIuBgBF6VHU5EtALFPwM/xnFONPB5BC4Gm6X
626
+ /Bb9QQ4lBZVbXvuaHoiY/qXZeM/M0J4jGjgW3CvFKx6Cg3QrSPTZQRo7YoFOJzCe
627
+ WEU1NjaY32vstiK7qTFJCZ+Vfk3NNU0QealoqUdd7SeTNgPwEpYlTLalyKJHGPAU
628
+ yeq2LHmUX9F81MZIdk3Y2ugwonIjdAgo2d1Bft1nAgMBAAGjFzAVMBMGA1UdEQQM
629
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQC1ACGsaR3WXsh2iMZEtbFU
630
+ JDbmDgviv1WCft7Lt0lpTWCNq24PXn5EOFU2UPBcsLCjoMfgvjj+b4dVcGt7mX91
631
+ dtMIwEORe9stfr1Y1Frql9nMgk8PyRYDt4oUUUwwZ/MjqU3ZiP4znsiZuEGTAdKb
632
+ BqhVubSZdYOIrYV5Chbta7/OXxXpOv458CWLKqvfoDVsWldhQDWOkeh6nz8dkPO3
633
+ Jt0IRUPqS7TV2fUcbHLpO3z1xUxL83xN3wgoBafSSbvVcLAN1+//+1JqLPxznSjV
634
+ rYf9ERqDwJpIGysbRvIyu+ahf0zJwBwob/O6+1vuryLQ2SdMFIlk57U6JOkePfEy
635
+ -----END CERTIFICATE-----
636
+ """
637
+
638
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
639
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC/LMgHvqhwBTGY
640
+ i8fLSDC5BAMvpZlHojkCtD2tAe8x4xESziFbEN0h3majAaFEbKWf38QwZb8+MTqt
641
+ qC3hBXLlmQMOHJ98B+pcJiquWmDFadWmmRv/aSsDcN8Nuil07mTYVl4KjqJ3BIuB
642
+ gBF6VHU5EtALFPwM/xnFONPB5BC4Gm6X/Bb9QQ4lBZVbXvuaHoiY/qXZeM/M0J4j
643
+ GjgW3CvFKx6Cg3QrSPTZQRo7YoFOJzCeWEU1NjaY32vstiK7qTFJCZ+Vfk3NNU0Q
644
+ ealoqUdd7SeTNgPwEpYlTLalyKJHGPAUyeq2LHmUX9F81MZIdk3Y2ugwonIjdAgo
645
+ 2d1Bft1nAgMBAAECggEBAKgxA8MckCAN0bZ9s8c6ufLsfskajiIhrLqeTGy7eO+Q
646
+ 7+J1i48M5R/5BJ+AvZrvYz+mpHpX6csTkKZbghGos48f8TonIIEEjcGIqqA+T0kf
647
+ daJere0lX3xlfzgagoKngf167r2nA3RmgT3rqHTRfVg7HuHBEod0n/2No2+/8J2m
648
+ zI0eyorzofIjzRZt03/LSJvYKla8MPSEyrPHay+xQTsU9KmqoxXJdH04fWBnvE8N
649
+ /187j/AWUroFoZxtyr3+csbmCxYwYasfuLbI8afkrzTLM1bhvbdIdVVzApBjb5Dp
650
+ s67i3rxW9+36bWQx7wiTIQbI01ySxGNv0U4vdEFJVPECgYEA8wnp2oYwE96qR+Tp
651
+ CAA9PBW0lB6s87c7eF1OFrxVNFjmTvTFA4iELp+6wCe7L/9m2phL9TatJwRreukm
652
+ TdSNVn99HORJQrz3wzAc2IM2wVmuykNL9iXBiTS9EyDPv5wb9V8bY3wNXwGeDEgE
653
+ 1rRfcLwDe9P8ywdXFiWxsa5llWMCgYEAyV7MHNzNl7Vba+Su+FOwgrqSi+wxcFT1
654
+ vPpUoy6xnyVYBOteSNoNhIKVrQ5P0gBN85fDjcqYba3dn5NdybcJT1SkBlGSkUSt
655
+ 3uHEYYCkA/RNY4cbc0rcqIjXfsbhEdGjETV4ekiY3UwkWXRKAwzI6tUi9t+9vWOB
656
+ xhwfu3iKaS0CgYEA7zYtt4lmHtiFr5euidJ6cv5GK5f50TPjU/g6WQRrtMdfgA1J
657
+ MM4YlC9hR6qTgo2Wtcc61BNJ4GJoS6TZr7dqmd2Hzn0fYpHOJ47ehXi41xwnfys3
658
+ xAGreRmwk/gyorzLg/plYckC/CUCY8IrCQyl97cGksW3RjpmTAUz3dfyYlMCgYB+
659
+ OSXIkb9tcQi1QMtMbWkfCMQDYTI8L4U5x9B12TcNguMBcmfPUp9WiGQ57daq0/YI
660
+ 0wCJSIzzcyCQflczsb/sMin+q/Mri9lQ9EOcun4U3HYGBRJ32l0mZ2Bs300FVlrY
661
+ 1qOGQytOzAOc7v/VmZX3XVJlXSoaJN2byNU7NfvMoQKBgDtfPGowSJN7Jacpt7CT
662
+ 5CiaF13M+lDwkpMFVNIJj4tWwFpE1IuqWhfSNKkR+vVl3xahxRh2F5X4MQ8LRdtS
663
+ 11mELfdBi+IRudn4Mpn6Hl/E1U9/wxEFjXfEMZrNQA3ekZTAzMoH0yEsIBCX+KIl
664
+ QSJ3WfEjOC9Xe5CR6qPEmR99
665
+ -----END PRIVATE KEY-----
666
+ """
667
+
668
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_7: Tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
669
+
670
+ SSL_TEST_NODE_CERTS_AND_KEYS_7: 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
+ }