Пример #1
0
        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);
        }
Пример #2
0
        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);
        }