FEVM: Expose the "call actor" precompile to the EthAccount actor #857
Replies: 1 comment 3 replies
-
I'm reviewing this post in the context of a very specific use case we have at GLIF - we'd like our users to be able to use MetaMask (not Filsnap) as signers on the built-in multisig actor. In the context of "allowing an EthAccount to be a built-in multisig actor signer", I think the UX problems really matter here. Multisigs are confusing even with native Filecoin addresses. EthAccount support on top of Filecoin is another confusing point. Introducing unfamiliar and potentially insecure behavior to the process of signing multisig transactions on top of the existing confusions (I think) wouldn't be ideal. We shouldn't instruct users to sign blind transactions to the call actor precompile address I wonder, if in the context of the built-in multisig actor, if there is support we could build into the multisig actor itself to allow EthAccounts to act as signers. This is obviously specifically only handling the use case I'm thinking of, and I'm sure there are plenty of other use cases that would be "unlocked" by implementing this FIP, but I'm not sure where they occur and how important they are. As a result, it's tough for me to gauge how costly the unfavorable UX trade off would be. -- |
Beta Was this translation helpful? Give feedback.
-
At the moment, there's no way to call a "native" Filecoin method from an EthAccount (an
f410f...
account managed, e.g., by metamask). These accounts can only invoke "EVM" methods.However, we could allow EthAccount actors to call the the "call actor" precompile, calling native actors "by proxy" (kind of).
0xfe00...03
, the call actor precompile. It would look like they're calling the target actor via the call-actor precompile.That's why I say "kind of". We're using the call actor precompile to signal "hey, this is a native message". But we won't actually use it on-chain. This has the added benefit of working well with native chain explorers: they'll see a message directly from the account to the target actor and won't have to reason about forwarding/precompiles.
The downside of this approach is that the UX isn't great. The end-user will still see the funky precompile address in the transaction's recipient field.
Beta Was this translation helpful? Give feedback.
All reactions