void SampleEscrowManager::OnInitializeEscrow(BtcGuiTest* btcGuiTest) { // create a new client if(client == NULL) this->client = SampleEscrowClientPtr(new SampleEscrowClient(BitcoinServerPtr(new BitcoinServer("admin1", "123", "http://127.0.0.1", 19001)))); // connect events to update GUI QObject::connect(client.get(), SIGNAL(SetMultiSigAddress(const std::string&)), btcGuiTest, SLOT(SetMultiSigAddress(const std::string&))); QObject::connect(client.get(), SIGNAL(SetTxIdDeposit(const std::string&)), btcGuiTest, SLOT(SetTxIdDeposit(const std::string&))); QObject::connect(client.get(), SIGNAL(SetConfirmationsDeposit(int)), btcGuiTest, SLOT(OnSetConfirmationsDeposit(int))); QObject::connect(client.get(), SIGNAL(SetStatusDeposit(SampleEscrowTransaction::SUCCESS)), btcGuiTest, SLOT(SetStatusDeposit(SampleEscrowTransaction::SUCCESS))); QObject::connect(client.get(), SIGNAL(SetWithdrawalAddress(const std::string&)), btcGuiTest, SLOT(SetWithdrawalAddress(const std::string&))); QObject::connect(client.get(), SIGNAL(SetTxIdWithdrawal(const std::string&)), btcGuiTest, SLOT(SetTxIdWithdrawal(const std::string&))); QObject::connect(client.get(), SIGNAL(SetConfirmationsWithdrawal(int)), btcGuiTest, SLOT(OnSetConfirmationsWithdrawal(int))); QObject::connect(client.get(), SIGNAL(SetStatusWithdrawal(SampleEscrowTransaction::SUCCESS)), btcGuiTest, SLOT(SetStatusWithdrawal(SampleEscrowTransaction::SUCCESS))); double amountToSend = btcGuiTest->GetAmountToSend(); int64_t amountSatoshis = BtcHelper::CoinsToSatoshis(amountToSend); // instruct client to start sending bitcoin to pool client->StartDeposit(amountSatoshis, this->escrowPool); }