casper-network / casper-network/roadmap

Make urefs revokable

Open
#134 1 comment 0 reactions 0 assignees View on GitHub
downstream ecosystem Epic triage
Dominant language
No language data
Stars
12
Forks
2
PR merge metrics
No merged PRs in 30d

Description

URefs are the mechanism that controls shared ownership. Today: contract that creates the wrapped token owns the token; stored in contract context not account context, where ownership is more intuitive. Introduce 'move' semantic: instead of a tracking receipt to represent ownership, host would remove access from current owner and give it to the new owner. Differentiates 'shared' ownership (today) from 'true' ownership. stretch feature - function on host behind an FFI. Easily enabled once URef is refactored and Named keys migrated to dictionaries.

System does not keep track of who created a URef. New implementation will allow us to keep track of the context and entity that created it for ease of audit and reporting. Stronger notion of the creator == owner.

This will break any public facing function that uses URefs - LOTS of testing.

- creator given read/write permission,
- permission is granted with sharing - access as same permissions or less.
- When shared, essentially a copy is shared with (level of access permissions or less).

In general, Access control levels should not be permanent, otherwise they are not really "controlled". Once granted, they need to be modifiable.

will enable the ability to revoke (remove) items from a dictionary (b/c seed uref no longer immutable)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.