Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
244 commits
Select commit Hold shift + click to select a range
d391665
Ported block producer and VRF evaluator
0xMimir Oct 30, 2024
22b7aaa
Review fixes
0xMimir Oct 31, 2024
bcd4dda
Merge pull request #849 from 0xMimir/feat/port-block-producer
0xMimir Oct 31, 2024
d2323ab
fix(redux/time): handle system suspension
binier Nov 1, 2024
2593874
Merge pull request #857 from openmina/fix/redux/time/handle_system_su…
binier Nov 1, 2024
f63efa5
Frontend - Web node loading page v1 (#858)
directcuteo Nov 1, 2024
0d34847
Fix `grace_period_end` value when building inputs for block proof
sebastiencs Nov 2, 2024
de42f51
Merge pull request #861 from openmina/fix-bp
sebastiencs Nov 2, 2024
cb19973
fix(consensus): Subtract with underflow in `relative_min_window_densi…
olton Nov 2, 2024
07cbd2c
tweak: Use `v2` prefix when referencing wire types
tizoc Nov 1, 2024
3a792cb
fix(block-producer): Fix computation of `supercharge_coinbase`
tizoc Nov 1, 2024
5c54265
fix(transition_frontier/genesis): genesis account in ledger must be f…
binier Nov 2, 2024
452d7ff
Merge pull request #859 from openmina/fix/block-producer-supercharge-…
tizoc Nov 2, 2024
b17e3b0
chore: Remove unused `grace_period_end` function (#862)
tizoc Nov 2, 2024
dd675ea
perf(node): load prover indexes in parallel with bootstrap to reduce …
binier Nov 2, 2024
336c842
fix(node): producing genesis proof even when not needed
binier Nov 2, 2024
c09a538
fix(logging): disconnection reason not logged
binier Nov 2, 2024
096241e
fix(docker/frontend): download verifier indexes to assets as well
binier Nov 2, 2024
cd76272
Merge pull request #863 from openmina/feat/node/web/block_producer/do…
binier Nov 2, 2024
e877d0c
(fix): prefer declared external IP instead of observed address
vlad9486 Nov 4, 2024
4b5d8a7
Merge pull request #864 from openmina/fix/p2p/external-ip
vlad9486 Nov 4, 2024
63d6e53
Frontend - Caching for Webnode (#865)
directcuteo Nov 4, 2024
fab9610
feat(docker): Add option to specify libp2p port
tizoc Nov 4, 2024
257612a
Merge pull request #866 from openmina/feat/libp2p-port-docker
tizoc Nov 4, 2024
0dac848
Frontend - Improve wasm caching (#869)
directcuteo Nov 4, 2024
5877165
feat(rpc/sync/staged_ledger): expose parts fetch progress
binier Nov 4, 2024
1bb5bd4
Merge pull request #870 from openmina/feat/stats/sync/staged_ledger_p…
binier Nov 4, 2024
677103e
Fix block proof generation with zero supply increase
sebastiencs Nov 5, 2024
3f18c5e
Frontend - Loading Percentage for web node (#872)
directcuteo Nov 5, 2024
6a95fba
Frontend - Improve web node loading (#873)
directcuteo Nov 6, 2024
83f1df5
Frontend - Web Node Loading Screen Improvements (#874)
directcuteo Nov 6, 2024
265237d
fix(p2p/webrtc): not waiting for channel open, before sending auth me…
binier Nov 6, 2024
b5933e1
fix(p2p/webrtc): peer connection not interrupted when state machine r…
binier Nov 6, 2024
93fba7b
Merge pull request #875 from openmina/fix/p2p/webrtc/connect
binier Nov 6, 2024
3b99cd2
feat: enable more powerfull clippy lints
Sep 13, 2024
af23b4a
Fix `CheckedSigned::on_if` behavior when `sgn` is a constant
sebastiencs Nov 7, 2024
f193e0f
Merge pull request #871 from openmina/fix-block-proof
sebastiencs Nov 7, 2024
066dbca
(fix): minor fix for p2p service
vlad9486 Nov 8, 2024
6af7739
Merge pull request #876 from openmina/fix/minor
vlad9486 Nov 8, 2024
2c0517b
Frontend - Web Node Error handling (#877)
directcuteo Nov 8, 2024
60b6972
Fix arithmetic and other lints
Nov 7, 2024
c0ee386
Merge pull request #701 from openmina/feat/more-powerfull-clippy
dkuehr Nov 8, 2024
d8322e3
Frontend - UI Improvements (#879)
directcuteo Nov 11, 2024
ad5477a
Frontend - Make Global Error Handler work with WebAssembly Streaming …
directcuteo Nov 11, 2024
5afa7c5
Sending custom error to Sentry (#881)
directcuteo Nov 11, 2024
1564dfc
Frontend - Fix loading screen error message (#882)
directcuteo Nov 11, 2024
a2055bc
Added disconnect for all connections
0xMimir Nov 11, 2024
d24aa09
Frontend - Web node not supported screen (#885)
directcuteo Nov 11, 2024
c575d14
Frontend - support Chrome (#886)
directcuteo Nov 11, 2024
21bc23b
Merge pull request #884 from 0xMimir/feat/fix-disconnection
0xMimir Nov 11, 2024
71aead3
chore: Update hardcoded peer id for the signaling server
tizoc Nov 11, 2024
b2b291c
Merge pull request #887 from openmina/update-hardcoded-signaling-peerid
tizoc Nov 11, 2024
04ad772
Frontend - Webnode Caching mechanism (#889)
directcuteo Nov 12, 2024
d539303
Ledger: use eval pt name instead of fst and snd
dannywillems Nov 12, 2024
61cd64a
Frontend - Remove caching and add dev mode (#891)
directcuteo Nov 12, 2024
d37b238
Frontend - Disable caching (#892)
directcuteo Nov 12, 2024
87384a9
Frontend - Caching syntax fix (#893)
directcuteo Nov 12, 2024
bf423a3
Frontend - Web node custom memory in URL (#894)
directcuteo Nov 12, 2024
cf41dfc
Frontend - improve memory from URL in web node loading screen (#895)
directcuteo Nov 12, 2024
eedd27b
Frontend - Fix web-assembly parameterised memory issue (#896)
directcuteo Nov 13, 2024
cd91229
Frontend - Fix web-assembly memory issue (#897)
directcuteo Nov 13, 2024
728d420
fix(vrf-evaluator): Handle cases where the delegator table is empty
tizoc Nov 13, 2024
23a180c
Merge pull request #898 from openmina/fix/handle-empty-delegator-table
tizoc Nov 13, 2024
90877b3
Frontend - Angular SSR (#899)
directcuteo Nov 13, 2024
1984c80
Frontend - modify serving path for prod bundle (#901)
directcuteo Nov 13, 2024
0ab80a2
fix: Correct p2p secret key decryption
Nov 13, 2024
7ae1eee
Merge pull request #900 from openmina/fix/libp2p-key-decryption
adonagy Nov 13, 2024
afa5113
Frontend - Block production won slots improvements (#902)
directcuteo Nov 13, 2024
3581cc5
Frontend - Change mime type for wasm (#903)
directcuteo Nov 14, 2024
1df4480
chore(testing): make separate module for server
binier Nov 3, 2024
135493e
fix(testing/server): requests hanging
binier Nov 6, 2024
3f02fc2
feat(testing/server): expose api to create custom cluster/chain, get …
binier Nov 6, 2024
67ba3d4
feat(testing/server): expose webnode
binier Nov 7, 2024
dd74626
fix(p2p/webrtc): connection closed by peer, not pruned
binier Nov 11, 2024
6178668
feat(testing/server): custom cluster webnode full integration
binier Nov 12, 2024
f784ccc
feat(node): delay genesis proof production as much as possible, to ma…
binier Nov 12, 2024
edae0cf
chore(p2p): adjust timeouts for slower network
binier Nov 13, 2024
924db22
chore(p2p/webrtc): add openmina stun server
binier Nov 13, 2024
3a0ffbf
Frontend - Sentry source maps (#904)
directcuteo Nov 14, 2024
36a81f1
fix(node/replay): postcard deserialization failure
binier Nov 14, 2024
56be60d
Frontend - Javascript Mime Type (#905)
directcuteo Nov 14, 2024
01d3fe8
Merge pull request #888 from openmina/feat/custom_chain/webnodes
binier Nov 14, 2024
4bff13c
Frontend - Force Javascript Mime Type in Apache (#906)
directcuteo Nov 14, 2024
15996f5
Frontend - No cache for index.html (#907)
directcuteo Nov 14, 2024
699ccca
Frontend - Firebase configuration (#908)
directcuteo Nov 14, 2024
7acbc66
feat(rpc): Add `next_won_slot` info to `/status` response
tizoc Nov 15, 2024
59f9299
Merge pull request #909 from openmina/feat/next-won-slot-status-rpc
tizoc Nov 15, 2024
c1c8d75
fix(rpc): Fix `next_won_slot`
tizoc Nov 15, 2024
68357e0
Merge pull request #911 from openmina/fix/next-won-slot-status
tizoc Nov 15, 2024
b0c6f0f
fix(rpc): Replace `next_won_slot` in `/status` with `current_block_pr…
tizoc Nov 15, 2024
014dd4f
Merge pull request #912 from openmina/fix/producer-status-rpc
tizoc Nov 15, 2024
99d800d
fix(web): Don't use random hashes for names, use file contents checksums
tizoc Nov 15, 2024
1fb2ab1
Merge pull request #910 from openmina/fix/asset-name-derandomization
tizoc Nov 15, 2024
bc9b025
Frontend - Firebase configuration (#913)
directcuteo Nov 16, 2024
18c8f5f
fix(block-producer): Add `bug_condition!` calls
tizoc Nov 18, 2024
8a4ea3e
Frontend - Firebase Caching
directcuteo Nov 18, 2024
1b831f4
Frontend - Firebase Caching #916
directcuteo Nov 18, 2024
26ce803
fix(transition-frontier): Skip completed work verification for blocks…
tizoc Nov 18, 2024
0f5da4f
fix(block-producer-stats): Improve the logic that checks if a block b…
tizoc Nov 18, 2024
6d22e11
Added pre-filter for addresses in kademlia
0xMimir Nov 18, 2024
9bba09e
Merge pull request #915 from openmina/fix/add-bug-conditions
tizoc Nov 18, 2024
c53b4c5
Merge pull request #917 from 0xMimir/feat/reduce-logging
0xMimir Nov 18, 2024
f033be5
Bp full width
directcuteo Nov 19, 2024
e2c8959
Frontend - Block Production Pill
directcuteo Nov 19, 2024
09c6c10
fix(node): requesting data from peer which doesnt have it
binier Nov 19, 2024
7b66651
feat(testing): specify default cluster config in an individual scenario
binier Nov 3, 2024
977a021
Merge pull request #919 from openmina/fix/requesting_data_from_peer_w…
binier Nov 20, 2024
e0cdf5b
fix(p2p): Avoid unnecessary buffer allocations on mio recv
tizoc Nov 20, 2024
49406a5
Merge pull request #920 from openmina/fix/recv-allocations
tizoc Nov 20, 2024
ea2c4f7
Ported external snark workers
0xMimir Nov 20, 2024
9b1dea1
Merge pull request #921 from 0xMimir/feat/port-external-snark-workers
0xMimir Nov 20, 2024
d72607f
Merge pull request #890 from openmina/dw/remove-usage-of-fst-and-use-…
sebastiencs Nov 20, 2024
961f041
fix(native/p2p/webrtc): http outgoing signaling not working
binier Nov 21, 2024
602cc25
feat: vrf evaluator stats
Nov 21, 2024
78ad28d
Merge pull request #922 from openmina/fix/native/p2p/webrtc/outgoing_…
binier Nov 21, 2024
c40a12b
Ported ledger
0xMimir Nov 21, 2024
0cb8b02
Dashboard redesign
directcuteo Nov 20, 2024
2e23b4b
Frontend redesign Dashboard and Block Production #925
directcuteo Nov 21, 2024
35d81ca
Http conf
directcuteo Nov 21, 2024
4f9872a
Frontend - Http conf - remap routing to assets files #926
directcuteo Nov 21, 2024
aa451ca
Http conf
directcuteo Nov 21, 2024
12e140e
Frontend - Http conf rewrite for assets #927
directcuteo Nov 21, 2024
563d9f9
feat(invariants): add support for cluster level, global invariants
binier Nov 22, 2024
b1fb597
fix(p2p/webrtc): snark pool propagation
binier Nov 22, 2024
3643cd8
Merge pull request #928 from openmina/test/snark_work_propagation_inv…
binier Nov 22, 2024
fc25748
feat(node/rpc): add rpc to fetch build information
binier Nov 22, 2024
64eae35
Merge pull request #929 from openmina/feat/rpc/build_env
binier Nov 22, 2024
68c40f3
fix: correct initialization of total slots per epoch
Nov 22, 2024
501b3ac
fix: correct initial slots
Nov 22, 2024
f5cafa5
Merge pull request #923 from openmina/feat/vrf-stats
adonagy Nov 22, 2024
e3099b4
Review fixes
0xMimir Nov 22, 2024
771b593
refactor(transaction_pool): tidy up state machine by extracting diffe…
binier Nov 22, 2024
14f2ab2
Merge pull request #924 from 0xMimir/feat/port-ledger
0xMimir Nov 22, 2024
d9b4e35
Move `poseidon` code out of `ledger`
sebastiencs Nov 22, 2024
4eefafe
Use workspace crate `poseidon` in `mina-p2p-messages`
sebastiencs Nov 22, 2024
d7ecfae
Fix clippy lints
sebastiencs Nov 22, 2024
187a2f8
Dedup poseidon::`{Inputs, hash_with_kimchi, hash..}` methods
sebastiencs Nov 22, 2024
b0c4ba5
Merge pull request #931 from openmina/feat/p2p/webrtc/transaction_pro…
binier Nov 22, 2024
fd22fa5
fix(node): incorrect action count
binier Nov 22, 2024
8c72f95
Fix elided lifetimes
sebastiencs Nov 22, 2024
376cc19
Move `LegacyInput` into `poseidon`
sebastiencs Nov 23, 2024
7166d7a
Add `LazyParam` to cache poseidon prefixes
sebastiencs Nov 23, 2024
1c1af36
Fix poseidon prefix when verifying signatures
sebastiencs Nov 24, 2024
538e848
Use `LazyParam` in witness generation
sebastiencs Nov 24, 2024
8528abd
Use `LazyParam` in `vrf` crate
sebastiencs Nov 24, 2024
b4256cc
Update `proof-systems`
sebastiencs Nov 24, 2024
150b1bb
Merge pull request #930 from openmina/move-out-poseidon
sebastiencs Nov 24, 2024
780129d
fix(node): add validation for block time
binier Nov 9, 2024
dc3f17c
feat(consensus): Prevalidate blocks in reducers not enabling conditions
tizoc Nov 21, 2024
989a6c4
fix(scenario): In solo-node-bootstrap scenario, make the initial time…
tizoc Nov 24, 2024
d1a95ba
Merge pull request #878 from openmina/fixes/zura
tizoc Nov 24, 2024
54b32a9
Apache SPA Configuration
directcuteo Nov 25, 2024
ddc6414
Frontend - Apache SPA Configuration #934
directcuteo Nov 25, 2024
718e95a
Cache default zkapp hash
sebastiencs Nov 25, 2024
a17ed0c
fix(p2p): Adjust callbacks formatting and deduplicate name
tizoc Nov 25, 2024
4da0e6e
fix(consensus): Relax block receipt time check when the node is not s…
tizoc Nov 25, 2024
3c66a28
Merge pull request #937 from openmina/feat/block-prevalidation-continued
tizoc Nov 25, 2024
80af68b
Merge pull request #935 from openmina/move-out-poseidon
sebastiencs Nov 25, 2024
bbcfc4d
Abstracted p2p channels
0xMimir Nov 26, 2024
74386ab
Review fixes
0xMimir Nov 26, 2024
066a848
Implement Hashable for TransactionCommitment (needed by fuzzer)
Nov 27, 2024
200bd7d
tx fuzzer: update mutator to work with latest ledger changes
Nov 27, 2024
a06d909
Merge pull request #940 from openmina/tx_fuzzer_updates
tizoc Nov 27, 2024
7772250
fix(node/web): seed nodes url response parse error
binier Nov 28, 2024
4a2fd02
fix(sync/ledger): root snarked ledger sync gets stuck
binier Nov 28, 2024
4128f01
Merge pull request #942 from openmina/fix/sync/ledger/root/stuck
binier Nov 28, 2024
4b14569
fix(sync/ledger): not handling timeout and empty response for num acc…
binier Nov 28, 2024
858c2a9
Merge pull request #938 from 0xMimir/feat/reducer-porting-clenup
0xMimir Nov 28, 2024
d0b1a26
Merge pull request #943 from openmina/fix/sync/ledger/root/stuck
binier Nov 28, 2024
e0ff953
Change minimum Rust toolchain to 1.83
sebastiencs Nov 28, 2024
391d2fc
fix(ci): Update list of peers used in tests
tizoc Nov 28, 2024
c68fec4
Merge pull request #941 from openmina/up-toolchain
sebastiencs Nov 28, 2024
dcc14aa
Merge pull request #945 from openmina/fix/ci-bootstrap-peers
tizoc Nov 28, 2024
fcfd40a
Fix clippy lints for toolchain 1.83
sebastiencs Nov 28, 2024
2a6b0a1
Merge pull request #946 from openmina/fix-clippy
sebastiencs Nov 29, 2024
e769814
Build env modal
directcuteo Nov 25, 2024
24d793a
Frontend - Estimations in the UI Sync Dashboard #947
directcuteo Nov 29, 2024
021ba70
Use faster field implementation in `wasm` target
sebastiencs Nov 25, 2024
bc2758f
Test `32x9` implementation in CI
sebastiencs Nov 29, 2024
8a0ae2e
Fix failing tests
0xMimir Nov 29, 2024
7551e20
Merge pull request #948 from 0xMimir/fix/tests
0xMimir Nov 29, 2024
bdd36bd
Merge pull request #939 from openmina/move-out-poseidon
sebastiencs Nov 29, 2024
d5e6511
fix(ci): Update peer address of replayer
tizoc Nov 29, 2024
f04d63e
Merge pull request #949 from openmina/fix/ci-replayer
tizoc Nov 29, 2024
85bd8ac
Ported remaining callbacks in p2p layer and snark layer
0xMimir Nov 28, 2024
3a52808
Removed state access from effectful actions in p2p layer
0xMimir Nov 28, 2024
fde0905
Review fixes
0xMimir Nov 29, 2024
97e7eed
Merge pull request #944 from 0xMimir/feat/add-remaining-callbacks
0xMimir Nov 30, 2024
9b12d4d
(fix): inspect pubsub behavior, optimize broadcasting
vlad9486 Nov 11, 2024
c9077a1
(fix): broadcast block after injection and optimize memory usage duri…
vlad9486 Nov 28, 2024
3402eef
fix(p2p): Use `Arc` wrapping to share blocks passed around
tizoc Nov 28, 2024
21a3b38
fix(p2p): Remove message data from messages, they are on the state al…
binier Nov 27, 2024
6fd6fb7
fix(p2p): Cap p2p buffer sizes
tizoc Nov 27, 2024
64d87b1
fix(p2p): Make block propagation test work without diplicated messages
tizoc Nov 29, 2024
9c1ead0
fix(simulator): Restore `run` method and use it instead of `setup_and…
tizoc Nov 30, 2024
205e0aa
fix(p2p): Broadcast produced block only after successful injection
tizoc Nov 30, 2024
5baabe6
Merge pull request #950 from openmina/fix/pubsub-optimizations
tizoc Nov 30, 2024
cecd765
fix(p2p): Don't broadcast gossip messages before decoding them
tizoc Nov 30, 2024
62e44fd
fix(p2p): Cleanup pubsub data immediately after it has been processed
tizoc Nov 30, 2024
4de4e35
fix(p2p): Try to allocate less when handling incoming pubsub messages
tizoc Nov 30, 2024
16c8ae6
Merge pull request #953 from openmina/fix/pubsub-tweaks
tizoc Nov 30, 2024
6f15c6e
feat(p2p): Refactor incoming data reducer to make it more readable
tizoc Dec 1, 2024
dd8dc07
fix(p2p): When handling pubsub messages, clear buffer for errors othe…
tizoc Dec 1, 2024
d20387f
doc(p2p): Document pubsub actions and state
tizoc Dec 1, 2024
56a7d0a
tweak(p2p): Abstract temporary state clearing into methods
tizoc Dec 1, 2024
f7384f5
fix(p2p): Avoid duplicating incoming messages during validation
tizoc Dec 1, 2024
48fcaec
fix(p2p): Validate every pubsub message in a batch before continuing.…
tizoc Dec 1, 2024
2dd1d47
tweak(p2p): Use `thiserror` when defining pubsub errors
tizoc Dec 2, 2024
f224013
Merge pull request #955 from openmina/tweak/pubsub
tizoc Dec 2, 2024
62b75ca
feat(proofs): Wrap block proofs in `Arc` and share them
tizoc Dec 2, 2024
467bb28
feat(proofs): Wrap ledger proofs in `Arc` and share them
tizoc Dec 2, 2024
4e1fc72
tweak(p2p): Unbox `Broadcast` action contents, value is smaller now
tizoc Dec 2, 2024
dbda80c
Merge pull request #957 from openmina/feat/block-proof-sharing
tizoc Dec 2, 2024
641418d
fix: correct epoch number in BeginEpochEvaluation action
Dec 3, 2024
da634e6
Fix vrf
sebastiencs Dec 3, 2024
817978e
Test `vrf` crate in CI
sebastiencs Dec 3, 2024
77f0a01
Update Readme
lukasimrich Oct 31, 2024
ac0427b
Merge pull request #960 from openmina/guides
tizoc Dec 3, 2024
aa00de1
Fix test `vrf::output::tests::test_conv_to_mina_type`
sebastiencs Dec 3, 2024
f60596b
Merge pull request #959 from openmina/fix-vrf
sebastiencs Dec 3, 2024
f5c17bb
Merge pull request #958 from openmina/fix/vrf-stats
tizoc Dec 3, 2024
992a85b
refactor(snark_pool): extract abstracted away logic into distributed_…
binier Nov 23, 2024
ef988bc
refactor(hashing): merge tx hashing logic in different crates
binier Nov 23, 2024
f1ec331
feat(transaction_pool): p2p webrtc broadcast logic
binier Nov 25, 2024
7932108
feat(transaction_pool/webrtc): implement transaction fetching and inj…
binier Dec 4, 2024
8213c3f
ci(bootstrap-test): fix node recording not in artifacts
binier Dec 4, 2024
1270789
Merge pull request #962 from openmina/feat/p2p/webrtc/transaction_pro…
binier Dec 4, 2024
c148622
Update algebra dependency
sebastiencs Dec 4, 2024
adce26d
Merge pull request #963 from openmina/up-algebra
sebastiencs Dec 4, 2024
f4cc19f
fix(dpool): do cleanup when we get an empty response for the requeste…
binier Dec 4, 2024
453b283
Merge pull request #964 from openmina/fix/dpool/cleanup_when_peer_sen…
binier Dec 4, 2024
78f59bb
fix(transaction_pool/candidates): candidate not added if we have rece…
binier Dec 4, 2024
5bd5d9a
Sentry sync events
directcuteo Dec 3, 2024
1170171
Frontend - Sentry sync events & transactions fix model #965
directcuteo Dec 4, 2024
b7d2556
fix(p2p/webrtc): failed connections leaking
binier Dec 4, 2024
a4c1bb7
feat: Add extra logging to the block producer results
tizoc Dec 4, 2024
5e47355
Merge pull request #966 from openmina/fix/p2p/webrtc/failed_connectio…
binier Dec 4, 2024
2e6dfbd
Merge pull request #967 from openmina/tweak/extra-bp-logging
tizoc Dec 4, 2024
190491a
tweak: Fix CHANGELOG version links
tizoc Dec 3, 2024
7c039f6
chore: Update CHANGELOG
tizoc Dec 4, 2024
e231338
Make versions.sh script work on macOS too
tizoc Dec 4, 2024
d158420
chore: Bump version to 0.12.0
tizoc Dec 4, 2024
05cb43a
chore: Update version in docker compose files
tizoc Dec 4, 2024
2338fe6
Merge pull request #968 from openmina/prepare-release/v0.12.0
tizoc Dec 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ steps:
- cp /usr/local/bin/mina cli/bin/

- name: build
image: rust:1.80-bullseye
image: rust:1.83-bullseye
commands:
- apt-get update && apt-get install -y libssl-dev libjemalloc-dev jq protobuf-compiler
- rustup update 1.80 && rustup default 1.80
- rustup update 1.83 && rustup default 1.83
- rustup component add rustfmt
# just to be sure it builds without errors
- cargo build
Expand Down
113 changes: 94 additions & 19 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,81 @@ jobs:
cd ledger
cargo test --release -- -Z unstable-options --report-time

ledger-32x9-tests:
runs-on: ubuntu-20.04
steps:
- name: Git checkout
uses: actions/checkout@v4
- name: Setup build dependencies
run: |
sudo apt update
sudo apt install -y protobuf-compiler
- name: Setup Rust
run: |
# Nightly to be able to use `--report-time` below
rustup install nightly
rustup override set nightly
- name: Download circuits files
run: |
git clone --depth 1 https://github.com/openmina/circuit-blobs.git
ln -s -b $PWD/circuit-blobs/* ledger/
- name: Enable 32x9 fields implementation
run: |
cargo install sd
sd '^mina-curves.*$' '' ./Cargo.toml
sd '^ark-ff = \{ version .*$' '' ./Cargo.toml
sd -F '# UNCOMMENTED_IN_CI ' '' ./Cargo.toml
cat ./Cargo.toml
- name: Build ledger tests
run: |
cd ledger
cargo build --release --tests
- name: Run ledger tests
run: |
cd ledger
cargo test --release -- -Z unstable-options --report-time

vrf-tests:
runs-on: ubuntu-20.04
steps:
- name: Git checkout
uses: actions/checkout@v4
- name: Setup build dependencies
run: |
sudo apt update
sudo apt install -y protobuf-compiler
- name: Setup Rust
run: |
# Nightly to be able to use `--report-time` below
rustup install nightly
rustup override set nightly
- name: Build vrf tests
run: |
cd vrf
cargo build --release --tests
- name: Run vrf tests
run: |
cd vrf
cargo test --release -- -Z unstable-options --report-time

tx-fuzzer-check:
runs-on: ubuntu-20.04
steps:
- name: Git checkout
uses: actions/checkout@v4
- name: Setup build dependencies
run: |
sudo apt update
sudo apt install -y protobuf-compiler
- name: Setup Rust
run: |
rustup install nightly
rustup override set nightly
- name: Check for compilation errors in transaction fuzzer
run: |
cd tools/fuzzing
cargo check

p2p-tests:
runs-on: ubuntu-20.04
steps:
Expand All @@ -56,7 +131,7 @@ jobs:

- name: Setup Rust
run: |
rustup default 1.80
rustup default 1.83
rustup component add rustfmt

- name: Setup Rust Cache
Expand All @@ -82,7 +157,7 @@ jobs:

- name: Setup Rust
run: |
rustup default 1.80
rustup default 1.83
rustup component add rustfmt

- name: Setup Rust Cache
Expand Down Expand Up @@ -142,7 +217,7 @@ jobs:

- name: Setup Rust
run: |
rustup default 1.80
rustup default 1.83
rustup component add rustfmt

- name: Setup Rust Cache
Expand Down Expand Up @@ -178,7 +253,7 @@ jobs:

- name: Setup Rust
run: |
rustup default 1.80
rustup default 1.83
rustup component add rustfmt

- name: Setup Rust Cache
Expand Down Expand Up @@ -259,15 +334,15 @@ jobs:
# TODO: query cluster for actual addresses, or specify then on deployment
env:
PEERS: |
/ip4/135.181.217.23/tcp/31881/p2p/12D3KooWS4TMSjrAS4Cj31PgjZ9KgeHh5goLP65M5GSriF28d7Jx
/ip4/135.181.217.23/tcp/30386/p2p/12D3KooWK92cYz26JqBE9vM9s9Jd9pJKcNxLd7VVRupU7YG5NupU
/ip4/135.181.217.23/tcp/32272/p2p/12D3KooWSU1DYZYVA7wAYLvLsH6yVS8oV1sMJUcC7VtUxCgtsWkJ
/ip4/135.181.217.23/tcp/32218/p2p/12D3KooWM5m9QqHpDkPJi54GPP6rGFpzo7E274husrModPSLQ7tn
/ip4/135.181.217.23/tcp/30798/p2p/12D3KooWCk2QSmQH2XbtpDXiSPUq6wb2LB2JaExHRXkJggmEfN4J
/ip4/135.181.217.23/tcp/31631/p2p/12D3KooWQ1642Dzm57Kr8tmTwS9NRFaJPy4ysaQ2ne3ZYwQn5qCk
/ip4/135.181.217.23/tcp/30196/p2p/12D3KooWHK67syE2LeTz5EnNqCe5ZFf9SoZRFN4AdHVZsL31WkMn
/ip4/135.181.217.23/tcp/30790/p2p/12D3KooWDwxrG5u12FzXAFyK7vd8aHnEQf4dwoboBJ72FUS179xK
/ip4/135.181.217.23/tcp/30070/p2p/12D3KooWEowA3VakSddUjZuBTK3HJhNM7sRqwWDbqtPtwymAMCcy
/dns4/primary-tcp-proxy.hz.minaprotocol.network/tcp/40101/p2p/12D3KooWNGY3guz8pYHrVEqs8se4MSnnmpgguyQYDazMbVCyrMnS
/dns4/primary-tcp-proxy.hz.minaprotocol.network/tcp/40102/p2p/12D3KooWSqZ4qtysb8Du4yVpcc5SYc3gsRuNqgMomggw6hekATWg
/dns4/primary-tcp-proxy.hz.minaprotocol.network/tcp/40103/p2p/12D3KooWSHiGavQpamDPEc6rPaqT4PoS1Lr9aDfrfg5dKM2V6x3H
/dns4/primary-tcp-proxy.hz.minaprotocol.network/tcp/40104/p2p/12D3KooWA3yPrTaLXsggVSCG4mr7c33YNdz5DSs87LszRUVt9vLT
/dns4/primary-tcp-proxy.hz.minaprotocol.network/tcp/40105/p2p/12D3KooWCLcUWCdU4VstETztxE3feQyS57dVDdzBhmkj5tiCaha8
/dns4/primary-tcp-proxy.hz.minaprotocol.network/tcp/40106/p2p/12D3KooWNZWqEoCuhMrc9tTMxtEsfxmeFhjh2agUcmzJFNKxQnNA
/dns4/primary-tcp-proxy.hz.minaprotocol.network/tcp/40107/p2p/12D3KooWAMSP94SM3icSeAXeBmPUuZ5JvwrZ5w87fpRHVeJkdboe
/dns4/primary-tcp-proxy.hz.minaprotocol.network/tcp/40108/p2p/12D3KooWL5gPf5CrARVPhBi6KsDHmB1gsJKZ4vWrcLweWyMjpB5e
/dns4/primary-tcp-proxy.hz.minaprotocol.network/tcp/40109/p2p/12D3KooWT1nNJLGE8jWcshPSq3FmSXmmNn2MzfmvJcWYZ1HrtHnZ
outputs:
peers: ${{ steps.peers.outputs.peers }}
steps:
Expand Down Expand Up @@ -296,7 +371,7 @@ jobs:
# TODO: remove when replayer supports identify
KEEP_CONNECTION_WITH_UNKNOWN_STREAM: true
OPENMINA_SCENARIO_SEEDS: ${{ needs.k8s-peers.outputs.peers }}
REPLAYER_MULTIADDR: "/dns4/1.k8.openmina.com/tcp/31968/p2p/12D3KooWPayQEdprqY2m3biReUUybA5LoULpJE7YWu6wetEKKELv"
REPLAYER_MULTIADDR: "/dns4/primary-tcp-proxy.hz.minaprotocol.network/tcp/40110/p2p/12D3KooWPayQEdprqY2m3biReUUybA5LoULpJE7YWu6wetEKKELv"
BPF_ALIAS: /coda/0.0.1/29936104443aaf264a7f0192ac64b1c7173198c1ed404c1bcff5e562e05eb7f6-0.0.0.0
strategy:
matrix:
Expand Down Expand Up @@ -333,7 +408,7 @@ jobs:
with:
pattern: tests*
merge-multiple: true

- name: Download tests
uses: actions/download-artifact@v4
with:
Expand Down Expand Up @@ -399,7 +474,7 @@ jobs:
env:
PEERS_LIST: ${{ needs.k8s-peers.outputs.peers }}
PEER_LIST_FILE: peer-list.txt
WORK_DIR: data
OPENMINA_HOME: data
BPF_ALIAS: /coda/0.0.1/29936104443aaf264a7f0192ac64b1c7173198c1ed404c1bcff5e562e05eb7f6-0.0.0.0

services:
Expand Down Expand Up @@ -444,7 +519,7 @@ jobs:
env:
OPENMINA_COMMAND: openmina
NO_PEER_DISCOVERY: "true"
OUT_PATH: ${{ env.WORK_DIR }}/logs/bootstrap_output
OUT_PATH: ${{ env.OPENMINA_HOME }}/logs/bootstrap_output
RECORD: state-with-input-actions
run: |
mkdir -p $OUT_PATH
Expand All @@ -459,14 +534,14 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: bootstrap-logs
path: ${{ env.WORK_DIR }}/logs/*
path: ${{ env.OPENMINA_HOME }}/logs/*
if: ${{ failure() }}

- name: Upload record
uses: actions/upload-artifact@v4
with:
name: bootstrap-record
path: ${{ env.WORK_DIR }}/recorder/*
path: ${{ env.OPENMINA_HOME }}/recorder/*
if: ${{ failure() }}

- name: Archive network debugger database
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
sudo apt install -y protobuf-compiler
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.81
toolchain: 1.83
components: rustfmt, clippy
default: true
- uses: actions-rs/cargo@v1
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
/target
/node/testing/res/
.DS_Store
66 changes: 46 additions & 20 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.12.0] - 2024-12-04

### Fixed

- Properly handle time in cases in which the system goes to sleep.
- Various corner cases in block proof production.
- Improved ledgers sync during bootstrap (be smarter about which peers to query).
- **P2P**: More efficient memory usage when managing the p2p state.
- **P2P**: Lower outgoing traffic by being more conservative about what is broadcasted to each peer.
- **P2P**: Better handling of disconnections.
- **VRF**: Correctly handle cases in which the delegator table is empty.
- **Webnode**: Peer connection handling improvements.

### Changed

- **Webnode**: Reduced startup time by loading prover indexes in parallel to the bootstrap process.
- **Webnode**: Faster field operations (faster hashing and proving).
- Improved hashing performance by caching and reusing common prefixes.
- Added more pre-validation checks for blocks received from the network.

### Added

- **Webnode**: Transaction propagation
- **P2P**: Support for specifying the external ip to be advertised.

## [0.11.0] - 2024-10-31

### Added
Expand Down Expand Up @@ -305,24 +330,25 @@ First public release.
- Alpha version of the node which can connect and syncup to the berkeleynet network, and keep applying new blocks to maintain consensus state and ledger up to date.
- Web-based frontend for the node.

[Unreleased]: https://github.com/openmina/openmina/compare/v0.11.0...develop
[0.11.0]: https://github.com/openmina/openmina/releases/tag/v0.10.3...v0.11.0
[0.10.3]: https://github.com/openmina/openmina/releases/tag/v0.10.0...v0.10.3
[0.10.0]: https://github.com/openmina/openmina/releases/tag/v0.9.0...v0.10.0
[0.9.0]: https://github.com/openmina/openmina/releases/tag/v0.8.14...v0.9.0
[0.8.14]: https://github.com/openmina/openmina/releases/tag/v0.8.13...v0.8.14
[0.8.13]: https://github.com/openmina/openmina/releases/tag/v0.8.3...v0.8.13
[0.8.3]: https://github.com/openmina/openmina/releases/tag/v0.8.2...v0.8.3
[0.8.2]: https://github.com/openmina/openmina/releases/tag/v0.8.1...v0.8.2
[0.8.1]: https://github.com/openmina/openmina/releases/tag/v0.8.0...v0.8.1
[0.8.0]: https://github.com/openmina/openmina/releases/tag/v0.7.0...v0.8.0
[0.7.0]: https://github.com/openmina/openmina/releases/tag/v0.6.0...v0.7.0
[0.6.0]: https://github.com/openmina/openmina/releases/tag/v0.5.1...v0.6.0
[0.5.1]: https://github.com/openmina/openmina/releases/tag/v0.5.0...v0.5.1
[0.5.0]: https://github.com/openmina/openmina/releases/tag/v0.4.0...v0.5.0
[0.4.0]: https://github.com/openmina/openmina/releases/tag/v0.3.0...v0.4.0
[0.3.1]: https://github.com/openmina/openmina/releases/tag/v0.3.0...v0.3.1
[0.3.0]: https://github.com/openmina/openmina/releases/tag/v0.2.0...v0.3.0
[0.2.0]: https://github.com/openmina/openmina/releases/tag/v0.1.0...v0.2.0
[0.1.0]: https://github.com/openmina/openmina/releases/tag/v0.0.1...v0.1.0
[Unreleased]: https://github.com/openmina/openmina/compare/v0.12.0...develop
[0.12.0]: https://github.com/openmina/openmina/compare/v0.11.0...v0.12.0
[0.11.0]: https://github.com/openmina/openmina/compare/v0.10.3...v0.11.0
[0.10.3]: https://github.com/openmina/openmina/compare/v0.10.0...v0.10.3
[0.10.0]: https://github.com/openmina/openmina/compare/v0.9.0...v0.10.0
[0.9.0]: https://github.com/openmina/openmina/compare/v0.8.14...v0.9.0
[0.8.14]: https://github.com/openmina/openmina/compare/v0.8.13...v0.8.14
[0.8.13]: https://github.com/openmina/openmina/compare/v0.8.3...v0.8.13
[0.8.3]: https://github.com/openmina/openmina/compare/v0.8.2...v0.8.3
[0.8.2]: https://github.com/openmina/openmina/compare/v0.8.1...v0.8.2
[0.8.1]: https://github.com/openmina/openmina/compare/v0.8.0...v0.8.1
[0.8.0]: https://github.com/openmina/openmina/compare/v0.7.0...v0.8.0
[0.7.0]: https://github.com/openmina/openmina/compare/v0.6.0...v0.7.0
[0.6.0]: https://github.com/openmina/openmina/compare/v0.5.1...v0.6.0
[0.5.1]: https://github.com/openmina/openmina/compare/v0.5.0...v0.5.1
[0.5.0]: https://github.com/openmina/openmina/compare/v0.4.0...v0.5.0
[0.4.0]: https://github.com/openmina/openmina/compare/v0.3.0...v0.4.0
[0.3.1]: https://github.com/openmina/openmina/compare/v0.3.0...v0.3.1
[0.3.0]: https://github.com/openmina/openmina/compare/v0.2.0...v0.3.0
[0.2.0]: https://github.com/openmina/openmina/compare/v0.1.0...v0.2.0
[0.1.0]: https://github.com/openmina/openmina/compare/v0.0.1...v0.1.0
[0.0.1]: https://github.com/openmina/openmina/releases/tag/v0.0.1
Loading
Loading