mirror of
https://github.com/twisterarmy/twister-core.git
synced 2025-01-11 07:17:53 +00:00
Remove headers.h
This commit is contained in:
parent
b97d54355e
commit
ed6d0b5f85
@ -119,7 +119,6 @@ HEADERS += src/qt/bitcoingui.h \
|
|||||||
src/db.h \
|
src/db.h \
|
||||||
src/script.h \
|
src/script.h \
|
||||||
src/init.h \
|
src/init.h \
|
||||||
src/headers.h \
|
|
||||||
src/irc.h \
|
src/irc.h \
|
||||||
src/mruset.h \
|
src/mruset.h \
|
||||||
src/json/json_spirit_writer_template.h \
|
src/json/json_spirit_writer_template.h \
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
#include "netbase.h"
|
#include "netbase.h"
|
||||||
#include "protocol.h"
|
#include "protocol.h"
|
||||||
#include "util.h"
|
|
||||||
|
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
@ -8,6 +8,9 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
|
#ifdef _WIN32_WINNT
|
||||||
|
#undef _WIN32_WINNT
|
||||||
|
#endif
|
||||||
#define _WIN32_WINNT 0x0501
|
#define _WIN32_WINNT 0x0501
|
||||||
#define WIN32_LEAN_AND_MEAN 1
|
#define WIN32_LEAN_AND_MEAN 1
|
||||||
#ifndef NOMINMAX
|
#ifndef NOMINMAX
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include "bignum.h"
|
#include "bignum.h"
|
||||||
#include "key.h"
|
#include "key.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
static const char* pszBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
|
static const char* pszBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
|
|
||||||
#include "util.h"
|
#include "util.h" // for uint64
|
||||||
|
|
||||||
/** Errors thrown by the bignum class */
|
/** Errors thrown by the bignum class */
|
||||||
class bignum_error : public std::runtime_error
|
class bignum_error : public std::runtime_error
|
||||||
|
@ -3,10 +3,13 @@
|
|||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
#include "headers.h"
|
#include "main.h"
|
||||||
|
#include "wallet.h"
|
||||||
#include "db.h"
|
#include "db.h"
|
||||||
#include "net.h"
|
#include "net.h"
|
||||||
#include "init.h"
|
#include "init.h"
|
||||||
|
#include "ui_interface.h"
|
||||||
|
|
||||||
#undef printf
|
#undef printf
|
||||||
#include <boost/asio.hpp>
|
#include <boost/asio.hpp>
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
|
@ -5,9 +5,11 @@
|
|||||||
#include <boost/assign/list_of.hpp> // for 'map_list_of()'
|
#include <boost/assign/list_of.hpp> // for 'map_list_of()'
|
||||||
#include <boost/foreach.hpp>
|
#include <boost/foreach.hpp>
|
||||||
|
|
||||||
#include "headers.h"
|
|
||||||
#include "checkpoints.h"
|
#include "checkpoints.h"
|
||||||
|
|
||||||
|
#include "main.h"
|
||||||
|
#include "uint256.h"
|
||||||
|
|
||||||
namespace Checkpoints
|
namespace Checkpoints
|
||||||
{
|
{
|
||||||
typedef std::map<int, uint256> MapCheckpoints;
|
typedef std::map<int, uint256> MapCheckpoints;
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
#define BITCOIN_CHECKPOINT_H
|
#define BITCOIN_CHECKPOINT_H
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include "util.h"
|
|
||||||
|
|
||||||
class uint256;
|
class uint256;
|
||||||
class CBlockIndex;
|
class CBlockIndex;
|
||||||
|
23
src/compat.h
23
src/compat.h
@ -5,6 +5,28 @@
|
|||||||
#ifndef _BITCOIN_COMPAT_H
|
#ifndef _BITCOIN_COMPAT_H
|
||||||
#define _BITCOIN_COMPAT_H 1
|
#define _BITCOIN_COMPAT_H 1
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
#define _WIN32_WINNT 0x0501
|
||||||
|
#define WIN32_LEAN_AND_MEAN 1
|
||||||
|
#ifndef NOMINMAX
|
||||||
|
#define NOMINMAX
|
||||||
|
#endif
|
||||||
|
#include <winsock2.h>
|
||||||
|
#include <mswsock.h>
|
||||||
|
#include <ws2tcpip.h>
|
||||||
|
#else
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <sys/fcntl.h>
|
||||||
|
#include <arpa/inet.h>
|
||||||
|
#include <netdb.h>
|
||||||
|
#include <net/if.h>
|
||||||
|
#include <ifaddrs.h>
|
||||||
|
#endif
|
||||||
|
#ifdef BSD
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef u_int SOCKET;
|
typedef u_int SOCKET;
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#define MSG_NOSIGNAL 0
|
#define MSG_NOSIGNAL 0
|
||||||
@ -39,4 +61,5 @@ inline int myclosesocket(SOCKET& hSocket)
|
|||||||
}
|
}
|
||||||
#define closesocket(s) myclosesocket(s)
|
#define closesocket(s) myclosesocket(s)
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -6,13 +6,11 @@
|
|||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "headers.h"
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "crypter.h"
|
#include "crypter.h"
|
||||||
#include "main.h"
|
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
bool CCrypter::SetKeyFromPassphrase(const SecureString& strKeyData, const std::vector<unsigned char>& chSalt, const unsigned int nRounds, const unsigned int nDerivationMethod)
|
bool CCrypter::SetKeyFromPassphrase(const SecureString& strKeyData, const std::vector<unsigned char>& chSalt, const unsigned int nRounds, const unsigned int nDerivationMethod)
|
||||||
|
@ -3,13 +3,18 @@
|
|||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
#include "headers.h"
|
|
||||||
#include "db.h"
|
#include "db.h"
|
||||||
#include "net.h"
|
#include "util.h"
|
||||||
|
#include "main.h"
|
||||||
|
#include "wallet.h"
|
||||||
#include <boost/version.hpp>
|
#include <boost/version.hpp>
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
#include <boost/filesystem/fstream.hpp>
|
#include <boost/filesystem/fstream.hpp>
|
||||||
|
|
||||||
|
#ifndef WIN32
|
||||||
|
#include "sys/stat.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace boost;
|
using namespace boost;
|
||||||
|
|
||||||
|
30
src/db.h
30
src/db.h
@ -6,6 +6,8 @@
|
|||||||
#define BITCOIN_DB_H
|
#define BITCOIN_DB_H
|
||||||
|
|
||||||
#include "key.h"
|
#include "key.h"
|
||||||
|
#include "main.h"
|
||||||
|
#include "wallet.h"
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
@ -313,34 +315,6 @@ public:
|
|||||||
bool LoadAddresses();
|
bool LoadAddresses();
|
||||||
|
|
||||||
|
|
||||||
/** A key pool entry */
|
|
||||||
class CKeyPool
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
int64 nTime;
|
|
||||||
std::vector<unsigned char> vchPubKey;
|
|
||||||
|
|
||||||
CKeyPool()
|
|
||||||
{
|
|
||||||
nTime = GetTime();
|
|
||||||
}
|
|
||||||
|
|
||||||
CKeyPool(const std::vector<unsigned char>& vchPubKeyIn)
|
|
||||||
{
|
|
||||||
nTime = GetTime();
|
|
||||||
vchPubKey = vchPubKeyIn;
|
|
||||||
}
|
|
||||||
|
|
||||||
IMPLEMENT_SERIALIZE
|
|
||||||
(
|
|
||||||
if (!(nType & SER_GETHASH))
|
|
||||||
READWRITE(nVersion);
|
|
||||||
READWRITE(nTime);
|
|
||||||
READWRITE(vchPubKey);
|
|
||||||
)
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** Error statuses for the wallet database */
|
/** Error statuses for the wallet database */
|
||||||
enum DBErrors
|
enum DBErrors
|
||||||
|
@ -1,91 +0,0 @@
|
|||||||
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
|
||||||
// Copyright (c) 2009-2012 The Bitcoin developers
|
|
||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
|
||||||
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#pragma warning(disable:4786)
|
|
||||||
#pragma warning(disable:4804)
|
|
||||||
#pragma warning(disable:4805)
|
|
||||||
#pragma warning(disable:4717)
|
|
||||||
#endif
|
|
||||||
#ifdef _WIN32_WINNT
|
|
||||||
#undef _WIN32_WINNT
|
|
||||||
#endif
|
|
||||||
#define _WIN32_WINNT 0x0501
|
|
||||||
#ifdef _WIN32_IE
|
|
||||||
#undef _WIN32_IE
|
|
||||||
#endif
|
|
||||||
#define _WIN32_IE 0x0400
|
|
||||||
#define WIN32_LEAN_AND_MEAN 1
|
|
||||||
#ifndef NOMINMAX
|
|
||||||
#define NOMINMAX
|
|
||||||
#endif
|
|
||||||
// Include boost/foreach here as it defines __STDC_LIMIT_MACROS on some systems.
|
|
||||||
#include <boost/foreach.hpp>
|
|
||||||
|
|
||||||
#if (defined(__unix__) || defined(unix)) && !defined(USG)
|
|
||||||
#include <sys/param.h> // to get BSD define
|
|
||||||
#endif
|
|
||||||
#ifdef MAC_OSX
|
|
||||||
#ifndef BSD
|
|
||||||
#define BSD 1
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#include <openssl/buffer.h>
|
|
||||||
#include <openssl/ecdsa.h>
|
|
||||||
#include <openssl/evp.h>
|
|
||||||
#include <openssl/rand.h>
|
|
||||||
#include <openssl/sha.h>
|
|
||||||
#include <openssl/ripemd.h>
|
|
||||||
#include <db_cxx.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <float.h>
|
|
||||||
#include <assert.h>
|
|
||||||
#include <iostream>
|
|
||||||
#include <sstream>
|
|
||||||
#include <string>
|
|
||||||
#include <vector>
|
|
||||||
#include <list>
|
|
||||||
#include <deque>
|
|
||||||
#include <map>
|
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
#include <windows.h>
|
|
||||||
#include <winsock2.h>
|
|
||||||
#include <mswsock.h>
|
|
||||||
#include <shlobj.h>
|
|
||||||
#include <shlwapi.h>
|
|
||||||
#include <io.h>
|
|
||||||
#include <process.h>
|
|
||||||
#include <malloc.h>
|
|
||||||
#else
|
|
||||||
#include <sys/time.h>
|
|
||||||
#include <sys/resource.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <arpa/inet.h>
|
|
||||||
#include <netdb.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <net/if.h>
|
|
||||||
#include <ifaddrs.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <signal.h>
|
|
||||||
#endif
|
|
||||||
#ifdef BSD
|
|
||||||
#include <netinet/in.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#include "serialize.h"
|
|
||||||
#include "uint256.h"
|
|
||||||
#include "util.h"
|
|
||||||
#include "bignum.h"
|
|
||||||
#include "base58.h"
|
|
||||||
#include "main.h"
|
|
||||||
#include "wallet.h"
|
|
||||||
#include "ui_interface.h"
|
|
149
src/init.cpp
149
src/init.cpp
@ -2,19 +2,20 @@
|
|||||||
// Copyright (c) 2009-2012 The Bitcoin developers
|
// Copyright (c) 2009-2012 The Bitcoin developers
|
||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
||||||
#include "headers.h"
|
|
||||||
#include "db.h"
|
#include "db.h"
|
||||||
#include "bitcoinrpc.h"
|
#include "bitcoinrpc.h"
|
||||||
#include "net.h"
|
#include "net.h"
|
||||||
#include "init.h"
|
#include "init.h"
|
||||||
#include "strlcpy.h"
|
#include "strlcpy.h"
|
||||||
|
#include "util.h"
|
||||||
|
#include "ui_interface.h"
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
#include <boost/filesystem/fstream.hpp>
|
#include <boost/filesystem/fstream.hpp>
|
||||||
#include <boost/filesystem/convenience.hpp>
|
#include <boost/filesystem/convenience.hpp>
|
||||||
#include <boost/interprocess/sync/file_lock.hpp>
|
#include <boost/interprocess/sync/file_lock.hpp>
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifndef WIN32
|
||||||
#define strncasecmp strnicmp
|
#include <signal.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
@ -583,145 +584,3 @@ bool AppInit2(int argc, char* argv[])
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
boost::filesystem::path StartupShortcutPath()
|
|
||||||
{
|
|
||||||
return MyGetSpecialFolderPath(CSIDL_STARTUP, true) / "Bitcoin.lnk";
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GetStartOnSystemStartup()
|
|
||||||
{
|
|
||||||
return filesystem::exists(StartupShortcutPath());
|
|
||||||
}
|
|
||||||
|
|
||||||
bool SetStartOnSystemStartup(bool fAutoStart)
|
|
||||||
{
|
|
||||||
// If the shortcut exists already, remove it for updating
|
|
||||||
boost::filesystem::remove(StartupShortcutPath());
|
|
||||||
|
|
||||||
if (fAutoStart)
|
|
||||||
{
|
|
||||||
CoInitialize(NULL);
|
|
||||||
|
|
||||||
// Get a pointer to the IShellLink interface.
|
|
||||||
IShellLink* psl = NULL;
|
|
||||||
HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL,
|
|
||||||
CLSCTX_INPROC_SERVER, IID_IShellLink,
|
|
||||||
reinterpret_cast<void**>(&psl));
|
|
||||||
|
|
||||||
if (SUCCEEDED(hres))
|
|
||||||
{
|
|
||||||
// Get the current executable path
|
|
||||||
TCHAR pszExePath[MAX_PATH];
|
|
||||||
GetModuleFileName(NULL, pszExePath, sizeof(pszExePath));
|
|
||||||
|
|
||||||
TCHAR pszArgs[5] = TEXT("-min");
|
|
||||||
|
|
||||||
// Set the path to the shortcut target
|
|
||||||
psl->SetPath(pszExePath);
|
|
||||||
PathRemoveFileSpec(pszExePath);
|
|
||||||
psl->SetWorkingDirectory(pszExePath);
|
|
||||||
psl->SetShowCmd(SW_SHOWMINNOACTIVE);
|
|
||||||
psl->SetArguments(pszArgs);
|
|
||||||
|
|
||||||
// Query IShellLink for the IPersistFile interface for
|
|
||||||
// saving the shortcut in persistent storage.
|
|
||||||
IPersistFile* ppf = NULL;
|
|
||||||
hres = psl->QueryInterface(IID_IPersistFile,
|
|
||||||
reinterpret_cast<void**>(&ppf));
|
|
||||||
if (SUCCEEDED(hres))
|
|
||||||
{
|
|
||||||
WCHAR pwsz[MAX_PATH];
|
|
||||||
// Ensure that the string is ANSI.
|
|
||||||
MultiByteToWideChar(CP_ACP, 0, StartupShortcutPath().string().c_str(), -1, pwsz, MAX_PATH);
|
|
||||||
// Save the link by calling IPersistFile::Save.
|
|
||||||
hres = ppf->Save(pwsz, TRUE);
|
|
||||||
ppf->Release();
|
|
||||||
psl->Release();
|
|
||||||
CoUninitialize();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
psl->Release();
|
|
||||||
}
|
|
||||||
CoUninitialize();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined(LINUX)
|
|
||||||
|
|
||||||
// Follow the Desktop Application Autostart Spec:
|
|
||||||
// http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html
|
|
||||||
|
|
||||||
boost::filesystem::path GetAutostartDir()
|
|
||||||
{
|
|
||||||
namespace fs = boost::filesystem;
|
|
||||||
|
|
||||||
char* pszConfigHome = getenv("XDG_CONFIG_HOME");
|
|
||||||
if (pszConfigHome) return fs::path(pszConfigHome) / "autostart";
|
|
||||||
char* pszHome = getenv("HOME");
|
|
||||||
if (pszHome) return fs::path(pszHome) / ".config" / "autostart";
|
|
||||||
return fs::path();
|
|
||||||
}
|
|
||||||
|
|
||||||
boost::filesystem::path GetAutostartFilePath()
|
|
||||||
{
|
|
||||||
return GetAutostartDir() / "bitcoin.desktop";
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GetStartOnSystemStartup()
|
|
||||||
{
|
|
||||||
boost::filesystem::ifstream optionFile(GetAutostartFilePath());
|
|
||||||
if (!optionFile.good())
|
|
||||||
return false;
|
|
||||||
// Scan through file for "Hidden=true":
|
|
||||||
string line;
|
|
||||||
while (!optionFile.eof())
|
|
||||||
{
|
|
||||||
getline(optionFile, line);
|
|
||||||
if (line.find("Hidden") != string::npos &&
|
|
||||||
line.find("true") != string::npos)
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
optionFile.close();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool SetStartOnSystemStartup(bool fAutoStart)
|
|
||||||
{
|
|
||||||
if (!fAutoStart)
|
|
||||||
boost::filesystem::remove(GetAutostartFilePath());
|
|
||||||
else
|
|
||||||
{
|
|
||||||
char pszExePath[MAX_PATH+1];
|
|
||||||
memset(pszExePath, 0, sizeof(pszExePath));
|
|
||||||
if (readlink("/proc/self/exe", pszExePath, sizeof(pszExePath)-1) == -1)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
boost::filesystem::create_directories(GetAutostartDir());
|
|
||||||
|
|
||||||
boost::filesystem::ofstream optionFile(GetAutostartFilePath(), ios_base::out|ios_base::trunc);
|
|
||||||
if (!optionFile.good())
|
|
||||||
return false;
|
|
||||||
// Write a bitcoin.desktop file to the autostart directory:
|
|
||||||
optionFile << "[Desktop Entry]\n";
|
|
||||||
optionFile << "Type=Application\n";
|
|
||||||
optionFile << "Name=Bitcoin\n";
|
|
||||||
optionFile << "Exec=" << pszExePath << " -min\n";
|
|
||||||
optionFile << "Terminal=false\n";
|
|
||||||
optionFile << "Hidden=false\n";
|
|
||||||
optionFile.close();
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
|
|
||||||
// TODO: OSX startup stuff; see:
|
|
||||||
// http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/CustomLogin.html
|
|
||||||
|
|
||||||
bool GetStartOnSystemStartup() { return false; }
|
|
||||||
bool SetStartOnSystemStartup(bool fAutoStart) { return false; }
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
#ifndef BITCOIN_INIT_H
|
#ifndef BITCOIN_INIT_H
|
||||||
#define BITCOIN_INIT_H
|
#define BITCOIN_INIT_H
|
||||||
|
|
||||||
|
#include "wallet.h"
|
||||||
|
|
||||||
extern CWallet* pwalletMain;
|
extern CWallet* pwalletMain;
|
||||||
|
|
||||||
void Shutdown(void* parg);
|
void Shutdown(void* parg);
|
||||||
|
@ -3,10 +3,10 @@
|
|||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
#include "headers.h"
|
|
||||||
#include "irc.h"
|
#include "irc.h"
|
||||||
#include "net.h"
|
#include "net.h"
|
||||||
#include "strlcpy.h"
|
#include "strlcpy.h"
|
||||||
|
#include "base58.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace boost;
|
using namespace boost;
|
||||||
|
@ -3,9 +3,8 @@
|
|||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
#include "headers.h"
|
#include "keystore.h"
|
||||||
#include "crypter.h"
|
#include "crypter.h"
|
||||||
#include "db.h"
|
|
||||||
#include "script.h"
|
#include "script.h"
|
||||||
|
|
||||||
bool CKeyStore::GetPubKey(const CBitcoinAddress &address, std::vector<unsigned char> &vchPubKeyOut) const
|
bool CKeyStore::GetPubKey(const CBitcoinAddress &address, std::vector<unsigned char> &vchPubKeyOut) const
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
// Copyright (c) 2009-2012 The Bitcoin developers
|
// Copyright (c) 2009-2012 The Bitcoin developers
|
||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
||||||
#include "headers.h"
|
|
||||||
#include "checkpoints.h"
|
#include "checkpoints.h"
|
||||||
#include "db.h"
|
#include "db.h"
|
||||||
#include "net.h"
|
#include "net.h"
|
||||||
#include "init.h"
|
#include "init.h"
|
||||||
|
#include "ui_interface.h"
|
||||||
#include <boost/algorithm/string/replace.hpp>
|
#include <boost/algorithm/string/replace.hpp>
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
#include <boost/filesystem/fstream.hpp>
|
#include <boost/filesystem/fstream.hpp>
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
#include "net.h"
|
#include "net.h"
|
||||||
#include "key.h"
|
#include "key.h"
|
||||||
#include "script.h"
|
#include "script.h"
|
||||||
#include "db.h"
|
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
@ -35,8 +34,6 @@ static const unsigned int MAX_BLOCK_SIZE = 1000000;
|
|||||||
static const unsigned int MAX_BLOCK_SIZE_GEN = MAX_BLOCK_SIZE/2;
|
static const unsigned int MAX_BLOCK_SIZE_GEN = MAX_BLOCK_SIZE/2;
|
||||||
static const int MAX_BLOCK_SIGOPS = MAX_BLOCK_SIZE/50;
|
static const int MAX_BLOCK_SIGOPS = MAX_BLOCK_SIZE/50;
|
||||||
static const int MAX_ORPHAN_TRANSACTIONS = MAX_BLOCK_SIZE/100;
|
static const int MAX_ORPHAN_TRANSACTIONS = MAX_BLOCK_SIZE/100;
|
||||||
static const int64 COIN = 100000000;
|
|
||||||
static const int64 CENT = 1000000;
|
|
||||||
static const int64 MIN_TX_FEE = 50000;
|
static const int64 MIN_TX_FEE = 50000;
|
||||||
static const int64 MIN_RELAY_TX_FEE = 10000;
|
static const int64 MIN_RELAY_TX_FEE = 10000;
|
||||||
static const int64 MAX_MONEY = 21000000 * COIN;
|
static const int64 MAX_MONEY = 21000000 * COIN;
|
||||||
|
@ -3,13 +3,13 @@
|
|||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
#include "headers.h"
|
|
||||||
#include "irc.h"
|
#include "irc.h"
|
||||||
#include "db.h"
|
#include "db.h"
|
||||||
#include "net.h"
|
#include "net.h"
|
||||||
#include "init.h"
|
#include "init.h"
|
||||||
#include "strlcpy.h"
|
#include "strlcpy.h"
|
||||||
#include "addrman.h"
|
#include "addrman.h"
|
||||||
|
#include "ui_interface.h"
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
@ -7,27 +7,6 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
#define _WIN32_WINNT 0x0501
|
|
||||||
#define WIN32_LEAN_AND_MEAN 1
|
|
||||||
#ifndef NOMINMAX
|
|
||||||
#define NOMINMAX
|
|
||||||
#endif
|
|
||||||
#include <winsock2.h>
|
|
||||||
#include <mswsock.h>
|
|
||||||
#include <ws2tcpip.h>
|
|
||||||
#else
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <arpa/inet.h>
|
|
||||||
#include <netdb.h>
|
|
||||||
#include <net/if.h>
|
|
||||||
#include <ifaddrs.h>
|
|
||||||
#endif
|
|
||||||
#ifdef BSD
|
|
||||||
#include <netinet/in.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "serialize.h"
|
#include "serialize.h"
|
||||||
#include "compat.h"
|
#include "compat.h"
|
||||||
|
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
#include "ui_interface.h"
|
#include "ui_interface.h"
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "headers.h"
|
|
||||||
#include "init.h"
|
#include "init.h"
|
||||||
|
|
||||||
int ThreadSafeMessageBox(const std::string& message, const std::string& caption, int style)
|
int ThreadSafeMessageBox(const std::string& message, const std::string& caption, int style)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#include "guiutil.h"
|
#include "guiutil.h"
|
||||||
#include "walletmodel.h"
|
#include "walletmodel.h"
|
||||||
|
|
||||||
#include "headers.h"
|
#include "wallet.h"
|
||||||
|
|
||||||
#include <QFont>
|
#include <QFont>
|
||||||
#include <QColor>
|
#include <QColor>
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
#include "optionsmodel.h"
|
#include "optionsmodel.h"
|
||||||
#include "guiutil.h"
|
#include "guiutil.h"
|
||||||
|
|
||||||
#include "headers.h"
|
|
||||||
#include "init.h"
|
#include "init.h"
|
||||||
#include "qtipcserver.h"
|
#include "qtipcserver.h"
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include "addresstablemodel.h"
|
#include "addresstablemodel.h"
|
||||||
#include "transactiontablemodel.h"
|
#include "transactiontablemodel.h"
|
||||||
|
|
||||||
#include "headers.h"
|
#include "main.h"
|
||||||
|
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
|
|
||||||
|
@ -3,8 +3,6 @@
|
|||||||
#include "walletmodel.h"
|
#include "walletmodel.h"
|
||||||
#include "bitcoinunits.h"
|
#include "bitcoinunits.h"
|
||||||
|
|
||||||
#include "headers.h"
|
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <QDoubleValidator>
|
#include <QDoubleValidator>
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
#include "bitcoinunits.h"
|
#include "bitcoinunits.h"
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
|
||||||
#include "headers.h"
|
|
||||||
#include "init.h"
|
#include "init.h"
|
||||||
|
#include "db.h"
|
||||||
|
|
||||||
OptionsModel::OptionsModel(QObject *parent) :
|
OptionsModel::OptionsModel(QObject *parent) :
|
||||||
QAbstractListModel(parent)
|
QAbstractListModel(parent)
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
#include <boost/tokenizer.hpp>
|
#include <boost/tokenizer.hpp>
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
|
|
||||||
#include "headers.h"
|
#include "util.h"
|
||||||
#include "qtipcserver.h"
|
#include "qtipcserver.h"
|
||||||
|
|
||||||
using namespace boost::interprocess;
|
using namespace boost::interprocess;
|
||||||
|
@ -3,7 +3,9 @@
|
|||||||
#include "guiutil.h"
|
#include "guiutil.h"
|
||||||
#include "bitcoinunits.h"
|
#include "bitcoinunits.h"
|
||||||
|
|
||||||
#include "headers.h"
|
#include "main.h"
|
||||||
|
#include "wallet.h"
|
||||||
|
#include "db.h"
|
||||||
#include "ui_interface.h"
|
#include "ui_interface.h"
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "transactionrecord.h"
|
#include "transactionrecord.h"
|
||||||
|
|
||||||
#include "headers.h"
|
#include "wallet.h"
|
||||||
|
|
||||||
/* Return positive answer if transaction should be shown in list.
|
/* Return positive answer if transaction should be shown in list.
|
||||||
*/
|
*/
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include "addresstablemodel.h"
|
#include "addresstablemodel.h"
|
||||||
#include "bitcoinunits.h"
|
#include "bitcoinunits.h"
|
||||||
|
|
||||||
#include "headers.h"
|
#include "wallet.h"
|
||||||
|
|
||||||
#include <QLocale>
|
#include <QLocale>
|
||||||
#include <QList>
|
#include <QList>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include "addresstablemodel.h"
|
#include "addresstablemodel.h"
|
||||||
#include "transactiontablemodel.h"
|
#include "transactiontablemodel.h"
|
||||||
|
|
||||||
#include "headers.h"
|
#include "wallet.h"
|
||||||
#include "db.h" // for BackupWallet
|
#include "db.h" // for BackupWallet
|
||||||
|
|
||||||
#include <QSet>
|
#include <QSet>
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
#include "headers.h"
|
|
||||||
#include "init.h" // for pwalletMain
|
#include "init.h" // for pwalletMain
|
||||||
#include "bitcoinrpc.h"
|
#include "bitcoinrpc.h"
|
||||||
|
#include "ui_interface.h"
|
||||||
|
|
||||||
#include <boost/lexical_cast.hpp>
|
#include <boost/lexical_cast.hpp>
|
||||||
|
|
||||||
|
@ -2,11 +2,17 @@
|
|||||||
// Copyright (c) 2009-2012 The Bitcoin developers
|
// Copyright (c) 2009-2012 The Bitcoin developers
|
||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
||||||
#include "headers.h"
|
#include <boost/foreach.hpp>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace boost;
|
using namespace boost;
|
||||||
|
|
||||||
|
#include "script.h"
|
||||||
|
#include "keystore.h"
|
||||||
|
#include "bignum.h"
|
||||||
|
#include "key.h"
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
bool CheckSig(vector<unsigned char> vchSig, vector<unsigned char> vchPubKey, CScript scriptCode, const CTransaction& txTo, unsigned int nIn, int nHashType);
|
bool CheckSig(vector<unsigned char> vchSig, vector<unsigned char> vchPubKey, CScript scriptCode, const CTransaction& txTo, unsigned int nIn, int nHashType);
|
||||||
|
|
||||||
|
|
||||||
|
@ -15,6 +15,10 @@
|
|||||||
*/
|
*/
|
||||||
#ifndef BITCOIN_STRLCPY_H
|
#ifndef BITCOIN_STRLCPY_H
|
||||||
#define BITCOIN_STRLCPY_H
|
#define BITCOIN_STRLCPY_H
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copy src to string dst of size siz. At most siz-1 characters
|
* Copy src to string dst of size siz. At most siz-1 characters
|
||||||
* will be copied. Always NUL terminates (unless siz == 0).
|
* will be copied. Always NUL terminates (unless siz == 0).
|
||||||
|
171
src/util.cpp
171
src/util.cpp
@ -3,8 +3,9 @@
|
|||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
#include "headers.h"
|
#include "util.h"
|
||||||
#include "strlcpy.h"
|
#include "strlcpy.h"
|
||||||
|
#include "version.h"
|
||||||
#include <boost/algorithm/string/join.hpp>
|
#include <boost/algorithm/string/join.hpp>
|
||||||
|
|
||||||
// Work around clang compilation problem in Boost 1.46:
|
// Work around clang compilation problem in Boost 1.46:
|
||||||
@ -24,6 +25,31 @@ namespace boost {
|
|||||||
#include <boost/interprocess/sync/interprocess_mutex.hpp>
|
#include <boost/interprocess/sync/interprocess_mutex.hpp>
|
||||||
#include <boost/interprocess/sync/interprocess_recursive_mutex.hpp>
|
#include <boost/interprocess/sync/interprocess_recursive_mutex.hpp>
|
||||||
#include <boost/foreach.hpp>
|
#include <boost/foreach.hpp>
|
||||||
|
#include <openssl/crypto.h>
|
||||||
|
#include <openssl/rand.h>
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#pragma warning(disable:4786)
|
||||||
|
#pragma warning(disable:4804)
|
||||||
|
#pragma warning(disable:4805)
|
||||||
|
#pragma warning(disable:4717)
|
||||||
|
#endif
|
||||||
|
#ifdef _WIN32_WINNT
|
||||||
|
#undef _WIN32_WINNT
|
||||||
|
#endif
|
||||||
|
#define _WIN32_WINNT 0x0501
|
||||||
|
#ifdef _WIN32_IE
|
||||||
|
#undef _WIN32_IE
|
||||||
|
#endif
|
||||||
|
#define _WIN32_IE 0x0400
|
||||||
|
#define WIN32_LEAN_AND_MEAN 1
|
||||||
|
#ifndef NOMINMAX
|
||||||
|
#define NOMINMAX
|
||||||
|
#endif
|
||||||
|
#include "shlobj.h"
|
||||||
|
#include "shlwapi.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace boost;
|
using namespace boost;
|
||||||
@ -1064,6 +1090,149 @@ std::string FormatSubVersion(const std::string& name, int nClientVersion, const
|
|||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
boost::filesystem::path static StartupShortcutPath()
|
||||||
|
{
|
||||||
|
return MyGetSpecialFolderPath(CSIDL_STARTUP, true) / "Bitcoin.lnk";
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GetStartOnSystemStartup()
|
||||||
|
{
|
||||||
|
return filesystem::exists(StartupShortcutPath());
|
||||||
|
}
|
||||||
|
|
||||||
|
bool SetStartOnSystemStartup(bool fAutoStart)
|
||||||
|
{
|
||||||
|
// If the shortcut exists already, remove it for updating
|
||||||
|
boost::filesystem::remove(StartupShortcutPath());
|
||||||
|
|
||||||
|
if (fAutoStart)
|
||||||
|
{
|
||||||
|
CoInitialize(NULL);
|
||||||
|
|
||||||
|
// Get a pointer to the IShellLink interface.
|
||||||
|
IShellLink* psl = NULL;
|
||||||
|
HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL,
|
||||||
|
CLSCTX_INPROC_SERVER, IID_IShellLink,
|
||||||
|
reinterpret_cast<void**>(&psl));
|
||||||
|
|
||||||
|
if (SUCCEEDED(hres))
|
||||||
|
{
|
||||||
|
// Get the current executable path
|
||||||
|
TCHAR pszExePath[MAX_PATH];
|
||||||
|
GetModuleFileName(NULL, pszExePath, sizeof(pszExePath));
|
||||||
|
|
||||||
|
TCHAR pszArgs[5] = TEXT("-min");
|
||||||
|
|
||||||
|
// Set the path to the shortcut target
|
||||||
|
psl->SetPath(pszExePath);
|
||||||
|
PathRemoveFileSpec(pszExePath);
|
||||||
|
psl->SetWorkingDirectory(pszExePath);
|
||||||
|
psl->SetShowCmd(SW_SHOWMINNOACTIVE);
|
||||||
|
psl->SetArguments(pszArgs);
|
||||||
|
|
||||||
|
// Query IShellLink for the IPersistFile interface for
|
||||||
|
// saving the shortcut in persistent storage.
|
||||||
|
IPersistFile* ppf = NULL;
|
||||||
|
hres = psl->QueryInterface(IID_IPersistFile,
|
||||||
|
reinterpret_cast<void**>(&ppf));
|
||||||
|
if (SUCCEEDED(hres))
|
||||||
|
{
|
||||||
|
WCHAR pwsz[MAX_PATH];
|
||||||
|
// Ensure that the string is ANSI.
|
||||||
|
MultiByteToWideChar(CP_ACP, 0, StartupShortcutPath().string().c_str(), -1, pwsz, MAX_PATH);
|
||||||
|
// Save the link by calling IPersistFile::Save.
|
||||||
|
hres = ppf->Save(pwsz, TRUE);
|
||||||
|
ppf->Release();
|
||||||
|
psl->Release();
|
||||||
|
CoUninitialize();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
psl->Release();
|
||||||
|
}
|
||||||
|
CoUninitialize();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(LINUX)
|
||||||
|
|
||||||
|
// Follow the Desktop Application Autostart Spec:
|
||||||
|
// http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html
|
||||||
|
|
||||||
|
boost::filesystem::path static GetAutostartDir()
|
||||||
|
{
|
||||||
|
namespace fs = boost::filesystem;
|
||||||
|
|
||||||
|
char* pszConfigHome = getenv("XDG_CONFIG_HOME");
|
||||||
|
if (pszConfigHome) return fs::path(pszConfigHome) / "autostart";
|
||||||
|
char* pszHome = getenv("HOME");
|
||||||
|
if (pszHome) return fs::path(pszHome) / ".config" / "autostart";
|
||||||
|
return fs::path();
|
||||||
|
}
|
||||||
|
|
||||||
|
boost::filesystem::path static GetAutostartFilePath()
|
||||||
|
{
|
||||||
|
return GetAutostartDir() / "bitcoin.desktop";
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GetStartOnSystemStartup()
|
||||||
|
{
|
||||||
|
boost::filesystem::ifstream optionFile(GetAutostartFilePath());
|
||||||
|
if (!optionFile.good())
|
||||||
|
return false;
|
||||||
|
// Scan through file for "Hidden=true":
|
||||||
|
string line;
|
||||||
|
while (!optionFile.eof())
|
||||||
|
{
|
||||||
|
getline(optionFile, line);
|
||||||
|
if (line.find("Hidden") != string::npos &&
|
||||||
|
line.find("true") != string::npos)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
optionFile.close();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool SetStartOnSystemStartup(bool fAutoStart)
|
||||||
|
{
|
||||||
|
if (!fAutoStart)
|
||||||
|
boost::filesystem::remove(GetAutostartFilePath());
|
||||||
|
else
|
||||||
|
{
|
||||||
|
char pszExePath[MAX_PATH+1];
|
||||||
|
memset(pszExePath, 0, sizeof(pszExePath));
|
||||||
|
if (readlink("/proc/self/exe", pszExePath, sizeof(pszExePath)-1) == -1)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
boost::filesystem::create_directories(GetAutostartDir());
|
||||||
|
|
||||||
|
boost::filesystem::ofstream optionFile(GetAutostartFilePath(), ios_base::out|ios_base::trunc);
|
||||||
|
if (!optionFile.good())
|
||||||
|
return false;
|
||||||
|
// Write a bitcoin.desktop file to the autostart directory:
|
||||||
|
optionFile << "[Desktop Entry]\n";
|
||||||
|
optionFile << "Type=Application\n";
|
||||||
|
optionFile << "Name=Bitcoin\n";
|
||||||
|
optionFile << "Exec=" << pszExePath << " -min\n";
|
||||||
|
optionFile << "Terminal=false\n";
|
||||||
|
optionFile << "Hidden=false\n";
|
||||||
|
optionFile.close();
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
|
||||||
|
// TODO: OSX startup stuff; see:
|
||||||
|
// http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/CustomLogin.html
|
||||||
|
|
||||||
|
bool GetStartOnSystemStartup() { return false; }
|
||||||
|
bool SetStartOnSystemStartup(bool fAutoStart) { return false; }
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef DEBUG_LOCKORDER
|
#ifdef DEBUG_LOCKORDER
|
||||||
|
11
src/util.h
11
src/util.h
@ -31,11 +31,15 @@ typedef int pid_t; /* define for windows compatiblity */
|
|||||||
#include <openssl/sha.h>
|
#include <openssl/sha.h>
|
||||||
#include <openssl/ripemd.h>
|
#include <openssl/ripemd.h>
|
||||||
|
|
||||||
#include "netbase.h"
|
#include "netbase.h" // for AddTimeData
|
||||||
|
#include "ui_interface.h"
|
||||||
|
|
||||||
typedef long long int64;
|
typedef long long int64;
|
||||||
typedef unsigned long long uint64;
|
typedef unsigned long long uint64;
|
||||||
|
|
||||||
|
static const int64 COIN = 100000000;
|
||||||
|
static const int64 CENT = 1000000;
|
||||||
|
|
||||||
#define loop for (;;)
|
#define loop for (;;)
|
||||||
#define BEGIN(a) ((char*)&(a))
|
#define BEGIN(a) ((char*)&(a))
|
||||||
#define END(a) ((char*)&((&(a))[1]))
|
#define END(a) ((char*)&((&(a))[1]))
|
||||||
@ -160,9 +164,8 @@ boost::filesystem::path GetConfigFile();
|
|||||||
boost::filesystem::path GetPidFile();
|
boost::filesystem::path GetPidFile();
|
||||||
void CreatePidFile(const boost::filesystem::path &path, pid_t pid);
|
void CreatePidFile(const boost::filesystem::path &path, pid_t pid);
|
||||||
bool ReadConfigFile(std::map<std::string, std::string>& mapSettingsRet, std::map<std::string, std::vector<std::string> >& mapMultiSettingsRet);
|
bool ReadConfigFile(std::map<std::string, std::string>& mapSettingsRet, std::map<std::string, std::vector<std::string> >& mapMultiSettingsRet);
|
||||||
#ifdef WIN32
|
bool GetStartOnSystemStartup();
|
||||||
boost::filesystem::path MyGetSpecialFolderPath(int nFolder, bool fCreate);
|
bool SetStartOnSystemStartup(bool fAutoStart);
|
||||||
#endif
|
|
||||||
void ShrinkDebugFile();
|
void ShrinkDebugFile();
|
||||||
int GetRandInt(int nMax);
|
int GetRandInt(int nMax);
|
||||||
uint64 GetRand(uint64 nMax);
|
uint64 GetRand(uint64 nMax);
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
// Distributed under the MIT/X11 software license, see the accompanying
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||||||
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
#include "headers.h"
|
|
||||||
#include "db.h"
|
#include "db.h"
|
||||||
#include "crypter.h"
|
#include "crypter.h"
|
||||||
|
|
||||||
@ -137,6 +136,11 @@ bool CWallet::ChangeWalletPassphrase(const SecureString& strOldWalletPassphrase,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CWallet::SetBestChain(const CBlockLocator& loc)
|
||||||
|
{
|
||||||
|
CWalletDB walletdb(strWalletFile);
|
||||||
|
walletdb.WriteBestBlock(loc);
|
||||||
|
}
|
||||||
|
|
||||||
// This class implements an addrIncoming entry that causes pre-0.4
|
// This class implements an addrIncoming entry that causes pre-0.4
|
||||||
// clients to crash on startup if reading a private-key-encrypted wallet.
|
// clients to crash on startup if reading a private-key-encrypted wallet.
|
||||||
|
35
src/wallet.h
35
src/wallet.h
@ -5,6 +5,7 @@
|
|||||||
#ifndef BITCOIN_WALLET_H
|
#ifndef BITCOIN_WALLET_H
|
||||||
#define BITCOIN_WALLET_H
|
#define BITCOIN_WALLET_H
|
||||||
|
|
||||||
|
#include "main.h"
|
||||||
#include "bignum.h"
|
#include "bignum.h"
|
||||||
#include "key.h"
|
#include "key.h"
|
||||||
#include "keystore.h"
|
#include "keystore.h"
|
||||||
@ -25,6 +26,34 @@ enum WalletFeature
|
|||||||
FEATURE_LATEST = 60000
|
FEATURE_LATEST = 60000
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/** A key pool entry */
|
||||||
|
class CKeyPool
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
int64 nTime;
|
||||||
|
std::vector<unsigned char> vchPubKey;
|
||||||
|
|
||||||
|
CKeyPool()
|
||||||
|
{
|
||||||
|
nTime = GetTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
CKeyPool(const std::vector<unsigned char>& vchPubKeyIn)
|
||||||
|
{
|
||||||
|
nTime = GetTime();
|
||||||
|
vchPubKey = vchPubKeyIn;
|
||||||
|
}
|
||||||
|
|
||||||
|
IMPLEMENT_SERIALIZE
|
||||||
|
(
|
||||||
|
if (!(nType & SER_GETHASH))
|
||||||
|
READWRITE(nVersion);
|
||||||
|
READWRITE(nTime);
|
||||||
|
READWRITE(vchPubKey);
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
/** A CWallet is an extension of a keystore, which also maintains a set of transactions and balances,
|
/** A CWallet is an extension of a keystore, which also maintains a set of transactions and balances,
|
||||||
* and provides the ability to create new transactions.
|
* and provides the ability to create new transactions.
|
||||||
*/
|
*/
|
||||||
@ -196,11 +225,7 @@ public:
|
|||||||
}
|
}
|
||||||
return nChange;
|
return nChange;
|
||||||
}
|
}
|
||||||
void SetBestChain(const CBlockLocator& loc)
|
void SetBestChain(const CBlockLocator& loc);
|
||||||
{
|
|
||||||
CWalletDB walletdb(strWalletFile);
|
|
||||||
walletdb.WriteBestBlock(loc);
|
|
||||||
}
|
|
||||||
|
|
||||||
int LoadWallet(bool& fFirstRunRet);
|
int LoadWallet(bool& fFirstRunRet);
|
||||||
// bool BackupWallet(const std::string& strDest);
|
// bool BackupWallet(const std::string& strDest);
|
||||||
|
Loading…
Reference in New Issue
Block a user