private (string entropy, string seedHex, string mnemonic) TestVector(string description, BIP39Wordlist wordlist, string password,
                                                                             string entropy, string mnemonic, string seedHex)
        {
            var bip39          = new BIP39();
            var entropyResult  = bip39.MnemonicToEntropy(mnemonic, wordlist);
            var seedResult     = bip39.MnemonicToSeedHex(mnemonic, password);
            var mnemonicResult = bip39.EntropyToMnemonic(entropy, wordlist);

            return(entropyResult, seedResult, mnemonicResult);
        }
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            BIP39 bip39      = new BIP39();
            var   privateKey = App.Store.State.wallet.PrivateKey;
            var   pvkBin     = Base58Encoding.DecodePrivateKey(privateKey);
            var   pkv        = ByteArrayToString(pvkBin);
            var   mnu        = bip39.EntropyToMnemonic(pkv, BIP39Wordlist.English);

            var words = mnu.Trim().Split(' ');

            // create grid
            for (var i = 0; i < words.Length; i++)
            {
                var tblock = new TextBlock();

                var run1 = new Windows.UI.Xaml.Documents.Run {
                    Text = $"{i + 1}  "
                };
                run1.FontSize = 12;
                tblock.Inlines.Add(run1);

                var run2 = new Windows.UI.Xaml.Documents.Run {
                    Text = $"{words[i]}"
                };
                run2.FontSize   = 24;
                run2.FontWeight = FontWeights.Bold;
                tblock.Inlines.Add(run2);

                tblock.Padding = new Thickness(5);

                if (i < 12)
                {
                    var rd = new RowDefinition {
                        Height = new GridLength((double)42)
                    };
                    wordsGrid.RowDefinitions.Add(rd);
                }

                wordsGrid.Children.Add(tblock);
                Grid.SetRow(tblock, i % 12);
                Grid.SetColumn(tblock, i / 12);
            }
        }