Status Updates

July, 2021

Jump to

July 30, 2021

DAEDALUS 

This week, the team resumed working on the Electron upgrade, maintaining the application window size and its position after the Daedalus relaunch. They investigated issues related to the detailed earned rewards history feature, and finalized the implementation of a warning notification when making transactions with not enough funds to redeem rewards or move native tokens in the wallet.

ADRESTIA

This week, the team made good progress in Alonzo/Plutus-related changes.

Specifically, they released GraphQL v5.0, Rosetta v1.3.0, and Explorer-app v1.6.0. The team is also preparing to release a wallet update to enable compatibility with Alonzo Node 1.28, and they are working on streamlining cardano-wallet transaction APIs to enable Plutus Application Backend (PAB) integration.

Finally, they are working on several changes required for smart contracts (collateral, script witnesses, etc.)

NETWORKING

This week, the team worked on property tests and adjusted the ConnectionManager test, which resulted in the discovery and resolution of some issues.

The team also restructured the P2P to non-P2P switch for better clarity and easier maintenance of the data diffusion API. The data diffusion module now works in an abstract monad that allows building simulations in io-sim.

DEVOPS 

This week, the team updated the Explorer-app to v1.6.0 and continued preparing for Alonzo White v1.3.

CARDANO DECENTRALIZATION

This week, the team worked on Alonzo block time budgeting calibration benchmarking. They discussed and implemented the calibration data export format, extended the block propagation analysis to perform final data validation, and delivered the final 64kb block size results.

Work is ongoing on Alonzo Plutus payload benchmarking; the team integrated the script-based transaction generator into the workbench and continued implementing the initial Plutus capacity transaction generator.

Finally, the team completed work on the trace-dispatcher and cardano-tracer components’ features, and continued testing and updating documentation.

GOGUEN

This week, the Plutus team added rollback support, updated protocol parameters in the plutus-use-cases-scripts, and made more changes that allow running scripts during the Hydra process. They also provided more documentation for the Plutus Application Backend (PAB), and steps in the README for a Cabal update.

The Marlowe team worked on a new implementation of the Balance tab within the Marlowe Run client, worked on some adjustments to the ACTUS test framework, and made updates to the timezone and timeout features. These ensure that the displayed time is offset with the browser, and the contract timeout is applied correctly, rather than using the current slot at the moment of calculation.

July 23, 2021

ADRESTIA

This week, the team's focus remained on Alonzo/Plutus-related changes.

Specifically, the team worked on streamlining cardano-wallet transaction APIs to enable integration with the Plutus Application Backend (PAB), and they are also working on updating the cardano-wallet to the Alonzo Node v1.28 with changes required for smart contracts (collateral, script witnesses, etc.)

Finally, GraphQL v5.0, Rosetta v1.3.0, and Explorer-app v1.6.0 are all now in the releasing stage. All versions are compatible with DB Sync v10.0.

NETWORKING

This week, the team fixed some tests in the cardano-node repository, made logging improvements, and made changes to the P2P master branch. They also worked on the DeltaQ framework and identified future project outputs. Finally, the team continued updating the network specification.

DEVOPS 

This week, the team deployed node v.1.28 and explorer v.1.6.0 to the public testnet. They also worked on the Alonzo White update proposal to adjust cost parameters, continued preparation for the ERC20 upcoming testnet release, and enabled Bitte support for the Plutus Playground and GHC web service.

CARDANO DECENTRALIZATION

This week, the team worked on alternative incentive schemes together with the research team. They agreed on core concepts and discussed a strategy going forward. They also identified the technical team structure for Voltaire development, worked on documentation, and continued working on the Obsidian update mechanism.

GOGUEN

This week, the Plutus team updated some hosted PAB information and fixed the type parameter name in the PAB contract. They also resolved Playground decoding errors for datums and redeemers, deleted the obsolete servant-server dependency from the plutus-contract, and updated protocol parameters in plutus-use-cases-scripts, which allows exporting some of the partial transactions. The team also generated ACTUS examples for Plutus performance and investigated ActusLabs issues in the Playground.

The Marlowe team continued working on the Marlowe Run infrastructure redesign, which includes contract setup, contract cards, and tooltips. They added a hint widget to Marlowe Run, reinstated slot parameters in the example contracts, and added default values making them read-only. The team also added a TimeFormat to the NumberFormat type, which interprets values as seconds, and displays them as minutes. They fixed some minor Marlowe Playground Client issues and implemented the new design of the contacts sidebar.

Finally, they added the "copy to clipboard" functionality for wallet IDs and tidied up role inputs for contract template setup, restyling inputs to match new designs.

July 16, 2021

DAEDALUS 

This week, the team worked on the Electron update, which is in the final QA and testing phase.

The team also made good progress implementing rewards history view while completing the implementation of an ‘Emptying a wallet’ warning and some additional UI/UX improvements.

ADRESTIA

This week, the team remained focused on Alonzo/Plutus core features.

Specifically, they continued working on streamlining cardano-wallet transaction APIs to enable Alonzo/Plutus features, and also began updating cardano-wallet to the future Alonzo Node (v1.28).

The team also prepared cardano-graphql v5.0 for release and moved it to QA. This version is compatible with db-sync v10.0.x

They're also working on updating cardano-explorer to enable compatibility with GraphQL v5.0, and also updating the cardano-rosetta API to enable compatibility with db-sync v10.0.x).

NETWORKING

This week, the team upgraded the P2P switch, worked on network tracers, fixed some tests, and merged the server simulation. They are now in the process of running simulation tests.

DEVOPS 

This week, the team were busy preparing for the Alonzo White launch. On July 14, the teams successfully forked the Alonzo testnet to the new Alonzo White node. The new network is now producing blocks, and besides the core SPO group, Project Catalyst members and more Plutus partners have joined Alonzo White testnet activities. Meanwhile, IOG quality assurance and other teams continue working on the feature testing.

ERC20 CONVERTER

This week, the team continued working on Cardano to Ethereum token migration within the converter. They investigated different development scenarios and found related solutions to also improve the Ethereum to Cardano migration process. This influenced the decision to deploy all improvements within one release without separating overall functionality. Therefore, the ERC20 converter testnet will require several further weeks of development but will be deployed featuring a greater number of updates and functional features. This will not influence the mainnet release, which is planned for deployment around the dates of the Alonzo mainnet hard fork.

CARDANO DECENTRALIZATION

This week, the team worked on the Merkle trees design documentation, finalized Marlowe Run redesign based on user testing results, and continued working on the Marlowe Run infrastructure improvements. They validated the LAM contract against the ACTUS test suite and investigated ActusLabs issues in the Playground, also generating ACTUS examples for Plutus testing.

The team implemented a feature that allows the state machine to produce thread tokens, fixed a handshake connection issue to the Alonzo node, and also changed the time resolution property in Plutus to enable the use of milliseconds.

More work has been done within the Plutus Application Backend (PAB) development. The team worked on PAB documentation, enabled optional permissive CORS policy, and also enhanced chain index operations. Along with that, they produced an example application that waits for a blockchain event, and continued PAB to Alonzo synchronization process.

Finally, the team prepared for the ‘Hosted PAB’ workflow, which will enable the use of textual links with partial transactions, and started working on contract API UX improvements.

GOGUEN

The Plutus team worked on PAB amendments to increase waiting times for the uniswap traces, which allows retrieval of state information for contract instances that have stopped. Additionally, they fixed a response timeout used when evaluating contracts in the Plutus Playground.

The Marlowe team implemented a new design for contract cards within the Marlowe Run dashboard and worked on documentation and tool tips.

July 9, 2021

DAEDALUS

This week, the team worked on the Daedalus 4.2.0 release, which improves native token functionality and enables exporting the wallet's multi-signature public key introduced in Daedalus Flight 4.2.0-FC1. They also implemented Ledger and Trezor hardware wallet support for the Catalyst Fund5 voting registration.

ADRESTIA

This week, the team remained focused on Alonzo/Plutus core features.

Specifically, they solved an urgent problem with using hardware wallets for Catalyst voting Fund5, continued working on streamlining cardano-wallet transaction APIs to enable Alonzo/Plutus features, and began updating the cardano-wallet to the Alonzo Node.

They also wrapped up updating the coin selection algorithm to incorporate minting and burning, updated the cardano-rosetta API to support DB Sync 10.0, and performed migration tests of the multi-asset cardano-rosetta to the mainnet, to enable further testing of rosetta updates.

NETWORKING

This week, the team completed the integration of the P2P switch feature, which allows SPOs to run a node either in P2P mode or with statically configured peers. They worked on error notifications when supplying a wrong topology file, improved logging JSON instances, and made improvements to the cardano-node p2p-master branch.

Finally, the team worked on open issues and continued enhancing the multi-node simulation test for the inbound governor and the connection manager.

DEVOPS 

This week, the team prepared for the Alonzo White upgrade and implemented support for the Catalyst mobile voting application. They also worked on the ERC20 testnet support in preparation for the upcoming release.

CARDANO DECENTRALIZATION

This week, the team worked on cardano-graphql improvements, including transaction submission error handling, the asset sorting capability, and filtering transaction outputs by index. The team also fixed some issues with asset fingerprints related to the absence of the assetName, and performed testing using CIP14 test vectors.

Finally, they replaced the Cardano node and Ogmios services in the stack with the new combined cardano-node-ogmios image, and updated the locally-managed Cardano configuration sub-module.

GOGUEN

This week, the team have been preparing for the Alonzo White release in terms of chain synchronization rate-limiting and mempool properties. The Alonzo White rollout program is in progress, as is the onboarding of new SPOs and developers to join it. The team has also spun up the new Alonzo White network and faucet to start growing the user base and shared a more detailed update on LinkedIn.

The Plutus team added protocol versioning to the node client and updated the validation benchmarks to the new flat format. They also worked on some documentation for the Plutus Application Backend (PAB) to explain the process of deployment.

The Marlowe team were busy implementing the outline of the new design work for the Marlowe Playground and added a hint widget. They also extended the InputField to include number inputs (using NumberFormat) and worked on error handling and documentation.

July 2, 2021

DAEDALUS

This week, the team prepared for the Daedalus Flight 4.2.0-FC1 release, which improves native token functionality and enables exporting the wallet's multi-signature public key.

The team also made changes to the upcoming Catalyst Fund 5 voting registration and started implementing the custom browser protocol for Daedalus launching.

ADRESTIA

This week, the team remained focused on Alonzo/Plutus core features, which included the release of cardano-addresses v.3.5.0, and the extension of voting tools to provide a decision log for Catalyst Fund 5.

The team also adjusted the e2e framework so it can easily connect and run tests on Alonzo testnets, worked on streamlining transaction APIs to enable Alonzo/Plutus features, and almost completed updating a coin selection algorithm to incorporate minting and burning.

Finally, they implemented a set of fixes to improve both a flaky CI and the cardano-rosetta API.

NETWORKING

This week, the team worked on the P2P switch feature, which is now in review, improved some logging properties, and cleaned up the P2P master branch in the cardano-node GitHub repository. They also renamed io-sim-classes to io-classes, provided support for ‘simultaneous open’ in the network simulation environment, and continued working on the multi-node server simulation after Quviq’s audit.

Finally, the team updated the Wireshark plugin and improved the Win32-network package description.

CARDANO DECENTRALIZATION

This week, the team continued working on Alonzo benchmarking and block time budgeting: they implemented necessary analysis fixes, reviewed and validated log analysis results, worked on the network latency matrix collection, and made progress on production benchmarking.

The team also implemented the initial Alonzo transaction generation capability and merged some PRs, including the initial wallet abstraction implementation. They continued redesigning the node logging infrastructure: implemented the connection layout change for cardano-tracer/cardano-node, relocated resource statistics from the iohk-monitoring-framework, and started working on the BasicInfo and Resource tracers. Along with that, the team updated relevant documentation and resolved some issues related to frequency limiting.

Work is ongoing on the implementation of Alonzo rules into the ledger. The team worked on various extensions from AWS, added redeemers for minting policies, worked on cost scaling and a more efficient serialization of programs. They also fixed some issues in Plutus IR, updated related documentation, and made progress working on chain index types along with syncing PAB with the Alonzo node.

GOGUEN

This week, the Plutus team added redeemers for minting policies and more instructions about profiling. They also made improvements by reordering constructors according to frequency and updated the auction and uniswap trace in the plutus-use-cases-scripts. Finally, they worked on emulator implementations of chain index query and control effects.

The Marlowe team did some refactoring work to reflect recent design changes within Marlowe Run. They also worked on a new Welcome screen design and started implementing tooltips. Additionally, they extended the payment type to include source accounts and transfers and also updated the Marlowe website with FAQ information, new banners, social tags, and a wider layout.