@coinflowlabs/react-native 0.2.0 → 0.2.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.
@@ -1,18 +1,15 @@
1
1
  /// <reference types="react" />
2
- import { WithStyles } from './CoinflowWebView';
3
- import { Connection, Signer, Transaction } from '@solana/web3.js';
4
- import { CoinflowEnvs, SubsetWalletContextState } from './ReactNativeCoinflowUtils';
5
- import { OnSuccessMethod } from './IFrameWalletConnector';
2
+ import { CoinflowWebViewProps, WithStyles } from './CoinflowWebView';
3
+ import { Signer, Transaction } from '@solana/web3.js';
4
+ import { CoinflowEnvs } from './ReactNativeCoinflowUtils';
6
5
  type CoinflowPurchaseProps = {
7
- wallet: SubsetWalletContextState;
6
+ wallet: any;
8
7
  merchantId: string;
9
- connection: Connection;
10
8
  amount?: number;
11
9
  env?: CoinflowEnvs;
12
- onSuccess?: OnSuccessMethod;
13
10
  transaction?: Transaction;
14
11
  partialSigners?: Signer[];
15
12
  debugTx?: boolean;
16
- };
17
- export declare function CoinflowPurchase({ wallet, merchantId, env, connection, onSuccess, transaction, amount, partialSigners, debugTx, style, }: CoinflowPurchaseProps & WithStyles): JSX.Element | null;
13
+ } & CoinflowWebViewProps;
14
+ export declare function CoinflowPurchase({ wallet, merchantId, env, transaction, amount, style, WebViewRef, handleIframeMessages, }: CoinflowPurchaseProps & WithStyles): JSX.Element | null;
18
15
  export {};
@@ -1,14 +1,6 @@
1
1
  import React from 'react';
2
- import { CoinflowWebView } from './CoinflowWebView';
3
- import { useIframeWallet } from './useIframeWallet';
4
- export function CoinflowPurchase({ wallet, merchantId, env, connection, onSuccess, transaction, amount, partialSigners, debugTx = false, style, }) {
5
- const { WebViewRef, handleIframeMessages } = useIframeWallet({
6
- wallet,
7
- connection,
8
- onSuccess,
9
- partialSigners,
10
- debugTx,
11
- });
2
+ import { CoinflowWebView, } from './CoinflowWebView';
3
+ export function CoinflowPurchase({ wallet, merchantId, env, transaction, amount, style, WebViewRef, handleIframeMessages, }) {
12
4
  if (!wallet.publicKey || !wallet.connected)
13
5
  return null;
14
6
  return (React.createElement(CoinflowWebView, { publicKey: wallet.publicKey.toString(), WebViewRef: WebViewRef, route: `/purchase/${merchantId}`, env: env, transaction: transaction, amount: amount, handleIframeMessages: handleIframeMessages, style: style }));
@@ -1 +1 @@
1
- {"version":3,"file":"CoinflowPurchase.js","sourceRoot":"","sources":["../src/CoinflowPurchase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAa,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAoBlD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,EACN,UAAU,EACV,GAAG,EACH,UAAU,EACV,SAAS,EACT,WAAW,EACX,MAAM,EACN,cAAc,EACd,OAAO,GAAG,KAAK,EACf,KAAK,GAC8B;IACnC,MAAM,EAAC,UAAU,EAAE,oBAAoB,EAAC,GAAG,eAAe,CAAC;QACzD,MAAM;QACN,UAAU;QACV,SAAS;QACT,cAAc;QACd,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAExD,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EACtC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,aAAa,UAAU,EAAE,EAChC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,oBAAoB,EAC1C,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CoinflowPurchase.js","sourceRoot":"","sources":["../src/CoinflowPurchase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAc3B,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,EACN,UAAU,EACV,GAAG,EACH,WAAW,EACX,MAAM,EACN,KAAK,EACL,UAAU,EACV,oBAAoB,GACe;IACnC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAExD,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EACtC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,aAAa,UAAU,EAAE,EAChC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,oBAAoB,EAC1C,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { WithStyles } from './CoinflowWebView';
3
3
  import { CoinflowHistoryProps } from './CoinflowWithdrawHistory';
4
- export declare function CoinflowPurchaseHistory({ wallet, merchantId, connection, env, style, }: CoinflowHistoryProps & WithStyles): JSX.Element | null;
4
+ export declare function CoinflowPurchaseHistory({ wallet, merchantId, env, style, WebViewRef, handleIframeMessages, }: CoinflowHistoryProps & WithStyles): JSX.Element | null;
@@ -1,11 +1,6 @@
1
1
  import React from 'react';
2
- import { useIframeWallet } from './useIframeWallet';
3
2
  import { CoinflowWebView } from './CoinflowWebView';
4
- export function CoinflowPurchaseHistory({ wallet, merchantId, connection, env, style, }) {
5
- const { WebViewRef, handleIframeMessages } = useIframeWallet({
6
- wallet,
7
- connection,
8
- });
3
+ export function CoinflowPurchaseHistory({ wallet, merchantId, env, style, WebViewRef, handleIframeMessages, }) {
9
4
  if (!wallet.publicKey || !wallet.connected)
10
5
  return null;
11
6
  return (React.createElement(CoinflowWebView, { publicKey: wallet.publicKey.toString(), WebViewRef: WebViewRef, handleIframeMessages: handleIframeMessages, style: style, route: `/history/purchase/${merchantId}`, env: env }));
@@ -1 +1 @@
1
- {"version":3,"file":"CoinflowPurchaseHistory.js","sourceRoot":"","sources":["../src/CoinflowPurchaseHistory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,eAAe,EAAa,MAAM,mBAAmB,CAAC;AAG9D,MAAM,UAAU,uBAAuB,CAAC,EACtC,MAAM,EACN,UAAU,EACV,UAAU,EACV,GAAG,EACH,KAAK,GAC6B;IAClC,MAAM,EAAC,UAAU,EAAE,oBAAoB,EAAC,GAAG,eAAe,CAAC;QACzD,MAAM;QACN,UAAU;KACX,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAExD,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EACtC,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,EAC1C,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,qBAAqB,UAAU,EAAE,EACxC,GAAG,EAAE,GAAG,GACR,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CoinflowPurchaseHistory.js","sourceRoot":"","sources":["../src/CoinflowPurchaseHistory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAa,MAAM,mBAAmB,CAAC;AAG9D,MAAM,UAAU,uBAAuB,CAAC,EACtC,MAAM,EACN,UAAU,EACV,GAAG,EACH,KAAK,EACL,UAAU,EACV,oBAAoB,GACc;IAClC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAExD,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EACtC,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,EAC1C,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,qBAAqB,UAAU,EAAE,EACxC,GAAG,EAAE,GAAG,GACR,CACH,CAAC;AACJ,CAAC"}
@@ -1,14 +1,12 @@
1
1
  /// <reference types="react" />
2
- import { WithStyles } from './CoinflowWebView';
2
+ import { CoinflowWebViewProps, WithStyles } from './CoinflowWebView';
3
3
  import { Connection } from '@solana/web3.js';
4
- import { CoinflowEnvs, SubsetWalletContextState } from './ReactNativeCoinflowUtils';
5
- import { OnSuccessMethod } from './IFrameWalletConnector';
4
+ import { CoinflowEnvs } from './ReactNativeCoinflowUtils';
6
5
  type CoinflowWithdrawProps = {
7
- wallet: SubsetWalletContextState;
6
+ wallet: any;
8
7
  merchantId: string;
9
8
  connection: Connection;
10
9
  env?: CoinflowEnvs;
11
- onSuccess?: OnSuccessMethod;
12
- };
13
- export declare function CoinflowWithdraw({ wallet, merchantId, env, connection, onSuccess, style, }: CoinflowWithdrawProps & WithStyles): JSX.Element | null;
10
+ } & CoinflowWebViewProps;
11
+ export declare function CoinflowWithdraw({ wallet, merchantId, env, style, WebViewRef, handleIframeMessages, }: CoinflowWithdrawProps & WithStyles): JSX.Element | null;
14
12
  export {};
@@ -1,12 +1,6 @@
1
- import { CoinflowWebView } from './CoinflowWebView';
1
+ import { CoinflowWebView, } from './CoinflowWebView';
2
2
  import React from 'react';
3
- import { useIframeWallet } from './useIframeWallet';
4
- export function CoinflowWithdraw({ wallet, merchantId, env, connection, onSuccess, style, }) {
5
- const { WebViewRef, handleIframeMessages } = useIframeWallet({
6
- wallet,
7
- connection,
8
- onSuccess,
9
- });
3
+ export function CoinflowWithdraw({ wallet, merchantId, env, style, WebViewRef, handleIframeMessages, }) {
10
4
  if (!wallet.publicKey || !wallet.connected)
11
5
  return null;
12
6
  return (React.createElement(CoinflowWebView, { publicKey: wallet.publicKey.toString(), WebViewRef: WebViewRef, handleIframeMessages: handleIframeMessages, route: `/withdraw/${merchantId}`, env: env, style: style }));
@@ -1 +1 @@
1
- {"version":3,"file":"CoinflowWithdraw.js","sourceRoot":"","sources":["../src/CoinflowWithdraw.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAa,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAgBlD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,EACN,UAAU,EACV,GAAG,EACH,UAAU,EACV,SAAS,EACT,KAAK,GAC8B;IACnC,MAAM,EAAC,UAAU,EAAE,oBAAoB,EAAC,GAAG,eAAe,CAAC;QACzD,MAAM;QACN,UAAU;QACV,SAAS;KACV,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAExD,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EACtC,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,EAC1C,KAAK,EAAE,aAAa,UAAU,EAAE,EAChC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CoinflowWithdraw.js","sourceRoot":"","sources":["../src/CoinflowWithdraw.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,EACN,UAAU,EACV,GAAG,EACH,KAAK,EACL,UAAU,EACV,oBAAoB,GACe;IACnC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAExD,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EACtC,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,EAC1C,KAAK,EAAE,aAAa,UAAU,EAAE,EAChC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC"}
@@ -1,11 +1,16 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { WithStyles } from './CoinflowWebView';
3
- import { CoinflowEnvs, SubsetWalletContextState } from './ReactNativeCoinflowUtils';
3
+ import { CoinflowEnvs } from './ReactNativeCoinflowUtils';
4
4
  import { Connection } from '@solana/web3.js';
5
+ import { WebView } from 'react-native-webview';
5
6
  export type CoinflowHistoryProps = {
6
- wallet: SubsetWalletContextState;
7
+ wallet: any;
7
8
  merchantId: string;
8
9
  connection: Connection;
9
10
  env?: CoinflowEnvs;
11
+ WebViewRef: React.RefObject<WebView>;
12
+ handleIframeMessages: ({ data }: {
13
+ data: string;
14
+ }) => Promise<void>;
10
15
  };
11
- export declare function CoinflowWithdrawHistory({ wallet, merchantId, connection, env, style, }: CoinflowHistoryProps & WithStyles): JSX.Element | null;
16
+ export declare function CoinflowWithdrawHistory({ wallet, merchantId, env, style, WebViewRef, handleIframeMessages, }: CoinflowHistoryProps & WithStyles): JSX.Element | null;
@@ -1,11 +1,6 @@
1
1
  import React from 'react';
2
2
  import { CoinflowWebView } from './CoinflowWebView';
3
- import { useIframeWallet } from './useIframeWallet';
4
- export function CoinflowWithdrawHistory({ wallet, merchantId, connection, env, style, }) {
5
- const { WebViewRef, handleIframeMessages } = useIframeWallet({
6
- wallet,
7
- connection,
8
- });
3
+ export function CoinflowWithdrawHistory({ wallet, merchantId, env, style, WebViewRef, handleIframeMessages, }) {
9
4
  if (!wallet.publicKey || !wallet.connected)
10
5
  return null;
11
6
  return (React.createElement(CoinflowWebView, { publicKey: wallet.publicKey.toString(), WebViewRef: WebViewRef, handleIframeMessages: handleIframeMessages, style: style, route: `/history/withdraw/${merchantId}`, env: env }));
@@ -1 +1 @@
1
- {"version":3,"file":"CoinflowWithdrawHistory.js","sourceRoot":"","sources":["../src/CoinflowWithdrawHistory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAa,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAclD,MAAM,UAAU,uBAAuB,CAAC,EACtC,MAAM,EACN,UAAU,EACV,UAAU,EACV,GAAG,EACH,KAAK,GAC6B;IAClC,MAAM,EAAC,UAAU,EAAE,oBAAoB,EAAC,GAAG,eAAe,CAAC;QACzD,MAAM;QACN,UAAU;KACX,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAExD,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EACtC,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,EAC1C,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,qBAAqB,UAAU,EAAE,EACxC,GAAG,EAAE,GAAG,GACR,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CoinflowWithdrawHistory.js","sourceRoot":"","sources":["../src/CoinflowWithdrawHistory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAa,MAAM,mBAAmB,CAAC;AAc9D,MAAM,UAAU,uBAAuB,CAAC,EACtC,MAAM,EACN,UAAU,EACV,GAAG,EACH,KAAK,EACL,UAAU,EACV,oBAAoB,GACc;IAClC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAExD,OAAO,CACL,oBAAC,eAAe,IACd,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EACtC,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,EAC1C,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,qBAAqB,UAAU,EAAE,EACxC,GAAG,EAAE,GAAG,GACR,CACH,CAAC;AACJ,CAAC"}
@@ -1,7 +1,5 @@
1
1
  import { Transaction } from '@solana/web3.js';
2
- import { WalletContextState } from '@solana/wallet-adapter-react';
3
2
  export type CoinflowEnvs = 'prod' | 'staging' | 'sandbox' | 'local';
4
- export type SubsetWalletContextState = Pick<WalletContextState, 'signTransaction' | 'signMessage' | 'connected' | 'publicKey' | 'sendTransaction'>;
5
3
  export declare class ReactNativeCoinflowUtils {
6
4
  env: CoinflowEnvs;
7
5
  url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ReactNativeCoinflowUtils.js","sourceRoot":"","sources":["../src/ReactNativeCoinflowUtils.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,MAAM,CAAC;AAc1B,MAAM,OAAO,wBAAwB;IAInC,YAAY,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,eAAe,IAAI,CAAC,GAAG,gBAAgB,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,GAAkB;QAC1C,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,uBAAuB,CAAC;QAC3D,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,uBAAuB,CAAC;QAEpD,OAAO,WAAW,GAAG,gBAAgB,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,EACpB,KAAK,EACL,GAAG,EACH,MAAM,EACN,SAAS,EACT,WAAW,GAOZ;QACC,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,KAAK,EACL,wBAAwB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CACjD,CAAC;QACF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC7C,IAAI,WAAW,EAAE;YACf,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAChC,WAAW,CAAC,SAAS,CAAC;gBACpB,oBAAoB,EAAE,KAAK;gBAC3B,gBAAgB,EAAE,KAAK;aACxB,CAAC,CACH,CAAC;YACF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;SACtD;QACD,IAAI,MAAM,EAAE;YACV,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"ReactNativeCoinflowUtils.js","sourceRoot":"","sources":["../src/ReactNativeCoinflowUtils.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,MAAM,CAAC;AAI1B,MAAM,OAAO,wBAAwB;IAInC,YAAY,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,eAAe,IAAI,CAAC,GAAG,gBAAgB,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,GAAkB;QAC1C,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,uBAAuB,CAAC;QAC3D,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,uBAAuB,CAAC;QAEpD,OAAO,WAAW,GAAG,gBAAgB,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,EACpB,KAAK,EACL,GAAG,EACH,MAAM,EACN,SAAS,EACT,WAAW,GAOZ;QACC,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,KAAK,EACL,wBAAwB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CACjD,CAAC;QACF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC7C,IAAI,WAAW,EAAE;YACf,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAChC,WAAW,CAAC,SAAS,CAAC;gBACpB,oBAAoB,EAAE,KAAK;gBAC3B,gBAAgB,EAAE,KAAK;aACxB,CAAC,CACH,CAAC;YACF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;SACtD;QACD,IAAI,MAAM,EAAE;YACV,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinflowlabs/react-native",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "React Native Component for Coinflow Withdraw",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -26,8 +26,7 @@
26
26
  "react-native-webview": ">=11.16.0"
27
27
  },
28
28
  "dependencies": {
29
- "bs58": "^5.0.0",
30
- "@solana/web3.js": "^1.70.1"
29
+ "bs58": "^5.0.0"
31
30
  },
32
31
  "devDependencies": {
33
32
  "@types/react": "^18.0.26",
@@ -1,21 +0,0 @@
1
- import { Connection, Signer } from '@solana/web3.js';
2
- import { SubsetWalletContextState } from './ReactNativeCoinflowUtils';
3
- export type WalletCall = {
4
- method: string;
5
- data: string;
6
- };
7
- export type OnSuccessMethod = (params: string) => void | Promise<void>;
8
- type Props = {
9
- wallet: SubsetWalletContextState;
10
- connection: Connection;
11
- onSuccess?: OnSuccessMethod;
12
- partialSigners?: Signer[];
13
- debugTx?: boolean;
14
- sendIFrameMessage: (message: string) => void;
15
- };
16
- export declare function useHandleIFrameMessages({ wallet, connection, onSuccess, partialSigners, debugTx, sendIFrameMessage, }: Props): {
17
- handleIframeMessages: ({ data }: {
18
- data: string;
19
- }) => Promise<void>;
20
- };
21
- export {};
@@ -1,133 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { useCallback } from 'react';
11
- import base58 from 'bs58';
12
- import { Transaction } from '@solana/web3.js';
13
- export function useHandleIFrameMessages({ wallet, connection, onSuccess, partialSigners, debugTx = false, sendIFrameMessage, }) {
14
- const handleSignMessage = useCallback(({ data }) => __awaiter(this, void 0, void 0, function* () {
15
- if (!wallet.signMessage)
16
- return;
17
- const signature = yield wallet.signMessage(base58.decode(data));
18
- sendIFrameMessage(base58.encode(signature));
19
- }), [sendIFrameMessage, wallet]);
20
- const sendTransactionDebug = useCallback((tx) => __awaiter(this, void 0, void 0, function* () {
21
- if (!wallet.signTransaction)
22
- throw new Error('Wallet does not support sign transaction');
23
- const signedTx = yield wallet.signTransaction(tx);
24
- const serializedTx = signedTx.serialize();
25
- const signature = yield connection.sendRawTransaction(serializedTx, {
26
- skipPreflight: true,
27
- });
28
- sendIFrameMessage(signature);
29
- }), [connection, sendIFrameMessage, wallet]);
30
- const handleSendTransaction = useCallback(({ data }) => __awaiter(this, void 0, void 0, function* () {
31
- const tx = Transaction.from(base58.decode(data));
32
- // Partially sign the transaction with any partial signers if needed
33
- const partiallySign = (signer) => {
34
- const requiredSignatures = tx.signatures.map(sig => sig.publicKey.toString());
35
- const shouldSign = requiredSignatures.includes(signer.publicKey.toString());
36
- if (shouldSign)
37
- tx.partialSign(signer);
38
- };
39
- if (partialSigners) {
40
- partialSigners.forEach(partiallySign);
41
- }
42
- if (debugTx) {
43
- yield sendTransactionDebug(tx);
44
- return;
45
- }
46
- const signature = yield wallet.sendTransaction(tx, connection);
47
- sendIFrameMessage(signature);
48
- }), [
49
- connection,
50
- debugTx,
51
- partialSigners,
52
- sendIFrameMessage,
53
- sendTransactionDebug,
54
- wallet,
55
- ]);
56
- const handleSignTransaction = useCallback(({ data }) => __awaiter(this, void 0, void 0, function* () {
57
- if (!wallet.signTransaction) {
58
- throw new Error('signTransaction is not supported by this wallet');
59
- }
60
- const tx = Transaction.from(base58.decode(data));
61
- // Partially sign the transaction with any partial signers if needed
62
- const partiallySign = (signer) => {
63
- const requiredSignatures = tx.signatures.map(sig => sig.publicKey.toString());
64
- const shouldSign = requiredSignatures.includes(signer.publicKey.toString());
65
- if (shouldSign)
66
- tx.partialSign(signer);
67
- };
68
- if (partialSigners) {
69
- partialSigners.forEach(partiallySign);
70
- }
71
- const signedTransaction = yield wallet.signTransaction(tx);
72
- sendIFrameMessage(base58.encode(signedTransaction.serialize({
73
- requireAllSignatures: false,
74
- verifySignatures: false,
75
- })));
76
- }), [partialSigners, sendIFrameMessage, wallet]);
77
- const handleIframeMessages = useCallback(({ data }) => __awaiter(this, void 0, void 0, function* () {
78
- try {
79
- if (!wallet)
80
- return;
81
- const parsedData = parseJSON(data);
82
- if (!parsedData)
83
- return;
84
- switch (parsedData.method) {
85
- case 'signMessage': {
86
- yield handleSignMessage(parsedData);
87
- break;
88
- }
89
- case 'sendTransaction': {
90
- yield handleSendTransaction(parsedData);
91
- break;
92
- }
93
- case 'signTransaction': {
94
- yield handleSignTransaction(parsedData);
95
- break;
96
- }
97
- case 'success': {
98
- if (onSuccess)
99
- onSuccess(data);
100
- break;
101
- }
102
- default: {
103
- throw new Error(`Unsupported Wallet Method ${parsedData.method}, must be signMessage or signTransaction`);
104
- }
105
- }
106
- }
107
- catch (e) {
108
- console.error('handleIframeMessages', e);
109
- sendIFrameMessage('ERROR');
110
- }
111
- }), [
112
- handleSignMessage,
113
- handleSendTransaction,
114
- onSuccess,
115
- sendIFrameMessage,
116
- wallet,
117
- ]);
118
- return { handleIframeMessages };
119
- }
120
- function parseJSON(data) {
121
- try {
122
- const res = JSON.parse(data);
123
- if (!res.method)
124
- return null;
125
- if (!res.data)
126
- return null;
127
- return res;
128
- }
129
- catch (e) {
130
- return null;
131
- }
132
- }
133
- //# sourceMappingURL=IFrameWalletConnector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IFrameWalletConnector.js","sourceRoot":"","sources":["../src/IFrameWalletConnector.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /// <reference types="react" />
2
- import { WebView } from 'react-native-webview';
3
- import { OnSuccessMethod } from './IFrameWalletConnector';
4
- import { Connection, Signer } from '@solana/web3.js';
5
- import { SubsetWalletContextState } from './ReactNativeCoinflowUtils';
6
- type IFrameWalletProps = {
7
- wallet: SubsetWalletContextState;
8
- connection: Connection;
9
- onSuccess?: OnSuccessMethod;
10
- partialSigners?: Signer[];
11
- debugTx?: boolean;
12
- };
13
- export declare function useIframeWallet({ wallet, connection, onSuccess, partialSigners, debugTx, }: IFrameWalletProps): {
14
- WebViewRef: import("react").RefObject<WebView<{}>>;
15
- handleIframeMessages: ({ data }: {
16
- data: string;
17
- }) => Promise<void>;
18
- };
19
- export {};
@@ -1,20 +0,0 @@
1
- import { useCallback, useRef } from 'react';
2
- import { useHandleIFrameMessages, } from './IFrameWalletConnector';
3
- export function useIframeWallet({ wallet, connection, onSuccess, partialSigners, debugTx = false, }) {
4
- const WebViewRef = useRef(null);
5
- const sendIFrameMessage = useCallback((message) => {
6
- if (!(WebViewRef === null || WebViewRef === void 0 ? void 0 : WebViewRef.current))
7
- throw new Error('WebViewRef not defined');
8
- WebViewRef.current.postMessage(message);
9
- }, [WebViewRef]);
10
- const { handleIframeMessages } = useHandleIFrameMessages({
11
- wallet,
12
- connection,
13
- onSuccess,
14
- partialSigners,
15
- debugTx,
16
- sendIFrameMessage,
17
- });
18
- return { WebViewRef, handleIframeMessages };
19
- }
20
- //# sourceMappingURL=useIframeWallet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIframeWallet.js","sourceRoot":"","sources":["../src/useIframeWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AAE1C,OAAO,EAEL,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAYjC,MAAM,UAAU,eAAe,CAAC,EAC9B,MAAM,EACN,UAAU,EACV,SAAS,EACT,cAAc,EACd,OAAO,GAAG,KAAK,GACG;IAClB,MAAM,UAAU,GAAG,MAAM,CAAU,IAAI,CAAC,CAAC;IAEzC,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,OAAe,EAAE,EAAE;QAClB,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAA;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACpE,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,EAAC,oBAAoB,EAAC,GAAG,uBAAuB,CAAC;QACrD,MAAM;QACN,UAAU;QACV,SAAS;QACT,cAAc;QACd,OAAO;QACP,iBAAiB;KAClB,CAAC,CAAC;IAEH,OAAO,EAAC,UAAU,EAAE,oBAAoB,EAAC,CAAC;AAC5C,CAAC"}