@imtbl/sdk 1.4.0-alpha.2 → 1.4.1-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blockchain_data.js +2 -2
- package/dist/browser/checkout/BridgeWidget-cf957c15.js +1 -0
- package/dist/browser/checkout/OnRampWidget-83d73134.js +1 -0
- package/dist/browser/checkout/SaleWidget-ad8b7642.js +2 -0
- package/dist/browser/checkout/SpendingCapHero-0a0f9fd0.js +1 -0
- package/dist/browser/checkout/SwapWidget-7c0a1017.js +1 -0
- package/dist/browser/checkout/TopUpView-3b2e045d.js +1 -0
- package/dist/browser/checkout/WalletWidget-381ddb8f.js +1 -0
- package/dist/browser/checkout/{auto-track-1bf3a0ee.js → auto-track-8b6baf69.js} +1 -1
- package/dist/browser/checkout/balance-1493691b.js +1 -0
- package/dist/browser/checkout/index-1c33f972.js +1 -0
- package/dist/browser/checkout/{index-942c822d.js → index-287f0ec7.js} +1 -1
- package/dist/browser/checkout/{index-3272becd.js → index-531bae54.js} +1 -1
- package/dist/browser/checkout/{index-d9cfe478.js → index-696631eb.js} +9 -9
- package/dist/browser/checkout/{index-8562ab3b.js → index-b7b99467.js} +1 -1
- package/dist/browser/checkout/{index-9a5fbaa1.js → index-e7272f1c.js} +12 -12
- package/dist/browser/checkout/{index-6ee5fac7.js → index-feece362.js} +1 -1
- package/dist/browser/checkout/{index.umd-956dbfb2.js → index.umd-bcb0582f.js} +1 -1
- package/dist/browser/checkout/{retry-81ddd897.js → retry-86e4cf9a.js} +1 -1
- package/dist/browser/checkout/sdk.js +4 -4
- package/dist/browser/checkout/{useTransakEvents-8580b8ed.js → useTransakEvents-a01463cc.js} +2 -2
- package/dist/browser/checkout/widgets.js +1 -1
- package/dist/checkout.js +4 -4
- package/dist/config.js +1 -1
- package/dist/index.browser.js +4 -4
- package/dist/index.cjs +6 -6
- package/dist/index.js +6 -6
- package/dist/orderbook.js +1 -1
- package/dist/passport.js +3 -3
- package/dist/x.js +2 -2
- package/package.json +1 -1
- package/dist/browser/checkout/BridgeWidget-52ba2210.js +0 -2753
- package/dist/browser/checkout/BridgeWidget-fffec54f.js +0 -1
- package/dist/browser/checkout/OnRampWidget-04677711.js +0 -288
- package/dist/browser/checkout/OnRampWidget-b1c1cc52.js +0 -1
- package/dist/browser/checkout/SaleWidget-8b73504f.js +0 -1610
- package/dist/browser/checkout/SaleWidget-e9cc4cb2.js +0 -2
- package/dist/browser/checkout/SpendingCapHero-43c9cf8c.js +0 -9
- package/dist/browser/checkout/SpendingCapHero-af71a6f5.js +0 -1
- package/dist/browser/checkout/SwapWidget-45ff8dfa.js +0 -1
- package/dist/browser/checkout/SwapWidget-e52876ac.js +0 -1461
- package/dist/browser/checkout/TopUpView-590c2c4c.js +0 -365
- package/dist/browser/checkout/TopUpView-ff09517a.js +0 -1
- package/dist/browser/checkout/WalletWidget-9c4c62e4.js +0 -760
- package/dist/browser/checkout/WalletWidget-ed0bd774.js +0 -1
- package/dist/browser/checkout/balance-e5a26a9d.js +0 -1
- package/dist/browser/checkout/balance-e5d785aa.js +0 -182
- package/dist/browser/checkout/index-1405c4f4.js +0 -1
- package/dist/browser/checkout/index-4511315b.js +0 -5638
- package/dist/browser/checkout/retry-254e3478.js +0 -58
- package/dist/browser/checkout/useTransakEvents-54a554e5.js +0 -150
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { useBrowserLayoutEffect } from '@biom3/react';
|
|
2
|
-
import { useRef, useEffect } from 'react';
|
|
3
|
-
|
|
4
|
-
// Inspired by https://usehooks-ts.com/react-hook/use-interval
|
|
5
|
-
function useInterval(callback, delay) {
|
|
6
|
-
const savedCallback = useRef(callback);
|
|
7
|
-
const interval = useRef(0);
|
|
8
|
-
// Remember the latest callback if it changes.
|
|
9
|
-
useBrowserLayoutEffect(() => {
|
|
10
|
-
savedCallback.current = callback;
|
|
11
|
-
}, [callback]);
|
|
12
|
-
// Set up the interval.
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
// Don't schedule if no delay is specified.
|
|
15
|
-
// Note: 0 is a valid value for delay.
|
|
16
|
-
if (!delay && delay !== 0) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
interval.current = setInterval(() => savedCallback.current(), delay);
|
|
20
|
-
// eslint-disable-next-line consistent-return
|
|
21
|
-
return () => { clearInterval(interval.current); };
|
|
22
|
-
}, [delay]);
|
|
23
|
-
return () => {
|
|
24
|
-
if (interval.current) {
|
|
25
|
-
clearInterval(interval.current);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// eslint-disable-next-line no-promise-executor-return
|
|
31
|
-
const sleep = (ms = 0) => ms && new Promise((resolve) => setTimeout(resolve, ms));
|
|
32
|
-
const retry = async (fn, { retries, retryIntervalMs, nonRetryable, nonRetryableSilently, }) => {
|
|
33
|
-
let currentRetries = retries;
|
|
34
|
-
try {
|
|
35
|
-
return await fn();
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
if (nonRetryableSilently && nonRetryableSilently(error))
|
|
39
|
-
return undefined;
|
|
40
|
-
if (nonRetryable && nonRetryable(error))
|
|
41
|
-
throw error;
|
|
42
|
-
if (currentRetries !== undefined) {
|
|
43
|
-
if (currentRetries <= 0) {
|
|
44
|
-
throw error;
|
|
45
|
-
}
|
|
46
|
-
currentRetries -= 1;
|
|
47
|
-
}
|
|
48
|
-
await sleep(retryIntervalMs);
|
|
49
|
-
return retry(fn, {
|
|
50
|
-
retries: currentRetries,
|
|
51
|
-
retryIntervalMs,
|
|
52
|
-
nonRetryable,
|
|
53
|
-
nonRetryableSilently,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export { retry as r, useInterval as u };
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { useState, useRef, useCallback, useEffect } from 'react';
|
|
2
|
-
import * as url from 'url';
|
|
3
|
-
import { u as useAnalytics } from './index-4511315b.js';
|
|
4
|
-
|
|
5
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
|
6
|
-
var TransakEvents;
|
|
7
|
-
(function (TransakEvents) {
|
|
8
|
-
/**
|
|
9
|
-
* transak widget initialised
|
|
10
|
-
*/
|
|
11
|
-
TransakEvents["TRANSAK_WIDGET_INITIALISED"] = "TRANSAK_WIDGET_INITIALISED";
|
|
12
|
-
/**
|
|
13
|
-
* transak widget loaded
|
|
14
|
-
*/
|
|
15
|
-
TransakEvents["TRANSAK_WIDGET_OPEN"] = "TRANSAK_WIDGET_OPEN";
|
|
16
|
-
/**
|
|
17
|
-
* order created and awaiting payment from payment
|
|
18
|
-
*/
|
|
19
|
-
TransakEvents["TRANSAK_ORDER_CREATED"] = "TRANSAK_ORDER_CREATED";
|
|
20
|
-
/**
|
|
21
|
-
* order successfully submitted or completed
|
|
22
|
-
*/
|
|
23
|
-
TransakEvents["TRANSAK_ORDER_SUCCESSFUL"] = "TRANSAK_ORDER_SUCCESSFUL";
|
|
24
|
-
/**
|
|
25
|
-
* order processing failed
|
|
26
|
-
*/
|
|
27
|
-
TransakEvents["TRANSAK_ORDER_FAILED"] = "TRANSAK_ORDER_FAILED";
|
|
28
|
-
})(TransakEvents || (TransakEvents = {}));
|
|
29
|
-
var TransakStatuses;
|
|
30
|
-
(function (TransakStatuses) {
|
|
31
|
-
TransakStatuses["PROCESSING"] = "PROCESSING";
|
|
32
|
-
TransakStatuses["COMPLETED"] = "COMPLETED";
|
|
33
|
-
})(TransakStatuses || (TransakStatuses = {}));
|
|
34
|
-
|
|
35
|
-
const TRANSAK_ORIGIN = ['global.transak.com', 'global-stg.transak.com'];
|
|
36
|
-
const FAILED_TO_LOAD_TIMEOUT_IN_MS = 10000;
|
|
37
|
-
const ANALYTICS_EVENTS = {
|
|
38
|
-
[TransakEvents.TRANSAK_WIDGET_OPEN]: {
|
|
39
|
-
screen: 'InputScreen',
|
|
40
|
-
control: 'TransakWidgetOpen',
|
|
41
|
-
controlType: 'IframeEvent',
|
|
42
|
-
},
|
|
43
|
-
[TransakEvents.TRANSAK_ORDER_CREATED]: {
|
|
44
|
-
screen: 'InputScreen',
|
|
45
|
-
control: 'OrderCreated',
|
|
46
|
-
controlType: 'IframeEvent',
|
|
47
|
-
},
|
|
48
|
-
[`${TransakEvents.TRANSAK_ORDER_SUCCESSFUL}${TransakStatuses.PROCESSING}`]: {
|
|
49
|
-
screen: 'OrderInProgress',
|
|
50
|
-
control: 'PaymentProcessing',
|
|
51
|
-
controlType: 'IframeEvent',
|
|
52
|
-
},
|
|
53
|
-
[`${TransakEvents.TRANSAK_ORDER_SUCCESSFUL}${TransakStatuses.COMPLETED}`]: {
|
|
54
|
-
screen: 'Success',
|
|
55
|
-
control: 'PaymentCompleted',
|
|
56
|
-
controlType: 'IframeEvent',
|
|
57
|
-
},
|
|
58
|
-
[TransakEvents.TRANSAK_ORDER_FAILED]: {
|
|
59
|
-
screen: 'Failure',
|
|
60
|
-
control: 'PaymentFailed',
|
|
61
|
-
controlType: 'IframeEvent',
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
const useTransakEvents = (props) => {
|
|
65
|
-
const { track } = useAnalytics();
|
|
66
|
-
const { userJourney, ref, email, userId, isPassportWallet, failedToLoadTimeoutInMs, onFailedToLoad, } = props;
|
|
67
|
-
const [initialised, setInitialsed] = useState(false);
|
|
68
|
-
const failedToLoadTimeout = failedToLoadTimeoutInMs || FAILED_TO_LOAD_TIMEOUT_IN_MS;
|
|
69
|
-
const timeout = useRef(undefined);
|
|
70
|
-
const onInit = (data) => {
|
|
71
|
-
setInitialsed(true);
|
|
72
|
-
clearTimeout(timeout.current);
|
|
73
|
-
timeout.current = undefined;
|
|
74
|
-
props.onInit?.(data);
|
|
75
|
-
};
|
|
76
|
-
const onLoad = () => {
|
|
77
|
-
if (onFailedToLoad === undefined)
|
|
78
|
-
return;
|
|
79
|
-
if (timeout.current === undefined && !initialised) {
|
|
80
|
-
timeout.current = setTimeout(() => {
|
|
81
|
-
if (!initialised)
|
|
82
|
-
onFailedToLoad();
|
|
83
|
-
}, failedToLoadTimeout);
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
const handleAnalyticsEvent = useCallback((event) => {
|
|
87
|
-
const type = event.event_id;
|
|
88
|
-
const key = [TransakEvents.TRANSAK_ORDER_SUCCESSFUL].includes(type)
|
|
89
|
-
? `${type}${event.data.status}`
|
|
90
|
-
: type;
|
|
91
|
-
const eventData = ANALYTICS_EVENTS?.[key] || {};
|
|
92
|
-
if (Object.keys(eventData).length >= 0) {
|
|
93
|
-
track({
|
|
94
|
-
...eventData,
|
|
95
|
-
userJourney,
|
|
96
|
-
extras: {
|
|
97
|
-
email,
|
|
98
|
-
userId,
|
|
99
|
-
isPassportWallet,
|
|
100
|
-
},
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}, []);
|
|
104
|
-
const handleEvents = useCallback((event) => {
|
|
105
|
-
switch (event.event_id) {
|
|
106
|
-
case TransakEvents.TRANSAK_WIDGET_INITIALISED:
|
|
107
|
-
onInit(event.data);
|
|
108
|
-
break;
|
|
109
|
-
case TransakEvents.TRANSAK_WIDGET_OPEN:
|
|
110
|
-
props.onOpen?.(event.data);
|
|
111
|
-
break;
|
|
112
|
-
case TransakEvents.TRANSAK_ORDER_CREATED:
|
|
113
|
-
props.onOrderCreated?.(event.data);
|
|
114
|
-
break;
|
|
115
|
-
case TransakEvents.TRANSAK_ORDER_SUCCESSFUL:
|
|
116
|
-
if (event.data.status === TransakStatuses.PROCESSING) {
|
|
117
|
-
props.onOrderProcessing?.(event.data);
|
|
118
|
-
}
|
|
119
|
-
if (event.data.status === TransakStatuses.COMPLETED) {
|
|
120
|
-
props.onOrderCompleted?.(event.data);
|
|
121
|
-
}
|
|
122
|
-
break;
|
|
123
|
-
case TransakEvents.TRANSAK_ORDER_FAILED:
|
|
124
|
-
props.onOrderFailed?.(event.data);
|
|
125
|
-
break;
|
|
126
|
-
}
|
|
127
|
-
}, []);
|
|
128
|
-
const handleMessageEvent = useCallback((event) => {
|
|
129
|
-
const host = url.parse(event.origin)?.host?.toLowerCase();
|
|
130
|
-
const isTransakEvent = event.source === ref?.current?.contentWindow
|
|
131
|
-
&& host && TRANSAK_ORIGIN.includes(host);
|
|
132
|
-
if (!isTransakEvent)
|
|
133
|
-
return;
|
|
134
|
-
handleAnalyticsEvent(event.data);
|
|
135
|
-
handleEvents(event.data);
|
|
136
|
-
console.log('@@@ Transak event', event); // eslint-disable-line no-console
|
|
137
|
-
}, [ref]);
|
|
138
|
-
useEffect(() => {
|
|
139
|
-
window.addEventListener('message', handleMessageEvent);
|
|
140
|
-
return () => {
|
|
141
|
-
clearTimeout(timeout.current);
|
|
142
|
-
window.removeEventListener('message', handleMessageEvent);
|
|
143
|
-
};
|
|
144
|
-
}, []);
|
|
145
|
-
return {
|
|
146
|
-
initialised, onLoad,
|
|
147
|
-
};
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
export { TRANSAK_ORIGIN as T, useTransakEvents as u };
|