[
	{
		"inputs": [],
		"name": "instance",
		"outputs": [
			{
				"internalType": "contract IStarkExV2",
				"name": "",
				"type": "address"
			}
		],
		"stateMutability": "view",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "address",
				"name": "_deployedStarkExProxy",
				"type": "address"
			}
		],
		"name": "initialize",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "uint256",
				"name": "starkKey",
				"type": "uint256"
			},
			{
				"internalType": "bytes",
				"name": "signature",
				"type": "bytes"
			},
			{
				"internalType": "uint256",
				"name": "assetType",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "vaultId",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "quantizedAmount",
				"type": "uint256"
			},
			{
				"internalType": "address",
				"name": "tokenAddress",
				"type": "address"
			},
			{
				"internalType": "uint256",
				"name": "quantum",
				"type": "uint256"
			}
		],
		"name": "registerAndDeposit",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "uint256",
				"name": "starkKey",
				"type": "uint256"
			},
			{
				"internalType": "bytes",
				"name": "signature",
				"type": "bytes"
			},
			{
				"internalType": "uint256",
				"name": "assetType",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "vaultId",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "quantizedAmount",
				"type": "uint256"
			},
			{
				"internalType": "address",
				"name": "tokenAddress",
				"type": "address"
			},
			{
				"internalType": "uint256",
				"name": "quantum",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "permitValue",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "deadline",
				"type": "uint256"
			},
			{
				"internalType": "uint8",
				"name": "v",
				"type": "uint8"
			},
			{
				"internalType": "bytes32",
				"name": "r",
				"type": "bytes32"
			},
			{
				"internalType": "bytes32",
				"name": "s",
				"type": "bytes32"
			}
		],
		"name": "registerAndDepositWithPermit",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "uint256",
				"name": "starkKey",
				"type": "uint256"
			},
			{
				"internalType": "bytes",
				"name": "signature",
				"type": "bytes"
			},
			{
				"internalType": "uint256",
				"name": "assetType",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "vaultId",
				"type": "uint256"
			}
		],
		"name": "registerAndDepositEth",
		"outputs": [],
		"stateMutability": "payable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "uint256",
				"name": "starkKey",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "assetType",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "vaultId",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "quantizedAmount",
				"type": "uint256"
			},
			{
				"internalType": "address",
				"name": "tokenAddress",
				"type": "address"
			},
			{
				"internalType": "uint256",
				"name": "quantum",
				"type": "uint256"
			}
		],
		"name": "deposit",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "uint256",
				"name": "starkKey",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "assetType",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "vaultId",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "quantizedAmount",
				"type": "uint256"
			},
			{
				"internalType": "address",
				"name": "tokenAddress",
				"type": "address"
			},
			{
				"internalType": "uint256",
				"name": "quantum",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "permitValue",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "deadline",
				"type": "uint256"
			},
			{
				"internalType": "uint8",
				"name": "v",
				"type": "uint8"
			},
			{
				"internalType": "bytes32",
				"name": "r",
				"type": "bytes32"
			},
			{
				"internalType": "bytes32",
				"name": "s",
				"type": "bytes32"
			}
		],
		"name": "depositWithPermit",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "uint256",
				"name": "starkKey",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "assetType",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "vaultId",
				"type": "uint256"
			}
		],
		"name": "depositEth",
		"outputs": [],
		"stateMutability": "payable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "address",
				"name": "_token",
				"type": "address"
			}
		],
		"name": "approveTokenToDeployedProxy",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "uint256[]",
				"name": "_tokenIds",
				"type": "uint256[]"
			},
			{
				"internalType": "uint256",
				"name": "_whoKey",
				"type": "uint256"
			}
		],
		"name": "allWithdrawalBalances",
		"outputs": [
			{
				"internalType": "uint256[]",
				"name": "balances",
				"type": "uint256[]"
			}
		],
		"stateMutability": "view",
		"type": "function"
	}
]
