4

I'm trying to understand the different scenarios where merging an account into another one produces an error case. For the most part, it's all pretty straightforward, but I'm struggling to come up with a scenario that produces the error ACCOUNT_MERGE_DEST_FULL.

The error description reads:

The destination account cannot receive the balance of the source account and still satisfy its lumen buying liabilities.

Keeping in mind a requirement of merging an account requires trade offers and open trustlines to be closed, I interpret this as the source account can't receive XLM that would put the minimum balance of the destination account in a state where it can't satisfy the (2 + subentry) * 0.5 balance requirement. But if you're adding XLM to the destination, you're only increasing the deficit from that amount and would not ever hit the error scenario.

There's something I'm missing for this error case - does anybody else have a better understanding?

1

I checked sources and didn't find any case when the server could return ACCOUNT_MERGE_DEST_FULL error. Well, of course you can run a standalone server, and update balances of two accounts directly in the database to produce a situation when dest account balance will be larger than Int64 max value after the merge is applied. In theory it may lead to integer overflow error and you'll get ACCOUNT_MERGE_DEST_FULL error.

Looks like this error was added to handle future possible disruptive changes in the internal addBalance method which also process payments and DEX trades.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.