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
+ MIIDKTCCAhGgAwIBAgIUeLxDdxR+RmiMMvvCxRfsQJAL7vUwDQYJKoZIhvcNAQEL
7
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
8
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDMyMzE3MjkyM1oXDTMyMDMy
9
+ MDE3MjkyM1owRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
10
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
11
+ AAOCAQ8AMIIBCgKCAQEA0Bvshi5y4VEw+k32NOOMFZJaraLoJx5N1WOJDYGqSDPe
12
+ 7ICPjz4IWDQN+yPrFv+ms+es3Ys8WOKEOMWR8U9mAxG21t+n8LH7NAMlCRNscBZ/
13
+ Si04bqfrBc3adznorQLtShOpYxEfRdu7kpHo6+D+4Av96qMpMLsPKiZWjjy9O3ai
14
+ oNzymj0mwlZ/1gaxpvfmvuqNNR9Kog8o7crLbp/x0ZPiU+Q0y6Kj4saZwu5Nq2cO
15
+ JqLn6ex8w576/UOAN4u28S3m2pVgoYkqGqJSXORUqZj38Ro0zAYywIHjiIfhLp5a
16
+ dhqDyf/IUCawltEzdXoOp3irYaV0SmAB8+e2ILZJawIDAQABoxMwETAPBgNVHRMB
17
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAchOBNfaAIoP97Lmyk/S4Hu94I
18
+ bGqj/BT6/q+UnWYcIt3UO6/d9a6WO7xtSPKiuObip8M6UQYVKQC8YecnAvXFwI6Q
19
+ r4z2TdGx2MjsxfQSNX0BYASlv5EWd3LYJs+Ayi2lxh+3XLSH+BK/7R1nL1MaN161
20
+ vAN2rGOo5J1niWyixyGK/jrKTtsRTxDcpFeIYdk1r/qGiY5uxwg6ny0JYHXYhSNm
21
+ AyADKnZoXw/kb6+mEHJHZaTR1JpNHkQ7azhNYyVMUseCi+5vYuzA2OoxSgBegSj+
22
+ 1fRUZI+j46hkr5Qspw9P++dDLzEGgarbxruRf6VsosU3sSYxq6LC+a9UHXNG
23
+ -----END CERTIFICATE-----
24
+ """
25
+
26
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
27
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDQG+yGLnLhUTD6
28
+ TfY044wVklqtougnHk3VY4kNgapIM97sgI+PPghYNA37I+sW/6az56zdizxY4oQ4
29
+ xZHxT2YDEbbW36fwsfs0AyUJE2xwFn9KLThup+sFzdp3OeitAu1KE6ljER9F27uS
30
+ kejr4P7gC/3qoykwuw8qJlaOPL07dqKg3PKaPSbCVn/WBrGm9+a+6o01H0qiDyjt
31
+ ystun/HRk+JT5DTLoqPixpnC7k2rZw4moufp7HzDnvr9Q4A3i7bxLebalWChiSoa
32
+ olJc5FSpmPfxGjTMBjLAgeOIh+Eunlp2GoPJ/8hQJrCW0TN1eg6neKthpXRKYAHz
33
+ 57YgtklrAgMBAAECggEBAINUe+kZuumyISR0uqEZ0Dd0ysC1A6hcGWZGkCDz6Q/z
34
+ nATIBNCypvVytDf+rMcwwnTaCV8uFQFKwYJKPBV6s7fQIABt2D+vMgXazi5yEYaS
35
+ y/V1oB1E3q4lAG8pHkrAhBqxWb3o+kFNr4uJhOIGdRHSv4SpPr8/7Qv+cbUFY633
36
+ xshNrE7kKfaZcY/VlnyID1EHHWnEwBQMbh3ljj5e3xgw/w58R5UgU792NFOHQ5JO
37
+ 6BIbCOclF4X5yVfX350n9oFc5Qest00JXxz0aOocMTLqtchv03xRjqdVW/NsL/Kl
38
+ jqTZW0OGdZRhotym4d6Sas40lEpdzSUpHrDwUMAKm+ECgYEA6LvZz48fQWNPanJV
39
+ Atz8e3lQO3SO+wY8Rr4S9hgL5kURWJeP3z4obG0itzolpvdKL94IxL6o8A7cXzAL
40
+ Un6oerfiDoHa/ZIfd3ko5ZdnAwWQRwzemw7EFrBW0fmy6FMrzour+qLYQTnJPQ02
41
+ Uz40zzPKFi2b/DySOeXL/knncNMCgYEA5Onf6a9LJqHekFMMcuUtTD3Zto4BBExH
42
+ 7sMc6a2zJXDNtlfMRLUhUy3TZkfkU03aeTvxdSV1M1SS+cc+sZWiAjd3wOVZy1+H
43
+ uuLRP1KDJ250g4/0ROZ2vfv256kAdBq8Typ/LGLmjVimnr2s9ZlaaJxNuI3KEChO
44
+ oWFq4DtcJgkCgYBrIOUu5IuXlrYcooo9KinSUFI9O/cA16rxSVcDDqiTk2FbrVBd
45
+ i4gh+M6NFuf0BkqQ5ByXK8gp0D1iV4QusfytmG0nDmEWbaesYAoSPPH+8xWpjuP8
46
+ 7fwXEY61UsImrPoyNhqw4Tq4M3hNcQJ7qNu4MPep4860edE5c2zGHZC6XwKBgCrz
47
+ u0D01EwOaV15R8ezOtmobVZ0tLoiugiR8bXjEs8+qErDlJ97wSIDYjw51xzOaeT/
48
+ m2HYwnH8N4vIl/noUrrJv52hK0UeyrAFaS/Rgqx+bDxXYYUgHT2urnhvXJdsgNL1
49
+ 7WDdudbhwHneqzp2KOGiGm87o6N+fKqJRe2HFdZJAoGAD//Jp7Hw8/9BA3NNhWAU
50
+ YubL5O4jututW1VGzW1TOmK3MvroJ3ip0vmop4zFuiG/pp5cNhDB56ablAW+s/re
51
+ zIjKmF79k/AXmrtXlm0XBRXBdhb3qHBF1WSUD63DttrpGdd0Mj6LY+gd+Z0/z1Yl
52
+ Z65yJ0/xVyaFjRGIBikb+90=
53
+ -----END PRIVATE KEY-----
54
+ """
55
+
56
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
57
+ MIIDLDCCAhSgAwIBAgIUFhEfo/xtdcjm/XhkbuouJaZUBEAwDQYJKoZIhvcNAQEL
58
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
59
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
60
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
61
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
62
+ A4IBDwAwggEKAoIBAQDQEygAVJgviM/8f0wuEsmCJoiNJ3gvrX8EckcllVXeyg23
63
+ iXiIadXqtCdPOXQlJHw2fZ838o/WuJkI9TsrtUkG3e+VEJKku3GtDez7gDufVZd9
64
+ e7jmqbO1mMwvpbFwEUzR9IumsxiOqDVAzSJIJGnWKhiOLYkXdKI4D+dyniEMKVFk
65
+ Y1TcI1huQngH+dBYujHlJZ4USOB+xVv5LfgrKYiZyHdKmRchIdhcjft5b7gBp38z
66
+ helydqA+mEU8zFqL5iwpNOALmije5IQKDrVHThIVmlg+G96DakoVBcpEqttfHb0N
67
+ E/oX3v0yAeV6IJ94VwCsSzndHt/KEG5PjsqQ60KHAgMBAAGjFzAVMBMGA1UdEQQM
68
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB63tKOcuBjL8tjnIlDozpm
69
+ t+LRcNiubKRc/rhTBYIoO6cTMN61ITe2FvogzNAPR/wmsaDO/sqG1oEHrrnJ7hXi
70
+ zNVj3GC7XYlqXvoRsCTdqoZE4ATPVZkJqhDx+/5IruWo1Q7F3nPzjLcS3mpwu2xc
71
+ Tl2HBEwCX2gTuG6lB5DUztrgGLNh27pqRLoGW4fzmVtHD/z54SFsQvPw0flYMRtc
72
+ qA/4eoWLvQNGoqsfA2F+eFTlXiPr/jp3jFVJvqixlwEN1DJkTi7hfMTEty7xrlZq
73
+ dZUmYxygqt4sy0AMbwCbemYJmvONlW8lN5GYo5NjB0BaMYsGMrehY2XHZg2npy+U
74
+ -----END CERTIFICATE-----
75
+ """
76
+
77
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
78
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDQEygAVJgviM/8
79
+ f0wuEsmCJoiNJ3gvrX8EckcllVXeyg23iXiIadXqtCdPOXQlJHw2fZ838o/WuJkI
80
+ 9TsrtUkG3e+VEJKku3GtDez7gDufVZd9e7jmqbO1mMwvpbFwEUzR9IumsxiOqDVA
81
+ zSJIJGnWKhiOLYkXdKI4D+dyniEMKVFkY1TcI1huQngH+dBYujHlJZ4USOB+xVv5
82
+ LfgrKYiZyHdKmRchIdhcjft5b7gBp38zhelydqA+mEU8zFqL5iwpNOALmije5IQK
83
+ DrVHThIVmlg+G96DakoVBcpEqttfHb0NE/oX3v0yAeV6IJ94VwCsSzndHt/KEG5P
84
+ jsqQ60KHAgMBAAECggEATp0+Osm7ahI9yr9pz+qHOeZHJ1WnQhRB7jMjEF8Yv4EF
85
+ p7eH07pw+SkxxOwHJtVfHNNfqaq6j7zVDR5iScRHoBGQKHjHfvfXHjQpumgbnrqe
86
+ 7ukk1fl+DXl6g/INVTMkHBtR/BykhZml7SLT9f/UAPeMqYMozbTiaV4Q6yw1fjsb
87
+ vPkaUtjveFE33f4sAWaJXMhGw0CaSAQ5UpU0juSPgRrH7WLot9TkR5KLldupoSil
88
+ bLG5SD9a00UnNpO1VKdkypS8xLtHRveFaosp4kJ74fklef8ZRSIdRwpoVbjJNcsQ
89
+ Yw5JevF68RS3/4/AQoHJUhrdjeWNWHh4cyB5LKQYCQKBgQDpaIsPFI+ZJjNBEeQP
90
+ 3rxvO2TTH9dIRsKgl1LyawaPACknt5lssHOFb7iT8eEg97PRq1TZMGbpdHdhq5bG
91
+ 276n3cqO+qJ4weC51n3n7iEreORROmc3gvEw19mwSxSmJnfiS/yyMnGvnqBY8F0x
92
+ R3ICitGp5AZi5rcN2DqcsVdtlQKBgQDkNuQ97C8tktfuVs3tjuv65Isg6rYK5Asy
93
+ Ksu4MqihpAUt2OFvFmqlDVSUshvtXro9VNZMkJav0zdu1YzBRK9aq7IImLSmnAJE
94
+ Hck6I7rp5SpTCNPqC/yNfL0cMktFzyMeNsVe+v6DYjE+vu2lUKUEir40mc/S8CE8
95
+ 3QMZUYzQqwKBgASj/nfLSduapdQ6XdVu8UIo5SVJccdPGNmGiLCnLhczwp22icde
96
+ br2NbhcK7RXxttKJXIOA8drcZO89MR89CTpfL4LOOuK5wBURzakJ1AEAQ1HWHm09
97
+ HjyBXiOiKoPvKd0G87w7QoViWv/Jr6CmMf8Y8Xg2P2ZB/gu5a9jnsbxNAoGBAIB9
98
+ k2Z1614qdl8gCpO9S4oYUWk4HUTmfpNBWzAbfax8r9nPaaXlJihF6CBMY8Ly+cL8
99
+ WCgFpIHcVzKVE8nhRSW00+lZKSVBY1k8uAZ/BYcZWwojR0VYeFqlJ8iPXKgyZuBl
100
+ EB1ZDiGlEHr2ftD8Jdz3zP3KuCNYxi4BdfQ0YSc/AoGAOkyeYVV/1iq0iuNvZ19Q
101
+ VeL/FEz/QLn98o7Et0wCp6VCsdQLOR+OermxF/5NTSBXreDS+YOSsc8N7Ds0Cvyb
102
+ 9x6E+AQu+0G+i4RsY1A6680O6dXAtTq9oiE6q2aWA2731J9lQlSDykg4PagAkpJK
103
+ D6LDXVuc+4onE/JZ30e0xmU=
104
+ -----END PRIVATE KEY-----
105
+ """
106
+
107
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
108
+ MIIDLDCCAhSgAwIBAgIUO/5znSza9Dx7FlysyCyStw2FDwQwDQYJKoZIhvcNAQEL
109
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
110
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
111
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
112
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
113
+ A4IBDwAwggEKAoIBAQDFUvDaklLh3JqASKA1I6H/cULbcPCiXDy5CTtXJUzSRc8Q
114
+ ckjI4pepWm2/qPKkmiW+6V3irdc1sGF5ICB0mh41UAu5338+0nuQ2n6LWChL4OG7
115
+ JNU4uBIbf5PXmlZhj8BHAfpAi0rvXIdlEUyVhDnjfnOnYK/2Eivh5gOvnmoHA9EA
116
+ BI1KCvhIdv9H4Vdrl+iFTL42hPe1X4TBRcg7HuFVZ14kzxWQ4x9Ep/tzzq8eaLSM
117
+ rlrRmBlrXMgN66ib65deEbuGPxVdHwY4OkR7hxal41ON6sduZ7d5ypHWGUwrT0eY
118
+ Pga4/b10/trBHGlk7cFmLmqTDVEtPMgrHFrtM4YJAgMBAAGjFzAVMBMGA1UdEQQM
119
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAk17NlkhSre6JbKzlUdYB4
120
+ GOddsueSKsnathkvevXLM5Q2zhY1GKdeT6chlflcgLs1q810LwyAvVD/A5k3jOZM
121
+ YxR9mQMAARuk1qZsxeYfu1ARZWEU77HJj2foWw0r5+1FmT5vCPZoqnINElXHMbuy
122
+ DtgYUjAS/31pqHtFKrqFAV3IruQyosYoVOFmKb419s+7ST6u+FQZpiouKKnSpqfc
123
+ 0K9+O4pcCvPgcrj8rTK5cxLeIYd7LwL9grxE9DrIJhsaoKUkwM4+tiimr+7OSYov
124
+ byhFnXiLH9MEZgJXtV9jwQJideTpcI7rdVFVc4+tEP9A5Prru6asNC2UsXbg4kZy
125
+ -----END CERTIFICATE-----
126
+ """
127
+
128
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
129
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDFUvDaklLh3JqA
130
+ SKA1I6H/cULbcPCiXDy5CTtXJUzSRc8QckjI4pepWm2/qPKkmiW+6V3irdc1sGF5
131
+ ICB0mh41UAu5338+0nuQ2n6LWChL4OG7JNU4uBIbf5PXmlZhj8BHAfpAi0rvXIdl
132
+ EUyVhDnjfnOnYK/2Eivh5gOvnmoHA9EABI1KCvhIdv9H4Vdrl+iFTL42hPe1X4TB
133
+ Rcg7HuFVZ14kzxWQ4x9Ep/tzzq8eaLSMrlrRmBlrXMgN66ib65deEbuGPxVdHwY4
134
+ OkR7hxal41ON6sduZ7d5ypHWGUwrT0eYPga4/b10/trBHGlk7cFmLmqTDVEtPMgr
135
+ HFrtM4YJAgMBAAECggEAMn+bbBRuaacPUy1C8tZ/quPNfGNW8fYxBBm8ufytwFJl
136
+ P4w/3ElBDvI5jAcssbtRVZ5bjJt4rCDLkTgLlkuq13H4zkTIR8eOH/AK2pZhGaof
137
+ msk+WBmjaK4po8+3s5gaWRHEfagoMUG41MCsnMcOGY5PAtLXtV3JJTK8VsFv2QNJ
138
+ DBofTjJGGwagy7L6qYFzvl44KXoW04Ue0njsSN2elGnovqUpT+kx+VXHeTB6kCMa
139
+ 6X7FleGRd1/It8awBWxlDB4+Krxoxn9L8aPKqsIxD4Sp5NvntJJdYr1dis4ixBlI
140
+ mO6qI45iCoqh+/seomWYLVwuGCgwbmjSM/ZtMq87EQKBgQD/TK2FjoDkrFPTqB1i
141
+ W2wyUhy5qZXDkSOgOl/yjIHAPpxtSbwxva1U609tsfHHg2oZKf+7FPxSCY4ZngLT
142
+ gLCaBaYyY4MJP9z0sEc1tY5OLLg4sgl1xS/TXHW1hm91t7UVgrGBr6FH5ScolPW3
143
+ SblSMqOFechgZH7B5embaFyjawKBgQDF3YqCBOb/E20Mc3GPKAqKTgV8SEZyBp+e
144
+ kKubp0IbIsB7n5P1g63qjAZNLYCImIbk8lEaYnHIlrjiN7+vX4stU3xKawtdNfvh
145
+ SLOOhU1oKjL1l7ddvhE2w9hd7TAiAKL6EE88SYVm9LGXFekc/SmmScLEjTzAFZcf
146
+ qChKRysNWwKBgDH/r2Aft4iRY11paE/R/c+hGzUVTFpfu21u4UmcUPD4kiQpM60+
147
+ K4sdBpJCLkrXptjEy+u0wXHDo0vLEVygsHWJs7HcoVYXZsuZFmkjZHpU8cNQwt+I
148
+ vcQUMI1bhcq1LsbGsMLoRZrR+yhMfA7oZl39wt6qKh8Or3CD+YtRFgt/AoGBAJzL
149
+ AsAnXFlTLn3IWXuksj2IuCYVK+WdxA0l/Sb6MpNIRZlxChFqyH1temzcGtejbnms
150
+ X4J18k6OyXFR1g8FukcvufVKwBWb+r46GzdcAMwDbKBbGk4pmIB6T1GW7CZ1tLBO
151
+ DkvqwtCkJLph/XkgUEnad4HDnhlkwn2uhkbeAIqzAoGAZGg9br+0lG5/859Uz2zO
152
+ Gu6E1rW1Qmt7ZGsqdfOng/bud8scpS4cWhwDQ1dIO7xvVYMUeLZ38YhCb+V2JKEa
153
+ rHwctjh+AEpMwtnqcldni6G/3zGM5jLiN0hfcfBiXW6RQsV+ExWVLioXp1BLYUXZ
154
+ nFuRXApgKMWu3IQk6Nhxx7k=
155
+ -----END PRIVATE KEY-----
156
+ """
157
+
158
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
159
+ MIIDLDCCAhSgAwIBAgIUBN4qin5jD3jO3rKq1yvO8YTCOM8wDQYJKoZIhvcNAQEL
160
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
161
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
162
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
163
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
164
+ A4IBDwAwggEKAoIBAQCkLFKcf8jK2dB0dVNFO8ULxmS+4939oXH/TSF7JiNmUxGI
165
+ WkPyUSgHQOatbhAK7Z91ZnmWyVrnGzXjccvW64uLLrLFA5mL4q0iiwroxPnaP0qv
166
+ w5ZnZmDgH/SPrzt5yw8ndagkfpxLekG0Pwbh4Coffg1VgEw/gqjv//moUTSQB66i
167
+ daNHd4bN0KVDXmycUdqI2ER5iqnDnb6Fi4DTQXSkwd29t/mRaHcQLrwiV58YqsBF
168
+ YcpE70UWgV7j+e5qYUlzJ0P6Te8QU1pjqigWoAuJNptq7E9wenSJ+7RZB1c+R+48
169
+ bBuQpoX+UVQfTHIeJ2NSKiMN8deLUhPj+fQrCp+1AgMBAAGjFzAVMBMGA1UdEQQM
170
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAccb5ZaUOWhp4FAwQ4iTfo
171
+ 5RHaPGD770BgpIvl5yKAmfAN04iF6GgcCvZP69m5lFlNuQNaz0kOTIY8cNvrksHF
172
+ OYNbm7aHHdCGKs8sjdXxrJrL07MwRsN+XdWIDECGQBIHmvcOeY3HLdxcGr1lSpuP
173
+ xdT79hYrYeMBaHF3RVItts6fNVBGFmA9hf6/cDEIRt6TDbfBy+PCIRQO3OxKa+ch
174
+ sIemO+3tJsyB6xJz+iG7lO8QCI3qtn02XoGM82WMjgJVorWMzTSoMIP9UWMECoDw
175
+ Q9zy6Fqy4cOWT2qduWD/7r+5e2jmI22wEU9LW3QlNt9XziVBGqnZEiKfOdnf3XdB
176
+ -----END CERTIFICATE-----
177
+ """
178
+
179
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
180
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCkLFKcf8jK2dB0
181
+ dVNFO8ULxmS+4939oXH/TSF7JiNmUxGIWkPyUSgHQOatbhAK7Z91ZnmWyVrnGzXj
182
+ ccvW64uLLrLFA5mL4q0iiwroxPnaP0qvw5ZnZmDgH/SPrzt5yw8ndagkfpxLekG0
183
+ Pwbh4Coffg1VgEw/gqjv//moUTSQB66idaNHd4bN0KVDXmycUdqI2ER5iqnDnb6F
184
+ i4DTQXSkwd29t/mRaHcQLrwiV58YqsBFYcpE70UWgV7j+e5qYUlzJ0P6Te8QU1pj
185
+ qigWoAuJNptq7E9wenSJ+7RZB1c+R+48bBuQpoX+UVQfTHIeJ2NSKiMN8deLUhPj
186
+ +fQrCp+1AgMBAAECggEAMt60/l8uBYT2bY+JLNO3W82um+OZfqSO4S+yJymLIIKu
187
+ 1RQ7J5N0FsNKdwS6ndhBZ6xIEqvzqdapnP8+zSqRQ6BFrnxOEKU9Ro3U5Ilcbf7c
188
+ kpfFO+biL7BXJEqE4FlGKdDwN9avcUfBoitBY64E/1scoJivh6Jh3HPxlPEMm2/2
189
+ 2sYJqNGdO//MQ2gAcLclv2DhI9n5sI0/nieAETBj1z20/0Mq0YMxLTB8s7ctr9UM
190
+ 7gW3QoYwy6vmHI3OLrEDS/4cmZpBLeHmeQ4fcxsNAENu6+OkCTgiVgoTEWyJdtPe
191
+ /4zUWrcbXP/fYa5zH0CtoyeB047KjF7Y29kqC0PjBQKBgQDSXCRpdbrin40TaESi
192
+ uoFp0IPIqYediEqPMbn8+6g7GUGwDC3HsJ58njQLXK7g5MA259HtVdY6AfV5o7mU
193
+ IR75WFfU3JVvmi24mucDMpDx1reUQg4s9xt8OQZL0sp0RZIh4DuAhF2LRL4QUdsG
194
+ qCDaGxY7gtUBz/o306U82d+ZCwKBgQDHyt0ATDSaoT9Ra+h8jrRvelx4ORxa05l5
195
+ /ZaqRUthG9aOHvZLYpKaFsnEHtoBCtKC+Rr1oIdLrXrKjq1qLTt693tUJE2Y/OjN
196
+ GcbU2XAhlb94UvQlg5e64fQLoiqLqr9Uu1iIF/PvXXghgYDw2qP0YpF9lcUa4FnS
197
+ xtJ602GiPwKBgB/U25mtu/rhA9sE8yXgrQaTC+4IYUIgRpAGiUtT1XAj8UGvhhnq
198
+ iwD2e4+glcHoO4HTcHvGemVKuJeQg9t7a5F1oczPGDnMDdEad4yPUUmXIS5pFHYP
199
+ anRQuLgujH4trOA9ayOWZAVYAJ69lDQcquP2J1YYBR2CGC3sc9uSaHhjAoGAO/Ma
200
+ R2mWa0OxLSxU8XMcn0q3DngMkxBlQB6go+zxBm2E/tY5jzs/xC7MUiXzwlZN/nDi
201
+ 7wtBLasbakZPsMlrzKUQA5p1Ek/pRwnSCLJKHDnD30X87njDAZelVAxP+eK9UJ56
202
+ nTOaxZtlXaBvYVYp1j3xbB6Rq1PggAeaxrJA3J8CgYBV60pCQ70fdW8zx2WhUX8G
203
+ Hm6Lq4qVg7/M2inTUKVQfcoFzdbB1VcJqyoESwnQeK4dNTk3dQ+Jy8t10J3GQAkp
204
+ NCTCo4Wpy4cC/odHpEUFZpY3+LPRrvxDUGGDAJgQeOI969Zvesu593bpJa0b+0iy
205
+ sgSPHcG20oNGqqeAspJS8Q==
206
+ -----END PRIVATE KEY-----
207
+ """
208
+
209
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
210
+ MIIDLDCCAhSgAwIBAgIUU/+7JgmNQiwRivfB+ypu3OtSTJEwDQYJKoZIhvcNAQEL
211
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
212
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
213
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
214
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
215
+ A4IBDwAwggEKAoIBAQDT/HGxRGnq6IATEXgdHTrT88mmY+JRNzeBnD9Uh3uwBkai
216
+ kJam31eY3oxEsQWVZRJ+Qsynr+VBgxFquNBnHmQ27JOqAH800oM1CC0bq4Z8ac6X
217
+ O1SjCdUQdaqpjScUNfxWgk6gG3e9KiuHcvyOezdIvPb5Z8Lgz1Wk53IiUpjOBRrL
218
+ jvBYVebvpAog12q8Flbf3Myu27ZsL3lUhVWpfl91sEQ7rEz3ollxl52Mz2JA1B2+
219
+ TzaU/iDctTQnRCk75RqDmVshnKXKXGNnClwZXtIea4mfVVJB4mJhwGvgsLRRj7eg
220
+ BM6E+jzBfz181Cr0PrhpzGJnfuOtEepby5F71GbPAgMBAAGjFzAVMBMGA1UdEQQM
221
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQA5+/o35BCJRvrfMIp311Xv
222
+ ybio+Yq7Jpp4wDOT+6XlpGMMIHGtDw3fYXhZeXDLJQ144reDOnLWBEN7of1M0NHu
223
+ Y5ccTVeYaepZnvncyXtgokDtPZjegXj96zs1IDr5JU4F3x7xw3+zppTAZCgGQ4A9
224
+ rMwwFjsm+fbjITR9T5fLppUSW1aTCSii3i0VBzGyXZlLDuCqdOLYCOX6WFtx7j3y
225
+ jQYZlqXqv5idx1BiEJT4vqC2N8elpmPsZ0TIR7xIFft5HvlU/U+aCO4NRetJaRj9
226
+ JK9D6Jt3shpKLbyJOfa7foY6LBf+qS5MpC3kTnfoeVNpI6DHKWKE6d5+au48ARy5
227
+ -----END CERTIFICATE-----
228
+ """
229
+
230
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
231
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDT/HGxRGnq6IAT
232
+ EXgdHTrT88mmY+JRNzeBnD9Uh3uwBkaikJam31eY3oxEsQWVZRJ+Qsynr+VBgxFq
233
+ uNBnHmQ27JOqAH800oM1CC0bq4Z8ac6XO1SjCdUQdaqpjScUNfxWgk6gG3e9KiuH
234
+ cvyOezdIvPb5Z8Lgz1Wk53IiUpjOBRrLjvBYVebvpAog12q8Flbf3Myu27ZsL3lU
235
+ hVWpfl91sEQ7rEz3ollxl52Mz2JA1B2+TzaU/iDctTQnRCk75RqDmVshnKXKXGNn
236
+ ClwZXtIea4mfVVJB4mJhwGvgsLRRj7egBM6E+jzBfz181Cr0PrhpzGJnfuOtEepb
237
+ y5F71GbPAgMBAAECggEBAJuPzGrWlpdxCNN1ZVyQH6R8aUU2VVVeHNh7Lao9RhIV
238
+ eO5BBpzslt6yqeKauUs5gYmwQXjoxmb95OEZQK37inUXxQDjHnZH6UsYdemxRJ62
239
+ Eom+W0zNoVJT1upXkA7v0v4037f0kDj74jeitR1l5Fr3eJHriAHrhKDfy0zOqh28
240
+ H/28PUKAP9QVP93L8WMySDdQxTSgFnRmCN1ZFlR48UiIxD79W0SrY9W4V/A+rJ4o
241
+ TLoNSB3XBWWJA2iaCqhSHFziU8WvUqFa8ASrVnz4fQ9365jM1M5QlaGEfWkumKc6
242
+ 7tX4CG1dYSF7RBemgEQuUKKoHmUxqZN+DqOFjrAlX6kCgYEA/pYUhOB1kdOs604y
243
+ J+UpbXiTK4Rdw+ZSjdXov56wfqvzklECyltx4m6VGx/8qVNnOHfBFFRvvFM0T9Lz
244
+ /DZZKhW4xuyZjeGz3qhcHICEdL1JIxpDyazb5KPGlJ6s+vqoY7GD1vObSzbPdv5l
245
+ yAmtn5sq2so+9pylki0o78FtbuMCgYEA1SnNuEJw7Nsq829FZzYEgwXL7HU/NbZ5
246
+ urZe3LEROeoFXFb6IZvMF2IT9yk+f4/pNyGSIWe45q6XlDQ34rMhrWrwy3BMo89l
247
+ xBBzdG/jHD3q2V2NrdkKc6jlaVbZS4mBpwpde1DYpB6BOPXl3K0+FH7jW/gaSyMW
248
+ cjmA+9vtICUCgYEA+Mdb4cUd3pTFA2P0azvq0cjjt8CviAGIZoXD3YyK2B3b9P0p
249
+ Bul5TlXVax5E3opb8bhEe0NPtO5xzhdMyQeq9g8n82u9WgJWrJxE9q03woQ99gly
250
+ eJ9see743L56Nv++kT0komaHOGalMZjDiUi7253bsNW11XOZ8FAlErUn5RUCgYAX
251
+ D4iz8GwrE6LX5yfI/K0MR6pCEIUgGHee3W/xzC4i59BgpwA0dphjxzaFvK6IOldu
252
+ oXEfsAru2eCIJgYNvndcPX+DYsjHx/4ocecrp5cYTRKFJXvYXOymipUXClBDvcKL
253
+ AbIPTzXAu5QbR27wqsVWjkumfXbKvicFgHcVyDslCQKBgEtHDzYjU1dWeo4MXjs8
254
+ e4C7I0pj9lPvrNFjtS5WmtpeupjdVzuPqTPRmtXk3EDFtkyklUYR9zoHxghDPeen
255
+ c/mzkwTj5tsjM4FByYglctZ4yr6hmFMFxM67fTSrKYRW2VWqFYa0eUVvFI+1X53U
256
+ EUKm1RKG4TkGm+pSLJEhkeiQ
257
+ -----END PRIVATE KEY-----
258
+ """
259
+
260
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
261
+ MIIDLDCCAhSgAwIBAgIUbgDpFoeaeAbCjZcmf9YI/M3IB1IwDQYJKoZIhvcNAQEL
262
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
263
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
264
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
265
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
266
+ A4IBDwAwggEKAoIBAQC4vhXYgLWi/5xCrTP3efRW65MPn/vzynsCul7dya5vmTiO
267
+ BZV2BkzUBRfZygARIUy7z9VsX22c4I/xRtJUkjAtDaSw02bnlL0BZSjZg8DYWjZO
268
+ woO++FNweJ2SxvaPQypDCyRQuiIMGBcsqMX89owC2y0cQtYbB8kA90WXNeaSXXzB
269
+ WTpPd0pRDx+VOs60hGIfH5y6S/MkgDPHLkXYCGMqRK0vBbKr9yWq7YNkFmgGd6oV
270
+ qAspX0ykx3KOiubBO9WV9pw6Tn6Bzm+5yD2E4p+wmR6r25MEHExB8mzULoD3wQWE
271
+ 1xRQDZ2dF9dr0CXSnDlOpCf3LcHX0z1NJzG93/M/AgMBAAGjFzAVMBMGA1UdEQQM
272
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQC7rOkhmH/14hXD8dFxw7fv
273
+ MBE07KvCbbYxoupD3pUIHO27Nuwy1ZtcppHB1yLztFVy1gk4u5HfRPkliVrsUlCy
274
+ IQ6JiWl11TU9vPQHU6ZxAVYrmS4UhxKjOVQWJ9ZXHcQWamNZS31uCfEpG1AvLcQp
275
+ rP441aWGVl9pn4DvYCcrGA9iOIh4t4+IP9KdcehXwf5aIip6j7FR7lRgoS65xx18
276
+ aekW99yqzJtyqtx+UCn64a9lGFlCvzdUvh1N8qtv5O1FGC0u5erCkTpdR4mwbljh
277
+ Wl7fa/81yeoV1PM6sHrp3mEK1qY5yElHIEKlsoJvnoy0GRJXY+bhfEcZVEDvl9rW
278
+ -----END CERTIFICATE-----
279
+ """
280
+
281
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
282
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC4vhXYgLWi/5xC
283
+ rTP3efRW65MPn/vzynsCul7dya5vmTiOBZV2BkzUBRfZygARIUy7z9VsX22c4I/x
284
+ RtJUkjAtDaSw02bnlL0BZSjZg8DYWjZOwoO++FNweJ2SxvaPQypDCyRQuiIMGBcs
285
+ qMX89owC2y0cQtYbB8kA90WXNeaSXXzBWTpPd0pRDx+VOs60hGIfH5y6S/MkgDPH
286
+ LkXYCGMqRK0vBbKr9yWq7YNkFmgGd6oVqAspX0ykx3KOiubBO9WV9pw6Tn6Bzm+5
287
+ yD2E4p+wmR6r25MEHExB8mzULoD3wQWE1xRQDZ2dF9dr0CXSnDlOpCf3LcHX0z1N
288
+ JzG93/M/AgMBAAECggEBALOuvhSrav60WklHqOmkxg/cZFaoJigB4g7PMgHJbU3B
289
+ 2w3XRH1ct1Dn+0CqhdIjbzykclJLppMUnyvu1BfJb+4B/RK3KrlHI2W9/DNDQEet
290
+ xnBoJDeT06PqzGe7+IdyriIzLgkOYJseuzuGk7rsGVWV05RPNWto8Qltd1QQ6sej
291
+ V8y1bBvvywhhhMi1fxr+s/nC4mzURpCJUdENv82gaklf192uIvB5GCLum91GjZKj
292
+ VmgL/3l9A0Wy3Hwp0xdOPxAoeddXks6d0yrlfwSa0AIFT8GNyuOKPRgCHWDjg1FA
293
+ 3iOYZYQlmMt1OzKgTm0juuwK3VAao+zuBZPslfSs2CECgYEA9Z+NVCSfRlN6vvrv
294
+ Z+tiEBPMfKlf3Bb5K9QxLeJ3iGoqNyH1DbBn63SWukpI60qCE0HOsWazwI+G4DLj
295
+ XsGaa4DodEVqqncBzS4DIDU03xBo814d/X/5S5vW411o3ykDhbyoq9Exvt1UlDaC
296
+ Ntyv8AunBDH1Pcz1fHL2ELKgaSkCgYEAwIwZohhzNp4xX6NORRJh0hILWu20mMXE
297
+ Qq4xa83BqNqmXTmQfD99O39RdwSzL5IExCQCtAfHXDs0ZuQE1p98T7PI9xSOUrAe
298
+ iLHjlOerCPhUiFr2s1XE8Nkh5qz6nOFyaCgodbLXB+UMiAGR4hZCvxj9BZa+35Cr
299
+ egPUw+U4PicCgYBJwvVtPGY8d1tYOQFmQtC7JUb2dOLdtGR1ng56yhS9eaxdzCvM
300
+ RZqfoe6V2TMWvdRcNhn9Omtmu3N0prOTRC68dATazfHfaUe4N0YnCPNsvX/W/f+h
301
+ nineY9lfhDC3O5jcM7CvkG4Q9GSu8cOe+B05yDYK03njakaabeepUgtMKQKBgHRf
302
+ uNZppKjsL7c4AoRoucq3sTlB1hdH4HjUw3X+o/+kN0y9EACods5RAzHGG26y+EJ7
303
+ 6U5aLTonZmKRigMV3ZJmfR4oxGRhofLIYV6MLql7Pcwz/kshmahf88dx4P6UnAsr
304
+ ylhowOI6o7pICJ33Clxpg/Ouyqpgy+MxEZVcowOdAoGBAN2aBN/UZrisEFeVzTVu
305
+ FALP5NUPl6gobaPLTh4zFf3gJqArivZgV6EOcXkBHJgRkETcZl9dFVH2rJbhjFbN
306
+ beT6eWgATdaoptZhuYuqNl0p36mkCFemB8bsU8h8MlfZVwBGcJHQKTFcXp//p40q
307
+ DSUp+S4QDmrzcKn0dAJVeP7d
308
+ -----END PRIVATE KEY-----
309
+ """
310
+
311
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
312
+ MIIDLDCCAhSgAwIBAgIUcSw+1Ww+zDNNx/vNquiiebp0nRAwDQYJKoZIhvcNAQEL
313
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
314
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
315
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
316
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
317
+ A4IBDwAwggEKAoIBAQCj34tYd0hFq2vNzARK5oT3ZU9MX0GNLidDDBPpDkXEYZnR
318
+ yVqdLe61OWuU1dY7Imdoc72HCDQLEd3bV2dux2jE3ktHP0zELRIucyhBJvx5zl68
319
+ ZO004prWYH84O1GlTHsz/OQZeTyN8detpOgEmjZYJnPOWoMW063r5YAxfZ5BRdlx
320
+ MTmnJjLIxX2q60RjoVZXNtl5DOOxnYdGX6w5L6KXMr/A/65AePP1RYW6ugkQwcKA
321
+ +PsAbDz9T7qDmgu9gHcDtGUg30ua6kLgHPx3ZrL5RI9KxfP9l/r3TEXg1XhlVyv9
322
+ ogb12SQHitHR9HFcs2y1CraEw7HGTTfn1wqbqtzFAgMBAAGjFzAVMBMGA1UdEQQM
323
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB4Z7WQTY5irFfCZzVsLjpa
324
+ ntAiAe/EdaGbx/12Hy07efLQ29D7eMWOvjjlDUjAZFDefH6SPB3bZXY5rhY1qHnC
325
+ 7l3Fut2SqToPy4/8m895GNOtvPJQJgw3nUijKA4k+tSdN9XZz39sDYGKzHPMuAk4
326
+ D0S6MWIrT00zEUMJMUoFfCF7W1II5phrlAZTczdEiXo3fn6nSgsDXGgZS6Y4QXh/
327
+ 5HCPCuI/F1qZWK3eVdrrQaB7u2LLo3+qfku7unZ7+/EgomRL27pMukrL/N2kGU0U
328
+ 7P8mpcs7j+Sn9POI9h2fSbB4IElbHP1AM/mTfLc38bKQNt1bnXzMKfhnOWHshBrm
329
+ -----END CERTIFICATE-----
330
+ """
331
+
332
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
333
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCj34tYd0hFq2vN
334
+ zARK5oT3ZU9MX0GNLidDDBPpDkXEYZnRyVqdLe61OWuU1dY7Imdoc72HCDQLEd3b
335
+ V2dux2jE3ktHP0zELRIucyhBJvx5zl68ZO004prWYH84O1GlTHsz/OQZeTyN8det
336
+ pOgEmjZYJnPOWoMW063r5YAxfZ5BRdlxMTmnJjLIxX2q60RjoVZXNtl5DOOxnYdG
337
+ X6w5L6KXMr/A/65AePP1RYW6ugkQwcKA+PsAbDz9T7qDmgu9gHcDtGUg30ua6kLg
338
+ HPx3ZrL5RI9KxfP9l/r3TEXg1XhlVyv9ogb12SQHitHR9HFcs2y1CraEw7HGTTfn
339
+ 1wqbqtzFAgMBAAECggEBAIVpmj2Epw8pVxPts9TyxW/QR/XqWyjAWXCJZbBIUV5n
340
+ A1666g2q9nsN61r5mHb+NGfiSnujnxMgEZngF7IloFMekvTHQQ05kGLGmBAq2EOm
341
+ UpRYKpHyppI/b3NtP7QuhuM1UNK4VCdPrAKPjeEpV3L+oyttnum3nhG9/1bLaUrD
342
+ cJIu432eKPLNF0jdjtCCnuPmZthOh1qAETCtlQ3FmBnUOu2XVwY6kXMOFh8iA4GA
343
+ FMxx8MmHtAeCsY0ESp05OeAE3xNysrSMZPrhPPGtrvKGbImYJrmfOT8jdlncMx1U
344
+ bvQj15qsf8y6QjWsfgGYssoWPLtcZZGzXdwQp7jpPeECgYEAz5FK5Bs1kFjpBNDl
345
+ vSmkbwLVv4tPX5Q4WVafLA02AHfJznXNNydM0X5iQ1FvSrdUNx1hbHMytTQX/fRQ
346
+ Q+rHdCC5dnhhiYACUTgb2Pc6Vtfn0IASaen5pZGr2wDF3PND68afuJNaQM92B/yO
347
+ xKbQFg/810qTnvBLyPX489zYYbkCgYEAyhw+HHxcxTB+QJl5Y2dosdkYxtUnPiUL
348
+ zYaVpot92pHZ+K3FlIH1gDI17dITcWVOGLyxbUPsLG4apBEq2qXxeWlmGKT2AZi1
349
+ 36+uJwXZSI7dzY4pODkU+IdqeHxa1gIRHoBDB0BMqMhTITnBL0Ke/3rGDQMhKVzC
350
+ WI4VtXjHyW0CgYEAsyoNg9G8rWkhUafi9iHQroW67MgZ7j1pWiv73rFUkJjVV+G1
351
+ Dktc8mNt+/952ftetOgmZM8W0PQzVWCiO82W9jUdARat0lrtJSASYXgdIkLg9Mbn
352
+ ngZ5F6IivjnvkGVmlkhvK4n9WH36urAUp8f5S2HndAoKXCG8uK0gg5Z4K/kCgYB5
353
+ 1HZ4U1rUnrusExeCHSaV9kiiKoDiTBCGTndNEk7F/x9GcPFl6MTlBt9NQVHpC+j8
354
+ rlnBhK0Lxz8V4SdU76zUw/0AJAgKxFP1x3+SFEt7GmuHagdc1cPXYEGE6WkUEeDh
355
+ 4u0EpPTQ1RiPMbJK27zeQdK6q0VFGp4oJVXeszSzLQKBgHlC8nj9NKpaFWh0zoNX
356
+ FKdjOgXvsTe3a6ZbjjQe7yCsuwMmsDxIExnRYowTp9dxs2benh5hn7aw+IulV/rD
357
+ YmXKRj6wNr5LUy0ECSAfAmpMilAN3R6BK+ySAIXL63iKsn5fc6i76kREUc/9wyJA
358
+ YAy+y2CnPvr/gJB1OwB6NCwx
359
+ -----END PRIVATE KEY-----
360
+ """
361
+
362
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
363
+ MIIDLDCCAhSgAwIBAgIUcr5lcnpo87wW1R4tGOd5W3U3m7MwDQYJKoZIhvcNAQEL
364
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
365
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
366
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
367
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
368
+ A4IBDwAwggEKAoIBAQDFYItZq3rmZTSdcJK7m0sPbVSyexV4mIVkR1JLSYDkRUfC
369
+ xWqPB2ZY1sc6a+Tns/0qVOEddjfD8j5GrRU1g9VluSnKp2bg9NgQkqTEuyLDPF9C
370
+ iP1JOQudPSPQTeSwyOk2bQQ4LP/nRZXzZ+NnAEEHTkTD7D6LvFTGrIEShLIqxHdY
371
+ 5EeFXF3zTpp6LOQYii91joqN6i4BUbbMr6MoRIgVUZeEdmKPHkyaIg2LJ+HiqrNw
372
+ xc8Yg1ksRBYAKBbPptLsIPXp0T5ja1SUEUkyDaFclzZnAfQhB57+0VuA4/pIJcLV
373
+ 9p1avjw1PyrHqV48AGB/NqWA/+4kXEkZ+DrrY1D7AgMBAAGjFzAVMBMGA1UdEQQM
374
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBIvNub05nXZoxHcysNf39o
375
+ DudZ8wmn1urJpYQQUhFfZ7eGyTTgNiEI9Mz+kVK9f+BR6ylw5yDGpIC2BY2uDdR3
376
+ r+y6bs2loQzfIMWAOEsx86zMG1XmYj8zQ7pjZ/AOInu/Cy/w6AwNIt7U3B8+nZEA
377
+ qPatVOMPh0yWJ3CGjY3lP9mjhREyUBwBsUOq813JYXLsq/euFm5HPVptYf70Ms2Q
378
+ 3qkSmyZFozJbW2/wqsb083kJ3djkVliqSDVQ2TnQCi8PT/9uE8LfMTrnWbVZlTO3
379
+ hxByAQAco0fiTQ7BN74FuhzqBLBadcnQ6HnWe87E/0OI9co3+vJR1H6xHSebJ9pu
380
+ -----END CERTIFICATE-----
381
+ """
382
+
383
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
384
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDFYItZq3rmZTSd
385
+ cJK7m0sPbVSyexV4mIVkR1JLSYDkRUfCxWqPB2ZY1sc6a+Tns/0qVOEddjfD8j5G
386
+ rRU1g9VluSnKp2bg9NgQkqTEuyLDPF9CiP1JOQudPSPQTeSwyOk2bQQ4LP/nRZXz
387
+ Z+NnAEEHTkTD7D6LvFTGrIEShLIqxHdY5EeFXF3zTpp6LOQYii91joqN6i4BUbbM
388
+ r6MoRIgVUZeEdmKPHkyaIg2LJ+HiqrNwxc8Yg1ksRBYAKBbPptLsIPXp0T5ja1SU
389
+ EUkyDaFclzZnAfQhB57+0VuA4/pIJcLV9p1avjw1PyrHqV48AGB/NqWA/+4kXEkZ
390
+ +DrrY1D7AgMBAAECggEATrtKGsS6S3kHWd3zyf4SHN9Br8hFMku0ueFxRDLXxTaV
391
+ f238KX2MJ9fUtMshDgPP8rjU60miyPiyOsMD+MrTrrYDo6DO+uDv5vx32TnEjhhg
392
+ 70txrWmh5mDjDk5j8NjTnjAyRK4+jeRGAkfof8esKNvhtj1gXaEMOAvLmLVx1HjC
393
+ xaVUJXY2QtBJiJ89DEYdjiNwMZvJQ2FjTBk16d7di/Ntgtokm0hJfb0r+To99q21
394
+ 67yC7QCrPE0slrnWA/Ks0WOaWPiEuG1H9PLvlPqUgByIuRbSezAJvdmBGH3EaABL
395
+ Ir2uq2sRWpb6YbhMJV3jlorWzzcQHGzdEU5FxnOacQKBgQDhJpCkfQXdZTtpAwHD
396
+ pP6NCtLAmc2URLa6DINKstfsTG7W1WCvPjIfMCsGDXEfIqcdCZouuUw+jBwOEK0E
397
+ 75gL6P6AZqT1Rtp4ltHi9xW6/aAcNDVap3XC/GhXUWcI021r9PAoqhB8RlqxMSrb
398
+ 3iL2StulaHyypHrV0SwoMBX85wKBgQDga8oDP2OHdWRe/hWWC+hzd+eeHH80RfN3
399
+ nVNwEWnzXMPfMfUYnfttQwraObYkVbU9grQDJUQlQD4xYQhK3uU6uMjWzodmTdey
400
+ HRCp2/9Y8D06sbd4nE8fgGj8zUdZUbvahYO1uOg5WJdgph3bXaEpN1QIyoZpbqLS
401
+ RYhqMVRUzQKBgHDZM4Y+Y8IkCzMHHstA15U554hBjpjSGAQIYYX/PdpiNOvY5yzu
402
+ r5CSQ/40no5MgBY9ydnBZkWzVBx4nz/qFvthPK5+xA9sA/SNI4Xu8iVXGfkI8fUO
403
+ Gigw+ttJIat6zU1e50B6fOjNGofVbPXm0P9BZfXx+Q5RAoBI5yj9cQfhAoGAHIO1
404
+ lDoOpFx3F1bDWWBD9b/rbvyB8RteNvmHa3ra8m/79zT6xlj0ZEqba2TfzrgRIjKk
405
+ Oq4WfYEvJckFa7XsfEyUQC7Xp1kGqfvlbR+lzyAfN4DzJeD+cKs5K73NbfzjmH1U
406
+ YdePshGekkopCwFXg8wi4kcRUv4atArfrVZ9N5UCgYBKe3qSZ+AMQPWR0NkZEyBv
407
+ Qa/IBU5uMtEG715FfydAQoqkXJ0GZ0MzX5ByhS+suGOotvzXOfK1XwStvYu6rXHO
408
+ WdmtYre5e48lbtP+b4Mv45rb57ymBGrb9eJAlurOk6aK4B4nN1P26zVQAuhcfF3M
409
+ DD+hIL1erePro7W8CsCb0A==
410
+ -----END PRIVATE KEY-----
411
+ """
412
+
413
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
414
+ MIIDLDCCAhSgAwIBAgIUPDgBpxOAo73yMiUGMFNbK0SvFvwwDQYJKoZIhvcNAQEL
415
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
416
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyM1oYDzIxMDAw
417
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
418
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
419
+ A4IBDwAwggEKAoIBAQDDT7pUEKAS2A96fkLb1IfDbHZCpOTUgKk7+uNQXTKarZv0
420
+ yys2/K/StPGJ3+mFlN1+dqubVHUILhPUpfFNHH3zintDsCjwu1GPKRuqgPla9ZAb
421
+ zBft+KKm2CewqvVotYOcfIAUqZMmfWuyxZFL/ITJqnJKHqYU3yO8pNO3k9c9tKVe
422
+ AVLlarcHJitjSkKz+s+3XRJYC/x6BsguRiNGSPVPAM/jV9PGhaQqlhWtQT0/kcEs
423
+ MRICpIPiPd01bX9NWbSoEbCVN2mBBxPi7fV4V2Y+xkdjj0QtkLmJJTnatNNK9UjK
424
+ 5npRqHyw1ogyguno10Jx6e5vd+3hWiJlBOzpqiT1AgMBAAGjFzAVMBMGA1UdEQQM
425
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB5xd/q0Z5SfPECusnXmAwF
426
+ X48KLYhjc1/483R1gz2Vy1XNPWzDDs9I8MWD02BWr0dMMuhV6iPFmmQcJ76ejJD0
427
+ NMtBpjDFfCknFuMavbog9ikPEXhL3EtzXP3jC+xsdvYwi35hkBgGs5hnAkheKklp
428
+ cjRurmsBAHJBlEsUc2C6kxq8FXcLM+WzJJYOitzE+fpyxrmeOIfpUd8Vwiu90Ta0
429
+ /w1mGD5vlXBTiFCwLEc2fVR7OPm3QxKvJ+eUdLTh+X4VgJ5vvdiqCodgAeqDZw/Z
430
+ x4hOnAEktgEqadUz5t7fJzxuWWpNTL8OQLJgW1cE/Kt/P8F9IQ5rC7PS+XU+Ds7U
431
+ -----END CERTIFICATE-----
432
+ """
433
+
434
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
435
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDDT7pUEKAS2A96
436
+ fkLb1IfDbHZCpOTUgKk7+uNQXTKarZv0yys2/K/StPGJ3+mFlN1+dqubVHUILhPU
437
+ pfFNHH3zintDsCjwu1GPKRuqgPla9ZAbzBft+KKm2CewqvVotYOcfIAUqZMmfWuy
438
+ xZFL/ITJqnJKHqYU3yO8pNO3k9c9tKVeAVLlarcHJitjSkKz+s+3XRJYC/x6Bsgu
439
+ RiNGSPVPAM/jV9PGhaQqlhWtQT0/kcEsMRICpIPiPd01bX9NWbSoEbCVN2mBBxPi
440
+ 7fV4V2Y+xkdjj0QtkLmJJTnatNNK9UjK5npRqHyw1ogyguno10Jx6e5vd+3hWiJl
441
+ BOzpqiT1AgMBAAECggEBAI72+Uk3sjSY+xuK+J25gHdIGXjHAsmaNEa3a1UUI0qd
442
+ 8h7J6SQi6wCtenCV+nXRdiBv9UWKGPCX6eQqY+syA/AVWg0+EXnFY/oK+TlhlyVB
443
+ wu7WAl4rNcQzTTpAqcqvs1sEtyxoxFHUVNVTUPvyJ7EGlwoyTRfSDnKzpFYoXdHH
444
+ 8+p1wOcfvWGVkUpRVopV5e890AX4mjYPtG9rc+S1EyMHVzcm1UjnAa++QiznSfal
445
+ mwiSHzyqHBlG6u8mJj+ZRLKLYKCciQsktA6TOIyvyA486ZHPLWwNjd9RhqgjdydD
446
+ a9rTOouDwaRAN8uDdRuKsVhdyFpE+ShhFLB88amdewECgYEA+8WUqPOHgCehvgKB
447
+ g2AqdkdN4McRjmIZAQJtwVae/1Mn89qlFQIw4+Nbxz9LFl3Pyd4G36nKXnudWvC8
448
+ 5Y7hDpxwmvVr7Vrotz8HEv7BTDp8LGN9A3qzdUsqSsAvGCZtaOEA4AIM6z1SPg7W
449
+ WEvFuE9K1pIAyHudzs4A65uLbQUCgYEAxpdpjP7MXyVCdBTM7TOD7hVtLttHkp+M
450
+ ugxcXgH5Mn+fbWglSMpI9FNwFma9JLG7Ye/wOPiC7FNV7PGKz6H/o0V/TGs8PvPG
451
+ oo0xnvVuzNHSp83MSQyLHiKePXSBQI+GAD2Txu4sWbekgAn016IQgqBlPgf1Mi0i
452
+ 0sJ9ALyL2zECgYBfr0CHUT5fAzDiMLud/U9F8mVzltRiQ3/zNUQXJV9589WMRL1W
453
+ laWVBlRcDf7weii9NIdyO2owrFQqOrHfoISB9AyLp9gjtdgZxHdgzbcSzGtix1C8
454
+ oMZRPobNL+r2B6yvHkwh1kWopX57HVJy7iEvodr0Xzqy9uALt5j78fp0LQKBgA4N
455
+ FoXIXXN58mq+MgWyeGo3D+OZ1kWUjmN3jm2EXDprdz9JeCHfViwbXznmiQl4ndZ/
456
+ IJMXWkQYXWMHcBfi0XCe8TPZ/ohBvVMxBErH+M/7JJmE4Shl/83hCysz/BUyUnvf
457
+ 333ayj6K1NPOYImFSP/FE4TBEWM8eFNLOYb80DRxAoGAQTX2Cls67t/7r+YFatLo
458
+ BHt4aNnszbBFqnsSiH0zZVX+i7e1XxnhsdapwsEVrYdbcT9CCHaPPar5patEqVsl
459
+ /Mf8S2hCnCRR4poOc40rk7pX+RHVU0GdSsHT4L6eC+4R9/i5OTfOZoJz5rTgddZe
460
+ G7NK4b0sDhXu3CaA2j0CVKw=
461
+ -----END PRIVATE KEY-----
462
+ """
463
+
464
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
465
+ MIIDLDCCAhSgAwIBAgIUIDNyJc/WIgjFdIWtYp9/dZyhDFwwDQYJKoZIhvcNAQEL
466
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
467
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNFoYDzIxMDAw
468
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
469
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
470
+ A4IBDwAwggEKAoIBAQC/em2gGo4JEdff7eRAMG3two7JlNvEzuTn95dcxWo3Pydz
471
+ OJ83gPrGCM93zBvxsCOppyER+c34D9toxAvu5N7S/68eGOPlvbqS1aUJtMRXIoGg
472
+ ghIlz1w97VOmQ2DS4PZX1Yw+563ah0T/kmKvrJ6Ti8MOqvJ28GNnDObBP1hSfezu
473
+ /iRbiaGJUF0wRULFaPX8uNnOT8oxDXzsyBRKmZLN/O3bwbpX3hzIK2D7BBpqUza0
474
+ AuO4/zemr3J21QFu4rD/Wbd5/zX4uxSOAIXbT2haDT5KZEUYQv2jXbHY6+tzpMRC
475
+ v+Bb3yAeFGt6K44fzqi0fj1pzoHZQ7pgqKwRKA0tAgMBAAGjFzAVMBMGA1UdEQQM
476
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBuL8MMR6mTzcL/0OOWVnQ1
477
+ phT2S9L1l6VmsZYK0/+kUNRphtglqiUg8TuHDUvXY6Bq5r+NY9De6ZhJMhsVYt5A
478
+ XRkBjEwIPLC5+JZi8iv9uip5qyqsfrt706zGz1NfVIk6pS97Nssj4d2WkdB8BrD9
479
+ fnngf6tnQJX4K7fhE/NWcE6YMSBA4GG/JvpH9ouJx4aN77zF6PKyX+iO3GDHXqNH
480
+ BAdEbHgr4pUPZuUg6c2x4T20NKnMNkx7C3Tx7tp2w49VamUwnwvm7vuzjajd2st0
481
+ q2O+l3iNwRuvzL+KaDhqexf3shDSCxuYSaInne2XmCiJjVW7QRfQmyA1LiUk/vfP
482
+ -----END CERTIFICATE-----
483
+ """
484
+
485
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
486
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC/em2gGo4JEdff
487
+ 7eRAMG3two7JlNvEzuTn95dcxWo3PydzOJ83gPrGCM93zBvxsCOppyER+c34D9to
488
+ xAvu5N7S/68eGOPlvbqS1aUJtMRXIoGgghIlz1w97VOmQ2DS4PZX1Yw+563ah0T/
489
+ kmKvrJ6Ti8MOqvJ28GNnDObBP1hSfezu/iRbiaGJUF0wRULFaPX8uNnOT8oxDXzs
490
+ yBRKmZLN/O3bwbpX3hzIK2D7BBpqUza0AuO4/zemr3J21QFu4rD/Wbd5/zX4uxSO
491
+ AIXbT2haDT5KZEUYQv2jXbHY6+tzpMRCv+Bb3yAeFGt6K44fzqi0fj1pzoHZQ7pg
492
+ qKwRKA0tAgMBAAECggEAHyviHtdT2hwihZzntJ9ttfAfaKeoI2D/GNhQttSYlwfb
493
+ 90D3goSnzodupvT+c5kWJS9FDfUZ19FVCbgorSprL/RZ4M9yglshvXe0V2ErOXgv
494
+ nB6wr6ETRi2VmZKMd6gR0ni8TR1QSywMSoLdN/YlFqYBCilAMaaut/78recPDNaV
495
+ Gv5RxAXoy7Dvm8G9hWR+QKIiaJXygaVdEnQI/z7Rc86aBxKYNwYz+pbGMM1k2gq3
496
+ lIHHzfEy2Jx1RO9QoEi8OZIyPZXFOww9tzJ6USdyduIb/9KbP+1TyyCC2vCEi/vM
497
+ Jk/TZMkEVI2YT6itkWYdcAgGwN9b7bu83zDvkH8RLQKBgQDh372ak0O3FymG6eOe
498
+ h6DAsMHs4CkZjlIAIK+3YddCJZeX0O89JTm0Ct4l0xXo45ORPAVMZCE4Q/S5J3WI
499
+ OubQNS+1SOCs93knJUCUzIylzjPx8SgH6OSUOhc6aqc/W33D8YkHthfYojypaxP+
500
+ q80YJrpc0EQWWnR9XM7MskBGvwKBgQDZBEa8ES1NMaLh974DwuFvaLNzhgeEwlAF
501
+ klx5JPE7aE34HFLOW3J//tAzIL3yxQZ86YZs/MhJlP24V0DRldmNqh75uhrkdAl/
502
+ VbF8BSUA7LnR561373T5OZD+oV49Lbcib2Z1fJHQ756IqEx8wmeR/WzzFAHYt5z0
503
+ bsCWgyVzEwKBgQCyhbo/7+D3VtE1lqqW46+EXLAJXmpdjoT1IOCA2k3eNAQKs9JC
504
+ y6c9y9EkqB+LAEPj6EJvzDwNUnib1rooQBWpvj/E0qLxUm9pJyJR+RG5Aq8/rFDt
505
+ X386QGeXfjBN/Sv7sG2TsLJMQH4dkUouYO8rBYEKVnlaCYhEhRPV6ZSv1QKBgAky
506
+ FjE35RyFQuqiTcnpAxZucFQv1Le6aBukVQjJGPO0esFNqfCWjWaBDJ9t/r5/vMOk
507
+ PY72syHzD0E1aUi4Ocy37bIVQbh2dkSQBAJGUYgVf9Y2I/KWEfXRi6ROgCjFfCIY
508
+ aFYIHkGlNamCwCL1NeBIxcoTCfT96sesvbpi+j5DAoGAQjZ7pYQstPZ5sEr/H2nG
509
+ PzDQh69XSgeDcyyh3bSLDWiauQLKB79O3X4AFMrvGGYw8skcPxmIyXyyMQpPHw+Q
510
+ Bmgp19lXRCv4EiEyd47dBMtx1mK4huNv0yjdC87PPEoqSy5vYmM39U5EpOoy65IN
511
+ At4QG2/6xEa2RMcmsW2erCg=
512
+ -----END PRIVATE KEY-----
513
+ """
514
+
515
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
516
+ MIIDLDCCAhSgAwIBAgIUMqlg7Aqc99ifdKynHggljrPnQjIwDQYJKoZIhvcNAQEL
517
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
518
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNFoYDzIxMDAw
519
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
520
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
521
+ A4IBDwAwggEKAoIBAQDr7NWQ0b8tQSlXzaa41vexl0Zc3WrfF8aw4mEaMcXM6lkO
522
+ hX5QLZpuTCs0RGwLXVAuqEcbQqA7GIbhq/ch4c9PSkh+yBUOB8SHx3UanMe9sH7S
523
+ 80rZCX+8HFMVMce5mMEPIRA7WmGRPf7+Fh0yHMAaIsaqDbI5f9DqLdWE+FsrFrdC
524
+ kp0RYTYQsYEl3YEPJfcYbfrX3I9GxKLSUX1iKsMlyohrFSlw/t2LlG1jeuxd5oLR
525
+ L79QY35LkCAsofDK/lThovM0qqnescGx4feZsLMCL4rv0td2GWNhA+4UofhTdul0
526
+ zRcaDZVrNEhCJk0RNf4wXtidqJN90Sf3dvIjx1qDAgMBAAGjFzAVMBMGA1UdEQQM
527
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCWj0tol4kMluTkz+sGjfpU
528
+ xTnbVkoJhaOVI3tdK5+Z8WkCS/IlFLFoHX1I5CoAtFDUTCrp1tU/5e0BzA2VfLME
529
+ B3+qgLQF1+Z2Qy+OBTRToUuOSg0n7qSQdG5zIsspKwRl+iobFKaxqw8j218/NKaa
530
+ +RJTdhRRrmrokiBxpz5AJK1WnLjYe65N/ZdfxHYoBMDtzrkCrPsoZQpHaUf/9K0p
531
+ v0tv8s4nr2NcAZrQeALoTvR0oJ5QlmRxfHY6xC170dLV9KHJTbV/FXXFmFQL1WkI
532
+ L74vcnYPvpD8tdY3kD8AXUFoYNb3sjjjmM5QS1pYva9PQUiuHqr8MAqAF4sHvnLF
533
+ -----END CERTIFICATE-----
534
+ """
535
+
536
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
537
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDr7NWQ0b8tQSlX
538
+ zaa41vexl0Zc3WrfF8aw4mEaMcXM6lkOhX5QLZpuTCs0RGwLXVAuqEcbQqA7GIbh
539
+ q/ch4c9PSkh+yBUOB8SHx3UanMe9sH7S80rZCX+8HFMVMce5mMEPIRA7WmGRPf7+
540
+ Fh0yHMAaIsaqDbI5f9DqLdWE+FsrFrdCkp0RYTYQsYEl3YEPJfcYbfrX3I9GxKLS
541
+ UX1iKsMlyohrFSlw/t2LlG1jeuxd5oLRL79QY35LkCAsofDK/lThovM0qqnescGx
542
+ 4feZsLMCL4rv0td2GWNhA+4UofhTdul0zRcaDZVrNEhCJk0RNf4wXtidqJN90Sf3
543
+ dvIjx1qDAgMBAAECggEANdQ2sjE5JnEspqz0ck4R+8IhOsUGQlqhafBs6VYb5HI/
544
+ 2ZFZzZ9qEeptHSLTaBBlYA/jEXQ1LOaet9TNsTxdWaEAQ3URYL8i9zvqGyVUaZJg
545
+ jW8XT8fcDiaESlyuTkltGy+XDYPEqSf1CzIufSWUKyJuI5S2amogV54Xjpw/6Od4
546
+ xrIvDgIJag5IM8dxUtx1wPjup+RMkqUbzewBWEAvKJNstKcouPS2QB4gyIJ5xBsV
547
+ AN2nmxx6ZGBpGxxDV0aLWppftmPUuojFkEvBD9yoQo5lLHhqnO/tTpTxZJnbjyNR
548
+ dPEEzpHFOgCdgwhO/xP+kNoHpB6m84HUTzRF7vI24QKBgQD5FRVrhKjqBgFihcsU
549
+ 2+CZf9hQM4IzQPaVs2ZLZZVmOvpUe7eYY/9Mjp0Wcn3g7wXGyyPYSLgXjyKxddPy
550
+ 9qDczcYdJtbOjlxER1aZdRQza9CKxZ2NAcyREEsc4ADEnQz/eHy67mNtB5oqIq8H
551
+ 05T3ZbsUA8UhQ7MndSswVdn/MwKBgQDyejSxfIomi/OWG1yEgYO1Dml34h+yg/Pp
552
+ 513YbQmnevTRgk+6GnKK9vezahNzTygSq590T45oc1ggZZjBumDh4OrRax+7XG3v
553
+ n+cpJSWYgsqW3DKrhTkLHJ7c/f6XLn9oLMpdGiQGDLO4iXpaBKccPvZHiOIKhs2F
554
+ xdwc9193cQKBgQCbWtcdVIS2UkCS3rgnrmyL0P1uKHJQ3XfvLxHifN2OAcMY5oFA
555
+ fz5A1cKMuaRhozOLJjCZOeH4b8JHxSIJLGJw1bd3fz4DXy+VNpmA5VFQMTLFGzSF
556
+ OlYJNIxk2iIgf4QX42KIhR9mZZN2LGPXEdSb6cuhVCij8sHPHnltkF6DmQKBgQDP
557
+ rD7pLGMeNItBqtmIW2y0a02FcdP4Du+fC5viuzCjkrmPnu4t1Gz5/B+WOGnEPq1x
558
+ oDAHbAPqDbASvzEf60MC8qHrDra0v6sgqnFPWhNjFdHxd1KmeImsrKybVabxUM+q
559
+ J4KCTts/my1qBcUWyBlgJcTE68W9gksQIbAt1uia4QKBgQCSIvXD6yeENloZR+YD
560
+ jUlsyICn59Z/p2AF9OJ5jY8t4HY8c4hBHoMzdxfRvGy4USq9NJ6vr/w5y76rnMCo
561
+ SHljHFE+JDfN2p5gQw8ZRar4Ia+0pjogQ3nQhN0dBWbNtETBf0XnCJhfLRXOOHMx
562
+ td1Mrxelh82bfgHW19MlGD1nIA==
563
+ -----END PRIVATE KEY-----
564
+ """
565
+
566
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
567
+ MIIDLDCCAhSgAwIBAgIUO9NYo6D7Fn6nsq5uHYKUMvoi2dwwDQYJKoZIhvcNAQEL
568
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
569
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNFoYDzIxMDAw
570
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
571
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
572
+ A4IBDwAwggEKAoIBAQClBJSKiguayx4ifSydXnEMoDWK+HeUkK/38DBFn/psx0fp
573
+ joXEUFXWcDba1WH9RtExs7PYD2n4w4BPSQjz6yIh1oNWc2HOpyHl0Kk5pL68yxWp
574
+ 3jFzAJQHJGgkeRdMH36lUQwEnQ3U8a6YNqd0j5qp24p2qyv9AGARvcrCgp8GeyS5
575
+ t6/tedqzzyujUNiOWzwdfCsdKo7Bv6VbPtx18b1EDQylQefSg3yxLXDgZEPlFPkM
576
+ 91/B/p2Om5p2Xi1ybITT7dgexHqqVo6bPzL7mYUZKSZ+dYZIb36mTxY7GWDf8ifE
577
+ kMO6+/8Wetwn+hw5ap4mzsAJGZU1a0lUOsQa+T1pAgMBAAGjFzAVMBMGA1UdEQQM
578
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCqtpCsF7eS40VB/wdjpn2o
579
+ jxGRfet1uP4QIAA3cNwGG4eWu4xW5lBk4duE6DXZYkD30qZYjHEsIPkefEc4sni0
580
+ O3IDSeomhw8Ek/GCgPdk47JF0tJEKRIe4hjMGKI3H0Gmczqp6F78QJNUvn5n/nBH
581
+ 9WWefV6sMsBLJ56CKRoakwYJzti0aSbAaaT1f/iwctTTxg7Jg4begI7XJyxTvs36
582
+ hwnNCv0+XSol4rerpLVaMm2IKbzfpCHygqxUQ/erch3NJ7mRLQgT/biYM1atPLAF
583
+ b1BApc+IIrwDbDMeZd9DG/Ov1Kbns+3Lg5H1eNXhCf1DW9HQNu0Z3XzbARmxxQM6
584
+ -----END CERTIFICATE-----
585
+ """
586
+
587
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
588
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQClBJSKiguayx4i
589
+ fSydXnEMoDWK+HeUkK/38DBFn/psx0fpjoXEUFXWcDba1WH9RtExs7PYD2n4w4BP
590
+ SQjz6yIh1oNWc2HOpyHl0Kk5pL68yxWp3jFzAJQHJGgkeRdMH36lUQwEnQ3U8a6Y
591
+ Nqd0j5qp24p2qyv9AGARvcrCgp8GeyS5t6/tedqzzyujUNiOWzwdfCsdKo7Bv6Vb
592
+ Ptx18b1EDQylQefSg3yxLXDgZEPlFPkM91/B/p2Om5p2Xi1ybITT7dgexHqqVo6b
593
+ PzL7mYUZKSZ+dYZIb36mTxY7GWDf8ifEkMO6+/8Wetwn+hw5ap4mzsAJGZU1a0lU
594
+ OsQa+T1pAgMBAAECggEAHzRrhnsuUJpCW5FCI4wdYp7VIS91JXHq5L7V0gS7jWBt
595
+ 19usrf/nC4LyzJT3T7bZjkWGJ8BacME/fT65Y66+KJnxAiMVhseSIGxB4/WkX/0j
596
+ Xpj2zuF4HJWk3+jKIAoAn/BgjmrIl9EQDBahuegB/kbWuzQJQHGWuSQjuH6M5eOL
597
+ oT0R61buQcj2jC9lGA0wQRbZ3/joWHvN6mHTSHxLr8Byxp4bR3lavsO2m6vbxFI1
598
+ R+JcnWNxxpBOBJCUT8K1O4PpPcIRt0+Mi4vEidH4hNW6xVCZqi6HVVnvZyIcVySA
599
+ cyXMEmdQmYI3qIsQQoe0TAng6nlSNHvuTFrrd0ZzgQKBgQDaTYvQUSxEmdea9hKH
600
+ ssu5PoAf8WwJDqxLtIzDcBNkFG5UUUSguWTYUc5dKtKwBkO6ZIUIrw0rT1oZk6Zl
601
+ 8leLwLwES8ZOVthADhPaQCqQHeRzeOmrsPqvZa5W/QkNK94kfGPXeWN8Slo+Smob
602
+ +7amvlAXZd9Xx7yiC4jDOlbtUQKBgQDBg3p9dicsSEu206qSjstD3Ks219Hu4D+7
603
+ xGfSnjioDYNG4SPOCYK9kkfvA8lSQrbagwYb1dwVb5INlPlTcXomdBJ5tI8XdHTJ
604
+ em1X6hYwBdGg174SLwLq+fST105eynkyx3p2zCIQjFJ/2ybCLPjB2bDF6/SM64AJ
605
+ Fo6EybTomQKBgQCY3MIxfhW0d9GM9hBlqyKStZw8Qe53rSmi3WvQErPRWakkK8AV
606
+ l5xxCV+qx6i+j7RvWaH6QbHECQ27aTOUoY0CFFTT4UecZZ2JxRHLuzDSt8vXu+xM
607
+ SGJR3a6lxQvIiFZGUEANizfJubrVcYA51hnBSvSEXdZ1/iwtgEwlAL4L8QKBgG0S
608
+ OVk73mqEOUDMXykKGSGf4FUiIi688M9ZrZc2HQMD0smBnpfEHo/RQoBCpxeZiMzy
609
+ 6t+Hk+v1HeJP5JQWst23sK4uijSTLDxfp//UbjsVHInG8Ff5bXCaADPQOFkPUG7B
610
+ ppINDuo63Uk5ccgiZveERrHYA9fl6R22PBA2TKSJAoGBAK+tZOCWqSzmqJICmsQl
611
+ 25dkO4TxFSnKKR9GDJOG33/InVkuuiPeDTCJyF1FJtKaPoXd19QNgplYR8UDyJ1P
612
+ 2cYO++vhhWa5WZqVzYAcO6fX5KJjrWS0ZgSNYG00qvTQwajUuiMZpo2n1G7rDmjw
613
+ B7u+xtbWWSeiabTmRwQsQ+MV
614
+ -----END PRIVATE KEY-----
615
+ """
616
+
617
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
618
+ MIIDLDCCAhSgAwIBAgIUKrZllgClUfhW5LVCxMSaWdpORVUwDQYJKoZIhvcNAQEL
619
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
620
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNFoYDzIxMDAw
621
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
622
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
623
+ A4IBDwAwggEKAoIBAQCxiqJHT5HiXBr1CxICYNvxLMEOaxEV+k98RIt1zrjrcfCk
624
+ GlQX8Y4nqF2gn/7s0wgW2lkPAjTnFH9r29lFzTx6sVqGuTal5efJiUqDxMYmWkuw
625
+ hVXcqSc0ocxKtL5hRikp+UifMW6YUQr0XDBrszSvVZRKiRtcwGBX7CUJ3pR40HxH
626
+ hdzF3K0XnqtymKa/Dz7egwpAms8EH16ndvNgt0Oy74iLLqbLSYIMqtRe99V7kClM
627
+ QpDpzQX47iQyxL047xpS0nArTgOfE2wCL+4lWa220O9TZf7Mon3XtX7SJb71lEkj
628
+ iNsQ++9S0vzM0BcWGeV+Y7H0MqBmbI0sYLltHG4dAgMBAAGjFzAVMBMGA1UdEQQM
629
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBWXFmtsc6tZu5VmqMEjOZ4
630
+ sPaf2yJgEDaPv70R8SiopJSXHNbn14+ksehjdLa4Z3R2QhzCicVMnhvovtXeXUi3
631
+ HuOnF6X5Xrk92wfw+1WW8DUsCLFFAjXggRxU5PDbXNafMSoP8005Jt7ai9S02JD2
632
+ yrbE1tgvCm4HYoliURCXh9//w1fen6D3WddcHuCHLYad5bHnplOgvtFobJaG3FEA
633
+ Px3wWmlv2hH22gQf+zGHkwVOd8Z+G9eSCl+wABRGUm4ef3n94DoqE1GqWJ02fHBT
634
+ hv3YRFiVH8A7AtBWyY3sdH5tgaO9uCwNiQ0gL64UyKS49F8jT5ChVTxidKyoQbWB
635
+ -----END CERTIFICATE-----
636
+ """
637
+
638
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
639
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCxiqJHT5HiXBr1
640
+ CxICYNvxLMEOaxEV+k98RIt1zrjrcfCkGlQX8Y4nqF2gn/7s0wgW2lkPAjTnFH9r
641
+ 29lFzTx6sVqGuTal5efJiUqDxMYmWkuwhVXcqSc0ocxKtL5hRikp+UifMW6YUQr0
642
+ XDBrszSvVZRKiRtcwGBX7CUJ3pR40HxHhdzF3K0XnqtymKa/Dz7egwpAms8EH16n
643
+ dvNgt0Oy74iLLqbLSYIMqtRe99V7kClMQpDpzQX47iQyxL047xpS0nArTgOfE2wC
644
+ L+4lWa220O9TZf7Mon3XtX7SJb71lEkjiNsQ++9S0vzM0BcWGeV+Y7H0MqBmbI0s
645
+ YLltHG4dAgMBAAECggEAC++cFVs+HY+/qDXEUjCc2Mv/dq6wCWA4s8wP7C2ntPyG
646
+ ByJWAP4WZoglM0VOaDGP26l2T1IAqIBySJgRNWYk6MK/qUsOZ3zbZms6fT1fbPip
647
+ Ggb8zMb6gclW6LbaDcQfxFikDz/NhaP9Lox8HOGBa0A/pfstwcCVOZQAsXcrWCvf
648
+ T1ilX5fViLDJERTqbNzvYQtcLplRZyfeOesAfgndQR5ZLh5BmzrXZYkLxMyznTaM
649
+ 7l6gNL6qh6/+W39rRYIesHP8MTBMTj/MhE0XI3cWti77vdE6ydQLHMwzvrLp9/o3
650
+ QyDR3TP8+sL1C+PMOokZA5LEx6tapOvA29xKZJWcwQKBgQDmEAzF8eh04pQp+TFh
651
+ 8JxvWrHg+OPtSj+Dfg8kO4VbMnTTaZvpmePETB1aHsUMA3DLCiNJK9dKvIXIrnhF
652
+ HzIuOtSa0HPGKJGLy5RESx5fozGIE79l5AK34Z39Un0+lNWyuf9fjGayjNcEErHN
653
+ yocoHsbAM9JmPMDgcWABCRCoKQKBgQDFjr7i/I49/Km4kC49nVSzC7vwzoqbgrgm
654
+ W+ImPRzMybYv7tMEOWO6tXzI0H91V3WVhLvGcTa7cqUhU9qo2lNHvw4uTMNghmve
655
+ WSTRcjb+wDR/uK4djbQN9aq0zxqxP52DZIkTg1AzbvNEcY6mWy8P1xWpNsf67mID
656
+ cSVPaBzk1QKBgQCpBDOOHMmNTYRSTct0y4Lx3+x8ff1dL8X3gV34XW38cNYZFyY+
657
+ +Rq29MA/nAlhaQmtcNY5hGbXdibHJz4eceu4wOm+jtPvSZCb5kUX4yP+WPMjqHZd
658
+ kaRZmPwrxjVTC57vfevaM1ijZgr06BMOP/MJi4qyW6AAEjQU79X7DMDa+QKBgGP+
659
+ wLf7xbOyc+WrdPxS6lBGHDbjFF1qaPNhhrJ8NFujrcfNRpnYwpX6ztKGVj16q1Wm
660
+ /bSQEXgHq3WXEBJvj7+9ANyGlk4BPBArZutsuFFx0CDlxZvH4d8+/czPF1+oJ34e
661
+ IRPzX2DpQ9Dc+atSdBu8boZb6BUnHA1J8+yhch6RAoGAZu1J9fqRkVXdPsPNtH/l
662
+ YbD/jwqglB6VCzLEjHHKBNNu4YnpSZN/wMNU7lWF0yjMajNGf3V1qghPu6xqqVj6
663
+ 05xIC3C+PUQvYyiyFxKT0kDMLp4Bbxljr50aqYs/b22fx4iRq/BakJ7SyKdUZ9ei
664
+ p0weDMN6dQd5dKE+pUZYYpM=
665
+ -----END PRIVATE KEY-----
666
+ """
667
+
668
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_3: Tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
669
+
670
+ SSL_TEST_NODE_CERTS_AND_KEYS_3: 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
+ }