zec ironwood (#3425)

* initial

* wip

* ironwood detection, migration

* dev: zec address validation on rt

* fix: ironwood spend

* ironwood regressions

* fix: tx history

* bump: zkool2

* fix: tx amounts on pending
fix: ironwood pending balance
fix: orchard->ironwood migration
fix: orchard->any pre ironwood txs
fix: ironwood -> any txs
fix: WrongSpendAuthorizingKey
fix: tx history
fix: autoshield to ironwood
fix: zkool to latest version
break: my sleep schedule :sweating: :worksonmymachine:

* thx fable

* downgrade frb to 2.11.1

* fix: tx amounts in history

* Migating... / migration label for O->I txs
This commit is contained in:
cyan
2026-07-27 10:20:40 +02:00
committed by GitHub
parent b73c46ac59
commit 92c2c5e043
38 changed files with 1064 additions and 203 deletions
@@ -48,8 +48,11 @@ abstract class SendTemplateViewModelBase with Store {
amountParsingProxy: _appStore.amountParsingProxy,
);
AddressValidator get addressValidator =>
AddressValidator(type: _wallet.currency, isTestnet: _wallet.isTestnet);
AddressValidator get addressValidator => AddressValidator(
type: _wallet.currency,
isTestnet: _wallet.isTestnet,
network: _wallet.walletInfo.network,
);
TemplateValidator get templateValidator => TemplateValidator();
+9 -3
View File
@@ -190,7 +190,10 @@ abstract class SendViewModelBase extends WalletChangeListenerViewModel with Stor
// Check if the address is valid for the current currency (except for Zano, which can use handles as addresses)
if (selectedCryptoCurrency != CryptoCurrency.zano) {
final isValidAddress = AddressValidator(type: selectedCryptoCurrency).isValid(query);
final isValidAddress = AddressValidator(
type: selectedCryptoCurrency,
network: wallet.walletInfo.network,
).isValid(query);
if (isValidAddress) return null;
}
@@ -317,8 +320,11 @@ abstract class SendViewModelBase extends WalletChangeListenerViewModel with Stor
Validator<String> get allAmountValidator => AllAmountValidator();
Validator<String> get addressValidator =>
AddressValidator(type: selectedCryptoCurrency, isTestnet: wallet.isTestnet);
Validator<String> get addressValidator => AddressValidator(
type: selectedCryptoCurrency,
isTestnet: wallet.isTestnet,
network: wallet.walletInfo.network,
);
Validator<String> get textValidator => TextValidator();