@coinflowlabs/react 2.1.1 → 2.2.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.
Files changed (89) hide show
  1. package/README.md +4 -0
  2. package/build/cjs/CoinflowIFrame.d.ts +3 -3
  3. package/build/cjs/CoinflowPurchase.d.ts +4 -58
  4. package/build/cjs/CoinflowPurchase.js +8 -7
  5. package/build/cjs/CoinflowPurchase.js.map +1 -1
  6. package/build/cjs/CoinflowPurchaseHistory.d.ts +3 -3
  7. package/build/cjs/CoinflowPurchaseHistory.js +13 -12
  8. package/build/cjs/CoinflowPurchaseHistory.js.map +1 -1
  9. package/build/cjs/CoinflowTypes.d.ts +159 -0
  10. package/build/cjs/{CommonCoinflowProps.js → CoinflowTypes.js} +1 -1
  11. package/build/cjs/CoinflowTypes.js.map +1 -0
  12. package/build/cjs/CoinflowUtils.d.ts +3 -41
  13. package/build/cjs/CoinflowUtils.js +11 -1
  14. package/build/cjs/CoinflowUtils.js.map +1 -1
  15. package/build/cjs/CoinflowWithdraw.d.ts +3 -29
  16. package/build/cjs/CoinflowWithdraw.js +8 -7
  17. package/build/cjs/CoinflowWithdraw.js.map +1 -1
  18. package/build/cjs/CoinflowWithdrawHistory.d.ts +3 -3
  19. package/build/cjs/CoinflowWithdrawHistory.js +8 -7
  20. package/build/cjs/CoinflowWithdrawHistory.js.map +1 -1
  21. package/build/cjs/index.d.ts +2 -1
  22. package/build/cjs/index.js +2 -1
  23. package/build/cjs/index.js.map +1 -1
  24. package/build/{esm → cjs/wallet}/EthIFrameMessageHandlers.d.ts +1 -3
  25. package/build/cjs/wallet/EthIFrameMessageHandlers.js.map +1 -0
  26. package/build/cjs/{NearIFrameMessageHandlers.d.ts → wallet/NearIFrameMessageHandlers.d.ts} +1 -1
  27. package/build/cjs/wallet/NearIFrameMessageHandlers.js.map +1 -0
  28. package/build/cjs/wallet/SocketService.d.ts +5 -0
  29. package/build/cjs/wallet/SocketService.js +42 -0
  30. package/build/cjs/wallet/SocketService.js.map +1 -0
  31. package/build/cjs/{SolanaIFrameMessageHandlers.d.ts → wallet/SolanaIFrameMessageHandlers.d.ts} +1 -1
  32. package/build/cjs/wallet/SolanaIFrameMessageHandlers.js.map +1 -0
  33. package/build/{esm → cjs/wallet}/useIframeWallet.d.ts +5 -3
  34. package/build/cjs/{useIframeWallet.js → wallet/useIframeWallet.js} +20 -11
  35. package/build/cjs/wallet/useIframeWallet.js.map +1 -0
  36. package/build/esm/CoinflowIFrame.d.ts +3 -3
  37. package/build/esm/CoinflowPurchase.d.ts +4 -58
  38. package/build/esm/CoinflowPurchase.js +9 -8
  39. package/build/esm/CoinflowPurchase.js.map +1 -1
  40. package/build/esm/CoinflowPurchaseHistory.d.ts +3 -3
  41. package/build/esm/CoinflowPurchaseHistory.js +13 -12
  42. package/build/esm/CoinflowPurchaseHistory.js.map +1 -1
  43. package/build/esm/CoinflowTypes.d.ts +159 -0
  44. package/build/esm/CoinflowTypes.js +2 -0
  45. package/build/esm/CoinflowTypes.js.map +1 -0
  46. package/build/esm/CoinflowUtils.d.ts +3 -41
  47. package/build/esm/CoinflowUtils.js +11 -1
  48. package/build/esm/CoinflowUtils.js.map +1 -1
  49. package/build/esm/CoinflowWithdraw.d.ts +3 -29
  50. package/build/esm/CoinflowWithdraw.js +8 -7
  51. package/build/esm/CoinflowWithdraw.js.map +1 -1
  52. package/build/esm/CoinflowWithdrawHistory.d.ts +3 -3
  53. package/build/esm/CoinflowWithdrawHistory.js +8 -7
  54. package/build/esm/CoinflowWithdrawHistory.js.map +1 -1
  55. package/build/esm/index.d.ts +2 -1
  56. package/build/esm/index.js +2 -1
  57. package/build/esm/index.js.map +1 -1
  58. package/build/{cjs → esm/wallet}/EthIFrameMessageHandlers.d.ts +1 -3
  59. package/build/esm/wallet/EthIFrameMessageHandlers.js.map +1 -0
  60. package/build/esm/{NearIFrameMessageHandlers.d.ts → wallet/NearIFrameMessageHandlers.d.ts} +1 -1
  61. package/build/esm/wallet/NearIFrameMessageHandlers.js.map +1 -0
  62. package/build/esm/wallet/SocketService.d.ts +5 -0
  63. package/build/esm/wallet/SocketService.js +34 -0
  64. package/build/esm/wallet/SocketService.js.map +1 -0
  65. package/build/esm/{SolanaIFrameMessageHandlers.d.ts → wallet/SolanaIFrameMessageHandlers.d.ts} +1 -1
  66. package/build/esm/wallet/SolanaIFrameMessageHandlers.js.map +1 -0
  67. package/build/{cjs → esm/wallet}/useIframeWallet.d.ts +5 -3
  68. package/build/esm/{useIframeWallet.js → wallet/useIframeWallet.js} +20 -11
  69. package/build/esm/wallet/useIframeWallet.js.map +1 -0
  70. package/package.json +13 -8
  71. package/build/cjs/CommonCoinflowProps.d.ts +0 -43
  72. package/build/cjs/CommonCoinflowProps.js.map +0 -1
  73. package/build/cjs/EthIFrameMessageHandlers.js.map +0 -1
  74. package/build/cjs/NearIFrameMessageHandlers.js.map +0 -1
  75. package/build/cjs/SolanaIFrameMessageHandlers.js.map +0 -1
  76. package/build/cjs/useIframeWallet.js.map +0 -1
  77. package/build/esm/CommonCoinflowProps.d.ts +0 -43
  78. package/build/esm/CommonCoinflowProps.js +0 -2
  79. package/build/esm/CommonCoinflowProps.js.map +0 -1
  80. package/build/esm/EthIFrameMessageHandlers.js.map +0 -1
  81. package/build/esm/NearIFrameMessageHandlers.js.map +0 -1
  82. package/build/esm/SolanaIFrameMessageHandlers.js.map +0 -1
  83. package/build/esm/useIframeWallet.js.map +0 -1
  84. /package/build/cjs/{EthIFrameMessageHandlers.js → wallet/EthIFrameMessageHandlers.js} +0 -0
  85. /package/build/cjs/{NearIFrameMessageHandlers.js → wallet/NearIFrameMessageHandlers.js} +0 -0
  86. /package/build/cjs/{SolanaIFrameMessageHandlers.js → wallet/SolanaIFrameMessageHandlers.js} +0 -0
  87. /package/build/esm/{EthIFrameMessageHandlers.js → wallet/EthIFrameMessageHandlers.js} +0 -0
  88. /package/build/esm/{NearIFrameMessageHandlers.js → wallet/NearIFrameMessageHandlers.js} +0 -0
  89. /package/build/esm/{SolanaIFrameMessageHandlers.js → wallet/SolanaIFrameMessageHandlers.js} +0 -0
@@ -0,0 +1,159 @@
1
+ /// <reference types="react" />
2
+ import type { Connection } from '@solana/web3.js';
3
+ import { PublicKey, Signer, Transaction } from '@solana/web3.js';
4
+ import { WalletContextState } from '@solana/wallet-adapter-react';
5
+ import { Wallet } from '@near-wallet-selector/core';
6
+ /** Coinflow Types **/
7
+ export type CoinflowBlockchain = 'solana' | 'near' | 'eth' | 'polygon';
8
+ export type CoinflowEnvs = 'prod' | 'staging' | 'sandbox' | 'local';
9
+ export interface CoinflowTypes {
10
+ merchantId: string;
11
+ env?: CoinflowEnvs;
12
+ loaderBackground?: string;
13
+ blockchain: CoinflowBlockchain;
14
+ handleHeightChange?: (height: string) => void;
15
+ useSocket?: boolean;
16
+ }
17
+ export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
18
+ export type OnSuccessMethod = (params: string) => void | Promise<void>;
19
+ /** Wallets **/
20
+ export type SolanaWallet = PartialBy<Pick<WalletContextState, 'wallet' | 'signTransaction' | 'publicKey' | 'sendTransaction'>, 'wallet' | 'signTransaction'>;
21
+ export type NearWallet = {
22
+ accountId: string;
23
+ } & Pick<Wallet, 'signAndSendTransaction'>;
24
+ type AccessList = Array<{
25
+ address: string;
26
+ storageKeys: Array<string>;
27
+ }>;
28
+ type AccessListish = AccessList | Array<[string, Array<string>]> | Record<string, Array<string>>;
29
+ export type EthWallet = {
30
+ address: string | null | undefined;
31
+ sendTransaction: (transaction: {
32
+ to: string;
33
+ from?: string;
34
+ nonce?: Bytes | bigint | string | number;
35
+ gasLimit?: Bytes | bigint | string | number;
36
+ gasPrice?: Bytes | bigint | string | number;
37
+ data?: BytesLike;
38
+ value?: Bytes | bigint | string | number;
39
+ chainId?: number;
40
+ type?: number;
41
+ accessList?: AccessListish;
42
+ maxPriorityFeePerGas?: Bytes | bigint | string | number;
43
+ maxFeePerGas?: Bytes | bigint | string | number;
44
+ customData?: Record<string, any>;
45
+ ccipReadEnabled?: boolean;
46
+ }) => Promise<{
47
+ hash: string;
48
+ }>;
49
+ signMessage: (message: string) => Promise<string>;
50
+ };
51
+ /** History **/
52
+ export interface CoinflowSolanaHistoryProps extends CoinflowTypes {
53
+ wallet: SolanaWallet;
54
+ connection: Connection;
55
+ blockchain: 'solana';
56
+ }
57
+ export interface CoinflowNearHistoryProps extends CoinflowTypes {
58
+ wallet: NearWallet;
59
+ blockchain: 'near';
60
+ }
61
+ export interface CoinflowEthHistoryProps extends CoinflowTypes {
62
+ wallet: EthWallet;
63
+ blockchain: 'eth';
64
+ }
65
+ export interface CoinflowPolygonHistoryProps extends CoinflowTypes {
66
+ wallet: EthWallet;
67
+ blockchain: 'polygon';
68
+ }
69
+ export type CoinflowHistoryProps = CoinflowSolanaHistoryProps | CoinflowNearHistoryProps | CoinflowPolygonHistoryProps;
70
+ export interface CoinflowIFrameProps extends Omit<CoinflowTypes, 'merchantId'> {
71
+ walletPubkey: string;
72
+ IFrameRef: React.RefObject<HTMLIFrameElement>;
73
+ route: string;
74
+ amount?: number;
75
+ transaction?: string;
76
+ webhookInfo?: object;
77
+ token?: string | PublicKey;
78
+ email?: string;
79
+ supportsVersionedTransactions?: boolean;
80
+ }
81
+ /** Transactions **/
82
+ export type NearFtTransferCallAction = {
83
+ methodName: 'ft_transfer_call';
84
+ args: object;
85
+ gas: string;
86
+ deposit: string;
87
+ };
88
+ type BigNumberish = object | bigint | string | number;
89
+ type Bytes = ArrayLike<number>;
90
+ type BytesLike = Bytes | string;
91
+ export type EvmTransaction = {
92
+ to: string;
93
+ from?: string;
94
+ nonce?: BigNumberish;
95
+ gasLimit?: BigNumberish;
96
+ gasPrice?: BigNumberish;
97
+ data?: BytesLike;
98
+ value?: BigNumberish;
99
+ chainId?: number;
100
+ type?: number;
101
+ maxPriorityFeePerGas?: BigNumberish;
102
+ maxFeePerGas?: BigNumberish;
103
+ customData?: Record<string, any>;
104
+ ccipReadEnabled?: boolean;
105
+ };
106
+ /** Purchase **/
107
+ export interface CoinflowCommonPurchaseProps extends CoinflowTypes {
108
+ amount?: number;
109
+ onSuccess?: OnSuccessMethod;
110
+ webhookInfo?: object;
111
+ email?: string;
112
+ }
113
+ export interface CoinflowSolanaPurchaseProps extends CoinflowCommonPurchaseProps {
114
+ wallet: SolanaWallet;
115
+ transaction?: Transaction;
116
+ partialSigners?: Signer[];
117
+ debugTx?: boolean;
118
+ connection: Connection;
119
+ blockchain: 'solana';
120
+ token?: PublicKey | string;
121
+ supportsVersionedTransactions?: boolean;
122
+ }
123
+ export interface CoinflowNearPurchaseProps extends CoinflowCommonPurchaseProps {
124
+ wallet: NearWallet;
125
+ blockchain: 'near';
126
+ action?: NearFtTransferCallAction;
127
+ }
128
+ export interface CoinflowPolygonPurchaseProps extends CoinflowCommonPurchaseProps {
129
+ transaction?: EvmTransaction;
130
+ wallet: EthWallet;
131
+ blockchain: 'polygon';
132
+ }
133
+ export type CoinflowPurchaseProps = CoinflowSolanaPurchaseProps | CoinflowNearPurchaseProps | CoinflowPolygonPurchaseProps;
134
+ /** Withdraw **/
135
+ export interface CoinflowCommonWithdrawProps extends CoinflowTypes {
136
+ onSuccess?: OnSuccessMethod;
137
+ token?: string;
138
+ amount?: number;
139
+ email?: string;
140
+ }
141
+ export interface CoinflowSolanaWithdrawProps extends CoinflowCommonWithdrawProps {
142
+ wallet: SolanaWallet;
143
+ connection: Connection;
144
+ blockchain: 'solana';
145
+ }
146
+ export interface CoinflowNearWithdrawProps extends CoinflowCommonWithdrawProps {
147
+ wallet: NearWallet;
148
+ blockchain: 'near';
149
+ }
150
+ export interface CoinflowEthWithdrawProps extends CoinflowCommonWithdrawProps {
151
+ wallet: Omit<EthWallet, 'signMessage'>;
152
+ blockchain: 'eth';
153
+ }
154
+ export interface CoinflowPolygonWithdrawProps extends CoinflowCommonWithdrawProps {
155
+ wallet: Omit<EthWallet, 'signMessage'>;
156
+ blockchain: 'polygon';
157
+ }
158
+ export type CoinflowWithdrawProps = CoinflowSolanaWithdrawProps | CoinflowNearWithdrawProps | CoinflowEthWithdrawProps | CoinflowPolygonWithdrawProps;
159
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CoinflowTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoinflowTypes.js","sourceRoot":"","sources":["../../src/CoinflowTypes.ts"],"names":[],"mappings":""}
@@ -1,43 +1,5 @@
1
1
  import type { Transaction } from '@solana/web3.js';
2
- import type { WalletContextState } from '@solana/wallet-adapter-react';
3
- import type { Wallet } from '@near-wallet-selector/core';
4
- import { CoinflowIFrameProps } from './CommonCoinflowProps';
5
- export type CoinflowBlockchain = 'solana' | 'near' | 'eth' | 'polygon';
6
- export type CoinflowEnvs = 'prod' | 'staging' | 'sandbox' | 'local';
7
- type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
8
- export type SolanaWallet = PartialBy<Pick<WalletContextState, 'wallet' | 'signTransaction' | 'publicKey' | 'sendTransaction'>, 'wallet' | 'signTransaction'>;
9
- export type NearWallet = {
10
- accountId: string;
11
- } & Pick<Wallet, 'signAndSendTransaction'>;
12
- type Bytes = ArrayLike<number>;
13
- type BytesLike = Bytes | string;
14
- type AccessList = Array<{
15
- address: string;
16
- storageKeys: Array<string>;
17
- }>;
18
- type AccessListish = AccessList | Array<[string, Array<string>]> | Record<string, Array<string>>;
19
- export type EthWallet = {
20
- address: string | null | undefined;
21
- sendTransaction: (transaction: {
22
- to: string;
23
- from?: string;
24
- nonce?: Bytes | bigint | string | number;
25
- gasLimit?: Bytes | bigint | string | number;
26
- gasPrice?: Bytes | bigint | string | number;
27
- data?: BytesLike;
28
- value?: Bytes | bigint | string | number;
29
- chainId?: number;
30
- type?: number;
31
- accessList?: AccessListish;
32
- maxPriorityFeePerGas?: Bytes | bigint | string | number;
33
- maxFeePerGas?: Bytes | bigint | string | number;
34
- customData?: Record<string, any>;
35
- ccipReadEnabled?: boolean;
36
- }) => Promise<{
37
- hash: string;
38
- }>;
39
- signMessage: (message: string) => Promise<string>;
40
- };
2
+ import { CoinflowBlockchain, CoinflowEnvs, CoinflowIFrameProps, SolanaWallet } from './CoinflowTypes';
41
3
  export declare class CoinflowUtils {
42
4
  env: CoinflowEnvs;
43
5
  url: string;
@@ -45,7 +7,8 @@ export declare class CoinflowUtils {
45
7
  getFeePayer(merchantId: string): Promise<string>;
46
8
  getCreditBalance(publicKey: string, blockchain: 'solana' | 'near'): Promise<number>;
47
9
  static getCoinflowBaseUrl(env?: CoinflowEnvs): string;
48
- static getCoinflowUrl({ walletPubkey, route, env, amount, transaction, blockchain, supportsVersionedTransactions, webhookInfo, token, email, loaderBackground, handleHeightChange, }: CoinflowIFrameProps): string;
10
+ static getCoinflowApiUrl(env?: CoinflowEnvs): string;
11
+ static getCoinflowUrl({ walletPubkey, route, env, amount, transaction, blockchain, supportsVersionedTransactions, webhookInfo, token, email, loaderBackground, handleHeightChange, useSocket, }: CoinflowIFrameProps): string;
49
12
  static serializeSolanaTransaction(transaction: Transaction | undefined): string | undefined;
50
13
  static solanaWalletSupportsVersionedTransactions(wallet: SolanaWallet): boolean;
51
14
  static byBlockchain<T>(blockchain: CoinflowBlockchain, args: {
@@ -55,4 +18,3 @@ export declare class CoinflowUtils {
55
18
  polygon: T;
56
19
  }): T;
57
20
  }
58
- export {};
@@ -49,8 +49,15 @@ var CoinflowUtils = /** @class */ (function () {
49
49
  return 'http://localhost:3000';
50
50
  return "https://".concat(env, ".coinflow.cash");
51
51
  };
52
+ CoinflowUtils.getCoinflowApiUrl = function (env) {
53
+ if (!env || env === 'prod')
54
+ return 'https://api.coinflow.cash';
55
+ if (env === 'local')
56
+ return 'http://localhost:5000';
57
+ return "https://api-".concat(env, ".coinflow.cash");
58
+ };
52
59
  CoinflowUtils.getCoinflowUrl = function (_a) {
53
- 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;
60
+ 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;
54
61
  var url = new URL("/".concat(blockchain) + route, CoinflowUtils.getCoinflowBaseUrl(env));
55
62
  url.searchParams.append('pubkey', walletPubkey);
56
63
  if (transaction) {
@@ -77,6 +84,9 @@ var CoinflowUtils = /** @class */ (function () {
77
84
  if (handleHeightChange) {
78
85
  url.searchParams.append('useHeightChange', 'true');
79
86
  }
87
+ if (useSocket) {
88
+ url.searchParams.append('useSocket', 'true');
89
+ }
80
90
  return url.toString();
81
91
  };
82
92
  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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"}
@@ -1,29 +1,3 @@
1
- /// <reference types="react" />
2
- import type { Connection } from '@solana/web3.js';
3
- import { EthWallet, NearWallet, SolanaWallet } from './CoinflowUtils';
4
- import { OnSuccessMethod } from './useIframeWallet';
5
- import { CommonCoinflowProps } from './CommonCoinflowProps';
6
- export interface CoinflowCommonWithdrawProps extends CommonCoinflowProps {
7
- onSuccess?: OnSuccessMethod;
8
- token?: string;
9
- amount?: number;
10
- email?: string;
11
- }
12
- export interface CoinflowSolanaWithdrawProps extends CoinflowCommonWithdrawProps {
13
- wallet: SolanaWallet;
14
- connection: Connection;
15
- blockchain: 'solana';
16
- }
17
- export interface CoinflowNearWithdrawProps extends CoinflowCommonWithdrawProps {
18
- wallet: NearWallet;
19
- blockchain: 'near';
20
- }
21
- export interface CoinflowEthWithdrawProps extends CoinflowCommonWithdrawProps {
22
- wallet: Omit<EthWallet, 'signMessage'>;
23
- blockchain: 'eth';
24
- }
25
- export interface CoinflowPolygonWithdrawProps extends CoinflowCommonWithdrawProps {
26
- wallet: Omit<EthWallet, 'signMessage'>;
27
- blockchain: 'polygon';
28
- }
29
- export declare function CoinflowWithdraw(props: CoinflowSolanaWithdrawProps | CoinflowNearWithdrawProps | CoinflowEthWithdrawProps | CoinflowPolygonWithdrawProps): JSX.Element;
1
+ import React from 'react';
2
+ import { CoinflowWithdrawProps } from './CoinflowTypes';
3
+ export declare function CoinflowWithdraw(props: CoinflowWithdrawProps): React.JSX.Element;
@@ -2,10 +2,10 @@ import { __assign } from "tslib";
2
2
  import React from 'react';
3
3
  import { CoinflowIFrame } from './CoinflowIFrame';
4
4
  import { CoinflowUtils, } from './CoinflowUtils';
5
- import { useIframeWallet } from './useIframeWallet';
6
- import { useSolanaIFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
7
- import { useNearIFrameMessageHandlers } from './NearIFrameMessageHandlers';
8
- import { useEthIFrameMessageHandlers } from './EthIFrameMessageHandlers';
5
+ import { useIframeWallet } from './wallet/useIframeWallet';
6
+ import { useSolanaIFrameMessageHandlers } from './wallet/SolanaIFrameMessageHandlers';
7
+ import { useNearIFrameMessageHandlers } from './wallet/NearIFrameMessageHandlers';
8
+ import { useEthIFrameMessageHandlers } from './wallet/EthIFrameMessageHandlers';
9
9
  export function CoinflowWithdraw(props) {
10
10
  return CoinflowUtils.byBlockchain(props.blockchain, {
11
11
  solana: (React.createElement(CoinflowSolanaWithdraw, __assign({}, props))),
@@ -15,9 +15,10 @@ export function CoinflowWithdraw(props) {
15
15
  });
16
16
  }
17
17
  function CoinflowSolanaWithdraw(props) {
18
+ var _a;
18
19
  var handlers = useSolanaIFrameMessageHandlers(props);
19
- var IFrameRef = useIframeWallet(handlers, props).IFrameRef;
20
20
  var wallet = props.wallet;
21
+ var IFrameRef = useIframeWallet(handlers, props, (_a = wallet.publicKey) === null || _a === void 0 ? void 0 : _a.toString()).IFrameRef;
21
22
  if (!wallet.publicKey)
22
23
  return null;
23
24
  var walletPubkey = wallet.publicKey.toString();
@@ -26,8 +27,8 @@ function CoinflowSolanaWithdraw(props) {
26
27
  }
27
28
  function CoinflowNearWithdraw(props) {
28
29
  var handlers = useNearIFrameMessageHandlers(props);
29
- var IFrameRef = useIframeWallet(handlers, props).IFrameRef;
30
30
  var wallet = props.wallet;
31
+ var IFrameRef = useIframeWallet(handlers, props, wallet.accountId).IFrameRef;
31
32
  if (!wallet)
32
33
  return null;
33
34
  var walletPubkey = wallet.accountId;
@@ -36,8 +37,8 @@ function CoinflowNearWithdraw(props) {
36
37
  }
37
38
  function CoinflowEthWithdraw(props) {
38
39
  var handlers = useEthIFrameMessageHandlers(props);
39
- var IFrameRef = useIframeWallet(handlers, props).IFrameRef;
40
40
  var wallet = props.wallet;
41
+ var IFrameRef = useIframeWallet(handlers, props, wallet.address).IFrameRef;
41
42
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.address))
42
43
  return null;
43
44
  var walletPubkey = wallet.address;
@@ -1 +1 @@
1
- {"version":3,"file":"CoinflowWithdraw.js","sourceRoot":"","sources":["../../src/CoinflowWithdraw.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,aAAa,GAId,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAkB,eAAe,EAAC,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAC,4BAA4B,EAAC,MAAM,6BAA6B,CAAC;AAEzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AAgCvE,MAAM,UAAU,gBAAgB,CAC9B,KAIgC;IAEhC,OAAO,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE;QAClD,MAAM,EAAE,CACN,oBAAC,sBAAsB,eAAM,KAAqC,EAAI,CACvE;QACD,IAAI,EAAE,oBAAC,oBAAoB,eAAM,KAAmC,EAAI;QACxE,GAAG,EAAE,oBAAC,mBAAmB,eAAM,KAAkC,EAAI;QACrE,OAAO,EAAE,CACP,oBAAC,mBAAmB,eAAM,KAAsC,EAAI,CACrE;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAkC;IAChE,IAAM,QAAQ,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAChD,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,UAApC,CAAqC;IAE9C,IAAA,MAAM,GAAI,KAAK,OAAT,CAAU;IACvB,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAEjD,IAAM,WAAW,yBACZ,KAAK,KACR,YAAY,cAAA,EACZ,SAAS,WAAA,EACT,KAAK,EAAE,oBAAa,KAAK,CAAC,UAAU,CAAE,GACvC,CAAC;IACF,OAAO,CACL,oBAAC,cAAc,eAAK,WAAW,EAAG,CACnC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAgC;IAC5D,IAAM,QAAQ,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,UAApC,CAAqC;IAE9C,IAAA,MAAM,GAAI,KAAK,OAAT,CAAU;IACvB,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAEtC,IAAM,WAAW,yBACZ,KAAK,KACR,YAAY,cAAA,EACZ,SAAS,WAAA,EACT,KAAK,EAAE,oBAAa,KAAK,CAAC,UAAU,CAAE,GACvC,CAAC;IACF,OAAO,CACL,oBAAC,cAAc,eAAK,WAAW,EAAG,CACnC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA8D;IACzF,IAAM,QAAQ,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,UAApC,CAAqC;IAE9C,IAAA,MAAM,GAAI,KAAK,OAAT,CAAU;IACvB,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAA;QAAE,OAAO,IAAI,CAAC;IAClC,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;IAEpC,IAAM,WAAW,yBACZ,KAAK,KACR,YAAY,cAAA,EACZ,SAAS,WAAA,EACT,KAAK,EAAE,oBAAa,KAAK,CAAC,UAAU,CAAE,GACvC,CAAC;IACF,OAAO,CACL,oBAAC,cAAc,eAAK,WAAW,EAAG,CACnC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CoinflowWithdraw.js","sourceRoot":"","sources":["../../src/CoinflowWithdraw.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /// <reference types="react" />
2
- import { CoinflowNearHistoryProps, CoinflowSolanaHistoryProps, CoinflowEthHistoryProps, CoinflowPolygonHistoryProps } from './CommonCoinflowProps';
3
- export declare function CoinflowWithdrawHistory(props: CoinflowSolanaHistoryProps | CoinflowNearHistoryProps | CoinflowEthHistoryProps | CoinflowPolygonHistoryProps): JSX.Element;
1
+ import React from 'react';
2
+ import { CoinflowNearHistoryProps, CoinflowSolanaHistoryProps, CoinflowEthHistoryProps, CoinflowPolygonHistoryProps } from './CoinflowTypes';
3
+ export declare function CoinflowWithdrawHistory(props: CoinflowSolanaHistoryProps | CoinflowNearHistoryProps | CoinflowEthHistoryProps | CoinflowPolygonHistoryProps): React.JSX.Element;
@@ -1,11 +1,11 @@
1
1
  import { __assign } from "tslib";
2
2
  import { CoinflowUtils } from './CoinflowUtils';
3
- import { useIframeWallet } from './useIframeWallet';
3
+ import { useIframeWallet } from './wallet/useIframeWallet';
4
4
  import { CoinflowIFrame } from './CoinflowIFrame';
5
5
  import React from 'react';
6
- import { useSolanaIFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
7
- import { useNearIFrameMessageHandlers } from './NearIFrameMessageHandlers';
8
- import { useEthIFrameMessageHandlers } from './EthIFrameMessageHandlers';
6
+ import { useSolanaIFrameMessageHandlers } from './wallet/SolanaIFrameMessageHandlers';
7
+ import { useNearIFrameMessageHandlers } from './wallet/NearIFrameMessageHandlers';
8
+ import { useEthIFrameMessageHandlers } from './wallet/EthIFrameMessageHandlers';
9
9
  export function CoinflowWithdrawHistory(props) {
10
10
  return CoinflowUtils.byBlockchain(props.blockchain, {
11
11
  solana: (React.createElement(SolanaWithdrawHistory, __assign({}, props))),
@@ -15,9 +15,10 @@ export function CoinflowWithdrawHistory(props) {
15
15
  });
16
16
  }
17
17
  function SolanaWithdrawHistory(props) {
18
+ var _a;
18
19
  var handlers = useSolanaIFrameMessageHandlers(props);
19
- var IFrameRef = useIframeWallet(handlers, props).IFrameRef;
20
20
  var wallet = props.wallet;
21
+ var IFrameRef = useIframeWallet(handlers, props, (_a = wallet.publicKey) === null || _a === void 0 ? void 0 : _a.toString()).IFrameRef;
21
22
  if (!wallet.publicKey)
22
23
  return null;
23
24
  var walletPubkey = wallet.publicKey.toString();
@@ -26,8 +27,8 @@ function SolanaWithdrawHistory(props) {
26
27
  }
27
28
  function NearWithdrawHistory(props) {
28
29
  var handlers = useNearIFrameMessageHandlers(props);
29
- var IFrameRef = useIframeWallet(handlers, props).IFrameRef;
30
30
  var wallet = props.wallet;
31
+ var IFrameRef = useIframeWallet(handlers, props, wallet.accountId).IFrameRef;
31
32
  if (!wallet)
32
33
  return null;
33
34
  var walletPubkey = wallet.accountId;
@@ -36,8 +37,8 @@ function NearWithdrawHistory(props) {
36
37
  }
37
38
  function EthWithdrawHistory(props) {
38
39
  var handlers = useEthIFrameMessageHandlers(props);
39
- var IFrameRef = useIframeWallet(handlers, props).IFrameRef;
40
40
  var wallet = props.wallet;
41
+ var IFrameRef = useIframeWallet(handlers, props, wallet.address).IFrameRef;
41
42
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.address))
42
43
  return null;
43
44
  var iframeProps = __assign(__assign({}, props), { walletPubkey: wallet.address, IFrameRef: IFrameRef, route: "/history/withdraw/".concat(props.merchantId) });
@@ -1 +1 @@
1
- {"version":3,"file":"CoinflowWithdrawHistory.js","sourceRoot":"","sources":["../../src/CoinflowWithdrawHistory.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAC,4BAA4B,EAAC,MAAM,6BAA6B,CAAC;AAOzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AAEvE,MAAM,UAAU,uBAAuB,CACrC,KAI+B;IAE/B,OAAO,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE;QAClD,MAAM,EAAE,CACN,oBAAC,qBAAqB,eAAM,KAAoC,EAAI,CACrE;QACD,IAAI,EAAE,oBAAC,mBAAmB,eAAM,KAAkC,EAAI;QACtE,GAAG,EAAE,oBAAC,kBAAkB,eAAM,KAAiC,EAAI;QACnE,OAAO,EAAE,oBAAC,kBAAkB,eAAM,KAAqC,EAAI;KAC5E,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAiC;IAC9D,IAAM,QAAQ,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAChD,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,UAApC,CAAqC;IAE9C,IAAA,MAAM,GAAI,KAAK,OAAT,CAAU;IACvB,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAEjD,IAAM,WAAW,yBACZ,KAAK,KACR,YAAY,cAAA,EACZ,SAAS,WAAA,EACT,KAAK,EAAE,4BAAqB,KAAK,CAAC,UAAU,CAAE,GAC/C,CAAC;IACF,OAAO,CACL,oBAAC,cAAc,eAAK,WAAW,EAAI,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA+B;IAC1D,IAAM,QAAQ,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,UAApC,CAAqC;IAE9C,IAAA,MAAM,GAAI,KAAK,OAAT,CAAU;IACvB,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAEtC,IAAM,WAAW,yBACZ,KAAK,KACR,YAAY,cAAA,EACZ,SAAS,WAAA,EACT,KAAK,EAAE,4BAAqB,KAAK,CAAC,UAAU,CAAE,GAC/C,CAAC;IACF,OAAO,CACL,oBAAC,cAAc,eAAK,WAAW,EAAI,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA4D;IACtF,IAAM,QAAQ,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,UAApC,CAAqC;IAE9C,IAAA,MAAM,GAAI,KAAK,OAAT,CAAU;IACvB,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAA;QAAE,OAAO,IAAI,CAAC;IAElC,IAAM,WAAW,yBACZ,KAAK,KACR,YAAY,EAAE,MAAM,CAAC,OAAO,EAC5B,SAAS,WAAA,EACT,KAAK,EAAE,4BAAqB,KAAK,CAAC,UAAU,CAAE,GAC/C,CAAC;IACF,OAAO,CACL,oBAAC,cAAc,eAAK,WAAW,EAAI,CACpC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CoinflowWithdrawHistory.js","sourceRoot":"","sources":["../../src/CoinflowWithdrawHistory.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,4BAA4B,EAAC,MAAM,oCAAoC,CAAC;AAOhF,OAAO,EAAC,2BAA2B,EAAC,MAAM,mCAAmC,CAAC;AAE9E,MAAM,UAAU,uBAAuB,CACrC,KAI+B;IAE/B,OAAO,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE;QAClD,MAAM,EAAE,CACN,oBAAC,qBAAqB,eAAM,KAAoC,EAAI,CACrE;QACD,IAAI,EAAE,oBAAC,mBAAmB,eAAM,KAAkC,EAAI;QACtE,GAAG,EAAE,oBAAC,kBAAkB,eAAM,KAAiC,EAAI;QACnE,OAAO,EAAE,oBAAC,kBAAkB,eAAM,KAAqC,EAAI;KAC5E,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAiC;;IAC9D,IAAM,QAAQ,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAChD,IAAA,MAAM,GAAI,KAAK,OAAT,CAAU;IAChB,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAA,MAAM,CAAC,SAAS,0CAAE,QAAQ,EAAE,CAAC,UAAlE,CAAmE;IAEnF,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAEjD,IAAM,WAAW,yBACZ,KAAK,KACR,YAAY,cAAA,EACZ,SAAS,WAAA,EACT,KAAK,EAAE,4BAAqB,KAAK,CAAC,UAAU,CAAE,GAC/C,CAAC;IACF,OAAO,CACL,oBAAC,cAAc,eAAK,WAAW,EAAI,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA+B;IAC1D,IAAM,QAAQ,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAA,MAAM,GAAI,KAAK,OAAT,CAAU;IAChB,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,UAAtD,CAAuD;IAEvE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAEtC,IAAM,WAAW,yBACZ,KAAK,KACR,YAAY,cAAA,EACZ,SAAS,WAAA,EACT,KAAK,EAAE,4BAAqB,KAAK,CAAC,UAAU,CAAE,GAC/C,CAAC;IACF,OAAO,CACL,oBAAC,cAAc,eAAK,WAAW,EAAI,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA4D;IACtF,IAAM,QAAQ,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAA,MAAM,GAAI,KAAK,OAAT,CAAU;IAChB,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,UAApD,CAAqD;IAErE,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAA;QAAE,OAAO,IAAI,CAAC;IAElC,IAAM,WAAW,yBACZ,KAAK,KACR,YAAY,EAAE,MAAM,CAAC,OAAO,EAC5B,SAAS,WAAA,EACT,KAAK,EAAE,4BAAqB,KAAK,CAAC,UAAU,CAAE,GAC/C,CAAC;IACF,OAAO,CACL,oBAAC,cAAc,eAAK,WAAW,EAAI,CACpC,CAAC;AACJ,CAAC"}
@@ -1,7 +1,8 @@
1
1
  export * from './CoinflowWithdraw';
2
2
  export * from './CoinflowPurchase';
3
3
  export * from './CoinflowUtils';
4
- export * from './useIframeWallet';
4
+ export * from './wallet/useIframeWallet';
5
5
  export * from './CoinflowIFrame';
6
6
  export * from './CoinflowPurchaseHistory';
7
7
  export * from './CoinflowWithdrawHistory';
8
+ export * from './CoinflowTypes';
@@ -1,8 +1,9 @@
1
1
  export * from './CoinflowWithdraw';
2
2
  export * from './CoinflowPurchase';
3
3
  export * from './CoinflowUtils';
4
- export * from './useIframeWallet';
4
+ export * from './wallet/useIframeWallet';
5
5
  export * from './CoinflowIFrame';
6
6
  export * from './CoinflowPurchaseHistory';
7
7
  export * from './CoinflowWithdrawHistory';
8
+ export * from './CoinflowTypes';
8
9
  //# 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,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,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"}
@@ -1,7 +1,5 @@
1
1
  import { IFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
2
- import { EthWallet } from './CoinflowUtils';
3
- type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
2
+ import { EthWallet, PartialBy } from '../CoinflowTypes';
4
3
  export declare function useEthIFrameMessageHandlers({ wallet, }: {
5
4
  wallet: PartialBy<EthWallet, 'signMessage'>;
6
5
  }): IFrameMessageHandlers;
7
- export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EthIFrameMessageHandlers.js","sourceRoot":"","sources":["../../../src/wallet/EthIFrameMessageHandlers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AAIlC,MAAM,UAAU,2BAA2B,CAAC,EAI3C;IAJD,iBA6BC;QA5BC,MAAM,YAAA;IAIN,IAAM,qBAAqB,GAAG,WAAW,CACvC,UAAO,EAAkB;YAAjB,IAAI,UAAA;;;;;;wBACJ,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACxD,qBAAM,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,EAAA;;wBAAjD,IAAI,GAAI,CAAA,SAAyC,CAAA,KAA7C;wBACX,sBAAO,IAAI,EAAC;;;;KACb,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,IAAM,iBAAiB,GAAG,WAAW,CACnC,UAAO,EAAkB;YAAjB,IAAI,UAAA;;;;;wBACV,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;wBACjC,IAAI,CAAC,MAAM,CAAC,WAAW;4BACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;wBAEvD,qBAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAA;4BAArC,sBAAO,SAA8B,EAAC;;;;KACvC,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO;QACL,qBAAqB,uBAAA;QACrB,iBAAiB,mBAAA;KAClB,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { IFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
2
- import { NearWallet } from './CoinflowUtils';
2
+ import { NearWallet } from '../CoinflowTypes';
3
3
  export declare function useNearIFrameMessageHandlers({ wallet, }: {
4
4
  wallet: NearWallet;
5
5
  }): IFrameMessageHandlers;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NearIFrameMessageHandlers.js","sourceRoot":"","sources":["../../../src/wallet/NearIFrameMessageHandlers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AAIlC,MAAM,UAAU,4BAA4B,CAAC,EAI5C;IAJD,iBAmBC;QAlBC,MAAM,YAAA;IAIN,IAAM,qBAAqB,GAAG,WAAW,CACvC,UAAO,EAAkB;YAAjB,IAAI,UAAA;;;;;;wBACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACzC,qBAAM,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAA;;wBAA9D,gBAAgB,GAAG,SAA2C;wBACpE,IAAI,CAAC,gBAAgB;4BAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;wBAC/C,iBAAiB,GAAI,gBAAgB,YAApB,CAAqB;wBAC1D,sBAAO,iBAAiB,CAAC,IAAI,EAAC;;;;KAC/B,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO;QACL,qBAAqB,uBAAA;KACtB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { CoinflowEnvs } from '../CoinflowTypes';
2
+ export declare const initiateSocket: (walletPubkey: string, env?: CoinflowEnvs) => void;
3
+ export declare const disconnectSocket: () => void;
4
+ export declare const subscribeToChat: (cb: (message: string) => void) => void;
5
+ export declare const sendWebsocketMessage: (message: string) => void;
@@ -0,0 +1,34 @@
1
+ import io from 'socket.io-client';
2
+ import { CoinflowUtils } from '../CoinflowUtils';
3
+ var socket;
4
+ export var initiateSocket = function (walletPubkey, env) {
5
+ if (!env)
6
+ env = 'prod';
7
+ var url = CoinflowUtils.getCoinflowApiUrl(env);
8
+ socket = io(url, {
9
+ auth: {
10
+ wallet: walletPubkey,
11
+ },
12
+ });
13
+ socket.on('connect', function () {
14
+ console.log('Connected!');
15
+ });
16
+ };
17
+ export var disconnectSocket = function () {
18
+ console.log('Disconnecting socket...');
19
+ if (socket)
20
+ socket.disconnect();
21
+ socket = undefined;
22
+ };
23
+ export var subscribeToChat = function (cb) {
24
+ if (!socket)
25
+ return;
26
+ socket.on('message', function (msg) {
27
+ cb(msg);
28
+ });
29
+ };
30
+ export var sendWebsocketMessage = function (message) {
31
+ if (socket)
32
+ socket.emit('message', message);
33
+ };
34
+ //# sourceMappingURL=SocketService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SocketService.js","sourceRoot":"","sources":["../../../src/wallet/SocketService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAG/C,IAAI,MAA0B,CAAC;AAE/B,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,YAAoB,EAAE,GAAkB;IACrE,IAAI,CAAC,GAAG;QAAE,GAAG,GAAG,MAAM,CAAC;IACvB,IAAM,GAAG,GAAG,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE;QACf,IAAI,EAAE;YACJ,MAAM,EAAE,YAAY;SACrB;KACF,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE;QACnB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAA;AACD,MAAM,CAAC,IAAM,gBAAgB,GAAG;IAC9B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,IAAG,MAAM;QAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC/B,MAAM,GAAG,SAAS,CAAC;AACrB,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,EAA6B;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,UAAA,GAAG;QACtB,EAAE,CAAC,GAAG,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;AACL,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAAC,OAAe;IAClD,IAAI,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
- import { SolanaWallet } from './CoinflowUtils';
2
1
  import type { Connection, Signer } from '@solana/web3.js';
2
+ import { SolanaWallet } from '../CoinflowTypes';
3
3
  export type WalletCall = {
4
4
  method: string;
5
5
  data: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolanaIFrameMessageHandlers.js","sourceRoot":"","sources":["../../../src/wallet/SolanaIFrameMessageHandlers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AAClC,OAAO,MAAM,MAAM,MAAM,CAAC;AAoB1B,MAAM,UAAU,8BAA8B,CAAC,EAKrB;IAL1B,iBA0GC;QAzGC,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,cAAc,oBAAA,EACd,eAAe,EAAf,OAAO,mBAAG,KAAK,KAAA;IAEf,IAAM,oBAAoB,GAAG,WAAW,CACtC,UAAO,EAAsC;;;;;;oBAC3C,IAAI,CAAC,MAAM,CAAC,eAAe;wBACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;oBAE7C,qBAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,EAAA;;oBAA3C,QAAQ,GAAG,SAAgC;oBAC3C,YAAY,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACZ,qBAAM,UAAU,CAAC,mBAAmB,CAAC,QAAuB,CAAC,EAAA;;oBAA5E,UAAU,GAAK,CAAA,SAA6D,CAAA,MAAlE;oBACzB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;oBAChC,WAAuC,EAArB,WAAA,UAAU,CAAC,IAAI,mCAAI,EAAE,EAArB,cAAqB,EAArB,IAAqB,EAAE;wBAA9B,GAAG;wBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBAClB;oBACiB,qBAAM,UAAU,CAAC,kBAAkB,CAAC,YAAY,EAAE;4BAClE,aAAa,EAAE,IAAI;yBACpB,CAAC,EAAA;;oBAFI,SAAS,GAAG,SAEhB;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBACpC,sBAAO,SAAS,EAAC;;;SAClB,EACD,CAAC,UAAU,EAAE,MAAM,CAAC,CACrB,CAAC;IAEF,SAAS,cAAc,CAAC,IAAY;QAClC,IAAI,IAAI,CAAC;QACT,IAAI;YACF,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;SACnC;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,GAAG,IAAI,CAAC;SACb;QAED,IAAI,CAAC,IAAI;YACP,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAE3F,IAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACpE,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,aAAa,CAAC,MAAc,EAAE,EAAsC;QAC3E,IAAM,UAAU,GAAG,cAAc,IAAI,EAAE,CAAC;QACxC,IAAI,UAAU,EAAE;YACd,IAAM,kBAAkB,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,UAAA,GAAG;gBAC9C,OAAA,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE;YAAxB,CAAwB,CACzB,CAAC;YACF,IAAM,YAAU,GAAG,kBAAkB,CAAC,QAAQ,CAC5C,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAC5B,CAAC;YACF,IAAI,YAAU;gBAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO;SACR;QAED,mBAAmB;QACnB,IAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB;aAC/C,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;aACjD,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,QAAQ,EAAE,EAAb,CAAa,CAAC,CAAC;QAC5B,IAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,IAAI,UAAU;YAAE,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,IAAM,qBAAqB,GAAG,WAAW,CACvC,UAAO,EAAkB;YAAjB,IAAI,UAAA;;;;;;wBACJ,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;wBAChC,IAAI,cAAc;4BAChB,cAAc,CAAC,OAAO,CAAC,UAAA,MAAM,IAAI,OAAA,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAzB,CAAyB,CAAC,CAAC;6BAE1D,OAAO,EAAP,wBAAO;wBACF,qBAAM,oBAAoB,CAAC,EAAE,CAAC,EAAA;4BAArC,sBAAO,SAA8B,EAAC;4BAGjC,qBAAM,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,UAAU,CAAC,EAAA;4BAAnD,sBAAO,SAA4C,EAAC;;;;KACrD,EACD,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,CAAC,CACpE,CAAC;IAEF,IAAM,qBAAqB,GAAG,WAAW,CACvC,UAAO,EAAkB;YAAjB,IAAI,UAAA;;;;;;wBACV,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;4BAC3B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;yBACpE;wBAEK,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;wBAChC,IAAI,cAAc,EAAE;4BAClB,cAAc,CAAC,OAAO,CAAC,UAAA,MAAM,IAAI,OAAA,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAzB,CAAyB,CAAC,CAAC;yBAC7D;wBAEyB,qBAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,EAAA;;wBAApD,iBAAiB,GAAG,SAAgC;wBAC1D,sBAAO,MAAM,CAAC,MAAM,CAClB,iBAAiB,CAAC,SAAS,CAAC;gCAC1B,oBAAoB,EAAE,KAAK;gCAC3B,gBAAgB,EAAE,KAAK;6BACxB,CAAC,CACH,EAAC;;;;KACH,EACD,CAAC,cAAc,EAAE,MAAM,CAAC,CACzB,CAAC;IAEF,OAAO;QACL,qBAAqB,uBAAA;QACrB,qBAAqB,uBAAA;KACtB,CAAC;AACJ,CAAC"}
@@ -1,9 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import { IFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
3
- export type OnSuccessMethod = (params: string) => void | Promise<void>;
4
- export declare function useIframeWallet({ handleSignTransaction, handleSendTransaction, handleSignMessage, }: IFrameMessageHandlers, { onSuccess, handleHeightChange }: {
3
+ import { CoinflowEnvs, OnSuccessMethod } from '../CoinflowTypes';
4
+ export declare function useIframeWallet({ handleSignTransaction, handleSendTransaction, handleSignMessage, }: IFrameMessageHandlers, { onSuccess, handleHeightChange, useSocket, env }: {
5
5
  onSuccess?: OnSuccessMethod;
6
6
  handleHeightChange?: (height: string) => void;
7
- }): {
7
+ useSocket?: boolean;
8
+ env?: CoinflowEnvs;
9
+ }, walletPubkey: string | null | undefined): {
8
10
  IFrameRef: import("react").MutableRefObject<HTMLIFrameElement | null>;
9
11
  };
@@ -1,16 +1,23 @@
1
1
  import { __awaiter, __generator } from "tslib";
2
2
  import { useCallback, useEffect, useRef } from 'react';
3
- export function useIframeWallet(_a, _b) {
3
+ import { disconnectSocket, initiateSocket, sendWebsocketMessage, subscribeToChat } from './SocketService';
4
+ export function useIframeWallet(_a, _b, walletPubkey) {
4
5
  var _this = this;
5
6
  var handleSignTransaction = _a.handleSignTransaction, handleSendTransaction = _a.handleSendTransaction, handleSignMessage = _a.handleSignMessage;
6
- var onSuccess = _b.onSuccess, handleHeightChange = _b.handleHeightChange;
7
+ var onSuccess = _b.onSuccess, handleHeightChange = _b.handleHeightChange, useSocket = _b.useSocket, env = _b.env;
7
8
  var IFrameRef = useRef(null);
8
9
  var sendIFrameMessage = useCallback(function (message) {
9
10
  var _a, _b;
11
+ if (useSocket) {
12
+ if (!walletPubkey)
13
+ return;
14
+ sendWebsocketMessage(message);
15
+ return;
16
+ }
10
17
  if (!((_a = IFrameRef === null || IFrameRef === void 0 ? void 0 : IFrameRef.current) === null || _a === void 0 ? void 0 : _a.contentWindow))
11
18
  throw new Error('Iframe not defined');
12
19
  (_b = IFrameRef.current) === null || _b === void 0 ? void 0 : _b.contentWindow.postMessage(message, '*');
13
- }, [IFrameRef]);
20
+ }, [useSocket, walletPubkey]);
14
21
  var handleIframeMessages = useCallback(function (_a) {
15
22
  var data = _a.data;
16
23
  return __awaiter(_this, void 0, void 0, function () {
@@ -87,18 +94,20 @@ export function useIframeWallet(_a, _b) {
87
94
  }
88
95
  });
89
96
  });
90
- }, [
91
- handleSendTransaction,
92
- sendIFrameMessage,
93
- onSuccess,
94
- handleSignTransaction,
95
- handleSignMessage,
96
- ]);
97
+ }, [handleSendTransaction, sendIFrameMessage, onSuccess, handleSignTransaction, handleSignMessage, handleHeightChange]);
97
98
  useEffect(function () {
99
+ if (useSocket) {
100
+ if (!walletPubkey)
101
+ return;
102
+ initiateSocket(walletPubkey, env);
103
+ subscribeToChat(function (data) { return handleIframeMessages({ data: data }); });
104
+ return function () { return disconnectSocket(); };
105
+ }
98
106
  if (!window)
99
107
  throw new Error('Window not defined');
100
108
  window.onmessage = handleIframeMessages;
101
- }, [handleIframeMessages]);
109
+ return function () { };
110
+ }, [env, handleIframeMessages, useSocket, walletPubkey]);
102
111
  return { IFrameRef: IFrameRef };
103
112
  }
104
113
  function parseJSON(data) {