Commit Graph

1368 Commits (xmr-adaptor-signatures-publish-on-testnet)
 

Author SHA1 Message Date
Daniel Karzel d3e5bdcb59
Spend from wallet that does not pick up transactions
The code on this branch was used to publish a transaction that spends from a wallet that was created during a swap using `generate_from_keys` but did not pick up the lock transaction of the swap correctly. The transaction could be decoded properly with the view-key, so for now we assume there must be a problem in the `monero-wallet-rpc` when handling certain wallets. Further investigation is needed to reproduce this problem.
This branch was used to spend them the lock transaction, to validate that the transaction can be spent. This was successfully achieved, however, the spending transaction that was published is unfortunately faulty (there is a problem with the outputs). The monero daemon accepted and included the transaction, but the monero wallet (through `monero-wallet-rpc`) is unable to process the transaction properly.

Original Monero Stagenet lock transaction ID: `09e361acb3e6e71d627a945a30672776a6f8fec7c97f4cae5e09b0780b75c158`
Stagenet Transaction ID that spends from the lock tx (the tx published through the integration test on this branch): `f111e906fd4ea3c25ae34d5c8ec68342bbed258c546ce74a839e14f34b591641`
3 years ago
Thomas Eizinger 60de1846c9
Make adaptor signature protocol pass 3 years ago
Thomas Eizinger 0c0acaad9e
Restructure workspace so monero-adaptor only contains the protocol 3 years ago
Thomas Eizinger 1447242fa6
Make use of serde-with for monero-rpc 3 years ago
Thomas Eizinger ec1916161e
Update to latest monero-rs 3 years ago
Thomas Eizinger 642f1d8318
Update Rust toolchain to get cargo fmt back 3 years ago
Thomas Eizinger 07dd12abf6
Add more error cases 3 years ago
Thomas Eizinger 949dbcaed2
Less mutation, more expressions 3 years ago
Thomas Eizinger 25c4a5a9b9
Sketch initial type-level state machine for signing Monero transactions 3 years ago
Thomas Eizinger 702e1767c7
Update to latest monero-rs 3 years ago
Thomas Eizinger 1af0116cac
Appease clippy 3 years ago
Thomas Eizinger e35e5c7939
Update to latest monero-rs version 3 years ago
Thomas Eizinger d1b00f6ee2
Answer TODO 3 years ago
Thomas Eizinger 19efd376da
Introduce `ConfidentialTransactionBuilder` 3 years ago
Thomas Eizinger 3f0f97b9ba
Use correct amount in EcdhInfo 3 years ago
Thomas Eizinger 523ee6088c
Extract blinding factor and key recovery into functions on `Transaction` 3 years ago
Thomas Eizinger 91f54bf6b5
Use upstreamed functionality for clsag and signature hash 3 years ago
Thomas Eizinger 04e7d1c111
Use `recover_key` function to compute actual signing key 3 years ago
Thomas Eizinger 507e2670ac
Change sign API back to taking signing key separately 3 years ago
Thomas Eizinger 7d3633e3ac
WIP sign2 3 years ago
Thomas Eizinger ced4daedf9
Test sign and verify clsag for every index 3 years ago
Thomas Eizinger e63ced6a22
Print C++ test code in static-assert test 3 years ago
Thomas Eizinger de1830f825
Add TODO to be resolved 3 years ago
Thomas Eizinger 558cc3492a
Use key-image variable 3 years ago
Thomas Eizinger 6b026efc7a
Compute actual_signing_key as early as possible 3 years ago
Thomas Eizinger 0a04b9a55c
Fix unit tests to not pass zero `z` 3 years ago
Lucas Soriano del Pino 83042c4148
OMG Monero transactions!!!!!!!! 3 years ago
Lucas Soriano del Pino 56128bb3a8
Some fixes
- Use correct key image for both signing and constructing transaction.
- Sort ring and commitment ring according to key offset order.
- Given the new order of items in the ring, allow asigning index
  values different to 0. This breaks signature verification, both
  locally and against Monero!
3 years ago
Thomas Eizinger 1e973e5bbd
Rewrite verify to use izip! 3 years ago
Thomas Eizinger 2c6e917554
Compute message to be signed differently 3 years ago
Thomas Eizinger 370718ab66
Put correct key-image into transaction prefix 3 years ago
Thomas Eizinger fd783846cf
Don't spend anything in the last 100 blocks 3 years ago
Thomas Eizinger 58074fc083
ONLY PARTIALLY WORKING: Allow signing algorithm to be given signing key index
At the moment this works only if the index is 0.
3 years ago
Thomas Eizinger 3d9aee932c
Remove Ring datatype
We no longer need it now that we do this within hash_to_scalar
3 years ago
Thomas Eizinger 16d7094df0
Fix signature creation to output correct h_0 and s_0 3 years ago
Thomas Eizinger e5b59ee67e
Make it typesafe to hash only slices of 32 bytes 3 years ago
Lucas Soriano del Pino 32cb801fc7
Add 0 bytes to end of domain tags (and other debugging) 3 years ago
Thomas Eizinger 7f2bc9d0bf
Use clsag module in integration test 3 years ago
Thomas Eizinger 08e591f54c
IT WORKS 3 years ago
Thomas Eizinger ddddc4d1ac
Move code so it stays with the pre-computed things 3 years ago
Thomas Eizinger fbf9d456ae
Use a closure to not duplicate the common parts of ring element 3 years ago
Thomas Eizinger c0f4b566c4
Impl Sub for Ring to pre-compute adjusted commitment ring 3 years ago
Thomas Eizinger 5342eb5564
Make Ring an implementation detail of clsag 3 years ago
Thomas Eizinger c6b36449dc
Deconstruct signature in parameter
This removes the intermediary variable I.
3 years ago
Thomas Eizinger 87ca636ddb
Use Cow to compress EdwardsPoint on the fly in hash function
This allows us to pass EdwardsPoint to hash_to_scalar without compressing
them a priori. As a result, we can remove a bunch of intermediary variables.
3 years ago
Thomas Eizinger 06f1ada2b1
Import tiny_keccak inside hash function 3 years ago
Thomas Eizinger bf8bc68816
Inline AggregationHashes 3 years ago
Thomas Eizinger e62c67753a
Inline clsag_round_hash_prefix fn 3 years ago
Thomas Eizinger 52939ad217
Redesign macro to use || as separator 3 years ago
Thomas Eizinger cf32828739
Make hash_to_scalar a macro so we can pass different types 3 years ago