Releases: penumbra-zone/penumbra
024-dia
Major changes:
- A rework of how the Penumbra app communicates validator updates to Tendermint prevents last week's chain halt, and ensures that Tendermint won't get confused when validators rotate their consensus keys.
- Work on ZSwap continues. This testnet extends the
Transaction
type to include actions that open, close, and withdraw concentrated liquidity positions (although we currently reject transactions that include these actions).
What's Changed
- refactor(state_key): only use raw keys to build
KeyValueRequest
s by @erwanor in #1228 - dex: add domain types for LPNFTs by @hdevalence in #1237
- Swap fixes and cleanup by @zbuc in #1238
- Some auth hash personalization strings were too long by @plaidfinch in #1242
- Add verification checks to note payload trial decryption by @aubrika in #1244
- Provide a canonical ordering constructor for TradingPair by @zbuc in #1251
- proto: protoize ValueCommitment by @hdevalence in #1249
- stake: send absolute validator updates to Tendermint by @hdevalence in #1246
- dex: add LP actions by @hdevalence in #1252
- testnets: update allocations for dia testnet by @hdevalence in #1253
Full Changelog: 023-arche.1...024-dia
023-arche
What's Changed
- Output validator custody file in pcli-compatible format by @plaidfinch in #1212
- Update testnet release manager checklist by @aubrika in #1187
- add
eddy
crate: flow encryption implementation scaffold by @avahowell in #1058 - 1047: Implement SwapPlaintext/SwapCiphertext encrypt/decrypt and transparent proofs by @zbuc in #1104
- dex: stub LP data structures by @hdevalence in #1214
- crypto: split up WIP swap code into modules by @hdevalence in #1215
- Update priv_validator_key.json path by @alterkahn in #1213
- Remove typed errors from Transparent Proof implementations in favor of anyhow by @zbuc in #1219
- spec: add note commitment section by @redshiftzero in #1220
- Await nullifiers in view service, making transaction confirmation robust when there is no change by @plaidfinch in #1225
- Define governance protos and domain types by @plaidfinch in #1184
New Contributors
- @alterkahn made their first contribution in #1213
Full Changelog: 022-hegemone...023-arche.1
022-hegemone
- An upgrade to Tendermint 0.35.9, which incorporates some bug fixes for the p2p issues that have resulted in network connectivity issues on our previous testnets: https://github.com/tendermint/tendermint/blob/v0.35.9/CHANGELOG.md#v0.35.9
- Relaxes the missed block window to reduce the jailing of validators: #1203
- More progress towards IBC: this testnet includes improvements and bugfixes to allow opening IBC connections to Cosmos SDK chains: https://twitter.com/penumbrazone/status/1550024949615579136
- Added support for generating ephemeral addresses using
pcli addr ephemeral
: #1193 - Simplified extended tx downloading: #1204
- Bugfix: resolves the “not a valid NCT root” that several users reported in the previous testnet: #1206
- Bugfix: Bans duplicate consensus keys: #1207
021-Eurydome
Major changes:
- 20-30x faster syncing (!) thanks to optimizations to the
poseidon377
library and parallelization of trial decryption - added the ability to fetch user transaction data from the chain to the
view
service using just a provided viewing key (commands to view this data will be coming in the next release!)
Internal changes:
- various optimizations and improvements to the TCT and JMT, including significant optimization of our JMT
get
function
Full Changelist
- K0kk0k doc fixs by @k0kk0k in #1063
- pcli: port tx sweep logic by @hdevalence in #1065
- impl Add for MockFlowCiphertext by @zbuc in #1069
- Swap mock & stub implementations by @zbuc in #1052
- Incremental serialization API for the TCT by @plaidfinch in #1076
- deps: pin
poseidon377
to a branch with the existing parameters by @redshiftzero in #1102 - Initial changes to support viewing transaction data in view service by @aubrika in #1064
- Integrate incremental TCT serialization by @plaidfinch in #1103
- Measure download speed for block stream by @plaidfinch in #1105
- chore: update go protos by @avahowell in #1117
- pd: don't create spans in hot functions by @hdevalence in #1121
- Use a lookup table for commonly encountered internal TCT hashes by @plaidfinch in #1125
- feat(crypto): impl outgoing decryption by @redshiftzero in #1075
- spec: poseidon377 overview by @redshiftzero in #1106
- Set the level for every #[instrument] in the TCT to "trace" by @plaidfinch in #1129
- Implement block inclusion proof support in TCT by @zbuc in #1130
- Add epoch and block anchors to JMT by @plaidfinch in #1132
- Address trivial clippy suggestions across project by @plaidfinch in #1134
- rename diversifier index to address index by @redshiftzero in #1135
- Make tokio-console support an opt-in flag for
pd
by @plaidfinch in #1137 - pcli: add a
pcli q tx HASH
subcommand that prints full transaction data by @hdevalence in #1162 - decode ABCI key data as hex by default by @avahowell in #1136
- ibc: allow nil version in ConnectionOpenInit, fix unwrap in ibc events by @avahowell in #1165
- pd: accelerate block streaming with concurrent state access by @hdevalence in #1166
- feat: segment the address space to distinguish ephemeral addresses by @redshiftzero in #1171
- update tendermint to 0.35.8 by @avahowell in #1164
- chain: record
NoteSource
s inCompactBlock
s by @hdevalence in #1172 - Add TransactionFetcher functionality to retrieve transaction data fro… by @aubrika in #1116
- doc: rebuild docs with new crate by @redshiftzero in #1173
- Create eurydome testnet directory & update queue-type to simple-priority in tendermint config by @aubrika in #1174
- Implement GitHub Action for building/publishing protobuf docs by @zbuc in #1070
- cargo update and suppress warnings by @hdevalence in #1175
- remove poseidon-permutation from docs build by @redshiftzero in #1177
- Update user guide for eurydome-021 by @aubrika in #1179
- cargo update by @redshiftzero in #1182
- view: perform trial decryption in parallel by @hdevalence in #1183
Full Changelog: 020-aitne...021-eurydome.1
020-Aitne
Major changes:
- Undelegations now wait for the unbonding period to complete, and can be slashed while unbonding
- Tendermint updated to 0.35.7 to address p2p issues
- Automated workflow for joining an existing testnet, with a new pd testnet join command
Internal changes:
- Added infrastructure for IBC app handlers, paving the way for the implementation of ICS20 transfers
- Started work on swap transactions
019-erinome
Major changes:
- Add an RPC to the
view
service that allows awaiting change outputs - Transactions are now confirmed in
pcli
using the aboveawait-change
functionality of theview
service - Adds a basic
pcli q
interface for making user state queries - Adds typed queries to the
pcli q
App
has been extracted intopenumbra-app
create- Adds an initial event recording system
Bug fixes:
- Fixes
pcli
error on first sync wheresync
would hang and block height would appear to be exceeded on initial sync - Fixes
pd
panic due to --host short name (-h) conflicting with --help (-h) - Fixes NCT divergence issue between
pcli
andpd
018-euanthe.1
Another incremental testnet release.
017-carpo.1
Redo of 017-carpo with a bugfix included.
017-carpo
This release has two major changes:
-
It finishes the initial integration of the tiered note commitment tree in last week's testnet, so all transaction proofs are now made with the TCT and checked against the TCT anchors.
-
It completely replaces the
pcli
code with a new client architecture broken into modular services: a view service responsible for syncing the private chain state, a custody service responsible for authorizing transactions, and wallet logic that does asynchronous RPC to a generic view and custody service. This allows chain scanning to be done either in-process or out-of-process with a newpviewd
binary. In the future, it will also allow diverse custody setups, like a signing server, hardware wallet, threshold signing, etc.
016-pandia
Major changes:
- Replaces the binary merkle tree used for note commitments with a tiered quadtree (#840), which in the future will allow dramatic improvements to the performance of client synchronization (right now we are not yet taking advantage of its fast-forward sync capabilities; this speedup will come in a later update)
- Adds support for IBC channels (#801)
- Adds new commands to
pcli
for printing information about the chain parameters and summary info (#835) - Adds an initial custody protocol (#846)