import { chainIds as e } from "./chains.constants.mjs";
//#region libs/shared/common/src/constants/presale.constants.ts
var t = {
	[e.ethMainnet]: {
		address: "0xd5A7C59B14F0b8B4d0e88710961B6A2F07853Aec",
		eventsFrom: 22201740
	},
	[e.base]: {
		address: "0xeFc472C84349C2bF441BdC8E44D43C3663F320E5",
		eventsFrom: 28527440
	},
	[e.bnbMainnet]: {
		address: "0xF1df0A5Fa8b98B45Ca1F3Ea895b3133964fcb680",
		eventsFrom: 48087489
	}
}, n = [
	{
		inputs: [
			{
				components: [{
					internalType: "uint256",
					name: "amountToRaise",
					type: "uint256"
				}, {
					internalType: "uint256",
					name: "priceMultiplier",
					type: "uint256"
				}],
				internalType: "struct PresaleStage[]",
				name: "_stages",
				type: "tuple[]"
			},
			{
				internalType: "address[]",
				name: "_tokens",
				type: "address[]"
			},
			{
				internalType: "address",
				name: "_admin",
				type: "address"
			},
			{
				internalType: "address",
				name: "_owner",
				type: "address"
			}
		],
		stateMutability: "nonpayable",
		type: "constructor"
	},
	{
		inputs: [],
		name: "AmountExceedsRoundRequirement",
		type: "error"
	},
	{
		inputs: [],
		name: "MinHINKNotSatisfied",
		type: "error"
	},
	{
		inputs: [],
		name: "NotAdmin",
		type: "error"
	},
	{
		inputs: [],
		name: "PresaleFinished",
		type: "error"
	},
	{
		inputs: [],
		name: "RaisedAmountMustIncrease",
		type: "error"
	},
	{
		inputs: [],
		name: "TokenNotInWhitelist",
		type: "error"
	},
	{
		anonymous: !1,
		inputs: [
			{
				indexed: !0,
				internalType: "address",
				name: "depositor",
				type: "address"
			},
			{
				indexed: !0,
				internalType: "address",
				name: "token",
				type: "address"
			},
			{
				indexed: !1,
				internalType: "uint256",
				name: "amountDeposit",
				type: "uint256"
			},
			{
				indexed: !1,
				internalType: "uint256",
				name: "amountHINK",
				type: "uint256"
			},
			{
				indexed: !1,
				internalType: "uint256",
				name: "totalDeposit",
				type: "uint256"
			},
			{
				indexed: !1,
				internalType: "uint256",
				name: "blockNumber",
				type: "uint256"
			},
			{
				indexed: !1,
				internalType: "uint256",
				name: "timeStamp",
				type: "uint256"
			}
		],
		name: "Deposit",
		type: "event"
	},
	{
		anonymous: !1,
		inputs: [{
			indexed: !0,
			internalType: "address",
			name: "previousOwner",
			type: "address"
		}, {
			indexed: !0,
			internalType: "address",
			name: "newOwner",
			type: "address"
		}],
		name: "OwnershipTransferred",
		type: "event"
	},
	{
		anonymous: !1,
		inputs: [{
			indexed: !0,
			internalType: "uint256",
			name: "newStageIndex",
			type: "uint256"
		}],
		name: "StageAdvanced",
		type: "event"
	},
	{
		anonymous: !1,
		inputs: [
			{
				indexed: !0,
				internalType: "address",
				name: "withdrawer",
				type: "address"
			},
			{
				indexed: !0,
				internalType: "address",
				name: "token",
				type: "address"
			},
			{
				indexed: !1,
				internalType: "uint256",
				name: "amount",
				type: "uint256"
			}
		],
		name: "Withdraw",
		type: "event"
	},
	{
		inputs: [],
		name: "ADMIN",
		outputs: [{
			internalType: "address",
			name: "",
			type: "address"
		}],
		stateMutability: "view",
		type: "function"
	},
	{
		inputs: [],
		name: "DENOMINATOR",
		outputs: [{
			internalType: "uint256",
			name: "",
			type: "uint256"
		}],
		stateMutability: "view",
		type: "function"
	},
	{
		inputs: [{
			internalType: "uint256",
			name: "amount",
			type: "uint256"
		}],
		name: "calculateHINK",
		outputs: [{
			internalType: "uint256",
			name: "amountHINK",
			type: "uint256"
		}],
		stateMutability: "view",
		type: "function"
	},
	{
		inputs: [],
		name: "currentMaxDepositAmount",
		outputs: [{
			internalType: "uint256",
			name: "",
			type: "uint256"
		}],
		stateMutability: "view",
		type: "function"
	},
	{
		inputs: [],
		name: "currentPresaleStage",
		outputs: [{
			components: [{
				internalType: "uint256",
				name: "amountToRaise",
				type: "uint256"
			}, {
				internalType: "uint256",
				name: "priceMultiplier",
				type: "uint256"
			}],
			internalType: "struct PresaleStage",
			name: "",
			type: "tuple"
		}],
		stateMutability: "view",
		type: "function"
	},
	{
		inputs: [],
		name: "currentPresaleStageIndex",
		outputs: [{
			internalType: "uint8",
			name: "",
			type: "uint8"
		}],
		stateMutability: "view",
		type: "function"
	},
	{
		inputs: [
			{
				internalType: "address",
				name: "token",
				type: "address"
			},
			{
				internalType: "uint256",
				name: "amount",
				type: "uint256"
			},
			{
				internalType: "uint256",
				name: "minHINK",
				type: "uint256"
			}
		],
		name: "deposit",
		outputs: [],
		stateMutability: "nonpayable",
		type: "function"
	},
	{
		inputs: [{
			internalType: "address",
			name: "",
			type: "address"
		}, {
			internalType: "address",
			name: "",
			type: "address"
		}],
		name: "deposits",
		outputs: [{
			internalType: "uint256",
			name: "",
			type: "uint256"
		}],
		stateMutability: "view",
		type: "function"
	},
	{
		inputs: [],
		name: "moveToNextStage",
		outputs: [],
		stateMutability: "nonpayable",
		type: "function"
	},
	{
		inputs: [
			{
				internalType: "address",
				name: "",
				type: "address"
			},
			{
				internalType: "address",
				name: "",
				type: "address"
			},
			{
				internalType: "uint256",
				name: "",
				type: "uint256"
			},
			{
				internalType: "bytes",
				name: "",
				type: "bytes"
			}
		],
		name: "onERC721Received",
		outputs: [{
			internalType: "bytes4",
			name: "",
			type: "bytes4"
		}],
		stateMutability: "pure",
		type: "function"
	},
	{
		inputs: [],
		name: "owner",
		outputs: [{
			internalType: "address",
			name: "",
			type: "address"
		}],
		stateMutability: "view",
		type: "function"
	},
	{
		inputs: [],
		name: "renounceOwnership",
		outputs: [],
		stateMutability: "nonpayable",
		type: "function"
	},
	{
		inputs: [{
			internalType: "uint256",
			name: "",
			type: "uint256"
		}],
		name: "stages",
		outputs: [{
			internalType: "uint256",
			name: "amountToRaise",
			type: "uint256"
		}, {
			internalType: "uint256",
			name: "priceMultiplier",
			type: "uint256"
		}],
		stateMutability: "view",
		type: "function"
	},
	{
		inputs: [{
			internalType: "uint256",
			name: "",
			type: "uint256"
		}],
		name: "tokens",
		outputs: [{
			internalType: "address",
			name: "",
			type: "address"
		}],
		stateMutability: "view",
		type: "function"
	},
	{
		inputs: [],
		name: "totalDeposit",
		outputs: [{
			internalType: "uint256",
			name: "",
			type: "uint256"
		}],
		stateMutability: "view",
		type: "function"
	},
	{
		inputs: [{
			internalType: "address",
			name: "",
			type: "address"
		}],
		name: "totalHINK",
		outputs: [{
			internalType: "uint256",
			name: "",
			type: "uint256"
		}],
		stateMutability: "view",
		type: "function"
	},
	{
		inputs: [{
			internalType: "address",
			name: "newOwner",
			type: "address"
		}],
		name: "transferOwnership",
		outputs: [],
		stateMutability: "nonpayable",
		type: "function"
	},
	{
		inputs: [{
			internalType: "address",
			name: "token",
			type: "address"
		}, {
			internalType: "uint256",
			name: "amount",
			type: "uint256"
		}],
		name: "withdraw",
		outputs: [],
		stateMutability: "nonpayable",
		type: "function"
	}
];
//#endregion
export { n as presaleABI, t as presaleContractInfoByChain };
