@getpara/react-common 2.17.0 → 2.19.0
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/components/index.d.ts +0 -2
- package/dist/components/index.js +0 -2
- package/dist/types/index.d.ts +1 -14
- package/dist/utils/index.d.ts +1 -32
- package/dist/utils/index.js +2 -87
- package/package.json +4 -6
- package/dist/components/MoonPayEmbed.d.ts +0 -5
- package/dist/components/MoonPayEmbed.js +0 -151
- package/dist/components/RampEmbed.d.ts +0 -4
- package/dist/components/RampEmbed.js +0 -91
package/dist/components/index.js
CHANGED
package/dist/types/index.d.ts
CHANGED
|
@@ -1,19 +1,6 @@
|
|
|
1
|
-
import { AuthInfo
|
|
2
|
-
import { OfframpDepositRequest, type OnRampConfig, type OnRampPurchase } from '@getpara/web-sdk';
|
|
1
|
+
import { AuthInfo } from '@getpara/user-management-client';
|
|
3
2
|
export * from './externalWalletCommon.js';
|
|
4
3
|
export * from './commonTypes.js';
|
|
5
|
-
export type OnRampProps = {
|
|
6
|
-
appName?: string;
|
|
7
|
-
email?: string;
|
|
8
|
-
isDark?: boolean;
|
|
9
|
-
isEmbedded?: boolean;
|
|
10
|
-
onClose?: () => void;
|
|
11
|
-
onRampConfig: OnRampConfig;
|
|
12
|
-
onRampPurchase: OnRampPurchase;
|
|
13
|
-
onDepositRequest: (_: OfframpDepositRequest) => Promise<string>;
|
|
14
|
-
onUpdate: (_: OnRampPurchaseUpdateParams) => Promise<void>;
|
|
15
|
-
onSuccess: (_: OnRampPurchaseUpdateParams) => Promise<void>;
|
|
16
|
-
};
|
|
17
4
|
export type ModalAuthInfo = AuthInfo & Partial<{
|
|
18
5
|
pfpUrl: string | null;
|
|
19
6
|
displayName: string | null;
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,37 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function getCurrencyCode({ assetInfo }: OnRampConfig, { network, asset, provider }: {
|
|
3
|
-
network: TNetwork;
|
|
4
|
-
asset: TOnRampAsset;
|
|
5
|
-
provider: OnRampProvider;
|
|
6
|
-
}): string | undefined;
|
|
7
|
-
export declare function getCurrencyCodes({ assetInfo, allowedAssets, defaultOnRampNetwork, defaultOnRampAsset }: OnRampConfig, { provider, purchaseType, walletType, }: {
|
|
8
|
-
provider: OnRampProvider;
|
|
9
|
-
purchaseType: OnRampPurchaseType;
|
|
10
|
-
walletType: TWalletType;
|
|
11
|
-
}): {
|
|
12
|
-
currencyCodes: string[];
|
|
13
|
-
defaultCurrencyCode?: string;
|
|
14
|
-
};
|
|
15
|
-
export declare function reverseCurrencyLookup(data: OnRampAssetInfo, provider: OnRampProvider, code: string): [TNetwork, TOnRampAsset];
|
|
16
|
-
export declare const TestNetworks: {
|
|
17
|
-
main: TNetwork;
|
|
18
|
-
test: TNetwork;
|
|
19
|
-
}[];
|
|
20
|
-
export declare function getNetworkTestEquivalent(network: TNetwork): TNetwork | undefined;
|
|
1
|
+
import { TNetwork } from '@getpara/user-management-client';
|
|
21
2
|
export declare function getNetworkOrMainNetEquivalent(network: TNetwork, testMode?: boolean): TNetwork;
|
|
22
|
-
export declare const NetworkChainIds: {
|
|
23
|
-
chainId: string;
|
|
24
|
-
network: TNetwork;
|
|
25
|
-
}[];
|
|
26
|
-
export declare function getChainId(network: TNetwork): string | undefined;
|
|
27
3
|
export declare function getNetworkFromChainId(chainId?: string | undefined): TNetwork | undefined;
|
|
28
|
-
export declare const NetworkAssetAddresses: {
|
|
29
|
-
network: TNetwork;
|
|
30
|
-
asset: TOnRampAsset;
|
|
31
|
-
address: string;
|
|
32
|
-
}[];
|
|
33
|
-
export declare function getAssetFromContractAddress(network: TNetwork, contractAddress: string): TOnRampAsset | undefined;
|
|
34
|
-
export declare function getContractAddressFromAsset(network: TNetwork, asset: TOnRampAsset): string | undefined;
|
|
35
4
|
export * from './getDeviceLogo.js';
|
|
36
5
|
export * from './getDeviceModelName.js';
|
|
37
6
|
export * from './getBrowserName.js';
|
package/dist/utils/index.js
CHANGED
|
@@ -1,50 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
3
|
-
__spreadValues
|
|
4
|
-
} from "../chunk-MMUBH76A.js";
|
|
5
|
-
import { getOnRampNetworks, getOnRampAssets, toAssetInfoArray } from "@getpara/core-sdk";
|
|
6
|
-
function getCurrencyCode({ assetInfo }, { network, asset, provider }) {
|
|
7
|
-
var _a, _b, _c;
|
|
8
|
-
return (_c = (_b = (_a = Object.values(assetInfo).reduce((acc, record) => __spreadValues(__spreadValues({}, acc), record), {})[network]) == null ? void 0 : _a[asset]) == null ? void 0 : _b[provider]) == null ? void 0 : _c[0];
|
|
9
|
-
}
|
|
10
|
-
function getCurrencyCodes({ assetInfo, allowedAssets, defaultOnRampNetwork, defaultOnRampAsset }, {
|
|
11
|
-
provider,
|
|
12
|
-
purchaseType,
|
|
13
|
-
walletType
|
|
14
|
-
}) {
|
|
15
|
-
let defaultCurrencyCode;
|
|
16
|
-
const currencyCodes = getOnRampNetworks(assetInfo, {
|
|
17
|
-
walletType,
|
|
18
|
-
allowed: allowedAssets ? Object.keys(allowedAssets) : void 0
|
|
19
|
-
}).sort((a, b) => a === defaultOnRampNetwork ? -1 : b === defaultOnRampNetwork ? 1 : 0).reduce((acc, network) => {
|
|
20
|
-
const allowed = Array.isArray(allowedAssets == null ? void 0 : allowedAssets[network]) ? allowedAssets[network] : void 0;
|
|
21
|
-
return [
|
|
22
|
-
...acc,
|
|
23
|
-
...getOnRampAssets(assetInfo, { walletType, network, allowed }).sort((a, b) => a === defaultOnRampAsset ? -1 : b === defaultOnRampAsset ? 1 : 0).map((asset) => {
|
|
24
|
-
var _a, _b, _c, _d, _e, _f;
|
|
25
|
-
if (network === defaultOnRampNetwork && asset === defaultOnRampAsset) {
|
|
26
|
-
defaultCurrencyCode = (_c = (_b = (_a = assetInfo[walletType]) == null ? void 0 : _a[network]) == null ? void 0 : _b[asset]) == null ? void 0 : _c[provider][0];
|
|
27
|
-
}
|
|
28
|
-
return (_f = (_e = (_d = assetInfo[walletType]) == null ? void 0 : _d[network]) == null ? void 0 : _e[asset]) == null ? void 0 : _f[provider];
|
|
29
|
-
}).filter((entry) => !!entry && !!entry[1][purchaseType]).map(([code]) => code)
|
|
30
|
-
];
|
|
31
|
-
}, []).filter((code) => !!code);
|
|
32
|
-
return { currencyCodes, defaultCurrencyCode: defaultCurrencyCode || currencyCodes[0] };
|
|
33
|
-
}
|
|
34
|
-
function reverseCurrencyLookup(data, provider, code) {
|
|
35
|
-
const row = toAssetInfoArray(data).find(
|
|
36
|
-
([_, __, ___, providers]) => [code.toUpperCase(), code.toLowerCase()].includes(providers[provider][0])
|
|
37
|
-
);
|
|
38
|
-
return [row == null ? void 0 : row[1], row == null ? void 0 : row[2]];
|
|
39
|
-
}
|
|
2
|
+
import "../chunk-MMUBH76A.js";
|
|
40
3
|
const TestNetworks = [
|
|
41
4
|
{ main: "ETHEREUM", test: "SEPOLIA" },
|
|
42
5
|
{ main: "SOLANA", test: "SOLANA_DEVNET" }
|
|
43
6
|
];
|
|
44
|
-
function getNetworkTestEquivalent(network) {
|
|
45
|
-
var _a;
|
|
46
|
-
return (_a = TestNetworks.find(({ main }) => main === network)) == null ? void 0 : _a.test;
|
|
47
|
-
}
|
|
48
7
|
function getNetworkOrMainNetEquivalent(network, testMode) {
|
|
49
8
|
var _a, _b;
|
|
50
9
|
return testMode ? (_b = (_a = TestNetworks.find(({ test }) => test === network)) == null ? void 0 : _a.main) != null ? _b : network : network;
|
|
@@ -58,44 +17,10 @@ const NetworkChainIds = [
|
|
|
58
17
|
{ chainId: "42161", network: "ARBITRUM" },
|
|
59
18
|
{ chainId: "10", network: "OPTIMISM" }
|
|
60
19
|
];
|
|
61
|
-
function getChainId(network) {
|
|
62
|
-
var _a, _b;
|
|
63
|
-
return (_b = (_a = NetworkChainIds.find(({ network: n }) => n === network)) == null ? void 0 : _a.chainId) != null ? _b : void 0;
|
|
64
|
-
}
|
|
65
20
|
function getNetworkFromChainId(chainId) {
|
|
66
21
|
var _a;
|
|
67
22
|
return chainId ? (_a = NetworkChainIds.find(({ chainId: c }) => c === chainId)) == null ? void 0 : _a.network : void 0;
|
|
68
23
|
}
|
|
69
|
-
const ETH_CONTRACT_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
70
|
-
const NetworkAssetAddresses = [
|
|
71
|
-
{ network: "ETHEREUM", asset: "USDC", address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" },
|
|
72
|
-
{ network: "POLYGON", asset: "USDC", address: "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359" },
|
|
73
|
-
{ network: "CELO", asset: "USDC", address: "0xcebA9300f2b948710d2653dD7B07f33A8B32118C" },
|
|
74
|
-
{ network: "BASE", asset: "USDC", address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" },
|
|
75
|
-
{ network: "ARBITRUM", asset: "USDC", address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" },
|
|
76
|
-
{ network: "OPTIMISM", asset: "USDC", address: "0x0b2c639c533813f4aa9d7837caf62653d097ff85" },
|
|
77
|
-
{ network: "SOLANA", asset: "USDC", address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" },
|
|
78
|
-
{ network: "SOLANA_DEVNET", asset: "USDC", address: "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU" },
|
|
79
|
-
{ network: "SEPOLIA", asset: "USDC", address: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238" },
|
|
80
|
-
{ network: "SOLANA_DEVNET", asset: "TETHER", address: "EJwZgeZrdC8TXTQbQBoL6bfuAnFUUy1PVCMB4DYPzVaS" }
|
|
81
|
-
];
|
|
82
|
-
function getAssetFromContractAddress(network, contractAddress) {
|
|
83
|
-
var _a, _b;
|
|
84
|
-
if (contractAddress === ETH_CONTRACT_ADDRESS) {
|
|
85
|
-
return "USDC";
|
|
86
|
-
}
|
|
87
|
-
const checkNetworks = [network, (_a = getNetworkOrMainNetEquivalent(network)) != null ? _a : void 0].filter((n) => !!n).map((n) => n);
|
|
88
|
-
return (_b = NetworkAssetAddresses.find(
|
|
89
|
-
(row) => checkNetworks.includes(row.network) && row.asset.toLowerCase() === contractAddress.toLowerCase()
|
|
90
|
-
)) == null ? void 0 : _b.asset;
|
|
91
|
-
}
|
|
92
|
-
function getContractAddressFromAsset(network, asset) {
|
|
93
|
-
var _a;
|
|
94
|
-
if (asset === "USDC") {
|
|
95
|
-
return ETH_CONTRACT_ADDRESS;
|
|
96
|
-
}
|
|
97
|
-
return (_a = NetworkAssetAddresses.find((row) => row.network === network && row.asset === asset)) == null ? void 0 : _a.address;
|
|
98
|
-
}
|
|
99
24
|
export * from "./getDeviceLogo.js";
|
|
100
25
|
export * from "./getDeviceModelName.js";
|
|
101
26
|
export * from "./getBrowserName.js";
|
|
@@ -105,16 +30,6 @@ export * from "./getExternalWalletIcon.js";
|
|
|
105
30
|
export * from "./safeStyled.js";
|
|
106
31
|
export * from "./openMobileUrl.js";
|
|
107
32
|
export {
|
|
108
|
-
NetworkAssetAddresses,
|
|
109
|
-
NetworkChainIds,
|
|
110
|
-
TestNetworks,
|
|
111
|
-
getAssetFromContractAddress,
|
|
112
|
-
getChainId,
|
|
113
|
-
getContractAddressFromAsset,
|
|
114
|
-
getCurrencyCode,
|
|
115
|
-
getCurrencyCodes,
|
|
116
33
|
getNetworkFromChainId,
|
|
117
|
-
getNetworkOrMainNetEquivalent
|
|
118
|
-
getNetworkTestEquivalent,
|
|
119
|
-
reverseCurrencyLookup
|
|
34
|
+
getNetworkOrMainNetEquivalent
|
|
120
35
|
};
|
package/package.json
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getpara/react-common",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.19.0",
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@getpara/react-components": "2.
|
|
6
|
-
"@getpara/web-sdk": "2.
|
|
7
|
-
"@moonpay/moonpay-react": "^1.10.6",
|
|
8
|
-
"@ramp-network/ramp-instant-sdk": "^4.0.5",
|
|
5
|
+
"@getpara/react-components": "2.19.0",
|
|
6
|
+
"@getpara/web-sdk": "2.19.0",
|
|
9
7
|
"framer-motion": "^11.3.31",
|
|
10
8
|
"libphonenumber-js": "^1.11.7",
|
|
11
9
|
"styled-components": "^6",
|
|
@@ -38,5 +36,5 @@
|
|
|
38
36
|
],
|
|
39
37
|
"type": "module",
|
|
40
38
|
"types": "dist/index.d.ts",
|
|
41
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "7dc9400777adb653c0cc28e0d9236424eb384467"
|
|
42
40
|
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { OnRampProps } from '../types/index.js';
|
|
2
|
-
export declare const MoonPayEmbed: ({ email, isDark, isEmbedded, onRampConfig, onRampPurchase, onSuccess, onDepositRequest, onUrlSignatureRequest, }: OnRampProps & {
|
|
3
|
-
onUrlSignatureRequest: (url: string) => Promise<string>;
|
|
4
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
-
export default MoonPayEmbed;
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
__async
|
|
4
|
-
} from "../chunk-MMUBH76A.js";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
6
|
-
import { OnRampProvider } from "@getpara/web-sdk";
|
|
7
|
-
import { lazy, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
8
|
-
import { reverseCurrencyLookup, getCurrencyCode, safeStyled } from "../utils/index.js";
|
|
9
|
-
const MOONPAY_PUBLISHABLE_KEY = "pk_live_EQva4LydtNDE0Rwd9X7SG9w58wqOzbux";
|
|
10
|
-
const MOONPAY_PUBLISHABLE_KEY_TEST = "pk_test_HYobzemmTBXxcSStVA4dSED6jT";
|
|
11
|
-
const MoonPayEmbed = ({
|
|
12
|
-
email,
|
|
13
|
-
isDark,
|
|
14
|
-
isEmbedded,
|
|
15
|
-
onRampConfig,
|
|
16
|
-
onRampPurchase,
|
|
17
|
-
onSuccess,
|
|
18
|
-
onDepositRequest,
|
|
19
|
-
onUrlSignatureRequest
|
|
20
|
-
}) => {
|
|
21
|
-
const [components, setComponents] = useState(null);
|
|
22
|
-
const widgetEmbedRef = useRef(null);
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
const _LazyMoonPayBuyWidget = lazy(
|
|
25
|
-
() => import("@moonpay/moonpay-react").then((mod) => ({ default: mod.MoonPayBuyWidget }))
|
|
26
|
-
);
|
|
27
|
-
const _LazyMoonPaySellWidget = lazy(
|
|
28
|
-
() => import("@moonpay/moonpay-react").then((mod) => ({ default: mod.MoonPaySellWidget }))
|
|
29
|
-
);
|
|
30
|
-
const _LazyMoonPayProvider = lazy(
|
|
31
|
-
() => import("@moonpay/moonpay-react").then((mod) => ({ default: mod.MoonPayProvider }))
|
|
32
|
-
);
|
|
33
|
-
setComponents({
|
|
34
|
-
MoonPayBuyWidget: _LazyMoonPayBuyWidget,
|
|
35
|
-
MoonPaySellWidget: _LazyMoonPaySellWidget,
|
|
36
|
-
MoonPayProvider: _LazyMoonPayProvider
|
|
37
|
-
});
|
|
38
|
-
}, []);
|
|
39
|
-
const apiKey = onRampPurchase.testMode ? MOONPAY_PUBLISHABLE_KEY_TEST : MOONPAY_PUBLISHABLE_KEY;
|
|
40
|
-
const onTransactionCompleted = useCallback(
|
|
41
|
-
(payload) => __async(void 0, null, function* () {
|
|
42
|
-
try {
|
|
43
|
-
const [network, asset] = reverseCurrencyLookup(
|
|
44
|
-
onRampConfig.assetInfo,
|
|
45
|
-
OnRampProvider.MOONPAY,
|
|
46
|
-
payload.quoteCurrency.code
|
|
47
|
-
);
|
|
48
|
-
onSuccess({
|
|
49
|
-
fiatQuantity: payload.baseCurrencyAmount.toString(),
|
|
50
|
-
fiat: payload.baseCurrency.code,
|
|
51
|
-
network,
|
|
52
|
-
asset,
|
|
53
|
-
assetQuantity: payload.quoteCurrencyAmount.toString()
|
|
54
|
-
});
|
|
55
|
-
} catch (e) {
|
|
56
|
-
throw e instanceof Error ? e : new Error(e);
|
|
57
|
-
}
|
|
58
|
-
}),
|
|
59
|
-
[onRampConfig]
|
|
60
|
-
);
|
|
61
|
-
const onInitiateDeposit = useCallback(
|
|
62
|
-
(payload) => __async(void 0, null, function* () {
|
|
63
|
-
try {
|
|
64
|
-
const txHash = yield onDepositRequest({
|
|
65
|
-
assetQuantity: payload.cryptoCurrencyAmount,
|
|
66
|
-
fiatQuantity: payload.fiatCurrencyAmount || void 0,
|
|
67
|
-
fiat: payload.fiatCurrency.code.toUpperCase(),
|
|
68
|
-
destinationAddress: payload.depositWalletAddress,
|
|
69
|
-
contractAddress: payload.cryptoCurrency.contractAddress,
|
|
70
|
-
chainId: payload.cryptoCurrency.chainId
|
|
71
|
-
});
|
|
72
|
-
return { depositId: txHash, cancelTransactionOnError: false };
|
|
73
|
-
} catch (e) {
|
|
74
|
-
throw e instanceof Error ? e : new Error(e);
|
|
75
|
-
}
|
|
76
|
-
}),
|
|
77
|
-
[]
|
|
78
|
-
);
|
|
79
|
-
const widgetEmbed = useMemo(() => {
|
|
80
|
-
if (widgetEmbedRef.current) {
|
|
81
|
-
return widgetEmbedRef.current;
|
|
82
|
-
}
|
|
83
|
-
if (!components) {
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
const currencyCode = getCurrencyCode(onRampConfig, {
|
|
87
|
-
network: onRampPurchase.network,
|
|
88
|
-
asset: onRampPurchase.asset,
|
|
89
|
-
provider: OnRampProvider.MOONPAY
|
|
90
|
-
});
|
|
91
|
-
const widget = /* @__PURE__ */ jsx(components.MoonPayProvider, { apiKey, debug: onRampPurchase.testMode, children: onRampPurchase.type === "BUY" ? /* @__PURE__ */ jsx(
|
|
92
|
-
components.MoonPayBuyWidget,
|
|
93
|
-
{
|
|
94
|
-
variant: "embedded",
|
|
95
|
-
email,
|
|
96
|
-
baseCurrencyCode: onRampPurchase.fiat,
|
|
97
|
-
baseCurrencyAmount: onRampPurchase.fiatQuantity,
|
|
98
|
-
currencyCode,
|
|
99
|
-
walletAddress: onRampPurchase.address,
|
|
100
|
-
visible: true,
|
|
101
|
-
theme: isDark ? "dark" : "light",
|
|
102
|
-
style: {
|
|
103
|
-
height: "100%",
|
|
104
|
-
width: "100%",
|
|
105
|
-
border: "none",
|
|
106
|
-
borderRadius: 0,
|
|
107
|
-
margin: 0
|
|
108
|
-
},
|
|
109
|
-
onTransactionCompleted,
|
|
110
|
-
onUrlSignatureRequested: onUrlSignatureRequest
|
|
111
|
-
}
|
|
112
|
-
) : /* @__PURE__ */ jsx(
|
|
113
|
-
components.MoonPaySellWidget,
|
|
114
|
-
{
|
|
115
|
-
variant: "embedded",
|
|
116
|
-
visible: true,
|
|
117
|
-
theme: isDark ? "dark" : "light",
|
|
118
|
-
style: {
|
|
119
|
-
height: "100%",
|
|
120
|
-
width: "100%",
|
|
121
|
-
border: "none",
|
|
122
|
-
borderRadius: 0,
|
|
123
|
-
margin: 0
|
|
124
|
-
},
|
|
125
|
-
email,
|
|
126
|
-
baseCurrencyCode: currencyCode,
|
|
127
|
-
quoteCurrencyAmount: onRampPurchase.fiatQuantity,
|
|
128
|
-
refundWalletAddress: onRampPurchase.address,
|
|
129
|
-
onInitiateDeposit,
|
|
130
|
-
onTransactionCompleted,
|
|
131
|
-
onUrlSignatureRequested: onUrlSignatureRequest
|
|
132
|
-
}
|
|
133
|
-
) });
|
|
134
|
-
widgetEmbedRef.current = widget;
|
|
135
|
-
return widget;
|
|
136
|
-
}, [components]);
|
|
137
|
-
return /* @__PURE__ */ jsx(Container, { isEmbedded, children: widgetEmbed });
|
|
138
|
-
};
|
|
139
|
-
var MoonPayEmbed_default = MoonPayEmbed;
|
|
140
|
-
const Container = safeStyled.div`
|
|
141
|
-
width: ${({ isEmbedded }) => isEmbedded ? "100%" : "100vw"};
|
|
142
|
-
height: ${({ isEmbedded }) => isEmbedded ? "640px" : "100vh"};
|
|
143
|
-
|
|
144
|
-
iframe {
|
|
145
|
-
border: 0 !important;
|
|
146
|
-
}
|
|
147
|
-
`;
|
|
148
|
-
export {
|
|
149
|
-
MoonPayEmbed,
|
|
150
|
-
MoonPayEmbed_default as default
|
|
151
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { OnRampProps } from '../types/index.js';
|
|
2
|
-
export declare const RampEmbed: ({ appName, email, onRampConfig, onRampPurchase, isEmbedded, apiKey, onClose, onUpdate, onDepositRequest, }: OnRampProps & {
|
|
3
|
-
apiKey: string;
|
|
4
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
__async
|
|
4
|
-
} from "../chunk-MMUBH76A.js";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
6
|
-
import { useEffect, useRef } from "react";
|
|
7
|
-
import { RampInstantSDK } from "@ramp-network/ramp-instant-sdk";
|
|
8
|
-
import { OnRampProvider } from "@getpara/web-sdk";
|
|
9
|
-
import { getChainId, getContractAddressFromAsset, getCurrencyCodes, reverseCurrencyLookup } from "../utils/index.js";
|
|
10
|
-
const TEST_MODE_FORBIDDEN = ["ETH_ETH", "ETH_USDC"];
|
|
11
|
-
const RampEmbed = ({
|
|
12
|
-
appName,
|
|
13
|
-
email,
|
|
14
|
-
onRampConfig,
|
|
15
|
-
onRampPurchase,
|
|
16
|
-
isEmbedded,
|
|
17
|
-
apiKey,
|
|
18
|
-
onClose,
|
|
19
|
-
onUpdate,
|
|
20
|
-
onDepositRequest
|
|
21
|
-
}) => {
|
|
22
|
-
const { currencyCodes } = getCurrencyCodes(onRampConfig, {
|
|
23
|
-
provider: OnRampProvider.RAMP,
|
|
24
|
-
purchaseType: onRampPurchase.type,
|
|
25
|
-
walletType: onRampPurchase.walletType
|
|
26
|
-
});
|
|
27
|
-
const isMounted = useRef(false);
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
if (!isMounted.current) {
|
|
30
|
-
try {
|
|
31
|
-
const widget = new RampInstantSDK({
|
|
32
|
-
hostAppName: appName,
|
|
33
|
-
swapAsset: currencyCodes.filter((code) => !onRampPurchase.testMode || !TEST_MODE_FORBIDDEN.includes(code)).join(","),
|
|
34
|
-
fiatValue: onRampPurchase.fiatQuantity,
|
|
35
|
-
fiatCurrency: onRampPurchase.fiat,
|
|
36
|
-
hostLogoUrl: `${window.location.hostname}/wordmark_black.svg`,
|
|
37
|
-
hostApiKey: apiKey,
|
|
38
|
-
userAddress: onRampPurchase.address,
|
|
39
|
-
userEmailAddress: email,
|
|
40
|
-
url: (onRampPurchase == null ? void 0 : onRampPurchase.testMode) ? "https://app.demo.ramp.network" : "https://app.ramp.network",
|
|
41
|
-
enabledFlows: [onRampPurchase.type === "BUY" ? "ONRAMP" : "OFFRAMP"],
|
|
42
|
-
useSendCryptoCallback: true,
|
|
43
|
-
variant: "embedded-mobile",
|
|
44
|
-
containerNode: document.getElementById("ramp-container")
|
|
45
|
-
}).on("PURCHASE_CREATED", (e) => __async(void 0, null, function* () {
|
|
46
|
-
const p = e.payload.purchase;
|
|
47
|
-
const [network, asset] = onRampPurchase.testMode ? ["ETHEREUM", "ETHEREUM"] : reverseCurrencyLookup(onRampConfig.assetInfo, OnRampProvider.RAMP, p.asset.symbol) || [];
|
|
48
|
-
onUpdate({
|
|
49
|
-
providerKey: p.id,
|
|
50
|
-
fiatQuantity: p.fiatValue,
|
|
51
|
-
fiat: p.fiatCurrency,
|
|
52
|
-
assetQuantity: p.cryptoAmount,
|
|
53
|
-
asset,
|
|
54
|
-
network
|
|
55
|
-
});
|
|
56
|
-
})).on("WIDGET_CLOSE", () => __async(void 0, null, function* () {
|
|
57
|
-
onClose == null ? void 0 : onClose();
|
|
58
|
-
if (!isEmbedded) {
|
|
59
|
-
setTimeout(() => {
|
|
60
|
-
if (typeof window !== "undefined") {
|
|
61
|
-
window.close();
|
|
62
|
-
}
|
|
63
|
-
}, 5e3);
|
|
64
|
-
}
|
|
65
|
-
})).onSendCrypto((assetInfo, amount, address) => __async(void 0, null, function* () {
|
|
66
|
-
try {
|
|
67
|
-
const [network, asset] = reverseCurrencyLookup(onRampConfig.assetInfo, OnRampProvider.RAMP, assetInfo.symbol);
|
|
68
|
-
const txHash = yield onDepositRequest({
|
|
69
|
-
assetQuantity: amount,
|
|
70
|
-
destinationAddress: address,
|
|
71
|
-
contractAddress: getContractAddressFromAsset(network, asset),
|
|
72
|
-
chainId: getChainId(network),
|
|
73
|
-
testMode: onRampPurchase.testMode
|
|
74
|
-
});
|
|
75
|
-
return { txHash };
|
|
76
|
-
} catch (e) {
|
|
77
|
-
console.error(e);
|
|
78
|
-
}
|
|
79
|
-
}));
|
|
80
|
-
widget.show();
|
|
81
|
-
isMounted.current = true;
|
|
82
|
-
} catch (e) {
|
|
83
|
-
console.error(e);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}, []);
|
|
87
|
-
return /* @__PURE__ */ jsx("div", { id: "ramp-container", style: { minWidth: "320px", width: "100%", height: "767px" } });
|
|
88
|
-
};
|
|
89
|
-
export {
|
|
90
|
-
RampEmbed
|
|
91
|
-
};
|