Status Update

December 20, 2019

Status Updates (December, 2019) > December 20, 2019

WEEKLY DEVELOPMENT REPORT

Daedalus

Wallet

This week the team has finalized the new Daedalus Rewards wallet for the Incentivized Testnet. Wallet delegation and undelegation features have been finished, and the remaining stake pool metadata implemented for the stake pool details window. The wallet creation process has also been improved and modified to accommodate some specifics of the Incentivized Testnet.

App Platform

There is no update this week since the team was focused on supporting the release of the new Daedalus rewards wallet for the Incentivized Testnet.

Wallet backend

The team has been working hard this week making improvements to support the Incentivized Testnet. They’ve added the finishing touches to the wallet backend, including the introduction of off-chain metadata to the stake pools list. This enables wallet clients like Daedalus to provide a high-quality user experience where available stake pools can be browsed, compared, and eventually chosen based on many criteria. The team is also preparing to support hardware wallets by offering ‘coin selection as a service’ in the API. Finally, the team has added new benchmarks to measure HTTP request latency on various wallets so that they can identify bottlenecks in the API and, if necessary, spend time on optimizations later.

Networking

The team has continued working on peer discovery this week, and are preparing for an internal demo of their progress on the peer-to-peer functionality. Exploratory work has been underway, with the goal of ensuring that for any reasonably-sized network, all nodes will be reachable within four to five connections. Finally, some optimizations have been made to make more efficient use of resources and improve performance.

DevOps

This week the DevOps team started the hard fork process on the Byron testnet, which will be completed by the start of the next epoch. They also worked round the clock to help support the launch of the Incentivized Testnet, as well as providing support to community-run stake pools that were getting set up.

Cardano Decentralization

This week the team started working on the CBOR deserialization to match the new serialization and expect to finish both next week. They also completely removed Hedgehog from the codebase, following the decision to use QuickCheck for property testing. Progress was also made this week on the automatic generation of certificates for property-based testing, although some bugs took a while to figure out, and work remains to fix these. The team also completed work on generators for proposal updates, as well as wiring in some more properties with the new generators.

Goguen

This week the Plutus team has been restructuring the emulator to use effects, resulting in things being greatly simplified, helping to resolve the fact that plutus-contract library has a separate notion of traces. They also looked at improving the speed of state machine tests, which were running more slowly than the team would like. They also completed work on the extended UTXO specification and implemented integration tests for the backend in the Plutus Playground. The Marlowe team fixed the UselessTransaction check, as the Marlowe semantics was only checking whether a contract had been modified, to determine whether or not a transaction was useless. They added a new condition to check that accounts have to be also empty, if for some reason a contract consists only of Close, but has accounts with money on them. They also worked on the implementation of multi-currency support for Marlowe, fixed some bugs in the Marlowe Playground, and started to investigate support for tokenized Marlowe contract roles.