aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/wallet/wallet2_api.cpp13
-rw-r--r--src/wallet/wallet2_api.h3
-rw-r--r--tests/libwallet_api_tests/main.cpp12
3 files changed, 28 insertions, 0 deletions
diff --git a/src/wallet/wallet2_api.cpp b/src/wallet/wallet2_api.cpp
index faf2778d3..e6ed249cc 100644
--- a/src/wallet/wallet2_api.cpp
+++ b/src/wallet/wallet2_api.cpp
@@ -76,6 +76,7 @@ public:
uint64_t balance() const;
uint64_t unlockedBalance() const;
std::string displayAmount(uint64_t amount) const;
+ bool refresh();
private:
@@ -293,6 +294,18 @@ std::string WalletImpl::displayAmount(uint64_t amount) const
return cryptonote::print_money(amount);
}
+bool WalletImpl::refresh()
+{
+ clearStatus();
+ try {
+ m_wallet->refresh();
+ } catch (const std::exception &e) {
+ m_status = Status_Error;
+ m_errorString = e.what();
+ }
+ return m_status == Status_Ok;
+}
+
bool WalletImpl::connectToDaemon()
{
bool result = m_wallet->check_connection();
diff --git a/src/wallet/wallet2_api.h b/src/wallet/wallet2_api.h
index a56043e9e..c818608ed 100644
--- a/src/wallet/wallet2_api.h
+++ b/src/wallet/wallet2_api.h
@@ -74,6 +74,9 @@ struct Wallet
virtual std::string displayAmount(uint64_t amount) const = 0;
// TODO?
// virtual uint64_t unlockedDustBalance() const = 0;
+ // TODO refresh
+ virtual bool refresh() = 0;
+ // TODO transfer
};
/**
diff --git a/tests/libwallet_api_tests/main.cpp b/tests/libwallet_api_tests/main.cpp
index d5bdc8d67..d935a38b7 100644
--- a/tests/libwallet_api_tests/main.cpp
+++ b/tests/libwallet_api_tests/main.cpp
@@ -71,10 +71,13 @@ struct WalletManagerTest : public testing::Test
const char * WALLET_PASS2 = "password22";
const char * WALLET_LANG = "English";
+
// TODO: add test wallets to the source tree (as they have some balance mined)?
const char * TESTNET_WALLET_NAME = "/home/mbg033/dev/monero/testnet/wallet_01.bin";
const char * TESTNET_WALLET_PASS = "";
+ const char * TESTNET_DAEMON_ADDRESS = "localhost:38081";
+
WalletManagerTest()
{
std::cout << __FUNCTION__ << std::endl;
@@ -249,6 +252,15 @@ TEST_F(WalletManagerTest, WalletShowsBalance)
ASSERT_TRUE(wmgr->closeWallet(wallet2));
}
+TEST_F(WalletManagerTest, WalletRefresh)
+{
+ Bitmonero::Wallet * wallet1 = wmgr->openWallet(TESTNET_WALLET_NAME, TESTNET_WALLET_PASS, true);
+ // make sure testnet daemon is running
+ ASSERT_TRUE(wallet1->init(TESTNET_DAEMON_ADDRESS, 0));
+ ASSERT_TRUE(wallet1->refresh());
+ ASSERT_TRUE(wmgr->closeWallet(wallet1));
+}
+
int main(int argc, char** argv)
{