Status Updates

March, 2022

Jump to

March 25, 2022

DAEDALUS 

This week, the team resolved the issue that affected Daedalus's installation on the latest macOS Monterey (v.12.3) and improved the PDF addresses export function using the QR code. They also tested and integrated the upcoming hardware wallet ledger-js v.5.0 for a future release.

ADRESTIA

This week, the team worked on updating cardano-wallet to node v.1.34.1. Also, they continued working on a new transaction workflow to add token minting and burning.

Finally, they worked on redesigning the DB layer, added a "light" mode in cardano-wallet, and also worked on the cardano-js-sdk MVP.

NETWORKING

This week, the team worked on error handling and resolved some issues related to old IP addresses in DNS. They also improved the performance properties of IOSim and continued working on diffusion simulations.

CARDANO DECENTRALIZATION

This week, the team worked on the hard fork combinator era transition logic to account for tables that are spontaneously filled (eg. UTXO tables when transitioning from Byron to Shelley). They started investigating the performance properties of the UTXO HD version of the node, merged the pipelining design, and worked on its implementation plan.

The Hydra team held a hackathon in Lyon, where they connected the first hydra-node to the public Cardano testnet. They also experimented with an example DApp using the Hydra Heads protocol and launched a new Hydra Head protocol website. It includes a user manual, core concepts overview, topologies, and an API reference.

GOGUEN

This week, the Plutus team worked on an explanation of the version type, improved the debugging experience, and updated the core specification. Additionally, they updated 'BuiltinRuntime' to store the costing function and added an exponent function for integers to the prelude. This week, the team also made an update proposal that will trigger an increase in per-block Plutus script memory units limit from 56M to 62M. This incremental adjustment is the latest in a continuing series of optimizations and increases to network capacity that are being made as Cardano continues to scale in 2022 for future growth.

The Marlowe team extended the option examples in marlowe-contracts to run on Oracle inputs and enabled the specification of barrier options in marlowe-contracts based on oracle inputs.

Finally, they added a script to run marlowe-cli with a template for the covered call and fixed an issue that prevented contract nicknames from being preserved.

March 18, 2022

DAEDALUS 

This week, the team worked on the automation of hardware wallet testing in Daedalus. This testing will be delivered with the use of emulators eliminating human interaction. The team also improved error handling procedures by exporting the public key from a hardware wallet. Finally, the team fixed several minor UI issues found in production.

ADRESTIA

This week, the team continued working on finalizing a new transaction workflow to add token minting and burning capabilities. Work is ongoing in regards to cardano-js-sdk MVP, DB layer redesign, and a ‘light’ mode addition to cardano-wallet.

NETWORKING

This week, the team made some updates to the ouroboros-network repository, which now comes with the integration-CHANGELOG.md file. They fixed some issues in IOSimPOR, and provided an IOSimPOR example that proves that UnnegotiatedSt Inbound to TerminatingSt transition of the connection manager can happen and should be considered as a valid transition. The team also provided a platform-independent TCPInfo tracepoint, which will simplify integration in cardano-node.

The team implemented the MonadFix instance in io-sim and continued working on a simulation test for the local roots DNS provider. Finally, they provided a systemd integration for monitoring eight P2P nodes and a p2p-master-1.34.1 branch built on top of the node v.1.34.1 release.

CARDANO DECENTRALIZATION

This week, the team worked on some CI related issues, evaluated GHC v.9.2.2 in haskell.nix, and implemented haskell.nix custom hackage support.

The team also elaborated the Ledger DB snapshot with UTXO HD tables that was successfully used to reproduce some errors related to Shelley transaction processing. They wrote some serialization and property tests for LedgerTables and Ledger DB. Finally, the team fixed a few errors in the CBOR serialization of several data types used in the UTXO HD feature branch.

The Hydra team held a planning session and updated the Hydra development roadmap. They created technical documentation and started working on the new website featuring user manuals, core concepts, and API references. Finally, they inspected the options of token minting and burning within a Hydra Head along with scenarios of using tokens instead of datums.

GOGUEN

This week, the Plutus team worked on serializeData builtin function and fixed several minor bugs. They also made some improvements to the Plutus Application Backend (PAB) and continued working on Plutus Apps products.

The Marlowe team worked on the Marlowe CLI adding such test cases as a contract for differences, an escrow with collateral, a coupon bond guaranteed, and a contract for differences with an oracle. They also rewrote the redeem endpoint to handle multi-payments, extended marlowe-contracts, and added testing capabilities into marlowe-cli. Finally, the team created a JSON DSL for Marlowe Run tests.

March 11, 2022

DAEDALUS 

This week, the team resumed working on adding support for magic links in Daedalus. This feature enables the use of links on different websites, which will trigger smart contracts or payments opening the Daedalus wallet to sign the request. The team continued resolving some non-critical hardware wallet issues and also created a hybrid automation testing script for hardware wallets, which will improve the efficiency of testing.

ADRESTIA

This week, the team released the Cardano Addresses update. Also, they worked on finalizing a new transaction workflow to add token minting and burning, redesigned the DB layer, and added a "light" mode in cardano-wallet.

Finally, the team is still working on a cardano-js-sdk MVP.

NETWORKING

This week, the team created the MonadFix instance for IOSim and IOSimPOR, which is useful for connection manager operations. They also worked on bug fixing in IOSimPOR, added traceTVar to the strict interface of MonadSTM, and traced TCP connection information.

The team fixed the local root peer DNS provider and ran tests, which are now in review.

Finally, they worked on diffusion tests and some bug fixes in the simulation environment.

DEVOPS 

This week, the team focused on increasing the level of standardization across all projects under management. This will ensure greater maneuverability and ultimately will result in increased service levels towards project organizations. The first projects that will benefit from this are the ERC20 converter, Atala, and the LightWallet, among others.

CARDANO DECENTRALIZATION

This week, the team continued working on the UTXO HD and its first cardano-node prototype. They also worked on block diffusion pipelining, ChainSync server logic, and ran some ChainDB tests.

The Hydra team finalized ouroboros-network improvements allowing connections of 50+ hydra-nodes on a local devnet. They also implemented properly configurable --network-id and ledger/protocol parameters and finalized work on contract continuity and authentication. This ensures that Hydra protocol transactions are submitted in order, and that all participants have a chance to commit UTXOs to a Head.

GOGUEN

This week, the Plutus team worked on data instances for some data types relating to the new node 1.34 release. They also spent time investigating deriving-strategies and implemented runtime checks for allowed builtins. Finally, they worked on detection of validation errors in the emulator.

The Marlowe team made their first successful run of a contract through Marlowe Run on the private testnet. They also fixed a serialization issue with the Follower contract and updated resolveRelativeTimes to use local time instead of a slot.

Finally, they created a test case for the Contract for Differences and published a deep dive blog post on the new Marlowe Playground extensions.

March 4, 2022

DAEDALUS 

This week the team worked on a new mnemonics entry component and some user interface improvements. They also fixed the Trezor T pairing issue and prepared for the Daedalus v.4.9.0 release.

ADRESTIA

This week, the team worked on finalizing a new transaction workflow, adding token minting and burning.

They also worked on redesigning the DB layer and adding a 'light' mode in cardano-wallet.

Finally, they continued working on the cardano-js-sdk MVP.

NETWORKING

This week, the team continued diagnosing the local root peer bug and added the connection manager state machine test using IOSimPOR. They also continued working on diffusion simulations, the design of eclipse evasion, and the gossip protocol.

DEVOPS 

This week, the team deployed node v.1.34 to mainnet.

CARDANO DECENTRALIZATION

This week, the team continued working on block diffusion properties and on several protocol enhancements including chain-sync and block-fetch protocols. They also refined the in-memory backing store's serialization constraints and ran storage tests on blocks with payload on the UTXO HD branch.

The Hydra team worked on the support of multiple Heads on-chain, some node connection properties, and the use of faucets for funds distribution within a Head. They also refactored stateful chain-level transaction creation and observation, which enables running complex tests on-chain. Finally, the team fixed some issues reported by users.

GOGUEN

This week, the Plutus team moved the plutus-example module from cardano-node to plutus-apps and spent time testing that slot numbers line up between the model and the emulator. They also worked on validation benchmark arguments and signature validations.

The Marlowe team fixed deadlines in the contract template page of Marlowe Run and moved the handling of Marlowe endpoint calls to call sites. They also updated the contract confirmation dialog and enabled the display of currency symbols for unnamed contracts.

Finally, they created a function to generate valid inputs for contracts using static analysis and solved the problem where the wallet companion did not notify when updates were made.