[
{
"type": "constructor",
"inputs": [
{
"name": "_antToken",
"type": "address",
"internalType": "contract IERC20"
},
{
"name": "_batchLimit",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "CANDIDATES_PER_POOL",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MAX_MERKLE_DEPTH",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "antToken",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IERC20"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "batchLimit",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "completedMerklePayments",
"inputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "depth",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "merklePaymentTimestamp",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "completedPayments",
"inputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "rewardsAddress",
"type": "bytes16",
"internalType": "bytes16"
},
{
"name": "amount",
"type": "uint128",
"internalType": "uint128"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getCompletedMerklePayment",
"inputs": [
{
"name": "winnerHash",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "tuple",
"internalType": "struct CompletedMerklePayment",
"components": [
{
"name": "depth",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "merklePaymentTimestamp",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "paidNodeAddresses",
"type": "tuple[]",
"internalType": "struct PaidNode[]",
"components": [
{
"name": "rewardsAddress",
"type": "address",
"internalType": "address"
},
{
"name": "poolIndex",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
]
}
]
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "payForMerkleTree",
"inputs": [
{
"name": "depth",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "poolCommitments",
"type": "tuple[]",
"internalType": "struct PoolCommitment[]",
"components": [
{
"name": "poolHash",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "candidates",
"type": "tuple[16]",
"internalType": "struct CandidateNode[16]",
"components": [
{
"name": "rewardsAddress",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
]
}
]
},
{
"name": "merklePaymentTimestamp",
"type": "uint64",
"internalType": "uint64"
}
],
"outputs": [
{
"name": "winnerPoolHash",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "totalAmount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "payForQuotes",
"inputs": [
{
"name": "_payments",
"type": "tuple[]",
"internalType": "struct DataPayment[]",
"components": [
{
"name": "rewardsAddress",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "quoteHash",
"type": "bytes32",
"internalType": "bytes32"
}
]
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "verifyPayment",
"inputs": [
{
"name": "_payments",
"type": "tuple[]",
"internalType": "struct DataPayment[]",
"components": [
{
"name": "rewardsAddress",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "quoteHash",
"type": "bytes32",
"internalType": "bytes32"
}
]
}
],
"outputs": [
{
"name": "",
"type": "tuple[]",
"internalType": "struct PaymentVerificationResult[]",
"components": [
{
"name": "quoteHash",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amountPaid",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "isValid",
"type": "bool",
"internalType": "bool"
}
]
}
],
"stateMutability": "view"
},
{
"type": "event",
"name": "DataPaymentMade",
"inputs": [
{
"name": "rewardsAddress",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "quoteHash",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
}
],
"anonymous": false
},
{
"type": "event",
"name": "MerklePaymentMade",
"inputs": [
{
"name": "winnerPoolHash",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "depth",
"type": "uint8",
"indexed": false,
"internalType": "uint8"
},
{
"name": "totalAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "merklePaymentTimestamp",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "error",
"name": "AntTokenNull",
"inputs": []
},
{
"type": "error",
"name": "BatchLimitExceeded",
"inputs": []
},
{
"type": "error",
"name": "DepthTooLarge",
"inputs": [
{
"name": "depth",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "maxDepth",
"type": "uint8",
"internalType": "uint8"
}
]
},
{
"type": "error",
"name": "InvalidInputLength",
"inputs": []
},
{
"type": "error",
"name": "PaymentAlreadyExists",
"inputs": [
{
"name": "winnerPoolHash",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"type": "error",
"name": "SafeERC20FailedOperation",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "WrongPoolCount",
"inputs": [
{
"name": "expected",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "actual",
"type": "uint256",
"internalType": "uint256"
}
]
}
]