ZAP Vault Mission
This short guide explains how you can validate and reward someone for holding a ZAP Vault.
What are ZAP Vaults?
ZAP Vaults unlock exclusive benefits on the ZAP platform, including token distributions, NFT Drops, and early access to features.
ZAP Vault holders are ZAP's early community, and are a great resource for your project to tap into. If you want to give away whitelist amount or token airdrops, here's how you do it.
Setting Up A Vault Mission
Step 1: Head to your ZAP Creator dashboard and click the on-chain mission.
Step 2: Select Type > Validate Smart Contract State

Step 3: Paste the Vault Smart Contract into the Contract Address box.
The Vault Smart Contract is: 0x5C39483e407763b20E28069f3A8e0E13c0CeeBBA

Step 4: Paste the ABI into the ABI field and select accountData from the toggle box. Please copy and paste the ABI from the very bottom of this page.

Step 5: Ignore the Input field and set Output conditions to "Not Applicable" except numberOfVaults. For numberOfVaults, set the desired amount of Vaults that a user needs to complete this mission.

Step 6: Choose the desired amount of Allocation/XP a user will receive for completing this mission and publish your mission!
ABI (Paste into ABI field):
[ { "type": "constructor", "inputs": [ { "name": "erc20paymentToken", "type": "address", "internalType": "contract IERC20" }, { "name": "zapPaymentAddress", "type": "address", "internalType": "address" }, { "name": "zapAccountAddress", "type": "address", "internalType": "address" }, { "name": "partnerPaymentAddress", "type": "address", "internalType": "address" }, { "name": "partnerAccountAddress", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "name": "AccessControlBadConfirmation", "type": "error", "inputs": [ ] }, { "name": "AccessControlUnauthorizedAccount", "type": "error", "inputs": [ { "name": "account", "type": "address", "internalType": "address" }, { "name": "neededRole", "type": "bytes32", "internalType": "bytes32" } ] }, { "name": "OwnableInvalidOwner", "type": "error", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ] }, { "name": "OwnableUnauthorizedAccount", "type": "error", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ] }, { "name": "VaultsAllAllocated", "type": "error", "inputs": [ ] }, { "name": "AccountCreated", "type": "event", "inputs": [ { "name": "accountAddress", "type": "address", "indexed": true, "internalType": "address" }, { "name": "referralCode", "type": "string", "indexed": true, "internalType": "string" } ], "anonymous": false }, { "name": "OwnershipTransferred", "type": "event", "inputs": [ { "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "name": "RoleAdminChanged", "type": "event", "inputs": [ { "name": "role", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "previousAdminRole", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "newAdminRole", "type": "bytes32", "indexed": true, "internalType": "bytes32" } ], "anonymous": false }, { "name": "RoleGranted", "type": "event", "inputs": [ { "name": "role", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "name": "RoleRevoked", "type": "event", "inputs": [ { "name": "role", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "name": "VaultsPurchased", "type": "event", "inputs": [ { "name": "accountAddress", "type": "address", "indexed": true, "internalType": "address" }, { "name": "numberOfVaults", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "referralCode", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "name": "ACCOUNT_ADMIN_ROLE", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "name": "DEFAULT_ADMIN_ROLE", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "name": "MASTER_ADMIN_ROLE", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "name": "accountData", "type": "function", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "accountId", "type": "uint256", "internalType": "uint256" }, { "name": "numberOfVaults", "type": "uint256", "internalType": "uint256" }, { "name": "referrer", "type": "address", "internalType": "address" }, { "name": "referralCode", "type": "string", "internalType": "string" }, { "name": "numberOfReferrals", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "addOneVault", "type": "function", "inputs": [ { "name": "accountAddress", "type": "address", "internalType": "address" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "allAccounts", "type": "function", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "codeToAddress", "type": "function", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "createAccount", "type": "function", "inputs": [ { "name": "accountAddress", "type": "address", "internalType": "address" }, { "name": "referralCode", "type": "string", "internalType": "string" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "getReferralCode", "type": "function", "inputs": [ { "name": "accountAddress", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "name": "getRoleAdmin", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "name": "getRoleMember", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" }, { "name": "index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "getRoleMemberCount", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "grantRole", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" }, { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "hasRole", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" }, { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "name": "isSaleActive", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "name": "nextAccountID", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "owner", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "partnerAddress", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "paymentToken", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "address", "internalType": "contract IERC20" } ], "stateMutability": "view" }, { "name": "pricePerVault", "type": "function", "inputs": [ ], "outputs": [ { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "leftAtThisPrice", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "purchaseMoreVaults", "type": "function", "inputs": [ { "name": "numberOfVaults", "type": "uint256", "internalType": "uint256" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "purchaseVaults", "type": "function", "inputs": [ { "name": "referralCode", "type": "string", "internalType": "string" }, { "name": "numberOfVaults", "type": "uint256", "internalType": "uint256" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "renounceOwnership", "type": "function", "inputs": [ ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "renounceRole", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" }, { "name": "callerConfirmation", "type": "address", "internalType": "address" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "retrieve721", "type": "function", "inputs": [ { "name": "tracker", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "retrieveERC20", "type": "function", "inputs": [ { "name": "tracker", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "retrieveNative", "type": "function", "inputs": [ ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "revokeRole", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" }, { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "setIsSaleActive", "type": "function", "inputs": [ { "name": "state", "type": "bool", "internalType": "bool" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "setNumberOfVaults", "type": "function", "inputs": [ { "name": "accountAddress", "type": "address", "internalType": "address" }, { "name": "value", "type": "uint256", "internalType": "uint256" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "supportsInterface", "type": "function", "inputs": [ { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "name": "transferOwnership", "type": "function", "inputs": [ { "name": "newOwner", "type": "address", "internalType": "address" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "vaultCount", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "zapAddress", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ]
Last updated