From 618855133d4ae4ece130aec3b35c5a65bea95b8f Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Mon, 15 Jul 2013 15:20:50 +1000 Subject: Refactor: CAddressBookData for mapAddressBook Straight refactor, so mapAddressBook stores a CAddressBookData (which just contains a std::string) instead of a std::string. Preparation for payment protocol work, which will add the notion of refund addresses to the address book. --- src/walletdb.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/walletdb.cpp') diff --git a/src/walletdb.cpp b/src/walletdb.cpp index 014d8cbe2..6cfd394bd 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -212,7 +212,7 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, { string strAddress; ssKey >> strAddress; - ssValue >> pwallet->mapAddressBook[CBitcoinAddress(strAddress).Get()]; + ssValue >> pwallet->mapAddressBook[CBitcoinAddress(strAddress).Get()].name; } else if (strType == "tx") { -- cgit v1.2.3 From a41d5fe01947f2f878c055670986a165af800f9a Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Mon, 22 Jul 2013 16:50:39 +1000 Subject: Payment Protocol: X509-validated payment requests Add support for a Payment Protocol to Bitcoin-Qt. Payment messages are protocol-buffer encoded and communicated over http(s), so this adds a dependency on the Google protocol buffer library, and requires Qt with OpenSSL support. --- src/walletdb.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/walletdb.cpp') diff --git a/src/walletdb.cpp b/src/walletdb.cpp index 6cfd394bd..554d14002 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -32,6 +32,18 @@ bool CWalletDB::EraseName(const string& strAddress) return Erase(make_pair(string("name"), strAddress)); } +bool CWalletDB::WritePurpose(const string& strAddress, const string& strPurpose) +{ + nWalletDBUpdated++; + return Write(make_pair(string("purpose"), strAddress), strPurpose); +} + +bool CWalletDB::ErasePurpose(const string& strPurpose) +{ + nWalletDBUpdated++; + return Erase(make_pair(string("purpose"), strPurpose)); +} + bool CWalletDB::ReadAccount(const string& strAccount, CAccount& account) { account.SetNull(); @@ -214,6 +226,12 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, ssKey >> strAddress; ssValue >> pwallet->mapAddressBook[CBitcoinAddress(strAddress).Get()].name; } + else if (strType == "purpose") + { + string strAddress; + ssKey >> strAddress; + ssValue >> pwallet->mapAddressBook[CBitcoinAddress(strAddress).Get()].purpose; + } else if (strType == "tx") { uint256 hash; -- cgit v1.2.3