63 lines
1.8 KiB
C++
63 lines
1.8 KiB
C++
/*
|
|
* 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 <http://www.gnu.org/licenses/>.
|
|
*
|
|
*/
|
|
|
|
#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<string> walletAddresses, list<string> userAddresses);
|
|
void analyzeUserWalletData(int walletId);
|
|
};
|
|
|
|
class AddressHandlerETH
|
|
{
|
|
public:
|
|
AddressHandlerETH(string address, int walletId);
|
|
virtual ~AddressHandlerETH();
|
|
|
|
void getAddressData();
|
|
void addAddressDataToDB();
|
|
void setWalletAddresses(list<string> walletAddresses) { m_walletAddresses = walletAddresses; }
|
|
void setUserAddresses(list<string> userAddresses) { m_userAddresses = userAddresses; }
|
|
|
|
private:
|
|
void getBlockchainAddressData();
|
|
void addCachedAddressDataToDB();
|
|
void addAddressDataJSONToDB(json::value jvalue);
|
|
string getCacheFilename();
|
|
|
|
string m_address;
|
|
int m_walletId;
|
|
list<string> m_userAddresses;
|
|
list<string> m_walletAddresses;
|
|
};
|
|
|
|
#endif // CPFM_WALLET_ETH_H_INCLUDED
|