Contract not longer retrieving the last info on Arbitrum Rinkeby

I have a contract with a getCurrentToken() method that is no longer returning the right tokenId on Defender. But If you go to Arbiscan the getCurrentToken() works as expected. This happens after minting tokenId 147. Defender returns the last result as if it's cached or something.

Defender: Same contract returns token 147 (this is not correct).
Contract on arbiscan: returns token 148 (this is correct).

I know Arbitrum Rinkeby is being upgraded to Nitro during the last 24h so it may be related, this never happened before and always worked well. I'm worried this same behaviour could happen when Arbitrum One migrates to Nitro.

// Initialize defender relayer provider
  const provider = new DefenderRelayProvider(event);

  const nftContract = new ethers.Contract(
    contractAddress,
    contractAbi,
    provider
  );

  const currentTokenId = await nftContract.getCurrentTokenId();

I have a similar problem and my assumption is that one of the RPC endpoints Openzeppelin is using, is not synced correctly since the Nitro merge.

Hi @Hectorium and @Archethect_Archethec ,

Aside from the public endpoint for Arbitrum Rinkeby, we have historically used Alchemy and Infura as well. I did some testing just now on calls to all three endpoints and it appeared the Infura endpoint was unreliable, so I disabled it.

In my testing, Alchemy was returning the same data as the public endpoint. That said, it is very possible I missed a case (I didn't see an address for @Hectorium contract for instance, which sounds like it may have been a good test case). Alchemy will be deprecating Arbitrum Rinkeby soon in favor of Arbitrum Goerli, so I wouldn't be too surprised if they had not gone through the nitro migration. If you can find a call that is returning different data for Alchemy (you can set up a node on free tier) than the Arbitrum Public endpoint, I can disable it. We like to have at least one backup provider on every network in Defender to handle fallbacks, so unless we need to do so, Alchemy will remain as a provider for now.

Defender, too, will be deprecating Arbitrum Rinkeby before long. Either this week or next, we should be introducing Arbitrum Goerli and we will send out a deprecation notice to users thereafter. Once Arbitrum Goerli is available, I'd recommend migrating contracts there.

Cheers,

Dan McKeon
OpenZeppelin

Thank you @dan_oz it seems to be working just fine now. I didn't change anything on my side. I'll do as you say and move to Goerli.

Cheers.