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
+ MIIDKTCCAhGgAwIBAgIUbFhRlgpIM3M+ZYuTigQ1Vbmi6P4wDQYJKoZIhvcNAQEL
7
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
8
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDMyMzE3MjkyMloXDTMyMDMy
9
+ MDE3MjkyMlowRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
10
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
11
+ AAOCAQ8AMIIBCgKCAQEAsc4R76dCSzj3MR7adSLI+Mk9cX42bTHiu00c964rUXr2
12
+ eGpYy1fmtdiq71kkVFRCtX+m8tc0jA5RCOCJsVKPZ7a2zQVcUkC1HJDCg8lufI2p
13
+ hS33zpjP+BePGmxQDhBU744cmFA/TVN+VTEhTlbmhFo62eX2Repbl2coF3MhoKTz
14
+ cilUgiCww+DUa6IQk06Zkh8TFJ8iPp67QRM1wEhMEcKrnRNxPGHDxa9ZxhwrmKft
15
+ UOFrat+ijftQDexMkVZLUXPoksM/7afjqvP9fkFpQEJZ3R1p3uwSX+oIr4yE/0il
16
+ nnLnunvUcWYTmvVcwrV5Zu+IOtV+yBbJxmFsobiecQIDAQABoxMwETAPBgNVHRMB
17
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAgxl6fGre+yFpKxEVcJ554klsg
18
+ Hefei1tv94BDMqdzfdeocTBiYmN70j9KEZr5CoMUhpRh0sESpgZ+6JD506Crpa6y
19
+ CwkhfQXwOH58E6pbqLLpG3F96BeIBQ/IS0iGvRaerK/9hybt4NJAyrXX1idJikiJ
20
+ h4qck731LOSiCw7T138yjlVEXm4DdCj/MYJDJJznMYDXJrJEE7tDHHvPaPU3Snrd
21
+ CeAYwXaZlvoCbU0f0DCyAXS5+/HgzY5qVrvDXCHTAEnMSEQyIhESSL2xmumTGNCA
22
+ BBlbMJ6oLn3fOHrB7qQortCwcAQkbk/MiZhAkL/+NDz6gdIZqgXLDDVZxext
23
+ -----END CERTIFICATE-----
24
+ """
25
+
26
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
27
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCxzhHvp0JLOPcx
28
+ Htp1Isj4yT1xfjZtMeK7TRz3ritRevZ4aljLV+a12KrvWSRUVEK1f6by1zSMDlEI
29
+ 4ImxUo9ntrbNBVxSQLUckMKDyW58jamFLffOmM/4F48abFAOEFTvjhyYUD9NU35V
30
+ MSFOVuaEWjrZ5fZF6luXZygXcyGgpPNyKVSCILDD4NRrohCTTpmSHxMUnyI+nrtB
31
+ EzXASEwRwqudE3E8YcPFr1nGHCuYp+1Q4Wtq36KN+1AN7EyRVktRc+iSwz/tp+Oq
32
+ 8/1+QWlAQlndHWne7BJf6givjIT/SKWecue6e9RxZhOa9VzCtXlm74g61X7IFsnG
33
+ YWyhuJ5xAgMBAAECggEAGKUzn0BT1BFlUg2wwiO8L5/VQHH6IVCU2NlrdnlRz813
34
+ dGFpRWY9uF778oksm/PB+15iSa7CvdcOLGjTLR0Ae6O72tcvYMdPU1JNY+77vY/1
35
+ O1yPyLctvHmngEYbIpfo7fuIwyP8Yj98d1qD/1PUR+wp1CIn7LD7WRUXXYi71IRN
36
+ dVKX7G0S/QPSePe+9ILMd/fA8Qs0wOKBvWRHjfOxvNP9AXTeuUzLbbGQ1YPLGSLU
37
+ R2aS5T3f7wNAKyjmvk7AjeEYNDNZbZzmc+bj36buUd7dqlhTGOFt0sBZ/K+IQjnK
38
+ wiF/2rBFdklMePuqdyuRhkybjAjj1NZvfXxLD8TCcQKBgQDfTbUaDqWrB8vf76ZQ
39
+ pjIYQpXBEU8r1xlTr7ExP7KM+1qGdtGW54uln+tFgpR7mIgZg10ehCAuqwT2GHSJ
40
+ luOI0tDQcu8wG3RB0x7L4Xq8qXORKIEmyZ+ZleBAwjfq4du4lyb0Ob+dKjFBPSuY
41
+ eTWt1bSGklk61QoyWbVJ2NQf7wKBgQDL1uW1PKrygzBcnt2ndR8u1IvjLl6Q8t7y
42
+ j79wxM4eNpkEMV09eAU3cNAuquG88BAeXUY8j7OyMuhlgG2s6AgnQO3/g32OKNJ1
43
+ +F9m3CldxXFY9dKOH+FOZjb2kPcgNX2xvKo/IvGkxoIvwGtRc9OkvK65RSlqc/GH
44
+ MbkVezrHnwKBgQC2u6JdxmqvwNuHT1dsW/RWgfaGXaHKIGVrZDS+Nn/oerAjpQvy
45
+ T1yplmozIZ5cXf/R0PvcwwaK6gxPTsfe6AkeqFWUntk5Jt5GF3v2H3gO9yPJP7og
46
+ gZIHXux6UfTsUxM4xQhthuxUsnhICMSqK1ZQALeQACbgzAFiHqMJ4VQFJQKBgCS5
47
+ J5M6RdYBGpJlMKu9pwuJ0VXxgan9h3sNuMC5RCUfUvv1ZMXxPIdbdLYjpR2j5lOC
48
+ HGhGv2oIT+QRejDfcLCZuwcAins1EY2dXJqsaWtyadRMHU3romy8b4SGY29TE70U
49
+ r1tGkWBNPyEZOnxnMKcKMzQ/qJF8J/RiWeTr2ZAjAoGBALSW7/CRSwm1sxpQNbm/
50
+ TlehXDdz5od3d8VftZbXR3hoOrMVdgyN3FO0qmRjGkG6hyj0TU9kwXbjzAYywiW3
51
+ KTA+/LtAjeBFuxkhbqBPBQGwjfFNg7Ju7bG2t9U7qSw/Swihg4kfYlsl8jLPLj2E
52
+ D3THVwgDuL8d0lZEaK0n/EqT
53
+ -----END PRIVATE KEY-----
54
+ """
55
+
56
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
57
+ MIIDLDCCAhSgAwIBAgIUJBzmO7OHvvlimGi0mXLrh/8TPeMwDQYJKoZIhvcNAQEL
58
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
59
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
60
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
61
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
62
+ A4IBDwAwggEKAoIBAQC792uVfc1mFbJluKxzWxZ0r5yaKGjR8azECVrNTcegAjLF
63
+ Qd7+iZS+7DZwEA6Xy/h8T9DZd3Q1m0Rjlgg73ngO50leCvLqWEvrhueuEIWLdbef
64
+ 4NaX4qkusMI/orYE/ItKgL86HWkGUELnmf3TkMccohR63vS+Fr6dZDvIw3g+gBPL
65
+ P9MlK7sdXq1I8CIcV+2du4jhmkA4mJ278TdQZOfXnX1hhe1wPuyhJyBN1sV2ntLG
66
+ TLcRl8WQSIh3j4vhMilEU85rA+q4TuqrOlZtKPTPNGeACwrD7qQkWihsEAKWMdQJ
67
+ e++9+CdigL/S3IhMmdTwHHNht31oYl1vAqbQbCEzAgMBAAGjFzAVMBMGA1UdEQQM
68
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAttszf/gjwRvkxZs8Iq474
69
+ aoBzfsF/NKCKBNRoTdVwQc6DycJylA9JL45BFhc39tka00ttcKGbXmbnOzltnFsH
70
+ QuD/1B4pQOESZzUEcsHHCn7tKxIrCn4wk9OiiqcIwHwavFy+guHFSw71jVFhv6im
71
+ ILe/K+wzpgc+pUeYiQlWRSuoR7YABZekL8bjpCpuq1kXzP4bV9pnq0sMayCHdH+q
72
+ enRnvo4u6PtMUGdX+bye3sp609uFgH53v06ufl3ylkoK5TRuaOj84yYuJDBrAAG6
73
+ ZYZaosM/CKXoumetH90Sc2rAvWp2HniHe99STfaw1aNK9YV1T9SjIqhzyzoMzGRP
74
+ -----END CERTIFICATE-----
75
+ """
76
+
77
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
78
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC792uVfc1mFbJl
79
+ uKxzWxZ0r5yaKGjR8azECVrNTcegAjLFQd7+iZS+7DZwEA6Xy/h8T9DZd3Q1m0Rj
80
+ lgg73ngO50leCvLqWEvrhueuEIWLdbef4NaX4qkusMI/orYE/ItKgL86HWkGUELn
81
+ mf3TkMccohR63vS+Fr6dZDvIw3g+gBPLP9MlK7sdXq1I8CIcV+2du4jhmkA4mJ27
82
+ 8TdQZOfXnX1hhe1wPuyhJyBN1sV2ntLGTLcRl8WQSIh3j4vhMilEU85rA+q4Tuqr
83
+ OlZtKPTPNGeACwrD7qQkWihsEAKWMdQJe++9+CdigL/S3IhMmdTwHHNht31oYl1v
84
+ AqbQbCEzAgMBAAECggEAGe13GZfQzVQQ15cxsnfOESpoH5uTWeJMQn5H2Cnyb0/e
85
+ UPdVGyc/LVbH641LdgTcsckQte6USRCxzkrTt+5oASZGKIK6Hzkuv75MFuaQhTwn
86
+ qBYLg8fwLlCTetOm5+kuDYjU199WrVhE4k2LhbNiw8BXstsuR0o74NoCpR7RZ01m
87
+ mHwWGuD9aGMYLlUBqNGB9UztxudbhKOtDPOWqhUHcZA9YuBSEegGPrJEwEo/sP3q
88
+ H6ipRmmufX2KUR5qgNW8MzHVSqPns8YJnyRzXrp1y1a9JXEsrBtq7bQcsBkJlZDK
89
+ WE66CTewQhx4SGSI/3ktg18BkAeJTUCp+l4+ApIBgQKBgQDy6+qRfB6O4UQwYlaj
90
+ 8lQf+kRNzjbSBq3BUPbbYthgV42GTcLqT8SIdr+ITy/2ModO/vGaUbrJsGSW4Max
91
+ ora+eDMqlz3ucJh+DeYWNLcI3+V5kMzBQNcGPVeAWFgz3ItWiPBUmXc+QDgH9Zia
92
+ fGBKj272gLL0rwd1IxRwJw9CBwKBgQDGFhT048DRWYpjCKlZ+lmWKvkuu8uTAl1y
93
+ YBXlSEpVeQxev4z0HJFEtiuv77pLGKmM6M5mLW3WEHv2nG1zaYUEJP2C2ds29yAR
94
+ 2TFKjTxT+6PfFynWgJkA31W7cOTX06LeNRMECUTVX4t7dvSY+H0jK0+Ok7vGNay2
95
+ mLlqvqhsdQKBgAfTH5AmHlnd2bNxR3cqdBk/l3mmHc/wFSK39+ujKHMZ/t4HnTKs
96
+ 9RisMokye8oDYKZjweaFoW2jt+nAPcY1BovmFUfW7VDD4bWVvwaSFh88Dwk2Z9IF
97
+ w6dYzHu+3MB25yoXaR5gfx3LNcLT32GChhuAuUNJa/pDtQrJ4XunVm97AoGAKdZs
98
+ IrUf+peg5P3lVv3Lgi4dZ0N+4dP0DL5CoaS9HoRsmm52xPBrtkmLvKMzg7z3wq1B
99
+ Os+JjVb598JeU6wLzi5J5SNCa7+SZHKtOIPQJCTYHbx0t7t9lXOWVfqoOvWWRryL
100
+ AaU7hp2hhjg/vTdupsj1CrYlSN35Vq+3KdaPGCkCgYAtdziasAmXhyR+yjY45ejR
101
+ Qdi47tcJU7cuXlvMZltqJG4JgbqKWbbApF8WethF30q2+sDXTQvFNN6l2jS1NVx0
102
+ BZjtJMmkEjJxQ3vY4xA4IjdVZJORKkkcaOlYGokNy55SFR7zHn/+qwy1ckWBdzZl
103
+ 6s4N6Y5uv5tFPWcFgyJlAg==
104
+ -----END PRIVATE KEY-----
105
+ """
106
+
107
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
108
+ MIIDLDCCAhSgAwIBAgIUF2mq+KA3KYyp6bso3F79MnD6AacwDQYJKoZIhvcNAQEL
109
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
110
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
111
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
112
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
113
+ A4IBDwAwggEKAoIBAQC5wiF41CixaxHM2oHf3nYkuGmLeG6xBdSogQuaSMAw6KCy
114
+ AvCfLDBRgfbvWjXV5teUv61+xgyLctNLmJQBg0owYQhhZnwIZK2jK9h5CvquI9UC
115
+ xAdgtvKc6yFKlWS435xSt+ja2w5eHsE0QE6U9SL9qm7OnehvF0baDA7CjQNKQ8SR
116
+ lkrl0+mQZCEc5lfroYlpOJ1XKrmLhfX4KV+RcNEuLF4roY1TdkUfCOk9Jq8/DrCD
117
+ rAOuFaU/GShqmG9REt3HKIGBO254/xoTcSkGIOHOGI/2uZI0MVUDK8tNDwAaDLcg
118
+ RAclaoGQ1++jcjnmjvopsqySEJwJrDJMkpqKd0SzAgMBAAGjFzAVMBMGA1UdEQQM
119
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCImPY2TwUGre7AM6nzBqrh
120
+ WCXTEct84E1jfJtgWZ5xYdVMNd0Ujg6A89LZnc//KW1xVDImmTrsxwHj/vR7lRdr
121
+ L7ADGbKOepqKMgUdT8Im67jpMen9Bnrx/q5dtW8qmUMc+EpGwvMOASYEa5jxQ1Uy
122
+ Bxpyk3lpeZs5HZJPG0WVFQnNXtlG8LMlmlj1JAEB79hbK7PqPvat6rnS6NTCHGtC
123
+ vjAd8mHjVQJkla6u4dV4oI+niEJk12d1yJ9dMSZ8hO3CiBJBieZJ2v2S04N8UUMh
124
+ PQEX/yYT94hLaYWYextZRDxNWnjS68Ju1xv8j8GKdMLE693Z6K5kJkspBy0sEtxk
125
+ -----END CERTIFICATE-----
126
+ """
127
+
128
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
129
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC5wiF41CixaxHM
130
+ 2oHf3nYkuGmLeG6xBdSogQuaSMAw6KCyAvCfLDBRgfbvWjXV5teUv61+xgyLctNL
131
+ mJQBg0owYQhhZnwIZK2jK9h5CvquI9UCxAdgtvKc6yFKlWS435xSt+ja2w5eHsE0
132
+ QE6U9SL9qm7OnehvF0baDA7CjQNKQ8SRlkrl0+mQZCEc5lfroYlpOJ1XKrmLhfX4
133
+ KV+RcNEuLF4roY1TdkUfCOk9Jq8/DrCDrAOuFaU/GShqmG9REt3HKIGBO254/xoT
134
+ cSkGIOHOGI/2uZI0MVUDK8tNDwAaDLcgRAclaoGQ1++jcjnmjvopsqySEJwJrDJM
135
+ kpqKd0SzAgMBAAECggEABavwu7C2oVwkif2t83jmYI6k4lZGAu+ro411HjvUamnf
136
+ 5i+Cy0ldHE/8iyhU9nf64xbLJFDFt0hFPUymUDmC/WEpEVhAtzzjtFS1YlS8fK6p
137
+ ZVE47HIJjFL9jDptfduN+VSWLoB7utHzkjXYcGHftKEMixB1NVcfma6+kKAflpfX
138
+ yA41RixC37ENue4NbUJ2XowVgI0I7MvVbmTqRxx6MbZoO803h/0Vl229+3ixAWnr
139
+ UsbEKVkaaX3OUW45q/90nHd5dTjtnwNUAPA4ma1cl6d3sDb248XLKhDji4TQXVIb
140
+ R3M2aavGsPf1z3TDcFO/IayKWaOSvV2JGS+NEeXicQKBgQDioeYcmUDQuK7rP1aD
141
+ 7+fpnv46dkB9Oq8JRrI+EPmUq7xZYLouwjfubYCGSRERpUda771KW17hzkDey0fh
142
+ 4SRIpJZJ5/lrF2VhlzZJPdQ04UDMyQ+V7YCRkBhZnteQHOm0mHO2AGJBQEkutDVK
143
+ 5drK+eumCoghiR64q5Fhzz3NawKBgQDR1E+sx3Pf6seUaY1aBTTfwbnuoaVYWvo0
144
+ sSpIhNjP/tenX2E/9t+4Pjg++eIf03zH/doiWA2ppktTkjIXMh9gTrK4+xRcLSc3
145
+ PFxz0UKIt50ft37bjuMM5xttBc6LelNrwCuuTAdPMBtBdPxW4A5yz5yMMxrqtb0i
146
+ y8e+4Piv2QKBgCoM4CVuShhwLAR6PBM+8Ejot0MhrdWOjeuqsmfRvn1XYBs1V1ZV
147
+ swsKRk6kQAaGJDc7RGQHkBNVsbOlBDFlFNZls30DDcRREv6IkAoG7tjg8qUMqVeo
148
+ ObLIibwXPOgAdVyM7OtYJuL0ip+f0EOVYoNG2/JzAc83Ifwh2VfMnCsBAoGAeKsp
149
+ WsqlJ7uEJSSChqeB3cAyJjrNtL81LsJH98Z2TT9YU8e1TKyzwef+PrFDylu8YeLp
150
+ 5GBREyQwI5Jqvg40HxWDEIBMGCpbaBeNb4mDQs6dTJUhHjDRACWUDyGMw4eIm+m6
151
+ 9RSCC5c1xXH6gBeAF6Svea0WKK51Y6Jfb7U/LxkCgYEAo8BzWfRRu902NAeWXGb0
152
+ SGiTeFxW8llFEG1xfK0pbCXcUjr8jnT9cDLw9ojiBvKyI+AyX7NNT2YhkYjHIwc3
153
+ Lq+vn/eD5lx41p0CwhCclAtMwz3lY/+cpxBewC5LBMW+IjYsHELtJyelzwke6DM/
154
+ priiJGzzKpJ8pdgZyTyNoB8=
155
+ -----END PRIVATE KEY-----
156
+ """
157
+
158
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
159
+ MIIDLDCCAhSgAwIBAgIURlqEdkPWX2ld1ZkYRM10UTM191wwDQYJKoZIhvcNAQEL
160
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
161
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
162
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
163
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
164
+ A4IBDwAwggEKAoIBAQDKHNdtHZzYGVJlTaAmiJDMsNdVpyo3sHewUF23K2zMTUZh
165
+ 2DBX1heO09RpOIoGIdsgm2P2T/+731O6Hi1+pJyLBq/7LtoPX5fZL/AT1uQN5yDF
166
+ xBUvmaFmnapEyRC2tg6H/YNBCTrHO3OKWzF5Zn5dZDmS8D5FcnhPups13k6YYklZ
167
+ ZewRTTUxUlnorKdDh2Ur5UPHnpxfG+yRYow/prs6sfQNj1Hdv4nsjEwTPwJQVIC7
168
+ xViZMiSWUaYMx0giJe1wggkuVYTBQ6tYCOtbO/FKErYS+NrZ5lUfUzmpzlXIM1bn
169
+ Ux+4SwMYddcbedVywMap7mzupD8ZQNCuio9Z7nc1AgMBAAGjFzAVMBMGA1UdEQQM
170
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBghZflsoqx/js1oQC2JfNc
171
+ gD5HWNqlS6JbupJr2zt7KaKFVQfXmMEUNcVsEr9PXIGA3vqDnpT3L7Ybk0R9knYP
172
+ yGb1c5uRFn5A7moAcJjgwUrDE9GQBx59KRXmK4DofcwinUPEe6BU8sn9VfqjTprQ
173
+ WFFLyt941YCxaCCGPgZTyGbHWK2pTQY0aBSQAyNppk+dsca6l2HkelkmUrS6I30p
174
+ r4nhJq+eXmehrtn8+zXT6qxmr/vw+F7cwnYyxLswBMc8ijcmvBbkcSEcFbdP8TMN
175
+ A4FFYyh0rIijlKTsoEyvUP7LGBBJv0d3RU30jHPBm4faJ1wWXLm6p3hQEJmLzM0i
176
+ -----END CERTIFICATE-----
177
+ """
178
+
179
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
180
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDKHNdtHZzYGVJl
181
+ TaAmiJDMsNdVpyo3sHewUF23K2zMTUZh2DBX1heO09RpOIoGIdsgm2P2T/+731O6
182
+ Hi1+pJyLBq/7LtoPX5fZL/AT1uQN5yDFxBUvmaFmnapEyRC2tg6H/YNBCTrHO3OK
183
+ WzF5Zn5dZDmS8D5FcnhPups13k6YYklZZewRTTUxUlnorKdDh2Ur5UPHnpxfG+yR
184
+ Yow/prs6sfQNj1Hdv4nsjEwTPwJQVIC7xViZMiSWUaYMx0giJe1wggkuVYTBQ6tY
185
+ COtbO/FKErYS+NrZ5lUfUzmpzlXIM1bnUx+4SwMYddcbedVywMap7mzupD8ZQNCu
186
+ io9Z7nc1AgMBAAECggEAeIubMUloMrtnmWQjENiDBJK03DFHzM9Dk7VbL9SGn5O3
187
+ VsRKkRjwFA/jsJ44NFAdEeWcSVyNetBIb8lv+QjVFVZ3v6jCBklNmAwvdKXGf0RL
188
+ F6lLuYg366w90ajafx82q4VYs4F9vTaIQw0BBRdMZwdQD4OaoHEVsPfresWMuvVU
189
+ zT43W+PDbRq5gam9Y4VZuFeOBYYEe4mFE2e2CRdKys6w/NsYhbDcYS39OXDnR6FU
190
+ 1NIYDWN3FSU0cXuwZ8UtViNw7kCMLHvrrW/D7DV4HBYj5KtjFenViAeVolLX+7S8
191
+ K9DSQtxzZHL7OmZ6y+LhopWh0pdaftkSwpuq/6liAQKBgQDmlyFpfzzDoWIfzR/M
192
+ X6ZwJwOeWLDzeRG0hZETReaEgvmhyda45xumBIWvmQTDzSk8O34hisofHKH99VlX
193
+ fefwknZ+M2wcXClnKQgOE7YfYKaReb59PG6APkcgbM/H2rG+eLzGONd9IUIa8q7A
194
+ Zr3vlcYvjk/QuxP3SIC6aQ2cCQKBgQDgYl2hGlJ3HENi5O8MeS92WBNhIUDL/ieO
195
+ Tsyx+cSxufaX+n/EPHkfacquqX/snbqkcpw4NlxBdpEZo6Lzcr69gCYc8LzN2a4S
196
+ CHiGVKonTggRxT6Bp3F4IOH9FwFQ8y+0F7ycOXXkesaL+TUzGx2usvhSfWau+3C9
197
+ +Nu9f61kzQKBgQCFL1N4GKqjH+qKDbNJGxIKAy6+3eFOr2X/i4oQxLXxYakHvonM
198
+ AIhiqogAtXQgF7ayeHZQr1YxBBu4kGaK90jpFd9k4xSViNHNKNDjOJVfqDZtHhFd
199
+ SnNUlSQF4XNdrr4tEpWONDSarIP/Bp7SuEUKRcrTmvIU0IkmsfTQNm9K6QKBgQDa
200
+ fQ3cnGvmTaAUQQXAaJRdsR+VubKFsEJGINbTCnmL8Z97l1En/RaYDwRsFOJava+L
201
+ B4q0dcJZgCGEDMHUOkwe7BSwo33FGAyWxKbPbsuMoD/dReo6h5hGuAY10lvWviYa
202
+ P+7JVG5Gf4Krs4so62N4xA5nDHKbOn0qjpMxr4xglQKBgF5jn3tV5eH2/AyV+CMj
203
+ PS9saOsiAZJLRioz/9KB/OIcO/0GH+xBj8nPLXzFuSN1sK6UYbKujvM0NeY5x/kJ
204
+ SyB6LZxz++ARJARmmgxKdW8bUxZDfTGrfYyDgWWYbN0SJCJHEDz72XM48lFxB1SB
205
+ L4t7t85YfzmrZpeu/vCnqVPT
206
+ -----END PRIVATE KEY-----
207
+ """
208
+
209
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
210
+ MIIDLDCCAhSgAwIBAgIULNQ5Bq+zPWOGPtKDkjFf9aHtCBYwDQYJKoZIhvcNAQEL
211
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
212
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
213
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
214
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
215
+ A4IBDwAwggEKAoIBAQDmIHrbtqy5/pMJq5NZmVRFbX8wHSciOLyUwWY6K6BgOtZH
216
+ 8WaKoOS03X8KVnWKqXGcUY9DKWar8iQ+VbGP7YLw9wJjr4hNsW1DqN7uzxla3XIF
217
+ upT/tKAhZpiqOHKstGEoKwjVD3Dym5xmSP6ERQTfMolo7WaakTpANCGKW0tKM2Rs
218
+ 6pSaHV4GIvbHSer/apt1zr2IBFQI7Sj9KSXZ1OhOZERSE4FigTAJvW5PEcuVsjwR
219
+ LB11vpPKiF7YkLmsj0MQRHlFqZukrSdlvR9ZLaAREJLgk7SwCwUSYGQEGhjiEkH6
220
+ vWXT/35IYCkiYNI/vcdCQlN4xBOOAXgO3c1HtikFAgMBAAGjFzAVMBMGA1UdEQQM
221
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQByHJaF2w67743OsMwKbQ5j
222
+ oWAt+rqivYmqJ6tVKEpCAZu3aMPdchcoZdfWRfh/tRP0SwkNE7PwIyRxo0qynrPO
223
+ gXhGR17ezrgz3a5AzQ42EXg0xb75QzpkXdrOZK9ynjer4jlMx+a+IJniYlSpyCxc
224
+ AnEKvnH22S4j1xCYC9zMDUF6Jqm51h+Pnrz2sHr7NyRu7Lq9cJ62rfyT9kFW/aZX
225
+ 1/xAwzw2GmyYRpw7ZEiRN9Ipkjs8Nn6yCWOvs/wa6el06mXB/i/IvOdMI7/B3PJS
226
+ sOvOjmtIS04kyR2ZB4Qhkty5WSHrF0Se/9WH28L6a6bjFKLRMKLTRLdeZ3ybEOFN
227
+ -----END CERTIFICATE-----
228
+ """
229
+
230
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
231
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDmIHrbtqy5/pMJ
232
+ q5NZmVRFbX8wHSciOLyUwWY6K6BgOtZH8WaKoOS03X8KVnWKqXGcUY9DKWar8iQ+
233
+ VbGP7YLw9wJjr4hNsW1DqN7uzxla3XIFupT/tKAhZpiqOHKstGEoKwjVD3Dym5xm
234
+ SP6ERQTfMolo7WaakTpANCGKW0tKM2Rs6pSaHV4GIvbHSer/apt1zr2IBFQI7Sj9
235
+ KSXZ1OhOZERSE4FigTAJvW5PEcuVsjwRLB11vpPKiF7YkLmsj0MQRHlFqZukrSdl
236
+ vR9ZLaAREJLgk7SwCwUSYGQEGhjiEkH6vWXT/35IYCkiYNI/vcdCQlN4xBOOAXgO
237
+ 3c1HtikFAgMBAAECggEBAJNd2U85/AJfc+mNZh7KgZy0Me6tvJG9o4XfE4fMyDbX
238
+ dsE7ZV8BCXSJIwGLvFm/iHGCCSwJJyaVOYBxf/ObNW75vx33GmImbMIXMivbk3EM
239
+ vifNA/17vc+l072tyEGwgUcnx9AowzuZSt51gAdT63rC8huvazUwKw1SVOg07lHk
240
+ wFGsmPGq8O14sytwf1Dpp7p/ixaxyqz+jLLJdrtC97vh0aHzg980IN5eWNCNdETT
241
+ TzQ4xYF9jYXk7LzpV/jarfUznre58ohwIEyUwsoFmNzkvYCoVko4REhMF9rHgYCh
242
+ XfF+JF8KWAA4Dpy5Dfzm2nXwvEbQhh/xByPFC6G/KgECgYEA9uYvKJqcQlXePuCi
243
+ Obp2XmtxhuXOpTqsOsI4Y1JGHQ3VsYE/9Ps4R71uLtqkr/T0k3iybRzguGHIkNqc
244
+ J9pFD0NGfQ4pTSmUQtJYa8ndcgCIKh5lKDYjjQDQJKDlIOewVggF0GoWLoTegvAz
245
+ dWye1DPdYf07zWTwpatoV2AyCKkCgYEA7pwG/uTWGa9tzaPgIt1x/WGSkMa6/lsI
246
+ Eb9w8iDsRlSal94qeQ/7tPI7Mkkm58oThTgY6OQ32T2xig1vtW5uRal07vjKUizO
247
+ qjttMj/qLBjw35mkmaLnemhTcWnY9M4nLSBRwMO1o6I5oP6AQXX7kvEL65SicvSD
248
+ ptSZL2WlCv0CgYAsYvl7bUBGVLWdzDid9D2vf9VrEQlzfvbToXMNuA7Ozlvqi3f6
249
+ DOfzTcTvO3N8Bqepk3tQTm6/9yRdlk+Ygo8DzW5wsQkPzDfRQ4uN5T6gbiQMnmZF
250
+ MmZ1xP2meB55Ke3zqYGSFGBkgJKYK6K0q5BqSeC06xfDNzBkOEqL2slj8QKBgCgL
251
+ qaTn1QL0jVIg+cIANlxXHtkLcWC0+HK6FYOdgOoA0v0//RLaWt0wdjznSA9Iu+P0
252
+ 2UFk4/aiwwQvYxspEHrCiOx+dr455OlvFdGEJpIGEY8FYzmhvIWvsqlrIU1ct/h7
253
+ 3xyh+/8df9yEOhRCb9lmeSCtjmIKpXm/XoI05fElAoGAQcVrN4WoooWchzuhaFlQ
254
+ q9T5RDTgooYUi5GDQgqEiPHJJAaqIlAi8kAN82umwBF9al8Kj51JXEEhxJQBMq8D
255
+ csxU9ppgBlKPyftgUDwz/agJ6C0zrxAzkNlFzwz0RsqS/38sTjyHiBz3LAjDU8PX
256
+ hIarfSKXzCV1ZFJjKvLv/20=
257
+ -----END PRIVATE KEY-----
258
+ """
259
+
260
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
261
+ MIIDLDCCAhSgAwIBAgIUTnXTzqEOILFs1Y6LuvX7UkxgI1EwDQYJKoZIhvcNAQEL
262
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
263
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
264
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
265
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
266
+ A4IBDwAwggEKAoIBAQDWr7824CNwPS2WHAlYs2QpHVtj+nMn/nl02e3JIX9utKfz
267
+ 2sVXy9dT0sW7VcDaeUYBi6pDZz8DecwGjvnBMAfh+bkEx9gCs1tY8Iqitgmekoy7
268
+ e7+zHJ1zuo0J+p/zeW+Lwg6D0FztarME2gm2tuw1c5FTIfWWnwotYetXxUWCeKNc
269
+ +TgeK8WnfUjRcULzyFRAA16n6AmqihfcfVmT/Jyr2eubKeyCJFGUx6jIClb+OFUU
270
+ 0h4VCZzhHOx/R/X6B9HWJTWgdoKUxQcMt1sdlNuntOkgg1JsJPVPM/+NnijCdHEC
271
+ Wsk6MGCiVVH/vtR6ek3sDitsJfk36m5NjiDzeK9dAgMBAAGjFzAVMBMGA1UdEQQM
272
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCj7q/5jVqInWNHENfekLWU
273
+ u9N+cSMhDMyq/ANc/wm3OcOAYUODAmfgZDuGAmHW73BSeoEuXQdsnxQTCM0bVF5v
274
+ 9hKcQkLY9v0tez7xcDwicFQfg/SzjCehbeKtKZGnrANLg1tEm2QFUuqmepbhatF1
275
+ NREBmX1EtUrZ8l9e0i1oDk13eOJvdkZ5pfQC7UOK2N7dAHQmsWJtJgHpGu9KgdDV
276
+ eKRf55N0tiDKFjumdFucvMQVaOtuZX+4bKrLuDE3y6lG/Bzt+ZHZkbCsYAqCtubp
277
+ PfGozr3jW+plZvnRz4X2GxQRWFw2jVBcBzu8f8Ahp7q62nT9bEfJ6fsKqwhX/KSx
278
+ -----END CERTIFICATE-----
279
+ """
280
+
281
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
282
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDWr7824CNwPS2W
283
+ HAlYs2QpHVtj+nMn/nl02e3JIX9utKfz2sVXy9dT0sW7VcDaeUYBi6pDZz8DecwG
284
+ jvnBMAfh+bkEx9gCs1tY8Iqitgmekoy7e7+zHJ1zuo0J+p/zeW+Lwg6D0FztarME
285
+ 2gm2tuw1c5FTIfWWnwotYetXxUWCeKNc+TgeK8WnfUjRcULzyFRAA16n6Amqihfc
286
+ fVmT/Jyr2eubKeyCJFGUx6jIClb+OFUU0h4VCZzhHOx/R/X6B9HWJTWgdoKUxQcM
287
+ t1sdlNuntOkgg1JsJPVPM/+NnijCdHECWsk6MGCiVVH/vtR6ek3sDitsJfk36m5N
288
+ jiDzeK9dAgMBAAECggEAQ59aCIvzPbBXgpfULddbrkOr/MLvsOJMGY1ng9oETLek
289
+ y3/Wd0Ai1Clo1Qg+1dIrReNbPx3vUEX2CP7SFpLteLVzHNlh5f/evxYNZREX2JXq
290
+ tEdXa7CQu9pAAKur5EIU6521ermP+8yHFPkk5COcJX4AgYIJ3Ga+Cutz+NKPgXew
291
+ WIikyHnPui59OZPe+ZzHx2Th1IK6OkzLAeb7EWPs5CbcMZVjmyoX+16+QPY5NqXS
292
+ lYeP4R+8No1ZVZr1u4KyPLyHu6s+mUtf6l2J74EhLWwgPlhNGYVCvHPNusO4TuVc
293
+ HvJXjt/SyP/7bdL3JWoilQgSouEgWes/asaJUVshIQKBgQD7cCgk5wpe9Zlg4c/g
294
+ 54XrdC7TJSrvzSyTUjwNRK2jSJ2gk8lkbfdEHX/XWKz4O99AO3z8LlKl80429Et8
295
+ Oze4rInxoKmzh3J/gyn3udOmJtGRd9RJzpPVxHodbD13o6bVuoMCCnUdx5YzSkZG
296
+ Dnu0+YvMXE73VCHrlO2nSnbDWQKBgQDalORBhTOg6BsmFACRifMZI/hxpiy3SVSr
297
+ +t8Uhi8vp56OgtyqjCy3SJfS098Pjb3AlxU/jn8kY3bJDPxCs9ty1+WxQI9VDcTn
298
+ bWh6bkUs1ywqv3ujHPLUcXU9aMdfrGFnr/u19Vdo/ZwIB4AooJW+mHe8MjtLN9Tx
299
+ 6TQMrc0fpQKBgQDkpR0cUa0wpQ4Q98ddsawqbMCX6VieMGm0njdVqXps3X/Zogql
300
+ dQpBusGiRlUkdu2RL4d8m3M0zYf2mTh7hC4rlVrrizpGs4j/Q3tKdoVstigkrF8z
301
+ rtLotX6GewN6ZCs2eCDiHjhaGEER6xz0X/9Glxb1g4ubhbpCzG9AjYpqIQKBgDfc
302
+ p30rOqebyhxwLjkDxXIeZEc/TdxFzHLreYm4RWTrdLU9MoIPsvngfpSt+yrxcZY/
303
+ xnloxIubM+dr/yhY6POvw48KTddR3om6x2HKvrkYALyoFUP5iQHMQUdBePq1hmtG
304
+ aZD2M7GsZu0SZal8aOi99JPPTqIJkc2FaPz4ihzVAoGBANMDz8fD3OkbzQxjl7nU
305
+ AcX1qY05gZrv86SEMECz5TTONBwXU7QiUwp6ihC6FJ/pFfT8MjYmBKzhh/0bHeO8
306
+ IZbjDgsZM3e96LJB4uhyps2UaKNrP5Hptw/M58YbSzW92r+2FBucF6vH2yOjIT1E
307
+ h46Z/ZztK/e+f65ANNHtAilU
308
+ -----END PRIVATE KEY-----
309
+ """
310
+
311
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
312
+ MIIDLDCCAhSgAwIBAgIUR24x4LgpE1t6Nmpk9Lbcm2p9bZ8wDQYJKoZIhvcNAQEL
313
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
314
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
315
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
316
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
317
+ A4IBDwAwggEKAoIBAQC2ye4u+jn4ldMnKFJTrpndM/mgaOI9irWCQ9/kES44RvYz
318
+ SCWgNIqU83XC7siCkDTAfmQ5dPDgwExGp9mqbBjLa3QuWLiBSmstk/RdvWyYTyv7
319
+ Tk3BXjmYU6nbBr0p310+D5Jw8RKB7O88wM603E5Cb48GKmh71DY5+JxwaIJbFATs
320
+ DmPXQ5tIO+z2WZmzB/Zba7pYOILk1XDR4YPLgVdvOGlaMCkfMALYKtdW9ek6hIFS
321
+ oPlm/mbzbIld80PYP9E3Sf9iX55GVytuIt5B0u6PbUYFcrKyNld9K1UEA9fyNECa
322
+ KUVe6UK1Kc+LYGdkRv/qAmMG85zMM4CHs1dP2jRFAgMBAAGjFzAVMBMGA1UdEQQM
323
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAREhwgP+CXusazRom0cMeb
324
+ KfKZIY2TMHWTYceAB21vUDSor8dfDNZNaJGqNDWJiwxMdqCa6k5u4ClBts2silfs
325
+ qYWGQvUpygD9dq9Nazsf8GATZJ/X5OfVKSb/j9OsmikirngsB3KfoOVUz77aALec
326
+ yuH9tji46NtYUXEMYsCvQ+8SAmLQNra/jqzM/SHAL1Rz2JNxXY2ldBpsWuwaau8n
327
+ j4FqvQtT97zC/RV32B/Io4/LJnD2bvPd41Wf5YutTOJXUFuVDQPD9rI0VkZk87a3
328
+ o7oGLlusWLZ1ZIqTylCNVtv/Lz0JXwImhYIsDcNswVhNIWiKHSJkR4aS3gqVt4Sr
329
+ -----END CERTIFICATE-----
330
+ """
331
+
332
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
333
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC2ye4u+jn4ldMn
334
+ KFJTrpndM/mgaOI9irWCQ9/kES44RvYzSCWgNIqU83XC7siCkDTAfmQ5dPDgwExG
335
+ p9mqbBjLa3QuWLiBSmstk/RdvWyYTyv7Tk3BXjmYU6nbBr0p310+D5Jw8RKB7O88
336
+ wM603E5Cb48GKmh71DY5+JxwaIJbFATsDmPXQ5tIO+z2WZmzB/Zba7pYOILk1XDR
337
+ 4YPLgVdvOGlaMCkfMALYKtdW9ek6hIFSoPlm/mbzbIld80PYP9E3Sf9iX55GVytu
338
+ It5B0u6PbUYFcrKyNld9K1UEA9fyNECaKUVe6UK1Kc+LYGdkRv/qAmMG85zMM4CH
339
+ s1dP2jRFAgMBAAECggEAe7/QGkvcDXjZoGwC+JZ/oqt6d+gqKwIKimuLW2tqQD2C
340
+ lwtkNcb8f4UoF9XzN7mLjTrEfcW3AmIOAdPHYEKYsrdHy8zS9O0+DHhbe08wAxmu
341
+ rA/CQoSZN5CEsT0pufx3svl16jK7leyjtxzNlNKFxSKj0MfLPvJX1/2BY/TNM/z+
342
+ pgiVZNLqVpKwEqVx6awyZKSWimP5pHRJuSXyoXauXLBzj33j5mYP9MRAxIn8GE99
343
+ SRCoJB2g6Pa08g4+1cWpyS9mR+9gLilYkuXrUZfG/Xz7L5AHm4w5RxNDu+8tU/Bt
344
+ 9d3tNLVuFSI4VInD9/GYy046gYM6KvGd8sPy8F5VQQKBgQDsFVSZPfl0ani0S+++
345
+ X9FQm2YF2PSmuAw6Np07kNfRluo1hYVqS7Cn1fjnobVPeWBGpGnlh10mkIVJgfxi
346
+ cqg5ILNnzSMhRuMNb/SacRJkJvl7xNfKPZ1PGpmk6tWS4T4Np2fY7+IRE7P+gFc3
347
+ 9Ckbnwaqm2wO5In4/c6NVbVOdQKBgQDGNZpX81wxapjrVMlpsDLnCUaUXvxiN2E2
348
+ NLRrW+rg2BBw7uTT4l3QSsuQylM3UHW35jAxbYEzPUTnwAUpTMd39/p54kbMWMRX
349
+ hyKvBWI0+R/Rfv+YgYABH/oNktrL8jFbd8LyRZ7RyooWxcBrZMC2CvSruOL9doGa
350
+ ZGKGqjU0kQKBgQDZ3dV0lfzfsmIyAOH+je5ctQwx2UXtlWuzTTNNBR4mDV+WhOHa
351
+ dn9QY+aP3Gu2LAztJE2VxJXyQOzAKXUAZU9ZaRQndug0jXZ7sBXLcQ3H3y/dSIrb
352
+ 2ICTv7iKuSzfn33km9j6GmZF3Cj/dPEIcgp9swQz7bqLA91QKumzBKWNAQKBgFkx
353
+ /gbeKPrD8ZTVTt4UwJNfhTd3lzPLoB94kEhP0N7l3GA14RvInlcBkaHSqqgVuSPM
354
+ nptfn+ijBcMUkj4HoyvFmB4JSbrjp1eMJHuGfK9B/KOV9wd2H1hiP3CkSXnFv5hd
355
+ yIil89aMwp+E1hZ9/IrvWzN7vAo7rg8AZaYcKl1BAoGBAJ+2BDW2l4uGOIDc8KRh
356
+ SmPRecSs/T4VaEurSkSTCxUp+mvGgw79+hgq7f9dW1Fq3TDr8J1CmY36mT08MWV7
357
+ +ucP16bGqR6jymQPEijtthKvnAXihX1zfqNNOn9IUx8zSsyS6gx40za5VeugJc4T
358
+ FJsyYFxZ+2EXCgIm/y04IYuH
359
+ -----END PRIVATE KEY-----
360
+ """
361
+
362
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
363
+ MIIDLDCCAhSgAwIBAgIUQsRmXdBM+Yt81O+qtGzJpULDwhcwDQYJKoZIhvcNAQEL
364
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
365
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
366
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
367
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
368
+ A4IBDwAwggEKAoIBAQDc2huslrMBGoEROWCsfrd4LwHPSXrehqP8uthUzpsxhxJP
369
+ HU2bDi4Q56IiAaXl33txbDnKE7zOE205rp0h/k3mvnbo9zBFHZakIZuySP5L/+ry
370
+ +Jyld9QuggpD5mWWHW6lCmUtGfY0UJJJbr6KPyMqzzQ0xrjLAPWqVvNR19Iapd5D
371
+ GsWgBSpKyUIwPUf8JpkFvSv4udZlrONoMA+/PAVEeCgOKbWdwi8vrpR43VcUPSe0
372
+ TbxE/bWHgOSDW1FtE46logzJLOzvx/k3Lhvumfrr+znNsZyjk14peqkdAUtOA0dm
373
+ VEhs/wHthVkw/47MO7G96DzB0NI0++anRhNXLiAZAgMBAAGjFzAVMBMGA1UdEQQM
374
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAVNEaquHBV5LaHJDGrr66p
375
+ xPuM9sjaahXr01VfAFBqFGzr+8ZH2T7VL0bg0vO3aimM+Kp45eRGM+gffZ70ab0q
376
+ 94CVT++3rhoro6nXhx1U1lHRNRqVOyGImwMbz/MtmIAeme7My+kZDcNlFg+MC5DY
377
+ 0pjN/EAoBslrhGp7yWzEh6oo6cKsYajfqcrewwMRrY7shqrpH/fs9gAB4uzryCVV
378
+ 54tBj69C9JVi0d06YijpLcUT5czScd6yPlX61XKR9lpKUDyEGbRU+4f4DP2oJzzq
379
+ 6tsME2HXXcZr2fsxkBeCjZpDEsKPMxsHBnebwSTNESCLQgdQc7wJ8QVzgOkAGoNg
380
+ -----END CERTIFICATE-----
381
+ """
382
+
383
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
384
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDc2huslrMBGoER
385
+ OWCsfrd4LwHPSXrehqP8uthUzpsxhxJPHU2bDi4Q56IiAaXl33txbDnKE7zOE205
386
+ rp0h/k3mvnbo9zBFHZakIZuySP5L/+ry+Jyld9QuggpD5mWWHW6lCmUtGfY0UJJJ
387
+ br6KPyMqzzQ0xrjLAPWqVvNR19Iapd5DGsWgBSpKyUIwPUf8JpkFvSv4udZlrONo
388
+ MA+/PAVEeCgOKbWdwi8vrpR43VcUPSe0TbxE/bWHgOSDW1FtE46logzJLOzvx/k3
389
+ Lhvumfrr+znNsZyjk14peqkdAUtOA0dmVEhs/wHthVkw/47MO7G96DzB0NI0++an
390
+ RhNXLiAZAgMBAAECggEARghr6ijHjrwG3Z1iSJDOQTA21LKqYdI0QjpFy27Qy73X
391
+ UnsqVtcCSJ4LTdlT8DcT//2fvbLQllCWvEngzhzEOz1+m5V3GxOs51M4+ionaZY3
392
+ vOCVW+tJv43BD5MJ97ZRlchcGRc4eZJrMRoLFe+7iSG3nly90LH3NRLpibR0jbog
393
+ YHJuavvPA6cKDsrPhZN87YkHbrmYu78HrBVX5blws96HxsMqXRlrj6/hdd3MyZSW
394
+ IGbIbLKFP5Vy6pBbAXCnY6uw8oC2HvdLis2nEx3UOs7Ktm0AyCR1/OQ1MnLugVbn
395
+ iezo7Eb2n+n+3k3X0cIv+SlQZwGgZRAWFdtjGsvL+QKBgQD7FBE1UlNAiqgrS0IS
396
+ /l0jLOIPRl/OwMOFzn6oVX7u4qx93JGEsZEYE/0l9DthzRTVbaiat5QZFLBXFTpi
397
+ moxBBLu0RBCGJCnfIe4/jmZUobbSqoXMwMbN4AKRM5IjKHQEyRo36fGRLg+eqVFq
398
+ pSzK4FGyiah/rLzuDzpwQut5gwKBgQDhLly5/vpYU6DogXAz7V3Q/YQPBr6N5c69
399
+ kj19DjivPJQ2Qxl+y8XDv6HyGxkeKGsqFNGEJ6a8RyAMh+IKawJgxGmgjiglRAY8
400
+ J4PiYK7wj9pyQhf9QKybs6ahjI1f0oQ8ngJ5QKhxhoRNzfXCM7JeofOMgbKdl318
401
+ IUdFSPJ5MwKBgQCi95F71KWo3Nbu0vheL6/wZu+MDpedMU03iqJ3TJcJIyPmxcXG
402
+ JSMSR9cmTXJFtsFxDq5DTijYZq9WtragzcN/aD0VcqBvEQYEiJeFtT4CbLyn3Hrg
403
+ PbhMZLwF1z1hiJ5VhNp5tGVRYF5PE4N+/xsly5f7lJJD3LD8q/G4cBc7VQKBgQCO
404
+ EbYnExvXhkvK5X9pA6VhKdGbuWGYHRlmuVFaCRLyXIIWCheXy/CmI82E9lvOjymt
405
+ jxzxCCNGPomV3lVaxVDmxITv60Cg4l4crcGjneRBmkD0PYbtHVTJl3rWCdtYTXVo
406
+ 2TguUAD2PyxR+lPHht5OnlcOmvWaP+3H1yckK3XvyQKBgQC21g8EqK3PhRUBV8U1
407
+ 0mTrw39O7DcqhkfTqXRMLLViCh/RLYZmkT2JY1U2Kej0nD4CNBYrQWApRW6srp+I
408
+ FOW+1kdmTvaclFMal4gbBraRlt4veqf2dCZuxQTTt3SCf7Rm12jmIjyEH7LfFM3W
409
+ 2riEhrrEJcofPkOfK2qSifaH9A==
410
+ -----END PRIVATE KEY-----
411
+ """
412
+
413
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
414
+ MIIDLDCCAhSgAwIBAgIUXa72z76zyiyFs6cTa7GIU/m41T0wDQYJKoZIhvcNAQEL
415
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
416
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
417
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
418
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
419
+ A4IBDwAwggEKAoIBAQDTSy0YIggCwTF96eLR2AxXmpXg30F1eG4SZzr6xWd5sXiL
420
+ crUjSc6V9YZRPF+g6ODEryNYjSxWlYf0EtFPD1MGLW+7ssUJrWK1BX+FFCLvjQX6
421
+ ShfRFoOqmkAhWp813xYaWihdLLv2UglphfekREFhRw5h8ikfk5JA3AgTFVGFjB/q
422
+ 1pZ7gWVamhjjzvrbhiXdqcHDqMuNUMQoCuPLlMOq1D59nzYhUUYZOTP8aAOD2dj8
423
+ a8plM6OQwAuQarqt9DW69Tm7AxKbFrXnzXqTT4Ccp4rEJxscV8OIP2DVioFLV37B
424
+ EWq3pVcarIJku+Lxcpf4C7jXvhBUYAFVeQLMmjzXAgMBAAGjFzAVMBMGA1UdEQQM
425
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCSc1CA9sp1CEbEV+7+8EOc
426
+ 5v3DU1rTEW4dG94MiWDXH/s8B+nWb2lsXLd9Gmau8S+/c3c8rW3eejS7YZ5w7lnb
427
+ NOdc8SUwPDM+/f89UCiEeuk9fUIe9EK3pER60Fn4H/0ZXQhVob+1lGScnIyx5vr0
428
+ Hq5rPO99qnZ3kgLeYRfHQygSpFQ28XHOkQGVSklgCbCBdE0lNWKpaw8oxw+Ki2zb
429
+ tSGF5Uoel75Y3e2ZqtonZCuvE9Q02LGmDmmfSrRuS9jW2hvV/CHpRnv02GMPQT4+
430
+ JTKtqOeY6+hI/eg4UKBYbGLY2Sn1irKMRFwAzftgB2eeU+Bhxb4ioksFlhDvzkMf
431
+ -----END CERTIFICATE-----
432
+ """
433
+
434
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
435
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDTSy0YIggCwTF9
436
+ 6eLR2AxXmpXg30F1eG4SZzr6xWd5sXiLcrUjSc6V9YZRPF+g6ODEryNYjSxWlYf0
437
+ EtFPD1MGLW+7ssUJrWK1BX+FFCLvjQX6ShfRFoOqmkAhWp813xYaWihdLLv2Uglp
438
+ hfekREFhRw5h8ikfk5JA3AgTFVGFjB/q1pZ7gWVamhjjzvrbhiXdqcHDqMuNUMQo
439
+ CuPLlMOq1D59nzYhUUYZOTP8aAOD2dj8a8plM6OQwAuQarqt9DW69Tm7AxKbFrXn
440
+ zXqTT4Ccp4rEJxscV8OIP2DVioFLV37BEWq3pVcarIJku+Lxcpf4C7jXvhBUYAFV
441
+ eQLMmjzXAgMBAAECggEBAIrRPCo7yYmNxedUr0lwqQMxM8EOzKHR4ndCzTQOV6JT
442
+ H8B2N12c0xYgvgNHKAi+l1WBPzahYXztNun7JvrLNZ+8YEkv9VYbTNtjZllXVnCN
443
+ 9VxwK1+abBy8xN9k+27YR1w+2YAFsOPvF/H1KzMICPBRT7i38Z6mRJNKPB/VhL64
444
+ lGbwmYRUl3KxGjanfiGmzRRARBJA2lIQ+wCUbdpi1HSyktBRdegMYHEn+YcWNXya
445
+ WZib1tWF8B2MtJppjjP57rQuCJNRUCnIu44ybw4/zpojErtXLhT6iSDRmXMvfGCx
446
+ eJF4J8sNHgFpNtdhLzTCwiD+2oHWygvPNI6oawxcwjECgYEA7Ge51RJeC/5tug90
447
+ DxzF+9l8k1zbf+4FcsK2cQwdAJiiTSMaujyj8uyX0eQ9HJfQNBcJo7A7cKQRfHaL
448
+ cnw0qNMm7Iu99V5+pyWkZLF7Crz43T0iez3DE6jD/eclwM8mtt2Bk/jxwioWV41u
449
+ YX8Kaw8V/kdZvqPm1MWEVZzBHz8CgYEA5M6cEOpvweNZcE4a5+K0QbWRTCNuxlD3
450
+ Cd9up2W6CeLVC6tjVfsmVsAb1DI5CYteeAro1BWoiS+7RpZ2IVq+DdRRVpOdWaAq
451
+ aaY76ekK8mYdS/CQpBoOltJwXh3XAt9pZ7ymRqhpdSO5NAwX+U+HvEEM0w/Pdy9K
452
+ qM75MOOslGkCgYEA3+uv/b6UDlBEpsQUbmwWq+LpOLvvvVE7H+SG4rVSk0oAEYh6
453
+ vITL1kF73HeP2xGBSJW5r64x3xPI7Fds5lf3mSHH8K68kzmaRcBF4oqpvRYZs5VA
454
+ n/N0X56vZkQXYnXUecl9/ycB96Pd3bg9IWQv/hAgCOaUfxrIfilIm78KvgkCgYAH
455
+ tlMaWtyTe3dLSsarZD/RKy6Pk24rbxU0lvxi1hH0PVoS/57kigebyvPlLiAwCyuO
456
+ /kckxuocXaiBU5b9vtJDIxHuyiD2oWhskTbZxoog64I3Sg+GCH7PZJ52/ah+p0sl
457
+ PP2Zyhlr4l1evL2eIKkhlku5XYIPsV9h20AY/sOVaQKBgQCWV8x5bl9bAmyKj83w
458
+ 8NBEhKU3zKHkcD0M9+XfjdzxwYLHkQ2X2ftA6prrEJO1NY90PCdNDygJ/m//3tsY
459
+ /ClatjEXGrOV34EhzxQd20EQzCrOm2/DZMOL3RALIVW//vL6LNcuytNSKYIAz76a
460
+ 5NjJeF+rpn62syvQ/MDPnLE2Yw==
461
+ -----END PRIVATE KEY-----
462
+ """
463
+
464
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
465
+ MIIDLDCCAhSgAwIBAgIUfuygNa26jw3yA1o8IQkLYCW31D8wDQYJKoZIhvcNAQEL
466
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
467
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
468
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
469
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
470
+ A4IBDwAwggEKAoIBAQDlsfb6//PmK5sQ+v3l3+IIjiTdRcoIxHB3e+fMu6kZPD0r
471
+ xLiIbQtw06CZsX4yVF3DaiIPobGKfI1fv7pxyHM5OldOAn52SFIWjnU5PNGfrw7H
472
+ +6Z1yCnB6lC89UO39ArbfiNrYGpf0Lq99ECHd/EjRP/mMd717fOQ//2zkhzeenXC
473
+ 9jRffLZhkhblPCyFepVBAmBQPKB0rNmnhblwtueUM86LWPq0FrDp0MfP/HbgPQ/v
474
+ VxY1Pd0mBQ23xXnKCQDg4buXAqv9IVd/kNxzG7H8+5k2Ji1QSoSi301XWWa66kXu
475
+ svWc4125avodKiC5t3Czbce7kLAq8mvU32GacJ+fAgMBAAGjFzAVMBMGA1UdEQQM
476
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQA5M3qJYfjlVzdXzu/JTmG0
477
+ 4Mp2G8cjAXcSWEPwz+FI6gImLrA4tZz5MER5WxMQF9ALKKPt58qi3hk1b8Ko8OUa
478
+ wq802DBkg+LpurAmPNht3IZ8s4oTkSWOP3b0FYA+/rYqM4+EGBcso6cGSl6msayc
479
+ 0eyUO+AlWYg+2Bw9AiDEiAiLMaODgmMh6ztmycNluMhP8TNOzQRqFlrEs6YvL/z6
480
+ tryToIqZVjIZogcU5Bko8KMcLOEWbLprSzSd4CIJEtuao3TdbU40TZmhUgcorX0h
481
+ GKaAgtGOxcYjApuavtzr3BA1X/HKLOUNOMDo/27lFPSL2PhSBBRZGGU56FQm2LB4
482
+ -----END CERTIFICATE-----
483
+ """
484
+
485
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
486
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDlsfb6//PmK5sQ
487
+ +v3l3+IIjiTdRcoIxHB3e+fMu6kZPD0rxLiIbQtw06CZsX4yVF3DaiIPobGKfI1f
488
+ v7pxyHM5OldOAn52SFIWjnU5PNGfrw7H+6Z1yCnB6lC89UO39ArbfiNrYGpf0Lq9
489
+ 9ECHd/EjRP/mMd717fOQ//2zkhzeenXC9jRffLZhkhblPCyFepVBAmBQPKB0rNmn
490
+ hblwtueUM86LWPq0FrDp0MfP/HbgPQ/vVxY1Pd0mBQ23xXnKCQDg4buXAqv9IVd/
491
+ kNxzG7H8+5k2Ji1QSoSi301XWWa66kXusvWc4125avodKiC5t3Czbce7kLAq8mvU
492
+ 32GacJ+fAgMBAAECggEAYp5YNkgyhb5vI4k//bR0Lcwp078lEUKWLxbJ3UMtRSJx
493
+ +RrLR/fZk6WpLJPiZOWIJGCrIx7/RUBYyqVc/YFcx1NfLKUxesNuSzT664pLTk4x
494
+ AHfxblx0YUejRp3fZ1mmV7r+phmNUnoh03DNS9yZcdUsMb9zxQ9XJghi+vhe4L3P
495
+ BzxDJjodLkUsvZh64NZcwWqHM0dE+4tR5s9wUfEz92gEe4v+E69EmLC5ob/+h35/
496
+ +P/a0COmD0DDT4f1LDLONt/xIKHjQHeg0ccLkV9T4XULm9jT2irUcIme425jIrPV
497
+ PFQdyboVlBttoVyoxgr27tiz75kKbQ3pEmgkxI/u4QKBgQD5Q7mmYkZqLz1Xb86C
498
+ CHEKMkIfLZ5nzwKfeLPYboNT+KymJI6KD6uL0tGagjaz2KnSY0vyhWNcAEeluiHJ
499
+ ZOfo80VmrvhU298YXIfXv2dc8lnA2zMu56ACTLjtKOZ9uv8RnA+xpJdY0lXH5zSj
500
+ sB8m68M4Lc8O9Ei8KigH5ELByQKBgQDr5t6Rkbwd3bKz+FHNtDbthLRGnS6otYd1
501
+ rsfFFVRwgHh5gVWf+RvcuX5YmyU738VkvvB74hatTQ3T2qxctcY3/hOf9bbuR/jQ
502
+ XWQhwdpQaaASB1D1+ZwFAgwbGYevU5fwnSgKeMxqq90eTBCCIEBWgC1mvL9yLQi5
503
+ EkI/jrlKJwKBgGAzKBozwXNHqgftyahbs6y4utYnmAP+W8fKILa96AdnaNJyN2TH
504
+ KXC8O1LDQHNmghwFYJFHs5IVNZGbZWDBhdNc2AMKMiMl/FL9mxvD7hNsIQGSV42Z
505
+ rSJWE+TLrTEHE1vrfA8WM6b+/kY5UBKAbXVq9hvfahMealfceTiaer0pAoGAWsE2
506
+ LTCw+5h4EK7e4dGMNDKSnHwKIFO+KnM0XckH9EQolS5Bv8q5gmBGkFYXrAI50bl3
507
+ kWF4sfFr+W4uU3iHKrFv4WFJoEBGI/tZ83a9w6PvNiBkcE04TeDswVxADB6P3LzJ
508
+ U8YHdp5p8ib3TuiTd/PWA6lnycgzi+fPXt5MwI8CgYEAusoZUcey3Pw020LCC2HJ
509
+ Gs6yHqyGBJCtDnjnCLoVXJdPQAQz2YjTHoOGgStKvADdYCKRPiGiYpwXyyS6TwgQ
510
+ S6t44Es3eaPxiysbwZrl9SYarFIzN/8gErylU+qvJpNUg1GHdiT0QRmLGZ7679hn
511
+ gPSjDIJ2mH3IbqiM2oyvqgg=
512
+ -----END PRIVATE KEY-----
513
+ """
514
+
515
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
516
+ MIIDLDCCAhSgAwIBAgIUWOfPmS17sBQ2KK+z+yx4bCQgBiswDQYJKoZIhvcNAQEL
517
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
518
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyMloYDzIxMDAw
519
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
520
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
521
+ A4IBDwAwggEKAoIBAQD9vVqZL4co41Wj3v05i+zWg7J+9ODBraJDHeEaw3T7fXDD
522
+ I+ZmzNDER6uWmEGqFOvXHdwi2b0mDa6+LLOB2ksOiLknMME7rAF1BusxhYLypF7t
523
+ 8uQXq1aGQ4fb8LN0llRR3EagfB9mQEJtLHksK50Q39tL+00L/Te56zvjwJR4IwME
524
+ MifXGQF0TbN5ofVPOxVczpo5cULvVyLst8S7C4qCs9iHxWFe+o7CXlJRtedNL00+
525
+ SdqkTllHXeEYM3nmSoj15telQDTW9AJyHQUTB34qEt8o2Oa6nrrEBRNHZGlBmwcF
526
+ EJt0EPpp6A4lHd8Iq/aQAhrweud/kWzde9oMBx11AgMBAAGjFzAVMBMGA1UdEQQM
527
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB0VYSPGkkpREqo5NXcXn3h
528
+ vhVmZwV+M1ZZac0/P5g/ILxhRSIWn1JTLd0y6eFznEPOYrQHZws33jsfZlU4OyT2
529
+ 8Ypxp6v2TRZjY4RpEPy85VAqu5JU0+FZpJkHt4PXaLSnOX3Nd1XZi0AXtQHLvrTK
530
+ qEe0A4v0hkwAQK1Ds02udRn2eyHSZVfMVchMPJSD2wrlZ5Mz7uIWNu1jdTrNzHsY
531
+ sSBZlwrOzUYSgYP9YucbzEquj/tmn2rhZXNDaFZZ4/Rw1kcKH96vBTIxKnf/ocla
532
+ bYmP7j1r3Auw6AxLR5zUtybAj2M9tdE1c+qSP5mvN/ckCBhwOP1XuGjHs40bAiea
533
+ -----END CERTIFICATE-----
534
+ """
535
+
536
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
537
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQD9vVqZL4co41Wj
538
+ 3v05i+zWg7J+9ODBraJDHeEaw3T7fXDDI+ZmzNDER6uWmEGqFOvXHdwi2b0mDa6+
539
+ LLOB2ksOiLknMME7rAF1BusxhYLypF7t8uQXq1aGQ4fb8LN0llRR3EagfB9mQEJt
540
+ LHksK50Q39tL+00L/Te56zvjwJR4IwMEMifXGQF0TbN5ofVPOxVczpo5cULvVyLs
541
+ t8S7C4qCs9iHxWFe+o7CXlJRtedNL00+SdqkTllHXeEYM3nmSoj15telQDTW9AJy
542
+ HQUTB34qEt8o2Oa6nrrEBRNHZGlBmwcFEJt0EPpp6A4lHd8Iq/aQAhrweud/kWzd
543
+ e9oMBx11AgMBAAECggEAeZwxOc3vp4cdWobbMqN/hWhlOje/KNRBOo2tf5hCDu6W
544
+ BtDD8m0jeY8oC+s5PXz9c4JaKVHWN9DC+V6PQiMPag3ZP5E8a48Ku73vJzLoCccB
545
+ wGVzMGzr8TmYea8pMy2BiCJcrzoOCoGt1IlGIgddJeNERWxSBvb7qF23vHZmMhUR
546
+ ZNt6l8n6ADXL/gYeCue0LkK0OSb66Hdb2swecjx+aelMHudPfYjKdVtDLj/5kd+U
547
+ NgygosIiJqa/KTgv+ZKCFgPZgV26guV8Coav8b+UDmDOmevO4+a50iKX//KsR4Ry
548
+ KvzGR64ILp1hBT9PwAomH+j2MRzAcDZIFV1cr9Q+AQKBgQD/XY/eGEYRJPmPrWI1
549
+ BC1Kvmni9fXajc6/YVIliL+rOoPLPkZTWvkQZh6PiUFC9H4L3yFHhtWMmn6dyI5w
550
+ B6O1pr87P5RTyfJ9LpnY1epXRERnIAR4Yuh1W9QgUzbiP+Y0jYHbSQm8C8EDPwnL
551
+ 159sGmFMD/fwnEEZIsqPxVMZtQKBgQD+XsH7FcAII8Z4XdQJYGCGMHi+y634teLJ
552
+ /f1vWfsEJoeJYaiJUoXzrJSVom7wMbEwgPFTmM/SGNLDDwjeoFjYryIB6DIyUfk7
553
+ dGykQY0v6YhFUUx2K1QpEdPbBSx/oyQXmiwbEo8DD6cWF5SYux2KfdngH1OAOnuz
554
+ TV6MVSNMwQKBgB3w1mFv7ycrcqdJ6O3WY4kT8k5OEFljrw35VyxXcEGfRryZvJ0h
555
+ WXp2vraNnT1AdVbm/nvobzlhE99kGG9CNguiVWGY/sckMm5C/H7T9fntYyfENUH4
556
+ NtErxx9TImg8nb0jqkoPsjh+GE9NINTpnyOJpEbKyINJjshnr+BTfn7RAoGAG3XZ
557
+ VSTU9Uv/ahEfCeAYq4PiFR7h6h6gnBPKX1IEcj9ClIcxbZm2EkdIRxshBNcofMb+
558
+ xnqRvOmnHx2pZHdFACdv8WrCuIH2+P8pl1XoSwrYBjuvmHY3ALQG/fcCBclz5QRk
559
+ zItlWvw+mnjzNsXEe6X4dmSLXCV0IzgwA9BRHkECgYEA74UZh8R5iZNWjt14TYay
560
+ 0D33Qhu4nFhRtdqlIMZl6GW7pxqVYZKD512X+G6AVDceJTGmzy94kgc/lb7YtKCw
561
+ 3nMFPncjRhG98rv+O4CobxjxtRwNTacbwFD+/yYxUCUio14agPezNbX/oEGe8cGL
562
+ tsqsAShkZwiJbNvz1q/u6kw=
563
+ -----END PRIVATE KEY-----
564
+ """
565
+
566
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
567
+ MIIDLDCCAhSgAwIBAgIURUSWnNQeBOShv/Sz9MuDq2t6VVwwDQYJKoZIhvcNAQEL
568
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
569
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
570
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
571
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
572
+ A4IBDwAwggEKAoIBAQDEDI/6MSomdp0AjdEuQgP6og1bMKOb/X0G9mEpvKjyIl+8
573
+ SSijACXVRhSG7Nx0tU61pebjXF2ax6jgqpzSrrlv/w6WxSmRcqbrdZFSUWMG5FFc
574
+ dYfSKyrMmF/p0o0kXQRaBSeIhkLnGS43Zna1w5b7ak76EttzQd5uiJ6bG7vCpGn0
575
+ hXNgdXtRIaruK4TWt740F2vyhIRtsEIUURaLe8MPT8ey4lm4Fz2URnUvfdMma7GS
576
+ rZIsT17kw7SQBlaqoGXslYNB2yMdnAWRJzuh6cvnxQax2Mfciwit5fkFQlnVPdZx
577
+ W/rLffyCCef9Z0m6WArb76OTwcCq4pmwh3dfOi/ZAgMBAAGjFzAVMBMGA1UdEQQM
578
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBu0wa4sLoqzpBt71pELonc
579
+ siZZ+dCLuFCXvyt8nQcN8arR7Dd5/eb+kn1AFNRFggbnf/z/jTc6ujISUrHIzAkz
580
+ mVbuwzyA3gKzZfyTgv6H8N6qvqLPBTWMgs82UXdKE4gXuheUT9+lAp6z81FbuFK9
581
+ PSX+gebb/WwxdEP0w7A4mws6udBnOpPW9i0ArZKNKgWl8RiaVxoJWt74AG/t6HIx
582
+ TV2iONXfZJO1k4rJb/jsmOavfXDYeEVrqXJ40f20Ex1wWPGd5Hm/yOrFutF7nvye
583
+ mHxa/DuK2vpqPuwcJLYr2FHatClZNiCza6JLeMq1CWgEJ0Io9fte87JuP4ZWi4Q+
584
+ -----END CERTIFICATE-----
585
+ """
586
+
587
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
588
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDEDI/6MSomdp0A
589
+ jdEuQgP6og1bMKOb/X0G9mEpvKjyIl+8SSijACXVRhSG7Nx0tU61pebjXF2ax6jg
590
+ qpzSrrlv/w6WxSmRcqbrdZFSUWMG5FFcdYfSKyrMmF/p0o0kXQRaBSeIhkLnGS43
591
+ Zna1w5b7ak76EttzQd5uiJ6bG7vCpGn0hXNgdXtRIaruK4TWt740F2vyhIRtsEIU
592
+ URaLe8MPT8ey4lm4Fz2URnUvfdMma7GSrZIsT17kw7SQBlaqoGXslYNB2yMdnAWR
593
+ Jzuh6cvnxQax2Mfciwit5fkFQlnVPdZxW/rLffyCCef9Z0m6WArb76OTwcCq4pmw
594
+ h3dfOi/ZAgMBAAECggEAUcbPs9QYOe0WNmnxjHMbB8va+GPEi0fkhCf3hZpdeore
595
+ FkMKAVwJa/oMi+93UfNi/qBSPBqGLQ8FoZlpSvR5A3+HzVo2qaYCfIsQ8B5kyTYp
596
+ vgCEhCVfd/JDZ9xc5YMrUoV95RPkClPVlGRYNh989ih1AxkkkuIx7zdruVWLL3f7
597
+ X/p9P9GvW1pKchk6nSqxiXAqiLljOL3mashfiymmXdAJEpRDSwg4dvsviMjbnIvE
598
+ /3jIszp/QXZxXjV+UEjPjL+gSLYwVVGoXV+Ejf/9WlkQSrKo2xIrNSuIl/30R1wV
599
+ r9KmQjUafhInB6nWRgFxsknb8vmbWZ60wDghopti1QKBgQD7JhaciR6xhtZGt42n
600
+ dbFxKbnLeRVet/WKMLBd4o82kRgtH64LJoZ6hWKF8A7uvf1H6rgNUQLX24870C5B
601
+ iGJFaBKQ5MHGPagMpAKjwNAOHMkssLt2stFri5thulf8nBpN/dyeCEbBOAanG6vY
602
+ cwfV4YOb/PFJ9ODkLeTiKWOxFwKBgQDH1gKcRaeTMbrSm+NySCFxO8Hk09wFR3D9
603
+ RkH6BQ0V+Gl9ds7G8p/tjYWQDC1Ts9APyCNKoKC9IFHSaMhfjAO/6qPhuDi3DRco
604
+ er8BvcDjA5bBN+9xrezCuGO6T7IW+fY6BgWv9+XH+MmaokA234ABsz7v15C3Qk55
605
+ /VcrzgpcjwKBgQD04CJT5m6C8dGjif0YNm0YxXJermTjwcIrR2XvZKP2tGo6NRVh
606
+ 0eJ1O/DgXzxwE9cNdBKZCVAYX/+8djNjujL3MY5IsIMvY5ajHJdmSu2RlQeiB4AB
607
+ MEF49to9448+woXzXX7qp281ngb+kMBxf1c4d3X3dh1d2uIcGZN94JVPaQKBgQCe
608
+ 3q84mc+9n72NDk3mXx3nLcDaMOwsbj2PvblaEYXzv4fuLPP7CozGiMp0WJn4f22b
609
+ /lrAS68+bGFgS9lwzJl2jA45twGv1YJhtiQAOGEOmZ3Sgqujzsf5jioKxq0owxRT
610
+ 0NHYsdZGAq4Ud4VhmpHjyCLy/oeYiehl51jUBHwMVQKBgQDU4aOi+FwIrdSyqU3e
611
+ 0ZWpLd9mJ4UEkzsmtDs0mewfDc15RzeqZCi2tQkSvzratYtrNydtG/L9nxaDDBU4
612
+ S9tIWmaKBMtFAzGG/Drs1wKrCCH8DTvuv/70kvx6TwbzPDQvg9KOgKFLATiEzRDG
613
+ EWSTA/GNS4G4uZ31e/CscomD6w==
614
+ -----END PRIVATE KEY-----
615
+ """
616
+
617
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
618
+ MIIDLDCCAhSgAwIBAgIUPwUT6RFj3c1lZddwvYGkWtbwHzIwDQYJKoZIhvcNAQEL
619
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
620
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
621
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
622
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
623
+ A4IBDwAwggEKAoIBAQDPobMhkfO6/94LcS9llcyUkzxSeRcWOnmtEXgJxwe8biHW
624
+ 5CWrNu5GMiCFSs6Z9os8M4Xl1s3DvYCfxiG5XaA7SqLX1183QMS/a4zOPbozuVL7
625
+ tyLpGx511o6gQrHMPFIqc50SVPeW2gMd/PW9WcYXI2rmMOGMfUhI5kGSZFXIWZzT
626
+ DRdIEyFYsMh0vNPuMGhcuWglXD1Wv6LGEoDsvFnmvqzbplxgZeSilvUyEMhxx/gJ
627
+ XwhsdXnxwVcdg7DWA1adELbiwx4TrA8ws+r5EOK3uvmemxMhwcjMtKPU3LvafBzK
628
+ R5MkMQpxY4RehqO5TiCAsJXMrkLoKkMGCtfW2TBNAgMBAAGjFzAVMBMGA1UdEQQM
629
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQA466vxCP9fhomcXQolSuIj
630
+ speXwl0h7xPZvT+0dk+HVJbr/peTKMlg7szvwbNmjJHijwlHD5oim+GB6+WBiSXS
631
+ G9ceIe7bBLoPRizsw6b963u8jvKHPRXux8HNspYw18MV8E4SxMB6Sqtk+i8HWgcU
632
+ kSu6wjQurRjBMuZtu7abRn8gGhaRWMbu0TRrJlYRDpI6zQJfo+HWc4Wn8knJ0PGo
633
+ BqLKD7kCrTqp9eES6WUKMBJ/xLRdIK516I8gw4mQJxO//Hej0o98bkFihcSZMT0o
634
+ y4QKE9FN6TjHYPTllouTn4G8e43PnqYT4K8pium+tIuO61W+4OsgvRnk7ykFJpgj
635
+ -----END CERTIFICATE-----
636
+ """
637
+
638
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
639
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDPobMhkfO6/94L
640
+ cS9llcyUkzxSeRcWOnmtEXgJxwe8biHW5CWrNu5GMiCFSs6Z9os8M4Xl1s3DvYCf
641
+ xiG5XaA7SqLX1183QMS/a4zOPbozuVL7tyLpGx511o6gQrHMPFIqc50SVPeW2gMd
642
+ /PW9WcYXI2rmMOGMfUhI5kGSZFXIWZzTDRdIEyFYsMh0vNPuMGhcuWglXD1Wv6LG
643
+ EoDsvFnmvqzbplxgZeSilvUyEMhxx/gJXwhsdXnxwVcdg7DWA1adELbiwx4TrA8w
644
+ s+r5EOK3uvmemxMhwcjMtKPU3LvafBzKR5MkMQpxY4RehqO5TiCAsJXMrkLoKkMG
645
+ CtfW2TBNAgMBAAECggEAL83qAVOqSya4B+hiYkAwHxEbNV3d2+dQtnEsMwwZEuBE
646
+ eEaFCbuW9qB57lZ/5ODnw8+VB4sCSwvpfl/Oye/tgVk4zvsuV/lYkz3+6Ek8Asar
647
+ fXr31bXBuJ3SrsFMUFqfDFkcE+luK9Q8HX5tUdBGlHM6HI+qjn8V0nr5I+xn972H
648
+ zT2oouCoM/2pfwfWVy/K9Z6/z7rcmZNbEnF3n4nh85nN906ofsPuCpIqVLV/1Bf/
649
+ 2Z+yLLg+ddneVCbULiXyfW32IdwzsK/WFUAUQuwtZNRVQ+Gf0GBZoipur6hIfNol
650
+ 9Z7HKzu/1207Sd07u4UqbxPaEcwWHmaTCTON390PXQKBgQD0ntD51zWFpjf4NBcc
651
+ NOGESHaIXI4VZWPdXZrs8IsGrLvULEev1dGpVqTCIbpDUGfDP9eaMpRare95eRUS
652
+ uZk4AAFT4cgUD1AA7npxNHLJ807k1OKUTfRUTbSt/7MY66nKJ0xd8pLasCN8r1E9
653
+ j/jx4qVPyZaPigQhEhq1NRD10wKBgQDZSmJ10xxdM0wMhV72kMYtKWOLGVTcSLNA
654
+ +ZFzOUL+0AL9UA+qqvoU8evFYXjmqGlAAhWb7OocbhOWyr0YwjRCOADApGiP8tMk
655
+ 2x6PE8pbDabvRcLQ3/s6qs4Q100Ga1MDW8Mwi4FTe3e79qkY2gBerYvOL+oDPEXn
656
+ DPye9/zNXwKBgHx+34hn+PteDxopGKHoX+X9IyZfRIirI1okK5bvDTKGcsmXB5z7
657
+ y0rNp+iNVciwgT6jnU0C9PH5l+lQsGLpRotzpTlVrYhYCrWOqY43zTvusnZPykkE
658
+ K5dEPPJZMoM6XR1fRsSBki/ueQEaENSuE1q3qL6ksBW5fkR+fE1BBrK1AoGAHQwl
659
+ l2yuWQM3gmD97eYyp+zlgr3TK1OIqwHx4L5h52B1VdmzDnSm08/3Xb6HBAa1czoU
660
+ G3ETZtOMSNc3aizkAYotB5Oy6rNiaIXmUugpX/y2OTxRK80Vb6VPwM6XXGlSgpts
661
+ v3uWwUs7GWSC/HCAJif7DYg4N1CCY73Hs5ShNe8CgYBrW0knLvima3Ug0oBNwOy3
662
+ 2cnNnQqpXqn2cVfBbB2Om/6q9zclD3Qu0k11gUsYTMyGnXOLl9J7PhKgDqbnvhSA
663
+ s4kJlLBYxfILTZrlMeZGkLMtDxll8cUTKJ5AP6gR7AAbm5y20+xqPaIr1gjdGict
664
+ y5AZoW69GqwC41YzBDIO0w==
665
+ -----END PRIVATE KEY-----
666
+ """
667
+
668
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_2: Tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
669
+
670
+ SSL_TEST_NODE_CERTS_AND_KEYS_2: 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
+ }