LedgerHQ / app-monero

Monero wallet application for Ledger Nano S & X
Apache License 2.0
273 stars 101 forks source link

Add support of CLSAG signature algorithm #80

Closed grydz closed 4 years ago

grydz commented 4 years ago

The Monero blockchain will change the signature algorithm from MLSAG to CLSAG in the next hardforks (v13 and v14). This PR adds necessary changes in the Monero app to interact with the future release of the Monero client 0.17.0.0:

selsta commented 4 years ago

Any estimate when CLSAG / v0.17 supporting version will be released? We plan to release v0.17 on 2020-09-17, it would be good to have the update available until then.

selsta commented 4 years ago

ping @grydz, when will the app be available? We will release v0.17 today.

FabriceDautriat commented 4 years ago

@selsta The Monero-dev app is available once you enable the developer mode in Ledger Live settings.

The version of the app is v1.7.0.

image

As soon as the Monero GUI is released (based on 0.17), the public Monero app will be updated to 1.7.0.

Please make sure to ping me when it's the case 🙏

selsta commented 4 years ago

Thank you for the update, I will comment once the GUI is released :)

selsta commented 4 years ago

FWIW I tested it on testnet and it did not seem to work.

[wallet 9tEZdz]: transfer 9tRKWiE3nuo5izj2FUZuAVeVpCdbT1j3i8YKMCWShip5aFsa5As12S42UrcPwYtKHDKxBF3jcjh8CYE8VkrHgpncEDqDxw5 0.5
Wallet password: 

Transaction 1/1:
Spending from address index 0
Sending 0.500000000000.  The transaction fee is 0.000031710000

Is this okay?  (Y/Yes/N/No): y
Error: transaction <43edfe6407ffe442d6cbfaa3a0b8ffb3d47b2f53cfaaa4ab63d8dcfe0c258d43> was rejected by daemon
Error: Reason: invalid input

On the daemon side:

2020-09-18 12:11:05.015 D Using 0.000000021939/byte fee
2020-09-18 12:11:05.015 D Mixin: 10-10
2020-09-18 12:11:05.016 D Device 0 Created
2020-09-18 12:11:05.025 I verRctMGSimple/verRctCLSAGSimple failed for input 0
2020-09-18 12:11:05.025 E Failed to check ringct signatures!
2020-09-18 12:11:05.026 I tx used wrong inputs, rejected
2020-09-18 12:11:05.026 E Transaction verification failed: <96c5d81bb05796fd2a5f26ef0301bcd7e3042cbb2cdc5321d660a2a9e1db573d>
2020-09-18 12:11:05.026 W [on_send_raw_tx]: tx verification failed: invalid input

Will test on stagenet now.

selsta commented 4 years ago

Stagenet and mainnet still seem to work fine so there is a bit of time (until 2020-10-17) to get this issue resolved.

FabriceDautriat commented 4 years ago

@grydz can you please take a look ?

grydz commented 4 years ago

Monero application 1.7.1 is available in developer mode and should fix the problem.

grydz commented 4 years ago

Well, Monero application 1.7.2 should fix the problem!

selsta commented 4 years ago

@grydz v0.17 GUI is now released.

grydz commented 4 years ago

@grydz v0.17 GUI is now released.

Alright, I'm merging the PR.