Do smart contract wallets ever store priv/pub keys or something ? Of course, It would be then seen on the blockchain if it did, but I am asking this because somewhere, I've read that sometimes smart contract wallets SIGN the transaction. Not sure what that means but explanation and a little bit example would be great.
sometimes smart contract wallets SIGN the transaction.
I'm not sure what you read, but what you said is incorrect or just worded in a confusing way. I'll try to unpack a summary to help sort things out.
There are two kinds of addresses in Ethereum: Contracts, and Externally Owned Accounts (EOA).
- Have code
- No one knows the signing (private) key. It exists, but since no one knows it this is moot.
- Cannot initiate a transaction
- Must execute code when a transaction is received
- Does not have code
- Someone knows the singing key
- Can initiate a transaction by signing and sending
The term "Smart Contract Wallets" is a misnomer. A wallet is a signing device that knows the signing key for one or more EOAs. Those senders can possibly send a transaction to a contract but it's an indirect link. No one is signing for the contract.
A contract can interact with another contract. In that context, the "sender" will be the contract that sent the message. The only way that can happen is if someone sends an instruction to the contract, from their EOA, and the contract does what the code tells it to do.
Hope it helps.