1
1
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' ;
3
3
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' ;
5
7
6
8
// TODO: Remove logging when stable
7
9
/* eslint-disable no-console */
@@ -16,7 +18,7 @@ export function useOasisPayoutStatusUpdater(swapData: Ref<SwapData | null>) {
16
18
return ;
17
19
}
18
20
19
- const data = swapData . value as SwapEurData ;
21
+ const data = swapData . value as SwapEurData | SwapCrcData ;
20
22
const settlement = data . htlc ! . settlement ! ;
21
23
22
24
// Determine check interval
@@ -30,7 +32,9 @@ export function useOasisPayoutStatusUpdater(swapData: Ref<SwapData | null>) {
30
32
oasisPayoutCheckTimeout = 1 ; // Ensure no parallel executions
31
33
console . log ( 'Fetching HTLC now' ) ;
32
34
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 ) ;
34
38
console . log ( 'Got HTLC:' , htlc ) ;
35
39
36
40
settlement . status = htlc . settlement . status ;
@@ -73,10 +77,10 @@ export function useOasisPayoutStatusUpdater(swapData: Ref<SwapData | null>) {
73
77
}
74
78
75
79
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 ) {
77
81
stop ( ) ;
78
82
}
79
- if ( data ?. asset !== SwapAsset . EUR ) return stop ( ) ;
83
+ if ( data ?. asset !== SwapAsset . EUR && data ?. asset !== SwapAsset . CRC ) return stop ( ) ;
80
84
if ( data . htlc ?. settlement ?. status !== SettlementStatus . ACCEPTED ) return stop ( ) ;
81
85
if ( oasisPayoutCheckTimeout ) return ; // eslint-disable-line consistent-return
82
86
checkOasisPayoutStatus ( ) ;
0 commit comments