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
+ MIIDKTCCAhGgAwIBAgIUS+xy2kGNomsBGfU0DEELWiHoSa4wDQYJKoZIhvcNAQEL
7
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
8
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMB4XDTIyMDMyMzE3MjkyNFoXDTMyMDMy
9
+ MDE3MjkyNFowRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8G
10
+ A1UECwwYT3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMIIBIjANBgkqhkiG9w0BAQEF
11
+ AAOCAQ8AMIIBCgKCAQEA9wgpBPIdclPot8ydp7C8EfKfZXve31sim/LBU9nViOTB
12
+ 2vZGWcnwmb8bBg9gAaCCeSRHF0FqEmU0hUMDD7AY9npBpIzA4SUjUL3++/kKlZa7
13
+ Yw6kWJoogcVXpCYvubeslpReXq7EhrrCwE83uqJ+gmz+pGkEaEoED42mw4xvNl+K
14
+ 8B+nfYJ9aYlErX3JjQGtby+RWUw9aH3xBDDZ1Fss3+289OQ4+4KV6jPXXKZgniD4
15
+ exnpss6LqdVhuRt6Wuhol7eoWl/kpcQfQ77fHr/8xTW1TsuFrHjsgJUXqGi73OuF
16
+ esOaijmYCLkgklocSND0LDeF9uzNjKEOXl86iHpOKwIDAQABoxMwETAPBgNVHRMB
17
+ Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQDeZ8UXHc6TqZGkvrFIY6U6ycHP
18
+ YSH42ihMkqJApBYWEpb8wFM3vAJIOZV0BBYguat8/7gApRGiy+xnq1TFDJiMLRPu
19
+ Q1yDWbYXM1fsObgyh83K8ZNQ/nFr0w5o+HcShkjia6pWaNsX5OErrJ57iJefaADU
20
+ xnLvxHXPDvwvs9f1mLZIZgzYtv3go9oQVOCgeIKOyV7cFUAAgIeyOidcoQEN6Gvy
21
+ DzlkZdmRRkvvIddDG0kcURmhMJzqg3Tn3hmG29wzSbsw6LK9kwr7S9BKNv/bgxDi
22
+ DOLVn9LP8qDeRA7zQtbneTtcEU6saUQT8Q9JLyvGUjk+Qgwdj24M79L9s0MR
23
+ -----END CERTIFICATE-----
24
+ """
25
+
26
+ SSL_TEST_PRIVATE_CA_KEY = b"""-----BEGIN PRIVATE KEY-----
27
+ MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQD3CCkE8h1yU+i3
28
+ zJ2nsLwR8p9le97fWyKb8sFT2dWI5MHa9kZZyfCZvxsGD2ABoIJ5JEcXQWoSZTSF
29
+ QwMPsBj2ekGkjMDhJSNQvf77+QqVlrtjDqRYmiiBxVekJi+5t6yWlF5ersSGusLA
30
+ Tze6on6CbP6kaQRoSgQPjabDjG82X4rwH6d9gn1piUStfcmNAa1vL5FZTD1offEE
31
+ MNnUWyzf7bz05Dj7gpXqM9dcpmCeIPh7Gemyzoup1WG5G3pa6GiXt6haX+SlxB9D
32
+ vt8ev/zFNbVOy4WseOyAlReoaLvc64V6w5qKOZgIuSCSWhxI0PQsN4X27M2MoQ5e
33
+ XzqIek4rAgMBAAECggEBAIfHjnRPd+v9Pu63ovgm5lifGQm42jm+Z/l7ptOl6f7C
34
+ beMidmyn2H1JU1szXDvIs65OSFz58YmG4yVUPfyDeFURwb7mNqYJua2JoPtyWWT7
35
+ YqgBxkeFBDq/83ogGx9jW5OwnWZBfXfoc18sq58D7bFWo2hO6MNB25WI8F6PdBlX
36
+ uhtGtw67JwXRI9tdBp1sTRwQQqjaG19OBwdHQuE84VBBS+VXt+dOBS0JdkCfFEW9
37
+ yIsAFRndIfBKzAGGFZxtabNplDHN8IU52kU68GT7GqWlKxr6maAn8ycvs7RvjL0k
38
+ B0uVN//D3nDmDIkw6+fsHcsZ67AhkUdzG90JAyOWTfECgYEA/X2lyNnkqfYKFBeh
39
+ 47HjiY53hqEBlc6AOCzWZHa1E+12Mfbcyp8Lcto62f1oGlbUDlTIlEc04iUFCepu
40
+ 9BxccVuLUokiz8vXK/rfx1TOZnJRmKG6c5WGktAJjkoWp6PnjgFoslJ8E77EriZX
41
+ SHEOIOTL1arMA/uS+ZF5EYIqq70CgYEA+XolQQ6+EGRUcBLcWlUpsSS/1wgUuhj3
42
+ Asjz9qmtwS9ISCfcuYskpwNq40okEpee6RehdGRZhJT4Ks4TiTm8O+izw7wosmoM
43
+ Vl+s80K4PPyER23nYMjcS7zyiSd9du5KG35wnThaODLIh/mcMq8KAjta+24EuEaW
44
+ aH0ZGa8ZzAcCgYEA1zjF+Gkf3zoZxoNmHSec8961FuY+rU2dyZQwFy4+ggPclYFu
45
+ Zs5wbvxgeVLQ/4P3GY/cmSB4AwXBaHDV8Ybe6hP6j4IFv33nW9zuAJS9hXfMVZYC
46
+ 8z3h+2aMpnW7FGxyHjyOAtFLrYwL+3xsIQJ0J3N6qRgRjdQcLq7XpwjoZ9UCgYEA
47
+ miC9bWEXSXdCt27flitxM5DZuJa0f3i2+pB+MNEJmQWGKZX/Bt6RCWHSIpQGjzn/
48
+ IlDIHel1aLTEUWW5qhjyUyzkCrRvjDJ6Zs57QlrhCkST0LF0tlXBzETyrouoNtbn
49
+ D+9g0bEkA/5T57Xtq15614AmKJoC7nolqG5JGJYWYPcCgYEA+/mnN9vovnX+l7Lq
50
+ QEv4qvL2BMQc3WFb2Z+/grJBuMEgN8EtI2MaOu0ZAI3eDSj8SUs/4gVfGEn2T4qU
51
+ VRmRAAVgxHdf2nXKi7wEvx44KMlb6aTYfs+uRQW6G3ymZ+AysIBVwqd4b5ll9z5u
52
+ +CFwKYdV42KKgp87D/v9+oNDTjw=
53
+ -----END PRIVATE KEY-----
54
+ """
55
+
56
+ SSL_TEST_FULLNODE_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
57
+ MIIDLDCCAhSgAwIBAgIUcVyMMiaYY4UmD0lc+D0TSzOgx6AwDQYJKoZIhvcNAQEL
58
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
59
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNFoYDzIxMDAw
60
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
61
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
62
+ A4IBDwAwggEKAoIBAQCq6EP4SllvUyXjblM/2V88nxkpBwgC9ta7Ndd8pxIZR4Oy
63
+ lnNYiaes3gTVurf7HMAIZ0wHnlzRZghVvpZQ3eKGR1ETKYXaoRzlgwa1uZKGn8/a
64
+ DBU2bhioG31zYIOZ/QDf3ZcUR5JkcybdpY+Yj7YGowRkLT/GGN+5GgTA7tXJRWJQ
65
+ lpHNaIjFgjj5fKB+xXck6OhVHftl+rB2ZPrVgWaXPDBWjgpF1SJnxsbmOK9o4kB6
66
+ bw6zm2wuByZrOYg8ckuIqbJhDjINKesfcyb9qSk77h+8ILj9b11OzZUfX7PhvgO1
67
+ +W9se/RCYtfGgT4nSh9No7l2vA/IkwOnZOK7nBgDAgMBAAGjFzAVMBMGA1UdEQQM
68
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAHcwPIii2n0DabvcPo4Kfz
69
+ iiHQfxOxlnTovNmI3VIWNYoe+ElYkuzKUlwbYEve0dEJwu6mWazIEo+Qexgv1Cs3
70
+ Yn7djsmsC7q8pOvSmw+3t+6aOXGzeANcFUPJTgNIlxA0sucHoWwpROLsndBdqVWQ
71
+ LsV5IwgLJbcUt3tjaIsqfUXabqJMm/KleCd6uDzOuFlW7E1jdUyPomvbOKgc/jAt
72
+ /AxQimzkMt2uBRH/2IyOW1IS+035AxyyCfZgyhJIhf0l5oA6IiIvS47utLJ/DtWb
73
+ 93+WPiBYIgNofNr2qGrDtK8Pm6BjjJtBlFvu9gNcHn0E2mC6TKNg2ppFNxXdX70Q
74
+ -----END CERTIFICATE-----
75
+ """
76
+
77
+ SSL_TEST_FULLNODE_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
78
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCq6EP4SllvUyXj
79
+ blM/2V88nxkpBwgC9ta7Ndd8pxIZR4OylnNYiaes3gTVurf7HMAIZ0wHnlzRZghV
80
+ vpZQ3eKGR1ETKYXaoRzlgwa1uZKGn8/aDBU2bhioG31zYIOZ/QDf3ZcUR5Jkcybd
81
+ pY+Yj7YGowRkLT/GGN+5GgTA7tXJRWJQlpHNaIjFgjj5fKB+xXck6OhVHftl+rB2
82
+ ZPrVgWaXPDBWjgpF1SJnxsbmOK9o4kB6bw6zm2wuByZrOYg8ckuIqbJhDjINKesf
83
+ cyb9qSk77h+8ILj9b11OzZUfX7PhvgO1+W9se/RCYtfGgT4nSh9No7l2vA/IkwOn
84
+ ZOK7nBgDAgMBAAECggEAaOQQAyyuYxKm6ERnt4ITX0NNz85O7nLMKy3KSOjIxNcN
85
+ Tufjdu1VCVVhpkLoc6ebfAzZrrtUv/ddGjLUUmE7i6ntalNLoXjMIVgfIBz6fsFK
86
+ ccqEollDrLjib5NGcZXDmaGH/ZxHjnrV2aao0LsyvjQCl/DleRD/Db2YOUjb0KBR
87
+ k4KD178M181wdQteNoG8hPoRyvcg5eX930HN23IBmiEcK/mbc+y/tyIWMMpvWdjX
88
+ 5zpzxZQVRiA9DPpJRubua+0uIfWBUG4SODDEjpHCFw2oRVjXX407yFVwdO/B98Qg
89
+ MxuftbYvie8mxTo+Ue+zFnHk4fIkg8uYyLciudspEQKBgQDeOtn7Mxo/5565XazK
90
+ Nzeahgr51srOT57CToQFCxRPK+roI+8hlcvkydyQaPDcIQIgrBkbSAqmHb5joz2H
91
+ ix+DZbPsrJ/KCT5OiUxTbUDDyZGGRZEKzTX2GJlsKs3KmJBrgGZ4Vaj67KNUNp9J
92
+ EmpxMhxVIdqh7JGf25Ehgi859QKBgQDE4N7/9kHH2W59FcxhHo2gSqiT9+wry45G
93
+ vn6X5B1mKYCR1IOYa1jj+j39MGDp+bQLSSv2jSjBuLjcXASrdkvI8h68JoocKVk7
94
+ kxCb499FgOz65mGsBZo9Vb1DRvp6Jh7xfC9XD1pHbcOVM9fNXWSK5bCwsirf46r0
95
+ Lum3apl3FwKBgB8zIgFrdkb8jMM3jJfDUtIl+YqEBmsasI5VGaHfoVVQNCWtTdho
96
+ QHz5fjbkFNTC6ZqOruOupJgX2vAALhZGiQEYmT8kKTbjP1UlX4ri7tHODdlNEQT0
97
+ NJw9beTKyaOk8bm2CCzi0duQt4mONaS7qigEQggNvbU4EmXgHKsYrOq1AoGATQ+H
98
+ ucB19veQW72QheMjpD4UxfYgpvPB+MbPXjyXlUlhXbNE3wAFhxaH9PZeuLZYVqKJ
99
+ ZrPR5CGdmgMagNKIz1qV1Sdwn50/pCXoNlx3JAlWuM48JMz8lk1dC1xY5j7Nlc/5
100
+ 56XGvHamO1xTd7q6g/NruX3Dcmb2nyVNrdE3yHkCgYBQC0bs0ndDcIJSzPzk5RoM
101
+ aVBU82sqLUEEbkoRkmVrafzaqOdR05hFbHVz2Cv073hi6S6vdVa2s0qnGePAnH4X
102
+ dqRb2sfAQTLnG2UAluLWZHv/W2GA5tRLvc+5qlwl6p7Md+XiKvTdhQdIAl5vB5+j
103
+ ngHm3mk51YQVAtLYCSCBIw==
104
+ -----END PRIVATE KEY-----
105
+ """
106
+
107
+ SSL_TEST_FULLNODE_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
108
+ MIIDLDCCAhSgAwIBAgIUIpT5MM70VeIvnygCEHRVsL6Aq80wDQYJKoZIhvcNAQEL
109
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
110
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNFoYDzIxMDAw
111
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
112
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
113
+ A4IBDwAwggEKAoIBAQDsxtOxdud/1pyMnhIdMYyqWmH80gO0Afp/ojKApcqzV3aB
114
+ KBFfQWLp4hc+CwykpAItx3vuTNXn/dQFxzC2NXrmq1OlPiPUcxorzctxqDNdoXlj
115
+ WTtxjkC+kxvvA2d7hgl+Huz3JxTWWMt+fM8eLTAOdVpPea7unW5GfQ4TwhdEMsGQ
116
+ 4AmUylw/vjJDUaiOHlKwwD2c4EakZNd35pCtRZfNjM3CF9BxdK2xysWp+xoOIY2C
117
+ G61UFfaXiVK+XkbZB1g0+nhNEsur03gFXkFEVmetXZvpfTvQ3J8a3f/sguzLqmYq
118
+ spKleR4utiP3llVrgnKPWpDiMvsx+xRbMlbSUMvHAgMBAAGjFzAVMBMGA1UdEQQM
119
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAV6jnHn5x8uYtbM9jN3cqQ
120
+ FK0OrZPSDsk+QJt1I0U0+HF8j2jMZ1RTxRhUCnjCoytqbh/fT/Xk+8s0N614lvja
121
+ 84fmW8dKq+asD2mWrPZeEgpipk+fzthUOrovNobAWtpdEqjKWEvQxMOICijEXFbv
122
+ 95V4kZS7JN+s3jAf5nXOK9EhGVI9214UyGNZZU/nzFKlOLcZFhGBibUAT7oA9bKi
123
+ BLbCPI4/CIdUnwaK7y8xF9z9KL+A24ZZzhLNVC35gl0zESgVqa0DN9XQ+GP0qC1S
124
+ 1Z6PF4qBDeta+3R28PtfPIiNpYJ6uHAOT/iDmIWBKTGC2Y6NVs2diNZSOlZXSzN6
125
+ -----END CERTIFICATE-----
126
+ """
127
+
128
+ SSL_TEST_FULLNODE_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
129
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDsxtOxdud/1pyM
130
+ nhIdMYyqWmH80gO0Afp/ojKApcqzV3aBKBFfQWLp4hc+CwykpAItx3vuTNXn/dQF
131
+ xzC2NXrmq1OlPiPUcxorzctxqDNdoXljWTtxjkC+kxvvA2d7hgl+Huz3JxTWWMt+
132
+ fM8eLTAOdVpPea7unW5GfQ4TwhdEMsGQ4AmUylw/vjJDUaiOHlKwwD2c4EakZNd3
133
+ 5pCtRZfNjM3CF9BxdK2xysWp+xoOIY2CG61UFfaXiVK+XkbZB1g0+nhNEsur03gF
134
+ XkFEVmetXZvpfTvQ3J8a3f/sguzLqmYqspKleR4utiP3llVrgnKPWpDiMvsx+xRb
135
+ MlbSUMvHAgMBAAECggEAY4fs4xOlmsJ/SkkEOkti4xVdTWaG8ftG7rIi4ptOyvbA
136
+ NOi/7LfSuZg1xvnkFa1v0QijGvgnjv7PSqKB4oY2pJJude7aJus/nBxFIgDfnsNL
137
+ AK045LI0myfBvUZEENO2V9LuL7K4+qWW3RPgCMJcCifgj7oKA/ofqffVnA6hsyOH
138
+ 5I6yB9xoKJKynIPUPCeTG/PW1VGsuC/hEZqDLMIRQ3TMlpBO9OeUGFI69nsT4CA1
139
+ rSC3aVhQq5J3ebwev/G0ooDKi0VlmOSQj4AaMrd4vtLbMvbJpjIm9CYanAbBx62L
140
+ airmzK1ZddEStoUHGO6wXVjHDif+mC6+sBL7kIOUUQKBgQD47sqhjHmDUkQ4UIWn
141
+ J8NXJHezVI5UF7alAh7upw1u2sMVC7rbgy9hK9g2y+mVImxsVQI8hyrMR/4EjOBB
142
+ DXvINpxzNmeTms3dW6tT3FFoaNlMp4XvecRsOFFeYgmXEK2RxeL+/MNQl2EC3M3X
143
+ JMeHCDPtK8cd6qpmQrA+MQajuQKBgQDzf6+9l8w5YmMdcaUqPZwCYeQsaspqXmXo
144
+ ekzE4ypqhVvH+gOC5As/m4fxNCdyQAlXIoCSzSAmsmy7iWTkIK3bGAxBIuX6F4Zw
145
+ 366xWbGJXtsG/ccLsTTA2n3/Xc0lYvmasvoI4QMiX+qMX0MjwhJqb4vspBiT5M+n
146
+ iXGDLHGrfwKBgQCTykm5Qco+wg/Ik13WUNAzo24BpRjfKjkAnFK7A6kBAJZDn3Qv
147
+ sSHnAf3bApNKPGa8pneucd1h7PgNwYm+dX/g7TNTX6B8zLKeUjdUkYAvidhBH1Bw
148
+ Tg3k5kbAz1m8O2WhHyhWlMBsz4MEDQ2URrzDGYair5QG2fSSw9MZCUhU2QKBgD5c
149
+ JRXZGmRX3ipcQIBg5uN1TopRjyVOp6qyJ5cE1ogRP0Ant15+KKNRoa8UPEX2QG4g
150
+ V+1Au0stxssAlOYXuG6z6e+EkIFMJRIjNwoUfnM/57gSpjdIWspJKpuL2k4I2wPT
151
+ clVzyumyxs7MVtWBjlXT23HvVJwLrWKqwHdnmnThAoGAIOVXvCHXlD4LQpJHboQT
152
+ 7oCP4Jofy5FKgM7vTu9/5lLuirDleK+XfZhAcVUOKbhMXdTJgm8JEqa9Iw02wApz
153
+ 2EUFTlvdOUEzBrkLHyX586ZiF7142w/wE2Zo6sca76e9n+iR7junUdcQSpR8/DmE
154
+ 93CjXWPBrmVS1IlmEtCGFP8=
155
+ -----END PRIVATE KEY-----
156
+ """
157
+
158
+ SSL_TEST_WALLET_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
159
+ MIIDLDCCAhSgAwIBAgIUBOIDJICHJA4JiPMdTj1KC19GQOgwDQYJKoZIhvcNAQEL
160
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
161
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNVoYDzIxMDAw
162
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
163
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
164
+ A4IBDwAwggEKAoIBAQDUjguITn4XjS5HDyHEP5Gmq+dgP1dxpYLMDWnJtHZatsYJ
165
+ 0x/rnEmDTReeQgiCbISO1oyK/TZ/L1IfzoRTm///uNns8uBnku2VmUDaTUd5K6ws
166
+ WqxN3YU+h3P5de6otb0DGkayANr3bMy3KQqGm/XxQB2VvXuo4nzbB4Tk5jDO6vtk
167
+ lG4184IbY+08nrj41L3YNCOynSnRDi+1ipfc/hrIKuCA5Giuf56S02hHapjEw8+W
168
+ Tvokx1drAlcJkFBLDVuPd146L7klCAhENaIYxJmoqLme9ZNOta2jmSEpeIHbsw1x
169
+ HPJNi+6n/Kh7k8Lsp0fE+jgQfPDEaqOXsnLCZOcxAgMBAAGjFzAVMBMGA1UdEQQM
170
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBXHURcU2ox80IFiBq8xEDO
171
+ cmHDZVOrQqpmOdygP+q/JRFoX9jF6X0nR17DBfDedgBz1ghax993nXwGJswvs1K+
172
+ 1DsTIKxO2HJefd/5iur6mxLFF8RXdku9as1tfNx7CZMm9WcML3XJu/u1/E+JRUFT
173
+ +QdoAX3+GnZGY6g+2MUSo11+3Ide9aaHvRUVDIXxqxDOZgLvy+EpIoQU4lkL7cuJ
174
+ CuFB0LYM9FMih1BX1uEu3wnCRhJq2nJuIObMEU8wQj8MmgPZTcJh5tyVR8OeDZ73
175
+ CACnvjXydwYvFmcB/NCMLpolQxxgrpYKrz8dx1NN8mZRNb+HUrM2tiLsWKAdFEid
176
+ -----END CERTIFICATE-----
177
+ """
178
+
179
+ SSL_TEST_WALLET_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
180
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDUjguITn4XjS5H
181
+ DyHEP5Gmq+dgP1dxpYLMDWnJtHZatsYJ0x/rnEmDTReeQgiCbISO1oyK/TZ/L1If
182
+ zoRTm///uNns8uBnku2VmUDaTUd5K6wsWqxN3YU+h3P5de6otb0DGkayANr3bMy3
183
+ KQqGm/XxQB2VvXuo4nzbB4Tk5jDO6vtklG4184IbY+08nrj41L3YNCOynSnRDi+1
184
+ ipfc/hrIKuCA5Giuf56S02hHapjEw8+WTvokx1drAlcJkFBLDVuPd146L7klCAhE
185
+ NaIYxJmoqLme9ZNOta2jmSEpeIHbsw1xHPJNi+6n/Kh7k8Lsp0fE+jgQfPDEaqOX
186
+ snLCZOcxAgMBAAECggEBANAk3VQ4kS+c+DFrtwRHv+i4NBbDUG0gyAnsJKj6CGBi
187
+ 1WGvlnWSEUb7ymIWheC6RcDehrhgp+o6O7Cb+mcpv7H6oaVwXaHvdqrlbWWZAaG9
188
+ y5ePn2WMxLtrx30FKJWbiqEsLQiI3+Qlbf76uK0Csv/xakdFS4AhcmTGYzQH2snz
189
+ 9s9iFwrpx2DBXT0o4pEvkVWuZVAjM2UzcXsRqQItVNod4CU4dO3bhdTkS6FX3Zm0
190
+ eitA5S93H/CNZMaiw5nGz3YNLjeBL9mzNSq4fmZ9tFPJNt178EQpIMTbt2BgNXa4
191
+ n0W5R5MlwmXaSO4pFQ+uFl/7QWgKuFwCHOAkiNW3cAECgYEA8n8AdakQ+Wnm/hHG
192
+ FWvBkYdvBpzuTPNppSpLevi2DDyIBvuIRkVUPJWsziBex9op51ShvFpUxS8fdqOU
193
+ gcXqdyc0PQju7iN9/qVz5XUepls6zjFovC7OWt95x9Tok6tD1SeFiTXyOlKHMyyg
194
+ GXaZ08V7xBkKW+fpQx9do52i3QECgYEA4GQ0RyEGH1OazbzbobY9kdyWn0lWkJhZ
195
+ 3GpbX9fcyhO3hPyBBRIZt4THeJ5j3mioATh4TVGESeIhDyxC12Cdm538sP72atIK
196
+ 1oB2QM5IK6UJc23TgHzih2J3cseR36pnn/mupy3ECYQLEsVpgdTp4h4AyHKgXHyB
197
+ Rw8uMi9GmjECgYA9syjHxzulale2v4j5/E/lGmOaeCV9+NUhjDBmWo/fbythM3DK
198
+ CGvVenPcgon7KbxNus/oH8e/4CyOQDLSDiyJIrV87h/1AZzWRPzHHlStGTtOKW4v
199
+ q20f3AqdWMPQhtwciRDGB67ZPhReZfVaZT3gjzfdfk2PcuN8C6gEsGA3AQKBgQCv
200
+ NQ6sy1hgdYNWSbSknAuPLNJfJYB1/r+Ln3Ahcgdvsd2F9TM4pl12MjMeN257ZvRn
201
+ n5QvqwrENdDibAj06velXsLD4RC/b6oOutea2nb3vTGX85VFqj2mwHfMI4//OKsY
202
+ +ngpCU8crwGGcqZjPcAxUoQB/56/GGhI9812WfuiwQKBgQDL8d69OdN9wKfpNnJg
203
+ HPesd9nyZkE7UjqDJXK1w1A2CbPZk8j8LGyIODvw9KPKkpJnU/JgVz7l0gjD7TaC
204
+ 6CWtOciuvFRsantzLbpVB8TAYuNqoUdmmVw8VLhb4XPbFUaeS/axDCHe1KKFOHF3
205
+ eFAr2KwjeIcF5kHccNakZDNEyA==
206
+ -----END PRIVATE KEY-----
207
+ """
208
+
209
+ SSL_TEST_WALLET_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
210
+ MIIDLDCCAhSgAwIBAgIUN7Hj/9zSlPgvmKSmTRU0Kd3ok3QwDQYJKoZIhvcNAQEL
211
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
212
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNVoYDzIxMDAw
213
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
214
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
215
+ A4IBDwAwggEKAoIBAQDgmG/ekJTb+4NZslwT7MXUZGuOOId95dTgXWrev88flfsE
216
+ +lEl1MvVKQLVi3F1I/mxZujYbCW4bRqmwEM/jwpLNxd6lzQjGLoePQWTURCBdnAY
217
+ RtslK1eetPhKRMJTTzaH21prkEEEwjqNb4he91O95VMApYSkEX1vOPd6LhxW2X5E
218
+ Z7rwZzgL+qwKtQy0VdnxYIcBnEXIKanNodC3vR6BRTU8vBvMM1wtxjKAAcs+fQVY
219
+ 6eyBu3Z450Fo2Ge1+orDgLdN1qSFEDw/DU98V7Xo8CzEoBV0vRxja7VU3kRqIMKk
220
+ EyVwjD6QBfm6CadVC0+vj3B8sbFF4C+w/gkZUkodAgMBAAGjFzAVMBMGA1UdEQQM
221
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB0UQbCG+es9N/hKKbzG6+P
222
+ nXbd/c8LB0iJIPZ6xyPWoZsyzPmItMt3KFnYko7EbZ083Uuvfy+IyHSPcxihxQl4
223
+ qLGvjxHG+relpKexwnhYgRWuW7d8xI2WMjDT7Xs6q6npbCQjwpZXbKxe2Sr/WMu/
224
+ HitB3RwZ/CCeQL5oh8rm7TRWi6boqJXG6Yx6jjPRrs+f+V7deXNxHs2eV3RUKdBp
225
+ Lc6IiNoTtdkZm9MS+xsucm0HJa/Mf0/Gbos5A9oqB++q8FR18Rg7cEt6oTyPjlBF
226
+ xq/9SRUCLAeaIVufV+Be/bx/tX117/MUQth3cqSqlMkPfvyIYmZFbJbr2wlyQ4wS
227
+ -----END CERTIFICATE-----
228
+ """
229
+
230
+ SSL_TEST_WALLET_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
231
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDgmG/ekJTb+4NZ
232
+ slwT7MXUZGuOOId95dTgXWrev88flfsE+lEl1MvVKQLVi3F1I/mxZujYbCW4bRqm
233
+ wEM/jwpLNxd6lzQjGLoePQWTURCBdnAYRtslK1eetPhKRMJTTzaH21prkEEEwjqN
234
+ b4he91O95VMApYSkEX1vOPd6LhxW2X5EZ7rwZzgL+qwKtQy0VdnxYIcBnEXIKanN
235
+ odC3vR6BRTU8vBvMM1wtxjKAAcs+fQVY6eyBu3Z450Fo2Ge1+orDgLdN1qSFEDw/
236
+ DU98V7Xo8CzEoBV0vRxja7VU3kRqIMKkEyVwjD6QBfm6CadVC0+vj3B8sbFF4C+w
237
+ /gkZUkodAgMBAAECggEANZBlbcExn11WsDe3ehEIBWWFuT+GIOKFaJUe/czlCvVs
238
+ Dn3ciJc9nbLQODmvb26LCGIwuhzgyiFLL+W+pBPrMpELCnOxPYWSLdAD2mSE+TtT
239
+ 9JZBgZXaqcEjTiMj7VaA/Nm1sN2QhCAGcuDctzlpQWrF5uuSvMZnEfWWIA+LNrLp
240
+ 2zw+wYY3sAB4Yd1zIvigYiVC7H+NuIZsHNQ0EmYPeq+ZuPKtzQnbBjIIm2ULIxhR
241
+ bpnjbyJEjxDO/XAHMCacSgoeUWewjC/M9FRKUbQJ29bJyRc/L0x9amOYyFCiztTk
242
+ xnAQJaXRoX0w9KQtLG7J95VbDj+n205ZL995vIlXCQKBgQD3FT0YCAXOlMcT/W4U
243
+ 2odJ9DGq0RQuj8WzEFw6xEnJW87nn6ZA37NLRS12JAnuzhXPPlReueEbeqDG1C+C
244
+ 3qCuDabuk83lR6QgM2xCgMzAwsDwG3bjy/DdMttJ7lGfYfngXUy7F+jEb+xMynM0
245
+ CA25z1O4+RGiTpf6ex9t+I9BewKBgQDos3CS5KFVtZG7lpl3y3aFVIU5Y36WYjgw
246
+ eGkMIVd1PInaTFTeTW90+2HSL2QVTcmS00g+2d/dHfZR/XeVZrvl7/S0dSUdpizW
247
+ Cl0qoNTVPs69TTGTTPN6iCyFzflyXVvsvLA6n48lfcX5CMrdjmAMScoBSmLdngwW
248
+ +LuxXsETRwKBgQC4trX/my/MKklR1mpPSLdPQDFJRBjUXkMsBJUOkeOflvTtD9sY
249
+ MKQ3JzY/Vd3fG04OqsgkMM3q3xgGzGXgblKtDCO5w+FvAMngENFkPinUCUR3u/B7
250
+ h+E/XF+3u2RlxLcrVlSgodUv1YRQPCE3yrWILUinxfu63QqdBSKP8fwWtQKBgQCl
251
+ QXm6+B8TTUTXoZYPmzDqcyHBpcTqa4pX8cs4UB1aJsoHe5nx3bA/tZ68s+cxsfJr
252
+ ER0HdZcj4vlhNM5ODY13ODfiSCc5rR++SdHsSheb8WTEzyNb5pQq+rYTuDlkXKTB
253
+ tSa6G0J/b5i+yN25BjlzwJty2y7nECypy68PwakAVQKBgBZV0cLftqtdxmLAs79h
254
+ g8T3g9sip3kusxoNdxY1zAVJsHuQ6cg230ay2+fGgP330+tIktFue9bJCFwaEryp
255
+ dm0PKHmzD9W5Sy59zP7FLAjX4rc1IEQlzT171ey0hitHmt2LN/WDoCLjlb7AByzb
256
+ KxQF+djd9S/j6fxmhGItcJ6k
257
+ -----END PRIVATE KEY-----
258
+ """
259
+
260
+ SSL_TEST_FARMER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
261
+ MIIDLDCCAhSgAwIBAgIUH2fAuEi168jppWUawNNToTni7CQwDQYJKoZIhvcNAQEL
262
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
263
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNVoYDzIxMDAw
264
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
265
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
266
+ A4IBDwAwggEKAoIBAQDRJQfoJxErXVdwTU4sAQ+05EX8tC1REoYFJyB3hhB4LfOz
267
+ meCPe85X6FTYbcPdaL3NVevqEL2hzbqESD5Gf5Fvx9ctIdzwYv674P/tqPrIkTd+
268
+ cLshBKaR6CeSjPt5cFbWhg1hnmWy9Ta7SsYqOXh2aBQJKTRIK80U9b+8iVs407E+
269
+ NCMljerodAdePW5X13i0ca9ifwbTZkS2/c9nQEi7qldj18/MVax6qezY0aKqu/96
270
+ 8DSSTc6uUiNLKmRYP5xRJw06ggVooviX7snMzG6SgsbLK2tZJXeJj/EECOY4UrPc
271
+ FOkVmjxGBP3QD0oLoXnZpxvutS72ovUrcPxAMImxAgMBAAGjFzAVMBMGA1UdEQQM
272
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBSOIrT/3mFkZmuoQ/7UcPR
273
+ TOssC9o0xAwR0iRdziNQBZne2zLCxk6p32di+T6GIJahqYFqVU2cfDyyw9YUCr3P
274
+ nbMjuwsSrvor4LwJ9jlWKRRyBm/adCttg6OQIO3rYk/rX7XE+fBY1wYhqK+KcSCb
275
+ iRLqHIPEo9On/kpaSOWKFeSrGLMkj8nQWMNNtbzTNcdhQlxEGXcxPsVb3PGs2b0p
276
+ n63n55HTUbiL0UsHQvxR8gr0YiSpmlgJLi5pipDbyMiVHyCxj5j5vEovXckRliVd
277
+ iEbH235NTXPtJ9aBVEDsHW7W1AhzK5gh0Ev0xOC9vP98qTYR+4Oq/3Mz9r2jP5/d
278
+ -----END CERTIFICATE-----
279
+ """
280
+
281
+ SSL_TEST_FARMER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
282
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDRJQfoJxErXVdw
283
+ TU4sAQ+05EX8tC1REoYFJyB3hhB4LfOzmeCPe85X6FTYbcPdaL3NVevqEL2hzbqE
284
+ SD5Gf5Fvx9ctIdzwYv674P/tqPrIkTd+cLshBKaR6CeSjPt5cFbWhg1hnmWy9Ta7
285
+ SsYqOXh2aBQJKTRIK80U9b+8iVs407E+NCMljerodAdePW5X13i0ca9ifwbTZkS2
286
+ /c9nQEi7qldj18/MVax6qezY0aKqu/968DSSTc6uUiNLKmRYP5xRJw06ggVooviX
287
+ 7snMzG6SgsbLK2tZJXeJj/EECOY4UrPcFOkVmjxGBP3QD0oLoXnZpxvutS72ovUr
288
+ cPxAMImxAgMBAAECggEBAMGfV9ecO2/7JVUprIJepSzh3M1b/Uw+KucgVxVwf1TT
289
+ rfeLMPOFOf32cH5B+H/FVVqA/jyfLQBcFx4aR9U6iumCiHoXDJVcANrtLeLXev0u
290
+ O8MKGKQzywXveJtbfADseOh4CHFklGB+ViJE0nsK47QzHMFybR2Xt3B9Jvoj69kJ
291
+ rlvoxyKZOcqFdIHBDLmbzmV0BUo5m95T5oeAtTWpKZb7bH2MSt3Mlp2F+qs8NzLx
292
+ QGVrS6pqZd88EJ5J1xJEe2Va9z1HEFx21AWOTOELIYrgrZwEoQxrWtYJyv6QB3a5
293
+ qwShJN97gsw+BAZtLZ7uyX1+59spEORlasc24av9pWUCgYEA6+M3yUCA5AnIjU+Y
294
+ pxmdtRdEWHJi+Nn2Raaw3vdGlnfKFY8vUxXSrJUcPVVyqdFZb8PDcnDjZwvD4tk0
295
+ kxI3E+eXl7Yy3FKeZifQ9yuRRyk5p/HLp04xXqinw94DqeO0wwQWec8GhXAz2SbY
296
+ 6JJbb8vf6ud21Ld4ClHOSbuOON8CgYEA4voWiUN/0QlL+ePAcUaExF9S9MLkL5gm
297
+ H+9SORjbatTDi/kZ/FOUNWKBturN6vMycDpdJTXVL8j+fse6oZtzl3JQYbKTxLsi
298
+ /uG98M8t/LUReUq9ASWlxtcbYufXBn0TXbj36NHPM5S/QZy7ExcwaL44hGxbLLOE
299
+ 05lSUthZP28CgYEAxmEU7X/95coEjDNAomd8pmum4utwKPDFmNYTMbCsAKdFoNQG
300
+ bM2Rm+rbEQnnoMGbgc8VdA1UcbkHSKR6/qT3BRpj9wcXxwsEg81AhF5zk3EsN/21
301
+ 1EKCaqVUUflJA3uo7clmTZK6XUZ7lEiDazSLCX5gFmILIeIaZjNeVcwSU+kCgYEA
302
+ mstCCVTOW6pCdWa8vMQCEcaM1b4ATvEttwPJCIWKRn5Z6iD1dt8tKYdHvY6+5mf7
303
+ UwyKr7DZ9l/WKHJgNozEtVlRtn9KRZX2lOsxVYSF8V0vUJAG/DxHpabX14kTXSp5
304
+ xaY69D36WEwubznLX4amDhkEhFM9juvTP1fGDBfeLeMCgYBJ/8WI47aq0oPGfrUs
305
+ tV53EO12bF3wUcs/fmL7hLZnJ4h7yX0r8J+Vtd7ja/Y0QpKNir7PQcp22OBkuQva
306
+ 5wX6stuQF+DsbaGZahvSF9gITzFyc09YgozKgpbza6KMfzrIkRYcAUC/chmFTUJA
307
+ /QGRi14DETwITFBT8JK4ewINqg==
308
+ -----END PRIVATE KEY-----
309
+ """
310
+
311
+ SSL_TEST_FARMER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
312
+ MIIDLDCCAhSgAwIBAgIUFPTg1QrNlWLRFn/hC78RXi0IOD8wDQYJKoZIhvcNAQEL
313
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
314
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNVoYDzIxMDAw
315
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
316
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
317
+ A4IBDwAwggEKAoIBAQDB7fCDqqnna6BfaJsv4xztP80jBCygHHhHdliSWbGX/tm0
318
+ lK716u0lBRiI3FmzPk9MqKMuV2Vvjsqm7gwLzG3oMHKaUPJUOiVf5v5/rXauNiAA
319
+ m/sfRAROef+ZVoVmU6rqwnGvTf6POI/MPdEbCPGIXu3bWjPXPq/BKzJ0KCJh7ekR
320
+ DaFWCkfQEs3Zilr2ehrdObzwHOxJh408t2qGeCQDlQeDXZYa5cTHo0tNoSWdfJIi
321
+ 1jNlEnvpo6ZV4fyKY1MiN42J/2swaxypdS3KxvPZzKWebgaloFaZoY3HziotiIva
322
+ EnJrUXNgQI1lW4/a7jooQ4c7A0t2XBidRS5Sohx7AgMBAAGjFzAVMBMGA1UdEQQM
323
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCAQP7xtLehAfWTp1k3E7IM
324
+ eMT0Qm2iBWQqB4RLxIJWgHyVHYeY7Lp7lS+BZFKHOkbVoc2J8cA3qGGDw3WrmQuF
325
+ uRxfL+bLC+HMSjEvPbXmnMWAqMKmVBzOvZf91VVKsFR0h4Gyt78EFteZVEHZI5bQ
326
+ jC2RLte2uCtht/Wum74z7jGzplx3fRV+zcig7Gka8IwTcHaRpfhhZa0wbbR3Kfe0
327
+ uXcCgDF18rwr2uIDNPBmJfy9C3nyQugWzNV/j/FDmrqHD94tagfDx5wYPb/ZFVpM
328
+ TRg94mZSL6OkgITfba9MkOBcVGbkCO15NckC8rm0p3ngbEgu62eW9FlwsE8b1bVK
329
+ -----END CERTIFICATE-----
330
+ """
331
+
332
+ SSL_TEST_FARMER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
333
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDB7fCDqqnna6Bf
334
+ aJsv4xztP80jBCygHHhHdliSWbGX/tm0lK716u0lBRiI3FmzPk9MqKMuV2Vvjsqm
335
+ 7gwLzG3oMHKaUPJUOiVf5v5/rXauNiAAm/sfRAROef+ZVoVmU6rqwnGvTf6POI/M
336
+ PdEbCPGIXu3bWjPXPq/BKzJ0KCJh7ekRDaFWCkfQEs3Zilr2ehrdObzwHOxJh408
337
+ t2qGeCQDlQeDXZYa5cTHo0tNoSWdfJIi1jNlEnvpo6ZV4fyKY1MiN42J/2swaxyp
338
+ dS3KxvPZzKWebgaloFaZoY3HziotiIvaEnJrUXNgQI1lW4/a7jooQ4c7A0t2XBid
339
+ RS5Sohx7AgMBAAECggEBALBfiqL1EFlc1RpwtNM0pxZPNG5oWX205t93js5rrM0k
340
+ BzPpFcaqxssoe0vdu+b9AHoj1WVMLwDqyPxQ+7uvTTYi+dfHTt2zlFJIb6YHSSzg
341
+ JPLo6ddhsNj+s6vtuJ178rJX7bUWJjJzqrSCdC82TxVL4N/ihct5Q7dXZiemaL7O
342
+ XgH10NPmdnptvbp9gjx6LgcM97E91BslDeSYKKZ+Qxuh0Sysl+EzVX80/AfEm99d
343
+ ryZOwS4mef558HtuxLcaNO1Due4iKWJKoeZI418hRZh2ASjpyFKcoDswNYWyg9pt
344
+ XfNis9T9omox6gIfaM0S7nY2I6FOS/v0ODcACpyLUIECgYEA9t1LEBYZpG/YoRrd
345
+ mvLuyeGFJW2Hf/Bj6KZU7tTtnd07bdv4o0SIShtdu4rp4sq+yS9wd6XTgN9Rs6E3
346
+ CzWrK0OkbisuSVdm9fx5alMQKS3gE9959WJJ43wULGnHYlKZCCILMO4AZODnfQ5o
347
+ cdNvKaESv5KXytBYFliOj30DmUsCgYEAyRsosNqL3fBZi33oxifg0/EGFQ1tJbvn
348
+ ApKLc8eAe+cAz2qwidejzYEWbDqhQUKK3qHNFz6ACnbCyohqRr38dqjQxJ4KBHfG
349
+ 66iFl44qZKYi2fDvSTvlCCue73ArIIR2kLiO4OeRp/wbqVPv5F72Djz8wDRB3qXp
350
+ ZW9ezmdMO5ECgYBoQOp7X6nynN1ypCLkViXsEhalyMzJhh7bWKtTtY6n9Y8shRJK
351
+ +R1JlqcOFctSYOcTlbo8fUaGDUm2v6W8USz5d3aQpCHHDWdJCRfJhEy1507TdbRO
352
+ ofSsYnEulHmEl3dTTPVG86ws7iI02QnY0D8I6KI/T0xVdYlN3pZOGLCVYwKBgQCV
353
+ vB8D7vUM/pPthIX4ZGDF7UN2EVUfL1TFWY9zWSuVFV5JEUr4lxJjRKYJV24RRRZY
354
+ xWgK0oJLSDmoywE2QubjArbObk1PHk+BzywIt9Vgs0Jnuziu8mWJO9FOvdmekIIn
355
+ JwNa+ZA93zxJSzHme74Aw+/8u+v/dtDcsZuJWugrwQKBgQChIpOu89zL79WIcKvx
356
+ y0ErughaITTuXQ55c2wf3iFOnbk60FJwYjJqWwkmurc/w2NEm/G9tXQVeEw3YyrT
357
+ zDexl0Jtlbe3uG72aTVyHFERyaaZ9wkirHHHfN3b6zNpscgWDmjOrJthuOYl8NnE
358
+ 0gbyHge8dF2YFmhxtFAcEzlU3Q==
359
+ -----END PRIVATE KEY-----
360
+ """
361
+
362
+ SSL_TEST_HARVESTER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
363
+ MIIDLDCCAhSgAwIBAgIUC/PhYZPSyT/cH2+54Hfayu9ZXIQwDQYJKoZIhvcNAQEL
364
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
365
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNVoYDzIxMDAw
366
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
367
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
368
+ A4IBDwAwggEKAoIBAQCog5fCeSavpTI1/3mA/Jv9XJF6ZGRzmNJq8JdRPUd/V6dQ
369
+ eU5cOE7QGXbqBV1gQUOXIf8Ke9wgwcMPGRLBbhMQcd9CqWK/rZZOuczRBoqyEvQP
370
+ YhkyPWmIbRsNTLg6KYxghdCD9Ps75YWBpxb7uGwKgYadixPGGTDlbGw4m4T+xoSX
371
+ kkXcoCiYf+AnWdT/xYloEG+ovy0oBfOfv3q3ps7ECZRX/hZ+4RCRgA1IYi4z7VwL
372
+ JepZz87PH6zv9D1CmtraQVZUD3UJRfMGVsimLlH09r+mbZm3Ndu9cO7fLLkLzLP6
373
+ w9hhibZtnNAOyLDYrgOjl70bGjePzeodmqzPMY2zAgMBAAGjFzAVMBMGA1UdEQQM
374
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB2/xNHBk4oXI5iOyhh4Kob
375
+ 7ZVFfnjnOFFVhoWYAHSL4rJy6Zk12VwqsvUh4viwkSgmpKkZxyjQR7rKGTyopzHJ
376
+ aUEV7mhHc6lpM1biTZyXHz9PIJAgiHe1J+CTm5qVx9STi1b1cJ1FlTYK+7TT/noZ
377
+ Pscg1KOw5rmUbTcJ6UnBF1EtSSl+JzPZDxE0/NKBKJey/vRZXj8l4WLiN7sZTr9v
378
+ n3AnByDua5653q+AOTjoWP6/U/w1JWa4QNCzk05qBnFLczWGmU/oAXuvIRkTZ+wq
379
+ L/VQNnOjmBDeN+LAVAjUxDuGxVJiuCQisUiV5KZVl2kAayCgJccEI5N+OYKO2oI+
380
+ -----END CERTIFICATE-----
381
+ """
382
+
383
+ SSL_TEST_HARVESTER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
384
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCog5fCeSavpTI1
385
+ /3mA/Jv9XJF6ZGRzmNJq8JdRPUd/V6dQeU5cOE7QGXbqBV1gQUOXIf8Ke9wgwcMP
386
+ GRLBbhMQcd9CqWK/rZZOuczRBoqyEvQPYhkyPWmIbRsNTLg6KYxghdCD9Ps75YWB
387
+ pxb7uGwKgYadixPGGTDlbGw4m4T+xoSXkkXcoCiYf+AnWdT/xYloEG+ovy0oBfOf
388
+ v3q3ps7ECZRX/hZ+4RCRgA1IYi4z7VwLJepZz87PH6zv9D1CmtraQVZUD3UJRfMG
389
+ VsimLlH09r+mbZm3Ndu9cO7fLLkLzLP6w9hhibZtnNAOyLDYrgOjl70bGjePzeod
390
+ mqzPMY2zAgMBAAECggEAbTHQThk5Q0n1jl38euO1pOit8DRLj0hw2RELzH277b17
391
+ 0r64UzO9hkVp890EE9JWnQFPhZibHLLR1d+2cpcETXysYkLmlTRDmMH3AV+O0jNL
392
+ 6Qf1McPvtZKVm/mhyzaPGyC67Db78WUaLNh8ISLxB6HE/CNZ7dz2/UNToR7NgFVP
393
+ 0A2fLST+2MhFaCXxekK4Ssg6HktvN2dUg3GyYA8PnFtgDzkcNIbFYvtqv+dXZwzI
394
+ w+teOrXdx8zIlKAyAZDuKYyN7dzhpQM1l0qGG40gBioap8ZG9PtKDXyj26k3Smbw
395
+ 1fmBcM6J+CouAjQ+3Tumiabct06XPWYmWqixZiK5gQKBgQDXG7BeU2Xb0GIooDGO
396
+ lQ8mvHBUxfYnUiOvHvph8tZGRZHMKi1iooO+/Lc3JVQ0lbaYO6cCrWr+SOV/pzQz
397
+ 5sBB0Xz3mGJiBBabPjQ3C2UEbQ0i5S+1QJoQCPVFeLSYq9n11rynZ5EvgZlb0JKC
398
+ krR31ir01UkPGiEvs4e4T8peQQKBgQDIjGKTQELgzLoZfvNo8G3TmZFaxpaFek/i
399
+ k3ruyjH1AubX2s/R47aK8Ou9zh3W570nI55b+aaY8jzBMibYCAm9cqFTPzHWJ3An
400
+ kjfQ2Jw5+UESGD3GA2VcW/qNr9BkTY+PJTOXtRMTnblnCfavaa1BJCgKWM9gXYeG
401
+ B8WQhuCW8wKBgQDMI4/eBIFu+TSeX2CIcrddSInGOdRf/pi00c5GdEGbkNxLiF9n
402
+ 8tjawFRTtk5SVR5jHIFjjhYy2hVKbvCgrMUZ8WgKRQhhAoY9r+u3rU2hxKgpzJzZ
403
+ A0TyIL47vtCM7tI7dx20NRpYnkJfGvJfjkBMVeiQT3U1KtQBw/vyE272wQKBgFYH
404
+ 8xmcDZSF/qeFUEIKMfL+A97fJh8oczCNd8UMNBYZIpIiqdguSVadN2P7Ec3pJ7ms
405
+ i/iExjUCZZGzQ/qUqCj/Dbm6eFSYIoK3NP6AjbRI+uMaRxW0yzytsHQrocgFhbow
406
+ iUthQEe/95L+MTbarJovOoYFxyBdvw9+MgBn+9yFAoGAC/X+58U1usmpZYeyinyX
407
+ PvcPyMbRIQQVezI6+wBPcTQzN8orTQn6j+r7VLDdABdaa2f3/pB5EWTYnmKRIoKn
408
+ PbShaxVYigIdVkNvr8WSssmfUdsUYiLYEP14hvYyMKu51ksYkqWsvVoxIcnVBlk1
409
+ zMMX9G1pTIPd77XmoutdzNA=
410
+ -----END PRIVATE KEY-----
411
+ """
412
+
413
+ SSL_TEST_TIMELORD_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
414
+ MIIDLDCCAhSgAwIBAgIUKXI5XpFZ30y1ouQq11Ke6CJYc80wDQYJKoZIhvcNAQEL
415
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
416
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNVoYDzIxMDAw
417
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
418
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
419
+ A4IBDwAwggEKAoIBAQC5cLVLbbFTsBDiYGEvK2t3V2I1o/OjEbX/xqAcfYasvNTo
420
+ E8q61KL3tjIB5kdKYp2Ywl0ibUSnM8M9Zm2uMz+Wrpc0YB1H6IEpoN796q36m6Xh
421
+ /O/lDpatgwZkRiBnKVAuvifGeVb868keNBKAZ2DNHdpQcRtbkG6jMKSNonmOh3Jx
422
+ nurvv01mvf7VR7iTc9o4kBIgO2lOnxB2dpFcPxdi/kIIGjrUgU7tzAh4SfQgKKVg
423
+ WwRDk4BrlLWLRGkPsIvvoUNkVuC0adqXOaX+8WRfalw1mNed3OpYQ+W0SjHWuw7S
424
+ CxrpcfvXMniy3CpEdBJmbtKyC8Somj41QxmRRZblAgMBAAGjFzAVMBMGA1UdEQQM
425
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBVYAjTaWQpR8Ke7zD5ahJg
426
+ G/UDUUh9ZhUGCc4E0e2+qVjDgkJMqNjXx+OUUvj+iKo0A0UI/QJYf5n7kxs6C0GP
427
+ JLqt/OHbxdqRji3GQvftRAMjaIQ0KmRUIgN0XwbDUvFJ7QHBdV33AeWvDh1wWvtD
428
+ DYmMDausznQQBlYApt5LDq/Y+96rmMiaPGOga1Lz1GWON5v8RU3qPLyc8GgCeoaV
429
+ zoVLKiGDVtrhUzaOBTsZ464ZH74hIzjEb/QDqyoQYgk4o1RSdewNhnzmwWmS6hXD
430
+ E11IwGGiy0ix9OWyL5WyXvjHqjtJ219KIYQuLsEV/lOdHsybBcAQygjVqgMkz5CL
431
+ -----END CERTIFICATE-----
432
+ """
433
+
434
+ SSL_TEST_TIMELORD_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
435
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC5cLVLbbFTsBDi
436
+ YGEvK2t3V2I1o/OjEbX/xqAcfYasvNToE8q61KL3tjIB5kdKYp2Ywl0ibUSnM8M9
437
+ Zm2uMz+Wrpc0YB1H6IEpoN796q36m6Xh/O/lDpatgwZkRiBnKVAuvifGeVb868ke
438
+ NBKAZ2DNHdpQcRtbkG6jMKSNonmOh3Jxnurvv01mvf7VR7iTc9o4kBIgO2lOnxB2
439
+ dpFcPxdi/kIIGjrUgU7tzAh4SfQgKKVgWwRDk4BrlLWLRGkPsIvvoUNkVuC0adqX
440
+ OaX+8WRfalw1mNed3OpYQ+W0SjHWuw7SCxrpcfvXMniy3CpEdBJmbtKyC8Somj41
441
+ QxmRRZblAgMBAAECggEBAJMxd3Yr17mJ450My5dZa7AK2JWjUdx6TnB8BNMYgDHU
442
+ oVqleyHZbpIZOJBxbN0KcfWzMaIGAZyGZc7y4tSHMU41vyd/sz5Eu2GDo/0ArqBh
443
+ s8Yxs2mprsiDXCtzznyUOmUf4wqTfgy8S6OByb3KUPf/Xi7D2OdROcCm97bE5J/Q
444
+ YNR0gBPQCRh8eafT81J6/jS4yLurQqYfZN/dUIeNZMsq8Snn/Ppra8HDanFCPgqk
445
+ L1Oht9lkJMFufO39WdbjMbeZkdwBhX4RmpT9RnOY4dAL/QXgWQ7NLxMeVZvmtdQC
446
+ /zQ2k5PN/8s1BfLpCEGlA31rdq0+/O83gRt23S8P4/ECgYEA6HXaA82leiUklggc
447
+ aGEqpjMUgGH2kIk+WZDeiT6VLgWuF+DOPO7mbV1oHylQ7R27if4ouZAxv5xellMn
448
+ zoqpETYxe24/vXC3VFPHH7spAK67P8p9jzPwDs3MaT2zBfHwSp1+BhybiCqtGM5i
449
+ G/BZndHWb1vTH0DflCMEBlstxUMCgYEAzDfwWC5dKYgpS1T3XpLyQJnzL7D7VSHi
450
+ 0NhQymttu8+uyZ2JkjWkJFQtwfSTu7D6v6dS+JSTRPcJkFNI/lb7RZnnu5Jj5p4n
451
+ Nl67KfVw2C4MGLBUv3OZXYmS8Vwh9cRY+QsB7k4FV8ZS25yDr5entR1ethaDZeQx
452
+ jv16qFVY3LcCgYEAoJ9uOVqLkM7BbPnFx0n8kkKRU/RczppGftTfL64Snm5GUTGA
453
+ 0BGzHraAD6gYxv7Yaw03TqEX/vIpWW2z/79H+yCbKFKRsHCF/Lq2yHImbtZNhFKC
454
+ V8TnhxMkv0NmxCDcjHIudkKmJXx3hsB0giGdirNHnEKyqtHEqzNWwJ2YDskCgYBv
455
+ BqKGbn57y+kXaZQrOJy3/nq2HPQnborPnCsgQZOhHeIa/qkCcmNQ1OsjnYKL8kYA
456
+ 2ElFmBEQ13W9n2n5zPRC/M99rLLfeHA9IPeEckntXet5qLQKeiCRN/BJhBt6cEsm
457
+ 6pMcKhLBi7MUbl0xo7OrxdHuEQNS6+L9qFV9Gxl6tQKBgBcQk4Cd98y8Ulmt9+Un
458
+ rYds/FAO4q1SpnZpYVGHr93rIsL7EJO/4BViCXxT0YeqJp8tvSOrPMdT43OkIWwj
459
+ 0gb/qvk7eT4KhCTDa7WY3p2LKzwgiKnk9G8OwRHYXTDpmvASRSkXHEilCBMJdqtM
460
+ W6AxtaSOGNymAr+UMZYWxZb/
461
+ -----END PRIVATE KEY-----
462
+ """
463
+
464
+ SSL_TEST_TIMELORD_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
465
+ MIIDLDCCAhSgAwIBAgIURVoAXVmDtr+4fUDOOVA0ZXW+RTEwDQYJKoZIhvcNAQEL
466
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
467
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNVoYDzIxMDAw
468
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
469
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
470
+ A4IBDwAwggEKAoIBAQDZsq3BSwg/a/I3AlY+Uj3d4S+W8jIhWHI8XHX5Ud7k+auJ
471
+ gfKvA/D6PrYI/TunHFzTGdVaGOd2y2Ylw7KUFZ9YIjtfQfNI0UnuIEyovcmLBiw2
472
+ tCtQE7ItEgLkrEjgBX8DNWlQxGKZ8+HAeY5Ux3eRsLJJn3fBFAxOtC+cxF5hFFvt
473
+ EcGTMo1lYr/A/XKt5Klh8eoOLkE8JNbwuO7AQC5NQN1AP3ZP+3rOC6AU+xdECF33
474
+ 9H3gyfXeGk5ixLpV/d+Oz3VzRgmBCBt7+QLT/MSgm+xD3hO21MB2cBBIHJ6bzeTy
475
+ 4nwvidsnSPPn6RoHg5vTR6HFmLvALirbiA0arr3/AgMBAAGjFzAVMBMGA1UdEQQM
476
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBl4c1dN+9iucNMtM0bLiAq
477
+ qeGRLnjGhizrhXuI0PtO5zrgmWgPnuJ/gZUwoPrGczO5g8ZO2zQhDuz8QWXLCNby
478
+ UL5C0aQrMafIqawKd3oumnHFOotY5eW4hf1rKyYfCGJ15xisWDIXuVSHzf6YlNlk
479
+ avHfchtw3I6xPIt6ui08qnRjuxVeoHbKKgM3DOx3vfvWiOyjXI0pZt2uYdMHdX8s
480
+ kOqJVoEF7XvSheDLXjhF7iWeGDmqjuBHv6eRfnA20MOXbE2l26Oa7M9z4xzVZBvU
481
+ GxtQwVXfxwmo54EuxVSS23gTD2q85JRRfPWuZnOs+NUr7e8P9MkejuC7iuvA2P7G
482
+ -----END CERTIFICATE-----
483
+ """
484
+
485
+ SSL_TEST_TIMELORD_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
486
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDZsq3BSwg/a/I3
487
+ AlY+Uj3d4S+W8jIhWHI8XHX5Ud7k+auJgfKvA/D6PrYI/TunHFzTGdVaGOd2y2Yl
488
+ w7KUFZ9YIjtfQfNI0UnuIEyovcmLBiw2tCtQE7ItEgLkrEjgBX8DNWlQxGKZ8+HA
489
+ eY5Ux3eRsLJJn3fBFAxOtC+cxF5hFFvtEcGTMo1lYr/A/XKt5Klh8eoOLkE8JNbw
490
+ uO7AQC5NQN1AP3ZP+3rOC6AU+xdECF339H3gyfXeGk5ixLpV/d+Oz3VzRgmBCBt7
491
+ +QLT/MSgm+xD3hO21MB2cBBIHJ6bzeTy4nwvidsnSPPn6RoHg5vTR6HFmLvALirb
492
+ iA0arr3/AgMBAAECggEAEOk7bC+K9XpKN5G75112Jt1OWBh6YnK/dQbtty9v9DOc
493
+ 6rKoioXw20+xzmL1llays0dndndGy8ijJ73bCnvfg/YszIqP/pEbgB8MNXOAy4bw
494
+ OlOmpbLR/YRPqzni81wZ8MLeaoLG8hSq7cvDjbxtAmlKgEOeBuaqyhZfOHtcpYfN
495
+ p5E3OGYR3nzI1kfwVvQ6E9YRI0DRTq36gnF5nua1LMhjbWYXRCjYkhEwLYEzCkrY
496
+ wwey9MqzhVwBEEADZfsr1kDECgBJNlTfEJyc6CVRQ5nM9rSYax6zYT5vWlsjYzZg
497
+ uHCi/qRGbsyKG2NdGAwcJVw4nC40rpBHQcIrb0I/oQKBgQDyZnWa9jleC3zl+BB6
498
+ lWJvbe99t1cepFEqSQaiqTL6jo9rnluBLFLDMjp2PcskP9CT/kjuBLQW3wUJh4VB
499
+ MMF/Zr/Bn35EfiTc05H1ZhXERC0CdP0N5KoN9lCqilJD7b16iwFLy6p8j7wLUL6T
500
+ dpLiomqlKnJqPnxms48JxnIDjwKBgQDl6W0YTSgjNFo+ZsftpFKBJz4P8y2YyaUN
501
+ B6QDW/m88o8J2vAK80eHvewakcZ5gO4RlkjAwxxxUnqsFBDgeyTZ+asePd1ufYc0
502
+ H76fXjPEBf2K/uxUoa+s6/FOeFKJ1Fe5D3YCnfAcUBjbHig9FFMFP4cm7PjrCaqi
503
+ g4UYx3SmkQKBgQDbWZ5o2RF2qfye+gindRD7dsc2wzbh8p3EHwsTHPuVwnXEVCvH
504
+ y30lSAmhQC/YoKq1kXEbekQhQjWDtw/9uwoOqMMziomvn1rqPcYiA/wEfBEi3Qy1
505
+ isvcEJ5UhREGiVdiUfGdTjL7vvHSZ4HdXXpz/bd1uOCKhfr60NfKZ7p6vwKBgHWm
506
+ 4xX5fd2uD7Q5InxAh5vh+gdteNrj7VtimpLBgWYodfwkFoxz/BnBnc3m5TsOOEW1
507
+ sxs5fRecjnv6dLx7J9uHwQJjxCmjgQmyaPji2vin3BxB4axZZS3HO5/dQNeZWx6v
508
+ g8NJETNb5axTnWHMQcPAw6euwp58Pt6VEQoiH1aRAoGAN9HLpUoxUGfK89b6ZvLm
509
+ xLdoBLUyroIleNZNaQuiiWSEBN3diusLZv78i5JuOyBqA3e74iHW4gpvcUMeMq/u
510
+ jaj5tGi3njXk/jP4VB4oWuNT+k8X/QHzS6A92UrcwX7/ZSAoDBrAiKZXwdKC1JLH
511
+ pWAOTyrQdQ9UkfF3OLKjh1E=
512
+ -----END PRIVATE KEY-----
513
+ """
514
+
515
+ SSL_TEST_CRAWLER_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
516
+ MIIDLDCCAhSgAwIBAgIUGfJCme460FNV8uIRcAb2+fNOKnowDQYJKoZIhvcNAQEL
517
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
518
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNVoYDzIxMDAw
519
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
520
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
521
+ A4IBDwAwggEKAoIBAQC5pSuCco5DLrrC806I0t4XFEp/2HgHVve+xI3mIyl4A+mL
522
+ XXasrNMeVEo3MU1ADZBntZJcDl16PvHx01/sY5vo+0BwjzXIZyl96B5yH0ibxWeo
523
+ tZbkaU2FOg1/aR1sDL9guxQZ3JfrOA7AhFX+W5o36X9ySUsVcj9IFSuBd4WreAz+
524
+ lo/DCcsdNq6PvfpwR3Lz9VURBsYmRseO7cHdcASzr/UbfaIYFaJxYQzUkC127qXt
525
+ 6KEqaUKPwt6/pNSCx6PChTS9isqz7oTg8CH9Ku8M9lQz+w9J9T1/AmuFnKUhLAg6
526
+ MVvl7bGDG657ndawiUYLsFnAtCQBxjnhdhngv0LPAgMBAAGjFzAVMBMGA1UdEQQM
527
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCr3TlMTjaxIWlpeaHo0rcR
528
+ CmZNB01iJQKHhu6HEKJunILBf1eH8Gm/CLftytMtbxPfEUB/OG04CvDfCYAk+yVK
529
+ lVhlLXKU1MHNbjCEYYhL9Nai862dxvAMLI4PMbrhIl9qPYfQ2tZ/yRKKZIy0Jnsx
530
+ EQECv1dFXTDPFZOd8/ViNFmHNLR9cHAnEuTFKnM2NoTOYlRF+f01yTF3AAAgdNw5
531
+ ViGPO3v4Xv5XeLVmpxOqG4ZXdCE4ZfSkqmR3MuDpe5GsYYOeEClLSZJxX4kNwd7e
532
+ EK8qZ/rAt2Yk+/O/FKGa5C59qj3dKiVVTN5UPfFD+cPYFFjCNjy+GP+Mw8sKit+r
533
+ -----END CERTIFICATE-----
534
+ """
535
+
536
+ SSL_TEST_CRAWLER_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
537
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC5pSuCco5DLrrC
538
+ 806I0t4XFEp/2HgHVve+xI3mIyl4A+mLXXasrNMeVEo3MU1ADZBntZJcDl16PvHx
539
+ 01/sY5vo+0BwjzXIZyl96B5yH0ibxWeotZbkaU2FOg1/aR1sDL9guxQZ3JfrOA7A
540
+ hFX+W5o36X9ySUsVcj9IFSuBd4WreAz+lo/DCcsdNq6PvfpwR3Lz9VURBsYmRseO
541
+ 7cHdcASzr/UbfaIYFaJxYQzUkC127qXt6KEqaUKPwt6/pNSCx6PChTS9isqz7oTg
542
+ 8CH9Ku8M9lQz+w9J9T1/AmuFnKUhLAg6MVvl7bGDG657ndawiUYLsFnAtCQBxjnh
543
+ dhngv0LPAgMBAAECggEBAJtAJPXPhWdrseYNAXVtGywj3PWzexVwRnlz+NMoPqrO
544
+ YsYY4IEheuDXTsV/ZoIVldkVQJPZs5TjBQTeZ07SMnWRgN9g9HJmy40uzB9WSCt0
545
+ 1+6ABfN4mMq8tMMDjgZpVra3XOUP1MByPewD/8Jaqsrta5aQ8si5pXBLu/lmkhPF
546
+ P99XesSb9o0jRsohC+D9ClepfX2r3VZ8Vy3XOHOKbQlFToWYGqGlgbr1nZ1r1mg2
547
+ +PpkQ0LSc2Fojbje5uS/MZLP+8gJESca+W6ZOrvSLvsbpQrsuLb7uNMq3FJaFzCl
548
+ QWN2fPHA13toOW+hNLUXSBtdDhCVpGb1y/bS+Jk7tBkCgYEA9F6lF1boNGdhVu13
549
+ rvzyL+oqJMr6h21tCP0Lw3mMFssP81a9NcuzLFJvElSkgNFSBk6ot6k2h61lnAMk
550
+ 5adq8xosqyfFgYxSy0f5wysB5huHLGV/6iWgrTRfOpCNbSRQvbS6wdAuvkZxa4Ci
551
+ exgh8tK5wRkMj9sX7jXeEiWoNDMCgYEAwnsJWjXZ/Lfodykq1ZHnmv0btJiHvWah
552
+ K+38s2UPBBoKu+3fJIo6J3XLhR+hvl5C8M5QGTosWm4YfWkgEpArPyiTD75bbDuO
553
+ qZxjRF1RNLaMqT1/DAhHgS1Km/xxOMTdL/WD0/1KNVWQAv+j9VVIRZNguP+Gj1eG
554
+ HdYOwj2HevUCgYAzBxRoNECWuMOtuDaWtsEH2ljkh/Ial3H+P4DWV6o2FD8HbCRk
555
+ eF24spn49O3I7Gy5XnGCsHXvjPi7xDhPME935g5PyyVF8PxU8HmqFG/4EeV/Es7M
556
+ IQFVSatc+lRd5whpJLUexY8NMn56mUjUdWyZXQFm3gkufOyZVGxD09M02wKBgDxC
557
+ BwnOebZV/U8+kCkQRiS9m+H/CL/klreXy56CB38L2puT/nnB4nbrhp2+yUzExBT8
558
+ t9C5N5jlV+0zr15RETVGixprrsQASBnBfPhnuYuNrFOb3EuMHSunLuDZ/PLL/ISp
559
+ m6kJZ/7SfgaP0utm+zejjGqFsdmkEsgX1QbWLa4pAoGAcQSdwhtLP8Fhcfe7aOHo
560
+ Jpxdqh7l6HhLqKES6nURn9qNq9gu0P9x9Pj1C4mMFIP2Z7sjhF1qzk629FVxRujw
561
+ EshJTdj1syRNby9/XCh/uggCUHpD2NkVpcCnTmoN9ccnj8NwxZBOR8LQ81WyVzmU
562
+ 8cnuPKU82EyrqhH1afc4fz8=
563
+ -----END PRIVATE KEY-----
564
+ """
565
+
566
+ SSL_TEST_DAEMON_PRIVATE_CRT = b"""-----BEGIN CERTIFICATE-----
567
+ MIIDLDCCAhSgAwIBAgIUEfp1B/UPB0Hf5bcKFsJZ/Jg5ZUMwDQYJKoZIhvcNAQEL
568
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
569
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNVoYDzIxMDAw
570
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
571
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
572
+ A4IBDwAwggEKAoIBAQDAIc6vaGVenMWjN8uyIetlwtTXCVRK0aTwLj6HHXpcJCSF
573
+ bIhvsZRlZ7Fvu4VelVNzXH/kmZhpUXY59QQObspZ2z7TfVLgS0r4mAU8WqmCGi+F
574
+ 7cLVX7Du2E06jGhsBgKd9l6Ybud0SlW2/y8IzdIq75bW9qD7viAkbXg6sSR1zqwg
575
+ 2lFpoSKaf9TFvdbgtiCIeCbTQEwTZktYEEd3S+yY/HierG9RTcpXSJvC1Orcv/J8
576
+ iH89U+C8QfNjULCChEOWhaw+qol2fKOK3394JsujORUn/9eHeJt1otc3JWnyR0DG
577
+ ok4y62xxl/y529npRJEkwXO7zoZXQVm+PoWZvYHDAgMBAAGjFzAVMBMGA1UdEQQM
578
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCEugh4aiI6L9PbBZDEnc7o
579
+ tUU2boCKwOsI6igtPaBhZZcQhyTi/qlmPMKZm58TFS8s//oiKhD3q31+OhQIe/Ak
580
+ pvuwJwcJLe0r4iUzbtGJsn3aIpXP+GHqEDM+38tZhXMpxq5Kv8Zp8Nm7R7XidGHg
581
+ OOBXQ64UDTUAHYvs+n4ltYLgTsqCPPWsHxieABjC3YDBJAdGa/H4cRB/qU7vKNkN
582
+ uAyfhVLBzaAcyYtQBef9cuulTUaE+KA8mN1kJNbA/b3E2MCGYCqf4eNN6gRdmtxG
583
+ 16aP/7qxvVlgWh1mYfUvIlszazjI8TI2N1y1JZOWpmO4RoyWhvqhWdPXKC/HyVub
584
+ -----END CERTIFICATE-----
585
+ """
586
+
587
+ SSL_TEST_DAEMON_PRIVATE_KEY = b"""-----BEGIN PRIVATE KEY-----
588
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDAIc6vaGVenMWj
589
+ N8uyIetlwtTXCVRK0aTwLj6HHXpcJCSFbIhvsZRlZ7Fvu4VelVNzXH/kmZhpUXY5
590
+ 9QQObspZ2z7TfVLgS0r4mAU8WqmCGi+F7cLVX7Du2E06jGhsBgKd9l6Ybud0SlW2
591
+ /y8IzdIq75bW9qD7viAkbXg6sSR1zqwg2lFpoSKaf9TFvdbgtiCIeCbTQEwTZktY
592
+ EEd3S+yY/HierG9RTcpXSJvC1Orcv/J8iH89U+C8QfNjULCChEOWhaw+qol2fKOK
593
+ 3394JsujORUn/9eHeJt1otc3JWnyR0DGok4y62xxl/y529npRJEkwXO7zoZXQVm+
594
+ PoWZvYHDAgMBAAECggEBAL2gIEfK91F71SwUI3x6McRLmJlrYcA+TVWnrprYIy3R
595
+ liIBTl8+msHCp8MpBqalJqnS/371gRFhDxiAlDJScnBhDQ7av/MTHLliALjimi4H
596
+ /iNm2EaTnSL+ZKqGbYFAJVEWGaLEwrdprlNgZGGCEg3CTdN3sscDjOGnEWSL9Po2
597
+ +nlHj3OFZJPZrTQkh8oRQXtf/cgtUDVKHBMaXeVZnNIvepaSW40y0clW4D70dEOy
598
+ NtYgPreUXgrkceXRz7TJbY5M6AwfvO7GYtMiER1zlWvnAK+AU6vUzCxek784hPQq
599
+ uiuhtJKf7H8dYxu9ShNWF+OITurFGx+qHnBk+u7Q4EECgYEA9T7hlIAkoq0ESOzl
600
+ 6PssluYZ51AIFiRr+74VRbDh+nTnZuRPvYzhjpx9CXFezn2LQT8k8+rK25fH1tEI
601
+ 0bv3b3K8LNytkE2KPk0tH8RitGq2cN/s7j2QK7yjCC/r/OCW3juSPIO42/QmFfgP
602
+ 2IhzP/hO4VQbnMufVLBapQI6/1ECgYEAyI6s1PajiAlKDbAqf2ha5HrKwFC6rsuP
603
+ 2RVmSKUdWnZLBO2ctzcKN8VuY+K8CGh1E3zL/OWWfnf0GLcnKiViDRgN5TSh4jv0
604
+ fJ4pSB+XFjetcHa1eGcrlbiXs538FkVzYLCFJgzOVwa17XcMP+CvtdaiGoSvlpAJ
605
+ eAz/e1n7ctMCgYEAyZvr7hx6AZGiWCEH0EPMIDEBUnskaq9+ZfGZozUKUM8R/C/s
606
+ rbLHKmnTEJQ2kCH8/KJgSnTWVzerfRlS2rhfbSsxLuArftl/sD/ZvKfBTPf9C0XK
607
+ jP/nKU1l6TEcG0K2Q/NNAJp4ubk4Jg9LV4K02/3ROsPd/0QVs5VWrxfqUEECgYAa
608
+ /CeBGBZ0zVsrcFKnhfEE4Qi6y6Hytu0J9nkmuSCz9UquxRHbDQrQ6j2qLu3B69wk
609
+ 3RvNUU7ogVdUpAAfCZyhymTEPEqz2AFTayx+ydFYafFqOm68XpVctdOjlVQ/4uRd
610
+ VCL2Na7lwr9jzirVxXOe8dwp2USO6556irUtcbQFhQKBgErhJh3hT8MaJITjkP+K
611
+ RBrvronn1x3iE4cApN2hOHtlaaf06HmazxGCBzElC3xmAac4kWqMXbE3e2nyiW6T
612
+ yBPH3fYzKH3SJhQ9vFcaMHmZgnSDR8NcrVeL3CMqxmhxgo7hnOG11fNsGpBxgyGg
613
+ GJygRZjw2nPID7SBUjH5vEq4
614
+ -----END PRIVATE KEY-----
615
+ """
616
+
617
+ SSL_TEST_INTRODUCER_PUBLIC_CRT = b"""-----BEGIN CERTIFICATE-----
618
+ MIIDLDCCAhSgAwIBAgIUQGJa9B0MRFmHuvjXjyCBbXypCBEwDQYJKoZIhvcNAQEL
619
+ BQAwRDENMAsGA1UECgwEQ2hpYTEQMA4GA1UEAwwHQ2hpYSBDQTEhMB8GA1UECwwY
620
+ T3JnYW5pYyBGYXJtaW5nIERpdmlzaW9uMCAXDTIyMDMyMjEwMjkyNVoYDzIxMDAw
621
+ ODAyMDAwMDAwWjBBMQ0wCwYDVQQDDARDaGlhMQ0wCwYDVQQKDARDaGlhMSEwHwYD
622
+ VQQLDBhPcmdhbmljIEZhcm1pbmcgRGl2aXNpb24wggEiMA0GCSqGSIb3DQEBAQUA
623
+ A4IBDwAwggEKAoIBAQDGNB8T3gN1kLSJ4QhzMcoS7UPLvoWxvxVqYUSEap+4EI//
624
+ LDKVlFKOl5icf808nVxGwb2XD7Io5wkX1kppBiqudri+WwHn9ayyhdpSi6eUsi3G
625
+ suPObKUTzNH9LOli6DA++GBaYoQUVXoOKWz3DVk8QMSCXgej5+09owdwIMHl8ytV
626
+ G36/LpPjH8Chr4y2MAUtz2Dc/Evyq8XfBIeD835Azhr2RXs3c/AOXVWXPt9A2BW8
627
+ sA7WvztNhYnqtL4EXpgG6H018aZTnCMEHEbil05fkfs+zRxgncqQ5BDSqARbkSDu
628
+ SeczaJtmW7E4yqRZTFZF2AnssyDuPQcl+qiYNNU1AgMBAAGjFzAVMBMGA1UdEQQM
629
+ MAqCCGNoaWEubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCFCSfOPoAbrIMBPLkiHGOv
630
+ a3OJmi/Kw9qfOp6iCVb4A0CE9ShzBZJqvSfZ/CnPeLsXy9zaRytrVHgkOXQyzbbv
631
+ uKiaBgwnLT1VFQlPorGBVJZisLl6uc+PIPK+9syqnOvaeilbI/UH1WrcESwrV2C1
632
+ 7CcV8ibj7a9WnWC0LvzNMDHFKqPyOUTmBZWHvS21fYHUXV/5abX19TmwOzJTOWuc
633
+ cms/M6RfeldLIgGhxGnqn1un2KLXJ9wGHqcTVkbp3Fvk3Sk/T2zxgmJCLLLzI7Ap
634
+ cvVw1It2vL4bmGfF/1CTjfawhEbmtvTl1NkY/e0c2AORZ1eCvz/ZQYuwZxCseP0u
635
+ -----END CERTIFICATE-----
636
+ """
637
+
638
+ SSL_TEST_INTRODUCER_PUBLIC_KEY = b"""-----BEGIN PRIVATE KEY-----
639
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDGNB8T3gN1kLSJ
640
+ 4QhzMcoS7UPLvoWxvxVqYUSEap+4EI//LDKVlFKOl5icf808nVxGwb2XD7Io5wkX
641
+ 1kppBiqudri+WwHn9ayyhdpSi6eUsi3GsuPObKUTzNH9LOli6DA++GBaYoQUVXoO
642
+ KWz3DVk8QMSCXgej5+09owdwIMHl8ytVG36/LpPjH8Chr4y2MAUtz2Dc/Evyq8Xf
643
+ BIeD835Azhr2RXs3c/AOXVWXPt9A2BW8sA7WvztNhYnqtL4EXpgG6H018aZTnCME
644
+ HEbil05fkfs+zRxgncqQ5BDSqARbkSDuSeczaJtmW7E4yqRZTFZF2AnssyDuPQcl
645
+ +qiYNNU1AgMBAAECggEAUpTg5fw44MEcF96lEKoMEfq9pqSJO9fr6lkAnVN3nM95
646
+ z83wfZZBF5xeP8aYEstV6T1L6yblClnI1h+4/S1Ol0ZsDxQIJUedXvyaTI5XkoLy
647
+ w7lBZX6rASbzz1LpIwavI22FZ+NoOLislD36Yq0zIwGxXsgi0s4NcQL+VF+xqkb8
648
+ 9Wc7wnV0LH7jsEk3DiUDVdlCvDCDVOuspOj63031H0aZR77OpcqzR3hqX/TYkMOs
649
+ 91F64owY4Ayda9zXg+nJvx5h8LyWTqeW4e2BRxxCWRcf3reQ/EeGbKwLVjjvQNyp
650
+ SiiIkAM6HkZ8P5bzrQYN5aqJvkjkg4ngeYrGBOrrgQKBgQDx6CK/2cW4k1X7I3YW
651
+ CSsqjaSp2zIyeU6wLWml1+xST8KXHosHZYAr7zZuhaafMiSqEj3rCVnVjwtcVLl+
652
+ oxB547rlU3BDKGTQpCeUn91NhPcXNK5nrV3wJwPen+cytxdPcf0c59gmigXV4BO1
653
+ xsI/5JzdJL0lzNgNy63n1oDzxQKBgQDRwC80chU5RUv0Q7IhAtIGwZMX27bds/MJ
654
+ RoZQdzzZpyu5HAkRxLOl81qPw1s7OTS1HutlrCRuuWHFGpULbysTiO+E9IA72zCr
655
+ cavggyOEacnaBzzXM9XU3JFjSNHnzrPjFaSStrTUxiERwnmDJroPq3XLXWCWriG3
656
+ TOGsVx3CsQKBgCfz9wlIpmc9rk20JaSuDvsQOcnz8e50KpLebTx+1QEjOzhKSxwF
657
+ n42iDJNkb4iLd5K/QIq5GKU04uN0+s33kJkRC6Ukir4MxdnPwtnBLYPIGiczBDsL
658
+ XyBy0SjLsBuoMallYjCL+h8jXKNeRuMW2K5Ey8OadcLweh6NLUPFIbchAoGBAMz5
659
+ v+fDuQPvuWsqoK/r3q2ljAabu5frHA2rcuS9saSN3oeWYzKPBHSfXZfydHxqyhxZ
660
+ 6/a/BBeEaIxDDvZOnE0J2/AVNB/Kc0SH4EyWOyZSb2T2/7jauhO7vQTGjAK5mEfJ
661
+ xbtue0cXnAeMAk1tkhRwHbwwM4zs/JvxsPRHahjxAoGAAlRSSamCk3Pig02/6bO0
662
+ ASWDksoRfp81GqsocXof+sea4jnNOtOyM9xTAEIgbooGVyakCxNSnEnTdWtrNkxy
663
+ 7JrD6xdelPw8BxpxJMd/kJhj+YQQDiVNxm2I99r1MAHG1bq/evaXm071jP5hvS/e
664
+ d8a1rEOCndTj7T9DNTBfYl0=
665
+ -----END PRIVATE KEY-----
666
+ """
667
+
668
+ SSL_TEST_PRIVATE_CA_CERT_AND_KEY_4: Tuple[bytes, bytes] = (SSL_TEST_PRIVATE_CA_CRT, SSL_TEST_PRIVATE_CA_KEY)
669
+
670
+ SSL_TEST_NODE_CERTS_AND_KEYS_4: 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
+ }