import "./chains.constants.mjs";
import { ContractType as e } from "../types/ethereum-network.types.mjs";
import t from "../externalABIs/ERC20.json.mjs";
import n from "../externalABIs/IQuoterV2.json.mjs";
import r from "../externalABIs/IUniswapV3Factory.json.mjs";
import { ERC1155ABI as i, ERC721ABI as a } from "../externalABIs/index.mjs";
import o from "../externalABIs/IUniswapV3Pool.json.mjs";
import s from "../externalABIs/UniswapV2PoolAbi.json.mjs";
import "ethers";
//#region libs/shared/common/src/constants/contracts.constants.ts
var c = { abi: r.abi }, l = { abi: o.abi }, u = { abi: s.abi }, d = { abi: n.abi }, f = {
	[e.HinkalContract]: (e) => ({
		abi: e.hinkalABI,
		address: e.hinkalAddress
	}),
	[e.HinkalHelperContract]: (e) => ({
		abi: e.hinkalHelperABI,
		address: e.hinkalHelperAddress
	}),
	[e.AccessTokenContract]: (e) => ({
		abi: e.accessTokenABI,
		address: e.accessTokenAddress
	}),
	[e.MerkleTreeContract]: () => ({ abi: ["function getRootHash() public view returns (uint256)"] }),
	[e.UniswapV3FactoryContract]: () => ({ abi: c.abi }),
	[e.UniswapV3PoolContract]: () => ({ abi: l.abi }),
	[e.UniswapV2PoolContract]: () => ({ abi: u.abi }),
	[e.UniswapV3QuoterContract]: () => ({ abi: d.abi }),
	[e.ERC20Contract]: () => ({ abi: t.abi }),
	[e.ERC721Contract]: () => ({ abi: a }),
	[e.ERC1155Contract]: () => ({ abi: i }),
	[e.WATokenContract]: (e) => ({ abi: e.waTokenABI }),
	[e.ContractWithNonces]: () => ({ abi: ["function nonces(address owner) external view returns (uint)"] }),
	[e.PermitterContract]: (e) => ({
		abi: e.permitterABI,
		address: e.permitterAddress
	}),
	[e.OneInchExternalActionContract]: (e) => ({ address: e.oneInchExternalActionInstanceAddress }),
	[e.HinkalWrapper]: (e) => ({
		abi: e.hinkalWrapperABI,
		address: e.hinkalWrapperAddress
	}),
	[e.HinkalWrapper2]: (e) => ({
		abi: e.HinkalWrapper2ABI ?? e.hinkalWrapperABI,
		address: e.hinkalWrapper2Address ?? e.hinkalWrapperAddress
	}),
	[e.DepositOnChainUtxos]: (e) => ({
		abi: e.depositOnChainUtxosExternalActionABI,
		address: e.depositOnChainUtxosExternalActionAddress
	})
};
//#endregion
export { f as contractMetadataMapping, u as uniswapV2PoolData, c as uniswapV3FactoryData, l as uniswapV3PoolData, d as uniswapV3QuoterData };
