I am trying to propose a transaction on a nested safe setup programmatically. I am testing a very basic setup for simplicity, my final setup will involve more than one inner safe.
Setup
To clarify ownership:
- Top Safe owned by Inner safe
- Inner Safe owned by EOA 1 and EOA 2
My desired flow is for one of the Inner safe owners (EOA 1) to programmatically propose a transaction on Top Safe. I then want the other EOAs on the Inner safe to sign that transaction using the Safe UI. The key is for the transaction to be proposed programmatically by one signer and to be signed in the UI by the other signers, as I only have access to one of the EOAs for programmatic signing.
Based on similar questions, I have followed to docs and attempted to use the protocol kit to create a transaction, collect a signature of behalf of Inner safe from EOA 1 and propose the transaction.
Here is a gist of my attempt.
I run into this error:
Error: Signature=0x000000000000000000000000371afe2b31dd5bd45fe2b07348d434e1d6cd90d1000000000000000000000000000000000000000000000000000000000000004100 for owner=0x371aFE2B31dd5bD45fE2B07348d434E1D6CD90d1 is not valid I believe this is happening because my script is not producing a valid/complete signature for the inner safe as I do not have a signature from EOA 2.
Is there a way I can propose a TX without having all the signatures? To restate my goal, I want to propose the transaction programmatically and collect the signatures from the other EOAs in the safe UI. I am open to different approaches to achieve this.

