-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Labels
help wantedExtra attention is neededExtra attention is needed
Description
Summary
The TACo AA signing demo currently requires a local wallet as a signatory for the MetaMask Smart Account, even though the actual signing is performed by the TACo network. We can apparently wrap the multisig cohort with Viem to eliminate this unnecessary dependency, which would be particularly useful for AI agents.
Current Implementation
In demos/taco-aa-signing/src/index.ts:
const smartAccount = await toMetaMaskSmartAccount({
client: publicClient,
implementation: Implementation.MultiSig,
deployParams: [signers, BigInt(threshold)], // TACo network signers
deploySalt: '0x' as `0x${string}`,
signatory: [{ account: localAccount }], // ← Unnecessary local wallet requirement
});The local wallet in signatory is just a placeholder - the actual signing happens via:
const signature = await signUserOp(
provider,
TACO_DOMAIN,
COHORT_ID,
SEPOLIA_CHAIN_ID,
tacoUserOp,
AA_VERSION,
signingContext
);Problem
- The local wallet requirement is confusing for demo purposes
- AI agents shouldn't need to manage private keys when TACo handles signing
- The current pattern doesn't clearly show that TACo is doing the actual signing
Proposed Investigation
Research and implement Viem's capabilities to wrap the TACo multisig cohort as a custom signer, eliminating the need for the local wallet. This might involve:
- Creating a custom Viem account that delegates to TACo's signing
- Using Viem's account abstraction primitives to wrap our signing logic
- Potentially using session keys or other patterns
Benefits
- Cleaner demos: Shows TACo as the sole signing authority
- AI agent ready: No private key management required
- Better architecture: Accurate representation of the signing flow
Tasks
- Research Viem's custom account/signer patterns
- Investigate how to wrap TACo signing as a Viem-compatible signer
- Update the AA demo to use the wrapped approach
- Update documentation to explain the pattern
This would make the demo much clearer for adopters and enable new use cases with AI agents.
Metadata
Metadata
Assignees
Labels
help wantedExtra attention is neededExtra attention is needed