npm i @dynamic-labs/sdk-react-core @dynamic-labs/wagmi-connector @dynamic-labs/ethereum permissionless viem wagmi
import {
DynamicContextProvider,
DynamicWidget,
} from "@dynamic-labs/sdk-react-core";
import { DynamicWagmiConnector } from "@dynamic-labs/wagmi-connector";
import { EthereumWalletConnectors } from "@dynamic-labs/ethereum";
export const App = () => {
return (
<DynamicContextProvider
settings={{
// Find your environment id at https://app.dynamic.xyz/dashboard/developer
environmentId: "REPLACE-WITH-YOUR-ENVIRONMENT-ID",
walletConnectors: [EthereumWalletConnectors],
}}
>
<DynamicWagmiConnector>
<DynamicWidget />
</DynamicWagmiConnector>
</DynamicContextProvider>
);
};
import {
createSmartAccountClient,
walletClientToCustomSigner,
} from "permissionless";
import { signerToSimpleSmartAccount } from "permissionless/accounts";
import { useWalletClient } from "wagmi";
const { data: walletClient } = useWalletClient();
const customSigner = walletClientToCustomSigner(walletClient);
const simpleSmartAccountClient = await signerToSimpleSmartAccount(
publicClient,
{
entryPoint: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
signer: customSigner,
factoryAddress: "0x9406Cc6185a346906296840746125a0E44976454",
}
);
const smartAccountClient = createSmartAccountClient({
account: simpleSmartAccountClient,
chain: sepolia, // or whatever chain you are using
transport: http("<bundler_endpoint>"),
sponsorUserOperation: pimlicoPaymaster.sponsorUserOperation, // if using a paymaster
});
const txHash = await smartAccountClient.sendTransaction({
to: zeroAddress,
data: "0x",
value: BigInt(0),
});
Was this page helpful?