Skip to content

Commit c50123e

Browse files
committed
#1674 fixed lelantus info
1 parent 61a9681 commit c50123e

File tree

5 files changed

+38
-32
lines changed

5 files changed

+38
-32
lines changed

android/wallet_model.cpp

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -58,33 +58,6 @@ namespace
5858
return addr;
5959
}
6060

61-
std::string getAddressFrom(TxDescription m_tx)
62-
{
63-
if (m_tx.m_txType == wallet::TxType::PushTransaction && !m_tx.m_sender){
64-
return m_tx.getSenderIdentity();
65-
}
66-
return to_string(m_tx.m_sender ? m_tx.m_myId : m_tx.m_peerId);
67-
}
68-
69-
std::string getAddressTo(TxDescription m_tx)
70-
{
71-
if (m_tx.m_sender)
72-
{
73-
auto token = m_tx.getToken();
74-
if (token.length() == 0) {
75-
return to_string(m_tx.m_myId);
76-
}
77-
auto params = beam::wallet::ParseParameters(token);
78-
if (auto peerIdentity = params->GetParameter<WalletID>(TxParameterID::PeerID); peerIdentity)
79-
{
80-
auto s = std::to_string(*peerIdentity);
81-
return s;
82-
}
83-
return token;
84-
}
85-
return to_string(m_tx.m_myId);
86-
}
87-
8861
jobject fillTransactionData(JNIEnv* env, const TxDescription& txDescription)
8962
{
9063
jobject tx = env->AllocObject(TxDescriptionClass);
@@ -113,8 +86,8 @@ namespace
11386
setStringField(env, TxDescriptionClass, tx, "senderIdentity", txDescription.getSenderIdentity());
11487
setStringField(env, TxDescriptionClass, tx, "receiverIdentity", txDescription.getReceiverIdentity());
11588

116-
setStringField(env, TxDescriptionClass, tx, "receiverAddress", getAddressTo(txDescription));
117-
setStringField(env, TxDescriptionClass, tx, "senderAddress", getAddressFrom(txDescription));
89+
setStringField(env, TxDescriptionClass, tx, "receiverAddress", txDescription.getAddressTo());
90+
setStringField(env, TxDescriptionClass, tx, "senderAddress", txDescription.getAddressFrom());
11891

11992
if(txDescription.m_txType == wallet::TxType::PushTransaction) {
12093
auto token = txDescription.getToken();

wallet/api/api.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,10 @@ void GetStatusResponseJson(const TxDescription& tx,
146146
};
147147
statusInterpreter = std::make_unique<AssetTxStatusInterpreter>(tx);
148148
}
149+
else if (tx.m_txType == TxType::PushTransaction)
150+
{
151+
statusInterpreter = std::make_unique<MaxPrivacyTxStatusInterpreter>(tx);
152+
}
149153
else if (tx.m_txType == TxType::AtomicSwap)
150154
{
151155
#ifdef BEAM_ATOMIC_SWAP_SUPPORT
@@ -157,8 +161,8 @@ void GetStatusResponseJson(const TxDescription& tx,
157161
{"txId", TxIDToString(tx.m_txId)},
158162
{"status", tx.m_status},
159163
{"status_string", statusInterpreter ? statusInterpreter->getStatus() : "unknown"},
160-
{"sender", std::to_string(tx.m_sender ? tx.m_myId : tx.m_peerId)},
161-
{"receiver", std::to_string(tx.m_sender ? tx.m_peerId : tx.m_myId)},
164+
{"sender", tx.getAddressFrom()},
165+
{"receiver", tx.getAddressTo()},
162166
{"value", tx.m_amount},
163167
{"comment", std::string{ tx.m_message.begin(), tx.m_message.end() }},
164168
{"create_time", tx.m_createTime},

wallet/core/common.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ namespace std
9090
{
9191
string to_string(const beam::wallet::WalletID& id)
9292
{
93+
if (id == Zero)
94+
return {};
95+
9396
static_assert(sizeof(id) == sizeof(id.m_Channel) + sizeof(id.m_Pk), "");
9497
return EncodeToHex(id);
9598
}
@@ -953,6 +956,28 @@ namespace beam::wallet
953956
return {};
954957
}
955958

959+
std::string TxDescription::getAddressFrom() const
960+
{
961+
if (m_txType == wallet::TxType::PushTransaction && !m_sender)
962+
{
963+
return getSenderIdentity();
964+
}
965+
return std::to_string(m_sender ? m_myId : m_peerId);
966+
}
967+
968+
std::string TxDescription::getAddressTo() const
969+
{
970+
if (m_sender)
971+
{
972+
auto token = getToken();
973+
if (token.empty())
974+
return std::to_string(m_peerId);
975+
976+
return token;
977+
}
978+
return std::to_string(m_myId);
979+
}
980+
956981
uint64_t get_RandomID()
957982
{
958983
uintBigFor<uint64_t>::Type val;

wallet/core/common.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -605,6 +605,8 @@ namespace beam::wallet
605605
[[nodiscard]] std::string getSenderIdentity() const;
606606
[[nodiscard]] std::string getReceiverIdentity() const;
607607
[[nodiscard]] std::string getIdentity(bool isSender) const;
608+
[[nodiscard]] std::string getAddressFrom() const;
609+
[[nodiscard]] std::string getAddressTo() const;
608610

609611
#define BEAM_TX_DESCRIPTION_INITIAL_PARAMS(macro) \
610612
macro(TxParameterID::TransactionType, TxType, m_txType, wallet::TxType::Simple) \

wallet/core/wallet.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1729,6 +1729,7 @@ namespace beam::wallet
17291729
if (tx)
17301730
{
17311731
storage::setTxParameter(*m_WalletDB, txID, TxParameterID::AddressType, addressType, true);
1732+
storage::setTxParameter(*m_WalletDB, txID, TxParameterID::KernelProofHeight, coin.m_confirmHeight, true);
17321733
return;
17331734
}
17341735
else
@@ -1754,7 +1755,8 @@ namespace beam::wallet
17541755
.SetParameter(TxParameterID::CreateTime, RestoreCreationTime(tip, coin.m_confirmHeight))
17551756
.SetParameter(TxParameterID::PeerWalletIdentity, coin.m_CoinID.m_User.m_Sender)
17561757
.SetParameter(TxParameterID::MyWalletIdentity, receiverAddress.m_Identity)
1757-
.SetParameter(TxParameterID::KernelID, Merkle::Hash(Zero));
1758+
.SetParameter(TxParameterID::KernelID, Merkle::Hash(Zero))
1759+
.SetParameter(TxParameterID::KernelProofHeight, coin.m_confirmHeight);
17581760

17591761
if (message->m_MaxPrivacyMinAnonymitySet)
17601762
{

0 commit comments

Comments
 (0)