Skip to content

Commit 9269125

Browse files
committed
Use different curried functions for the different OASIS instances
1 parent eeb014f commit 9269125

11 files changed

+162
-84
lines changed

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
"@nimiq/fastspot-api": "https://github.com/nimiq/fastspot-api#3a7c4b68529d7ec9ba8955a399412eaae946c528",
3131
"@nimiq/hub-api": "file:../hub/client",
3232
"@nimiq/iqons": "^1.5.2",
33-
"@nimiq/libswap": "github:nimiq/libswap-js#8f66adf",
34-
"@nimiq/oasis-api": "github:nimiq/oasis-api-js#dbfcdf4707c8a030022b3474126f4596bacbc1c1",
33+
"@nimiq/libswap": "github:nimiq/libswap-js#f868f6407b122806a89f29c71351e8fb8289e879",
34+
"@nimiq/oasis-api": "github:nimiq/oasis-api-js#fbd74179a5b9590f8e6dfe9b08ca47122db2ce1e",
3535
"@nimiq/oasis-bank-list": "https://github.com/nimiq/oasis-bank-list#main",
3636
"@nimiq/rpc": "^0.4.1",
3737
"@nimiq/style": "^0.8.2",

src/components/modals/BuyCryptoModal.vue

+1-2
Original file line numberDiff line numberDiff line change
@@ -316,10 +316,8 @@ import {
316316
EurHtlcDetails,
317317
} from '@nimiq/fastspot-api';
318318
import {
319-
getHtlc,
320319
Htlc as OasisHtlc,
321320
HtlcStatus,
322-
sandboxMockClearHtlc,
323321
TransactionType,
324322
SepaClearingInstruction,
325323
} from '@nimiq/oasis-api';
@@ -379,6 +377,7 @@ import { useBankStore } from '../../stores/Bank';
379377
import { useKycStore } from '../../stores/Kyc';
380378
import KycPrompt from '../kyc/KycPrompt.vue';
381379
import KycOverlay from '../kyc/KycOverlay.vue';
380+
import { getHtlc, sandboxMockClearHtlc } from '../../lib/OasisEur';
382381
383382
enum Pages {
384383
WELCOME,

src/components/modals/SellCryptoModal.vue

+1-2
Original file line numberDiff line numberDiff line change
@@ -280,8 +280,6 @@ import {
280280
Contract,
281281
} from '@nimiq/fastspot-api';
282282
import {
283-
getHtlc,
284-
exchangeAuthorizationToken,
285283
HtlcStatus,
286284
TransactionType as OasisTransactionType,
287285
} from '@nimiq/oasis-api';
@@ -344,6 +342,7 @@ import {
344342
import { useKycStore } from '../../stores/Kyc';
345343
import KycPrompt from '../kyc/KycPrompt.vue';
346344
import KycOverlay from '../kyc/KycOverlay.vue';
345+
import { exchangeAuthorizationToken, getHtlc } from '../../lib/OasisEur';
347346
348347
type KycResult = import('../../swap-kyc-handler').SetupSwapWithKycResult['kyc'];
349348

src/components/swap/SwapNotification.vue

+4-3
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,8 @@ import {
5656
ClearingInfo,
5757
ClearingStatus,
5858
DeniedReason,
59-
getHtlc,
6059
Htlc as OasisHtlc,
6160
HtlcStatus,
62-
settleHtlc,
6361
SettlementInfo,
6462
SettlementStatus,
6563
} from '@nimiq/oasis-api';
@@ -88,6 +86,8 @@ import {
8886
} from '../../ethers';
8987
import { useUsdcTransactionsStore, Transaction as UsdcTransaction } from '../../stores/UsdcTransactions';
9088
import { POLYGON_BLOCKS_PER_MINUTE } from '../../lib/usdc/OpenGSN';
89+
import { getHtlc as getEurHtlc, settleHtlc as settleEurHtlc } from '../../lib/OasisEur';
90+
import { getHtlc as getCrcHtlc, settleHtlc as settleCrcHtlc } from '../../lib/OasisCrc';
9191
9292
enum SwapError {
9393
EXPIRED = 'EXPIRED',
@@ -285,8 +285,9 @@ export default defineComponent({
285285
};
286286
}
287287
case SwapAsset.CRC:
288+
return { getHtlc: getCrcHtlc, settleHtlc: settleCrcHtlc };
288289
case SwapAsset.EUR:
289-
return { getHtlc, settleHtlc };
290+
return { getHtlc: getEurHtlc, settleHtlc: settleEurHtlc };
290291
default: throw new Error(`Unsupported asset: ${asset}`);
291292
}
292293
}

src/composables/asset-transfer/useSinpeMovilSwap.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import {
3434
SinpeMovilHtlcCreationInstructions,
3535
} from '@nimiq/hub-api';
3636
import {
37-
getHtlc,
3837
HtlcStatus,
3938
TransactionType as OasisTransactionType,
4039
} from '@nimiq/oasis-api';
@@ -46,6 +45,7 @@ import SinpeUserInfo from '../../components/SinpeUserInfo.vue';
4645
import AddressSelector from '../../components/AddressSelector.vue';
4746
import { AssetTransferOptions, AssetTransferParams } from './types';
4847
import { useConfig } from '../useConfig';
48+
import { getHtlc } from '../../lib/OasisCrc';
4949

5050
function isCryptoCurrency(currency: any): currency is CryptoCurrency {
5151
return Object.values(CryptoCurrency).includes(currency.toLocaleLowerCase() as CryptoCurrency);

src/composables/useOasisPayoutStatusUpdater.ts

+10-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import { onUnmounted, Ref, watch } from '@vue/composition-api';
2-
import { getHtlc, SettlementInfo, SettlementStatus } from '@nimiq/oasis-api';
2+
import { SettlementInfo, SettlementStatus } from '@nimiq/oasis-api';
33
import { SwapAsset } from '@nimiq/fastspot-api';
4-
import { SwapData, SwapEurData, useSwapsStore } from '../stores/Swaps';
4+
import { SwapCrcData, SwapData, SwapEurData, useSwapsStore } from '../stores/Swaps';
5+
import { getHtlc as getEurHtlc } from '../lib/OasisEur';
6+
import { getHtlc as getCrcHtlc } from '../lib/OasisCrc';
57

68
// TODO: Remove logging when stable
79
/* eslint-disable no-console */
@@ -16,7 +18,7 @@ export function useOasisPayoutStatusUpdater(swapData: Ref<SwapData | null>) {
1618
return;
1719
}
1820

19-
const data = swapData.value as SwapEurData;
21+
const data = swapData.value as SwapEurData | SwapCrcData;
2022
const settlement = data.htlc!.settlement!;
2123

2224
// Determine check interval
@@ -30,7 +32,9 @@ export function useOasisPayoutStatusUpdater(swapData: Ref<SwapData | null>) {
3032
oasisPayoutCheckTimeout = 1; // Ensure no parallel executions
3133
console.log('Fetching HTLC now');
3234

33-
const htlc = await getHtlc(data.htlc!.id);
35+
const htlc = data.asset === SwapAsset.EUR
36+
? await getEurHtlc(data.htlc!.id)
37+
: await getCrcHtlc(data.htlc!.id);
3438
console.log('Got HTLC:', htlc);
3539

3640
settlement.status = htlc.settlement.status;
@@ -73,10 +77,10 @@ export function useOasisPayoutStatusUpdater(swapData: Ref<SwapData | null>) {
7377
}
7478

7579
watch(swapData, (data, previousData) => { // eslint-disable-line consistent-return
76-
if (previousData?.asset === SwapAsset.EUR) {
80+
if (previousData?.asset === SwapAsset.EUR || previousData?.asset === SwapAsset.CRC) {
7781
stop();
7882
}
79-
if (data?.asset !== SwapAsset.EUR) return stop();
83+
if (data?.asset !== SwapAsset.EUR && data?.asset !== SwapAsset.CRC) return stop();
8084
if (data.htlc?.settlement?.status !== SettlementStatus.ACCEPTED) return stop();
8185
if (oasisPayoutCheckTimeout) return; // eslint-disable-line consistent-return
8286
checkOasisPayoutStatus();

0 commit comments

Comments
 (0)