From a2f22edc37dc8edf13a3a2ad3319613cc32a42ec Mon Sep 17 00:00:00 2001 From: Yannick <52333989+Yannick1712@users.noreply.github.com> Date: Wed, 4 Mar 2026 10:31:27 +0100 Subject: [PATCH 1/2] [NOTASK] transaction mapper refactoring (#3303) --- .../core/history/mappers/transaction-dto.mapper.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/subdomains/core/history/mappers/transaction-dto.mapper.ts b/src/subdomains/core/history/mappers/transaction-dto.mapper.ts index 91baca9443..bafbfff669 100644 --- a/src/subdomains/core/history/mappers/transaction-dto.mapper.ts +++ b/src/subdomains/core/history/mappers/transaction-dto.mapper.ts @@ -419,10 +419,13 @@ function getTransactionStateDetails(entity: BuyFiat | BuyCrypto | RefReward | Tr case CheckStatus.FAIL: if ( entity.chargebackDate && - (entity.chargebackCryptoTxId || entity.checkoutTx || entity.chargebackOutput?.isTransmittedDate) + (Util.daysDiff(entity.chargebackDate) > 7 || + entity.chargebackCryptoTxId || + entity.checkoutTx || + entity.chargebackOutput?.isTransmittedDate) ) return { state: TransactionState.RETURNED, reason }; - if (entity.chargebackAllowedDateUser || entity.chargebackAllowedDate) + if (entity.chargebackAllowedDateUser || entity.chargebackAllowedDate || entity.chargebackDate) return { state: TransactionState.RETURN_PENDING, reason }; return { state: TransactionState.FAILED, @@ -463,8 +466,10 @@ function getTransactionStateDetails(entity: BuyFiat | BuyCrypto | RefReward | Tr return { state: TransactionState.CHECK_PENDING, reason }; case CheckStatus.FAIL: - if (entity.chargebackDate && entity.chargebackTxId) return { state: TransactionState.RETURNED, reason }; - if (entity.chargebackAllowedDateUser) return { state: TransactionState.RETURN_PENDING, reason }; + if (entity.chargebackDate && (Util.daysDiff(entity.chargebackDate) > 7 || entity.chargebackTxId)) + return { state: TransactionState.RETURNED, reason }; + if (entity.chargebackAllowedDateUser || entity.chargebackDate) + return { state: TransactionState.RETURN_PENDING, reason }; return { state: TransactionState.FAILED, reason, chargebackTxId: entity.chargebackTxId }; case CheckStatus.PASS: From b52a4f4fd9d14022821f35f6c89c6d886c9623c4 Mon Sep 17 00:00:00 2001 From: David May <85513542+davidleomay@users.noreply.github.com> Date: Wed, 4 Mar 2026 10:38:20 +0100 Subject: [PATCH 2/2] fix: layer zero completion check (#3342) --- .../adapters/actions/layerzero-bridge.adapter.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/subdomains/core/liquidity-management/adapters/actions/layerzero-bridge.adapter.ts b/src/subdomains/core/liquidity-management/adapters/actions/layerzero-bridge.adapter.ts index b067a0e40b..11b5df6ed0 100644 --- a/src/subdomains/core/liquidity-management/adapters/actions/layerzero-bridge.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/actions/layerzero-bridge.adapter.ts @@ -103,11 +103,12 @@ export class LayerZeroBridgeAdapter extends LiquidityActionAdapter { // Find transfer from the Citrea OFT contract matching the expected amount (with 5% tolerance) const expectedAmount = order.inputAmount; + const zeroAddress = '0x0000000000000000000000000000000000000000'; const matchingTransfer = transfers.find((t) => { const receivedAmount = EvmUtil.fromWeiAmount(t.value, asset.decimals); return ( t.contractAddress?.toLowerCase() === asset.chainId.toLowerCase() && - t.from?.toLowerCase() === oftAdapter.citrea.toLowerCase() && + t.from?.toLowerCase() === zeroAddress && Math.abs(receivedAmount - expectedAmount) / expectedAmount < 0.05 ); });