stratisproject / StratisBitcoinFullNode

Bitcoin full node in C#
https://stratisplatform.com
MIT License
788 stars 312 forks source link

'Source array was not long enough' during Sratis to Strax swap with Ledger Nano S #4227

Open Schoekli opened 3 years ago

Schoekli commented 3 years ago

Use-Case

I tried to swap Stratis coins to Strax via 'Address Ownership Tool 1.2.0.0' (Win 64 Bit) from 'Ledger Nano S' (Firmware 2.0.0, Stratis app 1.6.0) to 'Strax Wallet' 1.2.0.

Steps to reproduce:

  1. I entered AddressOwnershipTool.exe -ledger -destination=XYDN... into CMD -> Scanning was successful and balance found. And message 'Please confirm transaction on your ledger device.' was shown in CMD.
  2. I confirmed signing message (4 pages) on Ledger Nano S
  3. Received exception in CMD Unhandled Exception: System.ArgumentException: Source array was not long enough. Check the source index, length, and the array's lower bounds. Parameter name: sourceArray at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable) at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length) at AddressOwnershipTool.LedgerService.GetSignature(String address, Byte[] resp, PubKey pubKey) in C:\release\3.0.8.0\src\AddressOwnershipTool\LedgerService.cs:line 161 at AddressOwnershipTool.LedgerService.ProcessAddressAsync(LedgerClient ledger, String keyPath, Boolean ignoreBalance, String destinationAddress) in C:\release\3.0.8.0\src\AddressOwnershipTool\LedgerService.cs:line 111 at AddressOwnershipTool.LedgerService.ExportAddressesAsync(Int32 numberOfAddressesToScan, String destinationAddress, Boolean ignoreBalance, String keyPath) in C:\release\3.0.8.0\src\AddressOwnershipTool\LedgerService.cs:line 50 at AddressOwnershipTool.Program.Main(String[] args) in C:\release\3.0.8.0\src\AddressOwnershipTool\Program.cs:line 137 at AddressOwnershipTool.Program.<Main>(String[] args)

I already checked in internet whether Ledger Nano S has some limitations/bugs here. But didn't find anything.

Is there a possibility to add a param to the command so that it is visible what source array is received?

StratisIain commented 3 years ago

Hi @Schoekli

Apologies for the delay in getting back to you on this. Please could you try using the latest pre-release that addresses this issue.

https://github.com/stratisproject/StratisBitcoinFullNode/releases/tag/1.2.3.0

Would be great to hear of your progress and confirmation of your success.

Schoekli commented 3 years ago

Hi @StratisIain

thank you very much. With latest release 1.2.3.0 the tool "Finished" succesfully (at least without any exception on CLI).

CSV file was created and I uploaded it to https://www.stratisplatform.com/strax-token-swap-process-form/.

Now I have to wait if swap was successful. If I get confirmation I will add additional comment here so that you know that the tool created correct result.

Thanks!!!

StratisIain commented 3 years ago

Hi @Schoekli

A distribution has now taken place, meaning that your token swap request should have been processed. If it has not, please consider that token swap requests are not overwritten. i.e. If L-123.CSV is uploaded two days ago, L-123.CSV uploaded today would be ignored.

Would appreciate your confirmation of token swap success.

Thanks!

Schoekli commented 3 years ago

Hi @StratisIain

what is the next step after upload? How can I check whether swap was successful?

At https://www.stratisplatform.com/wp-content/uploads/2021/02/STRAX-Token-Swap-Manual-Token-Swap-Windows-v2.pdf I can't find further infos.