/ scripts / mprocs-nix-gateway.sh
mprocs-nix-gateway.sh
 1  # shellcheck shell=bash
 2  
 3  set -eo pipefail
 4  
 5  eval "$(devimint env)"
 6  
 7  echo Waiting for devimint to start up fedimint and gateway
 8  
 9  STATUS="$(devimint wait)"
10  if [ "$STATUS" = "ERROR" ]; then
11      echo "fedimint didn't start correctly"
12      echo "See other panes for errors"
13      exit 1
14  fi
15  
16  # Check if argument is provided
17  if [ -z "$GATEWAY_TYPE" ]; then
18      echo "Error: GATEWAY_TYPE is required for gateway-ui dev. Use 'cln', 'lnd', or 'ldk'."
19      exit 1
20  fi
21  
22  # Configure UI env from devimint env
23  LOCAL_GATEWAY_API_ADDR=$FM_GATEWAY_API_ADDR
24  
25  # Handle which gateway to connect to
26  if [ "$GATEWAY_TYPE" = "cln" ]; then
27      LOCAL_GATEWAY_API_ADDR="$FM_GATEWAY_API_ADDR"
28  elif [ "$GATEWAY_TYPE" = "lnd" ]; then
29      LOCAL_GATEWAY_API_ADDR=$(echo "$FM_GATEWAY_API_ADDR" | sed -E 's/:([0-9]+)$/:'"$(($(echo "$FM_GATEWAY_API_ADDR" | sed -E 's/.*:([0-9]+)$/\1/') + 1))"'/')
30  elif [ "$GATEWAY_TYPE" = "ldk" ]; then
31      LOCAL_GATEWAY_API_ADDR=$(echo "$FM_GATEWAY_API_ADDR" | sed -E 's/:([0-9]+)$/:'"$(($(echo "$FM_GATEWAY_API_ADDR" | sed -E 's/.*:([0-9]+)$/\1/') + 2))"'/')
32  else
33      echo "Error: Invalid gateway type. Use 'cln', 'lnd', or 'ldk'."
34      exit 1
35  fi
36  
37  echo "Starting gateway-ui on $LOCAL_GATEWAY_API_ADDR"
38  echo "Gateway type: $GATEWAY_TYPE"
39  echo "Local gateway api addr: $LOCAL_GATEWAY_API_ADDR"
40  
41  export REACT_APP_FM_GATEWAY_API=$LOCAL_GATEWAY_API_ADDR
42  export REACT_APP_FM_GATEWAY_PASSWORD=$FM_GATEWAY_PASSWORD
43  
44  yarn dev