Skip to content

Commit

Permalink
Merge tag 'v0.35.1' into murisi+grarco/multi-tx-masp-vp-rebased2
Browse files Browse the repository at this point in the history
Namada 0.35.1 is a patch release that fixes a couple build issues with the last minor release.
  • Loading branch information
murisi committed May 17, 2024
2 parents 7531eed + 4ed6229 commit 6bba813
Show file tree
Hide file tree
Showing 270 changed files with 21,390 additions and 18,905 deletions.
2 changes: 2 additions & 0 deletions .changelog/v0.33.0/improvements/3032-generalize-events.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Erase protocol specific details from the core API of events in Namada.
([\#3032](https://github.com/anoma/namada/pull/3032))
2 changes: 2 additions & 0 deletions .changelog/v0.35.0/2911-validator-alias.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Add a validator alias field to validator metadata
([\#2911](https://github.com/anoma/namada/pull/2911))
2 changes: 2 additions & 0 deletions .changelog/v0.35.0/bug-fixes/3011-fix-ibc-client-frozen.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Resolved the frozen IBC client issue by updating ibc-rs to 0.52
([\#3011](https://github.com/anoma/namada/issues/3011))
2 changes: 2 additions & 0 deletions .changelog/v0.35.0/bug-fixes/3065-abci-query-height.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Set the height for abci_query response
([\#3065](https://github.com/anoma/namada/issues/3065))
2 changes: 2 additions & 0 deletions .changelog/v0.35.0/bug-fixes/3100-governable-wasm-txs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Wasm transactions are now governable via proposals.
([\#3100](https://github.com/anoma/namada/pull/3100))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Verify the checksum of dowloaded wasm artifacts, before completing the ledger's
bootup procedure. ([\#3119](https://github.com/anoma/namada/pull/3119))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Fixed a race condition in pre-compiled WASM cache.
([\#3181](https://github.com/anoma/namada/pull/3181))
2 changes: 2 additions & 0 deletions .changelog/v0.35.0/improvements/2675-remove-pin-key.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Removed the MASP pin key.
([\#2675](https://github.com/anoma/namada/issues/2675))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Refactor CliToSdk to propagate errors from fallible conversions
([\#2832](https://github.com/anoma/namada/pull/2832))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Remove the epoch field from the wrapper tx.
([\#2946](https://github.com/anoma/namada/pull/2946))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Refactor and modularize the token balance and supply API.
([\#3029](https://github.com/anoma/namada/pull/3029))
2 changes: 2 additions & 0 deletions .changelog/v0.35.0/improvements/3074-checked-arith.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Prohibit unchecked arithmetics and conversions in the core crate.
([\#3074](https://github.com/anoma/namada/pull/3074))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Emit core events (i.e. `namada_core::event::Event`) from tx wasms.
([\#3088](https://github.com/anoma/namada/pull/3088))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Move event types to their appropriate crates.
([\#3102](https://github.com/anoma/namada/pull/3102))
2 changes: 2 additions & 0 deletions .changelog/v0.35.0/improvements/3104-governance-events.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Refactor governance events.
([\#3104](https://github.com/anoma/namada/pull/3104))
2 changes: 2 additions & 0 deletions .changelog/v0.35.0/improvements/3141-balance-change-events.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Emit balance change events for various protocol actions.
([\#3141](https://github.com/anoma/namada/pull/3141))
2 changes: 2 additions & 0 deletions .changelog/v0.35.0/improvements/3154-minor-cli-fixe4s.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Client improvements related to valid thresholds for mutlisig accounts and PGF
steward submissions. ([\#3154](https://github.com/anoma/namada/pull/3154))
3 changes: 3 additions & 0 deletions .changelog/v0.35.0/improvements/3171-rework-balance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- Remove unbounded `token` and `owner` balance queries from the CLI, in
an attempt to reduce strain on the RPC servers of full/validator nodes.
([\#3171](https://github.com/anoma/namada/pull/3171))
2 changes: 2 additions & 0 deletions .changelog/v0.35.0/improvements/3172-remove-delta-map.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Removed the unused `delta_map` from the shielded context.
([\#3172](https://github.com/anoma/namada/pull/3172))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Improve vote proposal logic transaction.
([\#3120](https://github.com/anoma/namada/pull/3120))
1 change: 1 addition & 0 deletions .changelog/v0.35.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Namada 0.35.0 is a minor release that refactors events, widely implements checked arithmetics, refactors balances, and makes various other improvements across MASP and other crates needed for mainnet readiness.`
2 changes: 2 additions & 0 deletions .changelog/v0.35.0/testing/2232-ibc-namada-gaia-e2e.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Add IBC E2E test with Gaia
([\#2232](https://github.com/anoma/namada/issues/2232))
2 changes: 2 additions & 0 deletions .changelog/v0.35.1/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Namada 0.35.1 is a patch release that fixes a couple build issues with the last minor release.

3 changes: 2 additions & 1 deletion .github/workflows/scripts/e2e.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"e2e::ibc_tests::pgf_over_ibc_with_hermes": 240,
"e2e::ibc_tests::proposal_ibc_token_inflation": 600,
"e2e::ibc_tests::ibc_rate_limit": 500,
"e2e::ibc_tests::ibc_namada_gaia": 450,
"e2e::eth_bridge_tests::test_add_to_bridge_pool": 10,
"e2e::ledger_tests::double_signing_gets_slashed": 12,
"e2e::ledger_tests::ledger_many_txs_in_a_block": 55,
Expand All @@ -28,4 +29,4 @@
"e2e::wallet_tests::wallet_encrypted_key_cmds": 1,
"e2e::wallet_tests::wallet_encrypted_key_cmds_env_var": 1,
"e2e::wallet_tests::wallet_unencrypted_key_cmds": 1
}
}
2 changes: 1 addition & 1 deletion .github/workflows/scripts/hermes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.7.4-namada-beta8-rc2
1.7.4-namada-beta9-rc2
54 changes: 54 additions & 0 deletions .github/workflows/scripts/integration.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import json
import os
import subprocess
import sys
import time

TESTS = [
"integration::masp::cross_epoch_unshield",
"integration::masp::dynamic_assets",
"integration::masp::masp_incentives",
"integration::masp::masp_pinned_txs",
"integration::masp::masp_txs_and_queries",
"integration::masp::multiple_unfetched_txs_same_block",
"integration::masp::spend_unconverted_asset_type",
"integration::masp::wrapper_fee_unshielding",
"integration::masp::wrapper_fee_unshielding_out_of_gas",
]

NIGHTLY_VERSION = open("rust-nightly-version", "r").read().strip()
CARGO_TEST_COMMAND = "RUST_BACKTRACE=1 cargo +{} test --lib {} --features integration -Z unstable-options -- --test-threads=1 --exact -Z unstable-options --report-time"

test_results = {}
has_failures = False

for task in TESTS:
try:
start = time.time()
command = CARGO_TEST_COMMAND.format(NIGHTLY_VERSION, task)
end = time.time()
subprocess.check_call(command, shell=True, stdout=sys.stdout, stderr=subprocess.STDOUT)
test_results[task] = {
'status': 'ok',
'time': round(end - start),
'command': command
}
except:
test_results[task] = {
'status': 'fail',
'time': -1,
'command': command
}
has_failures = True
continue

for test_name in test_results.keys():
test_status = test_results[test_name]['status']
time = test_results[test_name]['time']
print("- Test {} ({}s) -> status: {}".format(test_name, time, test_status))
if test_results[test_name]['status'] != 'ok':
test_command = test_results[test_name]['command']
print(" Run locally with: {}".format(test_command))

if has_failures:
exit(1)
7 changes: 5 additions & 2 deletions .github/workflows/scripts/schedule-e2e.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import os
import subprocess
import sys
import time

N_OF_MACHINES = 6

Expand Down Expand Up @@ -46,17 +47,19 @@ def find_freer_machine():

for task in tasks:
try:
start = time.time()
command = CARGO_TEST_COMMAND.format(NIGHTLY_VERSION, task['name'])
end = time.time()
subprocess.check_call(command, shell=True, stdout=sys.stdout, stderr=subprocess.STDOUT)
test_results[task['name']] = {
'status': 'ok',
'time': task['time'],
'time': round(end - start),
'command': command
}
except:
test_results[task['name']] = {
'status': 'fail',
'time': task['time'],
'time': -1,
'command': command
}
has_failures = True
Expand Down
108 changes: 108 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: Rerun Test Command

on:
workflow_dispatch:
inputs:
commit_sha:
description: 'The commit to test'
required: true
type: string
command:
description: 'The make command to run'
required: true
type: string

env:
RUSTC_WRAPPER: sccache
SCCACHE_S3_USE_SSL: ${{ secrets.CACHE_SSL }}
GIT_LFS_SKIP_SMUDGE: 1
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: full
SCCACHE_BUCKET: namada-cache
SCCACHE_ENDPOINT: ${{ secrets.CACHE_ENDPOINT }}
AWS_ACCESS_KEY_ID: ${{ secrets.CACHE_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CACHE_SECRET_KEY }}
AWS_REGION: us-east-1

jobs:
test:
runs-on:
group: namada-runners
labels: ubuntu-22
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
nightly_version: [nightly-2024-02-10]
mold_version: [2.4.0]
make:
- name: ABCI

env:
RUSTC_WRAPPER: sccache

steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.commit_sha }}
- name: Install libudev
run: sudo apt-get update && sudo apt-get -y install libudev-dev
- name: Install Protoc
uses: heliaxdev/setup-protoc@v2
with:
version: "25.0"
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Run sccache-cache
uses: mozilla-actions/[email protected]
with:
version: "v0.7.7"
- name: Setup rust toolchain
uses: oxidecomputer/actions-rs_toolchain@ad3f86084a8a5acf2c09cb691421b31cf8af7a36
with:
profile: default
override: true
- name: Setup rust nightly
uses: oxidecomputer/actions-rs_toolchain@ad3f86084a8a5acf2c09cb691421b31cf8af7a36
with:
toolchain: ${{ matrix.nightly_version }}
profile: default
- name: Cache cargo registry
uses: actions/cache@v3
continue-on-error: false
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-${{ github.job }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-
- name: Start sccache server
run: sccache --start-server
- name: Install mold linker
run: |
wget -q -O- https://github.com/rui314/mold/releases/download/v${{ matrix.mold_version }}/mold-${{ matrix.mold_version }}-x86_64-linux.tar.gz | tar -xz
mv mold-${{ matrix.mold_version }}-x86_64-linux/bin/mold /usr/local/bin
- name: Download MASP parameters
run: |
mkdir -p /home/runner/.masp-params
curl -o /home/runner/.masp-params/masp-spend.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-spend.params\?raw\=true
curl -o /home/runner/.masp-params/masp-output.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-output.params?raw=true
curl -o /home/runner/.masp-params/masp-convert.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-convert.params?raw=true
- name: Build wasm
run: npm install -g wasm-opt && make build-wasm-scripts
- name: Run command ${{ inputs.command }}
run: ${{ inputs.command }}
env:
NAMADA_MASP_PARAMS_DIR: /home/runner/.masp-params
RUSTFLAGS: "-C linker=clang -C link-arg=-fuse-ld=/usr/local/bin/mold"
- name: Print sccache stats
if: always()
run: sccache --show-stats || true
- name: Stop sccache server
if: always()
run: sccache --stop-server || true
- name: Clean cargo cache
run: |
cargo install cargo-cache --no-default-features --features ci-autoclean cargo-cache
cargo-cache
64 changes: 64 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,64 @@
# CHANGELOG

## v0.35.1

Namada 0.35.1 is a patch release that fixes a couple build issues with the last minor release.

## v0.35.0

Namada 0.35.0 is a minor release that refactors events, widely implements checked arithmetics, refactors balances, and makes various other improvements across MASP and other crates needed for mainnet readiness.`

### BUG FIXES

- Resolved the frozen IBC client issue by updating ibc-rs to 0.52
([\#3011](https://github.com/anoma/namada/issues/3011))
- Set the height for abci_query response
([\#3065](https://github.com/anoma/namada/issues/3065))
- Wasm transactions are now governable via proposals.
([\#3100](https://github.com/anoma/namada/pull/3100))
- Verify the checksum of dowloaded wasm artifacts, before completing the ledger's
bootup procedure. ([\#3119](https://github.com/anoma/namada/pull/3119))
- Fixed a race condition in pre-compiled WASM cache.
([\#3181](https://github.com/anoma/namada/pull/3181))

### IMPROVEMENTS

- Removed the MASP pin key.
([\#2675](https://github.com/anoma/namada/issues/2675))
- Refactor CliToSdk to propagate errors from fallible conversions
([\#2832](https://github.com/anoma/namada/pull/2832))
- Remove the epoch field from the wrapper tx.
([\#2946](https://github.com/anoma/namada/pull/2946))
- Refactor and modularize the token balance and supply API.
([\#3029](https://github.com/anoma/namada/pull/3029))
- Prohibit unchecked arithmetics and conversions in the core crate.
([\#3074](https://github.com/anoma/namada/pull/3074))
- Emit core events (i.e. `namada_core::event::Event`) from tx wasms.
([\#3088](https://github.com/anoma/namada/pull/3088))
- Move event types to their appropriate crates.
([\#3102](https://github.com/anoma/namada/pull/3102))
- Refactor governance events.
([\#3104](https://github.com/anoma/namada/pull/3104))
- Emit balance change events for various protocol actions.
([\#3141](https://github.com/anoma/namada/pull/3141))
- Client improvements related to valid thresholds for mutlisig accounts and PGF
steward submissions. ([\#3154](https://github.com/anoma/namada/pull/3154))
- Remove unbounded `token` and `owner` balance queries from the CLI, in
an attempt to reduce strain on the RPC servers of full/validator nodes.
([\#3171](https://github.com/anoma/namada/pull/3171))
- Removed the unused `delta_map` from the shielded context.
([\#3172](https://github.com/anoma/namada/pull/3172))

### IMRPOVEMENTS

- Improve vote proposal logic transaction.
([\#3120](https://github.com/anoma/namada/pull/3120))

### TESTING

- Add IBC E2E test with Gaia
([\#2232](https://github.com/anoma/namada/issues/2232))

## v0.34.0

Namada 0.34.0 is a minor release that makes many different improvements to the protocol, transaction format, and user experience essential for the mainnet candidate software.
Expand Down Expand Up @@ -175,6 +234,8 @@ Namada 0.33.0 is a minor release that contains various new features, improvement
- For inflation computations and the relevant RPC, don't
include the PGF balance in the total native supply
([\#3002](https://github.com/anoma/namada/pull/3002))
- Erase protocol specific details from the core API of events in Namada.
([\#3032](https://github.com/anoma/namada/pull/3032))

### MISCELLANEOUS

Expand All @@ -185,6 +246,9 @@ Namada 0.33.0 is a minor release that contains various new features, improvement

- move query_ibc_tokens and lookup_ibc_token_alias to sdk
([\#2729](https://github.com/anoma/namada/issues/2729))

### SDK

- Add a new method to the sdk to change a validator consensus key.
([\#3037](https://github.com/anoma/namada/pull/3037))
- Improve the function to update an enstablished address via the sdk.
Expand Down
Loading

0 comments on commit 6bba813

Please sign in to comment.