// SPDX-License-Identifier: MIT pragma solidity ^0.8.6; /** * @title Chainlink Functions client interface. */ interface FunctionsClientInterface { /** * @notice Returns the DON's secp256k1 public key used to encrypt secrets * @dev All Oracles nodes have the corresponding private key * needed to decrypt the secrets encrypted with the public key * @return publicKey DON's public key */ function getDONPublicKey() external view returns (bytes memory); /** * @notice Chainlink Functions response handler called by the designated transmitter node in an OCR round. * @param requestId The requestId returned by FunctionsClient.sendRequest(). * @param response Aggregated response from the user code. * @param err Aggregated error either from the user code or from the execution pipeline. * Either response or error parameter will be set, but never both. */ function handleOracleFulfillment( bytes32 requestId, bytes memory response, bytes memory err ) external; }