Status Update

May 29, 2020

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

WEEKLY DEVELOPMENT REPORT

Daedalus

Wallet

This week the Daedalus team focused on finishing the hardware wallet integration, which will enable support for Ledger Nano S and Ledger Nano X devices. Support for Trezor devices will be added next week.

Daedalus is now integrated with the latest cardano-wallet version, which requires an update of the transaction fee API endpoint integration.

The team is also working on the integration of the Shelley Cardano node with the cardano-wallet while the upcoming ITN Daedalus release is in its final QA and testing phase.

Cardano Explorer

The dev team fixed a few end user-reported UI issues.

Adrestia

The Adrestia team improved the fee estimation by running multiple selection and providing a better answer based on statistical results. The API now returns a bracket min/max, which should make the fee estimation more reliable. In earlier iterations, the fee could vary drastically from one transaction to another, depending on which UTxO was picked for the estimation, and which was picked for the actual transaction.

The team also worked on refactorings and code reorganizations to allow concurrent support of Jörmungandr and cardano-node with Shelley. The cardano-wallet now supports Shelley addresses, though cardano-wallet implements the final draft for addresses, whereas cardano-node still uses an intermediary, non-compatible format. The team will partially alter this implementation to match the current node's format and enable an early integration.

The team worked on the transaction layer for Shelley, and managed to resolve a problem regarding addresses. A regression found on the fee estimation was also detected and fixed. The issue arose after a recent modification. Nightly benchmark caught the regression right away.

#1647 (Unable to fetch network tip from Jörmungandr ReST API in recent versions) was also fixed .

Networking

This week, the networking team worked on the connection manager and produced a draft implementation of a server, based on the connection manager. The team also addressed several issues, such as refactoring of OuroborosApplication (PR #2121), and unbounding delays in threadDelay and registerDelay (PR #2135). The flaky test (PE #2123) was also fixed, and work on the tx-submission function means that the termination message MsgKThxBye is now merged (PR #2090).

The team also resolved PR #2109, which means the cardano-client library is now merged. Work continues on testing mux, as someone unforeseen problems need debugging. Work also continues on the CLI, and the reviewing of network documentation. The team anticipates two more review sessions before publishing it.

Finally, the team held discussions with AUEB researchers on their proposal, and our team presented our design this week, while highlighting some areas where assistance might be needed.

DevOps

The team managed to get the Friends & Family Network working: Pools are now up and running, and pioneers are accruing rewards. The initial implementation of the Shelley faucet is now complete, and a public URL will be published shortly. Also, Testnet and Mainnet nodes on Cardano Byron have been upgraded to the 1.12.0 release.

And finally, the team implemented nix build process using naersk in jormungandr. This will result in simpler upgrades going forward.

Cardano Decentralization

This week, the team focused on technical debt and testing infrastructure (the Shelley test infrastructure has been expanded, for example). More intensive testing now will reduce the possibility of issues appearing later in production. Work is also ongoing on testing Shelley with opcert replacement, and Byron-era addresses can now be serialised by the Shelley ledger. This was required for hard-fork testing.

The team worked on refactoring of the ledger code, which meant that all specifications and implementations across eras now live in a single repository.

Work is also ongoing for making the Shelley ledger STS errors be more descriptive by adding comments. The team spent some time helping with the integration efforts, fixed a couple of bugs, namely the minfee calculation no longer re-serializes anything, and Byron addresses can now be serialized (but not validate witness for them).

Goguen

This week the Plutus team updated the example project to make it easier to use by referencing more recent versions of the libraries. This also fixed an issue where the cabal.project file of the example project was missing a subdirectory of the Plutus repository. In addition, they upgraded the shell.nix file to use GHC 8.8.3, and removed the configuration.nix file which is no longer required. Finally, a Docker-based virtualized environment was also introduced and Haddock was enabled for the plutus-scb (smart contract backend).

Marlowe

The Marlowe team completed a significant refactoring of the Marlowe Playground to simplify the user experience by separating complex tasks. The playground now uses a Halogen component for the simulation pane, which makes it easier to add a new 'Wallet' pane. Also, the team moved some utility functions to simplify the task of adding new modules that use these functions. MonadApp was removed as part of this refactoring work, to enable these changes. This is not expected to have any impact, as MonadApp was not being used anyway.