Skip to content
This repository has been archived by the owner on Aug 2, 2024. It is now read-only.

feat: global state root 🔥 #667

Merged
merged 71 commits into from
Jun 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
fb28f27
feat(wip): state commitment ✨
EvolveArt Jun 15, 2023
0368d3c
Merge branch 'main' into evolve/state-root
EvolveArt Jun 15, 2023
f212db8
fix: switch to 251 height tree
EvolveArt Jun 15, 2023
681a8d0
fix: fmt
EvolveArt Jun 15, 2023
86dd487
feat: contract state hash + get_proof ✨
EvolveArt Jun 15, 2023
8782834
fix: clippy
EvolveArt Jun 15, 2023
505fd11
fix: typings
EvolveArt Jun 15, 2023
fed269a
Merge branch 'main' into evolve/state-root
EvolveArt Jun 16, 2023
65dc335
Merge branch 'main' into evolve/state-root
EvolveArt Jun 16, 2023
3f4a6a6
feat(wip): StateCommitmentTree SCALE encoding
EvolveArt Jun 16, 2023
3ee9ed7
feat: Felt252Wrapper in trees 🔨
EvolveArt Jun 16, 2023
53efaf9
chore: bitvec 1 ⬆️
EvolveArt Jun 16, 2023
da9001f
chore: scale-info ⬆️
EvolveArt Jun 16, 2023
264ccf1
feat: BlockifierStateAdapter -> update trees 🔨
EvolveArt Jun 16, 2023
fd537e8
fmt
EvolveArt Jun 16, 2023
69c9309
fix: remove MaxEncodedLen
EvolveArt Jun 16, 2023
a636e85
feat: RefCell -> Box in merkle_tree + fork `scale-info` ✨
EvolveArt Jun 16, 2023
8950888
fix: unbounded storage for state
EvolveArt Jun 16, 2023
ff2f788
fix: merkle tree test
EvolveArt Jun 17, 2023
20a7382
feat: merkle tree redesign ✨
EvolveArt Jun 18, 2023
94c975e
Merge branch 'main' into evolve/state-root
EvolveArt Jun 18, 2023
0f1652e
fix: nonce
EvolveArt Jun 18, 2023
c28bf39
fix: clippy+ class_hash 🧪
EvolveArt Jun 18, 2023
34f4103
fix: test 🧪
EvolveArt Jun 18, 2023
c02e596
feat: add storage trie ✨
EvolveArt Jun 18, 2023
a321a78
fix: revert block proposer deadline
EvolveArt Jun 18, 2023
c5f87c6
feat: enable state root in runtime config 🔨
EvolveArt Jun 19, 2023
26c24a1
Merge branch 'main' into evolve/state-root
EvolveArt Jun 19, 2023
5b4a09a
fix: typo
EvolveArt Jun 19, 2023
528c91c
fix: mock config
EvolveArt Jun 19, 2023
18b084f
fix: clippy 🤝
EvolveArt Jun 19, 2023
b55f5da
fix: block proposer deadline revert
EvolveArt Jun 19, 2023
df2e3a0
fix: clippy
EvolveArt Jun 19, 2023
24e88ca
fix: proposer deadline
EvolveArt Jun 19, 2023
51d91a3
Merge branch 'main' into evolve/state-root
EvolveArt Jun 19, 2023
02ffecd
feat: mutate state commitments ✨
EvolveArt Jun 19, 2023
7ec6d6a
fix: key bytes 🔨
EvolveArt Jun 20, 2023
3133a05
fix(temp): switch to pedersen
EvolveArt Jun 20, 2023
aa6dcf0
feat: add flamegraph instructions to readme ✍️
EvolveArt Jun 20, 2023
c897d5b
fix: remove clones ✍️
EvolveArt Jun 21, 2023
29736dc
Merge branch 'main' into evolve/state-root
EvolveArt Jun 21, 2023
151f46b
feat: add ref merkle tree impl 🔨
EvolveArt Jun 21, 2023
8db3b94
Update lib.rs
EvolveArt Jun 21, 2023
a610f91
Merge branch 'main' into evolve/state-root
EvolveArt Jun 21, 2023
29a686a
typo
EvolveArt Jun 21, 2023
961d8a4
taplo
EvolveArt Jun 21, 2023
0fb2661
Merge branch 'main' into evolve/state-root
EvolveArt Jun 21, 2023
d25551e
fix: prettier
EvolveArt Jun 21, 2023
de4f844
Merge branch 'main' into evolve/state-root
EvolveArt Jun 22, 2023
7a2a674
Merge branch 'main' into evolve/state-root
EvolveArt Jun 23, 2023
fc6a1d6
fix: optimize storage tries updates ✨
EvolveArt Jun 23, 2023
396bbd4
typo
EvolveArt Jun 23, 2023
6a47e74
fix test
EvolveArt Jun 23, 2023
56f8150
Update test-starknet-rpc.ts
EvolveArt Jun 23, 2023
e78b73f
fix: refractor state root computation inside pallet 🔨
EvolveArt Jun 25, 2023
c7b65c6
fix: review
EvolveArt Jun 26, 2023
5f1fe88
fix: mutate at the end
EvolveArt Jun 26, 2023
0527954
feat: refractor mock runtimes 🔨
EvolveArt Jun 26, 2023
58a87ae
fix: drain + default tests 🧪
EvolveArt Jun 27, 2023
806726a
fix: commitments in genesis 🔨
EvolveArt Jun 27, 2023
fd07565
Merge branch 'main' into evolve/state-root
EvolveArt Jun 27, 2023
281f4cd
fix: build
EvolveArt Jun 27, 2023
ba46567
fix: test
EvolveArt Jun 27, 2023
e2cb2cb
fix: clippy 💚
EvolveArt Jun 27, 2023
cf6f466
fix: clippy 💚
EvolveArt Jun 27, 2023
4c72fe3
fix: starknet-rs poseidon ✨
EvolveArt Jun 21, 2023
851db0d
fix: test
EvolveArt Jun 27, 2023
f789b9b
fix: add smol integration test
EvolveArt Jun 27, 2023
20d20e8
fix: review 💚
EvolveArt Jun 27, 2023
5aa6fbc
fix: review
EvolveArt Jun 28, 2023
ec43966
fix: add todo
EvolveArt Jun 28, 2023
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
114 changes: 24 additions & 90 deletions Cargo.lock

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

5 changes: 1 addition & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,6 @@ cairo-vm = { git = "https://github.com/keep-starknet-strange/cairo-rs", branch =
starknet-crypto = { version = "0.5.1", default-features = false }
starknet-core = { version = "0.3.0", default-features = false }
starknet-ff = { version = "0.3.4", default-features = false }
poseidon_hash = { default-features = false, package = "poseidon", git = "https://github.com/EvolveArt/poseidon-rs", branch = "feature/no-std-refractor", features = [
"alloc",
] }
blockifier = { git = "https://github.com/keep-starknet-strange/blockifier", branch = "no_std-support", default-features = false }
starknet_api = { git = "https://github.com/keep-starknet-strange/starknet-api", branch = "no_std-support", features = [
"testing",
Expand All @@ -146,7 +143,7 @@ futures-timer = { version = "3.0.2", default-features = false }
serde = { version = "1.0.163", default-features = false }
serde_json = { version = "1.0.99", default-features = false }
serde_with = "2.3.3"
bitvec = { version = "0.17.4", default-features = false }
bitvec = { version = "1", default-features = false }
thiserror = "1.0.40"
thiserror-no-std = "2.0.2"
derive_more = { version = "0.99.17", default-features = false }
Expand Down
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,16 @@ In other words, while the absolute throughput numbers may not be reflective of
are what we focus on. This way, we can ensure that Madara is always improving,
and that we maintain a high standard of performance as the project evolves.

One can use flamegraph-rs to generate flamegraphs and look for
the performance bottlenecks of the system by running the following :

```bash
flamegraph --root --open -- ./target/release/madara --dev --pool-limit=100000 --pool-kbytes=500000 --rpc-methods=unsafe --rpc-cors=all --in-peers=0 --out-peers=1 --no-telemetry
```

In parallel to that, run `npm run test` within the `benchmarking` folder.
Once you stop the node, the flamegraph will open in your browser.

## 🌐 Connect to the dev webapp

Once your Madara node is up and running, you can connect to the Polkadot-JS Apps
Expand Down
Loading