Help! Autotask giving transaction failed error

Hello everyone. I am trying to run a code when a webhook URL is called, which will trigger the smart contract function. I am getting the transaction failed with the Call_exception error. (transaction failed [ See: https://links.ethers.org/v5-errors-CALL_EXCEPTION ] )

When I am trying to run the same thing using hardhat, it's working fine... below is the code for that:

const { expect } = require("chai")
const { ethers } = require("hardhat")
const contractAddress = "0x9E9FF3334f50Bf2d944eB764c7DB6eaE9Bc4911d"

describe("Temp Contract", function () {

  it("should call an contract function", async function () {
    let contract = await ethers.getContractAt("TestContract", contractAddress)

    const sessionId = "4c11c01a-19fd-47d1-b301-5a6782144d72"
    const args = [sessionId.toString()]
    const secrets = "0x"
    const subId = 1864
    const gasLimit = 300000

    const transferTokenTx = await contract.transferToken(args, secrets, subId, gasLimit, { gasLimit: 1000000 })

    await transferTokenTx.wait()
  })
})

But when I try to run the same thing using the auto task, it gives me a transaction error. Below is the code I am trying to execute from the auto task.

const ABI = [{"inputs":[{"internalType":"address","name":"oracle","type":"address"},{"internalType":"string","name":"_sourceCode","type":"string"},{"internalType":"address","name":"_relayer","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"EmptyArgs","type":"error"},{"inputs":[],"name":"EmptySecrets","type":"error"},{"inputs":[],"name":"EmptySource","type":"error"},{"inputs":[],"name":"NoInlineSecrets","type":"error"},{"inputs":[],"name":"RequestIsAlreadyPending","type":"error"},{"inputs":[],"name":"RequestIsNotPending","type":"error"},{"inputs":[],"name":"SenderIsNotRegistry","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"requestId","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"result","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"err","type":"bytes"}],"name":"OCRResponse","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"RequestFulfilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"RequestSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recieverAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"TransferredCoins","type":"event"},{"inputs":[{"internalType":"address","name":"oracleAddress","type":"address"},{"internalType":"bytes32","name":"requestId","type":"bytes32"}],"name":"addSimulatedRequestId","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ans","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_relayer","type":"address"}],"name":"changeRelayer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkRelayer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"enum Functions.Location","name":"codeLocation","type":"uint8"},{"internalType":"enum Functions.Location","name":"secretsLocation","type":"uint8"},{"internalType":"enum Functions.CodeLanguage","name":"language","type":"uint8"},{"internalType":"string","name":"source","type":"string"},{"internalType":"bytes","name":"secrets","type":"bytes"},{"internalType":"string[]","name":"args","type":"string[]"}],"internalType":"struct Functions.Request","name":"req","type":"tuple"},{"internalType":"uint64","name":"subscriptionId","type":"uint64"},{"internalType":"uint32","name":"gasLimit","type":"uint32"},{"internalType":"uint256","name":"gasPrice","type":"uint256"}],"name":"estimateCost","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"source","type":"string"},{"internalType":"bytes","name":"secrets","type":"bytes"},{"internalType":"string[]","name":"args","type":"string[]"},{"internalType":"uint64","name":"subscriptionId","type":"uint64"},{"internalType":"uint32","name":"gasLimit","type":"uint32"}],"name":"executeRequest","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_sessionId","type":"string"}],"name":"getAddressFrmSessionId","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDONPublicKey","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"requestId","type":"bytes32"},{"internalType":"bytes","name":"response","type":"bytes"},{"internalType":"bytes","name":"err","type":"bytes"}],"name":"handleOracleFulfillment","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"latestError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRequestId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestResponse","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_sessionId","type":"string"}],"name":"mapSessionId","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string[]","name":"args","type":"string[]"},{"internalType":"bytes","name":"secrets","type":"bytes"},{"internalType":"uint64","name":"subscriptionId","type":"uint64"},{"internalType":"uint32","name":"gasLimit","type":"uint32"}],"name":"transferToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"oracle","type":"address"}],"name":"updateOracleAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_sourceCode","type":"string"}],"name":"updateSourceCode","outputs":[],"stateMutability":"nonpayable","type":"function"}]
const ADDRESS = '0x9E9FF3334f50Bf2d944eB764c7DB6eaE9Bc4911d';

const { ethers } = require("ethers");
const { DefenderRelaySigner, DefenderRelayProvider } = require('defender-relay-client/lib/ethers');

async function main(signer) {
 
  	const sessionId = "4c11c01a-19fd-47d1-b301-5a6782144d72";
    const contract = new ethers.Contract(ADDRESS, ABI, signer); 
    const args = [sessionId.toString()];
    const secrets = [];
    const subId = 1864;
    const gasLimit1 = 300000;

    const transferTokenTx = await contract.transferToken(args, secrets, subId, 300000, {gasLimit: 5920026});
	
    await transferTokenTx.wait();
  	return sessionId;
}

exports.handler = async function(credentials) {
    const {
    body,
    headers,
    queryParameters,
  } = credentials.request;
    const provider = new DefenderRelayProvider(credentials);
  const signer = new DefenderRelaySigner(credentials, provider, { speed: 'fast'});
  console.log(`Using relayer ${await signer.getAddress()}`);
  return await main(signer);
};

Below is the smart contract function I willing to trigger:

function transferToken(string[] calldata args,
    bytes calldata secrets,
    uint64 subscriptionId,
    uint32 gasLimit) public {
      bytes32 requestId = executeRequest(sourceCode, secrets, args, subscriptionId, gasLimit);
      string memory sessionID = args[0];
      address receiver = getAddressFrmSessionId(sessionID);
      super._mint(receiver, tokenAmount);
      emit TransferredCoins(receiver, tokenAmount);
    }

function executeRequest(
    string memory source,
    bytes memory secrets,
    string[] memory args,
    uint64 subscriptionId,
    uint32 gasLimit
  ) public returns (bytes32) {
    require((msg.sender == relayer)||(msg.sender==owner), "Only the contract owner or relayer can call this function");
    
    Functions.Request memory req;
    req.initializeRequest(Functions.Location.Inline, Functions.CodeLanguage.JavaScript, source);
    if (secrets.length > 0) {
      req.addRemoteSecrets(secrets);
    }
    if (args.length > 0) req.addArgs(args);

    bytes32 assignedReqID = sendRequest(req, subscriptionId, gasLimit);
    latestRequestId = assignedReqID;
    return assignedReqID;
  }

  function fulfillRequest(bytes32 requestId, bytes memory response, bytes memory err) internal override {
    latestResponse = response;
    latestError = err;
    if (response.length > 0) {
      uint256 temp = abi.decode(response, (uint256));
      ans = temp;
      emit OCRResponse(requestId, response, err);
    }
  }

Please help.

Hi @yashrj2083, could you provide me your tenantId? This can be found once you click on the top right menu.

Here: 7eb06266-adc6-4a58-bd9e-109e78d0ceb4

I think I got what's wrong...I guess it has something to do with Chainlink Functions which I am trying to trigger with Relay.