Skip to content

Releases: anoma/namada

Namada 0.30.1

17 Jan 17:46
v0.30.1
f7532c2
Compare
Choose a tag to compare

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

13 Jan 20:50
ec58c89
Compare
Choose a tag to compare

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

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. Removes VoteTypefrom
    the Display implementation of LedgerProposalVote. 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 use IndexedTx to track the last indexed
    masp tx. Updated fetch_shielded_transfer and compute_pinned_balance
    to query the cometBFT rpc endpoints to retrieve masp data.
    Updated block_search to accept a fallible cast to Height.
    (#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

29 Dec 20:55
Compare
Choose a tag to compare

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

23 Dec 01:30
Compare
Choose a tag to compare

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

14 Dec 04:50
Compare
Choose a tag to compare

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

  • Preload and cache MASP verifying keys on ledger start-up.
    (#2272)
  • Now join-network will try to look for non validator wallet in more places.
    (#2273)

Namada 0.28.0

07 Dec 19:48
v0.28.0
9562c16
Compare
Choose a tag to compare

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 replaces tx_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 command become-validator is added that requires an --address.
    The client command init-validator is kept for convenience and updated to
    send tx_init_account tx before tx_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

  • Removed uses of lifetimes in the SDKs Namada trait and implementation
    (#2225)
  • Added Send trait support to the SDK to allow its use in more multithreaded
    contexts. (#2235)

Namada 0.27.0

21 Nov 08:37
v0.27.0
47c887c
Compare
Choose a tag to compare

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

  • Masp as internal address. Updated aux_signing_data
    to return no key and 0 threshold if owner is masp.
    (#2051)
  • A high level function new_redelegate is added to the sdk to allow developers
    to make and submit redelegation functions from the minimum number of arguments
    required (#2140)

Namada 0.26.0

11 Nov 21:01
v0.26.0
444da00
Compare
Choose a tag to compare

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

05 Nov 17:55
v0.25.0
Compare
Choose a tag to compare

This release includes only the new genesis flow.

FEATURES

  • Added bech32m string encoding for common::PublicKey and DkgPublicKey.
    (#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

01 Nov 16:27
v0.23.2
Compare
Choose a tag to compare

Namada 0.23.2 is patch release addressing ledger startup problems with wasm artifacts and several other minor fixes.