Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Facilities for smart accounts or identity contracts #1104

Closed
frangio opened this issue Jul 22, 2018 · 9 comments
Closed

Facilities for smart accounts or identity contracts #1104

frangio opened this issue Jul 22, 2018 · 9 comments
Labels
contracts Smart contract code.

Comments

@frangio
Copy link
Contributor

frangio commented Jul 22, 2018

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.

@PhABC
Copy link
Contributor

PhABC commented Jul 25, 2018

I agree that perhaps this should be outside of the Bouncer contract as it could be useful to many applications. I do not recall any ERC on this specifically and initially discussed with @shrugs about making one on this topic. Let me try to draft something and the three of us iterate on it.

@PhABC
Copy link
Contributor

PhABC commented Jul 25, 2018

Done! See ethereum/EIPs#1258

@shrugs
Copy link
Contributor

shrugs commented Sep 4, 2018

affected by: #1272

@nfurfaro
Copy link

Hello. Has there been any progress on this front?

@abcoathup
Copy link
Contributor

Hi @nfurfaro,

The roadmap includes redesigning access control #2068 though I am not aware of anything specific to smart accounts/identity contracts.

I suggest posting in the Community Forum with what your needs are as this would be great for thinking about future additions to OpenZeppelin Contracts: https://forum.openzeppelin.com/

@thegostep
Copy link

I'd like to bump this - would be useful to have a reference implementation

@frangio
Copy link
Contributor Author

frangio commented Dec 2, 2020

@thegostep What are you interested in specifically?

@thegostep
Copy link

@frangio added an example in #2424

@frangio
Copy link
Contributor Author

frangio commented Sep 16, 2022

My updated thinking is that the scope of this is too big for OpenZeppelin Contracts to tackle, since a complete system of smart accounts needs a lot of supporting infrastructure.

@frangio frangio closed this as not planned Won't fix, can't repro, duplicate, stale Sep 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contracts Smart contract code.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants