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

feat: FRAME umbrella crate. #1337

Merged
merged 66 commits into from
Oct 27, 2023
Merged
Show file tree
Hide file tree
Changes from 63 commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
22dde37
patch applied
juangirini Aug 31, 2023
95526ae
fix issues
juangirini Aug 31, 2023
99e1371
update cargo files
juangirini Aug 31, 2023
254267c
Merge branch 'master' into kiz-frame-api
juangirini Aug 31, 2023
f7c0ef3
wip
juangirini Aug 31, 2023
1b69810
add licenses
juangirini Sep 1, 2023
579a034
make zepter happy
juangirini Sep 1, 2023
62266a7
format toml files
juangirini Sep 1, 2023
1a38cc7
format toml files
juangirini Sep 1, 2023
560cb34
Merge branch 'master' into kiz-frame-api
juangirini Sep 2, 2023
67dfcc8
update Cargo lock
juangirini Sep 2, 2023
3c3f6d9
fix reexports
juangirini Sep 2, 2023
224922f
fix clippy
juangirini Sep 2, 2023
6612fc3
Merge branch 'master' into kiz-frame-api
juangirini Sep 3, 2023
8c960a3
fix clippy balances
juangirini Sep 3, 2023
12af8f8
fix clippy
juangirini Sep 3, 2023
92036b6
improve Cargo files
juangirini Sep 4, 2023
f35af85
fix example frame crate
juangirini Sep 4, 2023
65c25a6
make minor test adjustments
juangirini Sep 5, 2023
e5079bf
fix minor typos
juangirini Sep 7, 2023
65b1f23
fix a todo
juangirini Sep 8, 2023
f12a819
bring back frame_support::self
juangirini Sep 14, 2023
46c8119
update with master
kianenigma Sep 20, 2023
e1e9816
make minimal node and runtime compile.
kianenigma Sep 20, 2023
6ba0908
minimal node and runtime work
kianenigma Sep 22, 2023
1120430
sudo and transfer and all work with fee payment
kianenigma Sep 22, 2023
5091f02
fmt
kianenigma Sep 22, 2023
42e4c04
Merge branch 'master' into kiz-frame-api
kianenigma Sep 22, 2023
63f6ac0
clean deps
kianenigma Sep 22, 2023
8a32ed2
Merge branch 'kiz-frame-api' of github.com:paritytech/polkadot-sdk in…
kianenigma Oct 2, 2023
35eca96
tweaks
kianenigma Oct 8, 2023
fc6b6ae
Master.into()
kianenigma Oct 8, 2023
f5895c0
clean up diagrams, align frame and substrate crate
kianenigma Oct 8, 2023
4833ac7
make it build
kianenigma Oct 8, 2023
edbf913
fix macro-magic 4.3 broken update
kianenigma Oct 10, 2023
49dc97f
Merge branch 'kiz-frame-api' of github.com:paritytech/polkadot-sdk in…
kianenigma Oct 16, 2023
8647105
checkpoint to ask for help
kianenigma Oct 16, 2023
ffdbfaf
temp fix the build for now
kianenigma Oct 17, 2023
33294dd
Master.into()
kianenigma Oct 17, 2023
6fd5e7d
a bit of cleanup
kianenigma Oct 17, 2023
11ef33a
fix
kianenigma Oct 17, 2023
53e7c5e
Merge branch 'master' of github.com:paritytech/polkadot-sdk into kiz-…
kianenigma Oct 17, 2023
b08b09f
Master.into()
kianenigma Oct 17, 2023
ecc7aa3
make it all feature gated.
kianenigma Oct 17, 2023
7e29bc3
Merge branch 'master' into kiz-frame-api
kianenigma Oct 17, 2023
2855f73
Update substrate/frame/examples/frame-crate/Cargo.toml
kianenigma Oct 22, 2023
af3b659
Update substrate/bin/minimal/node/src/chain_spec.rs
kianenigma Oct 22, 2023
74acb76
Update substrate/frame/examples/frame-crate/src/lib.rs
kianenigma Oct 22, 2023
b2c5380
Update substrate/frame/src/lib.rs
kianenigma Oct 22, 2023
876f892
Update substrate/frame/src/lib.rs
kianenigma Oct 22, 2023
42dce6d
Update substrate/frame/src/lib.rs
kianenigma Oct 22, 2023
d086128
merged
kianenigma Oct 22, 2023
714bec9
master.into()
kianenigma Oct 22, 2023
bfad9bb
build works again
kianenigma Oct 22, 2023
086337b
make zepter happy again
juangirini Oct 23, 2023
2f30a03
make stg frame crate compile
juangirini Oct 23, 2023
9b5b2fd
frame crate preludes into testing preludes
juangirini Oct 24, 2023
a4f34a4
feature flag generate_crate_access condition
juangirini Oct 24, 2023
b3b790b
move frame conditional inside match
juangirini Oct 24, 2023
8ff45a9
add ui test
juangirini Oct 25, 2023
9c85dc2
revert unnecessary changes
juangirini Oct 25, 2023
ab942bd
remove temporary todo
juangirini Oct 25, 2023
2ba0b08
enable `experimental` feature for docs
juangirini Oct 25, 2023
f1eb6b9
use specific commit for the `simple-mermaid` crate
juangirini Oct 27, 2023
7838d03
improve comments
juangirini Oct 27, 2023
923176d
Merge branch 'master' into kiz-frame-api
juangirini Oct 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
128 changes: 116 additions & 12 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,8 @@ members = [
"polkadot/xcm/xcm-simulator",
"polkadot/xcm/xcm-simulator/example",
"polkadot/xcm/xcm-simulator/fuzzer",
"substrate/bin/minimal/node",
"substrate/bin/minimal/runtime",
"substrate",
"substrate/bin/node-template/node",
"substrate/bin/node-template/pallets/template",
Expand Down Expand Up @@ -251,6 +253,7 @@ members = [
"substrate/client/transaction-pool",
"substrate/client/transaction-pool/api",
"substrate/client/utils",
"substrate/frame",
"substrate/frame/alliance",
"substrate/frame/asset-conversion",
"substrate/frame/asset-rate",
Expand Down Expand Up @@ -350,7 +353,6 @@ members = [
"substrate/frame/support/test",
"substrate/frame/support/test/compile_pass",
"substrate/frame/support/test/pallet",
"substrate/frame/support/test/stg_frame_crate/frame",
"substrate/frame/support/test/stg_frame_crate",
"substrate/frame/system",
"substrate/frame/system/benchmarking",
Expand Down
10 changes: 10 additions & 0 deletions docs/mermaid/substrate_client_runtime.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
graph TB
subgraph Substrate
direction LR
subgraph Client
end
subgraph Runtime
end
Client --runtime-api--> Runtime
Runtime --host-functions--> Client
end
8 changes: 8 additions & 0 deletions docs/mermaid/substrate_simple.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
graph TB
subgraph Substrate
direction LR
subgraph Client
end
subgraph Runtime
end
end
20 changes: 20 additions & 0 deletions docs/mermaid/substrate_with_frame.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
graph TB
subgraph Substrate
direction LR
subgraph Client
Database
Networking
Consensus
end
subgraph Runtime
subgraph FRAME
direction LR
Governance
Currency
Staking
Identity
end
end
Client --runtime-api--> Runtime
Runtime --host-functions--> Client
end
2 changes: 1 addition & 1 deletion substrate/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ version = "1.0.0"

# The dependencies are only needed for docs.
[dependencies]
aquamarine = "0.3.2"
simple-mermaid = { git = "https://github.com/kianenigma/simple-mermaid.git", branch = "main" }

subkey = { path = "bin/utils/subkey" }
chain-spec-builder = { path = "bin/utils/chain-spec-builder" }
Expand Down
56 changes: 56 additions & 0 deletions substrate/bin/minimal/node/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
[package]
name = "minimal-node"
version = "4.0.0-dev"
description = "A fresh FRAME-based Substrate node, ready for hacking."
kianenigma marked this conversation as resolved.
Show resolved Hide resolved
authors = ["Substrate DevHub <https://github.com/substrate-developer-hub>"]
homepage = "https://substrate.io/"
edition = "2021"
license = "MIT-0"
publish = false
repository = "https://github.com/substrate-developer-hub/substrate-node-template/"
build = "build.rs"

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

[[bin]]
name = "minimal-node"

[dependencies]
clap = { version = "4.0.9", features = ["derive"] }
futures = { version = "0.3.21", features = ["thread-pool"] }
futures-timer = "3.0.1"
jsonrpsee = { version = "0.16.2", features = ["server"] }

sc-cli = { path = "../../../client/cli" }
sc-executor = { path = "../../../client/executor" }
sc-network = { path = "../../../client/network" }
sc-service = { path = "../../../client/service" }
sc-telemetry = { path = "../../../client/telemetry" }
sc-transaction-pool = { path = "../../../client/transaction-pool" }
sc-transaction-pool-api = { path = "../../../client/transaction-pool/api" }
sc-consensus = { path = "../../../client/consensus/common" }
sc-consensus-manual-seal = { path = "../../../client/consensus/manual-seal" }
sc-rpc-api = { path = "../../../client/rpc-api" }
sc-basic-authorship = { path = "../../../client/basic-authorship" }
sc-offchain = { path = "../../../client/offchain" }
sc-client-api = { path = "../../../client/api" }

sp-timestamp = { path = "../../../primitives/timestamp" }
sp-keyring = { path = "../../../primitives/keyring" }
sp-api = { path = "../../../primitives/api" }
sp-blockchain = { path = "../../../primitives/blockchain" }
sp-block-builder = { path = "../../../primitives/block-builder" }
sp-io = { path = "../../../primitives/io" }
sp-runtime = { path = "../../../primitives/runtime" }

substrate-frame-rpc-system = { path = "../../../utils/frame/rpc/system" }

frame = { path = "../../../frame", features = ["runtime", "experimental"] }
runtime = { package = "minimal-runtime", path = "../runtime" }

[build-dependencies]
substrate-build-script-utils = { version = "3.0.0", path = "../../../utils/build-script-utils" }

[features]
default = []