Multisig + Timelock batch proposal creation through the API

Creating batch timelocked proposals through a multisig does not seem to be supported on defender, is it on the plans?

:computer: Environment

   "@openzeppelin/contracts": "^4.7.3",
   "defender-admin-client": "^1.42.0",

:memo:Details

Through the UI we can create a proposal with an execution strategy of multisig + timelock, although that is only available for single-step proposals.

This does not seem to be possible through the API using defender-admin-client.

So I have 2 questions:

  1. Is there plans to allow this sort of proposals to be created through the API
  2. Is there plans to support batch timelocked proposals that need to be scheduled with a multisig

We can currently do timelocked batch proposals through a multisig by creating a custom proposal with a single scheduleBatch call to schedule the batch execution and then creating a second proposal to execute the batch using an EOA, a relayer or whatever. But this is a UX nightmare for the multisig owners that have to effectively do a blind signing on defender.

1 Like

Hello @gnpensuro , curious if you ever found a solution to this issue?

Hi @jeff_steadefi ! We're still using our workaround of creating two separate proposals:

  • A "schedule" proposal that goes through the multisig to schedule the batch in the TimelockController
  • An "execute" proposal that executes the proposal on the timelock after the lock time has elapsed

This has the advantage of allowing anyone in our team to execute the proposal once it's been scheduled, because the "execute" proposal simply goes through a relayer and doesn't require any wallets.

There's probably a way to do this much better with the new IasCode functionality they added to Defender, but we haven't really looked into it yet.

It also seems they removed the integration for multisigs in Defender 2.0, it now simply redirects you to Safe Wallet for proposal approvals and execution :person_shrugging:

1 Like

@gnpensuro thanks for the response and yeah.. not sure why Defender 2.0 removed the integration for multisigs :confused:

Could I ask how you do this:

  • A "schedule" proposal that goes through the multisig to schedule the batch in the TimelockController

As yes, the execution of proposals can indeed be done thru relayers, but it's the creation of the proposals that is really tedious through the UI, especially when done so in bulk..