@coinflowlabs/react 1.1.2 → 1.3.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 (67) hide show
  1. package/README.md +10 -0
  2. package/build/cjs/CoinflowIFrame.d.ts +8 -5
  3. package/build/cjs/CoinflowIFrame.js +9 -17
  4. package/build/cjs/CoinflowIFrame.js.map +1 -1
  5. package/build/cjs/CoinflowPurchase.d.ts +32 -7
  6. package/build/cjs/CoinflowPurchase.js +37 -9
  7. package/build/cjs/CoinflowPurchase.js.map +1 -1
  8. package/build/cjs/CoinflowPurchaseHistory.d.ts +1 -1
  9. package/build/cjs/CoinflowPurchaseHistory.js +9 -9
  10. package/build/cjs/CoinflowPurchaseHistory.js.map +1 -1
  11. package/build/cjs/CoinflowUtils.d.ts +37 -13
  12. package/build/cjs/CoinflowUtils.js +19 -6
  13. package/build/cjs/CoinflowUtils.js.map +1 -1
  14. package/build/cjs/CoinflowWithdraw.d.ts +12 -6
  15. package/build/cjs/CoinflowWithdraw.js +23 -9
  16. package/build/cjs/CoinflowWithdraw.js.map +1 -1
  17. package/build/cjs/CoinflowWithdrawHistory.d.ts +2 -17
  18. package/build/cjs/CoinflowWithdrawHistory.js +21 -9
  19. package/build/cjs/CoinflowWithdrawHistory.js.map +1 -1
  20. package/build/cjs/CommonCoinflowProps.d.ts +25 -0
  21. package/build/cjs/CommonCoinflowProps.js +3 -0
  22. package/build/cjs/CommonCoinflowProps.js.map +1 -0
  23. package/build/cjs/EthIFrameMessageHandlers.d.ts +7 -0
  24. package/build/cjs/EthIFrameMessageHandlers.js +46 -0
  25. package/build/cjs/EthIFrameMessageHandlers.js.map +1 -0
  26. package/build/cjs/NearIFrameMessageHandlers.js +1 -22
  27. package/build/cjs/NearIFrameMessageHandlers.js.map +1 -1
  28. package/build/cjs/SolanaIFrameMessageHandlers.d.ts +1 -1
  29. package/build/cjs/SolanaIFrameMessageHandlers.js +22 -30
  30. package/build/cjs/SolanaIFrameMessageHandlers.js.map +1 -1
  31. package/build/cjs/index.js +1 -1
  32. package/build/cjs/useIframeWallet.d.ts +1 -1
  33. package/build/cjs/useIframeWallet.js +24 -21
  34. package/build/cjs/useIframeWallet.js.map +1 -1
  35. package/build/esm/CoinflowIFrame.d.ts +8 -5
  36. package/build/esm/CoinflowIFrame.js +7 -15
  37. package/build/esm/CoinflowIFrame.js.map +1 -1
  38. package/build/esm/CoinflowPurchase.d.ts +32 -7
  39. package/build/esm/CoinflowPurchase.js +33 -6
  40. package/build/esm/CoinflowPurchase.js.map +1 -1
  41. package/build/esm/CoinflowPurchaseHistory.d.ts +1 -1
  42. package/build/esm/CoinflowPurchaseHistory.js +7 -7
  43. package/build/esm/CoinflowPurchaseHistory.js.map +1 -1
  44. package/build/esm/CoinflowUtils.d.ts +37 -13
  45. package/build/esm/CoinflowUtils.js +18 -5
  46. package/build/esm/CoinflowUtils.js.map +1 -1
  47. package/build/esm/CoinflowWithdraw.d.ts +12 -6
  48. package/build/esm/CoinflowWithdraw.js +21 -7
  49. package/build/esm/CoinflowWithdraw.js.map +1 -1
  50. package/build/esm/CoinflowWithdrawHistory.d.ts +2 -17
  51. package/build/esm/CoinflowWithdrawHistory.js +20 -8
  52. package/build/esm/CoinflowWithdrawHistory.js.map +1 -1
  53. package/build/esm/CommonCoinflowProps.d.ts +25 -0
  54. package/build/esm/CommonCoinflowProps.js +2 -0
  55. package/build/esm/CommonCoinflowProps.js.map +1 -0
  56. package/build/esm/EthIFrameMessageHandlers.d.ts +7 -0
  57. package/build/esm/EthIFrameMessageHandlers.js +42 -0
  58. package/build/esm/EthIFrameMessageHandlers.js.map +1 -0
  59. package/build/esm/NearIFrameMessageHandlers.js +0 -21
  60. package/build/esm/NearIFrameMessageHandlers.js.map +1 -1
  61. package/build/esm/SolanaIFrameMessageHandlers.d.ts +1 -1
  62. package/build/esm/SolanaIFrameMessageHandlers.js +18 -26
  63. package/build/esm/SolanaIFrameMessageHandlers.js.map +1 -1
  64. package/build/esm/useIframeWallet.d.ts +1 -1
  65. package/build/esm/useIframeWallet.js +23 -20
  66. package/build/esm/useIframeWallet.js.map +1 -1
  67. package/package.json +4 -4
@@ -1,13 +1,11 @@
1
1
  /// <reference types="react" />
2
- import { Connection, Signer, Transaction } from '@solana/web3.js';
3
- import { CoinflowBlockchain, CoinflowEnvs, NearWallet, SolanaWalletContextState } from './CoinflowUtils';
2
+ import { Connection, PublicKey, Signer, Transaction } from "@solana/web3.js";
3
+ import { EthWallet, NearWallet, SolanaWalletContextState } from './CoinflowUtils';
4
4
  import { OnSuccessMethod } from './useIframeWallet';
5
- export interface CoinflowCommonPurchaseProps {
6
- merchantId: string;
5
+ import { CommonCoinflowProps } from './CommonCoinflowProps';
6
+ export interface CoinflowCommonPurchaseProps extends CommonCoinflowProps {
7
7
  amount?: number;
8
- env?: CoinflowEnvs;
9
8
  onSuccess?: OnSuccessMethod;
10
- blockchain: CoinflowBlockchain;
11
9
  webhookInfo?: object;
12
10
  email?: string;
13
11
  }
@@ -18,6 +16,8 @@ export interface CoinflowSolanaPurchaseProps extends CoinflowCommonPurchaseProps
18
16
  debugTx?: boolean;
19
17
  connection: Connection;
20
18
  blockchain: 'solana';
19
+ token?: PublicKey | string;
20
+ supportsVersionedTransactions?: boolean;
21
21
  }
22
22
  export type NearFtTransferCallAction = {
23
23
  methodName: 'ft_transfer_call';
@@ -30,4 +30,29 @@ export interface CoinflowNearPurchaseProps extends CoinflowCommonPurchaseProps {
30
30
  blockchain: 'near';
31
31
  action?: NearFtTransferCallAction;
32
32
  }
33
- export declare function CoinflowPurchase(props: CoinflowSolanaPurchaseProps | CoinflowNearPurchaseProps): JSX.Element;
33
+ type BigNumberish = object | bigint | string | number;
34
+ type Bytes = ArrayLike<number>;
35
+ type BytesLike = Bytes | string;
36
+ type EvmTransaction = {
37
+ to: string;
38
+ from?: string;
39
+ nonce?: BigNumberish;
40
+ gasLimit?: BigNumberish;
41
+ gasPrice?: BigNumberish;
42
+ data?: BytesLike;
43
+ value?: BigNumberish;
44
+ chainId?: number;
45
+ type?: number;
46
+ maxPriorityFeePerGas?: BigNumberish;
47
+ maxFeePerGas?: BigNumberish;
48
+ customData?: Record<string, any>;
49
+ ccipReadEnabled?: boolean;
50
+ };
51
+ export interface CoinflowPolygonPurchaseProps extends CoinflowCommonPurchaseProps {
52
+ transaction?: EvmTransaction;
53
+ wallet: EthWallet;
54
+ blockchain: 'polygon';
55
+ }
56
+ export declare function CoinflowPurchase(props: CoinflowSolanaPurchaseProps | CoinflowNearPurchaseProps | CoinflowPolygonPurchaseProps): JSX.Element;
57
+ export declare function PolygonCoinflowPurchase({ merchantId, amount, env, onSuccess, wallet, transaction, webhookInfo, email, loaderBackground, }: CoinflowPolygonPurchaseProps): JSX.Element | null;
58
+ export {};
@@ -5,19 +5,21 @@ import { useSolanaIFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
5
5
  import { CoinflowUtils, } from './CoinflowUtils';
6
6
  import { useIframeWallet } from './useIframeWallet';
7
7
  import { useNearIFrameMessageHandlers } from './NearIFrameMessageHandlers';
8
+ import { useEthIFrameMessageHandlers } from './EthIFrameMessageHandlers';
8
9
  export function CoinflowPurchase(props) {
9
10
  return CoinflowUtils.byBlockchain(props.blockchain, {
10
11
  solana: (React.createElement(SolanaCoinflowPurchase, __assign({}, props))),
11
- near: React.createElement(NearCoinflowPurchase, __assign({}, props))
12
+ near: React.createElement(NearCoinflowPurchase, __assign({}, props)),
13
+ polygon: (React.createElement(PolygonCoinflowPurchase, __assign({}, props))),
12
14
  });
13
15
  }
14
16
  function SolanaCoinflowPurchase(_a) {
15
- var merchantId = _a.merchantId, amount = _a.amount, env = _a.env, onSuccess = _a.onSuccess, wallet = _a.wallet, transaction = _a.transaction, partialSigners = _a.partialSigners, debugTx = _a.debugTx, connection = _a.connection, webhookInfo = _a.webhookInfo, email = _a.email;
17
+ var merchantId = _a.merchantId, amount = _a.amount, env = _a.env, onSuccess = _a.onSuccess, wallet = _a.wallet, transaction = _a.transaction, partialSigners = _a.partialSigners, debugTx = _a.debugTx, connection = _a.connection, webhookInfo = _a.webhookInfo, email = _a.email, loaderBackground = _a.loaderBackground, token = _a.token, supportsVersionedTransactionsParam = _a.supportsVersionedTransactions;
16
18
  var handlers = useSolanaIFrameMessageHandlers({
17
19
  wallet: wallet,
18
20
  connection: connection,
19
21
  partialSigners: partialSigners,
20
- debugTx: debugTx
22
+ debugTx: debugTx,
21
23
  });
22
24
  var IFrameRef = useIframeWallet(handlers, onSuccess).IFrameRef;
23
25
  var transactionStr = useMemo(function () {
@@ -25,13 +27,23 @@ function SolanaCoinflowPurchase(_a) {
25
27
  ? CoinflowUtils.serializeSolanaTransaction(transaction)
26
28
  : undefined;
27
29
  }, [transaction]);
30
+ var supportsVersionedTransactions = useMemo(function () {
31
+ if (supportsVersionedTransactionsParam !== undefined)
32
+ return supportsVersionedTransactionsParam;
33
+ if (!(wallet === null || wallet === void 0 ? void 0 : wallet.wallet))
34
+ return false;
35
+ var supportedTransactionVersions = wallet.wallet.adapter.supportedTransactionVersions;
36
+ if (!supportedTransactionVersions)
37
+ return false;
38
+ return supportedTransactionVersions.has(0);
39
+ }, [supportsVersionedTransactionsParam, wallet.wallet]);
28
40
  if (!wallet.publicKey)
29
41
  return null;
30
42
  var walletPubkey = wallet.publicKey.toString();
31
- return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/purchase/".concat(merchantId), env: env, transaction: transactionStr, amount: amount, blockchain: 'solana', webhookInfo: webhookInfo, email: email }));
43
+ return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/purchase/".concat(merchantId), env: env, transaction: transactionStr, amount: amount, blockchain: 'solana', webhookInfo: webhookInfo, email: email, loaderBackground: loaderBackground, token: token, supportsVersionedTransactions: supportsVersionedTransactions }));
32
44
  }
33
45
  function NearCoinflowPurchase(_a) {
34
- var merchantId = _a.merchantId, amount = _a.amount, env = _a.env, onSuccess = _a.onSuccess, wallet = _a.wallet, action = _a.action, webhookInfo = _a.webhookInfo, email = _a.email;
46
+ var merchantId = _a.merchantId, amount = _a.amount, env = _a.env, onSuccess = _a.onSuccess, wallet = _a.wallet, action = _a.action, webhookInfo = _a.webhookInfo, email = _a.email, loaderBackground = _a.loaderBackground;
35
47
  var handlers = useNearIFrameMessageHandlers({ wallet: wallet });
36
48
  var IFrameRef = useIframeWallet(handlers, onSuccess).IFrameRef;
37
49
  var transaction = useMemo(function () {
@@ -39,6 +51,21 @@ function NearCoinflowPurchase(_a) {
39
51
  ? Buffer.from(JSON.stringify(action)).toString('base64')
40
52
  : undefined;
41
53
  }, [action]);
42
- return (React.createElement(CoinflowIFrame, { walletPubkey: wallet.accountId, IFrameRef: IFrameRef, route: "/purchase/".concat(merchantId), env: env, amount: amount, blockchain: 'near', transaction: transaction, webhookInfo: webhookInfo, email: email }));
54
+ return (React.createElement(CoinflowIFrame, { walletPubkey: wallet.accountId, IFrameRef: IFrameRef, route: "/purchase/".concat(merchantId), env: env, amount: amount, blockchain: 'near', transaction: transaction, webhookInfo: webhookInfo, email: email, loaderBackground: loaderBackground }));
55
+ }
56
+ export function PolygonCoinflowPurchase(_a) {
57
+ var merchantId = _a.merchantId, amount = _a.amount, env = _a.env, onSuccess = _a.onSuccess, wallet = _a.wallet, transaction = _a.transaction, webhookInfo = _a.webhookInfo, email = _a.email, loaderBackground = _a.loaderBackground;
58
+ var handlers = useEthIFrameMessageHandlers({ wallet: wallet });
59
+ var IFrameRef = useIframeWallet(handlers, onSuccess).IFrameRef;
60
+ var transactionStr = useMemo(function () {
61
+ if (!transaction)
62
+ return undefined;
63
+ return Buffer.from(JSON.stringify(transaction)).toString('base64');
64
+ }, [transaction]);
65
+ if (!wallet.address)
66
+ return null;
67
+ return (React.createElement(CoinflowIFrame, { transaction: transactionStr, walletPubkey: wallet.address, IFrameRef: IFrameRef, route: "/purchase/".concat(merchantId), env: env, amount: amount, blockchain: 'polygon',
68
+ // transaction={transaction} TODO
69
+ webhookInfo: webhookInfo, email: email, loaderBackground: loaderBackground }));
43
70
  }
44
71
  //# sourceMappingURL=CoinflowPurchase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CoinflowPurchase.js","sourceRoot":"","sources":["../../src/CoinflowPurchase.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoinflowPurchase.js","sourceRoot":"","sources":["../../src/CoinflowPurchase.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
- import { CoinflowNearHistoryProps, CoinflowSolanaHistoryProps } from './CoinflowWithdrawHistory';
2
+ import { CoinflowNearHistoryProps, CoinflowSolanaHistoryProps } from './CommonCoinflowProps';
3
3
  export declare function CoinflowPurchaseHistory(props: CoinflowSolanaHistoryProps | CoinflowNearHistoryProps): JSX.Element;
@@ -8,30 +8,30 @@ import { CoinflowUtils } from './CoinflowUtils';
8
8
  export function CoinflowPurchaseHistory(props) {
9
9
  return CoinflowUtils.byBlockchain(props.blockchain, {
10
10
  solana: (React.createElement(SolanaPurchaseHistory, __assign({}, props))),
11
- near: React.createElement(NearPurchaseHistory, __assign({}, props))
11
+ near: React.createElement(NearPurchaseHistory, __assign({}, props)),
12
12
  });
13
13
  }
14
14
  function SolanaPurchaseHistory(_a) {
15
- var wallet = _a.wallet, merchantId = _a.merchantId, connection = _a.connection, env = _a.env;
15
+ var wallet = _a.wallet, merchantId = _a.merchantId, connection = _a.connection, env = _a.env, loaderBackground = _a.loaderBackground;
16
16
  var handlers = useSolanaIFrameMessageHandlers({
17
17
  wallet: wallet,
18
- connection: connection
18
+ connection: connection,
19
19
  });
20
20
  var IFrameRef = useIframeWallet(handlers).IFrameRef;
21
21
  if (!wallet.publicKey)
22
22
  return null;
23
23
  var walletPubkey = wallet.publicKey.toString();
24
- return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/history/purchase/".concat(merchantId), env: env, blockchain: 'solana' }));
24
+ return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/history/purchase/".concat(merchantId), env: env, blockchain: 'solana', loaderBackground: loaderBackground }));
25
25
  }
26
26
  function NearPurchaseHistory(_a) {
27
- var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env;
27
+ var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env, loaderBackground = _a.loaderBackground;
28
28
  var handlers = useNearIFrameMessageHandlers({
29
- wallet: wallet
29
+ wallet: wallet,
30
30
  });
31
31
  var IFrameRef = useIframeWallet(handlers).IFrameRef;
32
32
  if (!wallet)
33
33
  return null;
34
34
  var walletPubkey = wallet.accountId;
35
- return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/history/purchase/".concat(merchantId), env: env, blockchain: 'near' }));
35
+ return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/history/purchase/".concat(merchantId), env: env, blockchain: 'near', loaderBackground: loaderBackground }));
36
36
  }
37
37
  //# sourceMappingURL=CoinflowPurchaseHistory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CoinflowPurchaseHistory.js","sourceRoot":"","sources":["../../src/CoinflowPurchaseHistory.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAC,4BAA4B,EAAC,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,MAAM,UAAU,uBAAuB,CACrC,KAA4D;IAE5D,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;KACvE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,EAKF;QAJ3B,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,GAAG,SAAA;IAEH,IAAM,QAAQ,GAAG,8BAA8B,CAAC;QAC9C,MAAM,QAAA;QACN,UAAU,YAAA;KACX,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,CAAC,UAA7B,CAA8B;IAE9C,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAEjD,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,4BAAqB,UAAU,CAAE,EACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,QAAQ,GACpB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,EAIF;QAHzB,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,GAAG,SAAA;IAEH,IAAM,QAAQ,GAAG,4BAA4B,CAAC;QAC5C,MAAM,QAAA;KACP,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,CAAC,UAA7B,CAA8B;IAE9C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAEtC,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,4BAAqB,UAAU,CAAE,EACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,GAClB,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CoinflowPurchaseHistory.js","sourceRoot":"","sources":["../../src/CoinflowPurchaseHistory.tsx"],"names":[],"mappings":";AAAA,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;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAM9C,MAAM,UAAU,uBAAuB,CACrC,KAA4D;IAE5D,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;KACvE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,EAMF;QAL3B,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,GAAG,SAAA,EACH,gBAAgB,sBAAA;IAEhB,IAAM,QAAQ,GAAG,8BAA8B,CAAC;QAC9C,MAAM,QAAA;QACN,UAAU,YAAA;KACX,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,CAAC,UAA7B,CAA8B;IAE9C,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAEjD,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,4BAAqB,UAAU,CAAE,EACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,QAAQ,EACpB,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,EAKF;QAJzB,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,GAAG,SAAA,EACH,gBAAgB,sBAAA;IAEhB,IAAM,QAAQ,GAAG,4BAA4B,CAAC;QAC5C,MAAM,QAAA;KACP,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,CAAC,UAA7B,CAA8B;IAE9C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAEtC,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,4BAAqB,UAAU,CAAE,EACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAC;AACJ,CAAC"}
@@ -1,20 +1,11 @@
1
1
  import { PublicKey, Transaction } from '@solana/web3.js';
2
2
  import { WalletContextState } from '@solana/wallet-adapter-react';
3
- export type CoinflowBlockchain = 'solana' | 'near';
3
+ export type CoinflowBlockchain = 'solana' | 'near' | 'eth' | 'polygon';
4
4
  export type CoinflowEnvs = 'prod' | 'staging' | 'sandbox' | 'local';
5
- export type SolanaWalletContextState = Pick<WalletContextState, 'wallet' | 'signTransaction' | 'signMessage' | 'connected' | 'publicKey' | 'sendTransaction'>;
5
+ type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
6
+ export type SolanaWalletContextState = PartialBy<Pick<WalletContextState, 'wallet' | 'signTransaction' | 'connected' | 'publicKey' | 'sendTransaction'>, 'wallet'>;
6
7
  export type NearWallet = {
7
8
  accountId: string;
8
- verifyOwner: (params: {
9
- message: string;
10
- }) => Promise<{
11
- accountId: string;
12
- message: string;
13
- blockId: string;
14
- publicKey: string;
15
- signature: string;
16
- keyType: number;
17
- }>;
18
9
  signAndSendTransaction: (params: {
19
10
  signerId?: string;
20
11
  receiverId?: string;
@@ -29,6 +20,35 @@ export type NearWallet = {
29
20
  receipts_outcome: any;
30
21
  }>;
31
22
  };
23
+ type Bytes = ArrayLike<number>;
24
+ type BytesLike = Bytes | string;
25
+ type AccessList = Array<{
26
+ address: string;
27
+ storageKeys: Array<string>;
28
+ }>;
29
+ type AccessListish = AccessList | Array<[string, Array<string>]> | Record<string, Array<string>>;
30
+ export type EthWallet = {
31
+ address: string | null | undefined;
32
+ sendTransaction: (transaction: {
33
+ to: string;
34
+ from?: string;
35
+ nonce?: Bytes | bigint | string | number;
36
+ gasLimit?: Bytes | bigint | string | number;
37
+ gasPrice?: Bytes | bigint | string | number;
38
+ data?: BytesLike;
39
+ value?: Bytes | bigint | string | number;
40
+ chainId?: number;
41
+ type?: number;
42
+ accessList?: AccessListish;
43
+ maxPriorityFeePerGas?: Bytes | bigint | string | number;
44
+ maxFeePerGas?: Bytes | bigint | string | number;
45
+ customData?: Record<string, any>;
46
+ ccipReadEnabled?: boolean;
47
+ }) => Promise<{
48
+ hash: string;
49
+ }>;
50
+ signMessage: (message: string) => Promise<string>;
51
+ };
32
52
  export declare class CoinflowUtils {
33
53
  env: CoinflowEnvs;
34
54
  url: string;
@@ -36,7 +56,7 @@ export declare class CoinflowUtils {
36
56
  getFeePayer(merchantId: string): Promise<PublicKey>;
37
57
  getCreditBalance(publicKey: string, blockchain: 'solana' | 'near'): Promise<number>;
38
58
  static getCoinflowBaseUrl(env?: CoinflowEnvs): string;
39
- static getCoinflowUrl({ walletPubkey, route, env, amount, transaction, blockchain, supportsVersionedTransactions, webhookInfo, token, email, }: {
59
+ static getCoinflowUrl({ walletPubkey, route, env, amount, transaction, blockchain, supportsVersionedTransactions, webhookInfo, token, email, loaderBackground, }: {
40
60
  walletPubkey: string;
41
61
  route: string;
42
62
  env?: CoinflowEnvs;
@@ -47,11 +67,15 @@ export declare class CoinflowUtils {
47
67
  webhookInfo?: object;
48
68
  token?: string;
49
69
  email?: string;
70
+ loaderBackground?: string;
50
71
  }): string;
51
72
  static serializeSolanaTransaction(transaction: Transaction | undefined): string | undefined;
52
73
  static solanaWalletSupportsVersionedTransactions(wallet: SolanaWalletContextState): boolean;
53
74
  static byBlockchain<T>(blockchain: CoinflowBlockchain, args: {
54
75
  solana: T;
55
76
  near: T;
77
+ eth?: T;
78
+ polygon?: T;
56
79
  }): T;
57
80
  }
81
+ export {};
@@ -51,7 +51,7 @@ var CoinflowUtils = /** @class */ (function () {
51
51
  return "https://".concat(env, ".coinflow.cash");
52
52
  };
53
53
  CoinflowUtils.getCoinflowUrl = function (_a) {
54
- 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;
54
+ 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;
55
55
  var url = new URL("/".concat(blockchain) + route, CoinflowUtils.getCoinflowBaseUrl(env));
56
56
  url.searchParams.append('pubkey', walletPubkey);
57
57
  if (transaction) {
@@ -72,26 +72,39 @@ var CoinflowUtils = /** @class */ (function () {
72
72
  if (token) {
73
73
  url.searchParams.append('token', token);
74
74
  }
75
+ if (loaderBackground) {
76
+ url.searchParams.append('loaderBackground', loaderBackground);
77
+ }
75
78
  return url.toString();
76
79
  };
77
80
  CoinflowUtils.serializeSolanaTransaction = function (transaction) {
78
81
  if (!transaction)
79
82
  return undefined;
80
- return base58.encode(transaction.serialize({
83
+ var serializedTx = transaction.serialize({
81
84
  requireAllSignatures: false,
82
- verifySignatures: false
83
- }));
85
+ verifySignatures: false,
86
+ });
87
+ return base58.encode(serializedTx);
84
88
  };
85
89
  CoinflowUtils.solanaWalletSupportsVersionedTransactions = function (wallet) {
86
90
  var _a, _b, _c;
87
91
  return !!((_c = (_b = (_a = wallet.wallet) === null || _a === void 0 ? void 0 : _a.adapter) === null || _b === void 0 ? void 0 : _b.supportedTransactionVersions) === null || _c === void 0 ? void 0 : _c.has(0));
88
92
  };
89
- CoinflowUtils.byBlockchain = function (blockchain, args) {
93
+ CoinflowUtils.byBlockchain = function (blockchain, args // TODO polygon not optional
94
+ ) {
90
95
  switch (blockchain) {
91
96
  case 'solana':
92
97
  return args.solana;
93
98
  case 'near':
94
99
  return args.near;
100
+ case 'eth':
101
+ if (args.eth === undefined)
102
+ throw new Error('blockchain not supported for this operation!');
103
+ return args.eth;
104
+ case 'polygon':
105
+ if (args.polygon === undefined)
106
+ throw new Error('blockchain not supported for this operation!');
107
+ return args.polygon;
95
108
  default:
96
109
  throw new Error('blockchain not supported!');
97
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CoinflowUtils.js","sourceRoot":"","sources":["../../src/CoinflowUtils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,SAAS,EAAc,MAAM,iBAAiB,CAAC;AAEvD,OAAO,MAAM,MAAM,MAAM,CAAC;AAsC1B;IAIE,uBAAY,GAAkB;QAC5B,IAAI,CAAC,GAAG,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM;YAAE,IAAI,CAAC,GAAG,GAAG,2BAA2B,CAAC;aAC3D,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO;YAAE,IAAI,CAAC,GAAG,GAAG,uBAAuB,CAAC;;YAC7D,IAAI,CAAC,GAAG,GAAG,sBAAe,IAAI,CAAC,GAAG,mBAAgB,CAAC;IAC1D,CAAC;IAEK,mCAAW,GAAjB,UAAkB,UAAkB;;;;;4BACjB,qBAAM,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,yBAAkB,UAAU,CAAE,CAAC,EAAA;;wBAAjE,QAAQ,GAAG,SAAsD;wBAC1D,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;wBAA5B,IAAI,GAAG,SAAqB;wBAClC,sBAAO,IAAI,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAC;;;;KAC9C;IAEK,wCAAgB,GAAtB,UACE,SAAiB,EACjB,UAA6B;;;;;4BAEZ,qBAAM,KAAK,CAC1B,IAAI,CAAC,GAAG,GAAG,wBAAiB,SAAS,cAAI,UAAU,CAAE,CACtD,EAAA;;wBAFK,QAAQ,GAAG,SAEhB;wBACiB,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;wBAAhC,OAAO,GAAI,CAAA,SAAqB,CAAA,QAAzB;wBACd,sBAAO,OAAO,EAAC;;;;KAChB;IAEM,gCAAkB,GAAzB,UAA0B,GAAkB;QAC1C,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,uBAAuB,CAAC;QAC3D,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,uBAAuB,CAAC;QAEpD,OAAO,kBAAW,GAAG,mBAAgB,CAAC;IACxC,CAAC;IAEM,4BAAc,GAArB,UAAsB,EAsBrB;YArBC,YAAY,kBAAA,EACZ,KAAK,WAAA,EACL,GAAG,SAAA,EACH,MAAM,YAAA,EACN,WAAW,iBAAA,EACX,UAAU,gBAAA,EACV,6BAA6B,mCAAA,EAC7B,WAAW,iBAAA,EACX,KAAK,WAAA,EACL,KAAK,WAAA;QAaL,IAAM,GAAG,GAAG,IAAI,GAAG,CACjB,WAAI,UAAU,CAAE,GAAG,KAAK,EACxB,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,CACtC,CAAC;QACF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEhD,IAAI,WAAW,EAAE;YACf,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;SACrD;QACD,IAAI,MAAM,EAAE;YACV,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SACtD;QAED,IAAI,6BAA6B,EAAE;YACjC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC;SAClE;QAED,IAAI,WAAW,EAAE;YACf,GAAG,CAAC,YAAY,CAAC,MAAM,CACrB,aAAa,EACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC5D,CAAC;SACH;QAED,IAAI,KAAK,EAAE;YACT,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACzC;QAED,IAAI,KAAK,EAAE;YACT,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACzC;QAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAEM,wCAA0B,GAAjC,UACE,WAAoC;QAEpC,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QAEnC,OAAO,MAAM,CAAC,MAAM,CAClB,WAAW,CAAC,SAAS,CAAC;YACpB,oBAAoB,EAAE,KAAK;YAC3B,gBAAgB,EAAE,KAAK;SACxB,CAAC,CACH,CAAC;IACJ,CAAC;IAEM,uDAAyC,GAAhD,UACE,MAAgC;;QAEhC,OAAO,CAAC,CAAC,CAAA,MAAA,MAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,OAAO,0CAAE,4BAA4B,0CAAE,GAAG,CAAC,CAAC,CAAC,CAAA,CAAC;IACxE,CAAC;IAEM,0BAAY,GAAnB,UACE,UAA8B,EAC9B,IAA0B;QAE1B,QAAQ,UAAU,EAAE;YAClB,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,MAAM,CAAC;YACrB,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB;gBACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAChD;IACH,CAAC;IACH,oBAAC;AAAD,CAAC,AA7HD,IA6HC"}
1
+ {"version":3,"file":"CoinflowUtils.js","sourceRoot":"","sources":["../../src/CoinflowUtils.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import { Connection } from '@solana/web3.js';
3
- import { CoinflowBlockchain, CoinflowEnvs, NearWallet, SolanaWalletContextState } from './CoinflowUtils';
3
+ import { EthWallet, NearWallet, SolanaWalletContextState } from './CoinflowUtils';
4
4
  import { OnSuccessMethod } from './useIframeWallet';
5
- export interface CoinflowCommonWithdrawProps {
6
- merchantId: string;
7
- env?: CoinflowEnvs;
5
+ import { CommonCoinflowProps } from './CommonCoinflowProps';
6
+ export interface CoinflowCommonWithdrawProps extends CommonCoinflowProps {
8
7
  onSuccess?: OnSuccessMethod;
9
- blockchain: CoinflowBlockchain;
10
8
  token?: string;
11
9
  amount?: number;
12
10
  email?: string;
@@ -20,4 +18,12 @@ export interface CoinflowNearWithdrawProps extends CoinflowCommonWithdrawProps {
20
18
  wallet: NearWallet;
21
19
  blockchain: 'near';
22
20
  }
23
- export declare function CoinflowWithdraw(props: CoinflowSolanaWithdrawProps | CoinflowNearWithdrawProps): JSX.Element;
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;
@@ -5,33 +5,47 @@ import { CoinflowUtils, } from './CoinflowUtils';
5
5
  import { useIframeWallet } from './useIframeWallet';
6
6
  import { useSolanaIFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
7
7
  import { useNearIFrameMessageHandlers } from './NearIFrameMessageHandlers';
8
+ import { useEthIFrameMessageHandlers } from './EthIFrameMessageHandlers';
8
9
  export function CoinflowWithdraw(props) {
9
10
  return CoinflowUtils.byBlockchain(props.blockchain, {
10
11
  solana: (React.createElement(CoinflowSolanaWithdraw, __assign({}, props))),
11
- near: React.createElement(CoinflowNearWithdraw, __assign({}, props))
12
+ near: React.createElement(CoinflowNearWithdraw, __assign({}, props)),
13
+ eth: React.createElement(CoinflowEthWithdraw, __assign({}, props)),
14
+ polygon: (React.createElement(CoinflowEthWithdraw, __assign({}, props))),
12
15
  });
13
16
  }
14
17
  function CoinflowSolanaWithdraw(_a) {
15
- var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env, connection = _a.connection, onSuccess = _a.onSuccess, email = _a.email, token = _a.token, amount = _a.amount;
18
+ var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env, connection = _a.connection, onSuccess = _a.onSuccess, email = _a.email, token = _a.token, amount = _a.amount, loaderBackground = _a.loaderBackground;
16
19
  var handlers = useSolanaIFrameMessageHandlers({
17
20
  wallet: wallet,
18
- connection: connection
21
+ connection: connection,
19
22
  });
20
23
  var IFrameRef = useIframeWallet(handlers, onSuccess).IFrameRef;
21
24
  if (!wallet.publicKey)
22
25
  return null;
23
26
  var walletPubkey = wallet.publicKey.toString();
24
- return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/withdraw/".concat(merchantId), env: env, blockchain: 'solana', email: email, token: token, amount: amount }));
27
+ return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/withdraw/".concat(merchantId), env: env, blockchain: 'solana', email: email, token: token, amount: amount, loaderBackground: loaderBackground }));
25
28
  }
26
29
  function CoinflowNearWithdraw(_a) {
27
- var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env, onSuccess = _a.onSuccess, email = _a.email, token = _a.token, amount = _a.amount;
30
+ var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env, onSuccess = _a.onSuccess, email = _a.email, token = _a.token, amount = _a.amount, loaderBackground = _a.loaderBackground;
28
31
  var handlers = useNearIFrameMessageHandlers({
29
- wallet: wallet
32
+ wallet: wallet,
30
33
  });
31
34
  var IFrameRef = useIframeWallet(handlers, onSuccess).IFrameRef;
32
35
  if (!wallet)
33
36
  return null;
34
37
  var walletPubkey = wallet.accountId;
35
- return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/withdraw/".concat(merchantId), env: env, blockchain: 'near', token: token, amount: amount, email: email }));
38
+ return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/withdraw/".concat(merchantId), env: env, blockchain: 'near', token: token, amount: amount, email: email, loaderBackground: loaderBackground }));
39
+ }
40
+ function CoinflowEthWithdraw(_a) {
41
+ var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env, onSuccess = _a.onSuccess, email = _a.email, token = _a.token, amount = _a.amount, loaderBackground = _a.loaderBackground, blockchain = _a.blockchain;
42
+ var handlers = useEthIFrameMessageHandlers({
43
+ wallet: wallet,
44
+ });
45
+ var IFrameRef = useIframeWallet(handlers, onSuccess).IFrameRef;
46
+ if (!(wallet === null || wallet === void 0 ? void 0 : wallet.address))
47
+ return null;
48
+ var walletPubkey = wallet.address;
49
+ return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/withdraw/".concat(merchantId), env: env, blockchain: blockchain, token: token, amount: amount, email: email, loaderBackground: loaderBackground }));
36
50
  }
37
51
  //# sourceMappingURL=CoinflowWithdraw.js.map
@@ -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,EAGL,aAAa,GAGd,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;AAwBzE,MAAM,UAAU,gBAAgB,CAC9B,KAA8D;IAE9D,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;KACzE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,EASF;QAR5B,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,GAAG,SAAA,EACH,UAAU,gBAAA,EACV,SAAS,eAAA,EACT,KAAK,WAAA,EACL,KAAK,WAAA,EACL,MAAM,YAAA;IAEN,IAAM,QAAQ,GAAG,8BAA8B,CAAC;QAC9C,MAAM,QAAA;QACN,UAAU,YAAA;KACX,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAxC,CAAyC;IAEzD,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAEjD,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,oBAAa,UAAU,CAAE,EAChC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,QAAQ,EACpB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GACd,CACH,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,EAQF;QAP1B,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,GAAG,SAAA,EACH,SAAS,eAAA,EACT,KAAK,WAAA,EACL,KAAK,WAAA,EACL,MAAM,YAAA;IAEN,IAAM,QAAQ,GAAG,4BAA4B,CAAC;QAC5C,MAAM,QAAA;KACP,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAxC,CAAyC;IAEzD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAEtC,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,oBAAa,UAAU,CAAE,EAChC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CoinflowWithdraw.js","sourceRoot":"","sources":["../../src/CoinflowWithdraw.tsx"],"names":[],"mappings":"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"}
@@ -1,18 +1,3 @@
1
1
  /// <reference types="react" />
2
- import { CoinflowBlockchain, CoinflowEnvs, NearWallet, SolanaWalletContextState } from './CoinflowUtils';
3
- import { Connection } from '@solana/web3.js';
4
- export interface CoinflowHistoryProps {
5
- merchantId: string;
6
- env?: CoinflowEnvs;
7
- blockchain: CoinflowBlockchain;
8
- }
9
- export interface CoinflowSolanaHistoryProps extends CoinflowHistoryProps {
10
- wallet: SolanaWalletContextState;
11
- connection: Connection;
12
- blockchain: 'solana';
13
- }
14
- export interface CoinflowNearHistoryProps extends CoinflowHistoryProps {
15
- wallet: NearWallet;
16
- blockchain: 'near';
17
- }
18
- export declare function CoinflowWithdrawHistory(props: CoinflowSolanaHistoryProps | CoinflowNearHistoryProps): JSX.Element;
2
+ import { CoinflowNearHistoryProps, CoinflowSolanaHistoryProps, CoinflowEthHistoryProps } from './CommonCoinflowProps';
3
+ export declare function CoinflowWithdrawHistory(props: CoinflowSolanaHistoryProps | CoinflowNearHistoryProps | CoinflowEthHistoryProps): JSX.Element;
@@ -1,37 +1,49 @@
1
1
  import { __assign } from "tslib";
2
- import { CoinflowUtils, } from './CoinflowUtils';
2
+ import { CoinflowUtils } from './CoinflowUtils';
3
3
  import { useIframeWallet } from './useIframeWallet';
4
4
  import { CoinflowIFrame } from './CoinflowIFrame';
5
5
  import React from 'react';
6
6
  import { useSolanaIFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
7
7
  import { useNearIFrameMessageHandlers } from './NearIFrameMessageHandlers';
8
+ import { useEthIFrameMessageHandlers } from './EthIFrameMessageHandlers';
8
9
  export function CoinflowWithdrawHistory(props) {
9
10
  return CoinflowUtils.byBlockchain(props.blockchain, {
10
11
  solana: (React.createElement(SolanaWithdrawHistory, __assign({}, props))),
11
- near: React.createElement(NearWithdrawHistory, __assign({}, props))
12
+ near: React.createElement(NearWithdrawHistory, __assign({}, props)),
13
+ eth: React.createElement(EthWithdrawHistory, __assign({}, props)),
12
14
  });
13
15
  }
14
16
  function SolanaWithdrawHistory(_a) {
15
- var wallet = _a.wallet, merchantId = _a.merchantId, connection = _a.connection, env = _a.env;
17
+ var wallet = _a.wallet, merchantId = _a.merchantId, connection = _a.connection, env = _a.env, loaderBackground = _a.loaderBackground;
16
18
  var handlers = useSolanaIFrameMessageHandlers({
17
19
  wallet: wallet,
18
- connection: connection
20
+ connection: connection,
19
21
  });
20
22
  var IFrameRef = useIframeWallet(handlers).IFrameRef;
21
23
  if (!wallet.publicKey)
22
24
  return null;
23
25
  var walletPubkey = wallet.publicKey.toString();
24
- return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/history/withdraw/".concat(merchantId), env: env, blockchain: 'solana' }));
26
+ return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/history/withdraw/".concat(merchantId), env: env, blockchain: 'solana', loaderBackground: loaderBackground }));
25
27
  }
26
28
  function NearWithdrawHistory(_a) {
27
- var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env;
29
+ var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env, loaderBackground = _a.loaderBackground;
28
30
  var handlers = useNearIFrameMessageHandlers({
29
- wallet: wallet
31
+ wallet: wallet,
30
32
  });
31
33
  var IFrameRef = useIframeWallet(handlers).IFrameRef;
32
34
  if (!wallet)
33
35
  return null;
34
36
  var walletPubkey = wallet.accountId;
35
- return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/history/withdraw/".concat(merchantId), env: env, blockchain: 'near' }));
37
+ return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/history/withdraw/".concat(merchantId), env: env, blockchain: 'near', loaderBackground: loaderBackground }));
38
+ }
39
+ function EthWithdrawHistory(_a) {
40
+ var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env, loaderBackground = _a.loaderBackground;
41
+ var handlers = useEthIFrameMessageHandlers({
42
+ wallet: wallet,
43
+ });
44
+ var IFrameRef = useIframeWallet(handlers).IFrameRef;
45
+ if (!(wallet === null || wallet === void 0 ? void 0 : wallet.address))
46
+ return null;
47
+ return (React.createElement(CoinflowIFrame, { walletPubkey: wallet.address, IFrameRef: IFrameRef, route: "/history/withdraw/".concat(merchantId), env: env, blockchain: 'eth', loaderBackground: loaderBackground }));
36
48
  }
37
49
  //# sourceMappingURL=CoinflowWithdrawHistory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CoinflowWithdrawHistory.js","sourceRoot":"","sources":["../../src/CoinflowWithdrawHistory.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGL,aAAa,GAGd,MAAM,iBAAiB,CAAC;AAEzB,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;AAmBzE,MAAM,UAAU,uBAAuB,CACrC,KAA4D;IAE5D,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;KACvE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,EAKF;QAJ3B,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,GAAG,SAAA;IAEH,IAAM,QAAQ,GAAG,8BAA8B,CAAC;QAC9C,MAAM,QAAA;QACN,UAAU,YAAA;KACX,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,CAAC,UAA7B,CAA8B;IAE9C,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAEjD,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,4BAAqB,UAAU,CAAE,EACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,QAAQ,GACpB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,EAIF;QAHzB,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,GAAG,SAAA;IAEH,IAAM,QAAQ,GAAG,4BAA4B,CAAC;QAC5C,MAAM,QAAA;KACP,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,CAAC,UAA7B,CAA8B;IAE9C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAEtC,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,4BAAqB,UAAU,CAAE,EACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,GAClB,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CoinflowWithdrawHistory.js","sourceRoot":"","sources":["../../src/CoinflowWithdrawHistory.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { CoinflowBlockchain, CoinflowEnvs, EthWallet, NearWallet, SolanaWalletContextState } from './CoinflowUtils';
2
+ import { Connection } from '@solana/web3.js';
3
+ export interface CommonCoinflowProps {
4
+ merchantId: string;
5
+ env?: CoinflowEnvs;
6
+ loaderBackground?: string;
7
+ blockchain: CoinflowBlockchain;
8
+ }
9
+ export interface CoinflowSolanaHistoryProps extends CommonCoinflowProps {
10
+ wallet: SolanaWalletContextState;
11
+ connection: Connection;
12
+ blockchain: 'solana';
13
+ }
14
+ export interface CoinflowNearHistoryProps extends CommonCoinflowProps {
15
+ wallet: NearWallet;
16
+ blockchain: 'near';
17
+ }
18
+ export interface CoinflowEthHistoryProps extends CommonCoinflowProps {
19
+ wallet: EthWallet;
20
+ blockchain: 'eth';
21
+ }
22
+ export interface CoinflowPolygonHistoryProps extends CommonCoinflowProps {
23
+ wallet: EthWallet;
24
+ blockchain: 'polygon';
25
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CommonCoinflowProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonCoinflowProps.js","sourceRoot":"","sources":["../../src/CommonCoinflowProps.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
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>>;
4
+ export declare function useEthIFrameMessageHandlers({ wallet, }: {
5
+ wallet: PartialBy<EthWallet, 'signMessage'>;
6
+ }): IFrameMessageHandlers;
7
+ export {};