Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Technical Debts from v0.0.1 #94

Closed
KtorZ opened this issue Mar 20, 2019 · 4 comments
Closed

Technical Debts from v0.0.1 #94

KtorZ opened this issue Mar 20, 2019 · 4 comments
Assignees

Comments

@KtorZ
Copy link
Member

KtorZ commented Mar 20, 2019

Context

During the development of v0.0.1, we have accumulated some technical debts we may get rid of while getting started with this next release.

Poor README

Module Comments PR
- Our README is quite poor in information and it would be worth adding some basics stuff to it. That's a point Johannes already raised on the legacy repository actually. We could add at least:
- Basic Overview / Goal
- Build & Tests instructions
- A link to the wiki
- Link to the generated Haddock documentation
- Link to the API documentation
#98

Areas missing testing:

Module Comments PR
Cardano.DBLayer & Cardano.DBLayer.MVar - Pretty much all function
-readCheckpoints in particular (tested manually during profiling)
#88
Cardano.NetworkLayer -listen (tested manually during profiling) #115
Cardano.NetworkLayer.HttpBridge - Error cases from convertError Won't Cover - Testing in the http bridge is good enough at the moment, let's not spend too much time either on a component that is temporary.
Cardano.Wallet - Wallet metadata manipulation
-currentTip (tested manually during profiling)
N/A anymore (tackled by other tickets)
Cardano.Wallet.AddressDerivation - Overflow on address indexes
Cardano.Wallet.AddressDiscovery - Overflow on address indexes during pool extension
- IsOurs & isOurs
Cardano.Wallet.Binary - Decoding EBB (discarded by network layer)
- Invalid constructors in block representations
- Decoding redeem addresses & witnesses (?)
Cardano.Wallet.Binary.Packfile - Some error paths (VersionTooOld & BlobDecodeError with unconsumed data) #98
Cardano.Wallet.Mnemonic - Error cases in mkMnemonic
- Error cases in genEntropy
#106
Cardano.Wallet.Primitive - Arithmetic overflow on SlotId #126

Unused code

Module Comments PR
Cardano.Wallet.AddressDiscovery - Manual semigroup instance on AddressPool #120
Cardano.WalletLayer - Debug printInfo function in the implementation of watchWallet #115
Servant.Extra.ContentTypes - WithHash & Hash "Blockheader" in the Cardano.NetworkLayer.HttpBridge #86

Integration framework

Module Comments PR
Test.Integration.Framework ability to explicitly set request headers in order to verify destructive scenarios #122
Test.Integration.Framework ability to construct and send non-valid JSON request body in order to test destructive scenarios #131

Decision

From the various points stated above, evaluate whether they are relevant and, fix them when they are, or leave an appropriate comment in the code giving details or insight about the decision.

Acceptance Criteria

  1. We must have looked into the various points above, and either tackled them or discarded them with a proper justification.

QA

@paweljakubas
Copy link
Contributor

I am taking Cardano.NetworkLayer.HttpBridge - Error cases from convertError

@KtorZ
Copy link
Member Author

KtorZ commented Mar 22, 2019

I'll look into removing unused code from the WalletLayer & testing the listen and watchWallet functions through integration tests.

@KtorZ
Copy link
Member Author

KtorZ commented Mar 27, 2019

Looking into quickly adding tests for the overflow cases.

@KtorZ
Copy link
Member Author

KtorZ commented Apr 2, 2019

Closing as discussed. We'll open a new ticket for the next iteration with new debts.

@KtorZ KtorZ closed this as completed Apr 2, 2019
@KtorZ KtorZ mentioned this issue May 6, 2019
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants