part of 'bitcoin.dart'; class CWBitcoin extends Bitcoin { @override TransactionPriority getMediumTransactionPriority() => BitcoinTransactionPriority.medium; @override WalletCredentials createBitcoinRestoreWalletFromSeedCredentials({String name, String mnemonic, String password}) => BitcoinRestoreWalletFromSeedCredentials(name: name, mnemonic: mnemonic, password: password); @override WalletCredentials createBitcoinRestoreWalletFromWIFCredentials({String name, String password, String wif, WalletInfo walletInfo}) => BitcoinRestoreWalletFromWIFCredentials(name: name, password: password, wif: wif, walletInfo: walletInfo); @override WalletCredentials createBitcoinNewWalletCredentials({String name, WalletInfo walletInfo}) => BitcoinNewWalletCredentials(name: name, walletInfo: walletInfo); @override List getWordList() => wordlist; @override Map getWalletKeys(Object wallet) { final bitcoinWallet = wallet as BitcoinWallet; final keys = bitcoinWallet.keys; return { 'wif': keys.wif, 'privateKey': keys.privateKey, 'publicKey': keys.publicKey }; } @override List getTransactionPriorities() => BitcoinTransactionPriority.all; @override TransactionPriority deserializeBitcoinTransactionPriority(int raw) => BitcoinTransactionPriority.deserialize(raw: raw); @override int getFeeRate(Object wallet, TransactionPriority priority) { final bitcoinWallet = wallet as BitcoinWallet; return bitcoinWallet.feeRate(priority); } @override Future generateNewAddress(Object wallet) async { final bitcoinWallet = wallet as BitcoinWallet; await bitcoinWallet.walletAddresses.generateNewAddress(); } @override Future nextAddress(Object wallet) { final bitcoinWallet = wallet as BitcoinWallet; bitcoinWallet.walletAddresses.nextAddress(); } @override Object createBitcoinTransactionCredentials(List outputs, TransactionPriority priority) => BitcoinTransactionCredentials( outputs.map((out) => OutputInfo( fiatAmount: out.fiatAmount, cryptoAmount: out.cryptoAmount, address: out.address, note: out.note, sendAll: out.sendAll, extractedAddress: out.extractedAddress, isParsedAddress: out.isParsedAddress, formattedCryptoAmount: out.formattedCryptoAmount)) .toList(), priority as BitcoinTransactionPriority); @override List getAddresses(Object wallet) { final bitcoinWallet = wallet as BitcoinWallet; return bitcoinWallet.walletAddresses.addresses .map((BitcoinAddressRecord addr) => addr.address) .toList(); } @override String getAddress(Object wallet) { final bitcoinWallet = wallet as BitcoinWallet; return bitcoinWallet.walletAddresses.address; } @override String formatterBitcoinAmountToString({int amount}) => bitcoinAmountToString(amount: amount); @override double formatterBitcoinAmountToDouble({int amount}) => bitcoinAmountToDouble(amount: amount); @override int formatterStringDoubleToBitcoinAmount(String amount) => stringDoubleToBitcoinAmount(amount); @override List getUnspents(Object wallet) { final bitcoinWallet = wallet as BitcoinWallet; return bitcoinWallet.unspentCoins .map((BitcoinUnspent bitcoinUnspent) => Unspent( bitcoinUnspent.address.address, bitcoinUnspent.hash, bitcoinUnspent.value, bitcoinUnspent.vout)) .toList(); } void updateUnspents(Object wallet) async { final bitcoinWallet = wallet as BitcoinWallet; await bitcoinWallet.updateUnspent(); } WalletService createBitcoinWalletService(Box walletInfoSource, Box unspentCoinSource) { return BitcoinWalletService(walletInfoSource, unspentCoinSource); } WalletService createLitecoinWalletService(Box walletInfoSource, Box unspentCoinSource) { return LitecoinWalletService(walletInfoSource, unspentCoinSource); } }