[
	{
		"inputs": [
			{
				"components": [
					{
						"components": [
							{
								"internalType": "contract IERC20",
								"name": "token",
								"type": "address"
							},
							{
								"internalType": "uint256",
								"name": "amount",
								"type": "uint256"
							},
							{
								"components": [
									{
										"internalType": "bytes32",
										"name": "routerKey",
										"type": "bytes32"
									},
									{
										"internalType": "bytes",
										"name": "swapData",
										"type": "bytes"
									}
								],
								"internalType": "struct ISwapper.AggregatorData",
								"name": "aggregatorData",
								"type": "tuple"
							}
						],
						"internalType": "struct ISwapper.SrcTokenSwapDetails[]",
						"name": "srcData",
						"type": "tuple[]"
					},
					{
						"components": [
							{
								"internalType": "contract IERC20",
								"name": "destToken",
								"type": "address"
							},
							{
								"internalType": "uint256",
								"name": "minDestAmount",
								"type": "uint256"
							}
						],
						"internalType": "struct ISwapper.DestData",
						"name": "destData",
						"type": "tuple"
					}
				],
				"internalType": "struct IWithdrawalVault.MultiInSingleOutData",
				"name": "_swapData",
				"type": "tuple"
			},
			{
				"internalType": "uint256",
				"name": "_expectedDestTokenAmount",
				"type": "uint256"
			}
		],
		"name": "completeWithdrawal",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "address",
				"name": "_dHedgeVault",
				"type": "address"
			},
			{
				"internalType": "address",
				"name": "_vaultDepositToken",
				"type": "address"
			},
			{
				"internalType": "uint256",
				"name": "_depositAmount",
				"type": "uint256"
			}
		],
		"name": "depositQuote",
		"outputs": [
			{
				"internalType": "uint256",
				"name": "expectedAmountReceived",
				"type": "uint256"
			}
		],
		"stateMutability": "view",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "address",
				"name": "_dHedgeVault",
				"type": "address"
			},
			{
				"internalType": "contract IERC20",
				"name": "_vaultDepositToken",
				"type": "address"
			},
			{
				"internalType": "uint256",
				"name": "_depositAmount",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "_expectedAmountReceived",
				"type": "uint256"
			}
		],
		"name": "depositWithCustomCooldown",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "address",
				"name": "_depositor",
				"type": "address"
			}
		],
		"name": "getTrackedAssets",
		"outputs": [
			{
				"components": [
					{
						"internalType": "address",
						"name": "token",
						"type": "address"
					},
					{
						"internalType": "uint256",
						"name": "balance",
						"type": "uint256"
					}
				],
				"internalType": "struct IWithdrawalVault.TrackedAsset[]",
				"name": "trackedAssets_",
				"type": "tuple[]"
			}
		],
		"stateMutability": "view",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "address",
				"name": "_dHedgeVault",
				"type": "address"
			},
			{
				"internalType": "uint256",
				"name": "_amountIn",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "_slippageTolerance",
				"type": "uint256"
			}
		],
		"name": "initWithdrawal",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	}
]