40 lines
1.2 KiB
Solidity
40 lines
1.2 KiB
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.20;
|
|
|
|
interface ITornadoV2 {
|
|
function weth() external view returns (address);
|
|
|
|
function deposit(
|
|
uint256[] memory _ids,
|
|
bytes32[] memory _commitments,
|
|
bytes memory permitData
|
|
) external payable;
|
|
|
|
function withdraw(
|
|
uint256 id,
|
|
bytes calldata _proof,
|
|
bytes32 _root,
|
|
bytes32 _nullifierHash,
|
|
address payable _recipient,
|
|
address payable _relayer,
|
|
uint256 _relayerFee,
|
|
uint256 _refund,
|
|
bytes memory _data
|
|
) external payable;
|
|
|
|
function nextIndex(uint256 id) external view returns (uint32);
|
|
|
|
function getLastRoot(uint256 id) external view returns (bytes32);
|
|
|
|
function token(uint256 id) external view returns (address);
|
|
|
|
function denomination(uint256 id) external view returns (uint256);
|
|
|
|
function filledSubtrees(uint256 id, uint256 index) external view returns (bytes32);
|
|
|
|
function zeros(uint256 id, uint256 index) external view returns (bytes32);
|
|
|
|
function roots(uint256 id, uint256 index) external view returns (bytes32);
|
|
|
|
function isSpent(bytes32 _nullifierHash) external view returns (bool);
|
|
} |