From 364cf56b463b3c20fe70c9e12a2ea77b5516934b Mon Sep 17 00:00:00 2001 From: Obiajulu <47371105+ObiajuluM@users.noreply.github.com> Date: Sat, 3 Sep 2022 04:08:17 -0700 Subject: [PATCH] Update and rename create_check.py to create_token_check.py --- .../_code-samples/checks/py/create_check.py | 1 - .../checks/py/create_token_check.py | 69 +++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) delete mode 100644 content/_code-samples/checks/py/create_check.py create mode 100644 content/_code-samples/checks/py/create_token_check.py diff --git a/content/_code-samples/checks/py/create_check.py b/content/_code-samples/checks/py/create_check.py deleted file mode 100644 index 8b13789179..0000000000 --- a/content/_code-samples/checks/py/create_check.py +++ /dev/null @@ -1 +0,0 @@ - diff --git a/content/_code-samples/checks/py/create_token_check.py b/content/_code-samples/checks/py/create_token_check.py new file mode 100644 index 0000000000..0b0c2c7d61 --- /dev/null +++ b/content/_code-samples/checks/py/create_token_check.py @@ -0,0 +1,69 @@ +from xrpl.wallet import Wallet +from xrpl.clients import JsonRpcClient +from xrpl.models import CheckCreate, IssuedCurrencyAmount +from xrpl.transaction import (safe_sign_and_autofill_transaction, + send_reliable_submission) +from xrpl.utils import ripple_time_to_datetime + +client = JsonRpcClient("https://s.altnet.rippletest.net:51234") # connect to the testnetwork + +"""Create a token check""" + +"""Helper methods for working with token names""" + +def symbol_to_hex(symbol: str = None) -> str: + """token symbol_to_hex.""" + if len(symbol) > 3: + bytes_string = bytes(str(symbol).encode('utf-8')) + return bytes_string.hex().upper().ljust(40, '0') + return symbol + +def hex_to_symbol(hex: str = None) -> str: + """token hex_to_symbol.""" + if len(hex) > 3: + bytes_string = bytes.fromhex(str(hex)).decode('utf-8') + return bytes_string.rstrip('\x00') + return hex + + +# check sender seed +sender_seed = "sxxxxxxxxxxxxxxxxxxxx" + +# check receiver address +receiver_addr = "rxxxxxxxxxxxxxxxxxxxxxxxxxx" + +# token name +token = "LegitXRP" + +# amount of token to deliver +amount = 10.00 + +# token issuer address +issuer = "rxxxxxxxxxxxxxxxxxxxxxxxx" + +# check expiry date +expiry_date = int # from xrpl.utils import datetime_to_ripple_time() + +# generate wallet from seed +sender_wallet = Wallet(seed=sender_seed, sequence=0) + +# build check create transaction +check_txn = CheckCreate(account=sender_wallet.classic_address, destination=receiver_addr, +send_max=IssuedCurrencyAmount( + currency=symbol_to_hex(token), + issuer=issuer, + value=amount), + expiration=expiry_date) + +# sign transaction +stxn = safe_sign_and_autofill_transaction(check_txn, sender_wallet, client) + +# submit transaction and wait for result +stxn_response = send_reliable_submission(stxn, client) + +# parse response for result +stxn_result = stxn_response.result + +# print result and transaction hash +print(stxn_result["meta"]["TransactionResult"]) +print(stxn_result["hash"])