From 4e0909b736b1c1d7f9fd0986d3f50c37b95dd5a0 Mon Sep 17 00:00:00 2001 From: sandipndev Date: Tue, 12 Mar 2024 14:29:35 +0530 Subject: [PATCH] chore: recv --- Makefile | 2 +- dev/Tiltfile | 13 ++++++++-- dev/bin/dev-ln-setup.sh | 39 ++++++++++++++++++++++++++++ dev/bin/dev-setup.sh | 10 ++----- e2e/detox/03-payment-send.test.ts | 10 +++---- e2e/detox/04-payment-receive.test.ts | 32 +++++++++++++++++++++++ 6 files changed, 90 insertions(+), 16 deletions(-) create mode 100755 dev/bin/dev-ln-setup.sh create mode 100644 e2e/detox/04-payment-receive.test.ts diff --git a/Makefile b/Makefile index 370970140d..d2f3857f89 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ tilt-down: cd dev && tilt down emulator: - emulator -avd Pixel_API_34 -gpu swiftshader + emulator -avd Pixel_API_34 -gpu swiftshader -wipe-data -no-boot-anim reset-e2e: tilt trigger dev-setup diff --git a/dev/Tiltfile b/dev/Tiltfile index f27d23e717..c321c109cf 100644 --- a/dev/Tiltfile +++ b/dev/Tiltfile @@ -33,14 +33,23 @@ dc_resource('otel-agent', labels = ["otel"]) dc_resource('quickstart-test', labels = ['quickstart'], auto_init=False) local_resource( - name='dev-setup', + name='dev-ln-setup', labels = ['dev-setup'], - cmd='bin/dev-setup.sh', + cmd='bin/dev-ln-setup.sh', resource_deps = galoy_services + [ "init-lightning" ] ) +local_resource( + name='dev-setup', + labels = ['dev-setup'], + cmd='bin/dev-setup.sh', + resource_deps = [ + "dev-ln-setup" + ] +) + local_resource( name='one-block-every-5s', labels = ['dev-setup'], diff --git a/dev/bin/dev-ln-setup.sh b/dev/bin/dev-ln-setup.sh new file mode 100755 index 0000000000..8e16a886c4 --- /dev/null +++ b/dev/bin/dev-ln-setup.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +set -e + +REPO_ROOT=$(git rev-parse --show-toplevel) + +source ${REPO_ROOT}/dev/vendor/galoy-quickstart/bin/helpers.sh +source ${REPO_ROOT}/dev/vendor/galoy-quickstart/dev/helpers/cli.sh + +function performTransactions { + address="$(lnd_cli newaddress p2wkh | jq -r '.address')" + bitcoin_cli sendtoaddress "$address" 0.1 + bitcoin_cli -generate 3 + + address="$(lnd_outside_cli newaddress p2wkh | jq -r '.address')" + bitcoin_cli sendtoaddress "$address" 0.1 + bitcoin_cli -generate 3 + + btc_amount=100000 + invoice_response="$(lnd_cli addinvoice --amt $btc_amount)" + payment_request="$(echo $invoice_response | jq -r '.payment_request')" + lnd_outside_cli payinvoice -f --pay_req "$payment_request" + local result1=$? + + btc_amount=20000 + invoice_response="$(lnd_outside_cli addinvoice --amt $btc_amount)" + payment_request="$(echo $invoice_response | jq -r '.payment_request')" + lnd_cli payinvoice -f --pay_req "$payment_request" + local result2=$? + + return $(($result1 + $result2)) +} + +until performTransactions; do + echo "One or more transactions failed. Retrying in 5 seconds..." + sleep 5 +done + +echo "lnd <--> lnd-outside channel created with funds" diff --git a/dev/bin/dev-setup.sh b/dev/bin/dev-setup.sh index 65efea3d95..cd74093095 100755 --- a/dev/bin/dev-setup.sh +++ b/dev/bin/dev-setup.sh @@ -26,7 +26,8 @@ echo "alice funded & set up" login_user "bob" "$BOB_PHONE" "000000" echo "bob logged in" BOB_TOKEN=$(read_value "bob") -receive_onchain "bob" +receive_onchain "bob" "btc" +receive_onchain "bob" "usd" exec_graphql 'bob' 'user-update-username' "{\"input\": {\"username\": \"$BOB_USERNAME\"}}" echo "bob funded & set up" @@ -38,10 +39,3 @@ BOB_PHONE="$BOB_PHONE" BOB_TOKEN="$BOB_TOKEN" BOB_USERNAME="bob_$BOB_SUFFIX" EOF - -btc_amount=100000 -invoice_response="$(lnd_cli addinvoice --amt $btc_amount)" -payment_request="$(echo $invoice_response | jq -r '.payment_request')" -lnd_outside_cli payinvoice -f --pay_req "$payment_request" - -echo "lnd channel created with local funds" diff --git a/e2e/detox/03-payment-send.test.ts b/e2e/detox/03-payment-send.test.ts index a814013ba9..32c86d8f2d 100644 --- a/e2e/detox/03-payment-send.test.ts +++ b/e2e/detox/03-payment-send.test.ts @@ -20,7 +20,7 @@ beforeAll(async () => { await setLocalAndLoginWithAccessToken(ALICE_TOKEN, LL) }) -describe("Intraledger using Username - BTC Amount", () => { +describe("Send: Intraledger using Username - BTC Amount", () => { it("send btc to bob using his username", async () => { await tap(by.id(LL.HomeScreen.send())) @@ -65,7 +65,7 @@ describe("Intraledger using Username - BTC Amount", () => { }) }) -describe("Intraledger using Username - USD Amount", () => { +describe("Send: Intraledger using Username - USD Amount", () => { it("send btc to bob using his username", async () => { await tap(by.id(LL.HomeScreen.send())) @@ -113,7 +113,7 @@ describe("Intraledger using Username - USD Amount", () => { }) }) -describe("Intraledger using LN Invoice", () => { +describe("Send: Intraledger using LN Invoice", () => { it("send btc to bob using his ln invoice", async () => { await tap(by.id(LL.HomeScreen.send())) @@ -154,7 +154,7 @@ describe("Intraledger using LN Invoice", () => { }) }) -describe("Send to External LN Invoice", () => { +describe("Send: to External LN Invoice", () => { it("send btc to an external invoice taken from lnd-outside-1", async () => { await tap(by.id(LL.HomeScreen.send())) @@ -190,7 +190,7 @@ describe("Send to External LN Invoice", () => { }) }) -describe("Send to Onchain Address", () => { +describe("Send: to Onchain Address", () => { it("send btc to an onchain address from bitcoind", async () => { await tap(by.id(LL.HomeScreen.send())) diff --git a/e2e/detox/04-payment-receive.test.ts b/e2e/detox/04-payment-receive.test.ts new file mode 100644 index 0000000000..c67cabaae3 --- /dev/null +++ b/e2e/detox/04-payment-receive.test.ts @@ -0,0 +1,32 @@ +import "detox" + +import { i18nObject } from "../../app/i18n/i18n-util" +import { loadLocale } from "../../app/i18n/i18n-util.sync" +import { + getExternalLNNoAmountInvoice, + getLnInvoiceForBob, + getOnchainAddress, +} from "./utils/commandline" +import { setLocalAndLoginWithAccessToken, waitForHomeScreen } from "./utils/common-flows" +import { timeout, BOB_USERNAME, ALICE_TOKEN } from "./utils/config" +import { addAmount, tap, verifyTextPresent, sleep, slideSlider } from "./utils/controls" + +loadLocale("en") +const LL = i18nObject("en") + +// Make sure all tests in this file reset back to home screen because tests reuse same session in this file +beforeAll(async () => { + await device.launchApp({ newInstance: true }) + await setLocalAndLoginWithAccessToken(ALICE_TOKEN, LL) +}) + +// Only for the LN tests do we send funds from bob's account for alice to receive +describe("Receive: LN BTC Amountless", () => {}) +describe("Receive: LN BTC $0.02 Amount", () => {}) +describe("Receive: LN Stablesats Amountless", () => {}) +describe("Receive: LN Stablesats $0.02 Amount", () => {}) + +describe("Receive: Onchain BTC", () => {}) +describe("Receive: Onchain Stablesats", () => {}) + +describe("Receive: Paycode", () => {})