Skip to content

Commit

Permalink
chore: rename r/system -> r/sys (#1948)
Browse files Browse the repository at this point in the history
- Renamed `r/system/*` to `r/sys`.
-  Updated configuration files.
-  Added comments, documentation, and notes.

---------

Signed-off-by: moul <[email protected]>
  • Loading branch information
moul authored Apr 18, 2024
1 parent e5ffc1e commit 6f54d2b
Show file tree
Hide file tree
Showing 16 changed files with 42 additions and 29 deletions.
4 changes: 4 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,11 @@

# Gno examples and default contracts.
/examples/ @gnolang/tech-staff @gnolang/devrels
/examples/gno.land/p/demo/ @gnolang/tech-staff @gnolang/devrels
/examples/gno.land/r/demo/ @gnolang/tech-staff @gnolang/devrels
/examples/gno.land/r/gnoland/ @moul
/examples/gno.land/p/gov/ @moul
/examples/gno.land/p/sys/ @moul
/examples/gno.land/r/gov/ @moul
/examples/gno.land/r/sys/ @moul
/examples/gno.land/r/worx/ @moul
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,9 @@ jobs:
- run: go run ./gnovm/cmd/gno lint -v ./examples/gno.land/p
- run: go run ./gnovm/cmd/gno lint -v ./examples/gno.land/r/demo
- run: go run ./gnovm/cmd/gno lint -v ./examples/gno.land/r/gnoland
- run: go run ./gnovm/cmd/gno lint -v ./examples/gno.land/r/system
- run: go run ./gnovm/cmd/gno lint -v ./examples/gno.land/r/sys
# - run: go run ./gnovm/cmd/gno lint -v ./examples/gno.land/r/gov
# TODO: consider running lint on every other directories, maybe in "warning" mode?
# TODO: track coverage
mod-tidy:
strategy:
Expand Down
26 changes: 13 additions & 13 deletions docs/concepts/proof-of-contribution.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,22 +34,22 @@ Presentation: https://github.com/gnolang/workshops/tree/main/presentations/2023-
| gno.land/{p,r} contracts | | gno.land |
| | | |
| +-----------------------------+ +---------------------+ | | |
| | | | r/system/valset | | | |
| | | | r/sys/validators | | | |
| | | +->| |--+------+ | +-------------+ |
| | worxDAO | | | validator set | | | | | | |
| | |--+ +---------------------+ | +-------+->| Gno SDK |----------+ |
| | the "Contributors DAO" | | | r/system/chaincfg | | | | | | | |
| | the "Contributors DAO" | | | r/sys/config | | | | | | | |
| | | +->| |--+------+ | +-------------+ | |
| | | | chain configuration | | | | | |
| +-----------------------------+ +---------------------+ | | | | |
| | +---------------------+ | | v v |
| v | r/system/rewards | | | +-------------+ +-------------+ |
| +--------------------+ | | | | | | | | |
| | Evaluation DAO | |distribute rewards to| | | | TM2 |-->| GnoVM | |
| | | | contributors and | | | | | | | |
| |Qualification system| | validators | | | +-------------+ +-------------+ |
| |to distribute ^worx | | +------+ | | | | | |
| +--------------------+ | |Bucket|<- - -|- + -chain fees -|- - - - - | |
| v | r/sys/rewards | | | +-------------+ +-------------+ |
| +----------------------+ | | | | | | | | |
| | Evaluation DAO | | distribute rewards | | | | TM2 |-->| GnoVM | |
| | | | to contributors and | | | | | | | |
| | Qualification system | | validators | | | +-------------+ +-------------+ |
| | to distribute ^worx | | +------+ | | | | | |
| +----------------------+ | |Bucket|<- - -|- + -chain fees -|- - - - - | |
| +-------+------+------+ | | | |
+---------------------------------------------------------------+ +---------------------------+--------+
^ |
Expand All @@ -67,19 +67,19 @@ contracts with the `GnoVM` and can self-configure from contracts using the
### `worxDAO`

The governance entity consisting of contributors, responsible for governing the
`r/system` realms, including `valset` and `chaincfg`.
`r/sys` realms, including `validators` and `config`.

Meta issue: [#872](https://github.com/gnolang/gno/issues/872).

### `r/system/valset`
### `r/sys/validators`

A realm (smart contract) that enables the `worxDAO` to update the validator set.
Similar to a PoA system, the authority is decentralized in a DAO.

Additionally, this contract is queried by `gno.land` to configure `TM2` when
changes are made to the validator set.

### `r/system/chaincfg`
### `r/sys/config`

A governance-backed smart contract that allows for chain configuration through
governance.
Expand All @@ -88,7 +88,7 @@ It helps prevent unnecessary upgrade campaigns for minor updates.

### Evaluation DAO

The system employed by the `worxDAO` to incentivize contributions with `^worx` tokens.
The system employed by the `worxDAO` to incentivize contributions with `^worx` points.

+---------------1. propose a contribution-------------+
| v
Expand Down
3 changes: 2 additions & 1 deletion examples/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ GOTEST_FLAGS ?= -v -p 1 -timeout=30m
OFFICIAL_PACKAGES = ./gno.land/p
OFFICIAL_PACKAGES += ./gno.land/r/demo
OFFICIAL_PACKAGES += ./gno.land/r/gnoland
OFFICIAL_PACKAGES += ./gno.land/r/system
OFFICIAL_PACKAGES += ./gno.land/r/sys
OFFICIAL_PACKAGES += ./gno.land/r/gov

########################################
# Dev tools
Expand Down
8 changes: 4 additions & 4 deletions examples/gno.land/r/gnoland/home/home.gno
Original file line number Diff line number Diff line change
Expand Up @@ -177,11 +177,11 @@ func packageStaffPicks() ui.Element {
ui.Link{URL: "r/gnoland/home"},
ui.Link{URL: "r/gnoland/pages"},
},
ui.H4("[r/system](https://github.com/gnolang/gno/tree/master/examples/gno.land/r/system)"),
ui.H4("[r/sys](https://github.com/gnolang/gno/tree/master/examples/gno.land/r/sys)"),
ui.BulletList{
ui.Link{URL: "r/system/names"},
ui.Link{URL: "r/system/rewards"},
ui.Link{URL: "r/system/validators"},
ui.Link{URL: "r/sys/names"},
ui.Link{URL: "r/sys/rewards"},
ui.Link{URL: "r/sys/validators"},
},
}, {
ui.H4("[r/demo](https://github.com/gnolang/gno/tree/master/examples/gno.land/r/demo)"),
Expand Down
8 changes: 4 additions & 4 deletions examples/gno.land/r/gnoland/home/home_filetest.gno
Original file line number Diff line number Diff line change
Expand Up @@ -111,11 +111,11 @@ func main() {
//- [r/gnoland/home](r/gnoland/home)
//- [r/gnoland/pages](r/gnoland/pages)
//
//#### [r/system](https://github.com/gnolang/gno/tree/master/examples/gno.land/r/system)
//#### [r/sys](https://github.com/gnolang/gno/tree/master/examples/gno.land/r/sys)
//
//- [r/system/names](r/system/names)
//- [r/system/rewards](r/system/rewards)
//- [r/system/validators](r/system/validators)
//- [r/sys/names](r/sys/names)
//- [r/sys/rewards](r/sys/rewards)
//- [r/sys/validators](r/sys/validators)
//
//</div><!-- /column-->
//<div class="column">
Expand Down
5 changes: 5 additions & 0 deletions examples/gno.land/r/sys/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#`r/sys/*`

This folder contains contracts designed for chain use. All content should be
minimal, future-proof, and gas-efficient.

Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ func init() {
)
namespaces.Set("demo", &Space{Admins: []std.Address{jaekwon, manfred}})
namespaces.Set("gnoland", &Space{Admins: []std.Address{jaekwon, manfred}})
namespaces.Set("system", &Space{Admins: []std.Address{jaekwon, manfred}})
namespaces.Set("sys", &Space{Admins: []std.Address{jaekwon, manfred}})
namespaces.Set("gov", &Space{Admins: []std.Address{jaekwon, manfred}})
namespaces.Set("jaekwon", &Space{Admins: []std.Address{jaekwon}})
namespaces.Set("manfred", &Space{Admins: []std.Address{manfred}})
namespaces.Set("test1", &Space{Admins: []std.Address{test1}})
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module gno.land/r/system/names
module gno.land/r/sys/names

require gno.land/p/demo/avl v0.0.0-latest
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// The realm r/system/names is used to manage namespaces on gno.land.
// The realm r/sys/names is used to manage namespaces on gno.land.
package names

import (
Expand All @@ -7,7 +7,7 @@ import (
"gno.land/p/demo/avl"
)

// "AddPkg" will check if r/system/names exists. If yes, it will
// "AddPkg" will check if r/sys/names exists. If yes, it will
// inspect the realm's state and use the following variable to
// determine if an address can publish a package or not.
var namespaces avl.Tree // name(string) -> Space
Expand Down
1 change: 1 addition & 0 deletions examples/gno.land/r/sys/rewards/gno.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module gno.land/r/sys/rewards
File renamed without changes.
1 change: 1 addition & 0 deletions examples/gno.land/r/sys/validators/gno.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module gno.land/r/sys/validators
1 change: 0 additions & 1 deletion examples/gno.land/r/system/rewards/gno.mod

This file was deleted.

1 change: 0 additions & 1 deletion examples/gno.land/r/system/validators/gno.mod

This file was deleted.

0 comments on commit 6f54d2b

Please sign in to comment.