Status Update

April 24, 2020

Status Updates (April, 2020) > April 24, 2020

WEEKLY DEVELOPMENT REPORT

Daedalus

Wallet

This week the Daedalus team has been working hard to prepare and release Daedalus 1.0.0, the first release of Daedalus to incorporate Byron reboot improvements, including a completely re-engineered Cardano node and Cardano wallet, which are the core backend components of Daedalus. This release concludes the current series of Daedalus Flight release candidates, with Daedalus Flight 1.0.0-FC5 now being superseded by Daedalus 1.0.0, which all users are encouraged to download.

Daedalus 1.0.0 has a huge number of new features, including background blockchain synchronization, a wallet import feature, mandatory spending passwords, support for Yoroi wallets, a transaction filtering function, a new update mechanism, and redesigned, faster wallet restoration with support for parallel wallet restoration. In conjunction with the new backend components, Daedalus 1.0.0 should mark a significant improvement in user experience for all users of Daedalus on all platforms.

App Platform

There is no update from the application platform team this week, since they’ve been helping with the huge effort involved in the release of Daedalus 1.0.0.

Cardano Explorer

There is no update from the explorer team this week, since they’ve been helping with the huge effort involved in the release of Daedalus 1.0.0.

Wallet backend

This week the wallet backend team has been working on fixing a couple of bugs, as well as removing redundant jobs from the Hydra continuous integration suite. There are now 123 jobs that manage cross-compilation and test the wallet backend on all platforms — and they’re all passing!

The team has also been working on adding code coverage reporting to the continuous integration pipeline, as well as adding tests and increasing test coverage across multiple code repositories. They also created an end-to-end example of using the wallet backend CLIs to build, sign, and submit a transaction to the Cardano network.

Finally, work has also continued to develop the new Haskell API library, adding support for address construction from public keys, hard and soft address derivations, mnemonic to master key generation, and user-facing encoding of addresses.

Networking

The team implemented some timeouts in the networking layer this week, including one for the handshake protocol and one for sending multiplexer messages. They also worked on a new version of the local protocol that will allow wallets to query the ledger state.

The team has also been working on various Shelley features within the Cardano node, its command-line interface, and configuration.

DevOps

This week the DevOps team has been helping the Daedalus team to prepare and release Daedalus 1.0.0. They’ve also been finalizing the faucet for the upcoming Shelley Haskell testnet, which uses the new wallet backend from the Byron reboot, as well as working hard to prepare Haskell node deployments. The team has also been working on packaging and deploying the new Byron explorer frontend.

Cardano Decentralization

This week the team has been working to smooth out some issues with a few of the more extensive property tests. They were previously working, with multiple certificates per transaction and large traces, but a rebase has caused previous heap exhaustion problems to recur. The team is investigating and working on a fix.

The team also had a final review of the CDDL and serialization specifications, which they found very useful. Most of the suggested changes were small and have already been implemented in a pull request. Work has begun on the larger changes, which included adding stake pool relays and overhauling the address serialization format, but is still in progress and waiting on other pull requests.

Finally, more progress was made on adding annotated decoders to the Shelley ledger, with blocks, block headers, and full transactions now accounted for.

Goguen

This week the Plutus team added provenance for inputs and outputs when transactions are balanced, so that information is collected about why the inputs and outputs are present on the transaction. They also added documentation about using materialized package sets and completed the Plutus glossary. Finally, they added Node.js to the list of shell.nix tools.

The Marlowe team continued with its design refinements of the Marlowe Playground. This work included highlighting the active demo tab and improvements to the warning and error text in the Marlowe simulator. They also updated the Marlowe tutorial to match the new version of the Marlowe Playground and added some new if expressions to the Marlowe semantics to help reduce forking.