From 873f893f4429d49ce33ef1f01d81277935744cf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20V=C3=A1zquez?= Date: Tue, 11 Jan 2022 14:12:37 +0100 Subject: [PATCH] First implementation of xch rpc wallet dealer that includes the main functionalities --- CHANGELOG.md | 5 ++ Pipfile | 12 +++ Pipfile.lock | 99 +++++++++++++++++++++++++ README.md | 140 +++++++++++++++++++++++++++++++++++ VERSION | 1 + config_example.yaml | 16 ++++ doc/chia-wallet-dealer.png | Bin 0 -> 156973 bytes doc/xch-icon.png | Bin 0 -> 8854 bytes lib/dealermath/__init.py__ | 0 lib/dealermath/dealermath.py | 25 +++++++ lib/rpc/__init.py__ | 0 lib/rpc/xchrpc.py | 99 +++++++++++++++++++++++++ xchdealer.py | 114 ++++++++++++++++++++++++++++ 13 files changed, 511 insertions(+) create mode 100644 CHANGELOG.md create mode 100644 Pipfile create mode 100644 Pipfile.lock create mode 100644 README.md create mode 100644 VERSION create mode 100644 config_example.yaml create mode 100644 doc/chia-wallet-dealer.png create mode 100644 doc/xch-icon.png create mode 100644 lib/dealermath/__init.py__ create mode 100644 lib/dealermath/dealermath.py create mode 100644 lib/rpc/__init.py__ create mode 100644 lib/rpc/xchrpc.py create mode 100755 xchdealer.py diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..faf7bc0 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,5 @@ +# 0.1.1 +* Minor fixes + +# 0.1.0 +* First implementation of xch rpc wallet dealer diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..bf4d75d --- /dev/null +++ b/Pipfile @@ -0,0 +1,12 @@ +[[source]] +name = "pypi" +url = "https://pypi.org/simple" +verify_ssl = true + +[packages] +requests = "*" +pyyaml = "*" + +[requires] +python_version = "3" + diff --git a/Pipfile.lock b/Pipfile.lock new file mode 100644 index 0000000..e919342 --- /dev/null +++ b/Pipfile.lock @@ -0,0 +1,99 @@ +{ + "_meta": { + "hash": { + "sha256": "5692032b7e232544624cc9a24e8f5d7e34e4c7b90021019c3c60808bcc4cd654" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "certifi": { + "hashes": [ + "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872", + "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569" + ], + "version": "==2021.10.8" + }, + "charset-normalizer": { + "hashes": [ + "sha256:876d180e9d7432c5d1dfd4c5d26b72f099d503e8fcc0feb7532c9289be60fcbd", + "sha256:cb957888737fc0bbcd78e3df769addb41fd1ff8cf950dc9e7ad7793f1bf44455" + ], + "markers": "python_version >= '3'", + "version": "==2.0.10" + }, + "idna": { + "hashes": [ + "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff", + "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" + ], + "markers": "python_version >= '3'", + "version": "==3.3" + }, + "pyyaml": { + "hashes": [ + "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293", + "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b", + "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57", + "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b", + "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4", + "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07", + "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba", + "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9", + "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287", + "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513", + "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0", + "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0", + "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92", + "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f", + "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2", + "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc", + "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c", + "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86", + "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4", + "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c", + "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34", + "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b", + "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c", + "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb", + "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737", + "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3", + "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d", + "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53", + "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78", + "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803", + "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a", + "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174", + "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5" + ], + "index": "pypi", + "version": "==6.0" + }, + "requests": { + "hashes": [ + "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61", + "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d" + ], + "index": "pypi", + "version": "==2.27.1" + }, + "urllib3": { + "hashes": [ + "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed", + "sha256:0e7c33d9a63e7ddfcb86780aac87befc2fbddf46c58dbb487e0855f7ceec283c" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", + "version": "==1.26.8" + } + }, + "develop": {} +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..c20b415 --- /dev/null +++ b/README.md @@ -0,0 +1,140 @@ +# Chia XCH Wallet Dealer + +![hello](doc/chia-wallet-dealer.png) + +## Description +Welcome to Chia RPC XCH Wallet Dealer. The purpose of this project is fractionate and send XCH of an existing and synced chia wallet (using the Chia RPC Protocol) to multiple wallets destinations, using partitions rules on a config file. +Developed and tested only with the official [chia-blockchain](https://github.com/Chia-Network/chia-blockchain) project. + +If you found the project useful, please consider a donation to my chia wallet :) + +![walleticon](doc/xch-icon.png) `xch1vt3g694eclvcjmrj8mq83vtgrva9sw0qdz34muxrqjh5y5fzq6vq89n605` + +## Requirements +Attending the official [chia RPC doc](https://docs.chia.net/docs/12rpcs/rpcs/) you need a wallet listening via RPC Protocol, built with a default installation. + +You may also need Python interpreter (3.x) installed on your system and it is recommended to use pipenv for installing all libraries dependencies. You can install it with + +```bash +pip3 install pipenv +``` + +## Usage +### The environment +* Install the environment with + +```bash +pipenv install +``` + +* Enter in the environment with + +```bash +pipenv shell +``` + +You can also execute xchdealer without entering in the environment, using `pipenv run python xchdealer.py [params]`, example: + +``` +pipenv run python xchdealer.py --help + +usage: xchdealer.py [-h] -f CONFIG_FILE [-m {simulate,execute}] +... + +``` +### Edit the config +* Edit config_example.yaml to your needs and rename it if you want + +## Config file +Example of config file: +```yaml +--- +rpc_connector: + host: "localhost" #Host of the wallet + port: 9256 #Port of the rpc wallet + private_wallet_cert_path: "~/.chia/mainnet/config/ssl/wallet/private_wallet.crt" #Private certificate to connect with RPC + private_wallet_key_path: "~/.chia/mainnet/config/ssl/wallet/private_wallet.key" #Key of the certificate to connect with RP +dealer: + source_wallet: + id: 1 #ID of source wallet, can be identified launching in simulate mode + distribute_percentage_of_total: 100.0 #Percentage of all amount will be distributed, the rest keep on the wallet + fee: 0 #Transaction fee, default 0 + destination_wallets: + - name: "iv-vz" #For each destination specify a name + address: "xch1vt3g694eclvcjmrj8mq83vtgrva9sw0qdz34muxrqjh5y5fzq6vq89n605" #Address of the destination wallet + distribution_percentage: 90.0 #Percentage of total amount assigned to this wallet + - name: "alber" + address: "xch1vt3g694eclvcjmrj8mq83vtgrva9sw0qdz34muxrqjh5y5fzq6vq89n605" + distribution_percentage: 10.0 + +#The sum of all distribution_percentage of destination_wallets must be equal to 100.0 +``` + +## Arguments + +### Simulate mode + +* You can execute xchdealer in simulate mode to show only the dealing results, check the config or identify the id of source wallet. Run: + +```bash +python xchdealer.py -f config_example.yaml -m simulate +``` + +### Execute mode + +* If you are sure of the result, you can execute the real transactions with: + +```bash +python xchdealer.py -f config_example.yaml -m execute +``` + +## Example execution output + +### Simulate mode + +``` +$ pipenv run python xchdealer.py -f config_example.yaml -m simulate + +[INFO]|2022-01-23 10:42:49,926|xchdealer.py||Welcome to Chia XCH RPC Dealer +[INFO]|2022-01-23 10:42:49,927|xchdealer.py|load_config_file|Successfully loaded config file config_example.yaml +[INFO]|2022-01-23 10:42:49,928|xchrpc.py|__init__|RPC connector set to localhost:9256 using certs ('/home/zxs/.chia/mainnet/config/ssl/wallet/private_wallet.crt', '/home/zxs/.chia/mainnet/config/ssl/wallet/private_wallet.key') +[INFO]|2022-01-23 10:42:49,928|xchdealer.py||XCH Dealer routine set to simulate mode +[INFO]|2022-01-23 10:42:49,928|xchrpc.py|check_available_wallets|Checking available RPC chia wallets +[INFO]|2022-01-23 10:42:49,936|xchrpc.py|check_available_wallets|Connection with chia RPC protocol sucessfull +[INFO]|2022-01-23 10:42:49,936|xchrpc.py|check_available_wallets|Available wallets: [{'data': '', 'id': 1, 'name': 'Chia Wallet', 'type': 0}] +[INFO]|2022-01-23 10:42:49,936|xchrpc.py|check_wallets_synced|Checking chia wallets synced +[INFO]|2022-01-23 10:42:49,942|xchrpc.py|check_wallets_synced|Wallets are NOT syncing with network +[INFO]|2022-01-23 10:42:49,942|xchrpc.py|check_wallets_synced|Wallets are correctly synced with network +[INFO]|2022-01-23 10:42:49,942|xchrpc.py|check_wallet_balance|Checking XCH balance on wallet id 1 +[INFO]|2022-01-23 10:42:49,952|xchrpc.py|check_wallet_balance|Available balance for sending (max_send_amount): 217771 MOJOs == 0.000000217771 XCH +[INFO]|2022-01-23 10:42:49,952|xchdealer.py|check_percentages|All percentages in config are correctly set and pass checksum test +[INFO]|2022-01-23 10:42:49,952|xchdealer.py|calculate_deals|Calculating proportions of deal +[INFO]|2022-01-23 10:42:49,952|xchdealer.py|calculate_deals|1.0% of the total amount will be dealed: 2177 MOJOs +[INFO]|2022-01-23 10:42:49,952|xchdealer.py|calculate_deals|iv-vz will receive 2177 MOJOs == 0.000000002177 XCH +[INFO]|2022-01-23 10:42:49,952|xchdealer.py||Simulate mode finished, if you want to apply and send XCH launch xchdealer in 'execute' mode +``` + +### Execute mode +``` +$ pipenv run python xchdealer.py -f config_example.yaml -m execute + +[INFO]|2022-01-23 10:48:09,499|xchdealer.py||Welcome to Chia XCH RPC Dealer +[INFO]|2022-01-23 10:48:09,501|xchdealer.py|load_config_file|Successfully loaded config file config_example.yaml +[INFO]|2022-01-23 10:48:09,501|xchrpc.py|__init__|RPC connector set to localhost:9256 using certs ('/home/zxs/.chia/mainnet/config/ssl/wallet/private_wallet.crt', '/home/zxs/.chia/mainnet/config/ssl/wallet/private_wallet.key') +[INFO]|2022-01-23 10:48:09,501|xchdealer.py||XCH Dealer routine set to execute mode +[INFO]|2022-01-23 10:48:09,501|xchrpc.py|check_available_wallets|Checking available RPC chia wallets +[INFO]|2022-01-23 10:48:09,510|xchrpc.py|check_available_wallets|Connection with chia RPC protocol sucessfull +[INFO]|2022-01-23 10:48:09,510|xchrpc.py|check_available_wallets|Available wallets: [{'data': '', 'id': 1, 'name': 'Chia Wallet', 'type': 0}] +[INFO]|2022-01-23 10:48:09,510|xchdealer.py|default_routine|Configured source wallet id: 1 is available, using it to operate +[INFO]|2022-01-23 10:48:09,510|xchrpc.py|check_wallet_balance|Checking XCH balance on wallet id 1 +[INFO]|2022-01-23 10:48:09,518|xchrpc.py|check_wallet_balance|Available balance for sending (max_send_amount): 217771 MOJOs == 0.000000217771 XCH +[INFO]|2022-01-23 10:48:09,518|xchdealer.py|check_percentages|All percentages in config are correctly set and pass checksum test +[INFO]|2022-01-23 10:48:09,518|xchdealer.py|calculate_deals|Calculating proportions of deal +[INFO]|2022-01-23 10:48:09,518|xchdealer.py|calculate_deals|1.0% of the total amount will be dealed: 2177 MOJOs +[INFO]|2022-01-23 10:48:09,518|xchdealer.py|calculate_deals|iv-vz will receive 2177 MOJOs == 0.000000002177 XCH +[INFO]|2022-01-23 10:48:09,518|xchdealer.py|default_routine|Preparing transaction to iv-vz with 0.000000002177 XCH +[INFO]|2022-01-23 10:48:09,518|xchrpc.py|send_wallet_transaction|Sending 2177 MOJO to address xch1vt3g694eclvcjmrj8mq83vtgrva9sw0qdz34muxrqjh5y5fzq6vq89n605 +[INFO]|2022-01-23 10:48:09,634|xchrpc.py|send_wallet_transaction|Transaction successfully sent/registered! +[INFO]|2022-01-23 10:48:09,634|xchrpc.py|send_wallet_transaction|Transaction ID: 0xf874f58c59f350e12c171e7972b0bc518fc53d4f7d4577474c3eb593471c0d73 +[INFO]|2022-01-23 10:48:09,701|xchdealer.py||Execute mode finished! +``` \ No newline at end of file diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..17e51c3 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.1.1 diff --git a/config_example.yaml b/config_example.yaml new file mode 100644 index 0000000..c56d337 --- /dev/null +++ b/config_example.yaml @@ -0,0 +1,16 @@ +--- +rpc_connector: + host: "localhost" + port: 9256 + private_wallet_cert_path: "~/.chia/mainnet/config/ssl/wallet/private_wallet.crt" + private_wallet_key_path: "~/.chia/mainnet/config/ssl/wallet/private_wallet.key" + +dealer: + source_wallet: + id: 1 + distribute_percentage_of_total: 0.1 + fee: 0 + destination_wallets: + - name: "iv-vz" + address: "xch1vt3g694eclvcjmrj8mq83vtgrva9sw0qdz34muxrqjh5y5fzq6vq89n605" + distribution_percentage: 100.0 diff --git a/doc/chia-wallet-dealer.png b/doc/chia-wallet-dealer.png new file mode 100644 index 0000000000000000000000000000000000000000..8cf57caa0619d860e55f8b1db52a07ba9143e4ab GIT binary patch literal 156973 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

sa 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 DK+SZY literal 0 HcmV?d00001 diff --git a/doc/xch-icon.png b/doc/xch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3c705806ff2523f39aaf8db8d35f476359b94cd3 GIT binary patch literal 8854 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 literal 0 HcmV?d00001 diff --git a/lib/dealermath/__init.py__ b/lib/dealermath/__init.py__ new file mode 100644 index 0000000..e69de29 diff --git a/lib/dealermath/dealermath.py b/lib/dealermath/dealermath.py new file mode 100644 index 0000000..abbec6a --- /dev/null +++ b/lib/dealermath/dealermath.py @@ -0,0 +1,25 @@ +class DealerMath(): + + @staticmethod + def mojo_to_xch_str(mojos=int): + max_send_amount_xch = (mojos / 1000000000000) + return(f'{max_send_amount_xch:.12f}') + + @staticmethod + def calculate_proportion(total_amount=int, percentage=float): + if DealerMath.is_between(0.0, percentage, 100.0): + return(int((percentage / 100) * total_amount)) + else: + raise Exception(f"Percentage values must be between 0.0 and 100.0! Specified: {str(percentage)}") + + @staticmethod + def check_sum(sum_elements=list, expected_total_value=float): + if all(isinstance(x, float) for x in sum_elements): + if sum(sum_elements) != expected_total_value: + raise Exception(f"The sum of {str(' + '.join(map(str, sum_elements)))} is not equal to {str(expected_total_value)}!") + else: + raise Exception(f"NOT all percentage values are written as floats!") + + @staticmethod + def is_between(a, x, b): + return min(a, b) <= x <= max(a, b) \ No newline at end of file diff --git a/lib/rpc/__init.py__ b/lib/rpc/__init.py__ new file mode 100644 index 0000000..e69de29 diff --git a/lib/rpc/xchrpc.py b/lib/rpc/xchrpc.py new file mode 100644 index 0000000..4cf1fbc --- /dev/null +++ b/lib/rpc/xchrpc.py @@ -0,0 +1,99 @@ +import logging, requests, json +from os.path import expanduser +from requests.packages.urllib3.exceptions import InsecureRequestWarning +from lib.dealermath.dealermath import DealerMath + +class RemoteProcedureCall(): + + def __init__(self, host="localhost", port=9256, private_wallet_cert_path="~/.chia/mainnet/config/ssl/wallet/private_wallet.crt", private_wallet_key_path="~/.chia/mainnet/config/ssl/wallet/private_wallet.key"): + requests.packages.urllib3.disable_warnings(InsecureRequestWarning) + + self.default_rpc_headers = {'Content-Type': 'application/json'} + self.default_wallet_certs = (expanduser(private_wallet_cert_path), expanduser(private_wallet_key_path)) + self.host = host + self.port = port + + logging.info(f"RPC connector set to {self.host}:{str(self.port)} using certs {str(self.default_wallet_certs)}") + + + def check_available_wallets(self): + logging.info('Checking available RPC chia wallets') + + request_data = {"wallet_id": "*"} + try: + response = requests.post(f"https://{self.host}:{str(self.port)}/get_wallets", headers=self.default_rpc_headers, json=request_data, cert=self.default_wallet_certs, verify=False) + response.raise_for_status() + except Exception as e: + logging.error(f"Cannot get available RPC chia wallets {str(e)}") + return(False) + else: + available_wallets = json.loads(response.text)['wallets'] + logging.info(f"Connection with chia RPC protocol sucessfull") + logging.info(f"Available wallets: {available_wallets}") + return(available_wallets) + + def check_wallets_synced(self): + logging.info(f"Checking chia wallets synced") + + request_data = {} + try: + response = requests.post(f"https://{self.host}:{str(self.port)}/get_sync_status", headers=self.default_rpc_headers, json=request_data, cert=self.default_wallet_certs, verify=False) + response.raise_for_status() + except Exception as e: + logging.error(f"Cannot get RPC chia wallets sync status {str(e)}") + return(False) + else: + loaded_json = json.loads(response.text) + if loaded_json["syncing"]: + logging.info(f"Wallets are syncing with network") + else: + logging.info(f"Wallets are NOT syncing with network") + + if loaded_json["synced"]: + logging.info(f"Wallets are correctly synced with network") + else: + logging.warning(f"Wallets are NOT synced with network") + return(False) + + def check_wallet_balance(self, wallet_id=int): + logging.info(f"Checking XCH balance on wallet id {str(wallet_id)}") + + request_data = {"wallet_id": wallet_id} + try: + response = requests.post(f"https://{self.host}:{str(self.port)}/get_wallet_balance", headers=self.default_rpc_headers, json=request_data, cert=self.default_wallet_certs, verify=False) + response.raise_for_status() + except Exception as e: + logging.error(f"Cannot get available RPC chia wallets {str(e)}") + return(False) + else: + max_send_amount_mojo = int(json.loads(response.text)["wallet_balance"]["max_send_amount"]) + max_send_amount_xch_str = DealerMath.mojo_to_xch_str(max_send_amount_mojo) + logging.info(f"Available balance for sending (max_send_amount): {str(max_send_amount_mojo)} MOJOs == {str(max_send_amount_xch_str)} XCH") + + return(max_send_amount_mojo, max_send_amount_xch_str) + + def send_wallet_transaction(self, source_wallet_id=int, amount=int, destination_wallet_address=str, fee=0): + logging.info(f"Sending {str(amount)} MOJO to address {destination_wallet_address}") + + request_data = { + "wallet_id": source_wallet_id, + "amount": amount, + "address": destination_wallet_address, + "fee": fee + } + try: + response = requests.post(f"https://{self.host}:{str(self.port)}/send_transaction", headers=self.default_rpc_headers, json=request_data, cert=self.default_wallet_certs, verify=False) + response.raise_for_status() + except Exception as e: + logging.error(str(e)) + return(False) + else: + loaded_json = json.loads(response.text) + if loaded_json["success"]: + logging.info(f"Transaction successfully sent/registered!") + logging.info(f"Transaction ID: {loaded_json['transaction_id']}") + return(True) + else: + logging.error(f"Cannot send transaction! {str(response.text)}") + return(False) + diff --git a/xchdealer.py b/xchdealer.py new file mode 100755 index 0000000..67a0cb9 --- /dev/null +++ b/xchdealer.py @@ -0,0 +1,114 @@ +#!/bin/python +import argparse, requests, logging, sys, yaml +from lib.rpc.xchrpc import RemoteProcedureCall +from lib.dealermath.dealermath import DealerMath + +def set_app_logger(): + root = logging.getLogger() + root.setLevel(logging.INFO) + handler = logging.StreamHandler(sys.stdout) + handler.setLevel(logging.INFO) + formatter = logging.Formatter('[%(levelname)s]|%(asctime)s|%(filename)s|%(funcName)s|%(message)s') + handler.setFormatter(formatter) + root.addHandler(handler) + +def get_app_argparse(): + parser = argparse.ArgumentParser(description='Fractionate and send XCH of a chia wallet (using the Chia RPC Protocol) to multiple wallets destinations using partitions rules on a config file.') + + parser.add_argument('-f', '--config-file', type=str, help='YAML config file', required=True) + parser.add_argument('-m', '--mode', + type=str, + choices=['simulate', 'execute'], + default='simulate', required=False, + help='Simulate only or really execute the deal') + + global args + args = parser.parse_args() + +def load_config_file(): + global config + try: + with open(args.config_file, 'r') as file: + config = yaml.full_load(file) + except Exception as e: + logging.error(f"Cannot open config file {args.config_file}: {str(e)}") + exit(1) + else: + logging.info(f"Successfully loaded config file {args.config_file}") + +def calculate_deals(total_mojos, total_xch_str): + logging.info(f"Calculating proportions of deal") + dealing_total_mojo = DealerMath.calculate_proportion(total_mojos, float(config['dealer']['source_wallet']['distribute_percentage_of_total'])) + + logging.info(f"{str(config['dealer']['source_wallet']['distribute_percentage_of_total'])}% of the total amount will be dealed: {str(dealing_total_mojo)} MOJOs") + + deals = {} + + for count, dest in enumerate(config['dealer']['destination_wallets']): + will_receive_mojos = DealerMath.calculate_proportion(dealing_total_mojo, float(config['dealer']['destination_wallets'][count]['distribution_percentage'])) + deals[dest['name']] = {'address': dest['address'], 'mojo': will_receive_mojos, 'xch': DealerMath.mojo_to_xch_str(will_receive_mojos)} + logging.info(f"{dest['name']} will receive {will_receive_mojos} MOJOs == {DealerMath.mojo_to_xch_str(will_receive_mojos)} XCH") + + return(deals) + +def check_percentages(): + try: + DealerMath.check_sum([d['distribution_percentage'] for d in config['dealer']['destination_wallets']], 100.0) + except Exception as e: + logging.error(f"Incorrect configurated distribution percentages: {str(e)}") + exit(1) + else: + logging.info(f"All percentages in config are correctly set and pass checksum test") + +def default_routine(): + available_wallets = rpc.check_available_wallets() + if available_wallets == False: + exit(1) + + if any(d['id'] == config["dealer"]["source_wallet"]["id"] for d in available_wallets): + logging.info(f"Configured source wallet id: {str(config['dealer']['source_wallet']['id'])} is available, using it to operate") + else: + logging.error(f"Configured source wallet id: {str(config['dealer']['source_wallet']['id'])} not in available wallets") + exit(1) + + max_send_amount_mojo, max_send_amount_xch_str = rpc.check_wallet_balance(wallet_id=int(config['dealer']['source_wallet']['id'])) + check_percentages() + deals = calculate_deals(max_send_amount_mojo, max_send_amount_xch_str) + + for name, data in deals.items(): + logging.info(f"Preparing transaction to {name} with {data['xch']} XCH") + rpc.send_wallet_transaction(source_wallet_id=config['dealer']['source_wallet']['id'], amount=data['mojo'], destination_wallet_address=data['address']) + +def check_only_routine(): + rpc.check_available_wallets() + rpc.check_wallets_synced() + max_send_amount_mojo, max_send_amount_xch_str = rpc.check_wallet_balance(wallet_id=int(config['dealer']['source_wallet']['id'])) + check_percentages() + deals = calculate_deals(max_send_amount_mojo, max_send_amount_xch_str) + +if __name__ == "__main__": + get_app_argparse() + set_app_logger() + logging.info(f"Welcome to Chia XCH RPC Dealer") + load_config_file() + + rpc = RemoteProcedureCall( + host=config["rpc_connector"]["host"], + port=int(config["rpc_connector"]["port"]), + private_wallet_cert_path=config["rpc_connector"]["private_wallet_cert_path"], + private_wallet_key_path=config["rpc_connector"]["private_wallet_key_path"]) + + logging.info(f"XCH Dealer routine set to {args.mode} mode") + + if args.mode == "simulate": + check_only_routine() + logging.info(f"Simulate mode finished, if you want to apply and send XCH launch xchdealer in 'execute' mode") + elif args.mode == "execute": + default_routine() + logging.info(f"Execute mode finished!") + else: + logging.error(f"Only simulate or execute modes can be set") + exit(1) + exit(0) + +