Inherits: ERC4626, Ownable
IUniswapV2Router02 uniswapRouter;
Allocation[] public allocations;
mapping(address => bool) public Allowlist;
constructor(IERC20 asset, address _uniswapRouterAddress) ERC4626(asset);
receive() external payable;
function setAllocations(Allocation[] calldata newAllocations) external onlyOwner;
function addToAllowlist(address token) external onlyOwner;
function deposit(uint256 assets, address receiver) public override returns (uint256 shares);
function purchaseTokens(uint256 amountETH) internal;
https://github.com/leeftk/index-vault
function swapETHForTokens(address token, uint256 amountETH, uint256 amountOutMin) internal;
struct Allocation {
address token;
uint256 percentage;
}