ionic_swaps: replaced Alice and Bob terms to Initiator and Finalizer

This commit is contained in:
cryptozoidberg 2023-10-10 19:05:52 +02:00
parent d33cfe7259
commit e066257278
No known key found for this signature in database
GPG key ID: 22DEB97A54C6FDEC
6 changed files with 35 additions and 35 deletions

View file

@ -5381,26 +5381,26 @@ bool wallet2::build_ionic_swap_template(const wallet_public::ionic_swap_proposal
ctp.mark_tx_as_complete = false;
ctp.crypt_address = destination_addr;
ctp.dsts.resize(proposal_detais.to_bob.size() + proposal_detais.to_alice.size());
ctp.dsts.resize(proposal_detais.to_finalizer.size() + proposal_detais.to_initiator.size());
size_t i = 0;
// Here is an proposed for exchange funds
for (; i != proposal_detais.to_bob.size(); i++)
for (; i != proposal_detais.to_finalizer.size(); i++)
{
ctp.dsts[i].amount = proposal_detais.to_bob[i].amount;
ctp.dsts[i].amount_to_provide = proposal_detais.to_bob[i].amount;
ctp.dsts[i].amount = proposal_detais.to_finalizer[i].amount;
ctp.dsts[i].amount_to_provide = proposal_detais.to_finalizer[i].amount;
ctp.dsts[i].flags |= tx_destination_entry_flags::tdef_explicit_amount_to_provide;
ctp.dsts[i].addr.push_back(destination_addr);
ctp.dsts[i].asset_id = proposal_detais.to_bob[i].asset_id;
ctp.dsts[i].asset_id = proposal_detais.to_finalizer[i].asset_id;
}
// Here is an expected in return funds
std::vector<payment_details_subtransfer> for_expiration_list;
for (size_t j = 0; j != proposal_detais.to_alice.size(); j++, i++)
for (size_t j = 0; j != proposal_detais.to_initiator.size(); j++, i++)
{
ctp.dsts[i].amount = proposal_detais.to_alice[j].amount;
ctp.dsts[i].amount = proposal_detais.to_initiator[j].amount;
ctp.dsts[i].amount_to_provide = 0;
ctp.dsts[i].flags |= tx_destination_entry_flags::tdef_explicit_amount_to_provide;
ctp.dsts[i].addr.push_back(m_account.get_public_address());
ctp.dsts[i].asset_id = proposal_detais.to_alice[j].asset_id;
ctp.dsts[i].asset_id = proposal_detais.to_initiator[j].asset_id;
for_expiration_list.push_back(payment_details_subtransfer{ ctp.dsts[i].asset_id, ctp.dsts[i].amount});
}
@ -5539,15 +5539,15 @@ bool wallet2::get_ionic_swap_proposal_info(const wallet_public::ionic_swap_propo
//need to make sure that funds for Bob properly funded
for (const auto& a : ammounts_to_b)
{
uint64_t amount_sent_back_to_alice = ammounts_to_a[a.first];
uint64_t amount_sent_back_to_initiator = ammounts_to_a[a.first];
if (amounts_provided_by_a[a.first] < (a.second + amount_sent_back_to_alice) )
if (amounts_provided_by_a[a.first] < (a.second + amount_sent_back_to_initiator) )
{
WLT_LOG_RED("Amount[" << a.first << "] provided by Alice(" << amounts_provided_by_a[a.first] << ") is less then transfered to Bob(" << a.second <<")", LOG_LEVEL_0);
return false;
}
amounts_provided_by_a[a.first] -= (amount_sent_back_to_alice + a.second);
proposal_info.to_bob.push_back(view::asset_funds{ a.first, a.second });
amounts_provided_by_a[a.first] -= (amount_sent_back_to_initiator + a.second);
proposal_info.to_finalizer.push_back(view::asset_funds{ a.first, a.second });
//clean accounted assets
ammounts_to_a.erase(ammounts_to_a.find(a.first));
if (amounts_provided_by_a[a.first] > 0)
@ -5568,7 +5568,7 @@ bool wallet2::get_ionic_swap_proposal_info(const wallet_public::ionic_swap_propo
return false;
}
proposal_info.to_alice.push_back(view::asset_funds{ a.first, a.second - amounts_provided_by_a[a.first] });
proposal_info.to_initiator.push_back(view::asset_funds{ a.first, a.second - amounts_provided_by_a[a.first] });
}
return true;
@ -5599,7 +5599,7 @@ bool wallet2::accept_ionic_swap_proposal(const wallet_public::ionic_swap_proposa
this->balance(balances, mined);
//validate balances needed
uint64_t native_amount_required = 0;
for (const auto& item : msc.proposal_info.to_alice)
for (const auto& item : msc.proposal_info.to_initiator)
{
if (balances[item.asset_id].unlocked < item.amount)
{
@ -6717,7 +6717,7 @@ bool wallet2::prepare_transaction(construct_tx_param& ctp, currency::finalize_tx
WLT_THROW_IF_FALSE_WALLET_INT_ERR_EX(get_tx_flags(tx_for_mode_separate) & TX_FLAG_SIGNATURE_MODE_SEPARATE, "tx_param.flags differs from tx.flags");
if (ftp.tx_version > TRANSACTION_VERSION_PRE_HF4)
{
for (const auto& el : msc.proposal_info.to_alice)
for (const auto& el : msc.proposal_info.to_initiator)
needed_money_map[el.asset_id].needed_amount += el.amount;
}

View file

@ -1323,16 +1323,16 @@ namespace wallet_public
struct ionic_swap_proposal_info
{
std::vector<asset_funds> to_bob; //assets that funded by side that making proposal(Alice) and addressed to receiver of proposal (Bob)
std::vector<asset_funds> to_alice; //assets expected to be funded by the side that receiving proposal (Bob) and addressed to Alice
std::vector<asset_funds> to_finalizer; //assets that addressed to receiver of proposal (aka Bob, aka "finalizer") and funded by side that creating proposal (aka Alice, aka "initiator")
std::vector<asset_funds> to_initiator; //assets addressed to initiator of proposal (aka Alice, aka "initiator") and expected to be funded by the side that receiving proposal (aka Bob, aka "finalizer")
uint64_t mixins;
uint64_t fee_paid_by_a;
//uint64_t expiration_time;
BEGIN_KV_SERIALIZE_MAP()
KV_SERIALIZE(to_bob)
KV_SERIALIZE(to_alice)
KV_SERIALIZE(to_finalizer)
KV_SERIALIZE(to_initiator)
KV_SERIALIZE(mixins)
KV_SERIALIZE(fee_paid_by_a)
//KV_SERIALIZE(expiration_time)

View file

@ -431,7 +431,7 @@ bool gen_block_miner_tx_has_no_out::generate(std::vector<test_event_entry>& even
return true;
}
bool gen_block_miner_tx_has_out_to_alice::generate(std::vector<test_event_entry>& events) const
bool gen_block_miner_tx_has_out_to_initiator::generate(std::vector<test_event_entry>& events) const
{
BLOCK_VALIDATION_INIT_GENERATE();
GENERATE_ACCOUNT(alice);
@ -444,11 +444,11 @@ bool gen_block_miner_tx_has_out_to_alice::generate(std::vector<test_event_entry>
crypto::generate_key_derivation(alice.get_keys().account_address.view_public_key, txkey.sec, derivation);
crypto::derive_public_key(derivation, 1, alice.get_keys().account_address.spend_public_key, out_eph_public_key);
tx_out_bare out_to_alice;
out_to_alice.amount =boost::get<currency::tx_out_bare>( miner_tx.vout[0]).amount / 2;
boost::get<currency::tx_out_bare>( miner_tx.vout[0]).amount -= out_to_alice.amount;
out_to_alice.target = txout_to_key(out_eph_public_key);
miner_tx.vout.push_back(out_to_alice);
tx_out_bare out_to_initiator;
out_to_initiator.amount =boost::get<currency::tx_out_bare>( miner_tx.vout[0]).amount / 2;
boost::get<currency::tx_out_bare>( miner_tx.vout[0]).amount -= out_to_initiator.amount;
out_to_initiator.target = txout_to_key(out_eph_public_key);
miner_tx.vout.push_back(out_to_initiator);
block blk_1;
generator.construct_block_manually(blk_1, blk_0, miner_account, test_generator::bf_miner_tx, 0, 0, 0, crypto::hash(), 0, miner_tx);

View file

@ -153,7 +153,7 @@ struct gen_block_miner_tx_has_no_out : public gen_block_verification_base<2>
bool generate(std::vector<test_event_entry>& events) const;
};
struct gen_block_miner_tx_has_out_to_alice : public gen_block_accepted_base<2>
struct gen_block_miner_tx_has_out_to_initiator : public gen_block_accepted_base<2>
{
bool generate(std::vector<test_event_entry>& events) const;
};

View file

@ -1161,7 +1161,7 @@ int main(int argc, char* argv[])
GENERATE_AND_PLAY_HF(gen_block_miner_tx_out_is_small, "0,3");
GENERATE_AND_PLAY_HF(gen_block_miner_tx_out_is_big, "0,3");
GENERATE_AND_PLAY_HF(gen_block_miner_tx_has_no_out, "0,3");
GENERATE_AND_PLAY_HF(gen_block_miner_tx_has_out_to_alice, "0,3");
GENERATE_AND_PLAY_HF(gen_block_miner_tx_has_out_to_initiator, "0,3");
GENERATE_AND_PLAY_HF(gen_block_has_invalid_tx, "0,3");
GENERATE_AND_PLAY_HF(gen_block_is_too_big, "0,3");
GENERATE_AND_PLAY_HF(gen_block_wrong_version_agains_hardfork, "0,3");

View file

@ -121,8 +121,8 @@ bool ionic_swap_basic_test::c1(currency::core& c, size_t ev_index, const std::ve
view::ionic_swap_proposal_info proposal_details = AUTO_VAL_INIT(proposal_details);
proposal_details.fee_paid_by_a = TESTS_DEFAULT_FEE;
proposal_details.mixins = 10;
proposal_details.to_bob.push_back(view::asset_funds{ asset_id , assets_to_exchange });
proposal_details.to_alice.push_back(view::asset_funds{ currency::native_coin_asset_id , native_coins_to_exchange });
proposal_details.to_finalizer.push_back(view::asset_funds{ asset_id , assets_to_exchange });
proposal_details.to_initiator.push_back(view::asset_funds{ currency::native_coin_asset_id , native_coins_to_exchange });
tools::wallet_public::ionic_swap_proposal proposal = AUTO_VAL_INIT(proposal);
alice_wlt->create_ionic_swap_proposal(proposal_details, m_accounts[BOB_ACC_IDX].get_public_address(), proposal);
@ -131,8 +131,8 @@ bool ionic_swap_basic_test::c1(currency::core& c, size_t ev_index, const std::ve
bob_wlt->get_ionic_swap_proposal_info(proposal, proposal_decoded_info);
//Validate proposal
if (proposal_decoded_info.to_bob != proposal_details.to_bob
|| proposal_decoded_info.to_alice != proposal_details.to_alice
if (proposal_decoded_info.to_finalizer != proposal_details.to_finalizer
|| proposal_decoded_info.to_initiator != proposal_details.to_initiator
|| proposal_decoded_info.fee_paid_by_a != proposal_details.fee_paid_by_a
|| proposal_decoded_info.mixins != proposal_details.mixins
)
@ -175,8 +175,8 @@ bool ionic_swap_basic_test::c1(currency::core& c, size_t ev_index, const std::ve
view::ionic_swap_proposal_info proposal_details = AUTO_VAL_INIT(proposal_details);
proposal_details.fee_paid_by_a = TESTS_DEFAULT_FEE;
proposal_details.mixins = 10;
proposal_details.to_bob.push_back(view::asset_funds{ currency::native_coin_asset_id , native_coins_to_exchange });
proposal_details.to_alice.push_back(view::asset_funds{ asset_id , assets_to_exchange });
proposal_details.to_finalizer.push_back(view::asset_funds{ currency::native_coin_asset_id , native_coins_to_exchange });
proposal_details.to_initiator.push_back(view::asset_funds{ asset_id , assets_to_exchange });
tools::wallet_public::ionic_swap_proposal proposal = AUTO_VAL_INIT(proposal);
alice_wlt->create_ionic_swap_proposal(proposal_details, m_accounts[BOB_ACC_IDX].get_public_address(), proposal);
@ -185,8 +185,8 @@ bool ionic_swap_basic_test::c1(currency::core& c, size_t ev_index, const std::ve
bob_wlt->get_ionic_swap_proposal_info(proposal, proposal_decoded_info);
//Validate proposal
if (proposal_decoded_info.to_bob != proposal_details.to_bob
|| proposal_decoded_info.to_alice != proposal_details.to_alice
if (proposal_decoded_info.to_finalizer != proposal_details.to_finalizer
|| proposal_decoded_info.to_initiator != proposal_details.to_initiator
|| proposal_decoded_info.fee_paid_by_a != proposal_details.fee_paid_by_a
|| proposal_decoded_info.mixins != proposal_details.mixins
)