Releases: anoma/namada
Namada 0.43.0
Namada 0.43.0 is a minor relasing improving shielded sync and addressing some pre-genesis flow issues.
BUG FIXES
- Fix genesis bonds from implicit accounts. Now, only addresses
of the formtnam1...
are supported inbalances.toml
.
(#3645)
FEATURES
- Partially addresses Issue #2900. Viewing and spending keys can now
be given birthdays in the form of block heights which are loaded into
shielded sync. Shielded sync will not try to decrypt a block before a
keys birthday with said key. (#3653) - The command
namadan utils test-genesis
now accepts--check-can-sign
multi-arg that can be used with genesis addresses and/or public keys to
verify that a pre-genesis wallet in the base directory is able to sign
with the keys associated with the addresses or with the keys themselves.
(#3660)
IMPROVEMENTS
- Removed parallel gas accounting.
(#3615) - Improve governance client side validation.
(#3629) - Masp vp and protocol now ensure that a transaction can push at most one MASP
action. (#3632) - Do not load context for
namadan utils test-genesis
command.
(#3652) - Speeds up client commands on networks with massive balances.toml
files. Previously, to retrieve the native token of some network,
we had to parse these giant files. Now, we only parse the
necessary genesis toml files required to retrieve the native token.
(#3655)
SDK
- Parallelize the shielded sync implementation in Namada.
(#3578)
TESTING
Namada 0.42.0
Namada 0.42.0 is a minor release that includes refactor of crates dependency graph using dependency injection, improvements in client check and node's stability.
BUG FIXES
- Workaround Windows problems to be able to build on it.
(#3553) - Improve client side checks for update-account transaction.
(#3566) - Do not load shed tower-abci info service.
(#3576) - No-op instead of error in wasm for withdraw txs if no tokens are available
to withdraw. Automatically submit reveal pk tx for source for shielding
transfers. (#3594) - Fix the behavior of the MASP VP when processing an IBC Receive message
involves unescrowing. (#3611)
FEATURES
- Added support for Ledger wallet TCP transport.
(#3593)
IMPROVEMENTS
- Added two new crates, namada_vm and namada_vp and removed namada crate that
contained various loosely related code. Moved the native VP implementations
to the relevant crates and replaced their cross-dependencies with dependency-
injection. (#3402) - Replaced cross-system dependencies in namada_shielded_token crate with
dependency-injection. (#3466) - Added a new namada_systems crate to contain abstract systems interfaces,
previously added to core crate. Also switched to use the concrete
storage error and result type instead of the generic associated
type which reduces the amount of typing needed one the caller side.
(#3472) - Replaced cross-system dependencies in namada_governance crate with dependency-
injection. (#3482) - Replaced cross-system dependencies in namada_proof_of_stake crate with
dependency-injection. (#3497) - Decode asset types to addresses when generating test vectors if possible.
(#3507) - Replaced cross-system dependencies in namada_ibc crate with dependency-
injection. (#3509) - Improved tracing messages regarding MASP fee payment.
(#3547) - Updated the gas costs based on benchmarks ran on v41.
(#3554) - Removed unnecessary trait bound from declarations.
(#3577) - Fxing comments and strings.
(#3589) - Improved the
max_block_time
estimate.
(#3591) - Refactor signature fetching data.
(#3592) - Do not try to download wasms artifacts from an untrusted source.
(#3598) - Support additional address kinds in
balances.toml
genesis file.
Previously, only established addresses and public keys were supported.
(#3614) - Display the hash of the proposal wasm code when querying proposals with
associated wasm payload. (#3617)
Namada 0.41.0
Namada 0.41.0 is a minor release that primarily improves gas, fixes bugs related to signature verification and a memory leak from a dependency, and includes shielded sync upgrades.
BUG FIXES
- Adds SDK builder to shielded and shielding transfers.
(#3518) - Workaround a leak in wasmer store.
(#3529) - Client fixes that include using the correct total voting power to compute a
proposal result and also the correct voting threshold for steward proposals.
(#3540) - Fixed a possible panic in transaction signatures verification missing expected
signature(s). (#3543)
CI
- Fixed a broken e2e test for db migrations. Added it to the list of e2e test to be run by the CI.
(#3481)
IMPROVEMENTS
- Moved the signature verifications out of the masp vp and into the affected
addresses' vps. (#3312) - Implements phase 1 of Issue #3385
-
When fetching notes, connections and related failures should not halt shielded sync. Instead, the process
should be restarted -
If fetching is interrupted, the data fetched should be persisted locally so that progress isn't lost.
-
A trait for fetching behavior should be added to provide modularity
(#3498)
-
- Improved the interface of the gas type. Removed the duplicated gas used from
events. (#3428) - Implement the phase 2 masp shielded sync client. This client uses
anamada-masp-indexer
instance to query the state of the shielded context.
(#3456) - Minor improvements to governance and PGF code quality, including
template gov proposal jsons and a python script to attach wasm code.
(#3471) - Modified rechecks of process proposal to actually use
process_proposal
instead ofprocess_txs
. Added a caching mechanism to avoid
running the check for a given proposed block more than once.
(#3473) - Expanded the scope of test vector generation and updated outdated components
of the test vector code. (#3494) - Removes redundant function.
(#3502) - Bump tendermint-rs to 0.37
(#3506) - Increased the gas cost for storage occupation and tied it to the other gas
costs. (#3510) - Eliminates the MASP VPs requirement for all debited accounts to sign a Tx.
(#3516) - Rename and split --memo-path into --ibc-shielding-data and --ibc-memo
(#3517)
Namada 0.40.0
Namada 0.40.0 is a minor release that makes many important improvements to shielded actions, DB snapshotting capabilities, batched transactions, and much more.
BUG FIXES
- Update native token total supply with MASP rewards.
(#3375) - Increase the lifetime of disposable signing keys from 5 minutes to 1 week.
(#3378) - Our
DateTimeUtc
type allowed a relaxed representation of RFC3339 strings.
We now enforce a string subset of this format, to guarantee deterministic
serialization. (#3389) - Fix to decode ibc-rs transfer messages
(#3404) - Add replay protection to MASP-IBC transactions.
(#3409) - Respect --wasm-dir on init-network.
(#3432) - Fix IBC shielding transfer for the receiver not to be replaced by a malicious
relayer (#3438) - Fixed MASP witness data malleability in the Tx
(#3463)
FEATURES
- Reworked transparent and masp transfers to allow for multiple sources, targets,
tokens and amounts. (#3356) - Added support for fee payment directly from the MASP pool.
(#3393)
IMPROVEMENTS
-
Moved up the check on the sapling value balance in the masp vp.
(#2721) -
Queries methods now requests
TryInto
trait bound for block heights to reduce
the conversion error. (#2891) -
Miscellaneous code optimizations.
(#3192) -
Added a
namada complete
command to generate shell completions. This command
requires--shell
with one of:- bash
- elvish
- fish
- powershell
- zsh
- nushell
To use in e.g. bash, run
namada complete --shell bash > /usr/share/bash-completion/completions/namada.bash
.
(#3343) -
Remove the
max_expected_time_per_block
genesis parameter.
(#3366) -
Refactored checked assign arithmetic operations to use smooth-operator macro.
(#3374) -
Store total MASP rewards and print them in the conversions query.
(#3375) -
Remove the check on the maximum number of signatures allowed per transaction
(#3380)
-
Resolves the first two points of Issue #3307:
- Add the ability to create chunkable snapshots to our rocksdb implementation
- Spawn a background task to create snapshots are certain blockheights
Specifically adds a config parameter that indicates after how many blocks a
snapshot should be created. If set, then on the corresponding calls to commit,
a background task is spun up that takes a snapshot of rocksDB and writes it
in a convenient format to a file. This file contains metadata of how to be
broken up into chunks. Once a new snapshot is created, older snapshots are
removed. (#3383)
-
Addresses the third point and part of the fourth point of Issue
#3307- Adds chunking logic to snapshots
- Implements the
ListSnapshots
ABCI call - Implements the
LoadSnapshotChunk
ABCI call
(#3386)
-
Remove the requirement that the proposal voting period
is some integer multiple of the minimum voting period.
(#3390) -
Include the gas scale as a protocol parameter that is
mutable via governance rather than as a hard-coded constant.
(#3391) -
Upgrade the library used to communicate with hardware wallet
(#3412) -
Index batched txs via their wrapper and commitment hashes.
(#3416) -
Moved shielded tx validation out of the SDK crate into shielded token crate.
(#3419) -
Enforce an upper limit on the number of PGF stewards allowed to exist at a
given time. (#3442) -
Combined the various Transfer formats into one general one.
(#3446) -
Introduced a local configuration parameter to allow nodes to
rerun the process proposal checks before block finalization.
(#3448)
TESTING
Namada 0.39.0
Namada 0.39.0 is a minor release that primarily abstracts the different kinds of transfer transactions and makes upgrades to the MASP and VPs.
BUG FIXES
- Fixes an issue with unsanitized input to a PoS query to find
a validator by TM address which may cause a node to panic.
(#3340) - Fix to clear the write log when dry-run batched transaction
(#3358)
IMPROVEMENTS
- The transfer command has been split into:
transfer
(shielded transfer)transparent-transfer
shield
(from transparent to shielded)unshield
(from shielded to transparent)
(#3297)
- Avoid growing wasm memory when performing read-only accesses.
(#3315) - Added a separate epoch tracker for masp to decouple its logic from the rest of
the protocol. (#3318) - Default to the address from local config when the
--node
argument is not specified forshielded-sync
command
(#3333) - Allow NAM transfers for protocol actions.
(#3348) - Select gas payer from implicit address in the Namada CLI.
(#3349) - Remove old disposable keys from the wallet.
(#3350) - Addressed some minor issues in the shielded token code.
(#3351)
Namada 0.38.1
Namada 0.38.1 is a patch release that fixes a license issue with the last minor release needed to build binaries in CI.
Namada 0.38.0
Namada 0.38.0 is a minor release that upgrades the MASP and events and also cleans up dependencies.
BUG FIXES
- Fixed the fee collection logic in
finalize_block
to match that of
process_proposal
. (#3075)
IMPROVEMENTS
- Improved masp vp verification to run in parallel.
(#2972) - Removed any dependency on the specific transaction data from the masp vp.
(#3232) - Add a new event attribute facility to track events to their origin
in Namada's source code. This is useful for debugging purposes.
(#3268) - Include the used MASP randomness parameters in the test vectors.
(#3296) - Replaced unmaintained config-rs to an unreleased version
that replaces its also unmaintained yaml dependency.
(#3305) - Upgrade
wasmer
vm to upstream version4.3.1
,
moving away from the forked code based on version
2.3.0
.
(#3308) - Allow nodes to schedule a migrations json to be read and run to facilitate hard-forking. This is done by
taking a migrations json and passing the path, a hash of the contents, and a block height to the node when
starting the ledger. (#3310) - Store IBC denom when minting the IBC token
(#3317) - Switched from wee allocator to rlsf for WASM.
(#3331)
Namada 0.37.0
Namada 0.37.0 is a minor release that adds replay protection entries to consensus and enables merklizing data without diffs.
FEATURES
- Enable to write data to be updated in the subspace and Merkle tree, but not to
be updated in diffs (#3293)
IMPROVEMENTS
- Revert IBC transaction wasm not to use host_env function.
But it required to enable floating-point support again
(#1831) - Audit TODOs in the codebase.
(#3234) - Replay protection entries need to be verifiable and thus should contribute to the app hash. This PR makes
a cryptographic commitment to all replay protection entries (the root of some implicit merkle tree) which is itself
merklized. (#3284)
Namada 0.36.1
Namada 0.36.0
Namada 0.36.0 is a minor release includes various improvements, refactorings, dependencies clear-up and updates, and a new feature that enables to batch transactions.
BUG FIXES
- Light SDK objects must be clone-able.
(#2817) - Harden the implementation of
BorshDeserialize
onProposalBytes
.
Moreover, avoid using magic numbers when configuring CometBFT.
(#3220) - Default to consensus minimum gas price for some token
when the node-local value set by a validator is lower.
(#3228) - Do not submit a tx to reveal a PK when
--force
flag is used with a
transaction. (#3245)
FEATURES
- Introduced transaction batches.
(#1356)
IMPROVEMENTS
- Upgrade docker base images to Debian 12 (Bookworm) (#2975).
- Make the internals of ValueSum (in the masp crate) private so we know that invariants of representation are maintained. (#3195)
- Clean up init/join network CLI commands and the
gen_localnet.py
script.
(#3196) - Disallow use of floats in WASM.
(#3209) - Sanitized unchecked arithmetics and conversions in the codebase.
(#3214) - Removed fee unshielding from wrapper transactions.
(#3217) - Dependency cleanup: remove unused ones, upgrade those with
security vulnerabilities, reduce the number of transitive deps.
(#3218) - Bump tendermint-rs, tower-abci and ibc-rs
(#3225) - Extends claps Arg and Command types with namada traits. These add configurable line wrapping and
hyphenation policies. Also sets help to always be on the next line, but this is easily changeable later.
(#3226) - Removed the remaining references to ferveo.
(#3241) - Lint for left-over debug and print statements.
(#3257) - Remove unused WASM memory export.
(#3258) - Separated the apps library code from binaries code into a new crate
namada_apps_lib
. (#3259) - Updated the masp vp to accept multiple transfers in a single transaction.
(#3264) - Separated the node library code from other apps lib code into a new crate
namada_node
. (#3265) - Refactor wasm host references code.
(#3273)