public PasswordSection( PlayerPrefPasswordDerivation playerPrefPasswordDerivation, UserWalletManager userWalletManager, HopeWalletInfoManager hopeWalletInfoManager, DynamicDataCache dynamicDataCache, SettingsPopupAnimator settingsPopupAnimator, HopeInputField newPasswordField, HopeInputField confirmPasswordField, Button saveButton, GameObject loadingIcon) { this.playerPrefPasswordDerivation = playerPrefPasswordDerivation; this.hopeWalletInfoManager = hopeWalletInfoManager; this.dynamicDataCache = dynamicDataCache; this.settingsPopupAnimator = settingsPopupAnimator; this.newPasswordField = newPasswordField; this.confirmPasswordField = confirmPasswordField; this.saveButton = saveButton; this.loadingIcon = loadingIcon; walletEncryptor = new WalletEncryptor(playerPrefPasswordDerivation, dynamicDataCache); walletDecryptor = new WalletDecryptor(playerPrefPasswordDerivation, dynamicDataCache); walletInfo = hopeWalletInfoManager.GetWalletInfo(userWalletManager.GetWalletAddress()); newPasswordField.OnInputUpdated += _ => PasswordsUpdated(); confirmPasswordField.OnInputUpdated += _ => PasswordsUpdated(); saveButton.onClick.AddListener(SavePasswordButtonClicked); }
/// <summary> /// Initializes the WalletUnlocker with all required references. /// </summary> /// <param name="popupManager"> The active PopupManager. </param> /// <param name="playerPrefPassword"> The PlayerPrefPassword used to encrypt the wallet. </param> /// <param name="dynamicDataCache"> The active DynamicDataCache. </param> /// <param name="hopeWalletInfoManager"> The active HopeWalletInfoManager. </param> public WalletUnlocker( PopupManager popupManager, PlayerPrefPasswordDerivation playerPrefPassword, DynamicDataCache dynamicDataCache, HopeWalletInfoManager hopeWalletInfoManager) : base(popupManager, playerPrefPassword, dynamicDataCache, hopeWalletInfoManager) { walletDecryptor = new WalletDecryptor(playerPrefPassword, dynamicDataCache); }
/// <summary> /// Initializes the <see cref="WalletTransactionSigner"/> by assigning all references. /// </summary> /// <param name="playerPrefPassword"> The <see cref="PlayerPrefPasswordDerivation"/> instance to assign to the <see cref="WalletDecryptor"/>. </param> /// <param name="dynamicDataCache"> The active <see cref="DynamicDataCache"/> to assign to the <see cref="WalletDecryptor"/>. </param> /// <param name="ethereumNetworkManager"> The active <see cref="EthereumNetworkManager"/>. </param> /// <param name="passwordEncryptor"> The <see cref="MemoryEncryptor"/> instance used to encrypt the password. </param> /// <param name="hopeWalletInfoManager"> The active <see cref="HopeWalletInfoManager"/>. </param> public WalletTransactionSigner( PlayerPrefPasswordDerivation playerPrefPassword, DynamicDataCache dynamicDataCache, EthereumNetworkManager ethereumNetworkManager, MemoryEncryptor passwordEncryptor, HopeWalletInfoManager hopeWalletInfoManager) { this.ethereumNetworkManager = ethereumNetworkManager; this.passwordEncryptor = passwordEncryptor; this.hopeWalletInfoManager = hopeWalletInfoManager; walletDecryptor = new WalletDecryptor(playerPrefPassword, dynamicDataCache); }