Details
Hi! Our team would like to have it so that any team member can, with one click send an emergency pause transaction to some contracts. I can of course, setup multiple relayers and then write code to do this as an autotask. Though I wonder if other teams might have the same need? It seems like it would be cool to have this as a "pre-set", or maybe better yet, have an option when I go to the "pause" menu of like, "pause with relayer". Or maybe it's a strategy, and I can just send arbitrary transactions through a relayer?
Now like, I could achieve this by making a multisig that's 1/N and give everyone on the team the owner role to that multisig with their specific address, but that's more of an operational overhead. The Relayer is nice precisely because I don't have to deal with that, and because it doesn't require getting out a Ledger and all that madness. Emergency situation, a couple clicks, and it works.
What I'm Doing Now
Currently, without the solutions below, I'm going to have to create a couple Relayers, grant them perms, and write some Autotask code to pause the contracts, and then make sure everyone on my team knows that's the flow (rather than going to the contract and hitting "pause")
Potential Solutions
- A "preset" Pauser Autotask, which you link up to a Relayer for whom you've granted Pauser Role too. This maybe is a new button in the Autotask section
- A new "strategy" for contract interactions that allows Relayers to sign and send arbitrary transactions (assuming they have permissions). I think this is the most elegant. In this scenario, you create a new Relayer (your "Pauser Relayer"), and grant it Pauser Role, and then when I want to pause a contract, I just set that strategy and pick the Pauser Relayer, and click submit. No keys, no wallets. Same perms as executing an Autotask manually. This also seems nicely flexible. Like an ad-hoc, manually triggered Autotask.