name: monero-wallet-rpc
description: Spawns a Monero Wallet-RPC.

inputs:
  version:
    description: "Version to download and run"
    required: false
    default: v0.18.3.4

runs:
  using: "composite"
  steps:
    - name: Monero Wallet RPC Cache
      id: cache-monero-wallet-rpc
      uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2
      with:
        path: monero-wallet-rpc
        key: monero-wallet-rpc-${{ runner.os }}-${{ runner.arch }}-${{ inputs.version }}

    - name: Download the Monero Wallet RPC
      if: steps.cache-monero-wallet-rpc.outputs.cache-hit != 'true'
      # Calculates OS/ARCH to demonstrate it, yet then locks to linux-x64 due
      # to the contained folder not following the same naming scheme and
      # requiring further expansion not worth doing right now
      shell: bash
      run: |
        RUNNER_OS=${{ runner.os }}
        RUNNER_ARCH=${{ runner.arch }}

        RUNNER_OS=${RUNNER_OS,,}
        RUNNER_ARCH=${RUNNER_ARCH,,}

        RUNNER_OS=linux
        RUNNER_ARCH=x64

        FILE=monero-$RUNNER_OS-$RUNNER_ARCH-${{ inputs.version }}.tar.bz2
        wget https://downloads.getmonero.org/cli/$FILE
        tar -xvf $FILE

        mv monero-x86_64-linux-gnu-${{ inputs.version }}/monero-wallet-rpc monero-wallet-rpc

    - name: Monero Wallet RPC
      shell: bash
      run: |
        ./monero-wallet-rpc --allow-mismatched-daemon-version \
          --daemon-address 0.0.0.0:18081 --daemon-login serai:seraidex \
          --disable-rpc-login --rpc-bind-port 18082 \
          --wallet-dir ./ \
          --detach