[{"inputs":[{"internalType":"contract IWorldIDGroups","name":"_worldIdRouter","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InvalidAirdrop","type":"error"},{"inputs":[],"name":"InvalidNullifier","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"airdropId","type":"uint256"},{"indexed":false,"internalType":"address","name":"receiver","type":"address"}],"name":"AirdropClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"airdropId","type":"uint256"},{"components":[{"internalType":"uint256","name":"groupId","type":"uint256"},{"internalType":"contract ERC20","name":"token","type":"address"},{"internalType":"address","name":"manager","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"indexed":false,"internalType":"struct WorldIDMultiAirdrop.Airdrop","name":"airdrop","type":"tuple"}],"name":"AirdropCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"airdropId","type":"uint256"},{"components":[{"internalType":"uint256","name":"groupId","type":"uint256"},{"internalType":"contract ERC20","name":"token","type":"address"},{"internalType":"address","name":"manager","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"indexed":false,"internalType":"struct WorldIDMultiAirdrop.Airdrop","name":"airdrop","type":"tuple"}],"name":"AirdropUpdated","type":"event"},{"inputs":[{"internalType":"uint256","name":"airdropId","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"root","type":"uint256"},{"internalType":"uint256","name":"nullifierHash","type":"uint256"},{"internalType":"uint256[8]","name":"proof","type":"uint256[8]"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"groupId","type":"uint256"},{"internalType":"contract ERC20","name":"token","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"createAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getAirdrop","outputs":[{"internalType":"uint256","name":"groupId","type":"uint256"},{"internalType":"contract ERC20","name":"token","type":"address"},{"internalType":"address","name":"manager","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"airdropId","type":"uint256"},{"components":[{"internalType":"uint256","name":"groupId","type":"uint256"},{"internalType":"contract ERC20","name":"token","type":"address"},{"internalType":"address","name":"manager","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct WorldIDMultiAirdrop.Airdrop","name":"airdrop","type":"tuple"}],"name":"updateDetails","outputs":[],"stateMutability":"nonpayable","type":"function"}]