Skip to content

Commit

Permalink
chore: tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
tmm committed Oct 15, 2024
1 parent 10b40cf commit 80c4657
Show file tree
Hide file tree
Showing 3 changed files with 185 additions and 182 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
"publint": "^0.2.11",
"sherif": "^1.0.0",
"simple-git-hooks": "^2.11.1",
"typescript": "5.5.2",
"typescript": "5.5.4",
"viem": "2.17.0",
"vitest": "^2.1.1"
},
Expand Down
65 changes: 34 additions & 31 deletions packages/connectors/src/metaMask.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,27 +35,37 @@ import {

export type MetaMaskParameters = UnionCompute<
WagmiMetaMaskSDKOptions &
OneOf<
| {
// Shortcut to connect and sign a message
connectAndSign?: string | undefined
}
| {
// TODO: Strongly type `method` and `params`
// Allow connectWith any rpc method
connectWith?: { method: string; params: unknown[] } | undefined
}
>
OneOf<
| {
/* Shortcut to connect and sign a message */
connectAndSign?: string | undefined
}
| {
// TODO: Strongly type `method` and `params`
/* Allow `connectWith` any rpc method */
connectWith?: { method: string; params: unknown[] } | undefined
}
>
>

type WagmiMetaMaskSDKOptions = Compute<
ExactPartial<Omit<MetaMaskSDKOptions, '_source' | 'readonlyRPCMap'>> & {
ExactPartial<
Omit<
MetaMaskSDKOptions,
| '_source'
| 'forceDeleteProvider'
| 'forceInjectProvider'
| 'injectProvider'
| 'useDeeplink'
| 'readonlyRPCMap'
>
> & {
/** @deprecated */
forceDeleteProvider?: MetaMaskSDKOptions['useDeeplink']
forceDeleteProvider?: MetaMaskSDKOptions['forceDeleteProvider']
/** @deprecated */
forceInjectProvider?: MetaMaskSDKOptions['useDeeplink']
forceInjectProvider?: MetaMaskSDKOptions['forceInjectProvider']
/** @deprecated */
injectProvider?: MetaMaskSDKOptions['useDeeplink']
injectProvider?: MetaMaskSDKOptions['injectProvider']
/** @deprecated */
useDeeplink?: MetaMaskSDKOptions['useDeeplink']
}
Expand Down Expand Up @@ -222,21 +232,16 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
// See: https://github.com/vitejs/vite/issues/9703
const MetaMaskSDK = await (async () => {
const { default: SDK } = await import('@metamask/sdk')
// @ts-ignore
if (typeof SDK !== 'function' && typeof SDK.default === 'function')
// @ts-ignore
return SDK.default
// @ts-ignore
return SDK as unknown as typeof SDK.default
})()

const defaultUrl =
typeof window !== 'undefined'
? `${window.location.protocol}//${window.location.host}`
: ''

sdk = new MetaMaskSDK({
_source: 'wagmi',
forceDeleteProvider: false,
forceInjectProvider: false,
injectProvider: false,
// Workaround cast since MetaMask SDK does not support `'exactOptionalPropertyTypes'`
...(parameters as RemoveUndefined<typeof parameters>),
readonlyRPCMap: Object.fromEntries(
Expand All @@ -248,14 +253,12 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
return [chain.id, url]
}),
),
dappMetadata: parameters.dappMetadata ?? {
url: defaultUrl,
name: defaultUrl !== '' ? undefined : 'wagmi',
},
useDeeplink: true,
injectProvider: false,
forceInjectProvider: false,
forceDeleteProvider: false,
dappMetadata:
parameters.dappMetadata ??
(typeof window !== 'undefined'
? { url: window.location.origin }
: { name: 'wagmi' }),
useDeeplink: parameters.useDeeplink ?? true,
})
await sdk.init()
return sdk.getProvider()!
Expand Down
Loading

0 comments on commit 80c4657

Please sign in to comment.