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(trie): implement new trie architecture with separated node types #2355

Open
wants to merge 101 commits into
base: weiihann/improve-state-trie
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
61a994d
initial, integrate mempool, still got some bug
weiihann Mar 11, 2025
19ec9f6
add IndexedBatch
weiihann Mar 11, 2025
32fc692
half way there for blockchain
weiihann Mar 12, 2025
682e6d3
...left with state... bless me...
weiihann Mar 12, 2025
d68053e
trie works
weiihann Mar 13, 2025
9d25b91
state but not the main state
weiihann Mar 13, 2025
ca8ce6f
state is gud
weiihann Mar 13, 2025
ad6c4f9
blockchain tests passed
weiihann Mar 13, 2025
e49e191
done migration
weiihann Mar 13, 2025
40e0420
slow
weiihann Mar 14, 2025
820f25d
it is time
weiihann Mar 14, 2025
c2cbbf8
all pass!
weiihann Mar 14, 2025
b278ef1
"fix" remote
weiihann Mar 14, 2025
93afcef
yay full integration
weiihann Mar 14, 2025
685a253
use callback pattern for get
weiihann Mar 14, 2025
50df6e7
tidy up stuff
weiihann Mar 14, 2025
d717258
comments
weiihann Mar 14, 2025
c8da437
minor touch ups
weiihann Mar 15, 2025
ba43e01
migration changes
weiihann Mar 16, 2025
19f403b
add comments
weiihann Mar 19, 2025
fe62ccc
Merge branch 'main' of https://github.com/NethermindEth/juno into wei…
weiihann Mar 19, 2025
08dc19c
fix remotedb test
weiihann Mar 19, 2025
691540b
rename l1.go
weiihann Mar 19, 2025
f020370
feat(core): add new address and hash types (#2663)
rodrigo-pino Mar 20, 2025
e76d535
refactor(felt): organize felt and add new ctors (#2664)
rodrigo-pino Mar 20, 2025
9ae3dc9
fix(cmd/juno): Fix cmd env tests (#2665)
IronGauntlets Mar 20, 2025
fae102c
test(node): fix TestNetworkVerificationOnNonEmptyDB (#2562)
Exca-DK Mar 21, 2025
bb1bafd
refactor(l1): use geth's API to retrieve finalized block (#2400)
Exca-DK Mar 21, 2025
bfe60ef
fix(rpc): get_storage_proof should return BLOCK_NOT_FOUND in some cas…
infrmtcs Mar 21, 2025
aaf95fc
refactor(vm): refactor loading of the versioned constants (#2667)
MaksymMalicki Mar 21, 2025
6eeae62
fix(rpc): fix processedEvents not handled if starting from pending (#…
infrmtcs Mar 21, 2025
d98e989
build(deps): bump github.com/ethereum/go-ethereum from 1.15.0 to 1.15…
dependabot[bot] Mar 25, 2025
3356cde
build(deps): bump github.com/bits-and-blooms/bitset from 1.21.0 to 1.…
dependabot[bot] Mar 25, 2025
6e8c1b0
build(deps): bump aquasecurity/trivy-action from 0.29.0 to 0.30.0 (#2…
dependabot[bot] Mar 25, 2025
1f3bfa7
docs: update docs for Juno v0.14.x (#2671)
wojciechos Mar 25, 2025
80c446d
refactor(core): update the underlying felt type (#2674)
rodrigo-pino Mar 25, 2025
6c64587
feat(ci): allow manual deploy-dev-and-test workflow trigger and skip …
wojciechos Mar 25, 2025
188d643
add deleteRange and iterator changes
weiihann Mar 24, 2025
046f840
remove contract key
weiihann Mar 25, 2025
5804a03
apply comments
weiihann Mar 25, 2025
0cb0d78
Squashed commit of the following:
weiihann Mar 25, 2025
0a1db66
gather all accessors in core
weiihann Mar 25, 2025
669cd1e
Merge branch 'main' into weiihann/refactor/dbdb
weiihann Mar 25, 2025
fe046d9
add bytes benchmark
weiihann Dec 13, 2024
b4ed2cc
add Rsh test
weiihann Dec 14, 2024
dcf8b55
add Truncate
weiihann Dec 14, 2024
4643663
all tests passed
weiihann Dec 17, 2024
3cc296b
improve comments
weiihann Dec 18, 2024
63d8bf3
minor chore
weiihann Dec 18, 2024
1fc1019
improvements
weiihann Dec 19, 2024
823e0f7
Implement trie nodes
weiihann Dec 26, 2024
6096e6a
Update() works on TrieD
weiihann Dec 30, 2024
21d02dc
add docs
weiihann Dec 31, 2024
25075f2
Add hasher
weiihann Jan 2, 2025
bf6c7e9
add tracer
weiihann Jan 7, 2025
4d75ebc
Add package `trienode`
weiihann Jan 9, 2025
f7b92d4
Add collector
weiihann Jan 9, 2025
fa9d8d4
Add Trie.Commit
weiihann Jan 9, 2025
1e9c7b6
add Clear() to OrderedSet
weiihann Jan 15, 2025
1042904
implement triedb
weiihann Jan 15, 2025
a55c6f5
rename trie/utils to trie/trieutils
weiihann Jan 15, 2025
b4a4b9f
minor changes on trienode
weiihann Jan 15, 2025
1e4ead0
add trie id
weiihann Jan 15, 2025
21f16f5
...a bunch of changes
weiihann Jan 15, 2025
86fb1c8
bitarray changes
weiihann Jan 17, 2025
8230d84
bitarray changes
weiihann Jan 20, 2025
fb21756
at this point range proof tests pass 50%
weiihann Jan 20, 2025
23a5787
still failing
weiihann Jan 21, 2025
33c106c
pass base test but got nil dereference bug
weiihann Jan 21, 2025
9c11d8b
fix invalid non existent proof
weiihann Jan 21, 2025
b735dea
fix hasRightElement
weiihann Jan 21, 2025
e55692d
create TrieDB interface
weiihann Jan 21, 2025
eb2fb5a
range proof test cases all pass
weiihann Jan 21, 2025
cada8a1
hasRightElement fix edgeNode case
weiihann Jan 21, 2025
55b2a22
remove test
weiihann Jan 22, 2025
90e80c1
fix node encoding and add tests
weiihann Jan 22, 2025
9a894c3
everything pass!!!!!
weiihann Jan 22, 2025
e9b9ba2
linter
weiihann Jan 23, 2025
6d061fb
add comments
weiihann Jan 23, 2025
a5bfa30
fix rebase
weiihann Jan 23, 2025
0934ef4
remove proof_test changes
weiihann Jan 23, 2025
60905ef
add bitarray_test.go
weiihann Jan 23, 2025
a5fae06
linter
weiihann Jan 23, 2025
acfab79
add comments
weiihann Jan 23, 2025
c2da455
Remove leading zero bytes from bit array
weiihann Feb 6, 2025
ba44ebc
comments
weiihann Feb 12, 2025
3dbe242
Fix encoding bug
weiihann Feb 17, 2025
51ac9b7
make fields and interface public
weiihann Feb 18, 2025
6d4b245
add node iterator, delete leaf nodes
weiihann Feb 18, 2025
8a814b4
feat(trie): use interface for trie identifiers
weiihann Feb 25, 2025
764b1e0
feat: length is encoded last in bitarray and prepend node type in key
weiihann Feb 26, 2025
4e6e59c
fix: parallelization in node collection
weiihann Feb 26, 2025
42251b7
docs
weiihann Feb 26, 2025
ef4acdf
refactor: revert encoding without leading zeros
weiihann Feb 27, 2025
caad247
refactor: create pathdb package
weiihann Mar 3, 2025
c588d87
refactor: use type alias path instead of bitarray
weiihann Mar 3, 2025
77b9350
refactor: prepare for hashdb separation
weiihann Mar 3, 2025
f5d0bf8
refactor: node hash returns value
weiihann Mar 10, 2025
c07489a
integrate db refactor
weiihann Mar 20, 2025
f77e33b
trie changes
weiihann Mar 25, 2025
6baa6e0
update gomod
weiihann Mar 25, 2025
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
4 changes: 4 additions & 0 deletions .github/workflows/deploy-dev-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,16 @@ on:
branches: [main]
push:
branches: [main]
tags: ["v*"]
workflow_dispatch:

permissions:
contents: read

jobs:
build:
# Skip for PRs from forks as they don't have access to secrets
if: github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork
uses: ./.github/workflows/build-image.yaml
secrets:
ARTIFACTORY_NUBIA_USERNAME: ${{ secrets.ARTIFACTORY_NUBIA_USERNAME }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sync_first_100_blocks_smoke_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ concurrency:
jobs:
run_smoke_tests:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
if: github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork
steps:
- name: Generate a token
id: generate-token
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/trivy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
run: |
docker build -t docker.io/my-organization/my-app:${{ github.sha }} .
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@18f2510ee396bbf400402947b394f2dd8c87dbb0 #v0.29.0
uses: aquasecurity/trivy-action@6c175e9c4083a92bbca2f9724c8a5e33bc2d97a5 #v0.30.0
with:
image-ref: 'docker.io/my-organization/my-app:${{ github.sha }}'
format: 'sarif'
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,25 +106,25 @@ docker logs -f juno

## 📸 Snapshots

Use the provided snapshots to quickly sync your Juno node with the current state of the network.
Use the provided snapshots to quickly sync your Juno node with the current state of the network. Fresh snapshots are automatically uploaded once a week and are available under the links below.

#### Mainnet

| Version | Download Link |
| ------- | ------------- |
| **>=v0.9.2** | [**juno_mainnet.tar**](https://juno-snapshots.nethermind.io/files/mainnet/latest) |
| **>=v0.13.0** | [**juno_mainnet.tar**](https://juno-snapshots.nethermind.io/files/mainnet/latest) |

#### Sepolia

| Version | Download Link |
| ------- | ------------- |
| **>=v0.9.2** | [**juno_sepolia.tar**](https://juno-snapshots.nethermind.io/files/sepolia/latest) |
| **>=v0.13.0** | [**juno_sepolia.tar**](https://juno-snapshots.nethermind.io/files/sepolia/latest) |

#### Sepolia-Integration

| Version | Download Link |
| ------- | ------------- |
| **>=v0.9.2** | [**juno_sepolia_integration.tar**](https://juno-snapshots.nethermind.io/files/sepolia-integration/latest) |
| **>=v0.13.0** | [**juno_sepolia_integration.tar**](https://juno-snapshots.nethermind.io/files/sepolia-integration/latest) |

### Getting the size for each snapshot
```console
Expand Down Expand Up @@ -188,7 +188,7 @@ After following these steps, Juno should be up and running on your machine, util

## ✔ Supported Features

- Starknet [v0.13.4](https://docs.starknet.io/starknet-versions/version-notes/#version0.13.4) support.
- Starknet [v0.13.5](https://docs.starknet.io/starknet-versions/version-notes/#version0.13.5) support.
- JSON-RPC [v0.8.0](https://github.com/starkware-libs/starknet-specs/releases/tag/v0.8.0-rc3) (Available under `/v0_8` and default`/` endpoints)

Chain/Network Information:
Expand Down
Loading
Loading