public string SerailizeUnsignedTxResult(UnsignTransactionResult txInfo) { var joint = new UnsignedTxJoint { OperationId = txInfo.OperationId, TransactionHex = txInfo.Transaction.ToHex(), ToSpentCoins = txInfo.ToSpentCoins }; var json = Serializer.ToString(joint); var result = CryptHelper.AESEncryptText(json, EncryptUnsignedTxKey); return(result); }
public MnemonicResult CreateWallet(string password) { var result = KeyOperator.Instance.CreateMnemonicRoot(password); var mnemonic = string.Join(" ", result.MnemonicWords); var wallet = new WalletInfo { Id = Guid.NewGuid().ToString("N"), WalletName = "Wallet_" + DateTime.Now.ToString("yyyyMMddHHmm"), Password = MD5Helper.ToMD5(password), MnemonicWords = CryptHelper.AESEncryptText(mnemonic, password) }; var rootAddress = new AddressInfo { Id = Guid.NewGuid().ToString("N"), Address = result.RootAddress, ExtPubKeyWif = result.RootExtPubKeyWif, WalletId = wallet.Id, Network = result.Network, KeyPath = null, AddressType = (long)CustomAddressType.Root, AddressCategory = (long)AddressCategory.Default, Name = "Coinbase" }; WalletDao.Create(wallet); AddressDao.Create(rootAddress); GlobalWallet.Set(new ActiveWallet { Id = wallet.Id, Name = wallet.WalletName, RootXPrivKey = result.RootExtPrivKeyWif, RootXPubKey = result.RootExtPubKeyWif }); return(result); }