@keypo/typescript-sdk
Version:
A TypeScript SDK for using Keypo
29 lines (28 loc) • 1.15 kB
JavaScript
import { encodeFunctionData } from "viem";
import { getKernelClient } from './utils/getKernelClient.js';
import { PermissionsRegistryAbi } from './utils/contracts.js';
import { baseSepolia } from "viem/chains";
export async function deleteData(dataIdentifier, walletClient, authorization, config, debug) {
const { permissionsRegistryContractAddress, bundlerRpcUrl } = config;
const kernelClient = await getKernelClient(walletClient, baseSepolia, bundlerRpcUrl, authorization, debug);
const tx = await kernelClient.sendUserOperation({
callData: await kernelClient.account.encodeCalls([{
to: permissionsRegistryContractAddress,
data: encodeFunctionData({
abi: PermissionsRegistryAbi,
functionName: "deletePermissionedFile",
args: [dataIdentifier]
}),
}]),
});
if (debug) {
console.log("[DEBUG] tx:", tx);
}
const { receipt } = await kernelClient.waitForUserOperationReceipt({
hash: tx,
});
if (debug) {
console.log("[DEBUG] receipt:", receipt);
}
return;
}