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
+ MIIDKTCCAhGgAwIBAgIUWzGLmUq3RgS/u2oYomRSyKsXWwcwDQYJKoZIhvcNAQEL
7
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
8
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDczMTAyMDgyM1oXDTMyMDcy
9
+ ODAyMDgyM1owRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
10
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
11
+ AAOCAQ8AMIIBCgKCAQEAzB+IyNSmoJt99NpPQ2agYv/3Bxa70ZKHmCRHT6h2eNFg
12
+ 87Mw6Dntpq8uS4zAa2pUohWNRPFrWLkHMxngQuuCJqfu7sqTJwwSNodYK6ajoidI
13
+ qKyZGZd4kj8AYhKe/2O0cefjWbc1leOzXwqtQSdlr65pXaJMWG7jckNGf8hj+Dfe
14
+ ZqJdonS9w6LYJPFH7l8njHaECLm6fWusJjq8nhVlAbbjetnl5wYsWjdJZCWfcSG2
15
+ PRrHncuPLSJVPn9Gdo/bqC+zQ3VJhXLELM/Fz10+cxWpaUvjEJEnhaRjAYsD6wk0
16
+ yBoaNXzVo3e/gsPcppG14dgFC+bdfFytDHMFqw2kHwIDAQABoxMwETAPBgNVHRMB
17
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBNwno+FoJnwcJpltsDfPnTYAMD
18
+ +9gm/dMBrwVtYZyB6OJKrOUYY49KA5p5/O06n0S7DOYKXVGZmXPownj9Hc1/0kUE
19
+ KKg3GTzekBIso91wUL9isR5eEUnLfnHwa1OAsu2ycv1pQWwsyFvcl8ttBdmYWN5z
20
+ 3EgF3kDtIc0erz91hpkixev4ZpWQzf22UKhp58EehwODI5CRRJKeVUP/pMPkrfUm
21
+ 58aU31u+rCSX+uJWH/wnWeE6WZDBS5/4abcY8KLnW+ArEXrZPpEqWWsuj0lWrM24
22
+ yyfyhCmRMmeS6XSgpitKZk6kWG0VUUF6NKSilGCYUD1tEKq89oUCdDoMqJIC
23
+ -----END CERTIFICATE-----
24
+ """
25
+
26
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
27
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDMH4jI1Kagm330
28
+ 2k9DZqBi//cHFrvRkoeYJEdPqHZ40WDzszDoOe2mry5LjMBralSiFY1E8WtYuQcz
29
+ GeBC64Imp+7uypMnDBI2h1grpqOiJ0iorJkZl3iSPwBiEp7/Y7Rx5+NZtzWV47Nf
30
+ Cq1BJ2WvrmldokxYbuNyQ0Z/yGP4N95mol2idL3Dotgk8UfuXyeMdoQIubp9a6wm
31
+ OryeFWUBtuN62eXnBixaN0lkJZ9xIbY9Gsedy48tIlU+f0Z2j9uoL7NDdUmFcsQs
32
+ z8XPXT5zFalpS+MQkSeFpGMBiwPrCTTIGho1fNWjd7+Cw9ymkbXh2AUL5t18XK0M
33
+ cwWrDaQfAgMBAAECggEBAI/8aotn3YYLSQUv/ZuIx/gtoH4inigN2ZILfTYGmlNN
34
+ NruRGh2lxyq+BcULKyxaHAsdcsJAHb2+/wIf7Z6m6+8CpLtSsAxqKmrGe/6GlISs
35
+ e0doQLLZsxZOVKHZisiR91YmAaxmXOk3bm7LZD1CYitTt0VyV7JFvjD6nb9Dhqku
36
+ 1SDH4igl/AqrnTUuZ1NPv+xTJGuDfCL4PPinGu/9F0VuWU8PDDzm+Xl7pqbCFw0d
37
+ nvoqlXVoruqq+FDY4uQG9F7h4oAfk7+EdYy3MML/HkGef07ifeY6HtpUC6f73zHb
38
+ cpqQ++pAFK2QYCpQZB5Yoja1JGvyn7jjXGNT58tPLlECgYEA6cjpeucBU/Yxp56i
39
+ SIM1IJQZjliGMtVf4Ulmy88t2hUpT6nn1yYKdK+NNCN85KK+QT4a9ZCU+7YpCj8B
40
+ yF0/80Vn/dUXPHw4TURCBGFDl+tNOVaQHRXZca2/GEm9dGz2fybCQxUZKawhapGR
41
+ S16h19ed7XW44mDeeZsvaNof5/cCgYEA34URizWh+97565qsNGNHNCxwVl3RdcdD
42
+ 59/9Tbq94amy+BQgVvQ40sVa6+w+nkqtZSuwyKHSHaCNFPOZiWP/0IT9hBRdEODv
43
+ bzt1li4UgS+aUKrD5fX6Lw9cgD08OVKWgMSMWehrm4sgL6itzjUqbMVerFJmBhMb
44
+ x12owc5yqxkCgYEA3h3PBsAX2OfeAX2Mfgx7G3raVQ3yYrWrpOYSTq2GyN62I0Qw
45
+ S4+O+5IXPGRDMw8UZ/RTtOArTIOjtmJqlS1TpxRYWyhsLUFwVKj3eCXZDKu48TM3
46
+ NQsfTwxetPrKj6U/BUuT4hxXjepGzXOEcfF1HxdyqrvgbuTOOwegIaSsD70CgYA5
47
+ G15oGsPP/iAMOfBVUigXBGOPLVkeplKLI4csHNH2nczD5SB+FteNwi6AqFM3Tg0P
48
+ FCKOoAl22FYzTCmmGI57T/8Vh75fWZjS6nYYcJ18hBUBFyAF2Nqau2n+uaZxXtBl
49
+ BdJ2BhO4IcuPYaFGVf8I20Rc8pBubONkBGHhYkWZwQKBgB7xvvDZEWSbhW8xgs5g
50
+ 4a4AElP2al8Rmki4nv+q10z3cgqH5l1EoT1nKhZ6tvVOZj5SDwKHA+shp2PYnV7o
51
+ yX9Opy5+wwYqbpwx+D1j4C64bJ31k7NiJ3kh18I1tS8Pc+uvAKUepjZcRvgaRJsP
52
+ DEuyC4irkg/3ZMIPxYmI6ZLY
53
+ -----END PRIVATE KEY-----
54
+ """
55
+
56
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
57
+ MIIDLDCCAhSgAwIBAgIUSj1pdOwRwJrEORU+fqWLTHMZr3cwDQYJKoZIhvcNAQEL
58
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
59
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyM1oYDzIxMDAw
60
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
61
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
62
+ A4IBDwAwggEKAoIBAQC76QDovPz74lN1tpHAA/sXtUXVu3UiikJjnFpgUQIK44wX
63
+ +QSbiY3W4fvvmrDv2c283ZiH2td080R/sACUVW3o87hqYJI3aSsuoE0AtOkBjPbg
64
+ xvn4T9C0DpJQIiqhBWXBZ7JnLVcgihCblRd/LsjWQOB/G42VC7ikLe5zW5fto0DS
65
+ sTwFLmY6wKMmuSN0HoHvk/fv7YSTFKPNW6ofwwQ7gaeqwBRUsRqCXoREUe0wLvUP
66
+ 7HRfJ6+mDn3Yd+upymCuUOhXQNTjD5mfiijxawq8MYIO3niObValyqNU6mHUyaOj
67
+ 4abGws3Y8Mju+5dlHmQmBBL/HXme1Irw/Ta4G7TnAgMBAAGjFzAVMBMGA1UdEQQM
68
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAWfUyskkstyDNjFG9EseOZ
69
+ YPvtjkjbrlk+IKPfACfpiwAGsEMYS3P/GVQXkA/VYAUiaqhZqJvGvb7zceXKDqcD
70
+ 3/UiId3YtlcZYzaAcAbf7xmPkmb/kMjtsmao17lm//YldbM9zp9kh6JJS+8Gh1cp
71
+ Q4c4pR1NPS5/m/dPHNe5K/BrAQZUEV4TBlfEUSkQ9vYJeOIekHGWVTFOgJ9mfML5
72
+ aP01qLcDOvTwV9BewpjHL0RXPqn7w9v4nUQa9Tqla5ce/OBgAOfB9xO2+9IpWI8a
73
+ NCigB+qkSal87TL2/jGgry1aPpT5SHP2iGaLYbG5//Z75rTZzGHQJQxgJeR5zm+7
74
+ -----END CERTIFICATE-----
75
+ """
76
+
77
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
78
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC76QDovPz74lN1
79
+ tpHAA/sXtUXVu3UiikJjnFpgUQIK44wX+QSbiY3W4fvvmrDv2c283ZiH2td080R/
80
+ sACUVW3o87hqYJI3aSsuoE0AtOkBjPbgxvn4T9C0DpJQIiqhBWXBZ7JnLVcgihCb
81
+ lRd/LsjWQOB/G42VC7ikLe5zW5fto0DSsTwFLmY6wKMmuSN0HoHvk/fv7YSTFKPN
82
+ W6ofwwQ7gaeqwBRUsRqCXoREUe0wLvUP7HRfJ6+mDn3Yd+upymCuUOhXQNTjD5mf
83
+ iijxawq8MYIO3niObValyqNU6mHUyaOj4abGws3Y8Mju+5dlHmQmBBL/HXme1Irw
84
+ /Ta4G7TnAgMBAAECggEAU3Qt9S9J48wmaNcGcBLUhzj4pO22HfrtdTPRZ4lSsOdS
85
+ Jqtvgmxa1B5VN5qqDjvbBZAc1+k3WzdXKqZN+5LdV2I2evgcuAM7LGABEtlFymyC
86
+ kF2OUtuPwwfdrz0dVZoCER0uvGgEk+z9ZzuVzeRHSfBSQ+FGxfUIsdG8XvtExELC
87
+ 5SBx+0/Kka08IEuyTjjp37tVHN1DCYunWN8PvkDPLcmw0jjt78pWpIylNTctcFMG
88
+ rhLz0CFAAJGEAF082xZdwSi2BFlQ3RSufZYDygHGvQvRVIvL/jLIBtIe+gPjvSvW
89
+ WxqSCzS/Akt0O65unCebkjaBQuBvql8lYfBhGDu/oQKBgQD0g3jDh9a3SuGoMvXN
90
+ jjNllf7uWrGSA9gWcMbAk/i5E1aMArjN+RmOv0tG8DEs6qRKe0ZCxVlGCVfMjDzh
91
+ Nh+uvPH4MqhCU9uEBolLPArPlr41tayc1AWpBLa63mXLeS+m38mjjMnJEmV4OoFG
92
+ pps6edbvw9pqSRbbjvRjOziZvwKBgQDEvNFKWdQaypSAk5zk6aMOw5v++VKs/4NU
93
+ fFjjBp9XdxvMcgbQ6i5iRmE0V0X3tHKy37Zy3vtbJ3CEfrAdbfTi0IHK9tAUIVo5
94
+ o5axahu+Qu2ELbxCMe2c+WH15rR0SuTXOAJvpBdub06WP9Osqz+ZQMiKP8STpXkn
95
+ OFQfoiMe2QKBgEnfTqUEbUKDRRnkC49G3xBZ+ONaUzuiHa7p86JLEmIYDZXPXLYe
96
+ BDK0aLHN7416dphqFhgmN4qJWBVcaShBieDpBNHPvDYNz8xbjS9FvJ5rFJx1fukC
97
+ xZMC8ZITjv2iZ1srUWgwKOauwClKw7PssglAtkdKDLr/ygAbeIpiYf9RAoGAPPv2
98
+ uGBuAjwHmm+nc8IEnIAALCJnAV9W+2psNzuHSxqN0GsMN9hPtoDwgsQG2UjjQRVd
99
+ ve/m5JOuKjQHLag2/9P4V8z4JTVNfY57GNW2cdzXOWDf+Xj2mfEn74yrJV1N4HTp
100
+ NGgeJ0pzhtmUKPMQjNXrFAe+TLI/guvQD9o3nskCgYEAoeo/RX+o6x0Hm+MVoj6a
101
+ BFladjP1XzDeInXLS1g46Bngu+4JlxAb0/Xw+tnkopxQLGWkFeWMRZ6vLZDxzwVl
102
+ Z+32ERySVgI1HPur5NqucNg6/Ms5KZCRgIZ7uKzMxgH6ziVUBiv693xsZj572L8L
103
+ pLWEzgClPUX+Df9VTSsG/JE=
104
+ -----END PRIVATE KEY-----
105
+ """
106
+
107
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
108
+ MIIDLDCCAhSgAwIBAgIUU6xhWBWAz/LanKKEiMOFsRIw0mAwDQYJKoZIhvcNAQEL
109
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
110
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyM1oYDzIxMDAw
111
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
112
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
113
+ A4IBDwAwggEKAoIBAQDC7U3QVRjBkgeNtXO74IHz9vlkL0MA1DWGglxzPDTUArgx
114
+ qaOySonFeh5kjMhYqRNulUsdCoRyNIUz02cvg0UAE323BkJUPJBaz/F+jS9rX/f3
115
+ KLqbbsxDc2l+R3uz+MqD6DAiuBJuqD/273oIdGmhp3j0be2/DGCPpfTeh8h9lM8u
116
+ eIvBClLWPsVaZAD93ahflId1XIji+D3xsRao6ss2zWkYtQC33giSTC30+DVmVbJG
117
+ wsTGkEki6SZa04m8nrCcMAMyujspmrO3Z9ybDMq77HzF334QSkG7M5Jl0Z4lA0R5
118
+ g25Poi3Ej0GBU4nPfJoChSnelV4emG6G2FxZfXZHAgMBAAGjFzAVMBMGA1UdEQQM
119
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB80O3SW7hciWlkcRKrl6tL
120
+ iBVLFxobmIVUVjSeXfSx1fiVzdSoPKy5S1NLzisGqPkFQnngz85CWb+frFUSiCQw
121
+ jKepxTKluiWzW2IUTgu6lwPFcupd2EfTv3RLiN6NY/ivjYKtMvOGP7c7WFf21r3B
122
+ 39SmTfwJoEfJAkRmi4bTOwTjVC1fV8j3idyjWudvEtH/QdOIMp7+CdDJAa+loPCT
123
+ V5jXF2gVyaLZJkilr2ZGj9+uy2w6LGyrxU2LKvuaMzFWRC4X8EmnFuO2o0Dbss7Y
124
+ zSofQc72b5XtaaTkfHaGWzLBeebu8ICo5zJwCzMkK2fWp4tAegetnlUKlEWpvT2Z
125
+ -----END CERTIFICATE-----
126
+ """
127
+
128
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
129
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDC7U3QVRjBkgeN
130
+ tXO74IHz9vlkL0MA1DWGglxzPDTUArgxqaOySonFeh5kjMhYqRNulUsdCoRyNIUz
131
+ 02cvg0UAE323BkJUPJBaz/F+jS9rX/f3KLqbbsxDc2l+R3uz+MqD6DAiuBJuqD/2
132
+ 73oIdGmhp3j0be2/DGCPpfTeh8h9lM8ueIvBClLWPsVaZAD93ahflId1XIji+D3x
133
+ sRao6ss2zWkYtQC33giSTC30+DVmVbJGwsTGkEki6SZa04m8nrCcMAMyujspmrO3
134
+ Z9ybDMq77HzF334QSkG7M5Jl0Z4lA0R5g25Poi3Ej0GBU4nPfJoChSnelV4emG6G
135
+ 2FxZfXZHAgMBAAECggEBAKsYB9j5GIWvW5nyzub1pJszCKv7H+C2Y1TxT5yGGAiP
136
+ aoWM1PZFnrALBGpVd/T6UugZepi/BooHt3NJ96QooIP0l7/yan3tuvc61kmyOxEQ
137
+ Z2I2CbUsh3Yc81e3/sh1c6xcPQP8dZFTdPGWOZL6O0185hoF80xh3M+5Zzl8DWrL
138
+ jvYA0D3H+IQ2Fx7+5uL0Bhujbobgigi39b3H0DU6Cx3TTDetXusWcfX9QGT0Hl7G
139
+ xoIboZ1S9Sl+nd198O4GcgnnRcdnM7WGbrAqAoHsHJdlQNdENpB5nLN+xeGrrCV4
140
+ wycAGoKsbLBhtN/UggLTQslHbaM3LA6uqRhgzuUSAsECgYEA4LG1Zp9z5gFrLylk
141
+ TptxnjyDB/qh6NrlTRIuIV64JrrvjqzcGIs+G/WlrBiDjx5d8DyezJKa550UEpc0
142
+ Em66/hrSfw1IZrzmVdBC9/G7y0JVNjHeY8IrscTVs9YHb9lI4Vyi6IH48R4pI3xb
143
+ paLCpN77K1HkqkShxfi/l2W/NIkCgYEA3hXfObc5XiBvR47x5HgOL8U2lg8WwqrN
144
+ 5YsypdaRjq2KCSd3LynpsCOa9iETxy7KrfAkIYiDEWWzuHF0AJsGbWGnyNRWdJRS
145
+ FcdG2Jw4hx9v5fNX26RCSMUqk+tDeHf1zhTnx2N/w0cCUVn2lWg2ara6VGAhTH0w
146
+ Y4/HhxEKQE8CgYAsDKqzY68k+EI7DLJNdsvfaZ2Gguwa6k7pvRauFBOmBB/SqLC9
147
+ Xw7eDFpeUq/37swbvMak9FjJ71FwE5RxyKOADWIW5lO7UG0XhaybTxix0F9EMKKY
148
+ jAhk4WHDz8HFe6N+CtslGdXj7zXBby/IWRAvokc7RuK9Ppc4aHunAptpgQKBgAUI
149
+ P9eh9DXSzFK1xXtk0QV6FYOO8fgVQLcb0Vj6pK+z9PXCJCw4aego1mEPXNBdmhAY
150
+ 6eisnDOvt0PNplBBMwMVfGTLku3vUnDV5CASYiGFr9ZpDiuW7D2T4iQZ55x6M2Kp
151
+ DJtzALkfCcloHXNDOkBuxYgV6Ys/JvKKln3UAAR3AoGAVG5YvRAT7zRz2gMx0avK
152
+ MWg52cRvxnI24njN8Tiw73Mb2KOK64ObpluopIXlKnvo8QbTCkRKcOtoZsIGQPyJ
153
+ yo6eYIgJ1n+uX+jl3OpHUV1qRj9Oy38tzGaFwo1sRCNsnkL56lrI6CR1mQT4PHdM
154
+ wm871rBGNc/esbPNXmuLvUE=
155
+ -----END PRIVATE KEY-----
156
+ """
157
+
158
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
159
+ MIIDLDCCAhSgAwIBAgIUE3WYHLRte9HfED08IQ/HsX/LM78wDQYJKoZIhvcNAQEL
160
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
161
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyM1oYDzIxMDAw
162
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
163
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
164
+ A4IBDwAwggEKAoIBAQCtro19tmukTk4ClxM7EsqL4nEG8deswAwgpxvHAqwruOLO
165
+ fn8VrWOruj+WCLwPiFulAFA79eX6qoUNj+KskOqhseLPQgw/PPXNVmFr4pCIhUJR
166
+ m1RsSnN8/rbQwGwqaZTNv9ziwPY9N+sRAO+dNK9JWaRQYnUYM7aVO7ze0T5TAGZx
167
+ Xc1RnRH4z66mvyK2o+RxGrm9bRRJckXHewcpmGKzWlJWBeUpgTMb7i32y83sfR4K
168
+ hKCee7YQqb4NBO+Xi3+NWxks62qjrInupxE3x7bm/uBRFGxxQEko4Nuy9gIs9as3
169
+ nJKwxxb0t1k0DPfZVBMOa6rmsXw2XAT7Gy2Mu+tfAgMBAAGjFzAVMBMGA1UdEQQM
170
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAy6Rn3XCcZIwdoTlqcXGTq
171
+ SxOJ2YD8vluqyGdk7oF8sv7hprQy4fiuIKgVM6H0j6o/ITZeAqZfYOJ7XwmbrhBn
172
+ XBCjWqa5GLIqjG/SH9qjxnqI7zPkVwyGXfUEUu2q934fq5hZ3/KC+9mAqOXyYpgI
173
+ pEuJlgqP8F1mc/QoSgbEldCJonGFnJo5tXx5p9a7lTz9y9EUFBR74hPfpUKWilGG
174
+ 9YZ0UFnsV3NsAyngQ5/SeY1/leBWCXy6YPpVZZD8l5vOvRYeRKzZbPhJnbL22ba+
175
+ rUZ/b1sBH0+aW7wOGfR/dQgIoGgHjgpztLm4dmdwmJNRI5J94yQSJLswgTbvl8ka
176
+ -----END CERTIFICATE-----
177
+ """
178
+
179
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
180
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCtro19tmukTk4C
181
+ lxM7EsqL4nEG8deswAwgpxvHAqwruOLOfn8VrWOruj+WCLwPiFulAFA79eX6qoUN
182
+ j+KskOqhseLPQgw/PPXNVmFr4pCIhUJRm1RsSnN8/rbQwGwqaZTNv9ziwPY9N+sR
183
+ AO+dNK9JWaRQYnUYM7aVO7ze0T5TAGZxXc1RnRH4z66mvyK2o+RxGrm9bRRJckXH
184
+ ewcpmGKzWlJWBeUpgTMb7i32y83sfR4KhKCee7YQqb4NBO+Xi3+NWxks62qjrInu
185
+ pxE3x7bm/uBRFGxxQEko4Nuy9gIs9as3nJKwxxb0t1k0DPfZVBMOa6rmsXw2XAT7
186
+ Gy2Mu+tfAgMBAAECggEBAIZ1uWKWxJTqbmiA70lvjdFoGFrpBjDeaUUqOk4C2qnq
187
+ s+RreBWfK6e6RBnyXy2jQlfmezdAcrByLRnHyBQTCSLvZYlRN8wJdL5oXnm4aG7Y
188
+ w/QLzfscVHZzd7L7FYJsROBY5jfCbaANV3XNhLPvIrklphj5cG+xMWwtWFYkJhz4
189
+ ztWa3kE0yW9Ylw+IpojdMapOudXXvVaxnmii9lqWTJROtU4WXyroCq3/ehxNdsvH
190
+ ybpwunB5bYYuMmDC6ZTfHdED/cpwGujpJUUB4qKfs9c+ORqOtWQprdkBkBrJwE4B
191
+ QvfNq7cW6MoZiuFda1BkMslxnHZ4CBlyMFZaS6k4L9ECgYEA1KlyM6PdA1IhRVbn
192
+ IK3YfC5vFK1TIdUHWsLrtK87gblps0se9+k9vus7by03EG6PtVYk5jGcy3ZYznMx
193
+ mex2YgKvf1sqyIA3Dky3hwAVCsGxmL5rnDiAd6RdlBSmP2fs/pqOtjBb/eH8J53m
194
+ QmqP1oZmB7IqQWKnhoa6WOEoBVcCgYEA0ROFPD5P8fiY0GS4EFDgtQ1m3frQ5USy
195
+ QfUtzOMd6JZNbrdy8lnLFmRN2jORCpAIfxSuvQHzFXPGJemHo26+S/8A1m4oSK87
196
+ jFKeHtQzlfxPlWxIiHAs1tjvJlDEG4NtguLFeqxVFFXU01mNPMw4FUnK038ZoX9/
197
+ Q4D5Vv27PTkCgYBoALKERMhK3ni9A4Infj3YhZD3qMh2TEu7fIZvqB9PExF5iOyN
198
+ S7lRzJMVjSRX2epYQdfr6CmJa8iEttt0Lqu6xRt1Cm4C/oluaeB7mnOv/ghP7hiM
199
+ nylc2bqWN/8SFU5XOdk/iqkCoemCqns40gqkXLg7XUvDDG9noC40V3EOIwKBgQC1
200
+ U+++8vAVFR07x86XX/2zKN9pcCmSXkUXzVOeme+LlCet+W6438WyMuYOc6C8f3TO
201
+ +poeFL3FgjZ9FQ/tX5Oth4krcDiB6XCE3/aBGFtxHnXLSzGRG3DYGSc4nN2oWxE0
202
+ bgcFwMa9Lz+42bcT3q5ZUDmXumj5VwGCAy69Eqw8iQKBgCQDVi6aAdPq8dN/AdIp
203
+ KdxiXxAz1CH0TJnioWtOQSz5LuPcdyq7sufQOP8VfegWk8mP+qM0l6qyiyLf29Ex
204
+ 4Qy+B9I7DgXuGiKFPU+juAFGBOIQWG1vIFLHO1GMj7Z2E8YRycI1RRk4qxcOjRUB
205
+ NJV4QI4scqqU0oA0jHlzqDic
206
+ -----END PRIVATE KEY-----
207
+ """
208
+
209
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
210
+ MIIDLDCCAhSgAwIBAgIUceygR6j1lNbh5j15q1GRBLaqODwwDQYJKoZIhvcNAQEL
211
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
212
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyM1oYDzIxMDAw
213
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
214
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
215
+ A4IBDwAwggEKAoIBAQDXxvUiBZjy1HMvZuOEeXSx6ByH7NrLbdQargaCuhpNP1M8
216
+ B4Be5t+5UJK40oDpMrVNg5hdqIRGn6kH9j6sA/mNDdHt1d7alAIAAljSe1RXnk/o
217
+ r2znyAjnA3UpkQl1JT4pyPXfsE8ucIq4XcC66MWtKj5mVH2CWbPqbJbVqtvwO2eV
218
+ MC3G4x7gj3LCPxiTmGyt2v730lsMeShYN/H2ocZ1ZvFKDBInK7iLwycaM7GGaRkf
219
+ oXYodbVwZydd0DLMuumqml+6U52tWtB2mFYJeKEAauJr2h0n/QdBFRzVpDjRXU7/
220
+ AIGzHl6tpQys2fhFa+wAY4n4oSu4CHTsIiZLKWSrAgMBAAGjFzAVMBMGA1UdEQQM
221
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBZWLumeHQXOK9mju8KhC05
222
+ FvTz0X6osRIIu+B85ZBh4xh52xpaIe52xeNAzZ1CH7IKuLoQdSROWhLOEQu4YUGX
223
+ KvN+2/8D60M1WXtAXmQwX27ZNEVfCsveLVqV+KD3Eb6y7YsXzS+GneQInlP+b3+H
224
+ 3YYPfhKwqUjYcSsj9A3u0iSu6NM8Iefwl89NYN0Rk4//dM0blK17gcT2TiGNJB5z
225
+ uEXtvL3+78oWgY/nNbqcf0yHa7mjMwebnU5RQRs0gYIWnlGmqfctwSFgEw/V8Kq0
226
+ Pgau9uqub3bfFJ+bV4wScRnOkjq1h4KkQkHSqLOVPRK86fa57pQw4FOQyykvzD25
227
+ -----END CERTIFICATE-----
228
+ """
229
+
230
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
231
+ MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDXxvUiBZjy1HMv
232
+ ZuOEeXSx6ByH7NrLbdQargaCuhpNP1M8B4Be5t+5UJK40oDpMrVNg5hdqIRGn6kH
233
+ 9j6sA/mNDdHt1d7alAIAAljSe1RXnk/or2znyAjnA3UpkQl1JT4pyPXfsE8ucIq4
234
+ XcC66MWtKj5mVH2CWbPqbJbVqtvwO2eVMC3G4x7gj3LCPxiTmGyt2v730lsMeShY
235
+ N/H2ocZ1ZvFKDBInK7iLwycaM7GGaRkfoXYodbVwZydd0DLMuumqml+6U52tWtB2
236
+ mFYJeKEAauJr2h0n/QdBFRzVpDjRXU7/AIGzHl6tpQys2fhFa+wAY4n4oSu4CHTs
237
+ IiZLKWSrAgMBAAECggEBAM7ECAIh+v42Nmol3b8D457XHP/jJ4XoKGeoevSqAKol
238
+ FE1hotFNyvR5ER+qF31e6fztLQQShy5lsEPA4y1SYb+YjqGpX3N0gLYhiZuoMpoD
239
+ Se9eqq0wMdesqIi8QqPOnFLOD03aVQXbMhKZRCXXCBV3dXP5YouWCaGJjMASic8Y
240
+ WbbiQMByQ//ZMUqNADwKpmF35BB+r8RxO4+SEpUA6+n/t7nQ8KrVN6CMQaZMSCvd
241
+ PzYAk8o7Mz71+WJxgLcpMWQO/hdvJH7sDqFlFEimNyPrNLNLqmCSQoF2oPyA/DZy
242
+ PO1v/VpX94Fr6+eqBSk1SJv4MJw0ia4YWFHTKnyz9QECgYEA/qrStd7i8w0J9ox5
243
+ Awl3aZ518fr7OhsKJEPWcAkcdOo1Ikuwf1hOAE2npOD46mCKdxxKPg1ivJjPlNfD
244
+ 7F86OCbhjwhcr+Y1zkHeGtDBVnKeTreE/vm3K/k4cOyMfHTOBGd0UCQVsA6zB6ed
245
+ 4xQsods4H/s+OFDeWj6cHHYxZ8kCgYEA2OgIlQzGK33UdywxZalkPzYk6f51rz8s
246
+ 4T9OpjpnggZrIesU5PDjcwR/8WsRf3/8VFG9UX+m6G4GF1kyBrwfBROJdGDnW2zw
247
+ Yjl5PwOEOPe2K51fXgyhrYtUm0QSF1E3njWHtuXCO9sAcdznHDkpbrrrDY0NOU+t
248
+ C7NIF3bLCtMCgYEAjnSX8cyAP11n2VayypQdDCPr7jRrHBHMFoUsCvfNx0jL+CdG
249
+ z7VhzKGjyYNfOhxO2Fom3Zc3SDBizev0WODb/FUjj5Mp5ets5bfKuk1UGTt8eqQF
250
+ 7Wtan2qFvAVWgLgGFkiYs8u7pgRS+VE17LR4UwIB30H3iCEUgH7NbM5gzKECgYEA
251
+ m/VqhlEjBA57gBykf+ZmEBVMQXsW/yS7jlHIqTkBR7p5uW+gHGUgBYlMvTcw464Q
252
+ rkf/iePxDNpfQtZ9Y95Lp4i+opEyiMgxp06P4UEUByoFMCL9eVA3x+KQuPsezuk0
253
+ xmrS5C0blZIIJdahzedD5Tw82gd7ZKPnVqxXv5dIssUCgYEAhOLYFE7w6NdfFo5Q
254
+ wrwABNVHpYAfuQLoZe2pQNkWySiphjAr9sb+itN8gbR/1gUCJ3hdkwjJbxUDh3eR
255
+ pn+/k44oxXQZUpw1mkfU1PyH1DJ+1hQfdNnu0V62d1PQLmdQgzbWVdmjI8Us9LSd
256
+ RyAKeQittjiV/2JVbDzin50aL/M=
257
+ -----END PRIVATE KEY-----
258
+ """
259
+
260
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
261
+ MIIDLDCCAhSgAwIBAgIUD/plueTF8nkLakTDG0grFBs+OUIwDQYJKoZIhvcNAQEL
262
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
263
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyM1oYDzIxMDAw
264
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
265
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
266
+ A4IBDwAwggEKAoIBAQDcF8mA8F+FreurCbiCrW0e9t6QrME4w37dwoXxN1YamOO/
267
+ 15IVMCd4HJRiCp9FN6Z/MrZeBgVqzzZW4XwdH4EcIAr3yFkRo21mxvlRKPe70NJw
268
+ ZByFhtkzTo+Sb8drAbl4LsBb7obxWAIhZvMT/1Od0QH+7mhkSi11gxR1AI9EF7cd
269
+ bK85MnAuH4UXDM4w4fg/n4gFlNiHhH2gaF5xFwEn+Bksy/lxFA9lEXnOI4QSTeCO
270
+ UtTPN7q2Ns5i1tx1zLmQDFfxkaC9BNq0GFDCRvgvEdFW3VGN44C8TTBbXDucdAFK
271
+ O8Lmhvj59Re4ulJuEeHS2Z6BTwEWdRXFPQ2j1kiLAgMBAAGjFzAVMBMGA1UdEQQM
272
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAhakbfc0tiTSdyXNqxXMzZ
273
+ EdQJOupcHLuBC4rIN5qlV416r8H+sBKMJoKNUjI/pUHdGiIiM5bsfVqBYeVF26WS
274
+ B4VWaj6KG5t+kmp+DTjur1MmgKt2mgMtbeziCe0N34mX7EdO6JBYriGQcq5B8+S+
275
+ WVcM3JBsTi7ou+6+V0AIs80e2BpGiqpkTOi8Weu8f3x1WjSbGjFCck/Om1M67v+O
276
+ SJo2TXv1boz1yFcjD7Ha8qTzDSDRQQJ9Td4LheooCd3TSQ6bTG7mNDaYh7WT5Ra6
277
+ TOlbXp/CnnSsF67XY7w4LjPXhOKpGNriDiyq0/DeKx+3Ie0kSCSoQZe04Zm40+OO
278
+ -----END CERTIFICATE-----
279
+ """
280
+
281
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
282
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDcF8mA8F+Freur
283
+ CbiCrW0e9t6QrME4w37dwoXxN1YamOO/15IVMCd4HJRiCp9FN6Z/MrZeBgVqzzZW
284
+ 4XwdH4EcIAr3yFkRo21mxvlRKPe70NJwZByFhtkzTo+Sb8drAbl4LsBb7obxWAIh
285
+ ZvMT/1Od0QH+7mhkSi11gxR1AI9EF7cdbK85MnAuH4UXDM4w4fg/n4gFlNiHhH2g
286
+ aF5xFwEn+Bksy/lxFA9lEXnOI4QSTeCOUtTPN7q2Ns5i1tx1zLmQDFfxkaC9BNq0
287
+ GFDCRvgvEdFW3VGN44C8TTBbXDucdAFKO8Lmhvj59Re4ulJuEeHS2Z6BTwEWdRXF
288
+ PQ2j1kiLAgMBAAECggEBAKUzlaSayJhmu4ZefYhY9JdRZi3h/gbFduytniw5BQBh
289
+ 0lGlVZlh075sdVRB9NrXsrm3LvvUOSy67Ga6SZbyls6tno3ubCy5Jt0GbQ1mWs03
290
+ KT4DZwUy+sVwKoQYMu83FCgJr4lRuShejvrTc5GHDRRgVccs3F6q7wRNp4VLLj5E
291
+ ymUIRihgVbv+QveJly92+rjNHnmAojklu5FyjxoEERbR12RTsDpEYurdEABH67/A
292
+ C1ginviUORrQJ3EFNAbt2cHREhP09MlLTvOgmHP7bo++CfKmSZrxmv1fFUrS6fko
293
+ Z5jKzleszXILXhg5G5hJX/fn5STZWMG0/8+eBj4GTMECgYEA8MMCASq08UmWHE5g
294
+ lI/Bl2pdTQxoUIT8/QEzq8oqVC7PYpd2bNJKWb0tan47Zm4Mod0HwakPsdZmJeq8
295
+ k4gTfEXbVTjCkXJy4axtsQ7fj7q/Jz+Cz3o2ir/sfsb5S3zK8iWdsVGJRhaGRNNe
296
+ oFmC1O0GKNYUnp5J+/y7s6ZgYMUCgYEA6gXjZfyjOY02Rignlvbw8nc2CSVkggwQ
297
+ Pdjgg3VSyOTTtVgI4S/lU6f5ZwvWZqAntThcUL+5HbzA82btAPc0wqQv0xwGWB27
298
+ MB2b/U8hyOaqCveWJVAGxge7kG4VTzvACVmP1bN90V6evg+T9pnCAfERTLgZtyJ1
299
+ SE39wuzd+Q8CgYBjYVt2d9ZwsttPm9qp+B0FD1ar8y8r7XkwRkq54p1OWnQoUjUD
300
+ /lnKaRhSGQET6uEz/zSwb8SWt9U6WYa1rzm71moO53sI5qEdHju5FlaZ0ZAN911b
301
+ nyrcYxSP0DofOsfa5EQPaYSsdae+yTEKJ2il06DzQksInnYTmeMw6MBnsQKBgQDM
302
+ vfQSETLYsiPuw0jHuipZZ1SeMdm6MUWwZmMef/G6kwBp4qh6I0Y2p3n63o9oX+v9
303
+ j16swt/5FV+WU9E8jArb03uH7jfatcBEO1NzDd1X//5689unr1kNvkwp8zWviW3c
304
+ gD/nzk5gc7DcRZLFKAZlXnwtK9BLudj0Nk+yTztwnwKBgQDh35ck35wwTffrrCo8
305
+ lXdDGxqjH2spxuesSPf2YxTFShbV6BLDoQ+hVD+QOgByQQP78Qv+ATHEr2TOtV/3
306
+ TdTn5+PzxmV+TB16BvImbHFp0I5jOlfGO+tkI9IGNfnh7zuXbcD5ud51E/aRRXAs
307
+ 1+6WZaW9kC9W+BaaIgTvka1leg==
308
+ -----END PRIVATE KEY-----
309
+ """
310
+
311
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
312
+ MIIDLDCCAhSgAwIBAgIUGEsNvk3tP0A/OO8kzGApLrkPgqAwDQYJKoZIhvcNAQEL
313
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
314
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
315
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
316
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
317
+ A4IBDwAwggEKAoIBAQDfU/KtYwJBDRNT1ohOQiZyWS21uU249ykMPIUmryL6/2wf
318
+ V8QGoXSPapX1nDi5scC6/m9WBGeQkvytkqkfDCKXeQkcwDWslstYJrYQUL/aDnLE
319
+ Kd/EWkoFiQM2ALcPRk/v4W1s7e1UfZCn/LWRZok1mTvLhO7/ReanpQ9p7AcKgE7b
320
+ I2HCEpe6YT8X1eFWBQnsep3FqipKRTfOL3lAv3vd3ufahcU0rFY+REae5DKSyKzK
321
+ rlWb1CHUxEIHTHvUdmCRVkEBUfudbsS/9SDi6N4KHyW3k05FZ11E0iM0ugimlVAe
322
+ h8A968IFxcZj9iMU/WYuuOQz/xsrkie2VC0Un3P9AgMBAAGjFzAVMBMGA1UdEQQM
323
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB3bfnPsdtBRoQhCzF+TbF2
324
+ tJjl5Aa22Hdgkp+ew6X1l+BsOtSyKnWhfDE3Vc5ImWbwXCRXqh8R2GrlG1qACRFr
325
+ EoMr7XwYSMxF9BE/dsBNiVszs+cLoSmVKEzLdHMcdgptaJLbKRP+p3/M9qUgs6cS
326
+ 7Iuwl8mqH0ebCgSMYrteVYu/XPanmTRfHIWNIVa0S8Wfrcu1FY+UiVSRVmSCPlGS
327
+ HOsYKko8JKlLG3ZpKOJ9wDLGIbOEelqCB/ysYXbzLTl/qzbrfdun3pk4rL3UPQir
328
+ FmXo/0MLHgnl1qJpHCXsrTIpxzCR2+7KpkA31JrM01T+6FBGEFQBVPo6zIHlPLDD
329
+ -----END CERTIFICATE-----
330
+ """
331
+
332
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
333
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDfU/KtYwJBDRNT
334
+ 1ohOQiZyWS21uU249ykMPIUmryL6/2wfV8QGoXSPapX1nDi5scC6/m9WBGeQkvyt
335
+ kqkfDCKXeQkcwDWslstYJrYQUL/aDnLEKd/EWkoFiQM2ALcPRk/v4W1s7e1UfZCn
336
+ /LWRZok1mTvLhO7/ReanpQ9p7AcKgE7bI2HCEpe6YT8X1eFWBQnsep3FqipKRTfO
337
+ L3lAv3vd3ufahcU0rFY+REae5DKSyKzKrlWb1CHUxEIHTHvUdmCRVkEBUfudbsS/
338
+ 9SDi6N4KHyW3k05FZ11E0iM0ugimlVAeh8A968IFxcZj9iMU/WYuuOQz/xsrkie2
339
+ VC0Un3P9AgMBAAECggEAK0mbTU5WnoNJTsPTkc+yohF1EbdEQGjv9OY6LOBfmGUv
340
+ 8PdTELH05OOVA5FvUVcJ83Tj4bli1ZwYDBDUZSc2AUQ9puv+u2BTM9f1DD6KoVqR
341
+ lkJDlEyn8mC3VZ1X3kcTsXxxeF651Nmt01HhY7iLOe9krrMqnCJRbgdJcI+GYdtW
342
+ MQdYm95c3Jwwuvw1ePtEqaQ2SKoFwGT+k0qRHeo/waIwo2BNJEnyqdAUH5B6oa42
343
+ HwHkIldC5smV73hxuIlgiUmUAfy7My0YNef3KZAw8BZa9M79uYFPk5/n/2cRjEdb
344
+ Jo9mhKicvE5uPQNrQlwrW1VKXu6NOlA9pW3aDystYQKBgQD2iDAvGJmVZX5Vo5hy
345
+ KK7BoOTEEbjGguB4HyDrO20Gv2bFHI4XXJyz6xUoy7rTJfXLWxMgXct6K4ucgAhs
346
+ 6QrfEPMivPQH2vDCOTsNRCYUu7VvenUtpmvpHy7pUVnB2oY04ul/pq/EdpHm67eO
347
+ BOakF+WbdBwdBIHbkEuppKTJCQKBgQDn56A8iFJxNl/FdTA5m3oUr5sXdA15ahya
348
+ RkzWromATl+Vj5PAX2KAxoX0s0m77ECoDofHJLGhbs8Sc+Q1RUdpLxa7xPJVOFwL
349
+ dDP1ey8oV0Yzr6WK/0qXfwZ8YszmlL3h3BpzsmXHfcRlsrG6u5R01WqtaGzqLxhb
350
+ /skvCZQUVQKBgH3PkG9oaXBxZCCGJVUU5+IOntBkjtxXjAAhOqZxJDmOUf8DjIvl
351
+ il7S+HBiT8xTkfUeXEtnMmD9efj66dHSt+aQetPeg9bCZ51moXkqrxhjlrr2Tnhm
352
+ dql4bXNKPbkNMPIqXqjzQr3LGLg00O6cF6vkOhu0DGjOlQqcv9AqIqIpAoGASiZi
353
+ stg33CExsDZPTCwtdc3MfkxKPqcyLBYMXZyDNLZak7zL1nfpTBmuHVbyXZcl+VZk
354
+ DcXq0h5XMaRCtNHJCpXW5AUOIzeZHsRyFKzloDV/qekgunf0hspD7aO9toCa0kwJ
355
+ XTMOniHVmVrwvy9ZQZ43tOit4pdaZ5fpBhQ+990CgYAdeLfNGaSXmt4ex+Wg2A/n
356
+ 3yvHpLuSTWHEALREY9b3CS/8PMKxpHBShbrfPuBSiinOwL9Px8ZuEygPmyS+bjA+
357
+ +fjR1zprPU+8ujAt8Sszxb22DBa4vq4qogyYWA4Pt5OwiyW+uKQ76w39IdZbx06U
358
+ /HMX1zYDm8q2rO1hOvyQ/w==
359
+ -----END PRIVATE KEY-----
360
+ """
361
+
362
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
363
+ MIIDLDCCAhSgAwIBAgIUYuDSVIYA8huPudIdi0WG2abkweswDQYJKoZIhvcNAQEL
364
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
365
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
366
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
367
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
368
+ A4IBDwAwggEKAoIBAQCpomQtc8V53Akl8GGEiAmySQBqEdpHzezrfzmZULGkPHIi
369
+ brx5QAUpzLTaRQL8vTKls0wN2qjf3k3oQXB8NDuveUTuosms14KeNhSj2AK/3baH
370
+ aUCe+F/UnPb3ns/YLZltuGUzsf9mp8P9yluTMhUqLweaRG4rfWkzu8aug6uuKt5o
371
+ 5FBV8AHLLNe89WHBRDqR29BiQV7rrdfjVEPrlW0ZuVJ2obcp/OvXt6c7XEq/FgOG
372
+ r7qVxK9VELEZM2auH+wDHFghIdLgsbj3dUNOqxqhE3Mg3bKiTqxmrLsV15ZLQCcE
373
+ erJPLQsqjQla6+yGPOKou26C3n0ukdyWvPuipjqPAgMBAAGjFzAVMBMGA1UdEQQM
374
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCtDYfrHPXlP8OR62xr/Eve
375
+ dD+2Sl8KLDX+ekaV2p6GLO6+nTeD//8NFG7gh22LGBAyGYSKDcFSVy7fIl4iV98t
376
+ qXpYfC8PA+pXIhCI0bEHz0Jd/g0oCgtbvGs/1SGWYzVvvfrDunGM2d/IRLFtIwde
377
+ xNz661oFWR4UzbF16wPlxZ4S2BolgBAq9V3vr8G6r58/wfKLaR+kM11u3MupI/iz
378
+ z/b67IsYicnYf+r8tLs0NMxI3nt6bkMth4552GGOx0490faxSH2wvS8r9OhvHfh1
379
+ yzpmzqgcGJ5vVyzPcj0ADCe7USBsTF5ocL5wLpj5i1OWtGeuevkyJ4CUHOUn2l3T
380
+ -----END CERTIFICATE-----
381
+ """
382
+
383
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
384
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCpomQtc8V53Akl
385
+ 8GGEiAmySQBqEdpHzezrfzmZULGkPHIibrx5QAUpzLTaRQL8vTKls0wN2qjf3k3o
386
+ QXB8NDuveUTuosms14KeNhSj2AK/3baHaUCe+F/UnPb3ns/YLZltuGUzsf9mp8P9
387
+ yluTMhUqLweaRG4rfWkzu8aug6uuKt5o5FBV8AHLLNe89WHBRDqR29BiQV7rrdfj
388
+ VEPrlW0ZuVJ2obcp/OvXt6c7XEq/FgOGr7qVxK9VELEZM2auH+wDHFghIdLgsbj3
389
+ dUNOqxqhE3Mg3bKiTqxmrLsV15ZLQCcEerJPLQsqjQla6+yGPOKou26C3n0ukdyW
390
+ vPuipjqPAgMBAAECggEAZZdUqYfpH2bwr6D7thSGwhhIQD363P/twMfL5g7WpIZy
391
+ 0D5Db9YwgW0QbpvgAx8IAwaTKMToWFJZlBwE0s2xZRCagNRLNdFHb5rx14IZe3C7
392
+ zPLy+YHEWp+6pGefEFeWyIgjS8dxLriQfyC+oTPgSwgpZHFRDYipBYuSnJdMrRwT
393
+ KrBKjPjef4NDf/F2xUDZxi1BJDJzjog+3r964cdG9homLe2UvR1QKfXZnXxVwpgj
394
+ Z+x2I/tEGlVJ/rfWywddIYar58/u3xKvyRYMlV/OlmDQfOtuxRqPscNWiUJF91E8
395
+ BjjIZM+Gb4ndffvGo9/k92WwshQI2D1LYaUX44WPKQKBgQDfbGLp0Pc+VXUPt7/5
396
+ cX0fuwPWHlYoVIRMXtDT4G5aNUYm6kwukL2HdiQty+6zf55dP1WEnZr3bGlW1zmV
397
+ NjE+gn8iWcWsNo5zhZ7I1fPjEZR41hd7RRoTTPRfgy55pCa3Jxup8h5grzfuT6VB
398
+ oEgvbMPaNN6hQKcCVie8c1sA8wKBgQDCXj+Ao+EBcmFEcQFrN0nT6fD03/OkUWLk
399
+ 9CFG7koqlFjKnGMv8Nm2MMm5c3WUR9lygMboPQSV4j1VmcNBKPG/sA9MUTToT1Jq
400
+ oXWYkDuukW/kYoeTm5PcITHWKJtNatSdxE6B3Ck183sPQ/YDZ176Zh4TAvDU9H9l
401
+ wvUT7Hzm9QKBgQC+LzonxJyiMAZ8wbKl+IhFOWGzo5E9tWwEwnVK1nG5Uj4MJEeD
402
+ H+xl4hg776uamljJEX+PasWeNmeY5455yG60wkrMh9RvmuU5yxV16kI4GR/kmIHW
403
+ ieT/ZvNiVn16SFQ4dg7jZFmdfanDr4KB0ZmA3Tn+hiC47Rr9Ly+WCDAAJwKBgHcV
404
+ uYB+Z4g0ZQXC2uSuriwJBBlz8Nm3B4lRTeYgbw5hb3lLkbW4shrfD2jxJZPg5Ygz
405
+ ACsf32RZhcyhdbDBfkQ8gVL32huPJeaw39TGYdqVvuFFwN0eD9xp9hfJL0Wic3vp
406
+ 31PO6OzmLXpv4BW7ysRNtpVdUuKWnkthxDgdx3TVAoGATUxRuwlAj4sQutVM4nJl
407
+ Rn+EjohYj+5eQbiKX6PtrPBq35N+HBiW/Nll3DNQycQofWPiNfeMt5L0OzTwjOlJ
408
+ e/LWCQhKDlw+uvqczJtWR8c+YIJ1Q8/c75B9FU7ZDZBZ8UoX1Tj4V9N9rcY5TctQ
409
+ /XazFAYtNVeeJiw6nKXrMYs=
410
+ -----END PRIVATE KEY-----
411
+ """
412
+
413
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
414
+ MIIDLDCCAhSgAwIBAgIUN/JXfTKKgYd8tAmAAwPecG1x5qswDQYJKoZIhvcNAQEL
415
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
416
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
417
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
418
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
419
+ A4IBDwAwggEKAoIBAQDRq9bspUpXBycLMb0rLXGVMD4xnT9+VfLF9GD5EFVOCG9N
420
+ t2VmZ8Tvlq76G/5MI7nI/wf2E+Z5e46DFdsCwH3uZRja//eQQ3jhiNN92qPaHpZo
421
+ 15CXLRm0HUEX+YHTBCQ4A2evFhH3CkxVmTwJYEIfQUf1N8XRMTV+LUGdjeYJSMR7
422
+ GuDrRft1AJDmGEeECp9o/DxBc/Na6a3hSM6EKfVacXh3XZBuRtfXvArOiZw18U80
423
+ qzi905hw0UnsCd34hHc30gYMI1ZGnhafFQRzLQuIAzCQgKGZJ6S6mwY1Ovu8qi6T
424
+ vjGGzWc58yRv4SgiI+wMEJGcfDGEjedXnH5Sb14VAgMBAAGjFzAVMBMGA1UdEQQM
425
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCY5SoXBJC1OtM3oDPvrbD0
426
+ ziondPDLGfS3zOXZ224c9s3vV8VOfUtdamrjn3OJnip5U8jlTg16gpSOqNK62CTl
427
+ kgRtmR3tBLZmSfQIDB3SVN9OLWS+bpb2BtAdrUu/3vdP9EClbPMCO6lCDnjt2LBV
428
+ qGmfBl57J9p9j/2z2ln+C9AboGmJGlNWiu56kOYUCM3+WYSSAq56FCGpqMSzBvX8
429
+ 0q7lAy/dG07fVtnE6FSQ44nEmqY9zq2goy0F/w3h9EPXaIuixz/PnJuFhPHVZLZm
430
+ GmpR9Aqxnu1EURt0I/reYetoXB4oYP8b+3LtQ00o64fQV7byKNSrji6Nw6VVaCUI
431
+ -----END CERTIFICATE-----
432
+ """
433
+
434
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
435
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDRq9bspUpXBycL
436
+ Mb0rLXGVMD4xnT9+VfLF9GD5EFVOCG9Nt2VmZ8Tvlq76G/5MI7nI/wf2E+Z5e46D
437
+ FdsCwH3uZRja//eQQ3jhiNN92qPaHpZo15CXLRm0HUEX+YHTBCQ4A2evFhH3CkxV
438
+ mTwJYEIfQUf1N8XRMTV+LUGdjeYJSMR7GuDrRft1AJDmGEeECp9o/DxBc/Na6a3h
439
+ SM6EKfVacXh3XZBuRtfXvArOiZw18U80qzi905hw0UnsCd34hHc30gYMI1ZGnhaf
440
+ FQRzLQuIAzCQgKGZJ6S6mwY1Ovu8qi6TvjGGzWc58yRv4SgiI+wMEJGcfDGEjedX
441
+ nH5Sb14VAgMBAAECggEAU6Hkd74ymeYbd8aeOwPEY4q7tBSSB/WGgdlJeO8/54FL
442
+ zEcT5jYMArkrEE5sL7isWXUImuozK0/Sd40XL9DSKm4e7PPerqeLJwLpwTCd3NoI
443
+ isc5QGPX9dUZatO2KhJj1AffqqH2BoEQE7CsltzTYx4p8rENcbTcLnkkzBCWqiqo
444
+ NPJyGyyqP7iD5n0gWv+ojeXH00ktghop/oPldwIaarEkEKjURnZhiYDKs1XtPZP8
445
+ yNx1uXCcvpXTpli7++tROOlokqoqH4ZiX7OQo4GLwV/cW5JBeVz8/gg4oc3knn1T
446
+ E4h7rkmyMLwKeoiYGyx09bvxSHeJ4hTtjEiFA2CC/QKBgQD18A74b6E9UQndBHgE
447
+ uI7xufylsCbZeuu6p1HcbNPbhYnIjh6sknsul1FomPOLt+mWYXefldIAERm4nDVo
448
+ O6TAEilnozj5eUN6Oxl7Ri/HBJMAYhjDKBlUwwp4tGiJAjLh7ddpkhsQ2MmQuvsA
449
+ p2yEhxBrrd+gNybSzeyUoEn9awKBgQDaP+1ugSjEt7ay83L4ODcVIcKC+xhtIfiQ
450
+ H7rqHFrHHyF/dQNW1ftacDaSYexG2TsGMQk/Vd+hkVAwn5cr+t7mta3GZOSiukCm
451
+ iQpAX6CacDpgx6kwJhNpO5/NxlP1AGOPlbzL04shlL14LrvNhdDz/7fbEe1T0Mc4
452
+ 4LUer+NyfwKBgHsWSmfMdsZZaLZVJjw2olQY4XmLT+ZIvvIMC8xmKyITE4Jsnq2A
453
+ ImaPFQ9kfX/P6/h3j4cvVIr0BAuBIrmoICyA6ngUGM/DASKLsZUg64iPoYLvlbUW
454
+ vJbPhs4ifK8ViqHIh6cumJ014qus6TLKmGU7s9wwiVuGPsgCiAVas61BAoGBAJWq
455
+ LRoQfHKaQTFqfTb25d8Z7ZeAtXlxSFEdUUJl+2J9WK1dAtMznlCgjuvHNw5GvZE7
456
+ Y0oJi3fyfHk7l6FTQjQX9nkMizWEX/1UELGgYjRGLeJcSQt5sOoDN00Xak+i2qOG
457
+ XZexE8INi/i0o5kG4QnSHLSgEI3fqB67CblniKPlAoGBALhkgKNAIFriwetJUhGE
458
+ 7FD/9YtQUE2oGc4Ipey3zHgjzbt+BxCrNGlCNtxeqRKW9yy1amUUJMFptHlk6ccI
459
+ YexcFwMqtA6/fzs4Lbv18bRE14yVpmZILdrWk6AYPOF+3RiOiD7CFWDWV2sMxTyr
460
+ 2+6SbxkutiKAmAd+GQ2QcILk
461
+ -----END PRIVATE KEY-----
462
+ """
463
+
464
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
465
+ MIIDLDCCAhSgAwIBAgIUH0ogquGB4mndRRHavQuBPNDRMc0wDQYJKoZIhvcNAQEL
466
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
467
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
468
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
469
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
470
+ A4IBDwAwggEKAoIBAQCfuudKm7y0TVi6OOD54Ir9f0LaXBWRy+Xdq+0Jtmbc5TPk
471
+ 9XMgt4DP+U6KukAwSb7jEudyiHjWIeB8EXkQ6bVRPWUxo9CZtzPjYVi8yZhJnOqE
472
+ r5oSgiS0L45mEuhrVeero+K6QtMlU07UaZk2OPq+AppeYLexMDvexxx1yVf36mby
473
+ VG+o1s/Eu1RPLaViaF8Owjl/A3YgccKUSx+/KKYGRnSIaEpoXdnLbD6HfgLWZbw2
474
+ qBg+eiy6GGYVFTJ0CcnfxgTJQ5wN9je+VFEPvdJQpuU/aBZ/CLxI/BCqF91xRg/A
475
+ kND8+WqZI2X5ET+gnRuDA0SzNARyUx6ng93vyCAZAgMBAAGjFzAVMBMGA1UdEQQM
476
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBWOG1W4dxscVyJPt2hczoN
477
+ OOuS9uA6cHeqtRyXxwBfCxFMTBJn3nEnNFNt1CgLhyPQY1CFyf+8ZycaIfeeCqE2
478
+ +qHdIpwoFOF0usRUi1oH2Pb4F/62x1EERDdl+tDdVE1vgm5Mh/teDBmHZwPnAhyZ
479
+ rX3FAN/he6JXmZpQCuMazJ0PhcMPbrwtv2RBkFGneQamHYbTcsofQlecgRIcGRbO
480
+ N5nr1d6LGoBlGRNFJRcH+9VZtw09dOixh9+uzKHIhzkUpJWrfpZXGq/Zxjjhj+7G
481
+ z1LWzIV/uatBy6TyHsnHicPyc3dYW01OPE3TjsiFMaGFB2A38IcyqP+3PmzD5vwG
482
+ -----END CERTIFICATE-----
483
+ """
484
+
485
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
486
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCfuudKm7y0TVi6
487
+ OOD54Ir9f0LaXBWRy+Xdq+0Jtmbc5TPk9XMgt4DP+U6KukAwSb7jEudyiHjWIeB8
488
+ EXkQ6bVRPWUxo9CZtzPjYVi8yZhJnOqEr5oSgiS0L45mEuhrVeero+K6QtMlU07U
489
+ aZk2OPq+AppeYLexMDvexxx1yVf36mbyVG+o1s/Eu1RPLaViaF8Owjl/A3YgccKU
490
+ Sx+/KKYGRnSIaEpoXdnLbD6HfgLWZbw2qBg+eiy6GGYVFTJ0CcnfxgTJQ5wN9je+
491
+ VFEPvdJQpuU/aBZ/CLxI/BCqF91xRg/AkND8+WqZI2X5ET+gnRuDA0SzNARyUx6n
492
+ g93vyCAZAgMBAAECggEAMwiZW2oUyZqozZ7cqpmGbuXZK0Eelx2JTODgdCj2Bn+o
493
+ q++MIBjhLBGgeYx2c7csKQriLeLSkL/0JE/E2ZWCG/m8ujZ3sJUrG+v/WRoj8OkU
494
+ uN4OIPm51mQXYB+MaLbitSFAkHhHU/ahChbPH9bmrgzQ23SVXCRoDI6bVjrFQ2z8
495
+ oqb+Ct4o9GVkLBwdSDdFgTcPTcyCLLq/sof9B6V9SETNO9snfyaN3p2Oz0Vgd6Ib
496
+ tcfnodAHZIXQw1oo3az0SP6L1lR/Zag61Y2oz2Ll7KZpXQuoDIK1T7hFMCFEykf7
497
+ 6cfDGb3QeFvsNtIvnM53+ZHdMMqyFLxXx+sor25fjQKBgQDUzzO4pOpu1PuX2sQn
498
+ hLSed9UMqupbIC85ww29XazjZb9nU2kHAUSi/FYadCtOSNrtp0McYD1QbOJ/T3Ib
499
+ OkOc4pzywk0CY/EPJiuQGuBMByfAs/Yv4Wz2iQM1vZ8EAj44c5w0pfwlRnRIfHir
500
+ SxQP5eXnHUn2Ck7HncPVTtpxCwKBgQDAJeU6GqYkfAN2EEcYXKAoTxRjxhoCsV3U
501
+ caLqDpv9JMNIa/K9VCwKuE3i4FnDTB0o9eCeyGsiJ3dkgIZFeoZxL6TDR/b7iyRR
502
+ DYXNIg5gNWrfNJ2erQdHG5xqZAyEDYsYzFFPQtFHcrxcdCSZMBxPYcWPuoUxg5sX
503
+ pKRVnuXx6wKBgFHqjGM4ABG3pD0Y9case4ZAZF8i72Eya1tVrNVG2MUTpnDUl6od
504
+ n9kJPu+h5gWVX8h5SQkENrXdo/YTk73NWLdsN7PufQw9gk4tiDlJTyuU2YWBAHP/
505
+ 1xyzMuwd2LcHUgIS5n8RoZSLoTlByIVPOiLAgRXMnWq7HwYRwY87cjRvAoGAahOB
506
+ nLYhinq8Hm2WEijwcdBWXU58BYiNWD7zxWsTSokFFfIiK8tQFQryVJGufFaEspwq
507
+ yP2zx0Mqcl1RwwGFPu8icnxEKVIDVou0li566ToUKe0OJw82uVbQ3xsknbIsXCBP
508
+ swYcKul4e0HTAo7A0kIToulBprgU4tSNtIboQskCgYA1t7lDpzjyEslx1l7gCY1f
509
+ hVw+uFE3Y/ITxBvCqrTiUGlsepuKOixf2hACoyRgtq9bzlgOu7mL62um6rzSaxf5
510
+ j0RaNeZOSPCDrLGFXCRkcsBWtkyr0Xt7e8rNNJxfIkaOPQ4mRSFs1MfY7dLYTk+q
511
+ t93+b6J1Gj2wv6Bl5olceg==
512
+ -----END PRIVATE KEY-----
513
+ """
514
+
515
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
516
+ MIIDLDCCAhSgAwIBAgIUchZN2ld769tiYoK60GmFQF/Q1z8wDQYJKoZIhvcNAQEL
517
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
518
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
519
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
520
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
521
+ A4IBDwAwggEKAoIBAQCmD4gtULYn91b8jZo0/I0JUA6j3lbV40/ivqH9AqEoHiKY
522
+ qQMbT1IywATq0/oaawM0sz3JfPPWpRVMVHHXWZdNtSinnXheqraWJX8ZDLmMKhMP
523
+ srRgX1eDjY+brHB1+E/0BGhFmajopdv2RDlfjljh+J+/nFMqvR5m2Eap0m6peINV
524
+ m6gYloHwCfa/ieYsF+zpHJNX5t4Z3q6BiTZPwcmxF19gfS35ea4SEqW9Skvm2+o8
525
+ VbOiC0y9VtSl925phEn7ptefu2vT+QtgNVllMZ1r51s8T76bs/pVBUTE0ZSycQsU
526
+ LAgNP7luy+PepQf5JsGPM9M71idQudkjiNKRe1EjAgMBAAGjFzAVMBMGA1UdEQQM
527
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBAwLNxGGdf9VqeqG3RO5lS
528
+ a4B7k276NjG9Fl1Ys5BbbUzpSPwLunNGGNI0rhlY+uUZDCg8kAdwfnrMwtoTwH8d
529
+ ez0cYCW210Gdtg0z4X2L0oHkGMxJwsRvl7cp3v1k5R1iupFzdE4lUsxapfRrQeOt
530
+ JJGVVDdQKKZ86DuDMpanrBGUWl8e4b4/8bQS/8PgCQEJqkJjVB4qS9km/CV83D83
531
+ aeJVOvBlf1TfJgmxKvUksgnKUoN1L1sN6JIcWtVqe4qj39wmCZLIUaupFE0fmUYt
532
+ JPrsEwbkgm1PN+n0+gyV9uNwW3WFGoildZ/hCN0f9KuH2uz/LmnMpEmBMnnk/DAS
533
+ -----END CERTIFICATE-----
534
+ """
535
+
536
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
537
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmD4gtULYn91b8
538
+ jZo0/I0JUA6j3lbV40/ivqH9AqEoHiKYqQMbT1IywATq0/oaawM0sz3JfPPWpRVM
539
+ VHHXWZdNtSinnXheqraWJX8ZDLmMKhMPsrRgX1eDjY+brHB1+E/0BGhFmajopdv2
540
+ RDlfjljh+J+/nFMqvR5m2Eap0m6peINVm6gYloHwCfa/ieYsF+zpHJNX5t4Z3q6B
541
+ iTZPwcmxF19gfS35ea4SEqW9Skvm2+o8VbOiC0y9VtSl925phEn7ptefu2vT+Qtg
542
+ NVllMZ1r51s8T76bs/pVBUTE0ZSycQsULAgNP7luy+PepQf5JsGPM9M71idQudkj
543
+ iNKRe1EjAgMBAAECggEAL2NTSwszUChnLF8EWIaRgMzVwLGcOiFKFLyt4VO0xYwD
544
+ 92iTuGFkZZMiVBj10EAlhA56XVtJAkHN2CBo9Dle0hAWb+6iAPHadPJyWKWm9Xa0
545
+ RdCLZM0QXjwxdQ06co/P0STI1MPKzck3AgnqDXjDqIiYncdwfEvHtzWUxLWGWtnR
546
+ WZTjj9iVbStcgRgAeljtmDlp0RcaGURoWer63TbacOU5hRj3Uf0jB+1E1P+OPVSn
547
+ GC7qWZACpW12CNOLc9wbZ1WvzwRDby3ugXqo7EoOIaQUGQJlX9XbZ6p2cSrvk1VS
548
+ sEbGRaVLjgoOLupAegI6TUC1+1eoV7Uiao5jAZhxoQKBgQDZWMju6BYd027MHyEA
549
+ B2oRtXXuaBZy2KwYUaksGsVa70XriOqVn4AA9HxT5XWiKvngDo+6Q2Gd0/ov9uhx
550
+ i1XlWWeCDsHN5Ud0HKttOc3BnyOt3YmICUBqW8YLUSMYYNYCEm/ZQAXsPFvAjiUO
551
+ Wp8eh5fK+u4/t1Io/tUthrrsOQKBgQDDl9O4frcEg/hOguQEot3gOSrRlNQgPMFx
552
+ m3KTsLub9aWd3GljLDj1ExIGXJpHYm5P+mMU/IMiSO7CqE1gJObCGwvLqPTD21jW
553
+ +kM68mDXZXgQ87JxILYnLpQlR8AbJ63zxJUw2WMRuuqeVRDcdZ6MA1MqckVmjc3w
554
+ Q5JcTV3gOwKBgQCuDR2LxCvB4sl9iQgiP82/NLOmIZCok77tEqgI+79DnQ0/GzvQ
555
+ ahRVr3PIs55KKWRE+yQ6Iy+O9mwJ8Q4fr1cv/TKYwjyNJ6ja4QKey4VsIoat+xTh
556
+ 7Za6FZg5A9a49QMsUZtkPJMBpSxMvQgLwKJgDnGOSPh16dZPohMRDC2wcQKBgCi9
557
+ sFEmu9KJ9qfL5dj9X7/7yGp9WK4aWaTjXztaPcnfog6+wYjxxi9uOHvwwAYMf7PT
558
+ EN5nNp1mma0cR3m2VgaqgYt7dvhw8RFecbCOmhNjxF2rlUixKqAAuMUHLAG8AyTa
559
+ lsTlExi3WXV/fJKfQVYivykBQml5MiNQv+TQDLTPAoGAVNb5EodqcFnLoFSB9N07
560
+ D33n32H2XUKvO+TQU5Y4Q6xFz2SwcQAtOUAtpR/2vhxMML47PxhpveeePf6jwVZh
561
+ jFEGMGRMIalqyxy9sDNFr0QHDZExZopvy6axylLmm1DgLO55pP61P4CnD408F4sS
562
+ f+NKfr5p/QNnq3RB/S16J0k=
563
+ -----END PRIVATE KEY-----
564
+ """
565
+
566
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
567
+ MIIDLDCCAhSgAwIBAgIUa42MrlXu0Vb3u6bdR8DwCfMsPV8wDQYJKoZIhvcNAQEL
568
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
569
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
570
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
571
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
572
+ A4IBDwAwggEKAoIBAQC7oQMwbqJoeS3oiLCgTaa5ruJkb9tPKzPKwHSrRcyXsFim
573
+ wNp6dtw3rxT4i7Fa5gAe7Y4iH72pQYOVMfTLH+5gEciUjnhTZwilMi/PzcEbsjVV
574
+ UUr23RoZ5iLVZNAcUP8lcf1eSWJk6ohmA738artmaXdcjXO3gL/FVi5E8BG3n5Dj
575
+ ZcQ5e+eTm0CbsF0cBa42TjTyjr27/o1J79kmoHVVlZIxZXVJNMcnXHcMF68UQi/i
576
+ czEZdpby/T4bnU8e/fnXe94v5Tsr1wWtaqQp1xh4r+Ngtn6ovu+JGHdX5FGsnOGM
577
+ Wjnzu3gXm4BvSVq6R5OZptP8NPZELRq4S5RbZoCbAgMBAAGjFzAVMBMGA1UdEQQM
578
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCcYWvDW8WbK0OkXEDGR2DZ
579
+ yv8g9+Wtg77krCngqMnLcd33IBEqm5Tc02WfZCd786yj7Qfz1v9Y0qHQodibgfYK
580
+ FtN7zUMaovGltm8M0sP5XdQKh/UAjmvCtOn/qB4mYImkx5vkbTF38kH+wWac7kWg
581
+ 3ehxJ8Xsv6SLLNb0KQgrFt0HblVC5Xr0JfHLKDm9j4QmIjeE+DkS/xW2ERr+E8MR
582
+ iXgoWjbeXfSwvstAj3IRSN6Wh4gsi38unpC7sxsrCalRvASgkvaAykV20HcaueVq
583
+ BzQ1jKOQ2zKpAr0n4mXtrtvw/t2VNVRu+QEir8Kwm4TtTHsgaIuU/sVchYqDsKgy
584
+ -----END CERTIFICATE-----
585
+ """
586
+
587
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
588
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC7oQMwbqJoeS3o
589
+ iLCgTaa5ruJkb9tPKzPKwHSrRcyXsFimwNp6dtw3rxT4i7Fa5gAe7Y4iH72pQYOV
590
+ MfTLH+5gEciUjnhTZwilMi/PzcEbsjVVUUr23RoZ5iLVZNAcUP8lcf1eSWJk6ohm
591
+ A738artmaXdcjXO3gL/FVi5E8BG3n5DjZcQ5e+eTm0CbsF0cBa42TjTyjr27/o1J
592
+ 79kmoHVVlZIxZXVJNMcnXHcMF68UQi/iczEZdpby/T4bnU8e/fnXe94v5Tsr1wWt
593
+ aqQp1xh4r+Ngtn6ovu+JGHdX5FGsnOGMWjnzu3gXm4BvSVq6R5OZptP8NPZELRq4
594
+ S5RbZoCbAgMBAAECggEAdQI2YO+9rHVVodwMeguy270qRgRTug1xIRHgMCc5Lae1
595
+ wVgnZ5PURY2UAGPtWIhyrtbqenFc776BdntO85WYLKUqdypZ83kftRWVJ3xi3wjF
596
+ pc0qeMTt0BTqyDU0a1Q/qXRq02/kQpbYNPZEdrOA5p8C5t73uQo7ja7u7+LeyalR
597
+ aJz5VY46QICN1A3dqPhzs7DFbZYkv4wXIZTb7UyuXu+AOJDOJ/4sbTWQGHBMvYeb
598
+ dcU2Fskc7dfMMphvi22oEphS5Ez6HFkYiOyePtH3MSlags/TyKK4XF2U0YtZbHZA
599
+ TYem+a3DQh9cjwKPHPazGd7vTDolfgdschS27/kSYQKBgQDeqQcji7kAqIjHUFel
600
+ E/e/zzUVaOPQ/HAWMMcqaiX6ax42RUISV+4N/6qEWTbdVpuUpF+7COHHIVvvZjdv
601
+ tmNmdhVD+DFTTWjO9Kr6LxhHC85neSzV9rN1Dd765JXWpYGbi6oN1vzo5gjRYY/y
602
+ Hi+oBw/Sj8qaCZIythStLx1MgwKBgQDXuSu9vUK4uYVPwwLrbTncb/b0IK1aYOsW
603
+ 6fr1zczZxta5UJCicIQrC/JbPa5DaqqSSgkdRQn+/dXPYFg3gMY/8hDxQUMXwNhx
604
+ D+7cQYZLNftUkSVSgNIvDw/v/Bf0aHwrSGiWPLXCWCD6ziPasDnxzsjOxHZgPJQm
605
+ pj4czIzwCQKBgHl6CE4JTb6hNDZhi9+hPDpmZtSubBQ5lUFWDWMDlILB7DK5qGlv
606
+ lY4HnVUlgzxQowL+hsf4+Yz1kz3SK46EGEjvRXzWrLqA8hxu+dUS2pDwTQTA5Ig7
607
+ Vv8WuT9ydJktpL9i/D0evM6nqcnqC2mRtHhcmfJLxsIxVJTcJ/2wRbDXAoGAYIe9
608
+ qQPdrWdm3hA3aD3SHHAFo6xTphOkXvaIlCFpPzIYt4fzkJykp9aKtoVdS1GZzihO
609
+ 98gC9xWC7W8BSqTXEZoyNqKrcR+cOsuUaP7xJwqa0na4qrh2VRR6XzsBRR7UIVIf
610
+ asrz0mk5KMHBjYQ6CZgsh0mmZt30tW7CcISftHECgYAavwNWxF/Xjx1A4J0pKOlP
611
+ wz6yGSs6Cynr6IbMZh65zBKcJLVB5uQYJlJQH4cXkhEdwf2reC9BoJ6z9r2hldqC
612
+ lRWu7geb25N7uBo/e9XnHr7wIxW2iWsoITSXBquZdI7qSnJXHJCRFtFYFKW+HaY0
613
+ nDrLCA30oEA02+rthIp3LQ==
614
+ -----END PRIVATE KEY-----
615
+ """
616
+
617
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
618
+ MIIDLDCCAhSgAwIBAgIUICyWEmsr4MlpJdYd26hP/SeDpY0wDQYJKoZIhvcNAQEL
619
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
620
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDcyOTE5MDgyNFoYDzIxMDAw
621
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
622
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
623
+ A4IBDwAwggEKAoIBAQCo9A1mRiRjlRDVdiu0aQjkJKzorb9LTNnlkWGIjTjoFOhS
624
+ w8+lxt4Ul/MQf4xx3KetsUT32OUOGy8RGOWhCnDI1v4V9QzvUWUniDLu7DKFmmHq
625
+ uvoW9LGVy/2rA19OeTu+rg5XbygTHnhfMlHwd1jlg7fc6eQlouwA+HtJ6yPNAgRK
626
+ 3i4IyqHsM/UQQpoE0hb0cMTSR9S+LlGsmL2TciPV00YYzGLWVYXGIT4OAtZg6rsx
627
+ FzxjzEDGIxqKZwh6O82L/nM+/bZz9cemdKKnJhEByxeErBotD81y7lrlG5PRNjzY
628
+ /1h0QhovQ1Qq0St8/JuJERWln+lB4hh3MtmChTW5AgMBAAGjFzAVMBMGA1UdEQQM
629
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQACE2BlPeJVC1dMaotYniTu
630
+ G7WsfsRbNaozT55kXwMQ8/SYGLutUZr7pqO7VwGFlEiIKD2nbypZx69Q7/GjMtTd
631
+ 5bFFtrkZcuTViaLARZFbSTAYeakp3CGrUanlJT2xLTFvu4HFxFCBzpIYGjhLcm82
632
+ spMaHzr7Ch9jZIlFqB8bHJcedEtOSnIbeetVNDnkES1JZCN8GBDpUmbKxWm5qfPs
633
+ WDG546VZbigBvsWDke+z/mcB7NkbasyXzzHqAdlvBMjo9ZHQZfvqB+6Ira0Hir+R
634
+ KA9hMtCL1MTX9Hg5+V8MZpoOi66B4q71svDoL/I/VjO3w2QFyt+2+Y2gQp6YfGdf
635
+ -----END CERTIFICATE-----
636
+ """
637
+
638
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
639
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCo9A1mRiRjlRDV
640
+ diu0aQjkJKzorb9LTNnlkWGIjTjoFOhSw8+lxt4Ul/MQf4xx3KetsUT32OUOGy8R
641
+ GOWhCnDI1v4V9QzvUWUniDLu7DKFmmHquvoW9LGVy/2rA19OeTu+rg5XbygTHnhf
642
+ MlHwd1jlg7fc6eQlouwA+HtJ6yPNAgRK3i4IyqHsM/UQQpoE0hb0cMTSR9S+LlGs
643
+ mL2TciPV00YYzGLWVYXGIT4OAtZg6rsxFzxjzEDGIxqKZwh6O82L/nM+/bZz9cem
644
+ dKKnJhEByxeErBotD81y7lrlG5PRNjzY/1h0QhovQ1Qq0St8/JuJERWln+lB4hh3
645
+ MtmChTW5AgMBAAECggEBAJB3tyl32s/H/A/7Lt3iXnbuoWeIgiU6PqvdR2ADGeDh
646
+ V9LFmr3vMaC8WVwHJKmL+1k7VnTz4tDQD8v31QqCKfSiWbuewYO1vuAxxxOjpoO1
647
+ gfq8DPMqIturBWqAxLMOWTbwEFVVOBg5GsaT+Zq8Aqimm8ZrvOktyc3+qzWGuiMm
648
+ LPcVTlN3SPWhiBFwAh0mRYkYUwLOXFNDZzDmK3G3ONdlIuyvRdvGZQc4bd0z6bsJ
649
+ UorXTjB294MsEO9Ev6+BEtRCpCnm7+rB7ZBmUaH4tDGDmO47inrWeU9uQ6roKHvZ
650
+ yIPU7DO8P5/YohXiJKXBtwHZcYTfproFJOQ9yQjhcDECgYEA3V8pSkFdUfNimcfY
651
+ +waG7m7+kZq8Gt1uFZ4ZWaO7zxsgzspENm0Ik4xf3U3yFsiNlCO4e0HWxNIgpDf5
652
+ kdy20aL3Ila78quuX4dxZONychzCalIJS7sMc65kD7c1ZrVHJTTv4xwThwlw65W2
653
+ WT+E6jeZ0wTecfF4NJQ5pyrakd0CgYEAw2HLZ5/NxgeP1eiQ2u/pNkGeDgRjjWTh
654
+ K2nCqlaRXeLD7KbzDxCPq8DFvFO3fV/EgtUGrIWSyrkKQCVGx5YaC14g/gJlXIOR
655
+ khxox5B2b/kjw6RydkRvlwvwdR6dVEN2NwDuTBzvLM4L4vMgnIJDgY3743TKRoWs
656
+ 6CIhg8Xh640CgYADcuEUzBHlHfKSTL+/oWlmu4nxwMRfcsWtRopEkD1zy4tmTVZk
657
+ tqwkiFJSA03bNwKlpSzRlsP+yvtBM7IKqLKcb3qEKW/CJxSPXm/Qz45P4szQlTiZ
658
+ 2m8mOjhK2mLVl8tk8/8svZo8R1RgBzQRDeFHONiHphLFGaryvsBrL0q6bQKBgEeY
659
+ /sDqfq2i98Kbhvm0EPIg+ZqJYTHfVeRizUM+leahwspmI4vRtdRqwAtTYlo/TfPj
660
+ vJ5cFH7VcDwxbM6W4tRnmg97MUnFrQKuBnebKMu/sKtxB8DvMzVW2rcQkPbgAeIG
661
+ JU0fDUaN+y0fi0PPOI2xSi0AD1/ofIRUfZOcYD3BAoGAJ7V3ipczlg0j5OQ/XT8o
662
+ TiJVzyBwQy0S3AQI9zeo9tlVfCd+BwnSdSWlb5AxLOJWBYO/ptOvW6I4wtkYNSLT
663
+ j6gSYVfRLqAbBVWydCQuSVAHhM4Fonqcis5S7Yd1U05GLsvpG5T7uqG5N7pgS4SD
664
+ EMu0jkyvnFmDWG65WRzbD5c=
665
+ -----END PRIVATE KEY-----
666
+ """
667
+
668
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_10: Tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
669
+
670
+ SSL_TEST_NODE_CERTS_AND_KEYS_10: 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
+ }