{
  "pageTitle": "Account Abstraction UserOperation Simulator",
  "pageDesc": "Build and inspect an educational ERC-4337 UserOperation draft, including paymaster and EIP-7702 delegation paths.",
  "backHome": "Back home",
  "eyebrow": "Account Abstraction Lab",
  "heading": "UserOperation Simulator",
  "subheading": "Build a safe, local-only account abstraction draft. Compare a smart account flow with an EIP-7702 delegated EOA flow before touching a real bundler.",
  "demoOnlyLabel": "Simulator only, no wallet or network call",
  "builderTitle": "Build the operation",
  "reset": "Reset",
  "modeTitle": "Account model",
  "modeSmartTitle": "ERC-4337 smart account",
  "modeSmartDesc": "A contract account validates the UserOperation through EntryPoint and may be deployed by a factory.",
  "mode7702Title": "EIP-7702 delegated EOA",
  "mode7702Desc": "An existing EOA signs an authorization tuple so calls can execute through delegated account logic.",
  "actionTitle": "User intent",
  "actionBatchTitle": "Batch action",
  "actionBatchDesc": "Transfer and approve in one account-controlled execution path.",
  "actionTransferTitle": "Transfer",
  "actionTransferDesc": "A single native-token transfer represented as pseudo calldata.",
  "actionSessionTitle": "Session key",
  "actionSessionDesc": "Install a temporary permission with a visible time scope.",
  "senderLabel": "Sender smart account",
  "targetLabel": "Target contract or recipient",
  "factoryLabel": "Factory contract",
  "delegateLabel": "EIP-7702 delegate contract",
  "paymasterLabel": "Paymaster contract",
  "deployOptionTitle": "Deploy account on first use",
  "deployOptionDesc": "Adds factory data for a new smart account. EIP-7702 uses authorization instead of factory deployment.",
  "paymasterOptionTitle": "Use a paymaster",
  "paymasterOptionDesc": "Adds sponsorship fields and policy warnings. This lab does not request real sponsorship.",
  "gasTitle": "Gas budget",
  "callGasLabel": "Call gas limit",
  "verificationGasLabel": "Verification gas limit",
  "preVerificationGasLabel": "Pre-verification gas",
  "maxFeeLabel": "Max fee per gas (gwei)",
  "priorityFeeLabel": "Priority fee (gwei)",
  "sessionMinutesLabel": "Session key minutes",
  "resultTitle": "Simulation result",
  "resultDesc": "This is a readable draft for learning. A real UserOperation needs exact ABI calldata, account-specific signature rules, bundler simulation, and chain state.",
  "draftUsable": "Draft passes local checks",
  "draftNeedsFix": "Draft needs fixes",
  "senderSummary": "Sender",
  "maxCostSummary": "Max cost estimate",
  "callDataSummary": "Calldata intent",
  "callDataBatch": "Batch transfer + approval",
  "callDataTransfer": "Single transfer",
  "callDataSessionKey": "Scoped session key",
  "pipelineTitle": "How this would move",
  "stepIntent": "The app prepares the UserOperation from the user's intent, target, nonce, calldata, and gas budget.",
  "step7702Authorization": "For EIP-7702, the EOA also provides an authorization tuple for the delegate contract.",
  "stepBundlerSimulation": "A bundler simulates validation before accepting the operation into a UserOperation mempool.",
  "stepEntryPointValidation": "EntryPoint checks the account validation path and makes sure the operation can pay.",
  "stepFactoryDeployment": "If the smart account is new, the factory deploys it before execution.",
  "stepPaymasterValidation": "If sponsorship is enabled, the paymaster validates its policy and gas limits.",
  "stepExecution": "EntryPoint calls the account, and the account executes the encoded action.",
  "stepRefund": "Unused gas is refunded and the bundler beneficiary is paid from the account or paymaster deposit.",
  "checksTitle": "Local checks",
  "statusPass": "Pass",
  "statusWarning": "Warning",
  "statusFail": "Fix",
  "checkSender": "Sender must be a 20-byte EVM address.",
  "checkTarget": "Target must be a 20-byte EVM address.",
  "checkGasFees": "Max fee must be greater than or equal to priority fee.",
  "checkGasLimits": "Gas limits should leave room for validation and execution.",
  "checkSignaturePlaceholder": "Signature is a placeholder. Real accounts define their own signature format.",
  "checkFactory": "Factory address is required when deploying a smart account on first use.",
  "checkPaymasterAddress": "Paymaster address is required when sponsorship is enabled.",
  "checkPaymasterPolicy": "Sponsorship is a policy decision. Quotas, abuse controls, stake, and fallback UX matter.",
  "checkDelegate": "EIP-7702 delegate must be a trusted contract address.",
  "check7702Revocation": "Delegated EOA behavior needs a clear revocation and phishing story.",
  "checkSessionScope": "Session keys should be short-lived and limited by contract, function, value, and time.",
  "jsonTitle": "UserOperation draft",
  "jsonDesc": "The fields follow the modern ERC-4337 shape used for teaching. Placeholder signatures and pseudo calldata make it intentionally non-sendable.",
  "boundaryTitle": "Learning boundary",
  "boundaryNoNetwork": "No wallet, private key, signature, raw address, or transaction is sent to a server, bundler, or analytics endpoint.",
  "boundaryPaymaster": "Paymaster sponsorship can improve onboarding, but production systems need budgets, abuse controls, allowlists, and clear failure states.",
  "boundary7702": "EIP-7702 authorization can change how an EOA executes. Treat unknown delegates like high-risk approvals."
}
