Status Update

March 29, 2018

Status Updates (March, 2018) > March 29, 2018

Weekly Development Report

CORE

  • Exchange Onboarding & Support

For smoother communication with exchange, the team has created a dedicated internal channel, that will be used for communication between the development teams. In the past week, the team has moved forward to finalise V1 API and test coverage for the initial rollout . The task of adding a V1 endpoint to retrieve address meta-information (CSL-2327) is mostly complete and is currently pending some API design decisions. Feedback about V1 exchange endpoints from front-end team (CSL-2335) was successfully collected, and almost all of the requested changes are pending review. The team concluded that the task of servant-quickcheck for wallet-new API (CSL-2338) was not resource viable and the development resources would be better allocated towards other work. The task of making sure that cardano-node-new can log the same information of the original cardano-node (CSL-2347) was completed and reviewed, but has not been merged yet. Meanwhile the effort to write logical integration tests for wallet key import endpoint (CSL-2371) was completed, though actually wiring up the tests with the finished client is pending (CSL-2398). The team reports that the task regarding wallet API which needs to be reviewed after Ntp refactoring (CSL-2375) is ready to implement. The team has decided on a design and are waiting on the CSL-2346 pull request to be merged. The work to collect missing V1 endpoint data compared to V0 endpoints (CSL-2400) has been completed, with an impressive and comprehensive report. CSL-2335 implemented some of the noticed differences, but further work stories can be generated to implement the remaining tasks. Some of the endpoints haven't been implemented in V1, notable /v1/addresses. The final push to finish this work is tracked in CSL-2416 and will be complete next sprint.

DAEDALUS

Due to the changes in paper wallet certificate generator specification the team had to revise and modify the original implementation. The feature is getting polished and prepared for external audit. The team has also been working on preparations for the new release of React-Polymorph which includes a set of new components and a full structure refactoring.

WALLET BACKEND

  • Work on current wallet backend

One of the areas the team concentrated on last week was the effort to implement wallet backend's new data layer following its formal spec. A team member is nearly finished with CSL-2382, CSL-2378, and CSL-2395. Another team member has already reviewed a lot of this work, and worked closely with the original specialist team member in the original design. A pull request is not yet ready, this is pending CSL-2382. However, the team reports that good progress has been made in regard to that pull request. Furthermore the team reports that they have made good progress on CSL-2381 Support restoration at the Wallet Storage level. The planning for this ticket itself is has improved significantly. The developers have went through the entire V1 REST API specification, extended the outline of this ticket with the stuff that was missing, and tried to come up with time estimates for all the subtasks, which were discussed with a senior engineer and a senior software manager on this task. Additionally the task of adding server side TLS check has been successfully completed (see CSL-2683). Development / Testing certificates in scripts/tls-files have been updated, and a client certificate has been added for testing. The servers-side checks also include a client's name verification (information embedded in the client's certificate, matching against values provided to cardano-node via the CLI, default to "Daedalus Wallet"). Certificates are generated from a script located on the Daedalus repository. This script has been slightly adjusted and a PR will be issued soon to cover the changes. An end-user documentation extension has been submitted to describe the required manipulation of generating and using new certificates. Also, the team progressed in the effort for asynchronous restoration of a wallet from seed. Time has been spent working on CSL-2246 ( Allow correct pending transaction handling on a restored wallet). It didn't go as well as planned and therefore the task was not complete due to some complication in the current design. What was completed was to pivot the scope of the task a bit, and opened a work-in-progress on pull release which is an effort to support restoration at the Wallet Storage (CLS-2408) Once merged, this PR will allow the team to complete the task of extending the Wallet Info state to report the restoration progress (CSL-2247) in such a way that frontend will have enough information to:

--- Show the user that a wallet is restoring, and which % of progress it reached;

--- Grey out some parts of the UI to prevent the restored wallet to send transactions.

The team feels that is is very crucial to provide this extra information as part of the V1 API.

NETWORKING

The work on cleaning up/improving the NTP subsystem is coming along. The effort is almost complete. However, the work needs to be run by and pass the quality assurance guidelines set by the team leaders.
Furthermore, the team is engaged in the task of block streaming. As of yet the team has not been able to get a test/simulation up and running due to the fact that the team leader decided to increase emphasis on work quality, rather than speed. This means doing a fair amount of remedial work that makes the test/simulation setup easier and less awkward. It also greatly simplifies the code base. A team specialist was able to review some of the work, which necessarily touches more than just networking, as the changes were foundational, correcting some mistakes which were deeply ingrained.

DEVOPS

The team has addressed some of the issues from audit report, automated installer generation in mind with Linux installer, dealt with some non-impactful secret leakages, continued work with V1 api for exchange documentation

MISCELLANEOUS WORKSTREAMS

  • K/IELE

Work progressing; good work by Mantis team in terms of code merging, building tools for testnet and supporting Runtime Verification.

  • Sidechains

Research continuing and expect to submit paper to conference in May 2018.

  • Smart contract language

The smart contract language team's research work continues and interviewing of candidates progressing well.

  • Marlowe

Marlowe research paper draft completed and being reviewed internally.

  • Misc.

Asset locality paper nearing completion; workshop on design in April 2018. Accounting model work completed in terms of academic work.

Tech Support

Last week saw a reduction in the number of tickets received. The tech support team received a total of 457 tickets, out of which 326 were successfully resolved and the remaining 131 are being followed up. The top reported issues were:

  • Unable to connect to network
  • Unable to update wallet
  • Cannot sync
  • Misc.