Status Update

May 15, 2020

Status Updates (May, 2020) > May 15, 2020

WEEKLY DEVELOPMENT REPORT

Daedalus

Wallet

This week the team successfully released Daedalus 1.1.0, as well as working on implementing the new wallet recovery phrase verification feature for Daedalus on the Incentivized Testnet. The team has also been working on building a prototype of hardware wallet features for mainnet Daedalus. Work was also done this week to add full test coverage for the wallet import feature, along with some fixes for smaller UI/UX issues.

Adrestia

This week the Adrestia team worked on support for importing generated addresses, which will allow exchanges that already support ada to more easily migrate to the new codebase. The team also worked on writing an example YAML configuration file to support installation via Docker, allowing technical users to get cardano-wallet functionality running quickly with all supporting services. Users can now get started with the cardano-wallet with just two commands!

Work was also done on mockups of the new metadata aggregation server, which will replace the Cardano Foundation registry for stake pool metadata. The team also reworked the wallet command line as well, allowing key derivation to support pipelining.

Various error messages and error outputs were also improved this week. In particular, Bech32 error detection was implemented, making it possible to identify the exact location of invalid characters in a Bech32 string. The team also finishing the final implementation of the local state query Ouroboros mini-protocol, including additional unit tests.

The team also worked on improvements to the network layer this week, reducing unnecessary logs and block deserialization. Work from last week came to fruition, and the team found that adding support for request pipelining has resulted in a drastic improvement in wallet restoration and syncing time. Optimization work remains to be done to improve outcomes for wallets with a large number of UTXOs.

Networking

This week the networking team has been working on Shelley CLI tools and the key-evolving signatures (KES) implementation. They simplified the handshake negotiation interface, reviewed the new multiplexing implementation, and had some design discussions about the connection manager before implementing the results.

The team has also worked on updating the multiplexer tests. They are now using a compatibility layer with the old interface, which simplifies things a little and is a good sign that the refactoring has gone well.

DevOps

This week the DevOps team supported the launch of the Friends and Family testnet, as well as working with developers and QA to test the command-line parameters and operational procedures required by pool operators.

Elsewhere, they’ve been continuing to work on the Naersk Nix integration for integration into the CI pipeline and working on improving the Grafana dashboards. Work has also been underway to finalize the new explorer release.

Cardano Decentralization

This week the team spent some time updating their tools and benchmarking setup to reflect recent changes to the APIs. They’ll soon be integrating those tools into the cardano-haskell repository to future-proof against incompatibility.

The team has also been making changes to the metrics interface, as well as updating the local state query protocol to support some of the additional operations needed for the new Shelley wallet and command-line interface. The work on annotated serialization was also finished this week, which has resulted in some major performance boosts.

Finally, the team undertook a significant refactor of how keys work in the Shelley code, which uncovered a bug – now fixed – that should make the Shelley ledger much easier to interact with.

Goguen

This week the Plutus team upgraded to the latest PureScript package set and tested that communication is running smoothly. The team also worked on how to handle contract events in the smart contract backend (scb). Specifically, how to handle all the requests that are issued by contracts, as well as how to manage the state of contract instances. They also made updates to the builtins section of the technical report and added a visual diagram.

The Marlowe team made various layout improvements to the Marlowe Playground this week. These included a set of fixes to stabilize icons, the re-positioning of buttons to increase visibility, improvements to the display of the Transaction Composer, toggling of the gist buttons when panels are contracted, prioritizing the display of the "to blockly" button, as well as general sizing changes to panels, to improve their readability. Last but not least, the team added a hover box with simple help text to explain Marlowe constructors.