I have a custom ERC20 deployed on Hardhat. I set a random token balance on 10 Hardhat accounts, which have all been imported into Metamask. A call to balanceOf in the contract confirms the account balances are correct. In Metamask I imported the contract address under "import tokens", and I see the correct token balance for the first two Hardhat accounts, but the other eight accounts don't show the imported token at all.
When I click "import tokens" for these other eight accounts, and enter the contract address, it shows the token name and balance correctly, then I confirm by clicking "Import tokens" and the token doesn't appear in the token list.
I'm using Metamask 10.23.2 and Hardhat 2.12.5. My Hardhat chain ID is 1337 (not 31337) and I believe the two Hardhat accounts showing the token are doing so because I previously added the token to these two accounts weeks ago. Something has changed and I now can't add the same token to other Hardhat accounts.
Can anyone offer any advice on this problem?