/* * Copyright (c) 2018, evilny0 * * This file is part of cpfm. * * cpfm is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * cpm is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with cpfm. If not, see . * */ #ifndef CPFM_WALLET_ETH_H_INCLUDED #define CPFM_WALLET_ETH_H_INCLUDED #include "wallet.h" class WalletHandlerETH : public WalletHandler { public: WalletHandlerETH(int userId); virtual ~WalletHandlerETH(); virtual void analyzeUserWallets(); private: void addUserWalletDataToDB(int walletId, list walletAddresses, list userAddresses); void analyzeUserWalletData(int walletId); }; class AddressHandlerETH { public: AddressHandlerETH(string address, int walletId); virtual ~AddressHandlerETH(); void getAddressData(); void addAddressDataToDB(); void setWalletAddresses(list walletAddresses) { m_walletAddresses = walletAddresses; } void setUserAddresses(list userAddresses) { m_userAddresses = userAddresses; } private: void getBlockchainAddressData(); void addCachedAddressDataToDB(); void addAddressDataJSONToDB(json::value jvalue); string getCacheFilename(); string m_address; int m_walletId; list m_userAddresses; list m_walletAddresses; }; #endif // CPFM_WALLET_ETH_H_INCLUDED