FLuxMonitor locally: FROM address in transaction is wrong

Viewed 56

I'm trying to run decentralized-model locally. I've managed to deploy:

  • Link contract
  • AggregatorProxy
  • FluxAggregator
  • Consumer contract
  • Oracle node (offchain)
  • External adapters (coingecko + coinapi)

I'm mainly struggling for the last piece which is creating a Job which uses the FluxMonitor initiator.

I've created the following job where "0x5379A65A620aEb405C5C5338bA1767AcB48d6750" is the address of FluxAggregator contract

{
"initiators": [
    {
        "type": "fluxmonitor",
        "params": {
            "address": "0x5379A65A620aEb405C5C5338bA1767AcB48d6750",
            "requestData": {
                "data": {
                    "from": "ETH",
                    "to": "USD"
                }
            },
            "feeds": [
                {
                    "bridge": "coinapi_cl_ea"
                },
                {
                    "bridge": "coingecko_cl_ea"
                }
            ],
            "threshold": 1,
            "absoluteThreshold": 1,
            "precision": 8,
            "pollTimer": {
                "period": "15m0s"
            },
            "idleTimer": {
                "duration": "1h0m0s"
            }
        }
    }
],
"tasks": [
    {
        "type": "NoOp"
    }
]

}

Unfortunately, it doesn't work, it makes my local ganache fail with this error "Error: The nonce generation function failed, or the private key was invalid"

I've put my Ganache in debug mode in order to log requests to the blockchain. Noticed the following call

    eth_call
{
  "jsonrpc": "2.0",
  "id": 28,
  "method": "eth_call",
  "params": [
    {
      "data": "0xfeaf968c",
      "from": "0x0000000000000000000000000000000000000000",
      "to": "0x5379a65a620aeb405c5c5338ba1767acb48d6750"
    },
    "latest"
  ]
}

the signature of the function is correct

"latestRoundData()": "feaf968c"

However , what seems weird is that the from address is "0x0" . Any idea why my Oracle node doesn't use its key to sign the transaction?

thanks a lot

1 Answers

Problem from Ganache. In fact , I wrote a truffle script which:

  • calls "latestRoundData()" populating the "FROM" with a valid address
  • calls "latestRoundData()" populating the "FROM" with a 0x0 address

Then I ran the script 2 times:

  1. Connecting to Ganache-cli --> 1st call is successful while the 2nd call fails
  2. Connecting to Kovan testnet --> both calls are successful

I've just opened an issue for ganache-cli team: https://github.com/trufflesuite/ganache-cli/issues/840

Related