[
    {
        "inputs": [
            {
                "internalType": "uint32",
                "name": "cooldownStart",
                "type": "uint32"
            }
        ],
        "name": "CooldownActive",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "GasLimitExceeded",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "GasPriceExceeded",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "IntervalCompleted",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "IntervalMismatch",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "enum Manager.NodeStatus",
                "name": "status",
                "type": "uint8"
            }
        ],
        "name": "NodeNotActivateable",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "NodeNotActive",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "node",
                "type": "address"
            },
            {
                "internalType": "enum Manager.NodeStatus",
                "name": "status",
                "type": "uint8"
            }
        ],
        "name": "NodeNotRegisterable",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "NodeRespondedAlready",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "NotSubscriptionOwner",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "SignatureExpired",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "SignerMismatch",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "SubscriptionCompleted",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "SubscriptionNotActive",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "SubscriptionNotFound",
        "type": "error"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "node",
                "type": "address"
            }
        ],
        "name": "NodeActivated",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "node",
                "type": "address"
            }
        ],
        "name": "NodeDeactivated",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "node",
                "type": "address"
            },
            {
                "indexed": true,
                "internalType": "address",
                "name": "registerer",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "uint32",
                "name": "cooldownStart",
                "type": "uint32"
            }
        ],
        "name": "NodeRegistered",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "uint32",
                "name": "id",
                "type": "uint32"
            }
        ],
        "name": "SubscriptionCancelled",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "uint32",
                "name": "id",
                "type": "uint32"
            }
        ],
        "name": "SubscriptionCreated",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "uint32",
                "name": "id",
                "type": "uint32"
            },
            {
                "indexed": true,
                "internalType": "address",
                "name": "node",
                "type": "address"
            }
        ],
        "name": "SubscriptionFulfilled",
        "type": "event"
    },
    {
        "inputs": [],
        "name": "DELEGATEE_OVERHEAD_CACHED_WEI",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "DELEGATEE_OVERHEAD_CREATE_WEI",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "DELIVERY_OVERHEAD_WEI",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "EIP712_NAME",
        "outputs": [
            {
                "internalType": "string",
                "name": "",
                "type": "string"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "EIP712_VERSION",
        "outputs": [
            {
                "internalType": "string",
                "name": "",
                "type": "string"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "activateNode",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint32",
                "name": "subscriptionId",
                "type": "uint32"
            }
        ],
        "name": "cancelSubscription",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "cooldown",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "string",
                "name": "containerId",
                "type": "string"
            },
            {
                "internalType": "bytes",
                "name": "inputs",
                "type": "bytes"
            },
            {
                "internalType": "uint48",
                "name": "maxGasPrice",
                "type": "uint48"
            },
            {
                "internalType": "uint32",
                "name": "maxGasLimit",
                "type": "uint32"
            },
            {
                "internalType": "uint32",
                "name": "frequency",
                "type": "uint32"
            },
            {
                "internalType": "uint32",
                "name": "period",
                "type": "uint32"
            },
            {
                "internalType": "uint16",
                "name": "redundancy",
                "type": "uint16"
            }
        ],
        "name": "createSubscription",
        "outputs": [
            {
                "internalType": "uint32",
                "name": "",
                "type": "uint32"
            }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint32",
                "name": "nonce",
                "type": "uint32"
            },
            {
                "internalType": "uint32",
                "name": "expiry",
                "type": "uint32"
            },
            {
                "components": [
                    {
                        "internalType": "address",
                        "name": "owner",
                        "type": "address"
                    },
                    {
                        "internalType": "uint32",
                        "name": "activeAt",
                        "type": "uint32"
                    },
                    {
                        "internalType": "uint32",
                        "name": "period",
                        "type": "uint32"
                    },
                    {
                        "internalType": "uint32",
                        "name": "frequency",
                        "type": "uint32"
                    },
                    {
                        "internalType": "uint16",
                        "name": "redundancy",
                        "type": "uint16"
                    },
                    {
                        "internalType": "uint48",
                        "name": "maxGasPrice",
                        "type": "uint48"
                    },
                    {
                        "internalType": "uint32",
                        "name": "maxGasLimit",
                        "type": "uint32"
                    },
                    {
                        "internalType": "string",
                        "name": "containerId",
                        "type": "string"
                    },
                    {
                        "internalType": "bytes",
                        "name": "inputs",
                        "type": "bytes"
                    }
                ],
                "internalType": "struct Coordinator.Subscription",
                "name": "sub",
                "type": "tuple"
            },
            {
                "internalType": "uint8",
                "name": "v",
                "type": "uint8"
            },
            {
                "internalType": "bytes32",
                "name": "r",
                "type": "bytes32"
            },
            {
                "internalType": "bytes32",
                "name": "s",
                "type": "bytes32"
            }
        ],
        "name": "createSubscriptionDelegatee",
        "outputs": [
            {
                "internalType": "uint32",
                "name": "",
                "type": "uint32"
            },
            {
                "internalType": "bool",
                "name": "",
                "type": "bool"
            }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "deactivateNode",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "delegateCreatedIds",
        "outputs": [
            {
                "internalType": "uint32",
                "name": "",
                "type": "uint32"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint32",
                "name": "subscriptionId",
                "type": "uint32"
            },
            {
                "internalType": "uint32",
                "name": "deliveryInterval",
                "type": "uint32"
            },
            {
                "internalType": "bytes",
                "name": "input",
                "type": "bytes"
            },
            {
                "internalType": "bytes",
                "name": "output",
                "type": "bytes"
            },
            {
                "internalType": "bytes",
                "name": "proof",
                "type": "bytes"
            }
        ],
        "name": "deliverCompute",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint32",
                "name": "nonce",
                "type": "uint32"
            },
            {
                "internalType": "uint32",
                "name": "expiry",
                "type": "uint32"
            },
            {
                "components": [
                    {
                        "internalType": "address",
                        "name": "owner",
                        "type": "address"
                    },
                    {
                        "internalType": "uint32",
                        "name": "activeAt",
                        "type": "uint32"
                    },
                    {
                        "internalType": "uint32",
                        "name": "period",
                        "type": "uint32"
                    },
                    {
                        "internalType": "uint32",
                        "name": "frequency",
                        "type": "uint32"
                    },
                    {
                        "internalType": "uint16",
                        "name": "redundancy",
                        "type": "uint16"
                    },
                    {
                        "internalType": "uint48",
                        "name": "maxGasPrice",
                        "type": "uint48"
                    },
                    {
                        "internalType": "uint32",
                        "name": "maxGasLimit",
                        "type": "uint32"
                    },
                    {
                        "internalType": "string",
                        "name": "containerId",
                        "type": "string"
                    },
                    {
                        "internalType": "bytes",
                        "name": "inputs",
                        "type": "bytes"
                    }
                ],
                "internalType": "struct Coordinator.Subscription",
                "name": "sub",
                "type": "tuple"
            },
            {
                "internalType": "uint8",
                "name": "v",
                "type": "uint8"
            },
            {
                "internalType": "bytes32",
                "name": "r",
                "type": "bytes32"
            },
            {
                "internalType": "bytes32",
                "name": "s",
                "type": "bytes32"
            },
            {
                "internalType": "uint32",
                "name": "deliveryInterval",
                "type": "uint32"
            },
            {
                "internalType": "bytes",
                "name": "input",
                "type": "bytes"
            },
            {
                "internalType": "bytes",
                "name": "output",
                "type": "bytes"
            },
            {
                "internalType": "bytes",
                "name": "proof",
                "type": "bytes"
            }
        ],
        "name": "deliverComputeDelegatee",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "eip712Domain",
        "outputs": [
            {
                "internalType": "bytes1",
                "name": "fields",
                "type": "bytes1"
            },
            {
                "internalType": "string",
                "name": "name",
                "type": "string"
            },
            {
                "internalType": "string",
                "name": "version",
                "type": "string"
            },
            {
                "internalType": "uint256",
                "name": "chainId",
                "type": "uint256"
            },
            {
                "internalType": "address",
                "name": "verifyingContract",
                "type": "address"
            },
            {
                "internalType": "bytes32",
                "name": "salt",
                "type": "bytes32"
            },
            {
                "internalType": "uint256[]",
                "name": "extensions",
                "type": "uint256[]"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint32",
                "name": "activeAt",
                "type": "uint32"
            },
            {
                "internalType": "uint32",
                "name": "period",
                "type": "uint32"
            }
        ],
        "name": "getSubscriptionInterval",
        "outputs": [
            {
                "internalType": "uint32",
                "name": "",
                "type": "uint32"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "id",
        "outputs": [
            {
                "internalType": "uint32",
                "name": "",
                "type": "uint32"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "",
                "type": "address"
            }
        ],
        "name": "maxSubscriberNonce",
        "outputs": [
            {
                "internalType": "uint32",
                "name": "",
                "type": "uint32"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "",
                "type": "address"
            }
        ],
        "name": "nodeInfo",
        "outputs": [
            {
                "internalType": "enum Manager.NodeStatus",
                "name": "status",
                "type": "uint8"
            },
            {
                "internalType": "uint32",
                "name": "cooldownStart",
                "type": "uint32"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "nodeResponded",
        "outputs": [
            {
                "internalType": "bool",
                "name": "",
                "type": "bool"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "bytes32",
                "name": "",
                "type": "bytes32"
            }
        ],
        "name": "redundancyCount",
        "outputs": [
            {
                "internalType": "uint16",
                "name": "",
                "type": "uint16"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "node",
                "type": "address"
            }
        ],
        "name": "registerNode",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint32",
                "name": "",
                "type": "uint32"
            }
        ],
        "name": "subscriptions",
        "outputs": [
            {
                "internalType": "address",
                "name": "owner",
                "type": "address"
            },
            {
                "internalType": "uint32",
                "name": "activeAt",
                "type": "uint32"
            },
            {
                "internalType": "uint32",
                "name": "period",
                "type": "uint32"
            },
            {
                "internalType": "uint32",
                "name": "frequency",
                "type": "uint32"
            },
            {
                "internalType": "uint16",
                "name": "redundancy",
                "type": "uint16"
            },
            {
                "internalType": "uint48",
                "name": "maxGasPrice",
                "type": "uint48"
            },
            {
                "internalType": "uint32",
                "name": "maxGasLimit",
                "type": "uint32"
            },
            {
                "internalType": "string",
                "name": "containerId",
                "type": "string"
            },
            {
                "internalType": "bytes",
                "name": "inputs",
                "type": "bytes"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    }
]