ArkEcosystemArchive / cpp-crypto

A simple Cryptography Implementation in C++ for the Ark Blockchain.
MIT License
13 stars 10 forks source link

feat: implement AIP 11 #198

Closed sleepdefic1t closed 4 years ago

sleepdefic1t commented 4 years ago

Summary

Implement AIP-11 Support.

Resolves #7 and #90.

Checklist

Additional Comments

Breaking changes:

codecov[bot] commented 4 years ago

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@56f3317). Click here to learn what that means. The diff coverage is 100%.

Impacted file tree graph

@@           Coverage Diff            @@
##             develop   #198   +/-   ##
========================================
  Coverage           ?   100%           
========================================
  Files              ?     61           
  Lines              ?   1181           
  Branches           ?      0           
========================================
  Hits               ?   1181           
  Misses             ?      0           
  Partials           ?      0
Impacted Files Coverage Δ
src/transactions/types/htlc_refund.hpp 100% <ø> (ø)
src/transactions/types/multi_payment.hpp 100% <ø> (ø)
src/transactions/types/multi_payment.cpp 100% <ø> (ø)
src/transactions/types/htlc_lock.cpp 100% <ø> (ø)
src/transactions/types/second_signature.cpp 100% <ø> (ø)
src/transactions/types/delegate_registration.cpp 100% <ø> (ø)
src/transactions/defaults/fees.hpp 100% <ø> (ø)
src/transactions/types/htlc_claim.hpp 100% <ø> (ø)
src/transactions/types/ipfs.cpp 100% <ø> (ø)
src/transactions/types/vote.cpp 100% <ø> (ø)
... and 29 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 56f3317...5cad795. Read the comment docs.

sleepdefic1t commented 4 years ago

@vasild On the previous discussion..

I agree, if it can’t serde, it’s not a good candidate for support.

It’s not so much a matter of whether a platform can support serde though;
 I’m more concerned with the space unit tests and fixtures take up.

The library itself doesn't take up much space and is fairly well-oriented towards embedded.
 I can sign a Tx on 8-bit platforms (Uno); it’s slow, but works. 
Adding multiple fixtures exceeds the available space though.

I’d like to eventually find a way of optimizing such that storage is improved, but testability isn’t affected.

@ciband has helped improve this situation by breaking up tests so that different aspects can be tested independently. I think this should be good enough in the mean time.



I’m leaving this out of the AIP11 feature as it’s not directly concerned with the scope here, but will continue looking at the issue separately 👍