mirror of
https://github.com/haveno-dex/haveno-ts.git
synced 2025-02-02 17:44:40 -05:00
expect arbitrator to update payout tx on confirm and unlock
default wallet refresh rate of 5000 ms, wait less time after make offer
This commit is contained in:
parent
e3f114eb66
commit
1f126bfa30
@ -2175,7 +2175,7 @@ async function testTradePayoutUnlock(ctx: TradeContext) {
|
||||
await wait(TestConfig.maxWalletStartupMs + ctx.walletSyncPeriodMs! * 2);
|
||||
if (getBuyer(ctx)) await testTradeState(await getBuyer(ctx)!.getTrade(ctx.offerId!), {phase: "COMPLETED", payoutState: ["PAYOUT_CONFIRMED", "PAYOUT_UNLOCKED"]});
|
||||
if (getSeller(ctx)) await testTradeState(await getSeller(ctx)!.getTrade(ctx.offerId!), {phase: "COMPLETED", payoutState: ["PAYOUT_CONFIRMED", "PAYOUT_UNLOCKED"]});
|
||||
await testTradeState(await ctx.arbitrator!.getTrade(ctx.offerId!), {phase: "COMPLETED", payoutState: ["PAYOUT_PUBLISHED", "PAYOUT_CONFIRMED", "PAYOUT_UNLOCKED"]}); // arbitrator idles wallet
|
||||
await testTradeState(await ctx.arbitrator!.getTrade(ctx.offerId!), {phase: "COMPLETED", payoutState: ["PAYOUT_CONFIRMED", "PAYOUT_UNLOCKED"]});
|
||||
let payoutTx = getBuyer(ctx) ? await getBuyer(ctx)?.getXmrTx(payoutTxId) : await getSeller(ctx)?.getXmrTx(payoutTxId);
|
||||
expect(payoutTx?.getIsConfirmed());
|
||||
|
||||
@ -2185,7 +2185,7 @@ async function testTradePayoutUnlock(ctx: TradeContext) {
|
||||
await wait(TestConfig.maxWalletStartupMs + ctx.walletSyncPeriodMs! * 2);
|
||||
if (await getBuyer(ctx)) await testTradeState(await getBuyer(ctx)!.getTrade(ctx.offerId!), {phase: "COMPLETED", payoutState: ["PAYOUT_UNLOCKED"]});
|
||||
if (await getSeller(ctx)) await testTradeState(await getSeller(ctx)!.getTrade(ctx.offerId!), {phase: "COMPLETED", payoutState: ["PAYOUT_UNLOCKED"]});
|
||||
await testTradeState(await ctx.arbitrator!.getTrade(ctx.offerId!), {phase: "COMPLETED", payoutState: ["PAYOUT_PUBLISHED", "PAYOUT_CONFIRMED", "PAYOUT_UNLOCKED"]}); // arbitrator idles wallet
|
||||
await testTradeState(await ctx.arbitrator!.getTrade(ctx.offerId!), {phase: "COMPLETED", payoutState: ["PAYOUT_UNLOCKED"]});
|
||||
payoutTx = getBuyer(ctx) ? await getBuyer(ctx)?.getXmrTx(payoutTxId) : await getSeller(ctx)?.getXmrTx(payoutTxId);
|
||||
expect(!payoutTx?.getIsLocked());
|
||||
}
|
||||
@ -2243,11 +2243,16 @@ async function makeOffer(ctx?: TradeContext): Promise<OfferInfo> {
|
||||
if (getOffer(await ctx.maker!.getOffers(ctx.assetCode!, ctx.direction), offer.getId())) throw new Error("My offer " + offer.getId() + " should not appear in available offers");
|
||||
|
||||
// unlocked balance has decreased
|
||||
const unlockedBalanceAfter = BigInt((await ctx.maker!.getBalances()).getAvailableBalance());
|
||||
let unlockedBalanceAfter = BigInt((await ctx.maker!.getBalances()).getAvailableBalance());
|
||||
if (offer.getState() === "SCHEDULED") {
|
||||
if (unlockedBalanceAfter !== unlockedBalanceBefore) throw new Error("Unlocked balance should not change for scheduled offer " + offer.getId());
|
||||
} else if (offer.getState() === "AVAILABLE") {
|
||||
if (unlockedBalanceAfter === unlockedBalanceBefore) throw new Error("Unlocked balance did not change after posting offer " + offer.getId() + ", before=" + unlockedBalanceBefore + ", after=" + unlockedBalanceAfter);
|
||||
if (unlockedBalanceAfter === unlockedBalanceBefore) {
|
||||
console.warn("Unlocked balance did not change after posting offer, waiting a sync period");
|
||||
await wait(ctx.walletSyncPeriodMs!);
|
||||
unlockedBalanceAfter = BigInt((await ctx.maker!.getBalances()).getAvailableBalance());
|
||||
if (unlockedBalanceAfter === unlockedBalanceBefore) throw new Error("Unlocked balance did not change after posting offer " + offer.getId() + ", before=" + unlockedBalanceBefore + ", after=" + unlockedBalanceAfter);
|
||||
}
|
||||
} else {
|
||||
throw new Error("Unexpected offer state after posting: " + offer.getState());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user