// Using WalletConfig with pre-configured client
const config: VanaConfig = {
walletClient: createWalletClient({
account: privateKeyToAccount('0x...'),
chain: moksha,
transport: http()
}),
relayerCallbacks: {
submitPermissionGrant: async (typedData, signature) => {
// Custom relay implementation
return await myRelayer.submit(typedData, signature);
}
}
};
// Using ChainConfig with chain ID and account
const config: VanaConfig = {
chainId: 14800,
account: privateKeyToAccount('0x...'),
relayerCallbacks: {
submitPermissionGrant: async (typedData, signature) => {
// Custom relay implementation
return await myRelayer.submit(typedData, signature);
}
}
};
Main configuration interface for initializing the Vana SDK.
You can configure the SDK using either a pre-configured wallet client (WalletConfig) or by providing chain and account details (ChainConfig). Both approaches support optional storage providers and relayer configuration.