@coinflowlabs/react 2.4.0 → 2.5.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.
Files changed (34) hide show
  1. package/README.md +4 -0
  2. package/build/cjs/CoinflowCardForm.d.ts +39 -0
  3. package/build/cjs/CoinflowCardForm.js +100 -0
  4. package/build/cjs/CoinflowCardForm.js.map +1 -0
  5. package/build/cjs/CoinflowTypes.d.ts +2 -0
  6. package/build/cjs/CoinflowUtils.d.ts +1 -1
  7. package/build/cjs/CoinflowUtils.js +5 -2
  8. package/build/cjs/CoinflowUtils.js.map +1 -1
  9. package/build/cjs/index.d.ts +1 -0
  10. package/build/cjs/index.js +1 -0
  11. package/build/cjs/index.js.map +1 -1
  12. package/build/cjs/useHandleHeightChange.d.ts +2 -0
  13. package/build/cjs/useHandleHeightChange.js +24 -0
  14. package/build/cjs/useHandleHeightChange.js.map +1 -0
  15. package/build/cjs/wallet/useIframeWallet.d.ts +5 -1
  16. package/build/cjs/wallet/useIframeWallet.js +37 -28
  17. package/build/cjs/wallet/useIframeWallet.js.map +1 -1
  18. package/build/esm/CoinflowCardForm.d.ts +39 -0
  19. package/build/esm/CoinflowCardForm.js +97 -0
  20. package/build/esm/CoinflowCardForm.js.map +1 -0
  21. package/build/esm/CoinflowTypes.d.ts +2 -0
  22. package/build/esm/CoinflowUtils.d.ts +1 -1
  23. package/build/esm/CoinflowUtils.js +5 -2
  24. package/build/esm/CoinflowUtils.js.map +1 -1
  25. package/build/esm/index.d.ts +1 -0
  26. package/build/esm/index.js +1 -0
  27. package/build/esm/index.js.map +1 -1
  28. package/build/esm/useHandleHeightChange.d.ts +2 -0
  29. package/build/esm/useHandleHeightChange.js +19 -0
  30. package/build/esm/useHandleHeightChange.js.map +1 -0
  31. package/build/esm/wallet/useIframeWallet.d.ts +5 -1
  32. package/build/esm/wallet/useIframeWallet.js +34 -27
  33. package/build/esm/wallet/useIframeWallet.js.map +1 -1
  34. package/package.json +4 -3
package/README.md CHANGED
@@ -46,6 +46,10 @@ Props:
46
46
 
47
47
  # Changelog
48
48
 
49
+ ### 2.5.0
50
+
51
+ - Added the `CoinflowCardForm` component which allows merchants to collect credit card information from their users in a PCI compliant way. Tokenize it, and then utilize the remainder of Coinflow's APIs.
52
+
49
53
  ### 2.4.0
50
54
 
51
55
  - Added support for Ethereum Mainnet
@@ -0,0 +1,39 @@
1
+ import React, { CSSProperties } from 'react';
2
+ import { CoinflowBlockchain, CoinflowEnvs } from './CoinflowTypes';
3
+ export type CoinflowCardTokenResponse = {
4
+ last4: string;
5
+ type: 'VISA' | 'MSTR' | 'AMEX' | 'DISC';
6
+ token: string;
7
+ };
8
+ export interface CoinflowCardFormProps {
9
+ merchantId: string;
10
+ walletPubkey?: string;
11
+ handleHeightChange?: (height: string) => void;
12
+ env: CoinflowEnvs;
13
+ inputCss?: CSSProperties;
14
+ customCss?: {
15
+ [key: string]: CSSProperties;
16
+ };
17
+ blockchain: CoinflowBlockchain;
18
+ }
19
+ /**
20
+ * Allows merchants to collect card information from their customers in a PCI-compliant way and receive a token for use with the `/api/checkout/token` endpoint.
21
+ *
22
+ * Usage:
23
+ * ```tsx
24
+ * const ref = useRef<{getToken(): Promise<{token: string}>}>();
25
+ *
26
+ * <CoinflowCardForm
27
+ * ref={coinflowCardFormRef}
28
+ * ...
29
+ * />
30
+ *
31
+ * <button onClick={() => {
32
+ * ref.current?.getToken()
33
+ * .then(({token}) => console.log(token))
34
+ * .catch(e => console.error('GET TOKEN ERROR', e))
35
+ * }}>Get Token</button>
36
+ *
37
+ * ```
38
+ */
39
+ export declare const CoinflowCardForm: React.ForwardRefExoticComponent<CoinflowCardFormProps & React.RefAttributes<unknown>>;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoinflowCardForm = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = tslib_1.__importStar(require("react"));
6
+ var useIframeWallet_1 = require("./wallet/useIframeWallet");
7
+ var CoinflowIFrame_1 = require("./CoinflowIFrame");
8
+ var useHandleHeightChange_1 = require("./useHandleHeightChange");
9
+ /**
10
+ * Allows merchants to collect card information from their customers in a PCI-compliant way and receive a token for use with the `/api/checkout/token` endpoint.
11
+ *
12
+ * Usage:
13
+ * ```tsx
14
+ * const ref = useRef<{getToken(): Promise<{token: string}>}>();
15
+ *
16
+ * <CoinflowCardForm
17
+ * ref={coinflowCardFormRef}
18
+ * ...
19
+ * />
20
+ *
21
+ * <button onClick={() => {
22
+ * ref.current?.getToken()
23
+ * .then(({token}) => console.log(token))
24
+ * .catch(e => console.error('GET TOKEN ERROR', e))
25
+ * }}>Get Token</button>
26
+ *
27
+ * ```
28
+ */
29
+ exports.CoinflowCardForm = (0, react_1.forwardRef)(function (_a, ref) {
30
+ var handleHeightChange = _a.handleHeightChange, walletPubkey = _a.walletPubkey, env = _a.env, customCss = _a.customCss, merchantId = _a.merchantId, blockchain = _a.blockchain;
31
+ var IFrameRef = (0, react_1.useRef)(null);
32
+ (0, useHandleHeightChange_1.useHandleHeightChange)(handleHeightChange);
33
+ (0, react_1.useImperativeHandle)(ref, function () { return ({
34
+ getToken: function () {
35
+ var _a;
36
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
37
+ return tslib_1.__generator(this, function (_b) {
38
+ if (!((_a = IFrameRef.current) === null || _a === void 0 ? void 0 : _a.contentWindow))
39
+ throw new Error('content window not found');
40
+ IFrameRef.current.contentWindow.postMessage('getToken', '*');
41
+ return [2 /*return*/, new Promise(function (resolve, reject) {
42
+ var handler = (0, useIframeWallet_1.getMessageHandler)('getToken', function (data) {
43
+ if (data.startsWith('ERROR')) {
44
+ reject(new Error(data.replace('ERROR', '')));
45
+ return;
46
+ }
47
+ resolve(JSON.parse(data));
48
+ });
49
+ if (!window)
50
+ throw new Error('Window not defined');
51
+ window.addEventListener('message', handler);
52
+ })];
53
+ });
54
+ });
55
+ }
56
+ }); });
57
+ var merchantCss = (0, react_1.useMemo)(function () {
58
+ if (!customCss)
59
+ return undefined;
60
+ var cssStr = Object.entries(customCss).reduce(function (acc, _a) {
61
+ var key = _a[0], value = _a[1];
62
+ return acc + "".concat(key, " {").concat(CSSPropertiesToComponent(value), "}\n");
63
+ }, '');
64
+ return Buffer.from(cssStr).toString('base64');
65
+ }, [customCss]);
66
+ if (!walletPubkey)
67
+ return null;
68
+ var iFrameProps = {
69
+ walletPubkey: walletPubkey,
70
+ blockchain: blockchain,
71
+ route: "/checkout-form/".concat(merchantId),
72
+ env: env,
73
+ IFrameRef: IFrameRef,
74
+ routePrefix: 'form',
75
+ merchantCss: merchantCss,
76
+ handleHeightChange: handleHeightChange,
77
+ };
78
+ return react_1.default.createElement(CoinflowIFrame_1.CoinflowIFrame, tslib_1.__assign({}, iFrameProps));
79
+ });
80
+ function CSSPropertiesToComponent(dict) {
81
+ var str = '';
82
+ var _loop_1 = function (key, value) {
83
+ var clo = '';
84
+ key.split('').forEach(function (lt) {
85
+ if (lt.toUpperCase() === lt) {
86
+ clo += '-' + lt.toLowerCase();
87
+ }
88
+ else {
89
+ clo += lt;
90
+ }
91
+ });
92
+ str += clo + ':' + value + ';';
93
+ };
94
+ for (var _i = 0, _a = Object.entries(dict); _i < _a.length; _i++) {
95
+ var _b = _a[_i], key = _b[0], value = _b[1];
96
+ _loop_1(key, value);
97
+ }
98
+ return str;
99
+ }
100
+ //# sourceMappingURL=CoinflowCardForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoinflowCardForm.js","sourceRoot":"","sources":["../../src/CoinflowCardForm.tsx"],"names":[],"mappings":"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"}
@@ -72,11 +72,13 @@ export interface CoinflowIFrameProps extends Omit<CoinflowTypes, 'merchantId'>,
72
72
  walletPubkey: string;
73
73
  IFrameRef: React.RefObject<HTMLIFrameElement>;
74
74
  route: string;
75
+ routePrefix?: string;
75
76
  transaction?: string;
76
77
  token?: string | PublicKey;
77
78
  email?: string;
78
79
  supportsVersionedTransactions?: boolean;
79
80
  nearDeposit?: string;
81
+ merchantCss?: string;
80
82
  }
81
83
  /** Transactions **/
82
84
  export type NearFtTransferCallAction = {
@@ -8,7 +8,7 @@ export declare class CoinflowUtils {
8
8
  getCreditBalance(publicKey: string, blockchain: 'solana' | 'near'): Promise<number>;
9
9
  static getCoinflowBaseUrl(env?: CoinflowEnvs): string;
10
10
  static getCoinflowApiUrl(env?: CoinflowEnvs): string;
11
- static getCoinflowUrl({ walletPubkey, route, env, amount, transaction, blockchain, supportsVersionedTransactions, webhookInfo, token, email, loaderBackground, handleHeightChange, useSocket, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, }: CoinflowIFrameProps): string;
11
+ static getCoinflowUrl({ walletPubkey, route, routePrefix, env, amount, transaction, blockchain, supportsVersionedTransactions, webhookInfo, token, email, loaderBackground, handleHeightChange, useSocket, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, merchantCss, }: CoinflowIFrameProps): string;
12
12
  static serializeSolanaTransaction(transaction: Transaction | VersionedTransaction | undefined): string | undefined;
13
13
  static solanaWalletSupportsVersionedTransactions(wallet: SolanaWallet): boolean;
14
14
  static byBlockchain<T>(blockchain: CoinflowBlockchain, args: {
@@ -61,8 +61,9 @@ var CoinflowUtils = /** @class */ (function () {
61
61
  };
62
62
  CoinflowUtils.getCoinflowUrl = function (_a) {
63
63
  var _b;
64
- var walletPubkey = _a.walletPubkey, route = _a.route, env = _a.env, amount = _a.amount, transaction = _a.transaction, blockchain = _a.blockchain, supportsVersionedTransactions = _a.supportsVersionedTransactions, webhookInfo = _a.webhookInfo, token = _a.token, email = _a.email, loaderBackground = _a.loaderBackground, handleHeightChange = _a.handleHeightChange, useSocket = _a.useSocket, bankAccountLinkRedirect = _a.bankAccountLinkRedirect, additionalWallets = _a.additionalWallets, nearDeposit = _a.nearDeposit, chargebackProtectionData = _a.chargebackProtectionData;
65
- var url = new URL("/".concat(blockchain) + route, CoinflowUtils.getCoinflowBaseUrl(env));
64
+ var walletPubkey = _a.walletPubkey, route = _a.route, routePrefix = _a.routePrefix, env = _a.env, amount = _a.amount, transaction = _a.transaction, blockchain = _a.blockchain, supportsVersionedTransactions = _a.supportsVersionedTransactions, webhookInfo = _a.webhookInfo, token = _a.token, email = _a.email, loaderBackground = _a.loaderBackground, handleHeightChange = _a.handleHeightChange, useSocket = _a.useSocket, bankAccountLinkRedirect = _a.bankAccountLinkRedirect, additionalWallets = _a.additionalWallets, nearDeposit = _a.nearDeposit, chargebackProtectionData = _a.chargebackProtectionData, merchantCss = _a.merchantCss;
65
+ var prefix = routePrefix ? "/".concat(routePrefix, "/").concat(blockchain) : "/".concat(blockchain);
66
+ var url = new URL(prefix + route, CoinflowUtils.getCoinflowBaseUrl(env));
66
67
  url.searchParams.append('pubkey', walletPubkey);
67
68
  if (transaction) {
68
69
  url.searchParams.append('transaction', transaction);
@@ -104,6 +105,8 @@ var CoinflowUtils = /** @class */ (function () {
104
105
  var deviceId = (_b = window === null || window === void 0 ? void 0 : window.nSureSDK) === null || _b === void 0 ? void 0 : _b.getDeviceId();
105
106
  if (deviceId)
106
107
  url.searchParams.append('deviceId', deviceId);
108
+ if (merchantCss)
109
+ url.searchParams.append('merchantCss', merchantCss);
107
110
  return url.toString();
108
111
  };
109
112
  CoinflowUtils.serializeSolanaTransaction = function (transaction) {
@@ -1 +1 @@
1
- {"version":3,"file":"CoinflowUtils.js","sourceRoot":"","sources":["../../src/CoinflowUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoinflowUtils.js","sourceRoot":"","sources":["../../src/CoinflowUtils.ts"],"names":[],"mappings":"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"}
@@ -7,3 +7,4 @@ export * from './CoinflowPurchaseHistory';
7
7
  export * from './CoinflowWithdrawHistory';
8
8
  export * from './CoinflowTypes';
9
9
  export * from './CoinflowPurchaseProtection';
10
+ export * from './CoinflowCardForm';
@@ -10,4 +10,5 @@ tslib_1.__exportStar(require("./CoinflowPurchaseHistory"), exports);
10
10
  tslib_1.__exportStar(require("./CoinflowWithdrawHistory"), exports);
11
11
  tslib_1.__exportStar(require("./CoinflowTypes"), exports);
12
12
  tslib_1.__exportStar(require("./CoinflowPurchaseProtection"), exports);
13
+ tslib_1.__exportStar(require("./CoinflowCardForm"), exports);
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,6DAAmC;AACnC,0DAAgC;AAChC,mEAAyC;AACzC,2DAAiC;AACjC,oEAA0C;AAC1C,oEAA0C;AAC1C,0DAAgC;AAChC,uEAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,6DAAmC;AACnC,0DAAgC;AAChC,mEAAyC;AACzC,2DAAiC;AACjC,oEAA0C;AAC1C,oEAA0C;AAC1C,0DAAgC;AAChC,uEAA6C;AAC7C,6DAAmC"}
@@ -0,0 +1,2 @@
1
+ export declare function useHandleHeightChange(handleHeightChange?: (height: string) => void): void;
2
+ export declare function useHandleMessages(method: string, handle?: (data: string) => void): void;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useHandleMessages = exports.useHandleHeightChange = void 0;
4
+ var react_1 = require("react");
5
+ var useIframeWallet_1 = require("./wallet/useIframeWallet");
6
+ function useHandleHeightChange(handleHeightChange) {
7
+ useHandleMessages('heightChange', handleHeightChange);
8
+ }
9
+ exports.useHandleHeightChange = useHandleHeightChange;
10
+ function useHandleMessages(method, handle) {
11
+ (0, react_1.useEffect)(function () {
12
+ if (!handle)
13
+ return;
14
+ if (!window)
15
+ throw new Error('Window not defined');
16
+ var handler = (0, useIframeWallet_1.getMessageHandler)(method, handle);
17
+ window.addEventListener('message', handler);
18
+ return function () {
19
+ window.removeEventListener('message', handler);
20
+ };
21
+ }, [handle, method]);
22
+ }
23
+ exports.useHandleMessages = useHandleMessages;
24
+ //# sourceMappingURL=useHandleHeightChange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHandleHeightChange.js","sourceRoot":"","sources":["../../src/useHandleHeightChange.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAChC,4DAA2D;AAE3D,SAAgB,qBAAqB,CAAC,kBAA6C;IACjF,iBAAiB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AACxD,CAAC;AAFD,sDAEC;AAED,SAAgB,iBAAiB,CAAC,MAAc,EAAE,MAA+B;IAC/E,IAAA,iBAAS,EAAC;QACR,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnD,IAAM,OAAO,GAAI,IAAA,mCAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE5C,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACvB,CAAC;AAXD,8CAWC"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { IFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
2
+ import { IFrameMessageHandlers, WalletCall } from './SolanaIFrameMessageHandlers';
3
3
  import { CoinflowEnvs, OnSuccessMethod } from '../CoinflowTypes';
4
4
  export declare function useIframeWallet({ handleSignTransaction, handleSendTransaction, handleSignMessage, }: IFrameMessageHandlers, { onSuccess, handleHeightChange, useSocket, env }: {
5
5
  onSuccess?: OnSuccessMethod;
@@ -9,3 +9,7 @@ export declare function useIframeWallet({ handleSignTransaction, handleSendTrans
9
9
  }, walletPubkey: string | null | undefined): {
10
10
  IFrameRef: import("react").MutableRefObject<HTMLIFrameElement | null>;
11
11
  };
12
+ export declare function parseIframeMessageJSON(data: string): WalletCall | null;
13
+ export declare function getMessageHandler(method: string, handler: (data: string) => void): (args: {
14
+ data: unknown;
15
+ }) => void;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useIframeWallet = void 0;
3
+ exports.getMessageHandler = exports.parseIframeMessageJSON = exports.useIframeWallet = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var react_1 = require("react");
6
6
  var SocketService_1 = require("./SocketService");
7
+ var useHandleHeightChange_1 = require("../useHandleHeightChange");
7
8
  function useIframeWallet(_a, _b, walletPubkey) {
8
9
  var _this = this;
9
10
  var handleSignTransaction = _a.handleSignTransaction, handleSendTransaction = _a.handleSendTransaction, handleSignMessage = _a.handleSignMessage;
@@ -21,6 +22,7 @@ function useIframeWallet(_a, _b, walletPubkey) {
21
22
  throw new Error('Iframe not defined');
22
23
  (_b = IFrameRef.current) === null || _b === void 0 ? void 0 : _b.contentWindow.postMessage(message, '*');
23
24
  }, [useSocket, walletPubkey]);
25
+ (0, useHandleHeightChange_1.useHandleHeightChange)(handleHeightChange);
24
26
  var handleIframeMessages = (0, react_1.useCallback)(function (_a) {
25
27
  var data = _a.data;
26
28
  return tslib_1.__awaiter(_this, void 0, void 0, function () {
@@ -28,8 +30,8 @@ function useIframeWallet(_a, _b, walletPubkey) {
28
30
  return tslib_1.__generator(this, function (_c) {
29
31
  switch (_c.label) {
30
32
  case 0:
31
- _c.trys.push([0, 11, , 12]);
32
- parsedData = parseJSON(data);
33
+ _c.trys.push([0, 9, , 10]);
34
+ parsedData = parseIframeMessageJSON(data);
33
35
  if (!parsedData)
34
36
  return [2 /*return*/];
35
37
  _b = parsedData.method;
@@ -38,19 +40,18 @@ function useIframeWallet(_a, _b, walletPubkey) {
38
40
  case 'success': return [3 /*break*/, 3];
39
41
  case 'signTransaction': return [3 /*break*/, 4];
40
42
  case 'signMessage': return [3 /*break*/, 6];
41
- case 'heightChange': return [3 /*break*/, 8];
42
43
  }
43
- return [3 /*break*/, 9];
44
+ return [3 /*break*/, 8];
44
45
  case 1: return [4 /*yield*/, handleSendTransaction(parsedData)];
45
46
  case 2:
46
47
  signature = _c.sent();
47
48
  sendIFrameMessage(signature);
48
- return [3 /*break*/, 10];
49
+ return [3 /*break*/, 8];
49
50
  case 3:
50
51
  {
51
52
  if (onSuccess)
52
53
  onSuccess(data);
53
- return [3 /*break*/, 10];
54
+ return [3 /*break*/, 8];
54
55
  }
55
56
  _c.label = 4;
56
57
  case 4:
@@ -60,7 +61,7 @@ function useIframeWallet(_a, _b, walletPubkey) {
60
61
  case 5:
61
62
  signedTransaction = _c.sent();
62
63
  sendIFrameMessage(signedTransaction);
63
- return [3 /*break*/, 10];
64
+ return [3 /*break*/, 8];
64
65
  case 6:
65
66
  if (!handleSignMessage)
66
67
  throw new Error("This wallet does not support method ".concat(parsedData.method));
@@ -68,21 +69,9 @@ function useIframeWallet(_a, _b, walletPubkey) {
68
69
  case 7:
69
70
  signedMessage = _c.sent();
70
71
  sendIFrameMessage(signedMessage);
71
- return [3 /*break*/, 10];
72
- case 8:
73
- {
74
- handleHeightChange === null || handleHeightChange === void 0 ? void 0 : handleHeightChange(parsedData.data);
75
- return [3 /*break*/, 10];
76
- }
77
- _c.label = 9;
72
+ return [3 /*break*/, 8];
73
+ case 8: return [3 /*break*/, 10];
78
74
  case 9:
79
- {
80
- console.error("Unsupported Wallet Method ".concat(parsedData.method));
81
- return [3 /*break*/, 10];
82
- }
83
- _c.label = 10;
84
- case 10: return [3 /*break*/, 12];
85
- case 11:
86
75
  e_1 = _c.sent();
87
76
  console.error('handleIframeMessages', e_1);
88
77
  try {
@@ -92,12 +81,12 @@ function useIframeWallet(_a, _b, walletPubkey) {
92
81
  catch (e) {
93
82
  sendIFrameMessage('ERROR parsing error JSON');
94
83
  }
95
- return [3 /*break*/, 12];
96
- case 12: return [2 /*return*/];
84
+ return [3 /*break*/, 10];
85
+ case 10: return [2 /*return*/];
97
86
  }
98
87
  });
99
88
  });
100
- }, [handleSendTransaction, sendIFrameMessage, onSuccess, handleSignTransaction, handleSignMessage, handleHeightChange]);
89
+ }, [handleSendTransaction, sendIFrameMessage, onSuccess, handleSignTransaction, handleSignMessage]);
101
90
  (0, react_1.useEffect)(function () {
102
91
  if (useSocket) {
103
92
  if (!walletPubkey)
@@ -108,13 +97,15 @@ function useIframeWallet(_a, _b, walletPubkey) {
108
97
  }
109
98
  if (!window)
110
99
  throw new Error('Window not defined');
111
- window.onmessage = handleIframeMessages;
112
- return function () { };
100
+ window.addEventListener('message', handleIframeMessages);
101
+ return function () {
102
+ window.removeEventListener('message', handleIframeMessages);
103
+ };
113
104
  }, [env, handleIframeMessages, useSocket, walletPubkey]);
114
105
  return { IFrameRef: IFrameRef };
115
106
  }
116
107
  exports.useIframeWallet = useIframeWallet;
117
- function parseJSON(data) {
108
+ function parseIframeMessageJSON(data) {
118
109
  try {
119
110
  var res = JSON.parse(data);
120
111
  if (!res.method)
@@ -127,4 +118,22 @@ function parseJSON(data) {
127
118
  return null;
128
119
  }
129
120
  }
121
+ exports.parseIframeMessageJSON = parseIframeMessageJSON;
122
+ function getMessageHandler(method, handler) {
123
+ return function (_a) {
124
+ var incomingData = _a.data;
125
+ if (origin === 'https://cdn.plaid.com')
126
+ return;
127
+ if (typeof incomingData !== 'string')
128
+ return;
129
+ var parsedData = parseIframeMessageJSON(incomingData);
130
+ if (!parsedData)
131
+ return;
132
+ var incomingMethod = parsedData.method, data = parsedData.data;
133
+ if (incomingMethod !== method)
134
+ return;
135
+ handler(data);
136
+ };
137
+ }
138
+ exports.getMessageHandler = getMessageHandler;
130
139
  //# sourceMappingURL=useIframeWallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIframeWallet.js","sourceRoot":"","sources":["../../../src/wallet/useIframeWallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useIframeWallet.js","sourceRoot":"","sources":["../../../src/wallet/useIframeWallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import React, { CSSProperties } from 'react';
2
+ import { CoinflowBlockchain, CoinflowEnvs } from './CoinflowTypes';
3
+ export type CoinflowCardTokenResponse = {
4
+ last4: string;
5
+ type: 'VISA' | 'MSTR' | 'AMEX' | 'DISC';
6
+ token: string;
7
+ };
8
+ export interface CoinflowCardFormProps {
9
+ merchantId: string;
10
+ walletPubkey?: string;
11
+ handleHeightChange?: (height: string) => void;
12
+ env: CoinflowEnvs;
13
+ inputCss?: CSSProperties;
14
+ customCss?: {
15
+ [key: string]: CSSProperties;
16
+ };
17
+ blockchain: CoinflowBlockchain;
18
+ }
19
+ /**
20
+ * Allows merchants to collect card information from their customers in a PCI-compliant way and receive a token for use with the `/api/checkout/token` endpoint.
21
+ *
22
+ * Usage:
23
+ * ```tsx
24
+ * const ref = useRef<{getToken(): Promise<{token: string}>}>();
25
+ *
26
+ * <CoinflowCardForm
27
+ * ref={coinflowCardFormRef}
28
+ * ...
29
+ * />
30
+ *
31
+ * <button onClick={() => {
32
+ * ref.current?.getToken()
33
+ * .then(({token}) => console.log(token))
34
+ * .catch(e => console.error('GET TOKEN ERROR', e))
35
+ * }}>Get Token</button>
36
+ *
37
+ * ```
38
+ */
39
+ export declare const CoinflowCardForm: React.ForwardRefExoticComponent<CoinflowCardFormProps & React.RefAttributes<unknown>>;
@@ -0,0 +1,97 @@
1
+ import { __assign, __awaiter, __generator } from "tslib";
2
+ import React, { forwardRef, useImperativeHandle, useMemo, useRef } from 'react';
3
+ import { getMessageHandler } from './wallet/useIframeWallet';
4
+ import { CoinflowIFrame } from './CoinflowIFrame';
5
+ import { useHandleHeightChange } from './useHandleHeightChange';
6
+ /**
7
+ * Allows merchants to collect card information from their customers in a PCI-compliant way and receive a token for use with the `/api/checkout/token` endpoint.
8
+ *
9
+ * Usage:
10
+ * ```tsx
11
+ * const ref = useRef<{getToken(): Promise<{token: string}>}>();
12
+ *
13
+ * <CoinflowCardForm
14
+ * ref={coinflowCardFormRef}
15
+ * ...
16
+ * />
17
+ *
18
+ * <button onClick={() => {
19
+ * ref.current?.getToken()
20
+ * .then(({token}) => console.log(token))
21
+ * .catch(e => console.error('GET TOKEN ERROR', e))
22
+ * }}>Get Token</button>
23
+ *
24
+ * ```
25
+ */
26
+ export var CoinflowCardForm = forwardRef(function (_a, ref) {
27
+ var handleHeightChange = _a.handleHeightChange, walletPubkey = _a.walletPubkey, env = _a.env, customCss = _a.customCss, merchantId = _a.merchantId, blockchain = _a.blockchain;
28
+ var IFrameRef = useRef(null);
29
+ useHandleHeightChange(handleHeightChange);
30
+ useImperativeHandle(ref, function () { return ({
31
+ getToken: function () {
32
+ var _a;
33
+ return __awaiter(this, void 0, void 0, function () {
34
+ return __generator(this, function (_b) {
35
+ if (!((_a = IFrameRef.current) === null || _a === void 0 ? void 0 : _a.contentWindow))
36
+ throw new Error('content window not found');
37
+ IFrameRef.current.contentWindow.postMessage('getToken', '*');
38
+ return [2 /*return*/, new Promise(function (resolve, reject) {
39
+ var handler = getMessageHandler('getToken', function (data) {
40
+ if (data.startsWith('ERROR')) {
41
+ reject(new Error(data.replace('ERROR', '')));
42
+ return;
43
+ }
44
+ resolve(JSON.parse(data));
45
+ });
46
+ if (!window)
47
+ throw new Error('Window not defined');
48
+ window.addEventListener('message', handler);
49
+ })];
50
+ });
51
+ });
52
+ }
53
+ }); });
54
+ var merchantCss = useMemo(function () {
55
+ if (!customCss)
56
+ return undefined;
57
+ var cssStr = Object.entries(customCss).reduce(function (acc, _a) {
58
+ var key = _a[0], value = _a[1];
59
+ return acc + "".concat(key, " {").concat(CSSPropertiesToComponent(value), "}\n");
60
+ }, '');
61
+ return Buffer.from(cssStr).toString('base64');
62
+ }, [customCss]);
63
+ if (!walletPubkey)
64
+ return null;
65
+ var iFrameProps = {
66
+ walletPubkey: walletPubkey,
67
+ blockchain: blockchain,
68
+ route: "/checkout-form/".concat(merchantId),
69
+ env: env,
70
+ IFrameRef: IFrameRef,
71
+ routePrefix: 'form',
72
+ merchantCss: merchantCss,
73
+ handleHeightChange: handleHeightChange,
74
+ };
75
+ return React.createElement(CoinflowIFrame, __assign({}, iFrameProps));
76
+ });
77
+ function CSSPropertiesToComponent(dict) {
78
+ var str = '';
79
+ var _loop_1 = function (key, value) {
80
+ var clo = '';
81
+ key.split('').forEach(function (lt) {
82
+ if (lt.toUpperCase() === lt) {
83
+ clo += '-' + lt.toLowerCase();
84
+ }
85
+ else {
86
+ clo += lt;
87
+ }
88
+ });
89
+ str += clo + ':' + value + ';';
90
+ };
91
+ for (var _i = 0, _a = Object.entries(dict); _i < _a.length; _i++) {
92
+ var _b = _a[_i], key = _b[0], value = _b[1];
93
+ _loop_1(key, value);
94
+ }
95
+ return str;
96
+ }
97
+ //# sourceMappingURL=CoinflowCardForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoinflowCardForm.js","sourceRoot":"","sources":["../../src/CoinflowCardForm.tsx"],"names":[],"mappings":"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"}
@@ -72,11 +72,13 @@ export interface CoinflowIFrameProps extends Omit<CoinflowTypes, 'merchantId'>,
72
72
  walletPubkey: string;
73
73
  IFrameRef: React.RefObject<HTMLIFrameElement>;
74
74
  route: string;
75
+ routePrefix?: string;
75
76
  transaction?: string;
76
77
  token?: string | PublicKey;
77
78
  email?: string;
78
79
  supportsVersionedTransactions?: boolean;
79
80
  nearDeposit?: string;
81
+ merchantCss?: string;
80
82
  }
81
83
  /** Transactions **/
82
84
  export type NearFtTransferCallAction = {
@@ -8,7 +8,7 @@ export declare class CoinflowUtils {
8
8
  getCreditBalance(publicKey: string, blockchain: 'solana' | 'near'): Promise<number>;
9
9
  static getCoinflowBaseUrl(env?: CoinflowEnvs): string;
10
10
  static getCoinflowApiUrl(env?: CoinflowEnvs): string;
11
- static getCoinflowUrl({ walletPubkey, route, env, amount, transaction, blockchain, supportsVersionedTransactions, webhookInfo, token, email, loaderBackground, handleHeightChange, useSocket, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, }: CoinflowIFrameProps): string;
11
+ static getCoinflowUrl({ walletPubkey, route, routePrefix, env, amount, transaction, blockchain, supportsVersionedTransactions, webhookInfo, token, email, loaderBackground, handleHeightChange, useSocket, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, merchantCss, }: CoinflowIFrameProps): string;
12
12
  static serializeSolanaTransaction(transaction: Transaction | VersionedTransaction | undefined): string | undefined;
13
13
  static solanaWalletSupportsVersionedTransactions(wallet: SolanaWallet): boolean;
14
14
  static byBlockchain<T>(blockchain: CoinflowBlockchain, args: {
@@ -58,8 +58,9 @@ var CoinflowUtils = /** @class */ (function () {
58
58
  };
59
59
  CoinflowUtils.getCoinflowUrl = function (_a) {
60
60
  var _b;
61
- var walletPubkey = _a.walletPubkey, route = _a.route, env = _a.env, amount = _a.amount, transaction = _a.transaction, blockchain = _a.blockchain, supportsVersionedTransactions = _a.supportsVersionedTransactions, webhookInfo = _a.webhookInfo, token = _a.token, email = _a.email, loaderBackground = _a.loaderBackground, handleHeightChange = _a.handleHeightChange, useSocket = _a.useSocket, bankAccountLinkRedirect = _a.bankAccountLinkRedirect, additionalWallets = _a.additionalWallets, nearDeposit = _a.nearDeposit, chargebackProtectionData = _a.chargebackProtectionData;
62
- var url = new URL("/".concat(blockchain) + route, CoinflowUtils.getCoinflowBaseUrl(env));
61
+ var walletPubkey = _a.walletPubkey, route = _a.route, routePrefix = _a.routePrefix, env = _a.env, amount = _a.amount, transaction = _a.transaction, blockchain = _a.blockchain, supportsVersionedTransactions = _a.supportsVersionedTransactions, webhookInfo = _a.webhookInfo, token = _a.token, email = _a.email, loaderBackground = _a.loaderBackground, handleHeightChange = _a.handleHeightChange, useSocket = _a.useSocket, bankAccountLinkRedirect = _a.bankAccountLinkRedirect, additionalWallets = _a.additionalWallets, nearDeposit = _a.nearDeposit, chargebackProtectionData = _a.chargebackProtectionData, merchantCss = _a.merchantCss;
62
+ var prefix = routePrefix ? "/".concat(routePrefix, "/").concat(blockchain) : "/".concat(blockchain);
63
+ var url = new URL(prefix + route, CoinflowUtils.getCoinflowBaseUrl(env));
63
64
  url.searchParams.append('pubkey', walletPubkey);
64
65
  if (transaction) {
65
66
  url.searchParams.append('transaction', transaction);
@@ -101,6 +102,8 @@ var CoinflowUtils = /** @class */ (function () {
101
102
  var deviceId = (_b = window === null || window === void 0 ? void 0 : window.nSureSDK) === null || _b === void 0 ? void 0 : _b.getDeviceId();
102
103
  if (deviceId)
103
104
  url.searchParams.append('deviceId', deviceId);
105
+ if (merchantCss)
106
+ url.searchParams.append('merchantCss', merchantCss);
104
107
  return url.toString();
105
108
  };
106
109
  CoinflowUtils.serializeSolanaTransaction = function (transaction) {
@@ -1 +1 @@
1
- {"version":3,"file":"CoinflowUtils.js","sourceRoot":"","sources":["../../src/CoinflowUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoinflowUtils.js","sourceRoot":"","sources":["../../src/CoinflowUtils.ts"],"names":[],"mappings":"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"}
@@ -7,3 +7,4 @@ export * from './CoinflowPurchaseHistory';
7
7
  export * from './CoinflowWithdrawHistory';
8
8
  export * from './CoinflowTypes';
9
9
  export * from './CoinflowPurchaseProtection';
10
+ export * from './CoinflowCardForm';
@@ -7,4 +7,5 @@ export * from './CoinflowPurchaseHistory';
7
7
  export * from './CoinflowWithdrawHistory';
8
8
  export * from './CoinflowTypes';
9
9
  export * from './CoinflowPurchaseProtection';
10
+ export * from './CoinflowCardForm';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function useHandleHeightChange(handleHeightChange?: (height: string) => void): void;
2
+ export declare function useHandleMessages(method: string, handle?: (data: string) => void): void;
@@ -0,0 +1,19 @@
1
+ import { useEffect } from 'react';
2
+ import { getMessageHandler } from './wallet/useIframeWallet';
3
+ export function useHandleHeightChange(handleHeightChange) {
4
+ useHandleMessages('heightChange', handleHeightChange);
5
+ }
6
+ export function useHandleMessages(method, handle) {
7
+ useEffect(function () {
8
+ if (!handle)
9
+ return;
10
+ if (!window)
11
+ throw new Error('Window not defined');
12
+ var handler = getMessageHandler(method, handle);
13
+ window.addEventListener('message', handler);
14
+ return function () {
15
+ window.removeEventListener('message', handler);
16
+ };
17
+ }, [handle, method]);
18
+ }
19
+ //# sourceMappingURL=useHandleHeightChange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHandleHeightChange.js","sourceRoot":"","sources":["../../src/useHandleHeightChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAChC,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAE3D,MAAM,UAAU,qBAAqB,CAAC,kBAA6C;IACjF,iBAAiB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,MAA+B;IAC/E,SAAS,CAAC;QACR,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnD,IAAM,OAAO,GAAI,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE5C,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACvB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { IFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
2
+ import { IFrameMessageHandlers, WalletCall } from './SolanaIFrameMessageHandlers';
3
3
  import { CoinflowEnvs, OnSuccessMethod } from '../CoinflowTypes';
4
4
  export declare function useIframeWallet({ handleSignTransaction, handleSendTransaction, handleSignMessage, }: IFrameMessageHandlers, { onSuccess, handleHeightChange, useSocket, env }: {
5
5
  onSuccess?: OnSuccessMethod;
@@ -9,3 +9,7 @@ export declare function useIframeWallet({ handleSignTransaction, handleSendTrans
9
9
  }, walletPubkey: string | null | undefined): {
10
10
  IFrameRef: import("react").MutableRefObject<HTMLIFrameElement | null>;
11
11
  };
12
+ export declare function parseIframeMessageJSON(data: string): WalletCall | null;
13
+ export declare function getMessageHandler(method: string, handler: (data: string) => void): (args: {
14
+ data: unknown;
15
+ }) => void;
@@ -1,6 +1,7 @@
1
1
  import { __awaiter, __generator } from "tslib";
2
2
  import { useCallback, useEffect, useRef } from 'react';
3
3
  import { disconnectSocket, initiateSocket, sendWebsocketMessage, subscribeToChat } from './SocketService';
4
+ import { useHandleHeightChange } from '../useHandleHeightChange';
4
5
  export function useIframeWallet(_a, _b, walletPubkey) {
5
6
  var _this = this;
6
7
  var handleSignTransaction = _a.handleSignTransaction, handleSendTransaction = _a.handleSendTransaction, handleSignMessage = _a.handleSignMessage;
@@ -18,6 +19,7 @@ export function useIframeWallet(_a, _b, walletPubkey) {
18
19
  throw new Error('Iframe not defined');
19
20
  (_b = IFrameRef.current) === null || _b === void 0 ? void 0 : _b.contentWindow.postMessage(message, '*');
20
21
  }, [useSocket, walletPubkey]);
22
+ useHandleHeightChange(handleHeightChange);
21
23
  var handleIframeMessages = useCallback(function (_a) {
22
24
  var data = _a.data;
23
25
  return __awaiter(_this, void 0, void 0, function () {
@@ -25,8 +27,8 @@ export function useIframeWallet(_a, _b, walletPubkey) {
25
27
  return __generator(this, function (_c) {
26
28
  switch (_c.label) {
27
29
  case 0:
28
- _c.trys.push([0, 11, , 12]);
29
- parsedData = parseJSON(data);
30
+ _c.trys.push([0, 9, , 10]);
31
+ parsedData = parseIframeMessageJSON(data);
30
32
  if (!parsedData)
31
33
  return [2 /*return*/];
32
34
  _b = parsedData.method;
@@ -35,19 +37,18 @@ export function useIframeWallet(_a, _b, walletPubkey) {
35
37
  case 'success': return [3 /*break*/, 3];
36
38
  case 'signTransaction': return [3 /*break*/, 4];
37
39
  case 'signMessage': return [3 /*break*/, 6];
38
- case 'heightChange': return [3 /*break*/, 8];
39
40
  }
40
- return [3 /*break*/, 9];
41
+ return [3 /*break*/, 8];
41
42
  case 1: return [4 /*yield*/, handleSendTransaction(parsedData)];
42
43
  case 2:
43
44
  signature = _c.sent();
44
45
  sendIFrameMessage(signature);
45
- return [3 /*break*/, 10];
46
+ return [3 /*break*/, 8];
46
47
  case 3:
47
48
  {
48
49
  if (onSuccess)
49
50
  onSuccess(data);
50
- return [3 /*break*/, 10];
51
+ return [3 /*break*/, 8];
51
52
  }
52
53
  _c.label = 4;
53
54
  case 4:
@@ -57,7 +58,7 @@ export function useIframeWallet(_a, _b, walletPubkey) {
57
58
  case 5:
58
59
  signedTransaction = _c.sent();
59
60
  sendIFrameMessage(signedTransaction);
60
- return [3 /*break*/, 10];
61
+ return [3 /*break*/, 8];
61
62
  case 6:
62
63
  if (!handleSignMessage)
63
64
  throw new Error("This wallet does not support method ".concat(parsedData.method));
@@ -65,21 +66,9 @@ export function useIframeWallet(_a, _b, walletPubkey) {
65
66
  case 7:
66
67
  signedMessage = _c.sent();
67
68
  sendIFrameMessage(signedMessage);
68
- return [3 /*break*/, 10];
69
- case 8:
70
- {
71
- handleHeightChange === null || handleHeightChange === void 0 ? void 0 : handleHeightChange(parsedData.data);
72
- return [3 /*break*/, 10];
73
- }
74
- _c.label = 9;
69
+ return [3 /*break*/, 8];
70
+ case 8: return [3 /*break*/, 10];
75
71
  case 9:
76
- {
77
- console.error("Unsupported Wallet Method ".concat(parsedData.method));
78
- return [3 /*break*/, 10];
79
- }
80
- _c.label = 10;
81
- case 10: return [3 /*break*/, 12];
82
- case 11:
83
72
  e_1 = _c.sent();
84
73
  console.error('handleIframeMessages', e_1);
85
74
  try {
@@ -89,12 +78,12 @@ export function useIframeWallet(_a, _b, walletPubkey) {
89
78
  catch (e) {
90
79
  sendIFrameMessage('ERROR parsing error JSON');
91
80
  }
92
- return [3 /*break*/, 12];
93
- case 12: return [2 /*return*/];
81
+ return [3 /*break*/, 10];
82
+ case 10: return [2 /*return*/];
94
83
  }
95
84
  });
96
85
  });
97
- }, [handleSendTransaction, sendIFrameMessage, onSuccess, handleSignTransaction, handleSignMessage, handleHeightChange]);
86
+ }, [handleSendTransaction, sendIFrameMessage, onSuccess, handleSignTransaction, handleSignMessage]);
98
87
  useEffect(function () {
99
88
  if (useSocket) {
100
89
  if (!walletPubkey)
@@ -105,12 +94,14 @@ export function useIframeWallet(_a, _b, walletPubkey) {
105
94
  }
106
95
  if (!window)
107
96
  throw new Error('Window not defined');
108
- window.onmessage = handleIframeMessages;
109
- return function () { };
97
+ window.addEventListener('message', handleIframeMessages);
98
+ return function () {
99
+ window.removeEventListener('message', handleIframeMessages);
100
+ };
110
101
  }, [env, handleIframeMessages, useSocket, walletPubkey]);
111
102
  return { IFrameRef: IFrameRef };
112
103
  }
113
- function parseJSON(data) {
104
+ export function parseIframeMessageJSON(data) {
114
105
  try {
115
106
  var res = JSON.parse(data);
116
107
  if (!res.method)
@@ -123,4 +114,20 @@ function parseJSON(data) {
123
114
  return null;
124
115
  }
125
116
  }
117
+ export function getMessageHandler(method, handler) {
118
+ return function (_a) {
119
+ var incomingData = _a.data;
120
+ if (origin === 'https://cdn.plaid.com')
121
+ return;
122
+ if (typeof incomingData !== 'string')
123
+ return;
124
+ var parsedData = parseIframeMessageJSON(incomingData);
125
+ if (!parsedData)
126
+ return;
127
+ var incomingMethod = parsedData.method, data = parsedData.data;
128
+ if (incomingMethod !== method)
129
+ return;
130
+ handler(data);
131
+ };
132
+ }
126
133
  //# sourceMappingURL=useIframeWallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIframeWallet.js","sourceRoot":"","sources":["../../../src/wallet/useIframeWallet.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AAGrD,OAAO,EAAC,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAExG,MAAM,UAAU,eAAe,CAC7B,EAIwB,EACxB,EAKC,EACD,YAAuC;IAZzC,iBAwGC;QAtGG,qBAAqB,2BAAA,EACrB,qBAAqB,2BAAA,EACrB,iBAAiB,uBAAA;QAElB,SAAS,eAAA,EAAE,kBAAkB,wBAAA,EAAE,SAAS,eAAA,EAAE,GAAG,SAAA;IAQ9C,IAAM,SAAS,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IAEzD,IAAM,iBAAiB,GAAG,WAAW,CACnC,UAAC,OAAe;;QACd,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC1B,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO;SACR;QAED,IAAI,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,aAAa,CAAA;YACpC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAExC,MAAA,SAAS,CAAC,OAAO,0CAAE,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC,EACD,CAAC,SAAS,EAAE,YAAY,CAAC,CAC1B,CAAC;IAEF,IAAM,oBAAoB,GAAG,WAAW,CACtC,UAAO,EAAsB;YAArB,IAAI,UAAA;;;;;;;wBAEJ,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;wBACjC,IAAI,CAAC,UAAU;4BAAE,sBAAO;wBAEhB,KAAA,UAAU,CAAC,MAAM,CAAA;;iCAClB,iBAAiB,CAAC,CAAlB,wBAAiB;iCAKjB,SAAS,CAAC,CAAV,wBAAS;iCAIT,iBAAiB,CAAC,CAAlB,wBAAiB;iCAUjB,aAAa,CAAC,CAAd,wBAAa;iCAUb,cAAc,CAAC,CAAf,wBAAc;;;4BA5BC,qBAAM,qBAAqB,CAAC,UAAU,CAAC,EAAA;;wBAAnD,SAAS,GAAG,SAAuC;wBACzD,iBAAiB,CAAC,SAAS,CAAC,CAAC;wBAC7B,yBAAM;;wBAEQ;4BACd,IAAI,SAAS;gCAAE,SAAS,CAAC,IAAI,CAAC,CAAC;4BAC/B,yBAAM;yBACP;;;wBAEC,IAAI,CAAC,qBAAqB;4BACxB,MAAM,IAAI,KAAK,CACb,8CAAuC,UAAU,CAAC,MAAM,CAAE,CAC3D,CAAC;wBAEsB,qBAAM,qBAAqB,CAAC,UAAU,CAAC,EAAA;;wBAA3D,iBAAiB,GAAG,SAAuC;wBACjE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;wBACrC,yBAAM;;wBAGN,IAAI,CAAC,iBAAiB;4BACpB,MAAM,IAAI,KAAK,CACb,8CAAuC,UAAU,CAAC,MAAM,CAAE,CAC3D,CAAC;wBAEkB,qBAAM,iBAAiB,CAAC,UAAU,CAAC,EAAA;;wBAAnD,aAAa,GAAG,SAAmC;wBACzD,iBAAiB,CAAC,aAAa,CAAC,CAAC;wBACjC,yBAAM;;wBAEa;4BACnB,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,UAAU,CAAC,IAAI,CAAC,CAAC;4BACtC,yBAAM;yBACP;;;wBACQ;4BACP,OAAO,CAAC,KAAK,CAAC,oCAA6B,UAAU,CAAC,MAAM,CAAE,CAAC,CAAC;4BAChE,yBAAM;yBACP;;;;;wBAGH,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAC,CAAC,CAAC;wBACzC,IAAI;4BACI,OAAO,GAAG,GAAC,YAAY,KAAK,CAAC,CAAC,CAAC,GAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAC,CAAC,CAAC;4BACnE,iBAAiB,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;yBACvC;wBAAC,OAAO,CAAC,EAAE;4BACV,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;yBAC/C;;;;;;KAEJ,EACD,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,SAAS,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CACpH,CAAC;IAEF,SAAS,CAAC;QACR,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC1B,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAClC,eAAe,CAAC,UAAA,IAAI,IAAI,OAAA,oBAAoB,CAAC,EAAC,IAAI,MAAA,EAAC,CAAC,EAA5B,CAA4B,CAAC,CAAC;YACtD,OAAO,cAAM,OAAA,gBAAgB,EAAE,EAAlB,CAAkB,CAAC;SACjC;QAED,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnD,MAAM,CAAC,SAAS,GAAG,oBAAoB,CAAC;QACxC,OAAO,cAAO,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAEzD,OAAO,EAAC,SAAS,WAAA,EAAC,CAAC;AACrB,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI;QACF,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,GAAG,CAAC;KACZ;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,IAAI,CAAC;KACb;AACH,CAAC"}
1
+ {"version":3,"file":"useIframeWallet.js","sourceRoot":"","sources":["../../../src/wallet/useIframeWallet.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinflowlabs/react",
3
- "version": "2.4.0",
3
+ "version": "2.5.1",
4
4
  "description": "React Component for Coinflow Withdraw",
5
5
  "main": "./build/cjs/index.js",
6
6
  "module": "./build/esm/index.js",
@@ -33,10 +33,11 @@
33
33
  },
34
34
  "devDependencies": {
35
35
  "@solana/wallet-adapter-react": "^0.15.32",
36
- "@near-wallet-selector/core": "^8.5.1",
36
+ "@near-wallet-selector/core": "^8.5.2",
37
37
  "@types/react": "^18.2.21",
38
38
  "eslint-config-react-app": "^7.0.1",
39
- "typescript": "^5.0.4"
39
+ "typescript": "^5.0.4",
40
+ "csstype": "^3.1.2"
40
41
  },
41
42
  "peerDependencies": {
42
43
  "@solana/web3.js": ">=1.54.0",