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

Add pallet-control #13

Merged
merged 8 commits into from
Mar 13, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions control/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
[package]
name = "pallet-control"
version = "1.0.1-dev"
authors = ["zero.io","gamedao.co"]
repository = "https://github.com/gamedaoco/gamedao-protocol"
edition = "2018"
license = "GPL-3.0-or-later"
description = "DAO Factory"

[features]
default = ["std"]
std = [
"codec/std",
"serde/std",
"scale-info/std",
"num_enum/std",

# "pallet-assets/std",
# "pallet-balances/std",
"frame-support/std",
"frame-system/std",
"frame-benchmarking/std",

"sp-core/std",
"sp-std/std",
"sp-runtime/std",
# "sp-storage/std",

# "tangram/std",
"orml-traits/std",
"orml-tokens/std",
"orml-currencies/std",

"gamedao-protocol-support/std",

]

[dependencies]
hex-literal = "0.3.1"
num_enum = { version = "0.5.1", default-features = false }

serde = { version = "1.0.124", optional = true }
codec = { package = "parity-scale-codec", version = "2.3.1", default-features = false }
scale-info = { version = "1.0", default-features = false, features = ["derive"] }

sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13" }
sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13" }
sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13" }
sp-storage = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13" }

frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13" }
frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13" }
frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13", default-features = false, optional = true }

pallet-assets = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13" }
pallet-balances = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13" }

orml-traits = { path = "../../orml/traits", default-features = false }
primitives = { package = "zero-primitives", path = "../../primitives", default-features = false }
gamedao-protocol-support = { package = "gamedao-protocol-support", path = "../support", default-features = false }

# tangram = { package = "module-tangram", path = "../../zero/tangram", default-features = false }

[dev-dependencies]
sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13" }
sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13" }
sp-io = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.13" }
frame-support-test = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.13" }
pallet-balances = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13" }
orml-tokens = { path = "../../orml/tokens", default-features = false }
orml-currencies = { path = "../../orml/currencies", default-features = false }
40 changes: 40 additions & 0 deletions control/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# ZERO CONTROL

- CONTROL is a wrapper for organisational bodies in zero.
- its controllers can e.g. initiate motions
- motions can e.g. initiate coordinated fundraising
- motions can release funds from the treasury
- control is rated like any actor through SENSE.
- controllers / actors should feature a reasonable Identity.

## methods

### create body

v0.1.0

- name
- creator
- controller
- treasurer

- tx fees paid by OS

- creation requires reserve or payment to OS of n credits
1. when body consumes fees from members,
creation and TX fee will be collected by OS
2. when membership requires reserve only,
full amount gets repaid on exit

- initial treasury balance -> filled by creator

### destroy body

### add member
when body takes fees
### remove member


## Status

[X] proposal
Loading