UNPKG

@safe-global/safe-react-hooks

Version:

A collection of React Hooks that facilitates the interaction of React apps with Safe Smart Accounts

37 lines 1.59 kB
import { createSafeClient, safeOperations } from '@safe-global/sdk-starter-kit'; const extendWithSafeOperations = async (client, operationOptions) => { const { bundlerUrl, ...paymasterOptions } = operationOptions; return await client.extend(safeOperations({ bundlerUrl }, paymasterOptions)); }; const getPublicClientConfig = ({ provider, safeAddress, txServiceUrl, safeOptions }) => ({ signer: undefined, provider, txServiceUrl, ...(safeAddress ? { safeAddress } : { safeOptions }) }); /** * Creates a SafeClient instance with public method capabilities. * @param config Config object for the Safe client * @returns Safe client instance with public method capabilities */ export const createPublicClient = async (config) => { const publicClient = await createSafeClient(getPublicClientConfig(config)); return config.safeOperationOptions ? await extendWithSafeOperations(publicClient, config.safeOperationOptions) : publicClient; }; /** * Creates a SafeClient instance with signer capabilities. * @param config Config object for the Safe client with mandatory `signer` property * @returns Safe client instance with signer capabilities */ export const createSignerClient = async ({ signer, ...config }) => { const signerClient = await createSafeClient({ ...getPublicClientConfig({ ...config, signer: undefined }), signer }); return config.safeOperationOptions ? await extendWithSafeOperations(signerClient, config.safeOperationOptions) : signerClient; }; //# sourceMappingURL=createClient.js.map