nblockchain / geewallet

geewallet is a non-custodial, minimalistic & pragmatist opensource crossplatform lightweight brainwallet to hold the most important cryptoassets in the same application with ease & peace of mind
MIT License
61 stars 37 forks source link

NRE happened during cold-storage workflow #242

Closed knocte closed 8 months ago

knocte commented 9 months ago

Created unsigned.json from version 0.5.405.0 (master - 0e07773b4109e21190fbe2920efde9242100daf8) on macOS, and it starts with:

{
  "Version": "0.5.405.0",
  "TypeName": "GWallet.Backend.UnsignedTransaction`1[[GWallet.Backend.UtxoCoin.TransactionMetadata, GWallet.Backend, Version=0.5.405.0, Culture=neutral, PublicKeyToken=null]]",
  "Value": {
...

Then signed with version 0.4.403.0 (stable - b72581e001) on Windows, and signed.json starts with:


  "Version": "1.0.0.0",
  "TypeName": "GWallet.Backend.SignedTransaction`1[[GWallet.Backend.UtxoCoin.TransactionMetadata, GWallet.Backend, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]",
  "Value": {
...

Then when trying to broadcast it in 0.5.405.0 again, it crashed with:

Introduce a file name to load the signed transaction: rebS.json
System.NullReferenceException: Object reference not set to an instance of an object.
   at GWallet.Backend.Account.ImportSignedTransactionFromJson(String jsonOrCompressedJson) in /Users/knocte/Documents/Code/geewalletMASTERclean/src/GWallet.Backend/Account.fs:line 724
   at GWallet.Backend.Account.LoadSignedTransactionFromFile(String filePath) in /Users/knocte/Documents/Code/geewalletMASTERclean/src/GWallet.Backend/Account.fs:line 764
   at Program.BroadcastPayment() in /Users/knocte/Documents/Code/geewalletMASTERclean/src/GWallet.Frontend.Console/Program.fs:line 62
   at Program.PerformOperation(UInt32 numActiveAccounts, UInt32 numHotAccounts) in /Users/knocte/Documents/Code/geewalletMASTERclean/src/GWallet.Frontend.Console/Program.fs:line 398
   at Program.ProgramMainLoop[a]() in /Users/knocte/Documents/Code/geewalletMASTERclean/src/GWallet.Frontend.Console/Program.fs:line 478
   at Program.NormalStartWithNoParameters() in /Users/knocte/Documents/Code/geewalletMASTERclean/src/GWallet.Frontend.Console/Program.fs:line 490

However, trying broadcast with version 0.4.407.0 (stable - 2abf306765219eb2cac2ea5ecc96a50a35c4e54c) it worked.