@enjin-io/snap
Version:
MetaMask snap for interacting with Enjin dApps
21 lines (17 loc) • 696 B
text/typescript
import deepmerge from 'deepmerge';
import type { SnapConfig } from '@enjin-io/metamask-enjin-types';
import { getDefaultConfiguration } from '../configuration';
import { getMetamaskState } from './getMetamaskState';
export async function configure(networkName: string, overrides: unknown): Promise<SnapConfig> {
const defaultConfig = getDefaultConfiguration(networkName);
const configuration = deepmerge(defaultConfig, overrides) as SnapConfig;
const state = await getMetamaskState();
await snap.request({
method: 'snap_manageState',
params: {
newState: { ...state, config: JSON.stringify(configuration) },
operation: 'update'
}
});
return configuration;
}