Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Poolswap to empty to address swaps to from address making to optional #1534

Merged
merged 10 commits into from
Nov 11, 2022

Conversation

Bushstar
Copy link
Member

@Bushstar Bushstar commented Oct 31, 2022

When failing to set an address on a pool swap the swapped amount is sent to the from address, not an empty inaccessible address.

src/masternodes/mn_checks.cpp Outdated Show resolved Hide resolved
@prasannavl prasannavl changed the title Fix from genesis master Backport of loan payback fix to genesis Nov 7, 2022
@prasannavl prasannavl changed the title Backport of loan payback fix to genesis Backport of negative interest payback fix to genesis Nov 7, 2022
@Bushstar Bushstar changed the title Backport of negative interest payback fix to genesis Poolswap to empty to address swaps to from address making to optional Nov 8, 2022
prasannavl
prasannavl previously approved these changes Nov 11, 2022
Copy link
Member

@prasannavl prasannavl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some boring changes to prefer readability.

@@ -4355,7 +4355,7 @@ Res CPoolSwap::ExecuteSwap(CCustomCSView& view, std::vector<DCT_ID> poolIDs, boo
intermediateView.Flush();

auto& addView = lastSwap ? view : intermediateView;
res = addView.AddBalance(lastSwap ? obj.to : obj.from, swapAmountResult);
res = addView.AddBalance(lastSwap ? (obj.to.empty() && height >= static_cast<uint32_t>(Params().GetConsensus().GrandCentralHeight) ? obj.from : obj.to) : obj.from, swapAmountResult);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
res = addView.AddBalance(lastSwap ? (obj.to.empty() && height >= static_cast<uint32_t>(Params().GetConsensus().GrandCentralHeight) ? obj.from : obj.to) : obj.from, swapAmountResult);
if (height >= static_cast<uint32_t>(Params().GetConsensus().GrandCentralHeight)) {
res = addView.AddBalance(lastSwap ? (obj.to.empty() ? obj.from : obj.to) : obj.from, swapAmountResult);
} else {
res = addView.AddBalance(lastSwap ? obj.to : obj.from, swapAmountResult);
}

@prasannavl prasannavl merged commit f2883af into master Nov 11, 2022
@prasannavl prasannavl deleted the fix-from-genesis-master branch November 11, 2022 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants