Status Update
April 5, 2018
Status Updates (April, 2018) > April 5, 2018
Weekly Development Report
CORE
- Exchange Onboarding & Support
Documentation of Version 1 API has been completed. New use cases have been added to the documentation and are under review. Port of all required by exchanges endpoints to V1 is done. V1 API test coverage is being finalised. DevOps guide for exchanges is still in progress. For exchanges, new slack channels were created. Discussions underway for how DevOps is going to onboard exchanges.
- Finalise Version 1 API and test coverage for initial rollout
CSL-2375 Wallet API needs to be reviewed after Network Time Protocol refactoring. The new design is extensible for further changes to how we represent time to clients. CSL_2398 Wire up integration tests as part of Continuous Integration. This work is well underway, the primary work on integrating various parts is complete. CSL_2400 Collect missing V1 endpoint data compared to V0 endpoints. Needs to be updated to current state of the wallet, most of the changes have been addressed. *CSL_2405 Add ‘fees included’ option to Transactions endpoints. There is a possibility that this will be completed from a design and implementation point in this sprint.
DAEDALUS
Last week the team concentrated on the finalization of the paper wallet certificate generator. All modifications required by the updated specification have been implemented and the feature is in the final review stage. Once reviewed and approved it will be sent for an external audit.
WALLET BACKEND
Last week the team tackled the task of decommissioning the Cardano-SL-1.0- exchanges branch. There were unexpected errors in the previous migration plan, which was tracked down with the with-explorer compile time flag unintentionally enabled in the new environment. An updated migration plan has been documented, this will disable the flag to reflect how the previous stack-based build worked. The plan is to start migration in the latter part of this week or early next week. Also, the team worked on writing and validating formal specification for the new wallet backend. More specifically, the team worked to implement the wallet backend's new data layer following its formal spec. As mentioned previously it was thought initially that these two user stories could have been completed within the previous time lines. However, now that analysis has been done on these tickets it has been noted that this will take longer than initially anticipated. The high-level timeline for this particular piece of work is an additional two to three months starting from April. Furthermore, considerable work was done to implement the wallet backend's new data layer following its formal specification. Progress was made on tidying up the structure of this user story, which now has the appropriate sub tasks associated to it. Further progress has been made on CSL-2382 - to implement “pure” data layer for the passive wallet, however the pull request is not ready yet. Additionally, the team worked on adding a server-side Transport Layer Security (TLS) check. Development/Testing certificates in scripts/tls-files have been updated, and a client certificate has been added for testing. The servers-side checks now include 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 as described in comments below and a pull request will be issued soon to cover the changes. End user documentation extension has been submitted to describe the required manipulation of generating and using new certificates. The team also worked to investigate high (and recurrent) IO traffic in the wallet. While providing support to exchanges, the team felt that certain exchanges were running the wallet in a container, therefore contention occured between both inside and outside of the container. It turned out that there was an issue with one of the exchanges, there is evidence of disk I/o resource exhaustion, which is a first guess. This may cause the Cardano node to enter recovery. Asynchronous restoration of a wallet from seed was another task the team engaged in during the past week. CSL-2247 - Extend ‘WalletInfo’ state to report the restoration progress is complete and is ready for review and testing. After that, it's just a matter of finalising DB migrations and making sure API docs is correct. There is work required from the frontend team on this as well.
NETWORKING
Progress has been made on studding the block verification stack.
DEVOPS
DevOps continued testing and improving exchange onboarding documentation, in addition to supporting existing exchanges. For Daedalus, the team made a server-side fix to resolve a UX problem in the bug submission flow, improved their internal automation for proposing installer updates on the blockchain, and began preparations for the upcoming 1.1.1 hotfix release. The team onboarded the IELE and K-EVM developers with their cloud provider for future testnets, worked on Continuous Integration(CI) infrastructure maintenance, and have made progress on the effort to cross-compile Haskell projects to Windows using Nix.
MISCELLANEOUS WORKSTREAMS
- K/IELE
Good progress on K/IELE work and we are now starting to build the internal testnet for K-EVM; greater visibility on RV work.
- Misc.
Reagan research reviewed with stakeholders and a decision to perform additional testing was agreed to reach a statistically significant result (funding proposal dependent).
Tech Support
Last week saw an increase in the number of tickets received. The tech support team received a total of 825 tickets, out of which 187 were successfully resolved and the remaining 638 are being followed up. The top reported issues were:
- Unable to connect to network
- Unable to update wallet
- Cannot sync
- Misc.