Skip to content

Commit b489194

Browse files
committed
feat: add solana integrations
1 parent 1806c54 commit b489194

File tree

11 files changed

+3086
-200
lines changed

11 files changed

+3086
-200
lines changed

wondrous-bot-admin/package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@
2323
"@mui/styled-engine-sc": "^5.11.11",
2424
"@react-oauth/google": "^0.12.1",
2525
"@reactour/tour": "^3.4.0",
26+
"@solana/wallet-adapter-base": "^0.9.23",
27+
"@solana/wallet-adapter-react": "^0.15.35",
28+
"@solana/wallet-adapter-react-ui": "^0.9.35",
29+
"@solana/wallet-adapter-wallets": "^0.19.32",
30+
"@solana/web3.js": "^1.95.3",
2631
"@vercel/node": "^2.14.2",
2732
"@web3-react/coinbase-wallet": "^8.2.0",
2833
"@web3-react/core": "6.1.9",

wondrous-bot-admin/src/App.tsx

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ import CmtyUserActivityPage from "pages/activity";
6262
import { GoogleOAuthProvider } from "@react-oauth/google";
6363
import PlanSelectComponent from "components/Onboarding/PlanSelect";
6464
import OnboardingFinalizeComponent from "components/Onboarding/FinalizeComponent";
65+
import { Providers as SolanaProvider } from "services/web3/SolanaProvider";
6566

6667
const projectId = import.meta.env.VITE_WALLET_CONNECT_PROJECT_ID;
6768

@@ -327,13 +328,15 @@ function App() {
327328
<ThemeProvider theme={theme}>
328329
<ApolloProvider client={client}>
329330
<SnackbarAlertProvider>
330-
<WonderWeb3Provider>
331-
<PaywallContextProvider>
332-
<GoogleOAuthProvider clientId={GOOGLE_CLIENT_ID}>
333-
<RouterProvider router={router} />
334-
</GoogleOAuthProvider>
335-
</PaywallContextProvider>
336-
</WonderWeb3Provider>
331+
<SolanaProvider>
332+
<WonderWeb3Provider>
333+
<PaywallContextProvider>
334+
<GoogleOAuthProvider clientId={GOOGLE_CLIENT_ID}>
335+
<RouterProvider router={router} />
336+
</GoogleOAuthProvider>
337+
</PaywallContextProvider>
338+
</WonderWeb3Provider>
339+
</SolanaProvider>
337340
<RewardfulTag />
338341
</SnackbarAlertProvider>
339342
</ApolloProvider>

wondrous-bot-admin/src/components/Auth/index.tsx

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import apollo from "services/apollo";
55
import { GET_LOGGED_IN_USER, GET_LOGGED_IN_WAITLIST_USER, GET_USER_SIGNING_MESSAGE, WHOAMI } from "graphql/queries";
66
import {
77
CONNECT_COMMUNITY_USER_WALLET,
8+
CONNECT_SOLANA_COMMUNITY_USER_WALLET,
89
CONNECT_USER_WALLET,
910
CREATE_USER,
1011
CREATE_WALLET_USER,
@@ -19,7 +20,7 @@ const MyContext = React.createContext(null);
1920

2021
export const useMe = () => useContext(MyContext);
2122

22-
export const emailSignup = async (email: string, password: string, inviteToken:string = null) => {
23+
export const emailSignup = async (email: string, password: string, inviteToken: string = null) => {
2324
try {
2425
const {
2526
data: {
@@ -30,7 +31,7 @@ export const emailSignup = async (email: string, password: string, inviteToken:s
3031
variables: {
3132
email,
3233
password,
33-
inviteToken
34+
inviteToken,
3435
},
3536
});
3637

@@ -194,6 +195,40 @@ export const linkWallet = async (web3Address: string, signedMessage: string, blo
194195
}
195196
};
196197

198+
export const linkSolanaCmtyUserWallet = async (
199+
discordUserId: string,
200+
web3Address: string,
201+
signedMessage: string,
202+
blockchain: string,
203+
originalMessage: string,
204+
verificationCode: string
205+
) => {
206+
try {
207+
const {
208+
data: { connectSolanaCmtyUserWallet: user },
209+
} = await apollo.mutate({
210+
mutation: CONNECT_SOLANA_COMMUNITY_USER_WALLET,
211+
variables: {
212+
input: {
213+
discordUserId,
214+
web3Address,
215+
signedMessage,
216+
blockchain,
217+
messageToSign: originalMessage,
218+
verificationCode,
219+
},
220+
},
221+
});
222+
return true;
223+
} catch (err) {
224+
console.log("Error linking Solana wallet: ", err?.graphQLErrors);
225+
if (err?.graphQLErrors && err?.graphQLErrors[0]?.extensions.code) {
226+
return err?.graphQLErrors[0]?.extensions.errorCode || err?.graphQLErrors[0]?.extensions.message;
227+
}
228+
return false;
229+
}
230+
};
231+
197232
export const linkCmtyUserWallet = async (
198233
discordUserId: string,
199234
web3Address: string,

0 commit comments

Comments
 (0)