[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "string", "name": "batchId", "type": "string" } ], "name": "AlreadyCommitted", "type": "error" }, { "inputs": [], "name": "EmptyBatchId", "type": "error" }, { "inputs": [], "name": "NotOwner", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "batchId", "type": "string" }, { "indexed": true, "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" }, { "indexed": false, "internalType": "uint32", "name": "runCount", "type": "uint32" }, { "indexed": false, "internalType": "string", "name": "model", "type": "string" }, { "indexed": false, "internalType": "uint64", "name": "blockTimestamp", "type": "uint64" } ], "name": "RootCommitted", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "batchIds", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "batchId", "type": "string" }, { "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" }, { "internalType": "uint32", "name": "runCount", "type": "uint32" }, { "internalType": "string", "name": "model", "type": "string" } ], "name": "commitRoot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getBatchCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "batchId", "type": "string" } ], "name": "getCommitment", "outputs": [ { "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" }, { "internalType": "uint32", "name": "runCount", "type": "uint32" }, { "internalType": "string", "name": "model", "type": "string" }, { "internalType": "uint64", "name": "blockTimestamp", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]