@orderly.network/wallet-connector 2.0.0-alpha.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.
@@ -0,0 +1,20 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { WalletAdapterNetwork, Adapter } from '@solana/wallet-adapter-base';
3
+
4
+ interface SolanaInitialProps extends PropsWithChildren {
5
+ network?: WalletAdapterNetwork;
6
+ endPoint?: string;
7
+ wallets?: Adapter[];
8
+ }
9
+ interface EvmInitialProps extends PropsWithChildren {
10
+ apiKey?: string;
11
+ skipInit?: boolean;
12
+ }
13
+
14
+ interface WalletConnectorProviderProps {
15
+ solanaInitial?: SolanaInitialProps;
16
+ evmInitial?: EvmInitialProps;
17
+ }
18
+ declare function WalletConnectorProvider(props: PropsWithChildren<WalletConnectorProviderProps>): React.JSX.Element;
19
+
20
+ export { WalletConnectorProvider };
@@ -0,0 +1,20 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { WalletAdapterNetwork, Adapter } from '@solana/wallet-adapter-base';
3
+
4
+ interface SolanaInitialProps extends PropsWithChildren {
5
+ network?: WalletAdapterNetwork;
6
+ endPoint?: string;
7
+ wallets?: Adapter[];
8
+ }
9
+ interface EvmInitialProps extends PropsWithChildren {
10
+ apiKey?: string;
11
+ skipInit?: boolean;
12
+ }
13
+
14
+ interface WalletConnectorProviderProps {
15
+ solanaInitial?: SolanaInitialProps;
16
+ evmInitial?: EvmInitialProps;
17
+ }
18
+ declare function WalletConnectorProvider(props: PropsWithChildren<WalletConnectorProviderProps>): React.JSX.Element;
19
+
20
+ export { WalletConnectorProvider };
package/dist/index.js ADDED
@@ -0,0 +1,121 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var walletAdapterReact = require('@solana/wallet-adapter-react');
5
+ var walletAdapterBase = require('@solana/wallet-adapter-base');
6
+ var walletAdapterReactUi = require('@solana/wallet-adapter-react-ui');
7
+ var web3_js = require('@solana/web3.js');
8
+ require('@solana/wallet-adapter-react-ui/styles.css');
9
+ var hooks = require('@orderly.network/hooks');
10
+ var types = require('@orderly.network/types');
11
+
12
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
+
14
+ var React__default = /*#__PURE__*/_interopDefault(React);
15
+
16
+ // src/initSolana.tsx
17
+ function InitSolana({ children, ...props }) {
18
+ const network = props.network ?? walletAdapterBase.WalletAdapterNetwork.Devnet;
19
+ const endPoint = React.useMemo(() => {
20
+ return props.endPoint ?? web3_js.clusterApiUrl(network);
21
+ }, [network]);
22
+ const wallets = React.useMemo(() => {
23
+ return props.wallets ?? [];
24
+ }, []);
25
+ return /* @__PURE__ */ React__default.default.createElement(walletAdapterReact.ConnectionProvider, { endpoint: endPoint }, /* @__PURE__ */ React__default.default.createElement(walletAdapterReact.WalletProvider, { wallets }, /* @__PURE__ */ React__default.default.createElement(walletAdapterReactUi.WalletModalProvider, null, children)));
26
+ }
27
+ function Main(props) {
28
+ const { setVisible, visible } = walletAdapterReactUi.useWalletModal();
29
+ const {
30
+ connect: connectSolanaWallet,
31
+ wallet: selectedSolanaWallet,
32
+ connecting: solanaConnecting,
33
+ disconnect: solanaDisconnect,
34
+ signMessage,
35
+ sendTransaction,
36
+ publicKey
37
+ } = walletAdapterReact.useWallet();
38
+ const { connection } = walletAdapterReact.useConnection();
39
+ const connect = async () => {
40
+ console.log("-- connect solana");
41
+ if (!selectedSolanaWallet) {
42
+ setVisible(true);
43
+ }
44
+ connectSolanaWallet().then((res) => {
45
+ console.log("-- publickey", publicKey);
46
+ console.log("-- publick", publicKey?.toBase58());
47
+ console.log("-- res", res);
48
+ }).catch((err) => {
49
+ console.log("-- error", err);
50
+ });
51
+ return [];
52
+ };
53
+ const disconnect = async () => {
54
+ await solanaDisconnect();
55
+ return [];
56
+ };
57
+ React.useEffect(() => {
58
+ if (!selectedSolanaWallet)
59
+ return;
60
+ if (visible)
61
+ return;
62
+ console.log("-- selectedSolanaWallet", selectedSolanaWallet, visible);
63
+ connectSolanaWallet().then((res) => {
64
+ console.log("-- publick", publicKey?.toBase58());
65
+ console.log("-- res", res);
66
+ }).catch((err) => {
67
+ console.log("-- error", err);
68
+ });
69
+ }, [selectedSolanaWallet, visible]);
70
+ const connecting = false;
71
+ const wallet = React.useMemo(() => {
72
+ console.log("-- publiKey", publicKey);
73
+ if (!publicKey) {
74
+ return null;
75
+ }
76
+ return {
77
+ label: "",
78
+ icon: "",
79
+ provider: {
80
+ signMessage,
81
+ connection,
82
+ sendTransaction
83
+ },
84
+ accounts: [{
85
+ address: publicKey.toBase58()
86
+ }],
87
+ chains: [
88
+ {
89
+ id: 901901901,
90
+ namespace: types.ChainNamespace.solana
91
+ }
92
+ ]
93
+ };
94
+ }, [publicKey, signMessage, connection]);
95
+ const setChanin = () => {
96
+ };
97
+ return /* @__PURE__ */ React__default.default.createElement(
98
+ hooks.WalletConnectorContext.Provider,
99
+ {
100
+ value: {
101
+ connect,
102
+ disconnect,
103
+ connecting,
104
+ wallet,
105
+ setChanin,
106
+ connectedChain: {
107
+ id: 901901901,
108
+ namespace: types.ChainNamespace.solana
109
+ }
110
+ }
111
+ },
112
+ props.children
113
+ );
114
+ }
115
+ function WalletConnectorProvider(props) {
116
+ return /* @__PURE__ */ React__default.default.createElement(InitSolana, { ...props.solanaInitial ?? {} }, /* @__PURE__ */ React__default.default.createElement(Main, null, props.children));
117
+ }
118
+
119
+ exports.WalletConnectorProvider = WalletConnectorProvider;
120
+ //# sourceMappingURL=out.js.map
121
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/initSolana.tsx","../src/main.tsx","../src/provider.tsx"],"names":["React","useMemo"],"mappings":";AAAA,OAAO,SAAQ,eAAe;AAC9B,SAAS,oBAAoB,sBAAsB;AACnD,SAAQ,4BAA2B;AACnC;AAAA,EACE;AAAA,OACK;AACP,SAAS,qBAAqB;AAG9B,OAAO;AAKQ,SAAR,WAA4B,EAAE,UAAU,GAAG,MAAM,GAAsB;AAC5E,QAAM,UAAS,MAAM,WAAW,qBAAqB;AACrD,QAAM,WAAW,QAAQ,MAAM;AAC7B,WAAO,MAAM,YAAY,cAAc,OAAO;AAAA,EAChD,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,UAAW,QAAQ,MAAM;AAE7B,WAAO,MAAM,WAAW,CACxB;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SACE,oCAAC,sBAAmB,UAAU,YAC5B,oCAAC,kBAAe,WACd,oCAAC,2BAEE,QACH,CACF,CACF;AAEJ;;;ACpCA,OAAOA,UAAS,WAAmC,WAAAC,gBAAe;AAClE,SAAS,8BAA8B;AACvC,SAAS,sBAAqB;AAC9B,SAAQ,eAAe,iBAAgB;AACvC,SAAS,sBAAsB;AAExB,SAAS,KAAK,OAA0B;AAC7C,QAAM,EAAE,YAAY,QAAQ,IAAI,eAAe;AAC/C,QAAM;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAa;AAAA,IACb,YAAY;AAAA,IACZ;AAAA,IACE;AAAA,IACF;AAAA,EACF,IAAI,UAAU;AACd,QAAM,EAAC,WAAU,IAAI,cAAc;AAEnC,QAAM,UAAU,YAAY;AAC1B,YAAQ,IAAI,mBAAmB;AAC/B,QAAI,CAAC,sBAAsB;AACzB,iBAAW,IAAI;AAAA,IACjB;AACA,wBAAoB,EAAE,KAAK,SAAO;AAChC,cAAQ,IAAI,gBAAgB,SAAS;AACrC,cAAQ,IAAI,cAAc,WAAW,SAAS,CAAC;AAE/C,cAAQ,IAAI,UAAU,GAAG;AAAA,IAC3B,CAAC,EAAE,MAAM,CAAC,QAAQ;AAChB,cAAQ,IAAI,YAAW,GAAG;AAAA,IAC5B,CAAC;AACD,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,aAAa,YAAY;AAC7B,UAAM,iBAAiB;AACvB,WAAO,CAAC;AAAA,EACV;AAEA,YAAU,MAAM;AACd,QAAI,CAAC;AAAsB;AAC3B,QAAI;AAAS;AACb,YAAQ,IAAI,2BAA2B,sBAAsB,OAAO;AAEpE,wBAAoB,EAAE,KAAK,SAAO;AAChC,cAAQ,IAAI,cAAc,WAAW,SAAS,CAAC;AAC/C,cAAQ,IAAI,UAAU,GAAG;AAAA,IAC3B,CAAC,EAAE,MAAM,CAAC,QAAQ;AAChB,cAAQ,IAAI,YAAW,GAAG;AAAA,IAC5B,CAAC;AAAA,EAEH,GAAG,CAAC,sBAAsB,OAAO,CAAC;AAElC,QAAM,aAAa;AACnB,QAAM,SAASA,SAAQ,MAAM;AAC3B,YAAQ,IAAI,eAAe,SAAS;AAEpC,QAAI,CAAC,WAAW;AACf,aAAO;AAAA,IACR;AACA,WAAO;AAAA,MACL,OAAM;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAS,CAAC;AAAA,QACR,SAAS,UAAU,SAAS;AAAA,MAC9B,CAAC;AAAA,MACD,QAAQ;AAAA,QACN;AAAA,UACE,IAAI;AAAA,UACJ,WAAW,eAAe;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,EAGF,GAAG,CAAC,WAAW,aAAa,UAAU,CAAC;AACvC,QAAM,YAAY,MAAM;AAAA,EAAC;AAEzB,SACE,gBAAAD,OAAA;AAAA,IAAC,uBAAuB;AAAA,IAAvB;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,UACd,IAAI;AAAA,UACJ,WAAW,eAAe;AAAA,QAC5B;AAAA,MAEF;AAAA;AAAA,IAEG,MAAM;AAAA,EACX;AAEJ;;;ACpGA,OAAOA,YAA+C;AAS/C,SAAS,wBACZ,OACF;AAEE,SACI,gBAAAA,OAAA,cAAC,cAAY,GAAI,MAAM,iBAAiB,CAAC,KAErC,gBAAAA,OAAA,cAAC,YACI,MAAM,QACX,CAEJ;AAER","sourcesContent":["import React, {useMemo } from \"react\";\nimport { ConnectionProvider, WalletProvider } from \"@solana/wallet-adapter-react\";\nimport {WalletAdapterNetwork} from \"@solana/wallet-adapter-base\";\nimport {\n WalletModalProvider\n} from \"@solana/wallet-adapter-react-ui\";\nimport { clusterApiUrl } from \"@solana/web3.js\";\nimport { GlowWalletAdapter } from \"@solana/wallet-adapter-glow\";\n\nimport \"@solana/wallet-adapter-react-ui/styles.css\";\nimport {SolanaInitialProps} from \"./types\";\n\n\n\nexport default function InitSolana({ children, ...props }:SolanaInitialProps) {\n const network =props.network ?? WalletAdapterNetwork.Devnet;\n const endPoint = useMemo(() => {\n return props.endPoint ?? clusterApiUrl(network)\n }, [network]);\n\n const wallets = useMemo(() => {\n\n return props.wallets ?? [\n ];\n }, []);\n\n return (\n <ConnectionProvider endpoint={endPoint}>\n <WalletProvider wallets={wallets}>\n <WalletModalProvider>\n\n {children}\n </WalletModalProvider>\n </WalletProvider>\n </ConnectionProvider>\n );\n}\n","import React, { useEffect, type PropsWithChildren, useMemo } from \"react\";\nimport { WalletConnectorContext } from \"@orderly.network/hooks\";\nimport { useWalletModal} from \"@solana/wallet-adapter-react-ui\";\nimport {useConnection, useWallet} from \"@solana/wallet-adapter-react\";\nimport { ChainNamespace } from \"@orderly.network/types\";\n\nexport function Main(props: PropsWithChildren) {\n const { setVisible, visible } = useWalletModal();\n const {\n connect: connectSolanaWallet,\n wallet: selectedSolanaWallet,\n connecting : solanaConnecting,\n disconnect: solanaDisconnect,\n signMessage,\n sendTransaction,\n publicKey,\n } = useWallet();\n const {connection} = useConnection();\n\n const connect = async () => {\n console.log('-- connect solana');\n if (!selectedSolanaWallet) {\n setVisible(true)\n }\n connectSolanaWallet().then(res => {\n console.log('-- publickey', publicKey);\n console.log('-- publick', publicKey?.toBase58());\n\n console.log('-- res', res);\n }).catch((err) => {\n console.log('-- error',err);\n })\n return [];\n };\n\n const disconnect = async () => {\n await solanaDisconnect();\n return []\n }\n\n useEffect(() => {\n if (!selectedSolanaWallet) return;\n if (visible) return;\n console.log('-- selectedSolanaWallet', selectedSolanaWallet, visible);\n\n connectSolanaWallet().then(res => {\n console.log('-- publick', publicKey?.toBase58());\n console.log('-- res', res);\n }).catch((err) => {\n console.log('-- error',err);\n })\n\n }, [selectedSolanaWallet, visible]);\n\n const connecting = false;\n const wallet = useMemo(() => {\n console.log('-- publiKey', publicKey);\n\n if (!publicKey) {\n return null;\n }\n return {\n label:'',\n icon: '',\n provider: {\n signMessage: signMessage,\n connection,\n sendTransaction,\n },\n accounts:[{\n address: publicKey.toBase58(),\n }],\n chains: [\n {\n id: 901901901,\n namespace: ChainNamespace.solana,\n }\n ]\n }\n\n\n }, [publicKey, signMessage, connection]);\n const setChanin = () => {}\n\n return (\n <WalletConnectorContext.Provider\n value={{\n connect,\n disconnect,\n connecting,\n wallet,\n setChanin,\n connectedChain: {\n id: 901901901,\n namespace: ChainNamespace.solana,\n }\n\n }}\n >\n {props.children}\n </WalletConnectorContext.Provider>\n);\n}","import InitSolana from \"./initSolana\";\nimport {Main} from \"./main\";\nimport React, {type PropsWithChildren, useState} from \"react\";\nimport {EvmInitialProps, SolanaInitialProps} from \"./types\";\n\nexport interface WalletConnectorProviderProps {\n\n solanaInitial?: SolanaInitialProps;\n evmInitial?: EvmInitialProps;\n}\n\nexport function WalletConnectorProvider(\n props: PropsWithChildren<WalletConnectorProviderProps>\n) {\n\n return (\n <InitSolana {...(props.solanaInitial ?? {})}>\n\n <Main>\n {props.children}\n </Main>\n\n </InitSolana>\n );\n}"]}
package/dist/index.mjs ADDED
@@ -0,0 +1,115 @@
1
+ import React, { useMemo, useEffect } from 'react';
2
+ import { ConnectionProvider, WalletProvider, useWallet, useConnection } from '@solana/wallet-adapter-react';
3
+ import { WalletAdapterNetwork } from '@solana/wallet-adapter-base';
4
+ import { WalletModalProvider, useWalletModal } from '@solana/wallet-adapter-react-ui';
5
+ import { clusterApiUrl } from '@solana/web3.js';
6
+ import '@solana/wallet-adapter-react-ui/styles.css';
7
+ import { WalletConnectorContext } from '@orderly.network/hooks';
8
+ import { ChainNamespace } from '@orderly.network/types';
9
+
10
+ // src/initSolana.tsx
11
+ function InitSolana({ children, ...props }) {
12
+ const network = props.network ?? WalletAdapterNetwork.Devnet;
13
+ const endPoint = useMemo(() => {
14
+ return props.endPoint ?? clusterApiUrl(network);
15
+ }, [network]);
16
+ const wallets = useMemo(() => {
17
+ return props.wallets ?? [];
18
+ }, []);
19
+ return /* @__PURE__ */ React.createElement(ConnectionProvider, { endpoint: endPoint }, /* @__PURE__ */ React.createElement(WalletProvider, { wallets }, /* @__PURE__ */ React.createElement(WalletModalProvider, null, children)));
20
+ }
21
+ function Main(props) {
22
+ const { setVisible, visible } = useWalletModal();
23
+ const {
24
+ connect: connectSolanaWallet,
25
+ wallet: selectedSolanaWallet,
26
+ connecting: solanaConnecting,
27
+ disconnect: solanaDisconnect,
28
+ signMessage,
29
+ sendTransaction,
30
+ publicKey
31
+ } = useWallet();
32
+ const { connection } = useConnection();
33
+ const connect = async () => {
34
+ console.log("-- connect solana");
35
+ if (!selectedSolanaWallet) {
36
+ setVisible(true);
37
+ }
38
+ connectSolanaWallet().then((res) => {
39
+ console.log("-- publickey", publicKey);
40
+ console.log("-- publick", publicKey?.toBase58());
41
+ console.log("-- res", res);
42
+ }).catch((err) => {
43
+ console.log("-- error", err);
44
+ });
45
+ return [];
46
+ };
47
+ const disconnect = async () => {
48
+ await solanaDisconnect();
49
+ return [];
50
+ };
51
+ useEffect(() => {
52
+ if (!selectedSolanaWallet)
53
+ return;
54
+ if (visible)
55
+ return;
56
+ console.log("-- selectedSolanaWallet", selectedSolanaWallet, visible);
57
+ connectSolanaWallet().then((res) => {
58
+ console.log("-- publick", publicKey?.toBase58());
59
+ console.log("-- res", res);
60
+ }).catch((err) => {
61
+ console.log("-- error", err);
62
+ });
63
+ }, [selectedSolanaWallet, visible]);
64
+ const connecting = false;
65
+ const wallet = useMemo(() => {
66
+ console.log("-- publiKey", publicKey);
67
+ if (!publicKey) {
68
+ return null;
69
+ }
70
+ return {
71
+ label: "",
72
+ icon: "",
73
+ provider: {
74
+ signMessage,
75
+ connection,
76
+ sendTransaction
77
+ },
78
+ accounts: [{
79
+ address: publicKey.toBase58()
80
+ }],
81
+ chains: [
82
+ {
83
+ id: 901901901,
84
+ namespace: ChainNamespace.solana
85
+ }
86
+ ]
87
+ };
88
+ }, [publicKey, signMessage, connection]);
89
+ const setChanin = () => {
90
+ };
91
+ return /* @__PURE__ */ React.createElement(
92
+ WalletConnectorContext.Provider,
93
+ {
94
+ value: {
95
+ connect,
96
+ disconnect,
97
+ connecting,
98
+ wallet,
99
+ setChanin,
100
+ connectedChain: {
101
+ id: 901901901,
102
+ namespace: ChainNamespace.solana
103
+ }
104
+ }
105
+ },
106
+ props.children
107
+ );
108
+ }
109
+ function WalletConnectorProvider(props) {
110
+ return /* @__PURE__ */ React.createElement(InitSolana, { ...props.solanaInitial ?? {} }, /* @__PURE__ */ React.createElement(Main, null, props.children));
111
+ }
112
+
113
+ export { WalletConnectorProvider };
114
+ //# sourceMappingURL=out.js.map
115
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/initSolana.tsx","../src/main.tsx","../src/provider.tsx"],"names":["React","useMemo"],"mappings":"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","sourcesContent":["import React, {useMemo } from \"react\";\nimport { ConnectionProvider, WalletProvider } from \"@solana/wallet-adapter-react\";\nimport {WalletAdapterNetwork} from \"@solana/wallet-adapter-base\";\nimport {\n WalletModalProvider\n} from \"@solana/wallet-adapter-react-ui\";\nimport { clusterApiUrl } from \"@solana/web3.js\";\nimport { GlowWalletAdapter } from \"@solana/wallet-adapter-glow\";\n\nimport \"@solana/wallet-adapter-react-ui/styles.css\";\nimport {SolanaInitialProps} from \"./types\";\n\n\n\nexport default function InitSolana({ children, ...props }:SolanaInitialProps) {\n const network =props.network ?? WalletAdapterNetwork.Devnet;\n const endPoint = useMemo(() => {\n return props.endPoint ?? clusterApiUrl(network)\n }, [network]);\n\n const wallets = useMemo(() => {\n\n return props.wallets ?? [\n ];\n }, []);\n\n return (\n <ConnectionProvider endpoint={endPoint}>\n <WalletProvider wallets={wallets}>\n <WalletModalProvider>\n\n {children}\n </WalletModalProvider>\n </WalletProvider>\n </ConnectionProvider>\n );\n}\n","import React, { useEffect, type PropsWithChildren, useMemo } from \"react\";\nimport { WalletConnectorContext } from \"@orderly.network/hooks\";\nimport { useWalletModal} from \"@solana/wallet-adapter-react-ui\";\nimport {useConnection, useWallet} from \"@solana/wallet-adapter-react\";\nimport { ChainNamespace } from \"@orderly.network/types\";\n\nexport function Main(props: PropsWithChildren) {\n const { setVisible, visible } = useWalletModal();\n const {\n connect: connectSolanaWallet,\n wallet: selectedSolanaWallet,\n connecting : solanaConnecting,\n disconnect: solanaDisconnect,\n signMessage,\n sendTransaction,\n publicKey,\n } = useWallet();\n const {connection} = useConnection();\n\n const connect = async () => {\n console.log('-- connect solana');\n if (!selectedSolanaWallet) {\n setVisible(true)\n }\n connectSolanaWallet().then(res => {\n console.log('-- publickey', publicKey);\n console.log('-- publick', publicKey?.toBase58());\n\n console.log('-- res', res);\n }).catch((err) => {\n console.log('-- error',err);\n })\n return [];\n };\n\n const disconnect = async () => {\n await solanaDisconnect();\n return []\n }\n\n useEffect(() => {\n if (!selectedSolanaWallet) return;\n if (visible) return;\n console.log('-- selectedSolanaWallet', selectedSolanaWallet, visible);\n\n connectSolanaWallet().then(res => {\n console.log('-- publick', publicKey?.toBase58());\n console.log('-- res', res);\n }).catch((err) => {\n console.log('-- error',err);\n })\n\n }, [selectedSolanaWallet, visible]);\n\n const connecting = false;\n const wallet = useMemo(() => {\n console.log('-- publiKey', publicKey);\n\n if (!publicKey) {\n return null;\n }\n return {\n label:'',\n icon: '',\n provider: {\n signMessage: signMessage,\n connection,\n sendTransaction,\n },\n accounts:[{\n address: publicKey.toBase58(),\n }],\n chains: [\n {\n id: 901901901,\n namespace: ChainNamespace.solana,\n }\n ]\n }\n\n\n }, [publicKey, signMessage, connection]);\n const setChanin = () => {}\n\n return (\n <WalletConnectorContext.Provider\n value={{\n connect,\n disconnect,\n connecting,\n wallet,\n setChanin,\n connectedChain: {\n id: 901901901,\n namespace: ChainNamespace.solana,\n }\n\n }}\n >\n {props.children}\n </WalletConnectorContext.Provider>\n);\n}","import InitSolana from \"./initSolana\";\nimport {Main} from \"./main\";\nimport React, {type PropsWithChildren, useState} from \"react\";\nimport {EvmInitialProps, SolanaInitialProps} from \"./types\";\n\nexport interface WalletConnectorProviderProps {\n\n solanaInitial?: SolanaInitialProps;\n evmInitial?: EvmInitialProps;\n}\n\nexport function WalletConnectorProvider(\n props: PropsWithChildren<WalletConnectorProviderProps>\n) {\n\n return (\n <InitSolana {...(props.solanaInitial ?? {})}>\n\n <Main>\n {props.children}\n </Main>\n\n </InitSolana>\n );\n}"]}
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@orderly.network/wallet-connector",
3
+ "version": "2.0.0-alpha.0",
4
+ "description": "",
5
+ "main": "dist/index.mjs",
6
+ "module": "dist/index.mjs",
7
+ "keywords": [],
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "license": "ISC",
12
+ "dependencies": {
13
+ "@binance/w3w-blocknative-connector": "^1.1.7",
14
+ "@types/lodash": "^4.17.7",
15
+ "@web3-onboard/bitget": "^2.1.1",
16
+ "@web3-onboard/core": "^2.21.5",
17
+ "@web3-onboard/injected-wallets": "^2.10.15",
18
+ "@web3-onboard/react": "2.8.16",
19
+ "lodash": "^4.17.21",
20
+ "@coral-xyz/anchor": "0.29.0",
21
+ "@layerzerolabs/lz-solana-sdk-v2": "2.3.45-oft-rc.0",
22
+ "@layerzerolabs/lz-v2-utilities": "2.3.45-oft-rc.0",
23
+ "@solana/spl-token": "0.4.8",
24
+ "@solana/wallet-adapter-base": "0.9.23",
25
+ "@solana/wallet-adapter-glow": "0.1.18",
26
+ "@solana/wallet-adapter-react": "0.15.35",
27
+ "@solana/wallet-adapter-react-ui": "0.9.35",
28
+ "@solana/wallet-adapter-wallets": "0.19.32",
29
+ "@solana/web3.js": "1.95.3",
30
+ "@orderly.network/types": "2.0.0-alpha.0",
31
+ "@orderly.network/hooks": "2.0.0-alpha.0",
32
+ "@orderly.network/core": "2.0.0-alpha.0"
33
+ },
34
+ "devDependencies": {
35
+ "@types/react": "^18.2.38",
36
+ "react": "^18.2.0",
37
+ "tsup": "^7.1.0",
38
+ "tsconfig": "0.3.12"
39
+ },
40
+ "peerDependencies": {
41
+ "react": "^18.2.0"
42
+ },
43
+ "publishConfig": {
44
+ "access": "public"
45
+ },
46
+ "scripts": {
47
+ "dev": "tsup --watch --tsconfig tsconfig.build.json",
48
+ "build": "tsup --tsconfig tsconfig.build.json",
49
+ "test": "echo \"Error: no test specified\" && exit 1"
50
+ }
51
+ }