ERC20 public immutable underlyingToken;
mapping(address => uint256) public deposits;
constructor(ERC20 _underlyingToken, string memory name, string memory symbol) ERC20(name, symbol) ERC20Permit(name);
function decimals() public view override returns (uint8);
function wrap(uint256 amount) external;
function unwrap(uint256 amount) external;
event Wrapped(address indexed user, uint256 amount);
event Unwrapped(address indexed user, uint256 amount);