import { PolicyKit } from "@policykit/sdk";
import { createPublicClient, createWalletClient, http } from "viem";
import { baseSepolia } from "viem/chains";
const publicClient = createPublicClient({
chain: baseSepolia,
transport: http(),
});
const walletClient = createWalletClient({
chain: baseSepolia,
transport: http(),
account: "0xYOUR_ACCOUNT",
});
const pk = new PolicyKit({
publicClient,
walletClient,
engineAddress: "0xPOLICY_ENGINE_ADDRESS",
ipfsBackends: [
{
type: "pinata",
jwt: process.env.PINATA_JWT,
},
],
litConfig: {
network: "naga",
litActionCID: "Qm...", // Deployed Lit Action CID
},
});
// Deploy: pins to IPFS + registers on-chain
const result = await pk.deployPolicy(policy);
console.log("Policy CID:", result.cid);
console.log("Tx hash:", result.txHash);