SnarkJS verify smart contract for rollups

I got stuck in snarkjs.groth16.verify() function in smart contract in typescript.
we wanna make verify function on NEAR smart contract for ZK snarks (growth16).

import { NearBindgen, view } from "near-sdk-js"; // , call,initialize
import {groth16} from 'snarkjs';

@NearBindgen({})
class ZKRollup {
	@view({})
	verifyProof(proof: string, publicInputs: string[]): boolean {
		// Parse the proof and public inputs from strings
		const parsedProof = JSON.parse(proof);
		const parsedPublicInputs = publicInputs.map((input) => BigInt(input));

		// Verify the proof using snarkjs
		const result = groth16.verify(
			parsedProof.vk,
			parsedPublicInputs,
			parsedProof.pi
		);

		// Return the result
		return result;
	}
}