Navigation Menu

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

Rudimentary ACL System Procedure #123

Closed
7 of 8 tasks
Latrasis opened this issue Mar 19, 2019 · 5 comments
Closed
7 of 8 tasks

Rudimentary ACL System Procedure #123

Latrasis opened this issue Mar 19, 2019 · 5 comments
Assignees
Labels
A-code Area: Code A-spec Area: Specification T-ewasm Target system: Ethereum Wasm

Comments

@Latrasis
Copy link
Member

Latrasis commented Mar 19, 2019

We need a rudimentary Access Control List as a System Procedure for establishing simple user groups. The interface must include:

  • #getAccountGroup(address _account): Get GroupId from Account Address
  • #setAccountGroup(address _account, uint8 _groupId): Set an Account to associate to a group
  • #setGroupProcedure(uint8 _groupId, bytes24 _procId, cap[] caplist): Create Group
  • #getGroupProcedure(uint8 _groupId): Get Group Procedure Id
  • #fallback: Which makes a call to the group procedure based on msg.sender's groupId.

On construction, should be an interface:

  • #init(admin_group _groupId, address _account): Set Admin Group Id and Initial Admin

Also to implement:

  • Proxy different accounts to their appropriate group procedures.
  • Separate the Entry Procedure from the ACL management.

Edit(Jake): Made some updates to the checklist here, rather than throughout the comments.

@Latrasis Latrasis added A-spec Area: Specification A-code Area: Code labels Mar 19, 2019
@Latrasis Latrasis added this to To do in Alpha Release via automation Mar 19, 2019
@Latrasis Latrasis added this to the Alpha Release milestone Mar 19, 2019
@Latrasis Latrasis self-assigned this Mar 19, 2019
@Latrasis Latrasis added the T-evm Target system: Ethereum EVM label May 6, 2019
@Latrasis Latrasis added T-ewasm Target system: Ethereum Wasm and removed T-evm Target system: Ethereum EVM labels Jun 24, 2019
@Latrasis Latrasis removed this from To do in Alpha Release Jun 24, 2019
@Latrasis Latrasis changed the title ACL System Procedure Rudimentary ACL System Procedure Jun 24, 2019
@JakeOShannessy
Copy link
Contributor

Looks like further modifications will have to be made to pwasm-abi-derive as it does not support fallback functions.

@JakeOShannessy
Copy link
Contributor

I implemented a proxy(payload) function instead. Using fallback is ergonomically nice, but not critical may not even be the system people want to use.

@JakeOShannessy
Copy link
Contributor

Entry is now separated, so only one group has access to the ACL management API.

@JakeOShannessy
Copy link
Contributor

JakeOShannessy commented Jul 4, 2019

  • Remove panics (they are usually opaque anyway).
  • Make from functions fallible.

@JakeOShannessy
Copy link
Contributor

The ACL was implemented in #185.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-code Area: Code A-spec Area: Specification T-ewasm Target system: Ethereum Wasm
Projects
None yet
Development

No branches or pull requests

2 participants