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

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

runs:
  using: "composite"
  steps:
    - name: Monero Wallet RPC Cache
      id: cache-monero-wallet-rpc
      uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84
      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 --disable-rpc-login --rpc-bind-port 6061 --allow-mismatched-daemon-version --wallet-dir ./ --detach