Skip to content

Commit 776dc06

Browse files
committed
fix: proper event names passed
1 parent 1caceef commit 776dc06

File tree

2 files changed

+21
-28
lines changed

2 files changed

+21
-28
lines changed

packages/react/src/core/balance-ramp/services/balance-ramp.client.ts

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import {
22
TransactionRequest,
33
TransactionResponse,
44
} from '@ethersproject/providers';
5+
import { Environment } from '@flair-sdk/common';
56
import axios from 'axios';
67
import { BigNumber, BigNumberish, constants, ethers, Signer } from 'ethers';
78
import { Deferrable } from 'ethers/lib/utils';
@@ -139,7 +140,7 @@ export class BalanceRampClient {
139140
...balanceRamp.settlementRelayMetaTx?.txReceipt,
140141
} as any),
141142
gasLimit: BigNumber.from(
142-
balanceRamp?.settlementRelayMetaTx?.txReceipt?.gasUsed,
143+
balanceRamp?.settlementRelayMetaTx?.txReceipt?.gasUsed || 0,
143144
),
144145
};
145146
}
@@ -513,12 +514,6 @@ export class BalanceRampClient {
513514
estimatedGasLimit: requiredBalance.estimatedGasLimit?.toString() || '',
514515
};
515516

516-
// const modal = openModalWithData(
517-
// {
518-
// url: `${BALANCE_RAMP_BACKEND[this.config.env].startSession}`,
519-
// },
520-
// rampRequest
521-
// );
522517
const url = `${BALANCE_RAMP_BACKEND[this.config.env].startSession}`;
523518
this.iframe.src = url;
524519
this.show();
@@ -533,35 +528,32 @@ export class BalanceRampClient {
533528
'*',
534529
);
535530
}, 500);
536-
setTimeout(() => {
537-
clearInterval(intervalRequest);
538-
}, 10000);
539-
540-
// periodically check if modal is closed
541-
// const interval = setInterval(() => {
542-
// if (modal?.closed) {
543-
// window.postMessage(
544-
// {
545-
// flair: true,
546-
// type: "WindowClosed",
547-
// },
548-
// "*"
549-
// );
550-
// clearInterval(interval);
551-
// }
552-
// }, 3000);
531+
532+
const handleInitialized = (event: any) => {
533+
if (
534+
event?.data?.flair &&
535+
event?.data?.type === 'BalanceRampInitialized'
536+
) {
537+
clearInterval(intervalRequest);
538+
window.removeEventListener('message', handleInitialized);
539+
}
540+
};
541+
window.addEventListener('message', handleInitialized);
553542
}
554543

555544
hide() {
556545
this.modalOverlay.style.opacity = '0';
557546
setTimeout(() => {
558547
this.modalOverlay.style.display = 'none';
559548
}, 300);
549+
this.iframe.src = 'about:blank';
560550
}
561551

562552
show() {
563553
this.modalOverlay.style.display = 'block';
564-
this.modalOverlay.style.opacity = '1';
554+
setTimeout(() => {
555+
this.modalOverlay.style.opacity = '1';
556+
}, 10);
565557
}
566558

567559
private injectModal() {
@@ -635,7 +627,7 @@ export class BalanceRampClient {
635627
}
636628

637629
switch (event.data.type) {
638-
case 'BalanceRampCanceled':
630+
case 'BalanceRampCancelled':
639631
case 'BalanceRampFailure':
640632
this.hide();
641633
break;
@@ -686,8 +678,10 @@ export class BalanceRampClient {
686678
reject('Payment was cancelled by user.');
687679
} else if (message.type === 'BalanceRampFailure') {
688680
reject(message.data);
681+
} else if (message.type === 'BalanceRampInitialized') {
682+
// ignore
689683
} else {
690-
reject('Unknown message type: ' + event.data);
684+
reject('Unknown message type: ' + event?.data?.type);
691685
}
692686
} catch (e) {
693687
console.error('Failed to parse message: ', e);

packages/react/src/core/balance-ramp/utils.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ export function openModalWithData(
2525
'_blank',
2626
`width=${w},height=${h},top=${y},left=${x},once=true,scrollbars=yes,status=0,toolbar=0,menubar=0,location=0`,
2727
);
28-
2928

3029
if (!modal) {
3130
throw new Error('Failed to open modal');

0 commit comments

Comments
 (0)