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)