function notSupported(name) {
  console.log('notSupported', name);
  return () => {
    throw new Error(
      `[hinkal-rn] snarkjs.${name} is not available on the React Native JS thread. ` +
        'All proof generation must go through the SnarkJS WebView bridge.',
    );
  };
}

module.exports = {
  groth16: {
    fullProve: notSupported('groth16.fullProve'),
    prove: notSupported('groth16.prove'),
    verify: notSupported('groth16.verify'),
    exportSolidityCallData: notSupported('groth16.exportSolidityCallData'),
  },
  zKey: {
    exportVerificationKey: notSupported('zKey.exportVerificationKey'),
  },
};
module.exports.default = module.exports;
