mirror of
https://github.com/logos-blockchain/lez-programs.git
synced 2026-08-26 06:31:19 +00:00
fix(liquidity): clarify fresh LP account conflicts
This commit is contained in:
@@ -639,7 +639,7 @@ int main(int argc, char** argv)
|
||||
if (!expect(reservedAccount.value(QStringLiteral("code")).toString()
|
||||
== QStringLiteral("backend_error")
|
||||
&& nonDefaultAccount.value(QStringLiteral("code")).toString()
|
||||
== QStringLiteral("submission_status_unknown")
|
||||
== QStringLiteral("fresh_lp_account_in_use")
|
||||
&& replacementAccount.value(QStringLiteral("status")).toString()
|
||||
== QStringLiteral("submitted")
|
||||
&& nonDefaultWallet.createdAccounts == 2,
|
||||
@@ -1425,6 +1425,45 @@ int main(int argc, char** argv)
|
||||
"sequencer should validate a newly created LP account"))
|
||||
return 1;
|
||||
|
||||
FakeWallet occupiedFreshLpWallet;
|
||||
occupiedFreshLpWallet.failCreatedPublicRead = true;
|
||||
FakeAmmClient occupiedFreshLpClient;
|
||||
occupiedFreshLpClient.normalizedBalanceHex = QString(31, QLatin1Char('0'))
|
||||
+ QLatin1Char('1');
|
||||
SequencerClient occupiedFreshLpSequencer(&occupiedFreshLpClient);
|
||||
if (!expect(occupiedFreshLpSequencer.configure(sequencerConfig.fileName()),
|
||||
"occupied fresh-LP sequencer should configure"))
|
||||
return 1;
|
||||
NewPositionRuntime occupiedFreshLpRuntime(
|
||||
&occupiedFreshLpWallet, &occupiedFreshLpClient, &occupiedFreshLpSequencer);
|
||||
QVariantMap occupiedFreshLpResult;
|
||||
occupiedFreshLpRuntime.submitAsync(
|
||||
request, QStringLiteral("sha256:expected"), readyNetwork(), true,
|
||||
[&](QVariantMap result) {
|
||||
occupiedFreshLpResult = std::move(result);
|
||||
});
|
||||
if (!expect(waitForCondition([&]() { return !occupiedFreshLpResult.isEmpty(); }),
|
||||
"occupied fresh LP account should be rejected"))
|
||||
return 1;
|
||||
occupiedFreshLpWallet.failCreatedPublicRead = false;
|
||||
QVariantMap occupiedFreshLpRetry;
|
||||
occupiedFreshLpRuntime.submitAsync(
|
||||
request, QStringLiteral("sha256:expected"), readyNetwork(), true,
|
||||
[&](QVariantMap result) {
|
||||
occupiedFreshLpRetry = std::move(result);
|
||||
});
|
||||
if (!expect(waitForCondition([&]() { return !occupiedFreshLpRetry.isEmpty(); }),
|
||||
"fresh LP retry should complete"))
|
||||
return 1;
|
||||
if (!expect(occupiedFreshLpResult.value(QStringLiteral("code")).toString()
|
||||
== QStringLiteral("fresh_lp_account_in_use")
|
||||
&& occupiedFreshLpWallet.submissions == 1
|
||||
&& occupiedFreshLpRetry.value(QStringLiteral("status")).toString()
|
||||
== QStringLiteral("submitted")
|
||||
&& occupiedFreshLpWallet.createdAccounts == 2,
|
||||
"occupied fresh LP account should not submit and should be replaced"))
|
||||
return 1;
|
||||
|
||||
FakeWallet cancelledSubmissionWallet;
|
||||
cancelledSubmissionWallet.deferSubmission = true;
|
||||
cancelledSubmissionWallet.submissionFailuresRemaining = 1;
|
||||
|
||||
Reference in New Issue
Block a user