Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
a1fd970
feat(rpc): Include more peer info
tizoc Dec 13, 2024
ed3670e
Fixed pubsub_receive_block so it can fail
0xMimir Jan 6, 2025
2777b9e
Merge pull request #1014 from 0xMimir/bugfix/pubsub_receive_block
0xMimir Jan 7, 2025
caf75e2
Firebase functions
directcuteo Jan 8, 2025
5dc1b8d
Frontend - Firebase heartbeat validation and deploy function #1019
directcuteo Jan 8, 2025
5dcb60f
Added temporary fix for data handling in yamux
0xMimir Jan 10, 2025
2b6e929
Merge pull request #1021 from 0xMimir/patch/yamux-fix
0xMimir Jan 10, 2025
9de6770
Removed frame cloning in `P2pNetworkYamuxAction::IncomingFrame`
0xMimir Jan 10, 2025
6024078
Updated types in `YamuxFrameInner` from `i32` to `u32`
0xMimir Jan 10, 2025
f7ee15b
Added block validation before broadcast
0xMimir Dec 16, 2024
ae16d6b
Merge pull request #1022 from 0xMimir/feat/remove-frame-cloning
0xMimir Jan 13, 2025
72a3c09
Update `proof-systems`
sebastiencs Jan 10, 2025
d2b78db
Removed optional message in pubsub
0xMimir Jan 14, 2025
f34927b
Merge pull request #1020 from openmina/fix-panic
sebastiencs Jan 14, 2025
da15fe1
Review fixes
0xMimir Jan 14, 2025
6d3285c
Changed type of message id
0xMimir Jan 15, 2025
7dbd615
Fix transaction pool `revalidate`
sebastiencs Jan 15, 2025
b286f35
Fix test `add_private_key_to_block_proof_input`
sebastiencs Jan 15, 2025
ee2186e
Review fixes
0xMimir Jan 15, 2025
61d3004
Merge pull request #1024 from openmina/fix-panic
sebastiencs Jan 15, 2025
7db7078
Merge pull request #1001 from 0xMimir/feat/block-validation-in-pubsub
0xMimir Jan 16, 2025
b519c4f
feat(rpc): Add heartbeat handler
tizoc Jan 16, 2025
3c804d2
feat: Add google cloud function to receive heartbeats
tizoc Jan 16, 2025
c4af8fe
feat(hearbeat): Move submitter validation logic to it's own file
tizoc Jan 16, 2025
c35d266
Merge pull request #1012 from openmina/feat/hearbeat-rpc
tizoc Jan 16, 2025
5de2d76
transaction logic: fix missing account updates when prevalidating tra…
Jan 16, 2025
9d5441a
Merge pull request #1025 from openmina/transaction_pool_fix
dkuehr Jan 16, 2025
3afc60b
Refactor window size update to prevent underflow in stream
0xMimir Jan 20, 2025
3933a11
Merge pull request #1028 from 0xMimir/bugfix/window-size
0xMimir Jan 20, 2025
590b498
chore: Update minimum Rust toolchain to 1.84
tizoc Jan 21, 2025
54f2fb9
chore: Add `serializable_callbacks` feature to p2p and node crates
tizoc Jan 21, 2025
9d0aee2
chore: Fix clippy warnings
tizoc Jan 21, 2025
b09596a
chore: Update clippy invocation in lint workflow
tizoc Jan 21, 2025
4080095
Merge pull request #1030 from openmina/chore/rust184
tizoc Jan 21, 2025
91c5992
(feat/malloc_size_of): implement for p2p state
vlad9486 Dec 9, 2024
c7b43ac
(feat/malloc_size_of): implement for kad state
vlad9486 Dec 16, 2024
7a32e06
(feat/malloc_size_of): show allocated size in `/status`
vlad9486 Dec 19, 2024
a38b8f1
(feat/malloc_size_of): use upstream redux
vlad9486 Jan 8, 2025
5f9244b
(feat/malloc_size_of): impl for mina-p2p-messages
vlad9486 Jan 10, 2025
1a77392
(feat/malloc_size_of): measure more
vlad9486 Jan 13, 2025
7347bc1
(feat/malloc_size_of): inspect transition frontier and snark pool res…
vlad9486 Jan 20, 2025
bc4cd57
(feat/malloc_size_of): refactor slightly
vlad9486 Jan 21, 2025
56e15e9
feat(heartbeat): Various improvements
tizoc Jan 16, 2025
6d8f1d9
Merge pull request #1026 from openmina/feat/hearbeat-improvements
tizoc Jan 21, 2025
d297e05
feat(yamux): Reuse the recv buffer
tizoc Jan 21, 2025
13e4b62
(feat/malloc_size_of): fix clippy warns and rebase mistakes
vlad9486 Jan 21, 2025
60d28a9
feat(p2p/identity): signing
binier Jan 21, 2025
b5c83e8
feat(p2p/libp2p): rebroadcast gossip messages received on webrtc to l…
binier Jan 22, 2025
ef1868f
feat(yamux): Abstract the reduction of the incoming state, manage rec…
tizoc Jan 21, 2025
144afec
docs(p2p/pubsub): rebroadcast webrtc message to libp2p peers
binier Jan 22, 2025
2d5bc2c
Merge pull request #1032 from openmina/optimization/reuse-yamux-recv-…
tizoc Jan 22, 2025
d8c3cb0
fix(p2p/libp2p/pubsub): duplicate block broadcasted from different se…
binier Jan 22, 2025
d548cfb
Merge pull request #1002 from openmina/feat/malloc_size_of
vlad9486 Jan 23, 2025
2676e39
Merge pull request #1033 from openmina/fix/p2p/webrtc_to_libp2p_propa…
binier Jan 23, 2025
bec2803
feat(rpc): Expose heartbeat rpc in wasm
tizoc Jan 23, 2025
d591f03
Merge pull request #1035 from openmina/feat/expose-heartbeat-wasm
tizoc Jan 23, 2025
07127b8
transaction fuzzer: add transaction pool support
Dec 19, 2024
7ca6ecd
Merge pull request #1036 from openmina/tx_pool_fuzzer
dkuehr Jan 23, 2025
c629637
fixup heartbeat format
tizoc Jan 23, 2025
69931a8
chore: Update Cargo.lock
tizoc Jan 23, 2025
8c06c0c
Merge pull request #1037 from openmina/tweaks/heartbeat-format
tizoc Jan 23, 2025
e9850af
refactor(consensus): transfer consensus state machine as transition f…
binier Jan 26, 2025
85814a3
Merge pull request #1038 from openmina/refactor/transition_frontier/c…
binier Jan 26, 2025
7f4dc08
feat: Add archive service skeleton
Oct 17, 2024
ec8efec
feat: Add archive breadcrumb wire types
Oct 18, 2024
28ce184
fix: Correct archive wire type
Oct 22, 2024
a52f441
feat: Add conversions from application result to archive wire type
Oct 23, 2024
87ad03e
feat: Integrate the archive sender parts
Oct 23, 2024
667bb2b
WIP: correct (but dirty) RPC protocol impl
Oct 29, 2024
fefef1c
WIP: use the rpc protocol in archive service
Oct 29, 2024
23aa15e
Revert "Remove `token_owners` map"
Oct 29, 2024
f0e1587
fix: Add missing webrtc methods
Oct 30, 2024
cf70319
fix: token owner maps correctly everywhere
Oct 30, 2024
fc09ece
chore: Cleanup archive service
Nov 4, 2024
7e94275
feat: Make producer-dashboard archive code visible (as lib)
Nov 5, 2024
6b43604
WIP: prepare archive stuff and organize sql queries better
Nov 11, 2024
0eab3df
WIP: queries for DB comparison (incomplete)
Nov 12, 2024
22fdb2c
WIP: more queries for DB comparison (incomplete)
Nov 14, 2024
892efba
test: VRF brench
Nov 15, 2024
63c3309
feat: all table queries for tests
Nov 18, 2024
f9b7f99
TODO(REMOVE): test compose
Nov 18, 2024
b5053a3
feat: patch for archive process
Nov 25, 2024
a1b198a
docker: apply patch
Nov 25, 2024
09e2421
feat: archive comparison tool
Nov 26, 2024
eb69440
ci: Add archive workflow
Nov 26, 2024
0591af7
fix: Parse as archive url to URL then to SockAddr
Nov 28, 2024
3bec145
docker: archive comparison
Nov 28, 2024
6aea7cd
comparison tool update
Nov 28, 2024
14a883e
chore: do not ignore channell errors
Nov 29, 2024
9c295eb
WIP
Dec 2, 2024
0c1a5e3
fixed archive communication?
Dec 2, 2024
542525a
WIP: rpc protocol improvement
Dec 10, 2024
d06d291
fix: correct protocol
Dec 11, 2024
a38eba2
chore: cleanup + cargo fmt
Dec 11, 2024
ce512f1
fix: add recursion guard
Dec 11, 2024
f3b5dc7
fix: correct coinbase value when there is no coinbase tx
Dec 18, 2024
b9c1636
fix: include fee transfer accounts accessed
Dec 18, 2024
2169ee1
fix: correctly filter acessed accounts
Dec 19, 2024
a79ccd3
fix: correct tokens_used
Dec 19, 2024
28b4baa
chore: remove vrf bench
Dec 20, 2024
6ca2b78
chore: update cargo lock
Jan 8, 2025
8eddb9d
chore: Cargo.lock
Jan 8, 2025
54796b5
refactor: remove debug prints
Jan 8, 2025
f9f643e
fix: Correct AccessedOrNot variant for fee payer
Jan 9, 2025
a300ef6
Include everything archive realeted behind the --archive-address flag
Jan 13, 2025
659aa0f
chore: fix clippy warnings
Jan 13, 2025
858b57a
refactor: create separate ledger Database constructor for archive mode
Jan 16, 2025
ea047bc
fix: remove unused token_owners methods
Jan 16, 2025
e200f14
chore: remove redundant time fn in log macro calls
Jan 20, 2025
8813564
fix: make token_owners map optional
Jan 20, 2025
2e371d0
refactor: remove unnecessary sql and sqlx files
Jan 20, 2025
8e9de35
chore: small fixes, cargo fmt
Jan 20, 2025
4541123
fix: re-enable testing binary in image
Jan 20, 2025
c2f5364
Add readme for archive
Jan 20, 2025
0e6c6c9
Update compose files and archive tool
Jan 21, 2025
e2df91c
chore: fix typo
Jan 23, 2025
0a94dce
fix: Correct coinbase amount calculation
Jan 23, 2025
2a68df5
fix(wasm): only build the current archiver mechanism for native
Jan 24, 2025
fb1c689
fix(wasm): add missing fields in web builder
Jan 24, 2025
c56c227
refactor: Remove is_archive in long call chains, use a global OnceLoc…
Jan 27, 2025
1f7eaf3
chore: cargo fmt
Jan 27, 2025
9d07084
Fixed the issue with pending queue in yamux
0xMimir Jan 24, 2025
dc40eba
Review fixes
0xMimir Jan 27, 2025
bd078ee
Reference the refactor issue for future FIXME(#1043)
Jan 27, 2025
938af0c
chore: Add archive to changelog
Jan 27, 2025
88835eb
Merge pull request #956 from openmina/feat/archive-compatibility
adonagy Jan 27, 2025
3006cde
Leaderboard
directcuteo Jan 16, 2025
c7cb915
Frontend - Leaderboard #1046
directcuteo Jan 29, 2025
506630c
feat(ledger): keep track of alive masks after every transition fronti…
binier Jan 30, 2025
72906e8
Merge pull request #1047 from openmina/feat/status/ledger
binier Jan 30, 2025
e75a168
feat: Add heartbeat processor tool
tizoc Jan 30, 2025
54994f7
feat(heartbeat): Add .sqlx files
tizoc Jan 30, 2025
02cee08
feat(heartbeat): Add docker setup files
tizoc Jan 30, 2025
346e478
chore: Update Cargo.lock
tizoc Jan 30, 2025
d2b6ccd
Merge pull request #1031 from openmina/feat/heartbeat-processor
tizoc Jan 30, 2025
6eb1630
feat(ci): Workflow to build heartbeats processor images
tizoc Jan 30, 2025
b52f6b4
Merge pull request #1048 from openmina/ci/heartbeat-processor-builder
tizoc Jan 30, 2025
018d618
Leaderboard more pages
directcuteo Jan 30, 2025
6763f61
Frontend - Leaderboard improvements #104
directcuteo Jan 31, 2025
12596c1
feat(heartbeats): Track produced blocks earlier
tizoc Jan 31, 2025
a257142
Merge pull request #1051 from openmina/feat/earlier-produced-block-tr…
tizoc Jan 31, 2025
7f1a726
fix(heartbeats): Use start window as first point of reference the fir…
tizoc Jan 31, 2025
18b793a
fix(heartbeats): Fix query order, should be ascending
tizoc Jan 31, 2025
05a0eac
feat(heartbeats): Improved reporting
tizoc Jan 31, 2025
aaf4192
feat(heartbeats): Process chunks as soon as we have them
tizoc Jan 31, 2025
e8ebe6e
feat(heartbeats): Update .sqlx files
tizoc Jan 31, 2025
9819090
Merge pull request #1050 from openmina/feat/heartbeat-processor-tweaks
tizoc Jan 31, 2025
d64cdb7
Merge pull request #1040 from 0xMimir/bugfix/yamux-queue
tizoc Jan 31, 2025
eef3475
Merge pull request #987 from openmina/feat/more-peer-info
tizoc Jan 31, 2025
8be1a63
chore: Update CHANGELOG
tizoc Jan 31, 2025
2ba9f14
chore: Bump version to 0.14.0
tizoc Jan 31, 2025
ddbf370
chore: Update Cargo.lock
tizoc Jan 31, 2025
65fd24f
chore: Update version in docker compose files
tizoc Jan 31, 2025
e3cb69e
Merge pull request #1052 from openmina/prepare-release/v0.14.0
tizoc Jan 31, 2025
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
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,11 @@ docker-compose.yml
cli/bin
cli/tests
!cli/bin/snark-worker

# Heartbeats processor
tools/heartbeats-processor/.env
tools/heartbeats-processor/data/
tools/heartbeats-processor/credentials/
tools/heartbeats-processor/*.db
# Ensure .sqlx files are included
!tools/heartbeats-processor/.sqlx/
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.83-bullseye
image: rust:1.84-bullseye
commands:
- apt-get update && apt-get install -y libssl-dev libjemalloc-dev jq protobuf-compiler
- rustup update 1.83 && rustup default 1.83
- rustup update 1.84 && rustup default 1.84
- rustup component add rustfmt
# just to be sure it builds without errors
- cargo build
Expand Down
162 changes: 162 additions & 0 deletions .github/workflows/archive.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
# Note: Disabling this workflow for now, have to figure out how to run the complicated setup on github actions

name: Archive Comparison

# TODO: Add proper triggers
on:
workflow_dispatch:

env:
PG_PORT: 5432
PG_DB: archive
# TODO: Add proper secrets
# POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_PASSWORD: mina-testnet
ARCHIVE_OUTPUT_DIR: ./archive-outputs
ARCHIVE_PORT: 3086
P2P_PORT: 8302
CLIENT_PORT: 8301
RPC_PORT: 5000
PEER_LIST_URL: https://bootnodes.minaprotocol.com/networks/devnet.txt

jobs:
compare-archives:
runs-on: ubuntu-latest

services:
postgres-ocaml:
image: postgres
env:
POSTGRES_PASSWORD: ${{ env.POSTGRES_PASSWORD }}
options: >-
--health-cmd pg_isready
--health-interval 5s
--health-timeout 10s
--health-retries 10

postgres-openmina:
image: postgres
env:
POSTGRES_PASSWORD: ${{ env.POSTGRES_PASSWORD }}
options: >-
--health-cmd pg_isready
--health-interval 5s
--health-timeout 10s
--health-retries 10

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Create output directories
run: |
mkdir -p ${{ github.workspace }}/archive-outputs/ocaml
mkdir -p ${{ github.workspace }}/archive-outputs/openmina

- name: Initialize Databases
run: |
sudo apt-get update
sudo apt-get install -y postgresql-client

# Initialize OCaml database
psql postgres://postgres:${{ env.POSTGRES_PASSWORD }}@postgres-ocaml:${{ env.PG_PORT }}/${{ env.PG_DB }} -c "CREATE DATABASE ${{ env.PG_DB }};"
psql postgres://postgres:${{ env.POSTGRES_PASSWORD }}@postgres-ocaml:${{ env.PG_PORT }}/${{ env.PG_DB }} -c "
ALTER SYSTEM SET max_connections = 500;
ALTER SYSTEM SET max_locks_per_transaction = 100;
ALTER SYSTEM SET max_pred_locks_per_relation = 100;
ALTER SYSTEM SET max_pred_locks_per_transaction = 5000;
"
psql postgres://postgres:${{ env.POSTGRES_PASSWORD }}@postgres-ocaml:${{ env.PG_PORT }}/${{ env.PG_DB }} \
-f producer-dashboard/src/archive/sql/archive_schema.sql

# Initialize OpenMina database
psql postgres://postgres:${{ env.POSTGRES_PASSWORD }}@postgres-openmina:${{ env.PG_PORT }}/${{ env.PG_DB }} -c "CREATE DATABASE ${{ env.PG_DB }};"
psql postgres://postgres:${{ env.POSTGRES_PASSWORD }}@postgres-openmina:${{ env.PG_PORT }}/${{ env.PG_DB }} -c "
ALTER SYSTEM SET max_connections = 500;
ALTER SYSTEM SET max_locks_per_transaction = 100;
ALTER SYSTEM SET max_pred_locks_per_relation = 100;
ALTER SYSTEM SET max_pred_locks_per_transaction = 5000;
"
psql postgres://postgres:${{ env.POSTGRES_PASSWORD }}@postgres-openmina:${{ env.PG_PORT }}/${{ env.PG_DB }} \
-f producer-dashboard/src/archive/sql/archive_schema.sql

- name: Start OCaml Archive
uses: docker://adrnagy/mina-archive
with:
args: >
mina-archive run
--postgres-uri postgres://postgres:${{ env.POSTGRES_PASSWORD }}@postgres-ocaml:${{ env.PG_PORT }}/${{ env.PG_DB }}
--server-port ${{ env.ARCHIVE_PORT }}
--output-dir /data
options: >-
--name archive-ocaml
--network ${{ job.container.network }}
-v ${{ github.workspace }}/archive-outputs/ocaml:/data
-d

- name: Start OpenMina Archive
uses: docker://adrnagy/mina-archive
with:
args: >
mina-archive run
--postgres-uri postgres://postgres:${{ env.POSTGRES_PASSWORD }}@postgres-openmina:${{ env.PG_PORT }}/${{ env.PG_DB }}
--server-port ${{ env.ARCHIVE_PORT }}
--output-dir /data
options: >-
--name archive-openmina
--network ${{ job.container.network }}
-v ${{ github.workspace }}/archive-outputs/openmina:/data
-d

- name: Wait for Archive processes
run: |
sleep 10 # Replace with proper health check

- name: Start OCaml Node
uses: docker://gcr.io/o1labs-192920/mina-daemon:3.0.0-dc6bf78-bullseye-devnet
with:
args: >
daemon
--archive-address archive-ocaml:${{ env.ARCHIVE_PORT }}
--insecure-rest-server
--log-level Info
options: >-
--name node-ocaml
--network ${{ job.container.network }}
-e MINA_CLIENT_TRUSTLIST="10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
-d

- name: Start OpenMina Node
uses: docker://adrnagy/openmina:archive-test
with:
args: >
node
--archive-address archive-openmina:${{ env.ARCHIVE_PORT }}
options: >-
--name node-openmina
--network ${{ job.container.network }}
-d

- name: Wait for nodes to be ready
run: |
# Add health check for nodes
sleep 10 # Replace with proper health check

- name: Build comparison tool
run: |
cargo build --release -p archive-breadcrumb-compare

- name: Run comparison
env:
OCAML_NODE_GRAPHQL: http://node-ocaml:3085/graphql
OPENMINA_NODE_GRAPHQL: http://node-openmina:3085/graphql
OCAML_NODE_DIR: ${{ github.workspace }}/archive-outputs/ocaml
OPENMINA_NODE_DIR: ${{ github.workspace }}/archive-outputs/openmina
run: |
./target/release/archive-breadcrumb-compare

- name: Upload results
uses: actions/upload-artifact@v4
with:
name: comparison-results
path: ${{ github.workspace }}/archive-outputs
9 changes: 5 additions & 4 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ jobs:
run: |
rustup install nightly
rustup override set nightly
rustup component add --toolchain nightly-x86_64-unknown-linux-gnu rustfmt
- name: Check for compilation errors in transaction fuzzer
run: |
cd tools/fuzzing
Expand All @@ -131,7 +132,7 @@ jobs:

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

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

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

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

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

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

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

- name: Setup Rust Cache
Expand Down
105 changes: 105 additions & 0 deletions .github/workflows/docker-heartbeats-processor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: Heartbeats Processor Docker Build
on:
workflow_dispatch:
inputs:
version:
description: 'Version tag for the image'
required: true
type: string

env:
REGISTRY_IMAGE: openmina/heartbeats-processor

jobs:
build-heartbeat-processor-image:
strategy:
matrix:
arch:
- platform: linux/amd64
runs-on: ubuntu-latest
- platform: linux/arm64
runs-on: ubuntu-arm64
runs-on: ${{ matrix.arch.runs-on }}
steps:
- name: Prepare
run: |
platform=${{ matrix.arch.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV

- name: Git checkout
uses: actions/checkout@v3

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build and push by digest
id: build
uses: docker/build-push-action@v6
with:
context: .
file: ./tools/heartbeats-processor/Dockerfile
platforms: ${{ matrix.arch.platform }}
cache-from: type=gha
cache-to: type=gha,mode=max
outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true

- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"

- name: Upload digest
uses: actions/upload-artifact@v4
with:
name: heartbeat-processor-digests-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1

merge-heartbeat-processor-image:
runs-on: ubuntu-latest
needs:
- build-heartbeat-processor-image
steps:
- name: Download digests
uses: actions/download-artifact@v4
with:
path: /tmp/digests
pattern: heartbeat-processor-digests-*
merge-multiple: true

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY_IMAGE }}
tags: |
type=sha,format=short
type=raw,value=${{ inputs.version }},enable=${{ inputs.version != '' }}
type=raw,value=v${{ inputs.version }},enable=${{ inputs.version != '' }}

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)

- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}
4 changes: 2 additions & 2 deletions .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.83
toolchain: 1.84
components: rustfmt, clippy
default: true
- uses: actions-rs/cargo@v1
Expand All @@ -36,4 +36,4 @@ jobs:
name: clippy
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-targets -- -D warnings --allow clippy::mutable_key_type --allow clippy::result_unit_err
args: --all-targets -- -D warnings --allow clippy::mutable_key_type
21 changes: 20 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.14.0] - 2025-01-31

### Changed

- **Rust Toolchain**: Updated the minimum required Rust toolchain to version 1.84.
- **Proofs**: Optimizations (MSM, field inversion) that speed up proof production.

### Fixed

- **P2P**: Correct handling of yamux windows limits
- **P2P**: Wait until full validation is complete before broadcasting blocks.
- **WebRTC/P2P**: Handle propagation of messages received from the WebRTC network to libp2p's gossip network (blocks, snarks and transactions).
- **Transaction pool**: Fixed checks for deep account updates when pre-validating transactions.

### Added

- **Archive mode**: Added support for archive mode, which allows the node to connect to an archiver process and store node data in a database.

## [0.13.0] - 2025-01-06

### Fixed
Expand Down Expand Up @@ -348,7 +366,8 @@ 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.13.0...develop
[Unreleased]: https://github.com/openmina/openmina/compare/v0.14.0...develop
[0.14.0]: https://github.com/openmina/openmina/compare/v0.13.0...v0.14.0
[0.13.0]: https://github.com/openmina/openmina/compare/v0.12.0...v0.13.0
[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
Expand Down
Loading
Loading