node icon indicating copy to clipboard operation
node copied to clipboard

V2 ERC20 Custody contract pause is incompatible with V1

Open gartnera opened this issue 1 year ago • 1 comments

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

gartnera avatar Oct 11 '24 16:10 gartnera

Good catch, it seems to make sense to add pauser role to TSS as well cc @skosito

lumtis avatar Oct 11 '24 17:10 lumtis