EVM Gauntlet Many Chain Multisig
## Note
Commands are interfacing with the MCM / Timelock contracts version at this ccip-owner-contracts repository
The general format for a timelock gauntlet command is:
```
yarn gauntlet timelock:
deploy:``
yarn gauntlet timelock:deploy --network=
scheduleBatch: ``
yarn gauntlet timelock:schedule_batch --network=
cancel:``
yarn gauntlet timelock:cancel --network=
executeBatch``
yarn gauntlet timelock:execute_batch --network=
bypasserExecuteBatch: ``
yarn gauntlet timelock:bypasser_execute_batch --network=
grantRole:``
yarn gauntlet timelock:grant_role --network=
renounceRole:``
yarn gauntlet timelock:renounce_role --network=
revokeRole:``
yarn gauntlet timelock:revoke_role --network=
updateDelay:``
yarn gauntlet timelock:update_delay --delay=1
The timelock wrapped commands (suffixed with keyword wrapped) allows users to pass in an input file with arbitrary low level gauntlet commands, which will then be batched and executed on the timelock.
For example, given an input file like:
``
{
"transactions": [
{
"commandId": "ownership:accept_ownership",
"input": {},
"target": "0x1A61dc6d49490b18eD318033F8aaAC3260E281C0"
},
{
"commandId": "ownership:accept_ownership",
"input": {},
"target": "0x2CcB80Bd7d0b0E10aCd401CDCA46a3486bf75a9a"
},
{
"commandId": "ownership:accept_ownership",
"input": {},
"target": "0xD0792582d5d3Bdb022A7FC29e9976aaa4Fe75E03"
},
{
"commandId": "ownership:accept_ownership",
"input": {},
"target": "0xe37d36db213f92daEAE8CCff628405340D8B5B38"
}
]
}
Calling yarn gauntlet timelock: will batch all of the transactions and execute the desired timelock operation
Note: each command has a few additional flags that might need to be set
schedule_batch: takes in required delay (in seconds) and optional predecessor and salt flagsexecute_batch: takes in optional predecessor and salt flagscancel: takes in optional predecessor and salt` flags