-
Notifications
You must be signed in to change notification settings - Fork 2
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
Add MimbleWimble support #2
base: master
Are you sure you want to change the base?
Add MimbleWimble support #2
Commits on Mar 26, 2024
-
MimbleWimble(Tests): implement MW types
Add types needed for MimbleWimble transactions and implement serialization. Made all MimbleWimble types implement ISerializable and interface and Read static method. Reuse NBitcoin's BitcoinStream for serialization and deserialization, but don't use its IBitcoinSerializable interface because it mixes reading and writing in one method. Added new test project for MimbleWimble tests. Added test for peg-in transaction. Added property-based tests for serialization and deserilaization. Added test that deserilizes transaction generated and serialized by modified litecoin test (see [1]). Added tests for parsing peg-out transaction and MW to MW (HogEx) transaction. [1] https://github.com/litecoin-project/litecoin/blob/5ac781487cc9589131437b23c69829f04002b97e/src/libmw/test/tests/models/tx/Test_Transaction.cpp
Configuration menu - View commit details
-
Copy full SHA for 5f5e144 - Browse repository at this point
Copy the full SHA 5f5e144View commit details -
MimbleWimble: started implementing MW tx creation
Add NBitcoin.Secp256k1 library because it has Schnorr signature. As the library requires .netstandard 2.1, make NLitecoin target it instead of 2.0.
Configuration menu - View commit details
-
Copy full SHA for 9b278b1 - Browse repository at this point
Copy the full SHA 9b278b1View commit details -
MimbleWimble(Tests): implement range proofs
Implement construction of range proofs. Added a new test project that does differential tests for zero-knowledge proof components that uses Secp256k1-ZKP.Net library (libsecp256k1 wrapper) as reference. Use Assert.Inconclusive if function is missing in libsecp256k1 on current platform.
Configuration menu - View commit details
-
Copy full SHA for 5bda392 - Browse repository at this point
Copy the full SHA 5bda392View commit details -
MimbleWimble(Tests): implement tx builder
Implement transaction builder and add tests for it.
Configuration menu - View commit details
-
Copy full SHA for b3fe955 - Browse repository at this point
Copy the full SHA b3fe955View commit details -
MimbleWimble(Tests): implement Wallet
Added Wallet type, which is responsible for key derivation, rewinding of transaction outputs, and storage of rewound outputs (coins), as well as creating transactions using our keychain and spendable coins.
Configuration menu - View commit details
-
Copy full SHA for 8b80373 - Browse repository at this point
Copy the full SHA 8b80373View commit details -
MimbleWimble(Tests): test key derivation
Ported test for key derivation and stealth address generation using KeyChain. Minor code style improvements.
Configuration menu - View commit details
-
Copy full SHA for ffd3763 - Browse repository at this point
Copy the full SHA ffd3763View commit details -
MimbleWimble: fixes in Wallet and Tx builder
Fixes in Wallet and TransactionBuilder mostly related to public/private spend keys.
Configuration menu - View commit details
-
Copy full SHA for 170593a - Browse repository at this point
Copy the full SHA 170593aView commit details -
MimbleWimble.Tests: added test for Wallet
Added integration test for Wallet.
Configuration menu - View commit details
-
Copy full SHA for b6d7358 - Browse repository at this point
Copy the full SHA b6d7358View commit details -
Nlitecoin: update NBitcoin to 7.0.13
Update NBitcoin to version 7.0.13 because older NBitcoin versions can't decode bech32 strings of length > 90, which is needed for MimbleWimble address decoding.
Configuration menu - View commit details
-
Copy full SHA for a7f9adf - Browse repository at this point
Copy the full SHA a7f9adfView commit details -
MimbleWimble(Tests): implemented MW address decoding
Implemented decoding of MimbleWimble stealth addresses. Added test.
Configuration menu - View commit details
-
Copy full SHA for df23894 - Browse repository at this point
Copy the full SHA df23894View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e74020 - Browse repository at this point
Copy the full SHA 4e74020View commit details -
MimbleWimble: implement readonly keychain
Implement "read-only" keychain, that allows for balance to be checked without knowledge of wallet's seed (which would allow for spending funds), only with private scan key and public spend keys.
Configuration menu - View commit details
-
Copy full SHA for 4e5edea - Browse repository at this point
Copy the full SHA 4e5edeaView commit details -
MimbleWimble(Tests): addressed comments
Addressed code review comments. Added latest Fsdk package in order to use BetterAssert function.
Configuration menu - View commit details
-
Copy full SHA for af48f95 - Browse repository at this point
Copy the full SHA af48f95View commit details -
NLitecoin,MimbleWimble(Tests): handle HogEx Txs
Fixed transaction deserialization so that it now handles HogEx transactions, which have mweb extension flag but don't contain MW transaction. Added test for this case.
Configuration menu - View commit details
-
Copy full SHA for 9246218 - Browse repository at this point
Copy the full SHA 9246218View commit details