Status Updates
February, 2021
February 26, 2021
DAEDALUS
This week, the team released Daedalus version 3.3.1, which includes enhanced support for hardware wallets in preparation for the upcoming firmware updates. They also resolved some minor issues and are now focused on adapting Daedalus to support native tokens.
ADRESTIA
This week, the team focused on integration tests between native tokens and the metadata server, and also on improvements for the security aspects of the metadata submitter.
Specifically, the team worked on adding a user-facing Asset Fingerprint to cardano-explorer, revising and updating the metadata submitter tool with the inclusion to support all missing properties, acceptance and verification of annotated signatures, acceptance of the policyID pre-image, validation of metadata authenticity, and various bugs fixes and code optimizations.
Finally, the team completed prototyping a Portfolio Manager and continued developing multisig features.
NETWORKING
This week, the team continued working on the P2P functionality, focusing on the governor features and local root peers. They tested the connection manager, updated and simplified the handshake haddocks, and finalized the incremental rewards calculation.
The team made some improvements to allow lovelace transfers between the reserves and the treasury in the Alonzo development theme using MIR certificates. They also made progress on new Alonzo rules, integrated these changes with the consensus, fixed a performance regression, and added new benchmarks for transaction deserialization across all development themes.
Finally, the team enabled the construction of an initial chain state from 'ShelleyGenesis' or from any other additional configuration.
DEVOPS
This week, the team focused on preparation for the Mary hard fork, which introduces native tokens and multi-asset support to Cardano. The protocol update was submitted on February 24th, using a hard fork combinator event. This means that the Mary upgrade will take effect at the border of epoch 251 at 21:44:51 UTC on March 1st, 2021.
CARDANO DECENTRALIZATION
This week, the team continued performing Allegra benchmarks and also conducted an Allegra-Shelley performance analysis, fixing some recurring issues.
The team continued working on the redesign, reimplementation, and documentation of the logging API, focusing on configuration and namespace details.
Finally, they integrated the direct EKG (remote monitoring of running processes over HTTP) metrics submission mechanism with the node, and fixed some key evolving signature (KES) metrics issues.
GOGUEN
This week, the Plutus team made updates to the monetary policy mechanism in the Plutus tutorial. They also made amendments to the escrow contract example and worked on performance improvements. Additionally, they modified the formatter fixing scripts to make them more efficient.
The Marlowe team worked on some general improvements to the Blockly interface and also fixed a contract runtime error in the Marlowe Playground. Additionally, the team added support to the Haskell and JavaScript tabs for Extended Marlowe and worked on new designs for the Marlowe Suite user interface elements.
February 19, 2021
DAEDALUS
This week, the team released Daedalus version 3.3.0, which introduces native token support for the upcoming Mary protocol update. This version also includes Project Catalyst Fund3 voting registration, configurable SMASH servers, and allows the import of wallets from 'secret.key' files featured in earlier Daedalus releases.
The new Daedalus features many more improvements: transaction details now include metadata, and users can process fees, make ada deposits, or choose to display the wallet balance converted either to fiat or other cryptocurrencies.
Finally, the team implemented support for Ledger devices configured with a secondary PIN.
ADRESTIA
This week, the Adrestia team worked on improving APIs and multisig features, in preparation for the Mary hard fork.
Specifically, the team focused on adding a user-facing asset fingerprint (a human-readable identifier for assets) feature to the cardano-wallet API, so Daedalus displays this identifier. Also, they continued development of multisig features, released a hot fix for the Mary hard fork that includes minimum coin values in the fee estimation API response, and released cardano-wallet with native tokens metadata submission server integration, Asset Fingerprint, bug-fixes and performance improvements.
Finally, they began design work of a Portfolio Manager prototype.
NETWORKING
This week, the team worked on network counters and connection diagnosis to resolve some stake pool operation issues. They continued implementing the P2P functionality, expanding P2P governor features, resolving issues, and working on local peer connections. Finally, the team worked on the connection manager and cardano-db-sync tests, and commenced the collaboration with Quviq to implement the property-based testing of the networking layer.
DEVOPS
This week, the team modified the metadata server according to the wallet API specification, integrated it with the Daedalus wallet, and added a caching layer to the SMASH server to provide a dashboard with an improved process of monitoring. The team also implemented Catalyst improvements within the vit-ops repository ‒ which simplifies some deployment processes ‒, and integrated the faucet with the wallet backend to support native token transactions on the testnet.
CARDANO DECENTRALIZATION
This week, the team continued performing Allegra- and Mary-related benchmarking, integrating new mempool cost tracing, analyzing performance data, and running property tests.
In terms of the infrastructure, the team implemented prototype support for ongoing cross-era-boundary benchmarking and improved the transaction generator code. They continued working on direct EKG metric submission, node logging KES metrics, and the design and prototyping of the logging API.
They also probed different ways to allow MIR certificates to move funds between reserves and the treasury, and abstracted the protocol parameters, which allows changing them in different development themes.
Finally, the team made progress on the incremental reward calculation.
GOGUEN
This week, the Plutus team made improvements to the terraform code and documentation, and implemented a fix that makes the chain index watcher list configurable.
The Marlowe team made improvements to how the Blockly location is handled in the Marlowe Playground frontend and worked on development scripts for the marlowe-dashboard-server. The documentation team published a new Marlowe language guide.
February 12, 2021
DAEDALUS
Last week, the team continued integrating the native tokens user interface, introduced refinements for the hardware wallet, and improved the UI/UX. They also re-enabled the import feature for the Byron wallet, and worked on the deposit amount feature in Transaction Details and Delegation Wizard.
ADRESTIA
This week, the team focused their work on updating APIs to support integration with the native tokens metadata submission server. Specifically, they worked on designing the MVP solution for the integration of cardano-wallet and GraphQL with the server.
Also, the team continued developing two multisig features: adjustment of the cardano-wallet codebase to be compliant with cardano-addresses 3.2.0, and the design of the endpoint for creating address with script.
Finally, the team fixed known issues with the pre-release version of cardano-wallet.
NETWORKING
Last week, the team continued developing the P2P functionality, reviewed the P2P governor changes, ran simulation tests, and added inbound governor state machine details to the specification.
They also outlined the P2P delivery plan and worked on bug fixes and performance counters to measure response time for the chain-sync protocol.
DEVOPS
This week, the DevOps team tested the Catalyst application, worked on the multi-asset support for the Testnet faucet, and added a metadata validation tool to the CI.
CARDANO DECENTRALIZATION
Last week, the team completed transactions per second (TPS) performance benchmarking across various development themes. They continued working on Allegra performance properties, transaction generator benchmarking, and node cluster infrastructure improvements in preparation for the Mary mainnet upgrade. Work is ongoing on the new trace-dispatcher machinery design for the Cardano node.
Finally, the team abstracted some Alonzo protocol parameters to be modified between different development themes, added the Alonzo TxWitness feature, and prepared for further computation property testing within Alonzo and Voltaire-related activities.
GOGUEN
Last week, the Plutus team added scripts that simplify working with the pass function, including a newly added explanation section in README. They also added a new auction contract to the suite of contracts, and a Notify Placeholder value to the plutus-contract.
The Marlowe team completed refactoring work on Blockly and updated some ACTUS articles. Additionally, they began working on basic infrastructure to deploy the Marlowe Dashboard to the web.
February 5, 2021
DAEDALUS
Last week, the team deployed the Daedalus Catalyst version onto the Daedalus Mainnet, implemented the native tokens user interface -along with some additional UI/UX improvements-, and refined the handling of hardware wallets.
ADRESTIA
This week, the Adrestia team worked on updating APIs in preparation for the Mary hard fork. Specifically, they worked on the release of an updated GraphQL version to support multi-assets and a cardano-rest API version to support the Mary hard fork.
The team also continued developing multisig and token-locking features, and began the integration of cardano-wallet with the native tokens metadata submission server. The latter included initial research and design of a solution for the keys needed to sign a particular piece of metadata.
Finally, they did some bug-fixing and performance optimizations of cardano-wallet with multi-assets.
NETWORKING
Last week, the team updated the connection manager specification, simplified its state machine implementation protocol, fixed some P2P governor issues, and rebased P2P master branches to ouroboros-network and cardano-node repositories.
DEVOPS
This week, the team forked the public Cardano Testnet upgrading it to Mary, and deployed fixes to provide multi-asset support within Cardano Explorer, GraphQL, DB Sync, and Rosetta components. The team also worked on Catalyst mobile application enhancements, developed and deployed metadata servers, and tested the new KEVM network.
The team worked on multiple Daedalus Catalyst voting tools improvements, such as support for metadata address fields, token locking, and Shelley transaction generation.
They also worked on scaling Catalyst rewards from lovelace to ada values, automating snapshot processes (by adding mainnet and testnet DB Sync instances), and updating ada wallet to support bulk transactions for stake registration, delegation and sending funds.
Finally, the team prepared to retire some IOG private pools to support the community pool delegation strategy.
CARDANO DECENTRALIZATION
Last week, the team continued working on Mary-related performance benchmarking, focusing on node compatibility and speed of transaction processing in Shelley, Allegra, and Mary. They also evaluated effective block creation performance in those three development themes, made infrastructure improvements to the local cluster, and updated Tx generator properties.
Finally, the team started prototyping direct EKG (Remote monitoring of running processes over HTTP) metric submission and discussed improvements to the node logging design.
GOGUEN
Last week, the Plutus team released the refreshed Plutus Playground with an updated user interface and new tutorials. They also worked on an initial proposal for extended bytestring built-ins and investigated how contracts should interact with rollbacks.
The Marlowe team introduced an update that disables the Send to Simulator option if there are issues using Blockly.
Finally, they added static analysis to both the Haskell and JavaScript editors in the Marlowe Playground frontend and resolved some parsing errors.