Skip to content

Facilities for smart accounts or identity contracts #1104

@frangio

Description

@frangio

Smart accounts came up in #1005. They came up in the context of SignatureBouncer because the contract is designed to work with ECDSA signatures by externally owned accounts, and thus doesn't support smart accounts. I proposed that instead of changing SignatureBouncer we first look into generalizing ECRecovery or building an intermediate abstraction.

It seems to me like we need a function isSignedBy(bytes message, address account, bytes signature) returns (bool) that does ECDSA verification for EOAs, and calls account.isValidSignature(signature, message) for contracts.

I started going through all the identity ERCs to see if there is a function like isValidSignature already proposed... but there are a lot of related ERCs and I got a bit lost. I don't think I saw anything like this function though. I'd appreciate some thoughts from someone more interiorized in this space. Pinging @PhABC since he brought it up initially.

I'm nore sure what facilities other than this we could provide.

Metadata

Metadata

Assignees

No one assigned

    Labels

    contractsSmart contract code.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions