I've noticed that the example script to setup fast withdrawal was written the assumption that the private key of the chain owner is available.
On prod chains, it's usually a good practice to change ownership to a multisig after deployment.
The createSafePrepareTransactionRequest function which is used to prepare the safe creation transaction requires a Viem PrivateKeyAccount to be passed. This seems unnecessary and could be replaced with 0x${string}.
Ideally the same change would be applied on all functions needed to setup fast withdrawals, allowing these transactions calldata to be easily generated using the SDK and then signed by a multisig.
I've noticed that the example script to setup fast withdrawal was written the assumption that the private key of the chain owner is available.
On prod chains, it's usually a good practice to change ownership to a multisig after deployment.
The
createSafePrepareTransactionRequestfunction which is used to prepare the safe creation transaction requires a ViemPrivateKeyAccountto be passed. This seems unnecessary and could be replaced with0x${string}.Ideally the same change would be applied on all functions needed to setup fast withdrawals, allowing these transactions calldata to be easily generated using the SDK and then signed by a multisig.