def swap_pool(transfer_request: EthereumToSifchainTransferRequest, sent_symbol, received_symbol, credentials: SifchaincliCredentials): logging.debug(f"swap_pool") yes_entry = f"yes {credentials.keyring_passphrase} | " if credentials.keyring_passphrase else "" keyring_backend_entry = f"--keyring-backend {credentials.keyring_backend}" if credentials.keyring_backend else "" chain_id_entry = f"--chain-id {transfer_request.chain_id}" if transfer_request.chain_id else "" node = f"--node {transfer_request.sifnodecli_node}" if transfer_request.sifnodecli_node else "" sifchain_fees_entry = f"--fees {transfer_request.sifchain_fees}" if transfer_request.sifchain_fees else "" cmd = " ".join([ yes_entry, "sifnodecli tx clp swap", f"--from {transfer_request.sifchain_address}", f"--sentSymbol {sent_symbol}", f"--receivedSymbol {received_symbol}", f"--sentAmount {transfer_request.amount}", f"--minReceivingAmount {int(transfer_request.amount * 0.99)}", keyring_backend_entry, chain_id_entry, node, sifchain_fees_entry, f"--home {credentials.sifnodecli_homedir} ", "-y -o json" ]) json_str = get_shell_output_json(cmd) assert (json_str.get("code", 0) == 0) txn = get_transaction_result(json_str["txhash"], transfer_request.sifnodecli_node, transfer_request.chain_id) tx = txn["tx"] logging.debug(f"resulting tx: {tx}") return txn
def add_pool_liquidity(transfer_request: EthereumToSifchainTransferRequest, credentials: SifchaincliCredentials): logging.debug(f"add_pool_liquidity") yes_entry = f"yes {credentials.keyring_passphrase} | " if credentials.keyring_passphrase else "" keyring_backend_entry = f"--keyring-backend {credentials.keyring_backend}" if credentials.keyring_backend else "" chain_id_entry = f"--chain-id {transfer_request.chain_id}" if transfer_request.chain_id else "" node = f"--node {transfer_request.sifnodecli_node}" if transfer_request.sifnodecli_node else "" sifchain_fees_entry = f"--fees {transfer_request.sifchain_fees}" if transfer_request.sifchain_fees else "" cmd = " ".join([ yes_entry, "sifnodecli tx clp add-liquidity", f"--from {transfer_request.sifchain_address}", f"--symbol {transfer_request.sifchain_symbol}", f"--nativeAmount {transfer_request.amount}", f"--externalAmount {transfer_request.amount}", keyring_backend_entry, chain_id_entry, node, sifchain_fees_entry, f"--home {credentials.sifnodecli_homedir} ", "-y -o json" ]) json_str = get_shell_output_json(cmd) assert (json_str.get("code", 0) == 0) txn = get_transaction_result(json_str["txhash"], transfer_request.sifnodecli_node, transfer_request.chain_id) tx = txn["tx"] logging.debug(f"resulting tx: {tx}") return txn