# Ensure private information is already in the shell environment
# RINKEBY_RPC_URL

# ------------------------------------------------------------------------
# set some environment variables

PROXYADMIN_ADDRESS="0xb99001057c6f5c5712aa31BdFecB509768002737" # Set this
JOB_PROXY_ADDRESS="0xD6d8f49f9CDCfb02b3A23F530FB349146b28A6f6" # Set this
NEW_TOKEN_ADDRESS="0x4DBCdF9B62e891a7cec5A2568C3F4FAF9E8Abe2b" # Set this (This example is Rinkeby USDC)

# ------------------------------------------------------------------------
# change the minimum bounty as a test

# schedule a change to updatePaymentTokens
RINKEBY_RPC_URL=${RINKEBY_RPC_URL} \
  npx hardhat --network rinkeby \
    proxy-admin-schedule \
      --admincontract "${PROXYADMIN_ADDRESS}" \
      --targetaddress "${JOB_PROXY_ADDRESS}" \
      --method updatePaymentTokens \
      --arg1 "${NEW_TOKEN_ADDRESS}" \
      --arg2 "1" \
      --show

# Use the displayed values and create a multisig contract in the Gnosis multisig

# Have all signing members verify the calldata
#  calldata can be found in the gnosis safe transaction proposal as "data"
npx hardhat proxy-admin-decode-calldata \
    --targettype "JOB" \
    --calldata "0x00000" # set this

# After scheduled and the time is passed, create another transaction to execute
RINKEBY_RPC_URL=${RINKEBY_RPC_URL} \
  npx hardhat --network rinkeby \
    proxy-admin-execute \
      --admincontract "${PROXYADMIN_ADDRESS}" \
      --targetaddress "${JOB_PROXY_ADDRESS}" \
      --show \
      --calldata 0x00000 --salt 0x00000000000000000000 # set these from the scheduled contract data

# Have all signing members verify the calldata
#  calldata can be found in the gnosis safe transaction proposal as "data"
npx hardhat proxy-admin-decode-calldata \
    --targettype "JOB" \
    --calldata "0x00000" # set this