void RequestPay() { if (Initializer.Default.DefaultAccount == null) { return; } var txsetting = FiiiCoinService.Default.GetTxSettings(); if (txsetting.IsFail) { return; } if (txsetting.Value.Encrypt) { SendMsgData <InputWalletPwdPageTopic> sendMsgData = new SendMsgData <InputWalletPwdPageTopic>(); sendMsgData.Token = InputWalletPwdPageTopic.UnLockWallet; sendMsgData.SetCallBack(Request); SendMessenger(Pages.InputWalletPwdPage, sendMsgData); UpdatePage(Pages.InputWalletPwdPage); } else { Request(); } SendMessenger(Pages.ReceiveAddressPage, SendMessageTopic.Refresh); }
private bool CheckAndInputPwd() { var settingResult = OmniCoinService.Default.GetTxSettings(); if (settingResult.IsFail) { return(false); } if (!settingResult.Value.Encrypt) { return(true); } SendMsgData <InputWalletPwdPageTopic> data = new SendMsgData <InputWalletPwdPageTopic>(); data.Token = InputWalletPwdPageTopic.UnLockWallet; data.SetCallBack(() => { Export(true); OnClosePopup(); }); SendMessenger(Pages.InputWalletPwdPage, SendMessageTopic.Refresh); SendMessenger(Pages.InputWalletPwdPage, data); UpdatePage(Pages.InputWalletPwdPage); return(false); }
void UnlockWallet() { SendMsgData <InputWalletPwdPageTopic> sendMsgData = new SendMsgData <InputWalletPwdPageTopic>(); sendMsgData.Token = InputWalletPwdPageTopic.UnLockWallet; sendMsgData.SetCallBack(CreateUrl); SendMessenger(Pages.InputWalletPwdPage, SendMessageTopic.Refresh); SendMessenger(Pages.InputWalletPwdPage, sendMsgData); UpdatePage(Pages.InputWalletPwdPage); }
void OnSendSetting() { SendMsgData <ProfessionalSetting> sendMsgData = new SendMsgData <ProfessionalSetting>(); sendMsgData.Token = ProfessionalSetting.Clone(); sendMsgData.SetCallBack(() => { ProfessionalSetting = sendMsgData.Token; }); SendMessenger(Pages.SendSettingPage, sendMsgData); UpdatePage(Pages.SendSettingPage); }
void JumpToConfirmPage() { var result = FiiiCoinService.Default.EstimateTxFeeForSendMany(Initializer.Default.DefaultAccount.Address, SendItems); if (result.IsFail) { ShowMessage(result.GetErrorMsg()); return; } var feeValue = result.Value.TotalFee; SendMsgData <ConfirmSendData> data = new SendMsgData <ConfirmSendData>(); var amountAll = SendItems.Sum(x => x.Amount); ConfirmSendData sendData = new ConfirmSendData { Amount = amountAll / Math.Pow(10, 8), }; sendData.Fee = feeValue / Math.Pow(10, 8); var tags = SendItems.Select(x => { if (string.IsNullOrEmpty(x.Tag.Trim())) { return(x.Address); } else { return(x.Tag); } }); sendData.ToAddress = string.Join(";", SendItems.Select(x => x.Tag)); if (!SendItems.Any(x => x.IsContainFee)) { sendData.ArrivalAmount = sendData.Amount; } else { sendData.ArrivalAmount = (amountAll - feeValue) / Math.Pow(10, 8); } data.Token = sendData; data.SetCallBack(() => { SendDataToService(); }); SendMessenger(Pages.ConfirmSendPage, data); UpdatePage(Pages.ConfirmSendPage); }
void CheckPwd() { SendMsgData <InputWalletPwdPageTopic> data = new SendMsgData <InputWalletPwdPageTopic> { Token = InputWalletPwdPageTopic.UnLockWallet }; data.SetCallBack(JumpToConfirmPage); SendMessenger(Pages.InputWalletPwdPage, SendMessageTopic.Refresh); SendMessenger(Pages.InputWalletPwdPage, data); UpdatePage(Pages.InputWalletPwdPage); }
void ChooseAddr() { SendMsgData <AccountInfo> sendMsgData = new SendMsgData <AccountInfo>(); sendMsgData.SetCallBack(() => { if (sendMsgData.CallBackParams != null && sendMsgData.CallBackParams is AccountInfo) { Setting.ChangeAddress = (AccountInfo)sendMsgData.CallBackParams; } UpdatePage(Pages.SendSettingPage); }); UpdatePage(Pages.Choose_Change_Addr_Page); SendMessenger(Pages.Choose_Change_Addr_Page, sendMsgData); }
void ChooseUtxo() { SendMsgData <PageUnspent> sendMsgData = new SendMsgData <PageUnspent>(); sendMsgData.SetCallBack(() => { if (sendMsgData.CallBackParams != null && sendMsgData.CallBackParams is PageUnspent) { Setting.UTXO.Add((PageUnspent)sendMsgData.CallBackParams); } UpdatePage(Pages.SendSettingPage); }); UpdatePage(Pages.Choose_Utxo_Page); SendMessenger(Pages.Choose_Utxo_Page, sendMsgData); }
void OnMouseDubleClick(UrlInfo selectitem) { if (selectitem != null) { SendMsgData <TitleWithParams <string> > sendMsgData = new SendMsgData <TitleWithParams <string> >(); sendMsgData.Token = new TitleWithParams <string> { Params = selectitem.Address, Title = "ReceiveAddress" }; sendMsgData.SetCallBack(() => { UpdatePage(Pages.ReceiveAddressPage); }); SendMessenger(Pages.ImagePage, sendMsgData); UpdatePage(Pages.ImagePage); } }
void ImportWithPassword(string filePath) { SendMsgData <InputWalletPwdPageTopic> data = new SendMsgData <InputWalletPwdPageTopic>(); data.Token = InputWalletPwdPageTopic.RequestPassword; data.SetCallBack(() => { var password = ""; if (data.CallBackParams != null) { password = data.CallBackParams.ToString(); Import(filePath, password); } }); SendMessenger(Pages.InputWalletPwdPage, SendMessageTopic.Refresh); SendMessenger(Pages.InputWalletPwdPage, data); UpdatePage(Pages.InputWalletPwdPage); }
void JumpToConfirmPage() { long feeValue = 0L; if (!StaticViewModel.GlobalViewModel.IsEnableProfessional) { var result = OmniCoinService.Default.EstimateTxFeeForSendMany(Initializer.Default.DefaultAccount.Address, SendItems); if (result.IsFail) { ShowMessage(result.GetErrorMsg()); return; } feeValue = result.Value.TotalFee; } else { var professionalSetting = StaticViewModel.GlobalViewModel.ProfessionalSetting; var result = OmniCoinService.Default.EstimateRawTransaction( professionalSetting.UTXO.Select(x => new DTO.SendRawTransactionInputsIM { TxId = x.Txid, Vout = x.Vout }).ToList(), SendItems, professionalSetting.ChangeAddress.Address, Convert.ToInt64(Fee * Math.Pow(10, 8))); if (result.IsFail) { ShowMessage(result.GetErrorMsg()); return; } feeValue = result.Value.TotalFee; } SendMsgData <ConfirmSendData> data = new SendMsgData <ConfirmSendData>(); var amountAll = SendItems.Sum(x => x.Amount); ConfirmSendData sendData = new ConfirmSendData { Amount = amountAll / Math.Pow(10, 8), }; sendData.Fee = feeValue / Math.Pow(10, 8); var tags = SendItems.Select(x => { if (string.IsNullOrEmpty(x.Tag.Trim())) { return(x.Address); } else { return(x.Tag); } }); sendData.ToAddress = string.Join(";", SendItems.Select(x => x.Tag)); if (!SendItems.Any(x => x.IsContainFee)) { sendData.ArrivalAmount = sendData.Amount; } else { if (!StaticViewModel.GlobalViewModel.IsEnableProfessional) { sendData.ArrivalAmount = (amountAll - feeValue) / Math.Pow(10, 8); } else { sendData.ArrivalAmount = amountAll / Math.Pow(10, 8); } } data.Token = sendData; data.SetCallBack(() => { SendDataToService(); }); SendMessenger(Pages.ConfirmSendPage, data); UpdatePage(Pages.ConfirmSendPage); }