diff --git a/doc/wallet/transaction/basic-transaction-wf.png b/doc/wallet/transaction/basic-transaction-wf.png index acb15283..ca3b9c75 100644 Binary files a/doc/wallet/transaction/basic-transaction-wf.png and b/doc/wallet/transaction/basic-transaction-wf.png differ diff --git a/doc/wallet/transaction/basic-transaction-wf.puml b/doc/wallet/transaction/basic-transaction-wf.puml index 56447c30..df66753f 100644 --- a/doc/wallet/transaction/basic-transaction-wf.puml +++ b/doc/wallet/transaction/basic-transaction-wf.puml @@ -43,7 +43,7 @@ note right of recipient 4: Calculate message **M** = **fee | lock_height ** 5: Choose random nonce **kR** (private scalar) 6: Multiply **xR** and **kR** by generator G to create public curve points **xRG** and **kRG** - 7: Compute Schnorr challenge **e** = Blake2(**M** | **kRG** + **kSG**) + 7: Compute Schnorr challenge **e** = SHA256(**M** | **kRG** + **kSG**) 8: Compute Recipient Schnorr signature **sR** = **kR** + **e** * **xR** 9: Add **sR, xRG, kRG** to **Slate** 10: Create wallet output function **rF** that stores **receiver_output** in wallet with status "Unconfirmed" @@ -60,7 +60,7 @@ end == Finalize Transaction == note left of sender 1: Calculate message **M** = **fee | lock_height ** - 2: Compute Schnorr challenge **e** = Blake2(**M** | **kRG** + **kSG**) + 2: Compute Schnorr challenge **e** = SHA256(**M** | **kRG** + **kSG**) 3: Verify **sR** by verifying **kRG** + **e** * **xRG** = **sRG** 4: Compute Sender Schnorr signature **sS** = **kS** + **e** * **xS** 5: Calculate final signature **s** = (**sS**+**sR**, **kSG**+**kRG**) diff --git a/doc/wallet/usage.md b/doc/wallet/usage.md index 899fbe1c..ef953fb9 100644 --- a/doc/wallet/usage.md +++ b/doc/wallet/usage.md @@ -258,3 +258,18 @@ output would have been deleted, and any outputs that were locked for the transac Be sure to use this command with caution, as there are many edge cases and possible attacks that still need to be dealt with, particularly if you're the recipient of a transaction. For the time being please be 100% certain that the relevant transaction is never, ever going to be posted before running `grin wallet cancel` + +##### restore + +**NB the wallet restore command still needs some development work.. you may have issues with a restored wallet for the time being. If you're just trying, +to unlock outputs locked by failed test transactions, use the `cancel` command above** + +It is possible to restore a wallet from nothing but the seed file. To do this, ensure you're in an empty directory with nothing but the wallet seed file, +(and not mining into it with your grin node) and run the command: + +``` +grin wallet restore +``` + +Note this operation can potentially take a long time. (More detail will be filled in about this operation after further development). +