Skip to content

Commit

Permalink
Added walletsToUse to choose displayed wallets in RK
Browse files Browse the repository at this point in the history
  • Loading branch information
hide-on-bush-x committed May 10, 2023
1 parent 55471dc commit ab2b4d7
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 11 deletions.
Expand Up @@ -33,6 +33,7 @@ type ConfiguredRainbowKitProviderValue = Record<string, never>;
interface ConfiguredRainbowKitProviderProps {
children: ReactNode;
chainsToUse?: Array<keyof MasaNetworks>;
walletsToUse?: string[];
}

// const { chains, provider } = configureChains(
Expand Down Expand Up @@ -88,9 +89,23 @@ interface ConfiguredRainbowKitProviderProps {
// celoConnectors().map((cc) => cc.name)
// );

const walletConnectorsList = {
metamask: (chains) => ({
groupName: 'Recommended',
wallets: [injectedWallet({ chains }), metaMaskWallet({ chains })],
}),
valora: (chains) => ({
groupName: 'Celo',
wallets: [Valora({ chains })],
}),
};

export const ConfiguredRainbowKitProvider = ({
children,
chainsToUse,
walletsToUse = [
'metamask'
],
}: ConfiguredRainbowKitProviderProps) => {
const rainbowkitChains = getRainbowkitChains(chainsToUse);
const { chains, provider } = configureChains(rainbowkitChains, [
Expand All @@ -101,16 +116,13 @@ export const ConfiguredRainbowKitProvider = ({
}),
]);

const celoConnectors = connectorsForWallets([
{
groupName: 'Recommended',
wallets: [injectedWallet({ chains }), metaMaskWallet({ chains })],
},
{
groupName: 'Celo',
wallets: [Valora({ chains })],
},
]);
const walletConnectors = walletsToUse?.map((wallet) => {
if (walletConnectorsList[wallet]) {
return walletConnectorsList[wallet](chains);
}
}) ?? [];

const celoConnectors = connectorsForWallets(walletConnectors);
const wagmiClient = createClient({
autoConnect: true,
connectors: celoConnectors,
Expand Down
1 change: 1 addition & 0 deletions src/provider/masa-context-provider.tsx
Expand Up @@ -45,6 +45,7 @@ export interface MasaContextProviderProps extends MasaShape {
arweaveConfig?: ArweaveConfig;
useRainbowKitWalletConnect?: boolean;
chainsToUse?: Array<keyof MasaNetworks>;
walletsToUse?: string[];
}

export const MasaContextProvider = ({
Expand Down
3 changes: 2 additions & 1 deletion src/provider/masa-provider.tsx
Expand Up @@ -17,12 +17,13 @@ require('@rainbow-me/rainbowkit/styles.css');
export const MasaProvider = ({
children,
chainsToUse,
walletsToUse,
...args
}: MasaContextProviderProps): JSX.Element => {
return (
<>
<QueryClientProvider client={queryClient}>
<ConfiguredRainbowKitProvider chainsToUse={chainsToUse}>
<ConfiguredRainbowKitProvider chainsToUse={chainsToUse} walletsToUse={walletsToUse}>
<MasaContextProvider {...args}>
<div id="modal-mount" />
<MasaInterface disableMetamask={args.useRainbowKitWalletConnect} />
Expand Down
2 changes: 2 additions & 0 deletions stories/masa.stories.tsx
Expand Up @@ -202,6 +202,7 @@ const TemplateNoRainbowkit: Story = (props: Args) => {
<>
<MasaProvider
company="Masa"
walletsToUse={['metamask']}
useRainbowKitWalletConnect={false}
forceNetwork={'alfajores'}
>
Expand All @@ -216,6 +217,7 @@ const TemplateWithRainbowKit: Story = (props: Args) => {
<>
<MasaProvider
company="Masa"
walletsToUse={['metamask', 'valora']}
useRainbowKitWalletConnect={true}
forceNetwork={'alfajores'}
>
Expand Down

0 comments on commit ab2b4d7

Please sign in to comment.