import { defaultHookData as e } from "../../types/circom-data.types.mjs";
import { defaultSignatureData as t, zeroAddress as n } from "../../constants/protocol.constants.mjs";
import { defaultHinkalLogicArgs as r } from "../../types/hinkal.types.mjs";
import { getExternalActionIdHash as i } from "../utils/external-action.utils.mjs";
import { getOriginalSender as a } from "./getOriginalSender.mjs";
//#region libs/shared/common/src/functions/snarkjs/generateCircomData.ts
var o = (o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x, S, C, w, T = t, E) => ({
	rootHashHinkal: c,
	erc20TokenAddresses: u,
	tokenIds: u.map(() => "0"),
	amountChanges: l,
	inputNullifiers: s,
	outCommitments: o,
	encryptedOutputs: f,
	timeStamp: d.length > 0 ? d[0][0].timeStamp : String(S ?? ""),
	stealthAddressStructure: y,
	rootHashAccessToken: 0n,
	relay: _,
	externalAddress: h === void 0 ? n : h,
	externalActionMetadata: g,
	externalActionId: typeof m == "bigint" ? 0n : i(m),
	hookData: x || e,
	publicSignalCount: p,
	calldataHash: v,
	onChainCreation: b,
	slippageValues: C,
	hinkalLogicArgs: r(u.length),
	feeStructure: { ...w },
	signatureData: T,
	originalSender: E ?? a(h ?? n, _)
});
//#endregion
export { o as generateCircomData };
