// Contract: SantaSwapExchange
// Target function: function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32)
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.4;

/// ============ Libraries ============

/// @notice OpenZeppelin: MerkleProof
/// @dev The hashing algorithm should be keccak256 and pair sorting should be enabled.
library MerkleProof {
  /// @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree defined by `root`.
  function verify(
    bytes32[] memory proof,
    bytes32 root,
    bytes32 leaf
  ) internal pure returns (bool) {
    return processProof(proof, leaf) == root;
  }