Releases: anoma/namada
Namada 0.30.1
Namada 0.30.1 is a patch release that contains various bug fixes for MASP, IBC, the shell and crates refactor (the core has been subdivided into many smaller crates).
IMPROVEMENTS
- Refactored the core crate into many smaller crates.
(#2312) - Strengthened the checks in the MASP VP. Allow viewing and spending of
unconvertible MASP notes (#2371) - Refactored the fee validation process.
(#2382) - Updated block validation to require a valid timestamp.
(#2383) - Moved Rust crates into a crates sub-dir.
(#2386) - Ibc transactions can be rewrapped in case of a gas error.
(#2395)
SDK
- Added some more RPC methods for computing governance proposal
results, query pgf parameters and total supply of a token.
(#2400)
TESTING
- Fix E2E test for PGF over IBC by waiting before checking the balance
(#2398)
Namada 0.30.0
v0.30.0
Namada 0.30.0 is a minor release that primarily upgrades the MASP and WASM VM memory functionality in addition to smaller upgrades to other Namada modules.
BUG FIXES
- Suppress querying errors when a user has no token balance
(#1910) - Fix alignment errors on wasmer that cause the ledger to crash.
(#2384) - Sanitize wasm memory accesses which are outside of the 32-bit address
range, to avoid crashing the ledger while executing malicious wasm payloads.
(#2385)
FEATURES
- PGF over IBC (#1395)
IMPROVEMENTS
- Adds a new
query_proposal_votes
query, improves the formatting of
ProposalResult
and returns early in client if governance voter has no stake.
Misc refactors. (#2330) - Removes panics from masp vp. Refactors masp storage keys generation.
(#2345) - Introduce a memo field, to allow including arbitrary data inside of
transactions. (#2358) - Include validator avatar url in their medatada
(#2359) - Removed masp data from storage. Updated the client to query the cometBFT rpc
endpoints. (#2363) - When constructing a governance proposal the id is now a required field.
(#2365) - Added validator's consensus key look-up to
client find-validator
command, which now also accepts a native validator address.
(#2368) - Fix the function to more accurately account for slashes.
(#2374) - The MASP VP now validates the tx expiration.
(#2375) - Removed the hardcoded sentinel key of MASP.
(#2376) - Improved governance variable names and code reuse.
(#2377)
SDK
- Added
QueryProposalVotes
struct. RemovesVoteType
from
theDisplay
implementation ofLedgerProposalVote
. Updates
build_vote_proposal
to return an error if voter has no delegations.
(#2330) - Refactors MASP keys construction.
(#2345) - Add optional memo field to transaction args.
(#2358) - Modified
ShieldedContext
to useIndexedTx
to track the last indexed
masp tx. Updatedfetch_shielded_transfer
andcompute_pinned_balance
to query the cometBFT rpc endpoints to retrieve masp data.
Updatedblock_search
to accept a fallible cast toHeight
.
(#2363) - Cleaned up the unused ibc dependency of the light sdk crate.
(#2372) tx_signers
returns no signing key when the source of a transaction is MASP.
(#2376)
TESTING
- Add IBC E2E test with Hermes
(#773)
Namada 0.29.0
Namada 0.29.0 is a minor release that introduces the light SDK, upgrades the MASP and CLI, and includes other fixes and refactors of the PoS, IBC, and Ethereum Birdge modules.
BUG FIXES
- Prevents double-spending in masp by adding a nullifier set.
(#2240) - Updates masp tx to store the notes and the native vp to validate them and the
anchors. (#2244) - Updates the masp vp to validate the convert description's anchor.
(#2248) - Client: Check that transaction is successful before taking further actions.
(#2279) - Non-Namada token can be given to ibc-gen-shielded
(#2308) - Make the ledger wait for genesis before starting up any processes (#2310)
FEATURES
- A new client command has been added that takes a set of pre-genesis template files, validates them,
and runs them through init_chain. All errors are collected into a report. (#2255) - The wallet CLI structure has been significantly reworked and simplified.
Alias argument is now obligatory for key generation / derivation
commands. Feature of raw (non-HD) key generation has been restored,
which was removed in the previous release. Key export / import
functionality for both transparent and shielded key kinds has been
implemented. Additionally, several other improvements have been made.
(#2260) - IBC transfer from a spending key
(#2321)
IMPROVEMENTS
- Emit Bridge pool transfer status update events from FinalizeBlock
(#1995) - Refactored module dealing with Tendermint configuration.
(#2127) - The default implicit and established user account VPs now
require valid signature(s) for unknown storage changes.
(#2213) - Allowed the unshielding of previous epochs assets from the masp.
(#2222) - Fee amounts in transaction wrappers are now denominated to facilitate hardware
wallet support. (#2245) - Refactor the PoS crate by breaking up the lib and tests code into smaller
files. (#2253) - Made test vector generation easier and reduced the difficulty of maintaining
the generation code. (#2259) - Client: Improved output of transaction results.
(#2276) - Enhances the speed of two PoS tests that run particularly longer than others
in CI. (#2277) - Removed useless epoch for fee unshielding and refactored tests.
(#2282) - Refactor internal structure of the Ethereum bridge crate
(#2288) - Move the pos inflation gain parameters to the PosParams.
(#2294) - Move the inflation code for PoS and PGF into their own native modules.
(#2295) - Improved validation on transaction's expiration. Added an expiration for MASP
transfers. (#2315)
IMPROVMENTS
- Previously, a hardcoded set of tokens were expected to be used in Masp conversions.
If these tokens did not have configs in genesis, this would lead to a panic after the first
epoch change. This PR fixes this to use the tokens found in genesis belonging to the MASP
rewards whitelist instead of hardcoding the tokens.
(#2285)
SDK
- Introduce a method to query the status (pending, relayed or expired) of Bridge
pool transfers (#1995) - Added light sdk (#2220)
- Improved the TxResponse type.
(#2276) - Removed useless epoch for fee unshielding.
(#2282) - ibc-gen-shielded can set non-Namada token
(#2308) - Updated
gen_shielded_transfer
to attach a sensible expiration to a MASP
Transaction
. (#2315) - ibc-transfer can set a spending key to the source
(#2321)
TESTING
- Added e2e test for change-consensus-key command.
(#2218)
Namada 0.28.2
v0.28.2
Namada 0.28.2 is a patch release that fixes a stack overflow issue for nodes.
BUG FIXES
- Fixed DB prefix iterators to avoid iterators with key that don't match the
given prefix, which was triggering recursive call that was growing stack with
every new applied tx and on reading state from disk on start-up. Replaced
recursion from RocksDB that was growing stack size with a loop.
(#2325)
Namada 0.28.1
Namada 0.28.1 is a patch release that makes improvements to the MASP, SDK, merkle trees, and chain initialization conditions.
BUG FIXES
- Fix sdk compilation when using async-send feature flag.
(#2261) - Added back missing changed storage keys in transaction results.
(#2263) - Fix to skip pruning BridgePool Merkle trees when no signed nonce
(#2264) - Initialize token total supply to zero at init chain.
(#2270)
IMPROVEMENTS
Namada 0.28.0
Namada 0.28.0 is a minor release that improves the genesis setup to allow signing with hardware wallet and contains various improvements including validator liveness jailing, accounts simplifications, bug fixes, stability improvements and more.
BUG FIXES
- Fix the start block height of the first epoch.
(#1993) - Fix Ethereum event validation/state updates when more than one validator is
running the chain (#2035) - Fix possible underflow in MASP rewards calculation.
(#2230)
IMPROVEMENTS
Allow the ethereum oracle to be activated / deactivated via config
updates sent from ledger. This allows governance to shut down the
ledger without restarts. Otherwise, disconnecting from Ethereum will
result in the ledger crashing.
(#1764)
- Prune merkle tree of bridge pool
(#2110) - Revert the chain ID format by upgrading ibc-rs to 0.48.1
(#2153) - Changed pre-genesis established addresses to be derived from their data.
Improved signing of pre-genesis transactions to use the same format as
regular transactions. Genesis token balances now can be directly assigned to
established addresses. (#2186) - Combined the user and the validator VP into one.
(#2202) - Charge gas for network usage.
(#2205) - A new
tx_become_validator
replacestx_init_validator
. This tx doesn't
initialize a new account and instead it modifies an existing established
address to become a validator. This currently requires that there are no
delegations on the source account before it can become a validator (if there
are some, they have to be unbonded, but they don't have to be withdrawn).
A new client commandbecome-validator
is added that requires an--address
.
The client commandinit-validator
is kept for convenience and updated to
sendtx_init_account
tx beforetx_become_validator
.
(#2208) - Increase hardware wallet support in the CLI
(#2209) - Handle errors on loading WASMs from file-system compilation cache.
(#2215) - Implement a CLI query for available rewards from a bond,
and improve the bond amount for rewards computation
(#2217) - Fix bug in client to allow for unjailing a validator
that was jailed for missing liveness requirements
(#2246)
MISCELLANEOUS
- Upgraded borsh dependency to v1.2.0.
(#2233)
SDK
Namada 0.27.0
Namada 0.27.0 is a minor release that incorporates the remaining essential proof-of-stake features, updates the MASP and transaction functionality, and provides some additions to the SDK.
BUG FIXES
- Fix a feature flag to compile namada_sdk
(#2164) - Fix to get the proof even if no height is specified
(#2166) - Fix ABCI queries at the last committed height
(#2184)
FEATURES
- Tx that allows a validator to change its consensus key
(#2137)
IMPROVEMENTS
- Moved the masp vp to native.
(#2051) - Tighten security around potential P2P issues
(#2131) - Print more context from eyre error types.
(#2132) - Require to verify ownership of all validator keys when initialized on-chain.
(#2163) - Improve the validator VP to ensure that only the validator themself
can execute transactions that manipulate its own validator data
(#2169) - Various improvements to the PoS code, including adding a panic on a slashing
failure, some more checked arithmetics, aesthetic code cleanup, and fixing a
bug in is_delegator. (#2178) - Added type tags to transactions to enable hardware wallets
to fully decode transactions even after minor Namada updates.
(#2182) - Save MASP conversion state to the state storage instead of the diffs
(#2189)
MISCELLANEOUS
- Removed catching of panics from PoS VP.
(#2145)
SDK
Namada 0.26.0
Namada 0.26.0 is a minor release on the way to mainnet with updates to PoS and governance as well as its upstream dependencies.
BUG FIXES
- Fix Windows build by disabling RocksDB jemalloc feature.
(#2100) - Fix balance query not to return duplicate results
(#2125) - Fixed bugs in the governance VP and in the PGF inflation mechanism.
(#2133) - Added handling of ABCI Info requests load-shedding and removed load-shedding
from Mempool requests. (#2152)
FEATURES
- Implements a claim-based rewards system for PoS inflation.
(#1992) - Store validator metadata on-chain
(#2045) - Add transactions to deactivate and reactivate a validator
(#2082) - Added Ledger support to the CLI client.
(#2118) - Added the option to abstain from voting a governance proposal.
(#2128)
IMPROVEMENTS
- Improved replay protection for invalid transactions.
(#1905) - store only essential merkle tree snapshots
(#2043) - Replace strings with a specialized IBC token hash type in addresses
(#2046) - Switch to a more compact representation in Namada's transparent
addresses, and change all bech32m HRPs to their mainnet equivalent
(#2060) - refactoring IBC and remove IBC token denomination
(#2062) - Upgraded to upstream ibc-rs and tendermint-rs crates.
(#2084) - Updated the gas costs. Introduced a local validator configuration
parameter to set the accepted tokens and amounts for fees.
(#2091) - Moved the inner transaction replay check at execution time.
(#2104) - Removed "abcipp" and "abciplus" features and "abcipp"-only code.
(#2112) - Removed the DKG implementation with its ferveo dependency.
(#2115) - Upgraded to upstream tower-abci version.
(#2141)
Namada 0.25.0
This release includes only the new genesis flow.
FEATURES
- Added bech32m string encoding for
common::PublicKey
andDkgPublicKey
.
(#2088) - Added
--pre-genesis
argument to the wallet commands to allow to generate
keys, implicit addresses and shielded keys without having a chain setup. If
no chain is setup yet (i.e. there's no base-dir or it's empty), the wallet
defaults to use the pre-genesis wallet even without the--pre-genesis
flag. The pre-genesis wallet is located inside base-dir in
pre-genesis/wallet.toml
.
(#2088) - Reworked the genesis templates, setup and related utils commands.
(#2088)
Namada 0.23.2
Namada 0.23.2 is patch release addressing ledger startup problems with wasm artifacts and several other minor fixes.