Stateless adapter enabling one-transaction ERC-4626 vault deposits via Uniswap Permit2. Eliminates the separate approve transaction. Supports single and batch deposits across multiple vaults.
Category: contracts
Files: 8
Chains: Ethereum, Arbitrum, Base, Optimism
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; /// @title Permit2 Vault Adapter /// @notice One-tx deposit flows using Permit2 for non-EIP-2612 tokens. contract Permit2VaultAdapter { address public immutable owner; uint256 public constant VERSION = 1; event Initialized(address indexed deployer); constructor() { owner = msg.sender; emit Initialized(msg.sender); } // ... full implementation in purchased package }