V2 ERC20 Custody contract pause is incompatible with V1
The V2 ERC20 Custody contract does not allow the TSS address to pause:
https://github.com/zeta-chain/protocol-contracts/blob/475acfac26eff67472136fce2eb84f4dbfb5ea70/v2/contracts/evm/ERC20Custody.sol#L38-L49
The V1 ERC20 Custody contract only allows the TSS address to pause:
https://github.com/zeta-chain/protocol-contracts/blob/main/v1/contracts/evm/ERC20Custody.sol#L118-L127
This means that the zetaclient func (signer *Signer) signUpdateERC20CustodyPauseStatusCmd does not work on V2.
We either need to:
- Allow TSS to pause
- use deployer account to pause in e2e tests
This results in the admin e2e tests being broken. Seems to have been broken by https://github.com/zeta-chain/node/pull/2932 when we moved to the V2 ERC20 custody contract by default
Good catch, it seems to make sense to add pauser role to TSS as well cc @skosito