Added PermitTornado Contract
This commit is contained in:
parent
cc57528ae1
commit
eb805332de
@ -30,7 +30,7 @@ contract ERC20Tornado is Tornado {
|
||||
token = _token;
|
||||
}
|
||||
|
||||
function _processDeposit() internal override {
|
||||
function _processDeposit() internal virtual override {
|
||||
require(msg.value == 0, "ETH value is supposed to be 0 for ERC20 instance");
|
||||
token.safeTransferFrom(msg.sender, address(this), denomination);
|
||||
}
|
||||
|
81
contracts/Classic/PermitTornado.sol
Normal file
81
contracts/Classic/PermitTornado.sol
Normal file
@ -0,0 +1,81 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
pragma solidity ^0.8.20;
|
||||
|
||||
import { ISignatureTransfer } from './interfaces/ISignatureTransfer.sol';
|
||||
import { IVerifier, IHasher, IERC20, SafeERC20, ERC20Tornado } from './ERC20Tornado.sol';
|
||||
|
||||
/**
|
||||
* Extends ERC20Tornado with ERC-2612 and TornadoProxyLight Router contract support
|
||||
*
|
||||
* For new chains deploy permit2 contract first using the tool (present at foundry https://github.com/Arachnid/deterministic-deployment-proxy)
|
||||
*/
|
||||
contract PermitTornado is ERC20Tornado {
|
||||
using SafeERC20 for IERC20;
|
||||
// https://docs.uniswap.org/contracts/v3/reference/deployments/ethereum-deployments
|
||||
ISignatureTransfer public constant permit2 = ISignatureTransfer(0x000000000022D473030F116dDEE9F6B43aC78BA3);
|
||||
|
||||
address public immutable tornadoProxyLight;
|
||||
|
||||
constructor(
|
||||
IVerifier _verifier,
|
||||
IHasher _hasher,
|
||||
uint256 _denomination,
|
||||
uint32 _merkleTreeHeight,
|
||||
IERC20 _token,
|
||||
address _tornadoProxyLight
|
||||
) ERC20Tornado(_verifier, _hasher, _denomination, _merkleTreeHeight, _token) {
|
||||
tornadoProxyLight = _tornadoProxyLight;
|
||||
}
|
||||
|
||||
function _processDeposit() internal virtual override {
|
||||
if (msg.sender == tornadoProxyLight) {
|
||||
token.safeTransferFrom(tx.origin, address(this), denomination);
|
||||
return;
|
||||
}
|
||||
|
||||
super._processDeposit();
|
||||
}
|
||||
|
||||
function addCommitment(bytes32 _commitment) internal {
|
||||
require(!commitments[_commitment], "The commitment has been submitted");
|
||||
|
||||
uint32 insertedIndex = _insert(_commitment);
|
||||
commitments[_commitment] = true;
|
||||
|
||||
emit Deposit(_commitment, insertedIndex, block.timestamp);
|
||||
}
|
||||
|
||||
function depositWithPermit(
|
||||
bytes32 commitment,
|
||||
address owner,
|
||||
uint256 deadline,
|
||||
uint8 v,
|
||||
bytes32 r,
|
||||
bytes32 s
|
||||
) external nonReentrant {
|
||||
token.permit(owner, address(this), denomination, deadline, v, r, s);
|
||||
token.safeTransferFrom(owner, address(this), denomination);
|
||||
|
||||
addCommitment(commitment);
|
||||
}
|
||||
|
||||
function depositWithPermit2(
|
||||
bytes32 commitment,
|
||||
address owner,
|
||||
ISignatureTransfer.PermitTransferFrom calldata _permit,
|
||||
bytes calldata _signature
|
||||
) external nonReentrant {
|
||||
permit2.permitTransferFrom(
|
||||
_permit,
|
||||
ISignatureTransfer.SignatureTransferDetails({
|
||||
to: address(this),
|
||||
requestedAmount: denomination
|
||||
}),
|
||||
owner,
|
||||
_signature
|
||||
);
|
||||
|
||||
addCommitment(commitment);
|
||||
}
|
||||
}
|
136
contracts/Classic/interfaces/ISignatureTransfer.sol
Normal file
136
contracts/Classic/interfaces/ISignatureTransfer.sol
Normal file
@ -0,0 +1,136 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
// Copied from https://github.com/Uniswap/permit2/blob/main/src/interfaces/ISignatureTransfer.sol
|
||||
|
||||
pragma solidity ^0.8.20;
|
||||
|
||||
/// @title SignatureTransfer
|
||||
/// @notice Handles ERC20 token transfers through signature based actions
|
||||
/// @dev Requires user's token approval on the Permit2 contract
|
||||
interface ISignatureTransfer {
|
||||
/// @notice Thrown when the requested amount for a transfer is larger than the permissioned amount
|
||||
/// @param maxAmount The maximum amount a spender can request to transfer
|
||||
error InvalidAmount(uint256 maxAmount);
|
||||
|
||||
/// @notice Thrown when the number of tokens permissioned to a spender does not match the number of tokens being transferred
|
||||
/// @dev If the spender does not need to transfer the number of tokens permitted, the spender can request amount 0 to be transferred
|
||||
error LengthMismatch();
|
||||
|
||||
/// @notice Emits an event when the owner successfully invalidates an unordered nonce.
|
||||
event UnorderedNonceInvalidation(address indexed owner, uint256 word, uint256 mask);
|
||||
|
||||
/// @notice The token and amount details for a transfer signed in the permit transfer signature
|
||||
struct TokenPermissions {
|
||||
// ERC20 token address
|
||||
address token;
|
||||
// the maximum amount that can be spent
|
||||
uint256 amount;
|
||||
}
|
||||
|
||||
/// @notice The signed permit message for a single token transfer
|
||||
struct PermitTransferFrom {
|
||||
TokenPermissions permitted;
|
||||
// a unique value for every token owner's signature to prevent signature replays
|
||||
uint256 nonce;
|
||||
// deadline on the permit signature
|
||||
uint256 deadline;
|
||||
}
|
||||
|
||||
/// @notice Specifies the recipient address and amount for batched transfers.
|
||||
/// @dev Recipients and amounts correspond to the index of the signed token permissions array.
|
||||
/// @dev Reverts if the requested amount is greater than the permitted signed amount.
|
||||
struct SignatureTransferDetails {
|
||||
// recipient address
|
||||
address to;
|
||||
// spender requested amount
|
||||
uint256 requestedAmount;
|
||||
}
|
||||
|
||||
/// @notice Used to reconstruct the signed permit message for multiple token transfers
|
||||
/// @dev Do not need to pass in spender address as it is required that it is msg.sender
|
||||
/// @dev Note that a user still signs over a spender address
|
||||
struct PermitBatchTransferFrom {
|
||||
// the tokens and corresponding amounts permitted for a transfer
|
||||
TokenPermissions[] permitted;
|
||||
// a unique value for every token owner's signature to prevent signature replays
|
||||
uint256 nonce;
|
||||
// deadline on the permit signature
|
||||
uint256 deadline;
|
||||
}
|
||||
|
||||
function DOMAIN_SEPARATOR() external view returns (bytes32);
|
||||
|
||||
/// @notice A map from token owner address and a caller specified word index to a bitmap. Used to set bits in the bitmap to prevent against signature replay protection
|
||||
/// @dev Uses unordered nonces so that permit messages do not need to be spent in a certain order
|
||||
/// @dev The mapping is indexed first by the token owner, then by an index specified in the nonce
|
||||
/// @dev It returns a uint256 bitmap
|
||||
/// @dev The index, or wordPosition is capped at type(uint248).max
|
||||
function nonceBitmap(address, uint256) external view returns (uint256);
|
||||
|
||||
/// @notice Transfers a token using a signed permit message
|
||||
/// @dev Reverts if the requested amount is greater than the permitted signed amount
|
||||
/// @param permit The permit data signed over by the owner
|
||||
/// @param owner The owner of the tokens to transfer
|
||||
/// @param transferDetails The spender's requested transfer details for the permitted token
|
||||
/// @param signature The signature to verify
|
||||
function permitTransferFrom(
|
||||
PermitTransferFrom memory permit,
|
||||
SignatureTransferDetails calldata transferDetails,
|
||||
address owner,
|
||||
bytes calldata signature
|
||||
) external;
|
||||
|
||||
/// @notice Transfers a token using a signed permit message
|
||||
/// @notice Includes extra data provided by the caller to verify signature over
|
||||
/// @dev The witness type string must follow EIP712 ordering of nested structs and must include the TokenPermissions type definition
|
||||
/// @dev Reverts if the requested amount is greater than the permitted signed amount
|
||||
/// @param permit The permit data signed over by the owner
|
||||
/// @param owner The owner of the tokens to transfer
|
||||
/// @param transferDetails The spender's requested transfer details for the permitted token
|
||||
/// @param witness Extra data to include when checking the user signature
|
||||
/// @param witnessTypeString The EIP-712 type definition for remaining string stub of the typehash
|
||||
/// @param signature The signature to verify
|
||||
function permitWitnessTransferFrom(
|
||||
PermitTransferFrom memory permit,
|
||||
SignatureTransferDetails calldata transferDetails,
|
||||
address owner,
|
||||
bytes32 witness,
|
||||
string calldata witnessTypeString,
|
||||
bytes calldata signature
|
||||
) external;
|
||||
|
||||
/// @notice Transfers multiple tokens using a signed permit message
|
||||
/// @param permit The permit data signed over by the owner
|
||||
/// @param owner The owner of the tokens to transfer
|
||||
/// @param transferDetails Specifies the recipient and requested amount for the token transfer
|
||||
/// @param signature The signature to verify
|
||||
function permitTransferFrom(
|
||||
PermitBatchTransferFrom memory permit,
|
||||
SignatureTransferDetails[] calldata transferDetails,
|
||||
address owner,
|
||||
bytes calldata signature
|
||||
) external;
|
||||
|
||||
/// @notice Transfers multiple tokens using a signed permit message
|
||||
/// @dev The witness type string must follow EIP712 ordering of nested structs and must include the TokenPermissions type definition
|
||||
/// @notice Includes extra data provided by the caller to verify signature over
|
||||
/// @param permit The permit data signed over by the owner
|
||||
/// @param owner The owner of the tokens to transfer
|
||||
/// @param transferDetails Specifies the recipient and requested amount for the token transfer
|
||||
/// @param witness Extra data to include when checking the user signature
|
||||
/// @param witnessTypeString The EIP-712 type definition for remaining string stub of the typehash
|
||||
/// @param signature The signature to verify
|
||||
function permitWitnessTransferFrom(
|
||||
PermitBatchTransferFrom memory permit,
|
||||
SignatureTransferDetails[] calldata transferDetails,
|
||||
address owner,
|
||||
bytes32 witness,
|
||||
string calldata witnessTypeString,
|
||||
bytes calldata signature
|
||||
) external;
|
||||
|
||||
/// @notice Invalidates the bits specified in mask for the bitmap at the word position
|
||||
/// @dev The wordPos is maxed at type(uint248).max
|
||||
/// @param wordPos A number to index the nonceBitmap at
|
||||
/// @param mask A bitmap masked against msg.sender's current bitmap at the word position
|
||||
function invalidateUnorderedNonces(uint256 wordPos, uint256 mask) external;
|
||||
}
|
26
contracts/Governance/SingletonFactory.sol
Normal file
26
contracts/Governance/SingletonFactory.sol
Normal file
@ -0,0 +1,26 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
pragma solidity ^0.6.2;
|
||||
|
||||
|
||||
/**
|
||||
* @title Singleton Factory (EIP-2470)
|
||||
* @notice Exposes CREATE2 (EIP-1014) to deploy bytecode on deterministic addresses based on initialization code and salt.
|
||||
* @author Ricardo Guilherme Schmidt (Status Research & Development GmbH)
|
||||
*/
|
||||
contract SingletonFactory {
|
||||
/**
|
||||
* @notice Deploys `_initCode` using `_salt` for defining the deterministic address.
|
||||
* @param _initCode Initialization code.
|
||||
* @param _salt Arbitrary value to modify resulting address.
|
||||
* @return createdContract Created contract address.
|
||||
*/
|
||||
function deploy(bytes memory _initCode, bytes32 _salt)
|
||||
public
|
||||
returns (address payable createdContract)
|
||||
{
|
||||
assembly {
|
||||
createdContract := create2(0, add(_initCode, 0x20), mload(_initCode), _salt)
|
||||
}
|
||||
}
|
||||
}
|
290
dist/contracts/Classic/PermitTornado.d.ts
vendored
Normal file
290
dist/contracts/Classic/PermitTornado.d.ts
vendored
Normal file
@ -0,0 +1,290 @@
|
||||
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
|
||||
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common";
|
||||
export declare namespace ISignatureTransfer {
|
||||
type TokenPermissionsStruct = {
|
||||
token: AddressLike;
|
||||
amount: BigNumberish;
|
||||
};
|
||||
type TokenPermissionsStructOutput = [token: string, amount: bigint] & {
|
||||
token: string;
|
||||
amount: bigint;
|
||||
};
|
||||
type PermitTransferFromStruct = {
|
||||
permitted: ISignatureTransfer.TokenPermissionsStruct;
|
||||
nonce: BigNumberish;
|
||||
deadline: BigNumberish;
|
||||
};
|
||||
type PermitTransferFromStructOutput = [
|
||||
permitted: ISignatureTransfer.TokenPermissionsStructOutput,
|
||||
nonce: bigint,
|
||||
deadline: bigint
|
||||
] & {
|
||||
permitted: ISignatureTransfer.TokenPermissionsStructOutput;
|
||||
nonce: bigint;
|
||||
deadline: bigint;
|
||||
};
|
||||
}
|
||||
export interface PermitTornadoInterface extends Interface {
|
||||
getFunction(nameOrSignature: "FIELD_SIZE" | "ROOT_HISTORY_SIZE" | "ZERO_VALUE" | "commitments" | "currentRootIndex" | "denomination" | "deposit" | "depositWithPermit" | "depositWithPermit2" | "filledSubtrees" | "getLastRoot" | "hashLeftRight" | "hasher" | "isKnownRoot" | "isSpent" | "isSpentArray" | "levels" | "nextIndex" | "nullifierHashes" | "permit2" | "roots" | "token" | "tornadoProxyLight" | "verifier" | "withdraw" | "zeros"): FunctionFragment;
|
||||
getEvent(nameOrSignatureOrTopic: "Deposit" | "Withdrawal"): EventFragment;
|
||||
encodeFunctionData(functionFragment: "FIELD_SIZE", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "ROOT_HISTORY_SIZE", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "ZERO_VALUE", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "commitments", values: [BytesLike]): string;
|
||||
encodeFunctionData(functionFragment: "currentRootIndex", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "denomination", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string;
|
||||
encodeFunctionData(functionFragment: "depositWithPermit", values: [
|
||||
BytesLike,
|
||||
AddressLike,
|
||||
BigNumberish,
|
||||
BigNumberish,
|
||||
BytesLike,
|
||||
BytesLike
|
||||
]): string;
|
||||
encodeFunctionData(functionFragment: "depositWithPermit2", values: [
|
||||
BytesLike,
|
||||
AddressLike,
|
||||
ISignatureTransfer.PermitTransferFromStruct,
|
||||
BytesLike
|
||||
]): string;
|
||||
encodeFunctionData(functionFragment: "filledSubtrees", values: [BigNumberish]): string;
|
||||
encodeFunctionData(functionFragment: "getLastRoot", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "hashLeftRight", values: [AddressLike, BytesLike, BytesLike]): string;
|
||||
encodeFunctionData(functionFragment: "hasher", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "isKnownRoot", values: [BytesLike]): string;
|
||||
encodeFunctionData(functionFragment: "isSpent", values: [BytesLike]): string;
|
||||
encodeFunctionData(functionFragment: "isSpentArray", values: [BytesLike[]]): string;
|
||||
encodeFunctionData(functionFragment: "levels", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "nullifierHashes", values: [BytesLike]): string;
|
||||
encodeFunctionData(functionFragment: "permit2", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string;
|
||||
encodeFunctionData(functionFragment: "token", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "tornadoProxyLight", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "verifier", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "withdraw", values: [
|
||||
BytesLike,
|
||||
BytesLike,
|
||||
BytesLike,
|
||||
AddressLike,
|
||||
AddressLike,
|
||||
BigNumberish,
|
||||
BigNumberish
|
||||
]): string;
|
||||
encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string;
|
||||
decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "ROOT_HISTORY_SIZE", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "commitments", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "currentRootIndex", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "denomination", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "depositWithPermit", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "depositWithPermit2", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "filledSubtrees", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "getLastRoot", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "hashLeftRight", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "isKnownRoot", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "isSpent", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "isSpentArray", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "nullifierHashes", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "permit2", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "token", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "tornadoProxyLight", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "verifier", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result;
|
||||
}
|
||||
export declare namespace DepositEvent {
|
||||
type InputTuple = [
|
||||
commitment: BytesLike,
|
||||
leafIndex: BigNumberish,
|
||||
timestamp: BigNumberish
|
||||
];
|
||||
type OutputTuple = [
|
||||
commitment: string,
|
||||
leafIndex: bigint,
|
||||
timestamp: bigint
|
||||
];
|
||||
interface OutputObject {
|
||||
commitment: string;
|
||||
leafIndex: bigint;
|
||||
timestamp: bigint;
|
||||
}
|
||||
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||
type Filter = TypedDeferredTopicFilter<Event>;
|
||||
type Log = TypedEventLog<Event>;
|
||||
type LogDescription = TypedLogDescription<Event>;
|
||||
}
|
||||
export declare namespace WithdrawalEvent {
|
||||
type InputTuple = [
|
||||
to: AddressLike,
|
||||
nullifierHash: BytesLike,
|
||||
relayer: AddressLike,
|
||||
fee: BigNumberish
|
||||
];
|
||||
type OutputTuple = [
|
||||
to: string,
|
||||
nullifierHash: string,
|
||||
relayer: string,
|
||||
fee: bigint
|
||||
];
|
||||
interface OutputObject {
|
||||
to: string;
|
||||
nullifierHash: string;
|
||||
relayer: string;
|
||||
fee: bigint;
|
||||
}
|
||||
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||
type Filter = TypedDeferredTopicFilter<Event>;
|
||||
type Log = TypedEventLog<Event>;
|
||||
type LogDescription = TypedLogDescription<Event>;
|
||||
}
|
||||
export interface PermitTornado extends BaseContract {
|
||||
connect(runner?: ContractRunner | null): PermitTornado;
|
||||
waitForDeployment(): Promise<this>;
|
||||
interface: PermitTornadoInterface;
|
||||
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
|
||||
listeners(eventName?: string): Promise<Array<Listener>>;
|
||||
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
|
||||
FIELD_SIZE: TypedContractMethod<[], [bigint], "view">;
|
||||
ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">;
|
||||
ZERO_VALUE: TypedContractMethod<[], [bigint], "view">;
|
||||
commitments: TypedContractMethod<[arg0: BytesLike], [boolean], "view">;
|
||||
currentRootIndex: TypedContractMethod<[], [bigint], "view">;
|
||||
denomination: TypedContractMethod<[], [bigint], "view">;
|
||||
deposit: TypedContractMethod<[_commitment: BytesLike], [void], "payable">;
|
||||
depositWithPermit: TypedContractMethod<[
|
||||
commitment: BytesLike,
|
||||
owner: AddressLike,
|
||||
deadline: BigNumberish,
|
||||
v: BigNumberish,
|
||||
r: BytesLike,
|
||||
s: BytesLike
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
depositWithPermit2: TypedContractMethod<[
|
||||
commitment: BytesLike,
|
||||
owner: AddressLike,
|
||||
_permit: ISignatureTransfer.PermitTransferFromStruct,
|
||||
_signature: BytesLike
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">;
|
||||
getLastRoot: TypedContractMethod<[], [string], "view">;
|
||||
hashLeftRight: TypedContractMethod<[
|
||||
_hasher: AddressLike,
|
||||
_left: BytesLike,
|
||||
_right: BytesLike
|
||||
], [
|
||||
string
|
||||
], "view">;
|
||||
hasher: TypedContractMethod<[], [string], "view">;
|
||||
isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">;
|
||||
isSpent: TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">;
|
||||
isSpentArray: TypedContractMethod<[
|
||||
_nullifierHashes: BytesLike[]
|
||||
], [
|
||||
boolean[]
|
||||
], "view">;
|
||||
levels: TypedContractMethod<[], [bigint], "view">;
|
||||
nextIndex: TypedContractMethod<[], [bigint], "view">;
|
||||
nullifierHashes: TypedContractMethod<[arg0: BytesLike], [boolean], "view">;
|
||||
permit2: TypedContractMethod<[], [string], "view">;
|
||||
roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">;
|
||||
token: TypedContractMethod<[], [string], "view">;
|
||||
tornadoProxyLight: TypedContractMethod<[], [string], "view">;
|
||||
verifier: TypedContractMethod<[], [string], "view">;
|
||||
withdraw: TypedContractMethod<[
|
||||
_proof: BytesLike,
|
||||
_root: BytesLike,
|
||||
_nullifierHash: BytesLike,
|
||||
_recipient: AddressLike,
|
||||
_relayer: AddressLike,
|
||||
_fee: BigNumberish,
|
||||
_refund: BigNumberish
|
||||
], [
|
||||
void
|
||||
], "payable">;
|
||||
zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">;
|
||||
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
|
||||
getFunction(nameOrSignature: "FIELD_SIZE"): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(nameOrSignature: "ROOT_HISTORY_SIZE"): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(nameOrSignature: "ZERO_VALUE"): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(nameOrSignature: "commitments"): TypedContractMethod<[arg0: BytesLike], [boolean], "view">;
|
||||
getFunction(nameOrSignature: "currentRootIndex"): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(nameOrSignature: "denomination"): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(nameOrSignature: "deposit"): TypedContractMethod<[_commitment: BytesLike], [void], "payable">;
|
||||
getFunction(nameOrSignature: "depositWithPermit"): TypedContractMethod<[
|
||||
commitment: BytesLike,
|
||||
owner: AddressLike,
|
||||
deadline: BigNumberish,
|
||||
v: BigNumberish,
|
||||
r: BytesLike,
|
||||
s: BytesLike
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
getFunction(nameOrSignature: "depositWithPermit2"): TypedContractMethod<[
|
||||
commitment: BytesLike,
|
||||
owner: AddressLike,
|
||||
_permit: ISignatureTransfer.PermitTransferFromStruct,
|
||||
_signature: BytesLike
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
getFunction(nameOrSignature: "filledSubtrees"): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
|
||||
getFunction(nameOrSignature: "getLastRoot"): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(nameOrSignature: "hashLeftRight"): TypedContractMethod<[
|
||||
_hasher: AddressLike,
|
||||
_left: BytesLike,
|
||||
_right: BytesLike
|
||||
], [
|
||||
string
|
||||
], "view">;
|
||||
getFunction(nameOrSignature: "hasher"): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(nameOrSignature: "isKnownRoot"): TypedContractMethod<[_root: BytesLike], [boolean], "view">;
|
||||
getFunction(nameOrSignature: "isSpent"): TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">;
|
||||
getFunction(nameOrSignature: "isSpentArray"): TypedContractMethod<[_nullifierHashes: BytesLike[]], [boolean[]], "view">;
|
||||
getFunction(nameOrSignature: "levels"): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(nameOrSignature: "nextIndex"): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(nameOrSignature: "nullifierHashes"): TypedContractMethod<[arg0: BytesLike], [boolean], "view">;
|
||||
getFunction(nameOrSignature: "permit2"): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(nameOrSignature: "roots"): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
|
||||
getFunction(nameOrSignature: "token"): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(nameOrSignature: "tornadoProxyLight"): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(nameOrSignature: "verifier"): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[
|
||||
_proof: BytesLike,
|
||||
_root: BytesLike,
|
||||
_nullifierHash: BytesLike,
|
||||
_recipient: AddressLike,
|
||||
_relayer: AddressLike,
|
||||
_fee: BigNumberish,
|
||||
_refund: BigNumberish
|
||||
], [
|
||||
void
|
||||
], "payable">;
|
||||
getFunction(nameOrSignature: "zeros"): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
|
||||
getEvent(key: "Deposit"): TypedContractEvent<DepositEvent.InputTuple, DepositEvent.OutputTuple, DepositEvent.OutputObject>;
|
||||
getEvent(key: "Withdrawal"): TypedContractEvent<WithdrawalEvent.InputTuple, WithdrawalEvent.OutputTuple, WithdrawalEvent.OutputObject>;
|
||||
filters: {
|
||||
"Deposit(bytes32,uint32,uint256)": TypedContractEvent<DepositEvent.InputTuple, DepositEvent.OutputTuple, DepositEvent.OutputObject>;
|
||||
Deposit: TypedContractEvent<DepositEvent.InputTuple, DepositEvent.OutputTuple, DepositEvent.OutputObject>;
|
||||
"Withdrawal(address,bytes32,address,uint256)": TypedContractEvent<WithdrawalEvent.InputTuple, WithdrawalEvent.OutputTuple, WithdrawalEvent.OutputObject>;
|
||||
Withdrawal: TypedContractEvent<WithdrawalEvent.InputTuple, WithdrawalEvent.OutputTuple, WithdrawalEvent.OutputObject>;
|
||||
};
|
||||
}
|
1
dist/contracts/Classic/index.d.ts
vendored
1
dist/contracts/Classic/index.d.ts
vendored
@ -11,5 +11,6 @@ export type { interfaces };
|
||||
export type { ERC20Tornado } from "./ERC20Tornado";
|
||||
export type { ETHTornado } from "./ETHTornado";
|
||||
export type { Echoer } from "./Echoer";
|
||||
export type { PermitTornado } from "./PermitTornado";
|
||||
export type { Verifier } from "./Verifier";
|
||||
export type { CTornado } from "./CTornado";
|
||||
|
228
dist/contracts/Classic/interfaces/ISignatureTransfer.d.ts
vendored
Normal file
228
dist/contracts/Classic/interfaces/ISignatureTransfer.d.ts
vendored
Normal file
@ -0,0 +1,228 @@
|
||||
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
|
||||
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common";
|
||||
export declare namespace ISignatureTransfer {
|
||||
type TokenPermissionsStruct = {
|
||||
token: AddressLike;
|
||||
amount: BigNumberish;
|
||||
};
|
||||
type TokenPermissionsStructOutput = [token: string, amount: bigint] & {
|
||||
token: string;
|
||||
amount: bigint;
|
||||
};
|
||||
type PermitTransferFromStruct = {
|
||||
permitted: ISignatureTransfer.TokenPermissionsStruct;
|
||||
nonce: BigNumberish;
|
||||
deadline: BigNumberish;
|
||||
};
|
||||
type PermitTransferFromStructOutput = [
|
||||
permitted: ISignatureTransfer.TokenPermissionsStructOutput,
|
||||
nonce: bigint,
|
||||
deadline: bigint
|
||||
] & {
|
||||
permitted: ISignatureTransfer.TokenPermissionsStructOutput;
|
||||
nonce: bigint;
|
||||
deadline: bigint;
|
||||
};
|
||||
type SignatureTransferDetailsStruct = {
|
||||
to: AddressLike;
|
||||
requestedAmount: BigNumberish;
|
||||
};
|
||||
type SignatureTransferDetailsStructOutput = [
|
||||
to: string,
|
||||
requestedAmount: bigint
|
||||
] & {
|
||||
to: string;
|
||||
requestedAmount: bigint;
|
||||
};
|
||||
type PermitBatchTransferFromStruct = {
|
||||
permitted: ISignatureTransfer.TokenPermissionsStruct[];
|
||||
nonce: BigNumberish;
|
||||
deadline: BigNumberish;
|
||||
};
|
||||
type PermitBatchTransferFromStructOutput = [
|
||||
permitted: ISignatureTransfer.TokenPermissionsStructOutput[],
|
||||
nonce: bigint,
|
||||
deadline: bigint
|
||||
] & {
|
||||
permitted: ISignatureTransfer.TokenPermissionsStructOutput[];
|
||||
nonce: bigint;
|
||||
deadline: bigint;
|
||||
};
|
||||
}
|
||||
export interface ISignatureTransferInterface extends Interface {
|
||||
getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "invalidateUnorderedNonces" | "nonceBitmap" | "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)" | "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)" | "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)" | "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)"): FunctionFragment;
|
||||
getEvent(nameOrSignatureOrTopic: "UnorderedNonceInvalidation"): EventFragment;
|
||||
encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "invalidateUnorderedNonces", values: [BigNumberish, BigNumberish]): string;
|
||||
encodeFunctionData(functionFragment: "nonceBitmap", values: [AddressLike, BigNumberish]): string;
|
||||
encodeFunctionData(functionFragment: "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)", values: [
|
||||
ISignatureTransfer.PermitTransferFromStruct,
|
||||
ISignatureTransfer.SignatureTransferDetailsStruct,
|
||||
AddressLike,
|
||||
BytesLike
|
||||
]): string;
|
||||
encodeFunctionData(functionFragment: "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)", values: [
|
||||
ISignatureTransfer.PermitBatchTransferFromStruct,
|
||||
ISignatureTransfer.SignatureTransferDetailsStruct[],
|
||||
AddressLike,
|
||||
BytesLike
|
||||
]): string;
|
||||
encodeFunctionData(functionFragment: "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)", values: [
|
||||
ISignatureTransfer.PermitTransferFromStruct,
|
||||
ISignatureTransfer.SignatureTransferDetailsStruct,
|
||||
AddressLike,
|
||||
BytesLike,
|
||||
string,
|
||||
BytesLike
|
||||
]): string;
|
||||
encodeFunctionData(functionFragment: "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)", values: [
|
||||
ISignatureTransfer.PermitBatchTransferFromStruct,
|
||||
ISignatureTransfer.SignatureTransferDetailsStruct[],
|
||||
AddressLike,
|
||||
BytesLike,
|
||||
string,
|
||||
BytesLike
|
||||
]): string;
|
||||
decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "invalidateUnorderedNonces", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "nonceBitmap", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)", data: BytesLike): Result;
|
||||
}
|
||||
export declare namespace UnorderedNonceInvalidationEvent {
|
||||
type InputTuple = [
|
||||
owner: AddressLike,
|
||||
word: BigNumberish,
|
||||
mask: BigNumberish
|
||||
];
|
||||
type OutputTuple = [owner: string, word: bigint, mask: bigint];
|
||||
interface OutputObject {
|
||||
owner: string;
|
||||
word: bigint;
|
||||
mask: bigint;
|
||||
}
|
||||
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||
type Filter = TypedDeferredTopicFilter<Event>;
|
||||
type Log = TypedEventLog<Event>;
|
||||
type LogDescription = TypedLogDescription<Event>;
|
||||
}
|
||||
export interface ISignatureTransfer extends BaseContract {
|
||||
connect(runner?: ContractRunner | null): ISignatureTransfer;
|
||||
waitForDeployment(): Promise<this>;
|
||||
interface: ISignatureTransferInterface;
|
||||
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
|
||||
listeners(eventName?: string): Promise<Array<Listener>>;
|
||||
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
|
||||
DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">;
|
||||
invalidateUnorderedNonces: TypedContractMethod<[
|
||||
wordPos: BigNumberish,
|
||||
mask: BigNumberish
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
nonceBitmap: TypedContractMethod<[
|
||||
arg0: AddressLike,
|
||||
arg1: BigNumberish
|
||||
], [
|
||||
bigint
|
||||
], "view">;
|
||||
"permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)": TypedContractMethod<[
|
||||
permit: ISignatureTransfer.PermitTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct,
|
||||
owner: AddressLike,
|
||||
signature: BytesLike
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
"permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)": TypedContractMethod<[
|
||||
permit: ISignatureTransfer.PermitBatchTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[],
|
||||
owner: AddressLike,
|
||||
signature: BytesLike
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
"permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)": TypedContractMethod<[
|
||||
permit: ISignatureTransfer.PermitTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct,
|
||||
owner: AddressLike,
|
||||
witness: BytesLike,
|
||||
witnessTypeString: string,
|
||||
signature: BytesLike
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
"permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)": TypedContractMethod<[
|
||||
permit: ISignatureTransfer.PermitBatchTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[],
|
||||
owner: AddressLike,
|
||||
witness: BytesLike,
|
||||
witnessTypeString: string,
|
||||
signature: BytesLike
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
|
||||
getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(nameOrSignature: "invalidateUnorderedNonces"): TypedContractMethod<[
|
||||
wordPos: BigNumberish,
|
||||
mask: BigNumberish
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
getFunction(nameOrSignature: "nonceBitmap"): TypedContractMethod<[
|
||||
arg0: AddressLike,
|
||||
arg1: BigNumberish
|
||||
], [
|
||||
bigint
|
||||
], "view">;
|
||||
getFunction(nameOrSignature: "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)"): TypedContractMethod<[
|
||||
permit: ISignatureTransfer.PermitTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct,
|
||||
owner: AddressLike,
|
||||
signature: BytesLike
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
getFunction(nameOrSignature: "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)"): TypedContractMethod<[
|
||||
permit: ISignatureTransfer.PermitBatchTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[],
|
||||
owner: AddressLike,
|
||||
signature: BytesLike
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
getFunction(nameOrSignature: "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)"): TypedContractMethod<[
|
||||
permit: ISignatureTransfer.PermitTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct,
|
||||
owner: AddressLike,
|
||||
witness: BytesLike,
|
||||
witnessTypeString: string,
|
||||
signature: BytesLike
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
getFunction(nameOrSignature: "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)"): TypedContractMethod<[
|
||||
permit: ISignatureTransfer.PermitBatchTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[],
|
||||
owner: AddressLike,
|
||||
witness: BytesLike,
|
||||
witnessTypeString: string,
|
||||
signature: BytesLike
|
||||
], [
|
||||
void
|
||||
], "nonpayable">;
|
||||
getEvent(key: "UnorderedNonceInvalidation"): TypedContractEvent<UnorderedNonceInvalidationEvent.InputTuple, UnorderedNonceInvalidationEvent.OutputTuple, UnorderedNonceInvalidationEvent.OutputObject>;
|
||||
filters: {
|
||||
"UnorderedNonceInvalidation(address,uint256,uint256)": TypedContractEvent<UnorderedNonceInvalidationEvent.InputTuple, UnorderedNonceInvalidationEvent.OutputTuple, UnorderedNonceInvalidationEvent.OutputObject>;
|
||||
UnorderedNonceInvalidation: TypedContractEvent<UnorderedNonceInvalidationEvent.InputTuple, UnorderedNonceInvalidationEvent.OutputTuple, UnorderedNonceInvalidationEvent.OutputObject>;
|
||||
};
|
||||
}
|
1
dist/contracts/Classic/interfaces/index.d.ts
vendored
1
dist/contracts/Classic/interfaces/index.d.ts
vendored
@ -1 +1,2 @@
|
||||
export type { IERC20 } from "./IERC20";
|
||||
export type { ISignatureTransfer } from "./ISignatureTransfer";
|
||||
|
35
dist/contracts/Governance/SingletonFactory.d.ts
vendored
Normal file
35
dist/contracts/Governance/SingletonFactory.d.ts
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers";
|
||||
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../common";
|
||||
export interface SingletonFactoryInterface extends Interface {
|
||||
getFunction(nameOrSignature: "deploy"): FunctionFragment;
|
||||
encodeFunctionData(functionFragment: "deploy", values: [BytesLike, BytesLike]): string;
|
||||
decodeFunctionResult(functionFragment: "deploy", data: BytesLike): Result;
|
||||
}
|
||||
export interface SingletonFactory extends BaseContract {
|
||||
connect(runner?: ContractRunner | null): SingletonFactory;
|
||||
waitForDeployment(): Promise<this>;
|
||||
interface: SingletonFactoryInterface;
|
||||
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
|
||||
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
|
||||
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
|
||||
listeners(eventName?: string): Promise<Array<Listener>>;
|
||||
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
|
||||
deploy: TypedContractMethod<[
|
||||
_initCode: BytesLike,
|
||||
_salt: BytesLike
|
||||
], [
|
||||
string
|
||||
], "nonpayable">;
|
||||
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
|
||||
getFunction(nameOrSignature: "deploy"): TypedContractMethod<[
|
||||
_initCode: BytesLike,
|
||||
_salt: BytesLike
|
||||
], [
|
||||
string
|
||||
], "nonpayable">;
|
||||
filters: {};
|
||||
}
|
1
dist/contracts/Governance/index.d.ts
vendored
1
dist/contracts/Governance/index.d.ts
vendored
@ -32,5 +32,6 @@ export type { AdminUpgradeableProxy } from "./AdminUpgradeableProxy";
|
||||
export type { FeeManager } from "./FeeManager";
|
||||
export type { GasCompensationVault } from "./GasCompensationVault";
|
||||
export type { LoopbackProxy } from "./LoopbackProxy";
|
||||
export type { SingletonFactory } from "./SingletonFactory";
|
||||
export type { TornadoRouter } from "./TornadoRouter";
|
||||
export type { TornadoVault } from "./TornadoVault";
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -14,7 +14,7 @@ export declare class Echoer__factory extends ContractFactory {
|
||||
deploymentTransaction(): ContractTransactionResponse;
|
||||
}>;
|
||||
connect(runner: ContractRunner | null): Echoer__factory;
|
||||
static readonly bytecode = "0x6080604052348015600f57600080fd5b506101638061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063624fbfdc14610030575b600080fd5b61004361003e36600461008c565b610045565b005b336001600160a01b03167f50d6f3fc915efd1695d8a4cb50da185984f50d256834b9cb308295eb3c872c9c83836040516100809291906100fe565b60405180910390a25050565b6000806020838503121561009f57600080fd5b823567ffffffffffffffff808211156100b757600080fd5b818501915085601f8301126100cb57600080fd5b8135818111156100da57600080fd5b8660208285010111156100ec57600080fd5b60209290920196919550909350505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f1916010191905056fea2646970667358221220cadc2288aafcfeb373ae536503c025419ca51a0b1642ad003ff215a6bff8658464736f6c63430008190033";
|
||||
static readonly bytecode = "0x6080604052348015600f57600080fd5b506101658061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063624fbfdc14610030575b600080fd5b61004361003e36600461008c565b610045565b005b336001600160a01b03167f50d6f3fc915efd1695d8a4cb50da185984f50d256834b9cb308295eb3c872c9c8383604051610080929190610100565b60405180910390a25050565b6000806020838503121561009f57600080fd5b823567ffffffffffffffff8111156100b657600080fd5b8301601f810185136100c757600080fd5b803567ffffffffffffffff8111156100de57600080fd5b8560208284010111156100f057600080fd5b6020919091019590945092505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f1916010191905056fea264697066735822122050c4191eadbd3981b9be4954b8abbadae91d7cfb743a47cc6930c8fe566e1c6e64736f6c634300081c0033";
|
||||
static readonly abi: readonly [{
|
||||
readonly anonymous: false;
|
||||
readonly inputs: readonly [{
|
||||
|
2
dist/factories/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory__factory.d.ts
vendored
2
dist/factories/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory__factory.d.ts
vendored
File diff suppressed because one or more lines are too long
@ -14,7 +14,7 @@ export declare class BadRecipient__factory extends ContractFactory {
|
||||
deploymentTransaction(): ContractTransactionResponse;
|
||||
}>;
|
||||
connect(runner: ContractRunner | null): BadRecipient__factory;
|
||||
static readonly bytecode = "0x6080604052348015600f57600080fd5b50609c80601d6000396000f3fe6080604052348015600f57600080fd5b5060405162461bcd60e51b815260206004820152602160248201527f7468697320636f6e747261637420646f6573206e6f74206163636570742045546044820152600960fb1b606482015260840160405180910390fdfea264697066735822122034c2432feedadd0f30a6f66555381c20922b6ab7c9b3ede4c27896b23e802a8264736f6c63430008190033";
|
||||
static readonly bytecode = "0x6080604052348015600f57600080fd5b50609c80601d6000396000f3fe6080604052348015600f57600080fd5b5060405162461bcd60e51b815260206004820152602160248201527f7468697320636f6e747261637420646f6573206e6f74206163636570742045546044820152600960fb1b606482015260840160405180910390fdfea2646970667358221220e3ea6c7cc6115518097ca37048fbc2dbf908554443ac49cb9f0f128dbca7c44e64736f6c634300081c0033";
|
||||
static readonly abi: readonly [{
|
||||
readonly stateMutability: "nonpayable";
|
||||
readonly type: "fallback";
|
||||
|
@ -14,7 +14,7 @@ export declare class ERC20Mock__factory extends ContractFactory {
|
||||
deploymentTransaction(): ContractTransactionResponse;
|
||||
}>;
|
||||
connect(runner: ContractRunner | null): ERC20Mock__factory;
|
||||
static readonly bytecode = "0x608060405234801561001057600080fd5b50604051806040016040528060078152602001664441494d6f636b60c81b815250604051806040016040528060048152602001634441494d60e01b815250816003908161005d9190610113565b50600461006a8282610113565b5050506101d2565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061009c57607f821691505b6020821081036100bc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561010e576000816000526020600020601f850160051c810160208610156100eb5750805b601f850160051c820191505b8181101561010a578281556001016100f7565b5050505b505050565b81516001600160401b0381111561012c5761012c610072565b6101408161013a8454610088565b846100c2565b602080601f831160018114610175576000841561015d5750858301515b600019600386901b1c1916600185901b17855561010a565b600085815260208120601f198616915b828110156101a457888601518255948401946001909101908401610185565b50858210156101c25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610785806101e16000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806340c10f191161006657806340c10f191461011857806370a082311461012d57806395d89b4114610156578063a9059cbb1461015e578063dd62ed3e1461017157600080fd5b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100e457806323b872dd146100f6578063313ce56714610109575b600080fd5b6100ab6101aa565b6040516100b891906105ce565b60405180910390f35b6100d46100cf366004610639565b61023c565b60405190151581526020016100b8565b6002545b6040519081526020016100b8565b6100d4610104366004610663565b610256565b604051601281526020016100b8565b61012b610126366004610639565b61027a565b005b6100e861013b36600461069f565b6001600160a01b031660009081526020819052604090205490565b6100ab610288565b6100d461016c366004610639565b610297565b6100e861017f3660046106c1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101b9906106f4565b80601f01602080910402602001604051908101604052809291908181526020018280546101e5906106f4565b80156102325780601f1061020757610100808354040283529160200191610232565b820191906000526020600020905b81548152906001019060200180831161021557829003601f168201915b5050505050905090565b60003361024a8185856102a5565b60019150505b92915050565b6000336102648582856102b7565b61026f85858561033a565b506001949350505050565b6102848282610399565b5050565b6060600480546101b9906106f4565b60003361024a81858561033a565b6102b283838360016103cf565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610334578181101561032557604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b610334848484840360006103cf565b50505050565b6001600160a01b03831661036457604051634b637e8f60e11b81526000600482015260240161031c565b6001600160a01b03821661038e5760405163ec442f0560e01b81526000600482015260240161031c565b6102b28383836104a4565b6001600160a01b0382166103c35760405163ec442f0560e01b81526000600482015260240161031c565b610284600083836104a4565b6001600160a01b0384166103f95760405163e602df0560e01b81526000600482015260240161031c565b6001600160a01b03831661042357604051634a1406b160e11b81526000600482015260240161031c565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561033457826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161049691815260200190565b60405180910390a350505050565b6001600160a01b0383166104cf5780600260008282546104c4919061072e565b909155506105419050565b6001600160a01b038316600090815260208190526040902054818110156105225760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161031c565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661055d5760028054829003905561057c565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105c191815260200190565b60405180910390a3505050565b60006020808352835180602085015260005b818110156105fc578581018301518582016040015282016105e0565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461063457600080fd5b919050565b6000806040838503121561064c57600080fd5b6106558361061d565b946020939093013593505050565b60008060006060848603121561067857600080fd5b6106818461061d565b925061068f6020850161061d565b9150604084013590509250925092565b6000602082840312156106b157600080fd5b6106ba8261061d565b9392505050565b600080604083850312156106d457600080fd5b6106dd8361061d565b91506106eb6020840161061d565b90509250929050565b600181811c9082168061070857607f821691505b60208210810361072857634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561025057634e487b7160e01b600052601160045260246000fdfea264697066735822122058942fcc650d3670455590fabbf6c5726b3ae7df7b57e75bc02cb2c66259d45b64736f6c63430008190033";
|
||||
static readonly bytecode = "0x608060405234801561001057600080fd5b50604051806040016040528060078152602001664441494d6f636b60c81b815250604051806040016040528060048152602001634441494d60e01b815250816003908161005d9190610111565b50600461006a8282610111565b5050506101cf565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061009c57607f821691505b6020821081036100bc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561010c57806000526020600020601f840160051c810160208510156100e95750805b601f840160051c820191505b8181101561010957600081556001016100f5565b50505b505050565b81516001600160401b0381111561012a5761012a610072565b61013e816101388454610088565b846100c2565b6020601f821160018114610172576000831561015a5750848201515b600019600385901b1c1916600184901b178455610109565b600084815260208120601f198516915b828110156101a25787850151825560209485019460019092019101610182565b50848210156101c05786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b610785806101de6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806340c10f191161006657806340c10f191461011857806370a082311461012d57806395d89b4114610156578063a9059cbb1461015e578063dd62ed3e1461017157600080fd5b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100e457806323b872dd146100f6578063313ce56714610109575b600080fd5b6100ab6101aa565b6040516100b891906105ce565b60405180910390f35b6100d46100cf366004610638565b61023c565b60405190151581526020016100b8565b6002545b6040519081526020016100b8565b6100d4610104366004610662565b610256565b604051601281526020016100b8565b61012b610126366004610638565b61027a565b005b6100e861013b36600461069f565b6001600160a01b031660009081526020819052604090205490565b6100ab610288565b6100d461016c366004610638565b610297565b6100e861017f3660046106c1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101b9906106f4565b80601f01602080910402602001604051908101604052809291908181526020018280546101e5906106f4565b80156102325780601f1061020757610100808354040283529160200191610232565b820191906000526020600020905b81548152906001019060200180831161021557829003601f168201915b5050505050905090565b60003361024a8185856102a5565b60019150505b92915050565b6000336102648582856102b7565b61026f85858561033a565b506001949350505050565b6102848282610399565b5050565b6060600480546101b9906106f4565b60003361024a81858561033a565b6102b283838360016103cf565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610334578181101561032557604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b610334848484840360006103cf565b50505050565b6001600160a01b03831661036457604051634b637e8f60e11b81526000600482015260240161031c565b6001600160a01b03821661038e5760405163ec442f0560e01b81526000600482015260240161031c565b6102b28383836104a4565b6001600160a01b0382166103c35760405163ec442f0560e01b81526000600482015260240161031c565b610284600083836104a4565b6001600160a01b0384166103f95760405163e602df0560e01b81526000600482015260240161031c565b6001600160a01b03831661042357604051634a1406b160e11b81526000600482015260240161031c565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561033457826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161049691815260200190565b60405180910390a350505050565b6001600160a01b0383166104cf5780600260008282546104c4919061072e565b909155506105419050565b6001600160a01b038316600090815260208190526040902054818110156105225760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161031c565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661055d5760028054829003905561057c565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105c191815260200190565b60405180910390a3505050565b602081526000825180602084015260005b818110156105fc57602081860181015160408684010152016105df565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461063357600080fd5b919050565b6000806040838503121561064b57600080fd5b6106548361061c565b946020939093013593505050565b60008060006060848603121561067757600080fd5b6106808461061c565b925061068e6020850161061c565b929592945050506040919091013590565b6000602082840312156106b157600080fd5b6106ba8261061c565b9392505050565b600080604083850312156106d457600080fd5b6106dd8361061c565b91506106eb6020840161061c565b90509250929050565b600181811c9082168061070857607f821691505b60208210810361072857634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561025057634e487b7160e01b600052601160045260246000fdfea2646970667358221220df85cece2633b7b39a7e3c92023521dbd4a76129843a0efc262b8e208f146bdf64736f6c634300081c0033";
|
||||
static readonly abi: readonly [{
|
||||
readonly inputs: readonly [{
|
||||
readonly internalType: "address";
|
||||
|
File diff suppressed because one or more lines are too long
477
dist/factories/contracts/Classic/PermitTornado__factory.d.ts
vendored
Normal file
477
dist/factories/contracts/Classic/PermitTornado__factory.d.ts
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
dist/factories/contracts/Classic/index.d.ts
vendored
1
dist/factories/contracts/Classic/index.d.ts
vendored
@ -6,5 +6,6 @@ export * as interfaces from "./interfaces";
|
||||
export { ERC20Tornado__factory } from "./ERC20Tornado__factory";
|
||||
export { ETHTornado__factory } from "./ETHTornado__factory";
|
||||
export { Echoer__factory } from "./Echoer__factory";
|
||||
export { PermitTornado__factory } from "./PermitTornado__factory";
|
||||
export { Verifier__factory } from "./Verifier__factory";
|
||||
export { CTornado__factory } from "./CTornado__factory";
|
||||
|
309
dist/factories/contracts/Classic/interfaces/ISignatureTransfer__factory.d.ts
vendored
Normal file
309
dist/factories/contracts/Classic/interfaces/ISignatureTransfer__factory.d.ts
vendored
Normal file
@ -0,0 +1,309 @@
|
||||
import { type ContractRunner } from "ethers";
|
||||
import type { ISignatureTransfer, ISignatureTransferInterface } from "../../../../contracts/Classic/interfaces/ISignatureTransfer";
|
||||
export declare class ISignatureTransfer__factory {
|
||||
static readonly abi: readonly [{
|
||||
readonly inputs: readonly [{
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "maxAmount";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly name: "InvalidAmount";
|
||||
readonly type: "error";
|
||||
}, {
|
||||
readonly inputs: readonly [];
|
||||
readonly name: "LengthMismatch";
|
||||
readonly type: "error";
|
||||
}, {
|
||||
readonly anonymous: false;
|
||||
readonly inputs: readonly [{
|
||||
readonly indexed: true;
|
||||
readonly internalType: "address";
|
||||
readonly name: "owner";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly indexed: false;
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "word";
|
||||
readonly type: "uint256";
|
||||
}, {
|
||||
readonly indexed: false;
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "mask";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly name: "UnorderedNonceInvalidation";
|
||||
readonly type: "event";
|
||||
}, {
|
||||
readonly inputs: readonly [];
|
||||
readonly name: "DOMAIN_SEPARATOR";
|
||||
readonly outputs: readonly [{
|
||||
readonly internalType: "bytes32";
|
||||
readonly name: "";
|
||||
readonly type: "bytes32";
|
||||
}];
|
||||
readonly stateMutability: "view";
|
||||
readonly type: "function";
|
||||
}, {
|
||||
readonly inputs: readonly [{
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "wordPos";
|
||||
readonly type: "uint256";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "mask";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly name: "invalidateUnorderedNonces";
|
||||
readonly outputs: readonly [];
|
||||
readonly stateMutability: "nonpayable";
|
||||
readonly type: "function";
|
||||
}, {
|
||||
readonly inputs: readonly [{
|
||||
readonly internalType: "address";
|
||||
readonly name: "";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly name: "nonceBitmap";
|
||||
readonly outputs: readonly [{
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly stateMutability: "view";
|
||||
readonly type: "function";
|
||||
}, {
|
||||
readonly inputs: readonly [{
|
||||
readonly components: readonly [{
|
||||
readonly components: readonly [{
|
||||
readonly internalType: "address";
|
||||
readonly name: "token";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "amount";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly internalType: "struct ISignatureTransfer.TokenPermissions";
|
||||
readonly name: "permitted";
|
||||
readonly type: "tuple";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "nonce";
|
||||
readonly type: "uint256";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "deadline";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly internalType: "struct ISignatureTransfer.PermitTransferFrom";
|
||||
readonly name: "permit";
|
||||
readonly type: "tuple";
|
||||
}, {
|
||||
readonly components: readonly [{
|
||||
readonly internalType: "address";
|
||||
readonly name: "to";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "requestedAmount";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly internalType: "struct ISignatureTransfer.SignatureTransferDetails";
|
||||
readonly name: "transferDetails";
|
||||
readonly type: "tuple";
|
||||
}, {
|
||||
readonly internalType: "address";
|
||||
readonly name: "owner";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly internalType: "bytes";
|
||||
readonly name: "signature";
|
||||
readonly type: "bytes";
|
||||
}];
|
||||
readonly name: "permitTransferFrom";
|
||||
readonly outputs: readonly [];
|
||||
readonly stateMutability: "nonpayable";
|
||||
readonly type: "function";
|
||||
}, {
|
||||
readonly inputs: readonly [{
|
||||
readonly components: readonly [{
|
||||
readonly components: readonly [{
|
||||
readonly internalType: "address";
|
||||
readonly name: "token";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "amount";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly internalType: "struct ISignatureTransfer.TokenPermissions[]";
|
||||
readonly name: "permitted";
|
||||
readonly type: "tuple[]";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "nonce";
|
||||
readonly type: "uint256";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "deadline";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly internalType: "struct ISignatureTransfer.PermitBatchTransferFrom";
|
||||
readonly name: "permit";
|
||||
readonly type: "tuple";
|
||||
}, {
|
||||
readonly components: readonly [{
|
||||
readonly internalType: "address";
|
||||
readonly name: "to";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "requestedAmount";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly internalType: "struct ISignatureTransfer.SignatureTransferDetails[]";
|
||||
readonly name: "transferDetails";
|
||||
readonly type: "tuple[]";
|
||||
}, {
|
||||
readonly internalType: "address";
|
||||
readonly name: "owner";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly internalType: "bytes";
|
||||
readonly name: "signature";
|
||||
readonly type: "bytes";
|
||||
}];
|
||||
readonly name: "permitTransferFrom";
|
||||
readonly outputs: readonly [];
|
||||
readonly stateMutability: "nonpayable";
|
||||
readonly type: "function";
|
||||
}, {
|
||||
readonly inputs: readonly [{
|
||||
readonly components: readonly [{
|
||||
readonly components: readonly [{
|
||||
readonly internalType: "address";
|
||||
readonly name: "token";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "amount";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly internalType: "struct ISignatureTransfer.TokenPermissions";
|
||||
readonly name: "permitted";
|
||||
readonly type: "tuple";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "nonce";
|
||||
readonly type: "uint256";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "deadline";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly internalType: "struct ISignatureTransfer.PermitTransferFrom";
|
||||
readonly name: "permit";
|
||||
readonly type: "tuple";
|
||||
}, {
|
||||
readonly components: readonly [{
|
||||
readonly internalType: "address";
|
||||
readonly name: "to";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "requestedAmount";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly internalType: "struct ISignatureTransfer.SignatureTransferDetails";
|
||||
readonly name: "transferDetails";
|
||||
readonly type: "tuple";
|
||||
}, {
|
||||
readonly internalType: "address";
|
||||
readonly name: "owner";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly internalType: "bytes32";
|
||||
readonly name: "witness";
|
||||
readonly type: "bytes32";
|
||||
}, {
|
||||
readonly internalType: "string";
|
||||
readonly name: "witnessTypeString";
|
||||
readonly type: "string";
|
||||
}, {
|
||||
readonly internalType: "bytes";
|
||||
readonly name: "signature";
|
||||
readonly type: "bytes";
|
||||
}];
|
||||
readonly name: "permitWitnessTransferFrom";
|
||||
readonly outputs: readonly [];
|
||||
readonly stateMutability: "nonpayable";
|
||||
readonly type: "function";
|
||||
}, {
|
||||
readonly inputs: readonly [{
|
||||
readonly components: readonly [{
|
||||
readonly components: readonly [{
|
||||
readonly internalType: "address";
|
||||
readonly name: "token";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "amount";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly internalType: "struct ISignatureTransfer.TokenPermissions[]";
|
||||
readonly name: "permitted";
|
||||
readonly type: "tuple[]";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "nonce";
|
||||
readonly type: "uint256";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "deadline";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly internalType: "struct ISignatureTransfer.PermitBatchTransferFrom";
|
||||
readonly name: "permit";
|
||||
readonly type: "tuple";
|
||||
}, {
|
||||
readonly components: readonly [{
|
||||
readonly internalType: "address";
|
||||
readonly name: "to";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly internalType: "uint256";
|
||||
readonly name: "requestedAmount";
|
||||
readonly type: "uint256";
|
||||
}];
|
||||
readonly internalType: "struct ISignatureTransfer.SignatureTransferDetails[]";
|
||||
readonly name: "transferDetails";
|
||||
readonly type: "tuple[]";
|
||||
}, {
|
||||
readonly internalType: "address";
|
||||
readonly name: "owner";
|
||||
readonly type: "address";
|
||||
}, {
|
||||
readonly internalType: "bytes32";
|
||||
readonly name: "witness";
|
||||
readonly type: "bytes32";
|
||||
}, {
|
||||
readonly internalType: "string";
|
||||
readonly name: "witnessTypeString";
|
||||
readonly type: "string";
|
||||
}, {
|
||||
readonly internalType: "bytes";
|
||||
readonly name: "signature";
|
||||
readonly type: "bytes";
|
||||
}];
|
||||
readonly name: "permitWitnessTransferFrom";
|
||||
readonly outputs: readonly [];
|
||||
readonly stateMutability: "nonpayable";
|
||||
readonly type: "function";
|
||||
}];
|
||||
static createInterface(): ISignatureTransferInterface;
|
||||
static connect(address: string, runner?: ContractRunner | null): ISignatureTransfer;
|
||||
}
|
@ -1 +1,2 @@
|
||||
export { IERC20__factory } from "./IERC20__factory";
|
||||
export { ISignatureTransfer__factory } from "./ISignatureTransfer__factory";
|
||||
|
@ -14,7 +14,7 @@ export declare class GasCompensationVault__factory extends ContractFactory {
|
||||
deploymentTransaction(): ContractTransactionResponse;
|
||||
}>;
|
||||
connect(runner: ContractRunner | null): GasCompensationVault__factory;
|
||||
static readonly bytecode = "0x60a0604052348015600f57600080fd5b50604051610472380380610472833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b6080516103da6100986000396000818160560152818160e101528181610212015261027701526103da6000f3fe6080604052600436106100385760003560e01c8063a3221c2e14610044578063a99ce80714610094578063e822f784146100b657600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b506100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b3480156100a057600080fd5b506100b46100af366004610328565b6100d6565b005b3480156100c257600080fd5b506100b46100d1366004610360565b610207565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461013e5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b60448201526064015b60405180910390fd5b47600061014b4884610379565b90508160000361015b5750505050565b6000846001600160a01b03168383116101745782610176565b835b604051600081818185875af1925050503d80600081146101b2576040519150601f19603f3d011682016040523d82523d6000602084013e6101b7565b606091505b50509050806102005760405162461bcd60e51b815260206004820152601560248201527418dbdb5c195b9cd85d194819d85cc819985a5b1959605a1b6044820152606401610135565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026a5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b6044820152606401610135565b4760006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168284116102a457836102a6565b825b604051600081818185875af1925050503d80600081146102e2576040519150601f19603f3d011682016040523d82523d6000602084013e6102e7565b606091505b50509050806103235760405162461bcd60e51b81526020600482015260086024820152671c185e4819985a5b60c21b6044820152606401610135565b505050565b6000806040838503121561033b57600080fd5b82356001600160a01b038116811461035257600080fd5b946020939093013593505050565b60006020828403121561037257600080fd5b5035919050565b808202811582820484141761039e57634e487b7160e01b600052601160045260246000fd5b9291505056fea264697066735822122073841dd5b5d8687d927814633a2fcb7944a306bb89a9b65a0aab4cc361c8312264736f6c63430008190033";
|
||||
static readonly bytecode = "0x60a060405234801561001057600080fd5b5060405161047838038061047883398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516103da61009e6000396000818160560152818160e101528181610212015261027701526103da6000f3fe6080604052600436106100385760003560e01c8063a3221c2e14610044578063a99ce80714610094578063e822f784146100b657600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b506100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b3480156100a057600080fd5b506100b46100af366004610328565b6100d6565b005b3480156100c257600080fd5b506100b46100d1366004610360565b610207565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461013e5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b60448201526064015b60405180910390fd5b47600061014b4884610379565b90508160000361015b5750505050565b6000846001600160a01b03168383116101745782610176565b835b604051600081818185875af1925050503d80600081146101b2576040519150601f19603f3d011682016040523d82523d6000602084013e6101b7565b606091505b50509050806102005760405162461bcd60e51b815260206004820152601560248201527418dbdb5c195b9cd85d194819d85cc819985a5b1959605a1b6044820152606401610135565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026a5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b6044820152606401610135565b4760006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168284116102a457836102a6565b825b604051600081818185875af1925050503d80600081146102e2576040519150601f19603f3d011682016040523d82523d6000602084013e6102e7565b606091505b50509050806103235760405162461bcd60e51b81526020600482015260086024820152671c185e4819985a5b60c21b6044820152606401610135565b505050565b6000806040838503121561033b57600080fd5b82356001600160a01b038116811461035257600080fd5b946020939093013593505050565b60006020828403121561037257600080fd5b5035919050565b808202811582820484141761039e57634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220fbe5a836dfa015bd3b2b1ffb61149001940255ee2f1f9b05c13681937e89ff9264736f6c634300081c0033";
|
||||
static readonly abi: readonly [{
|
||||
readonly inputs: readonly [{
|
||||
readonly internalType: "address";
|
||||
|
40
dist/factories/contracts/Governance/SingletonFactory__factory.d.ts
vendored
Normal file
40
dist/factories/contracts/Governance/SingletonFactory__factory.d.ts
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
import { ContractFactory, ContractTransactionResponse } from "ethers";
|
||||
import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
|
||||
import type { NonPayableOverrides } from "../../../common";
|
||||
import type { SingletonFactory, SingletonFactoryInterface } from "../../../contracts/Governance/SingletonFactory";
|
||||
type SingletonFactoryConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
|
||||
export declare class SingletonFactory__factory extends ContractFactory {
|
||||
constructor(...args: SingletonFactoryConstructorParams);
|
||||
getDeployTransaction(overrides?: NonPayableOverrides & {
|
||||
from?: string;
|
||||
}): Promise<ContractDeployTransaction>;
|
||||
deploy(overrides?: NonPayableOverrides & {
|
||||
from?: string;
|
||||
}): Promise<SingletonFactory & {
|
||||
deploymentTransaction(): ContractTransactionResponse;
|
||||
}>;
|
||||
connect(runner: ContractRunner | null): SingletonFactory__factory;
|
||||
static readonly bytecode = "0x608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212208761ae5cfc40689ce98cd25a56b929c259b167501a941e4f0164890ebab1c0bb64736f6c634300060c0033";
|
||||
static readonly abi: readonly [{
|
||||
readonly inputs: readonly [{
|
||||
readonly internalType: "bytes";
|
||||
readonly name: "_initCode";
|
||||
readonly type: "bytes";
|
||||
}, {
|
||||
readonly internalType: "bytes32";
|
||||
readonly name: "_salt";
|
||||
readonly type: "bytes32";
|
||||
}];
|
||||
readonly name: "deploy";
|
||||
readonly outputs: readonly [{
|
||||
readonly internalType: "address payable";
|
||||
readonly name: "createdContract";
|
||||
readonly type: "address";
|
||||
}];
|
||||
readonly stateMutability: "nonpayable";
|
||||
readonly type: "function";
|
||||
}];
|
||||
static createInterface(): SingletonFactoryInterface;
|
||||
static connect(address: string, runner?: ContractRunner | null): SingletonFactory;
|
||||
}
|
||||
export {};
|
@ -17,5 +17,6 @@ export { AdminUpgradeableProxy__factory } from "./AdminUpgradeableProxy__factory
|
||||
export { FeeManager__factory } from "./FeeManager__factory";
|
||||
export { GasCompensationVault__factory } from "./GasCompensationVault__factory";
|
||||
export { LoopbackProxy__factory } from "./LoopbackProxy__factory";
|
||||
export { SingletonFactory__factory } from "./SingletonFactory__factory";
|
||||
export { TornadoRouter__factory } from "./TornadoRouter__factory";
|
||||
export { TornadoVault__factory } from "./TornadoVault__factory";
|
||||
|
6
dist/index.d.ts
vendored
6
dist/index.d.ts
vendored
@ -35,6 +35,8 @@ export type { ERC20Tornado } from "./contracts/Classic/ERC20Tornado";
|
||||
export { ERC20Tornado__factory } from "./factories/contracts/Classic/ERC20Tornado__factory";
|
||||
export type { ETHTornado } from "./contracts/Classic/ETHTornado";
|
||||
export { ETHTornado__factory } from "./factories/contracts/Classic/ETHTornado__factory";
|
||||
export type { ISignatureTransfer } from "./contracts/Classic/interfaces/ISignatureTransfer";
|
||||
export { ISignatureTransfer__factory } from "./factories/contracts/Classic/interfaces/ISignatureTransfer__factory";
|
||||
export type { IHasher } from "./contracts/Classic/MerkleTreeWithHistory.sol/IHasher";
|
||||
export { IHasher__factory } from "./factories/contracts/Classic/MerkleTreeWithHistory.sol/IHasher__factory";
|
||||
export type { MerkleTreeWithHistory } from "./contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory";
|
||||
@ -51,6 +53,8 @@ export type { IUSDT } from "./contracts/Classic/Mocks/IUSDT.sol/IUSDT";
|
||||
export { IUSDT__factory } from "./factories/contracts/Classic/Mocks/IUSDT.sol/IUSDT__factory";
|
||||
export type { MerkleTreeWithHistoryMock } from "./contracts/Classic/Mocks/MerkleTreeWithHistoryMock";
|
||||
export { MerkleTreeWithHistoryMock__factory } from "./factories/contracts/Classic/Mocks/MerkleTreeWithHistoryMock__factory";
|
||||
export type { PermitTornado } from "./contracts/Classic/PermitTornado";
|
||||
export { PermitTornado__factory } from "./factories/contracts/Classic/PermitTornado__factory";
|
||||
export type { IVerifier } from "./contracts/Classic/Tornado.sol/IVerifier";
|
||||
export { IVerifier__factory } from "./factories/contracts/Classic/Tornado.sol/IVerifier__factory";
|
||||
export type { Tornado } from "./contracts/Classic/Tornado.sol/Tornado";
|
||||
@ -95,6 +99,8 @@ export type { IFeeManager } from "./contracts/Governance/RelayerRegistry.sol/IFe
|
||||
export { IFeeManager__factory } from "./factories/contracts/Governance/RelayerRegistry.sol/IFeeManager__factory";
|
||||
export type { RelayerRegistry } from "./contracts/Governance/RelayerRegistry.sol/RelayerRegistry";
|
||||
export { RelayerRegistry__factory } from "./factories/contracts/Governance/RelayerRegistry.sol/RelayerRegistry__factory";
|
||||
export type { SingletonFactory } from "./contracts/Governance/SingletonFactory";
|
||||
export { SingletonFactory__factory } from "./factories/contracts/Governance/SingletonFactory__factory";
|
||||
export type { TestnetAdminProxy } from "./contracts/Governance/Testnet/TestnetAdminProxy";
|
||||
export { TestnetAdminProxy__factory } from "./factories/contracts/Governance/Testnet/TestnetAdminProxy__factory";
|
||||
export type { TestnetFeeManager } from "./contracts/Governance/Testnet/TestnetFeeManager";
|
||||
|
2687
dist/index.js
vendored
2687
dist/index.js
vendored
File diff suppressed because one or more lines are too long
2686
dist/index.mjs
vendored
2686
dist/index.mjs
vendored
File diff suppressed because one or more lines are too long
@ -39,7 +39,7 @@ const config: HardhatUserConfig = {
|
||||
solidity: {
|
||||
compilers: [
|
||||
{
|
||||
version: '0.8.25',
|
||||
version: '0.8.28',
|
||||
settings: {
|
||||
evmVersion: 'paris',
|
||||
optimizer: {
|
||||
|
42
package.json
42
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tornado/contracts",
|
||||
"version": "1.0.1",
|
||||
"version": "1.0.2",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"types": "./dist/index.d.ts",
|
||||
@ -10,7 +10,7 @@
|
||||
"compile": "hardhat clean && hardhat compile && hardhat flatten:all",
|
||||
"build": "yarn compile && yarn types && rollup -c",
|
||||
"deploy": "hardhat run ./scripts/deploy.ts",
|
||||
"lint": "eslint . --ext .ts --fix"
|
||||
"lint": "eslint . --ext .ts --ignore-pattern dist"
|
||||
},
|
||||
"files": [
|
||||
"contracts",
|
||||
@ -29,35 +29,41 @@
|
||||
"devDependencies": {
|
||||
"@nomicfoundation/hardhat-chai-matchers": "^2.0.6",
|
||||
"@nomicfoundation/hardhat-ethers": "^3.0.5",
|
||||
"@nomicfoundation/hardhat-ignition": "0.15.0",
|
||||
"@nomicfoundation/hardhat-ignition-ethers": "0.15.0",
|
||||
"@nomicfoundation/hardhat-network-helpers": "^1.0.10",
|
||||
"@nomicfoundation/hardhat-toolbox": "4.0.0",
|
||||
"@nomicfoundation/hardhat-toolbox": "^5.0.0",
|
||||
"@nomicfoundation/hardhat-verify": "^2.0.5",
|
||||
"@rollup/plugin-commonjs": "^25.0.7",
|
||||
"@rollup/plugin-node-resolve": "^15.2.3",
|
||||
"@nomicfoundation/ignition-core": "0.15.0",
|
||||
"@rollup/plugin-commonjs": "^28.0.0",
|
||||
"@rollup/plugin-node-resolve": "^15.3.0",
|
||||
"@typechain/ethers-v6": "^0.5.1",
|
||||
"@typechain/hardhat": "^9.1.0",
|
||||
"@types/chai": "^4.3.14",
|
||||
"@types/chai": "^4.3.20",
|
||||
"@types/mocha": "^9.1.1",
|
||||
"@types/node": "^20.12.2",
|
||||
"@typescript-eslint/eslint-plugin": "^7.4.0",
|
||||
"@typescript-eslint/parser": "^7.4.0",
|
||||
"@types/node": "^22.7.5",
|
||||
"@typescript-eslint/eslint-plugin": "^8.8.1",
|
||||
"@typescript-eslint/parser": "^8.8.1",
|
||||
"chai": "^4.4.1",
|
||||
"esbuild": "^0.20.2",
|
||||
"eslint": "^8.57.0",
|
||||
"hardhat": "2.20.1",
|
||||
"hardhat-gas-reporter": "^1.0.10",
|
||||
"esbuild": "^0.24.0",
|
||||
"eslint": "8.57.0",
|
||||
"hardhat": "^2.22.13",
|
||||
"hardhat-gas-reporter": "^2.2.1",
|
||||
"hardhat-storage-layout": "^0.1.7",
|
||||
"hardhat-tracer": "^2.8.1",
|
||||
"rollup": "^4.14.1",
|
||||
"hardhat-tracer": "^3.1.0",
|
||||
"rollup": "^4.24.0",
|
||||
"rollup-plugin-esbuild": "^6.1.1",
|
||||
"solidity-coverage": "^0.8.11",
|
||||
"ts-node": "^10.9.2",
|
||||
"typechain": "^8.3.2",
|
||||
"typescript": "^5.4.3"
|
||||
"typescript": "^5.6.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"ethers": "^6.4.0",
|
||||
"@openzeppelin/contracts": "5.0.2",
|
||||
"@openzeppelin/contracts-v3": "npm:@openzeppelin/contracts@3.2.0-rc.0"
|
||||
"@openzeppelin/contracts-v3": "npm:@openzeppelin/contracts@3.2.0-rc.0",
|
||||
"ethers": "^6.13.4"
|
||||
},
|
||||
"resolutions": {
|
||||
"strip-ansi": "6.0.1"
|
||||
}
|
||||
}
|
||||
|
588
typechain-types/contracts/Classic/PermitTornado.ts
Normal file
588
typechain-types/contracts/Classic/PermitTornado.ts
Normal file
@ -0,0 +1,588 @@
|
||||
/* Autogenerated file. Do not edit manually. */
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
import type {
|
||||
BaseContract,
|
||||
BigNumberish,
|
||||
BytesLike,
|
||||
FunctionFragment,
|
||||
Result,
|
||||
Interface,
|
||||
EventFragment,
|
||||
AddressLike,
|
||||
ContractRunner,
|
||||
ContractMethod,
|
||||
Listener,
|
||||
} from "ethers";
|
||||
import type {
|
||||
TypedContractEvent,
|
||||
TypedDeferredTopicFilter,
|
||||
TypedEventLog,
|
||||
TypedLogDescription,
|
||||
TypedListener,
|
||||
TypedContractMethod,
|
||||
} from "../../common";
|
||||
|
||||
export declare namespace ISignatureTransfer {
|
||||
export type TokenPermissionsStruct = {
|
||||
token: AddressLike;
|
||||
amount: BigNumberish;
|
||||
};
|
||||
|
||||
export type TokenPermissionsStructOutput = [token: string, amount: bigint] & {
|
||||
token: string;
|
||||
amount: bigint;
|
||||
};
|
||||
|
||||
export type PermitTransferFromStruct = {
|
||||
permitted: ISignatureTransfer.TokenPermissionsStruct;
|
||||
nonce: BigNumberish;
|
||||
deadline: BigNumberish;
|
||||
};
|
||||
|
||||
export type PermitTransferFromStructOutput = [
|
||||
permitted: ISignatureTransfer.TokenPermissionsStructOutput,
|
||||
nonce: bigint,
|
||||
deadline: bigint
|
||||
] & {
|
||||
permitted: ISignatureTransfer.TokenPermissionsStructOutput;
|
||||
nonce: bigint;
|
||||
deadline: bigint;
|
||||
};
|
||||
}
|
||||
|
||||
export interface PermitTornadoInterface extends Interface {
|
||||
getFunction(
|
||||
nameOrSignature:
|
||||
| "FIELD_SIZE"
|
||||
| "ROOT_HISTORY_SIZE"
|
||||
| "ZERO_VALUE"
|
||||
| "commitments"
|
||||
| "currentRootIndex"
|
||||
| "denomination"
|
||||
| "deposit"
|
||||
| "depositWithPermit"
|
||||
| "depositWithPermit2"
|
||||
| "filledSubtrees"
|
||||
| "getLastRoot"
|
||||
| "hashLeftRight"
|
||||
| "hasher"
|
||||
| "isKnownRoot"
|
||||
| "isSpent"
|
||||
| "isSpentArray"
|
||||
| "levels"
|
||||
| "nextIndex"
|
||||
| "nullifierHashes"
|
||||
| "permit2"
|
||||
| "roots"
|
||||
| "token"
|
||||
| "tornadoProxyLight"
|
||||
| "verifier"
|
||||
| "withdraw"
|
||||
| "zeros"
|
||||
): FunctionFragment;
|
||||
|
||||
getEvent(nameOrSignatureOrTopic: "Deposit" | "Withdrawal"): EventFragment;
|
||||
|
||||
encodeFunctionData(
|
||||
functionFragment: "FIELD_SIZE",
|
||||
values?: undefined
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "ROOT_HISTORY_SIZE",
|
||||
values?: undefined
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "ZERO_VALUE",
|
||||
values?: undefined
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "commitments",
|
||||
values: [BytesLike]
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "currentRootIndex",
|
||||
values?: undefined
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "denomination",
|
||||
values?: undefined
|
||||
): string;
|
||||
encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "depositWithPermit",
|
||||
values: [
|
||||
BytesLike,
|
||||
AddressLike,
|
||||
BigNumberish,
|
||||
BigNumberish,
|
||||
BytesLike,
|
||||
BytesLike
|
||||
]
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "depositWithPermit2",
|
||||
values: [
|
||||
BytesLike,
|
||||
AddressLike,
|
||||
ISignatureTransfer.PermitTransferFromStruct,
|
||||
BytesLike
|
||||
]
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "filledSubtrees",
|
||||
values: [BigNumberish]
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "getLastRoot",
|
||||
values?: undefined
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "hashLeftRight",
|
||||
values: [AddressLike, BytesLike, BytesLike]
|
||||
): string;
|
||||
encodeFunctionData(functionFragment: "hasher", values?: undefined): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "isKnownRoot",
|
||||
values: [BytesLike]
|
||||
): string;
|
||||
encodeFunctionData(functionFragment: "isSpent", values: [BytesLike]): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "isSpentArray",
|
||||
values: [BytesLike[]]
|
||||
): string;
|
||||
encodeFunctionData(functionFragment: "levels", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "nullifierHashes",
|
||||
values: [BytesLike]
|
||||
): string;
|
||||
encodeFunctionData(functionFragment: "permit2", values?: undefined): string;
|
||||
encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string;
|
||||
encodeFunctionData(functionFragment: "token", values?: undefined): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "tornadoProxyLight",
|
||||
values?: undefined
|
||||
): string;
|
||||
encodeFunctionData(functionFragment: "verifier", values?: undefined): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "withdraw",
|
||||
values: [
|
||||
BytesLike,
|
||||
BytesLike,
|
||||
BytesLike,
|
||||
AddressLike,
|
||||
AddressLike,
|
||||
BigNumberish,
|
||||
BigNumberish
|
||||
]
|
||||
): string;
|
||||
encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string;
|
||||
|
||||
decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "ROOT_HISTORY_SIZE",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "commitments",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "currentRootIndex",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "denomination",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "depositWithPermit",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "depositWithPermit2",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "filledSubtrees",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "getLastRoot",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "hashLeftRight",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "isKnownRoot",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(functionFragment: "isSpent", data: BytesLike): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "isSpentArray",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "nullifierHashes",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(functionFragment: "permit2", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "token", data: BytesLike): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "tornadoProxyLight",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(functionFragment: "verifier", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result;
|
||||
decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result;
|
||||
}
|
||||
|
||||
export namespace DepositEvent {
|
||||
export type InputTuple = [
|
||||
commitment: BytesLike,
|
||||
leafIndex: BigNumberish,
|
||||
timestamp: BigNumberish
|
||||
];
|
||||
export type OutputTuple = [
|
||||
commitment: string,
|
||||
leafIndex: bigint,
|
||||
timestamp: bigint
|
||||
];
|
||||
export interface OutputObject {
|
||||
commitment: string;
|
||||
leafIndex: bigint;
|
||||
timestamp: bigint;
|
||||
}
|
||||
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||
export type Filter = TypedDeferredTopicFilter<Event>;
|
||||
export type Log = TypedEventLog<Event>;
|
||||
export type LogDescription = TypedLogDescription<Event>;
|
||||
}
|
||||
|
||||
export namespace WithdrawalEvent {
|
||||
export type InputTuple = [
|
||||
to: AddressLike,
|
||||
nullifierHash: BytesLike,
|
||||
relayer: AddressLike,
|
||||
fee: BigNumberish
|
||||
];
|
||||
export type OutputTuple = [
|
||||
to: string,
|
||||
nullifierHash: string,
|
||||
relayer: string,
|
||||
fee: bigint
|
||||
];
|
||||
export interface OutputObject {
|
||||
to: string;
|
||||
nullifierHash: string;
|
||||
relayer: string;
|
||||
fee: bigint;
|
||||
}
|
||||
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||
export type Filter = TypedDeferredTopicFilter<Event>;
|
||||
export type Log = TypedEventLog<Event>;
|
||||
export type LogDescription = TypedLogDescription<Event>;
|
||||
}
|
||||
|
||||
export interface PermitTornado extends BaseContract {
|
||||
connect(runner?: ContractRunner | null): PermitTornado;
|
||||
waitForDeployment(): Promise<this>;
|
||||
|
||||
interface: PermitTornadoInterface;
|
||||
|
||||
queryFilter<TCEvent extends TypedContractEvent>(
|
||||
event: TCEvent,
|
||||
fromBlockOrBlockhash?: string | number | undefined,
|
||||
toBlock?: string | number | undefined
|
||||
): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||
queryFilter<TCEvent extends TypedContractEvent>(
|
||||
filter: TypedDeferredTopicFilter<TCEvent>,
|
||||
fromBlockOrBlockhash?: string | number | undefined,
|
||||
toBlock?: string | number | undefined
|
||||
): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||
|
||||
on<TCEvent extends TypedContractEvent>(
|
||||
event: TCEvent,
|
||||
listener: TypedListener<TCEvent>
|
||||
): Promise<this>;
|
||||
on<TCEvent extends TypedContractEvent>(
|
||||
filter: TypedDeferredTopicFilter<TCEvent>,
|
||||
listener: TypedListener<TCEvent>
|
||||
): Promise<this>;
|
||||
|
||||
once<TCEvent extends TypedContractEvent>(
|
||||
event: TCEvent,
|
||||
listener: TypedListener<TCEvent>
|
||||
): Promise<this>;
|
||||
once<TCEvent extends TypedContractEvent>(
|
||||
filter: TypedDeferredTopicFilter<TCEvent>,
|
||||
listener: TypedListener<TCEvent>
|
||||
): Promise<this>;
|
||||
|
||||
listeners<TCEvent extends TypedContractEvent>(
|
||||
event: TCEvent
|
||||
): Promise<Array<TypedListener<TCEvent>>>;
|
||||
listeners(eventName?: string): Promise<Array<Listener>>;
|
||||
removeAllListeners<TCEvent extends TypedContractEvent>(
|
||||
event?: TCEvent
|
||||
): Promise<this>;
|
||||
|
||||
FIELD_SIZE: TypedContractMethod<[], [bigint], "view">;
|
||||
|
||||
ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">;
|
||||
|
||||
ZERO_VALUE: TypedContractMethod<[], [bigint], "view">;
|
||||
|
||||
commitments: TypedContractMethod<[arg0: BytesLike], [boolean], "view">;
|
||||
|
||||
currentRootIndex: TypedContractMethod<[], [bigint], "view">;
|
||||
|
||||
denomination: TypedContractMethod<[], [bigint], "view">;
|
||||
|
||||
deposit: TypedContractMethod<[_commitment: BytesLike], [void], "payable">;
|
||||
|
||||
depositWithPermit: TypedContractMethod<
|
||||
[
|
||||
commitment: BytesLike,
|
||||
owner: AddressLike,
|
||||
deadline: BigNumberish,
|
||||
v: BigNumberish,
|
||||
r: BytesLike,
|
||||
s: BytesLike
|
||||
],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
|
||||
depositWithPermit2: TypedContractMethod<
|
||||
[
|
||||
commitment: BytesLike,
|
||||
owner: AddressLike,
|
||||
_permit: ISignatureTransfer.PermitTransferFromStruct,
|
||||
_signature: BytesLike
|
||||
],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
|
||||
filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">;
|
||||
|
||||
getLastRoot: TypedContractMethod<[], [string], "view">;
|
||||
|
||||
hashLeftRight: TypedContractMethod<
|
||||
[_hasher: AddressLike, _left: BytesLike, _right: BytesLike],
|
||||
[string],
|
||||
"view"
|
||||
>;
|
||||
|
||||
hasher: TypedContractMethod<[], [string], "view">;
|
||||
|
||||
isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">;
|
||||
|
||||
isSpent: TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">;
|
||||
|
||||
isSpentArray: TypedContractMethod<
|
||||
[_nullifierHashes: BytesLike[]],
|
||||
[boolean[]],
|
||||
"view"
|
||||
>;
|
||||
|
||||
levels: TypedContractMethod<[], [bigint], "view">;
|
||||
|
||||
nextIndex: TypedContractMethod<[], [bigint], "view">;
|
||||
|
||||
nullifierHashes: TypedContractMethod<[arg0: BytesLike], [boolean], "view">;
|
||||
|
||||
permit2: TypedContractMethod<[], [string], "view">;
|
||||
|
||||
roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">;
|
||||
|
||||
token: TypedContractMethod<[], [string], "view">;
|
||||
|
||||
tornadoProxyLight: TypedContractMethod<[], [string], "view">;
|
||||
|
||||
verifier: TypedContractMethod<[], [string], "view">;
|
||||
|
||||
withdraw: TypedContractMethod<
|
||||
[
|
||||
_proof: BytesLike,
|
||||
_root: BytesLike,
|
||||
_nullifierHash: BytesLike,
|
||||
_recipient: AddressLike,
|
||||
_relayer: AddressLike,
|
||||
_fee: BigNumberish,
|
||||
_refund: BigNumberish
|
||||
],
|
||||
[void],
|
||||
"payable"
|
||||
>;
|
||||
|
||||
zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">;
|
||||
|
||||
getFunction<T extends ContractMethod = ContractMethod>(
|
||||
key: string | FunctionFragment
|
||||
): T;
|
||||
|
||||
getFunction(
|
||||
nameOrSignature: "FIELD_SIZE"
|
||||
): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "ROOT_HISTORY_SIZE"
|
||||
): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "ZERO_VALUE"
|
||||
): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "commitments"
|
||||
): TypedContractMethod<[arg0: BytesLike], [boolean], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "currentRootIndex"
|
||||
): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "denomination"
|
||||
): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "deposit"
|
||||
): TypedContractMethod<[_commitment: BytesLike], [void], "payable">;
|
||||
getFunction(
|
||||
nameOrSignature: "depositWithPermit"
|
||||
): TypedContractMethod<
|
||||
[
|
||||
commitment: BytesLike,
|
||||
owner: AddressLike,
|
||||
deadline: BigNumberish,
|
||||
v: BigNumberish,
|
||||
r: BytesLike,
|
||||
s: BytesLike
|
||||
],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
getFunction(
|
||||
nameOrSignature: "depositWithPermit2"
|
||||
): TypedContractMethod<
|
||||
[
|
||||
commitment: BytesLike,
|
||||
owner: AddressLike,
|
||||
_permit: ISignatureTransfer.PermitTransferFromStruct,
|
||||
_signature: BytesLike
|
||||
],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
getFunction(
|
||||
nameOrSignature: "filledSubtrees"
|
||||
): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "getLastRoot"
|
||||
): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "hashLeftRight"
|
||||
): TypedContractMethod<
|
||||
[_hasher: AddressLike, _left: BytesLike, _right: BytesLike],
|
||||
[string],
|
||||
"view"
|
||||
>;
|
||||
getFunction(
|
||||
nameOrSignature: "hasher"
|
||||
): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "isKnownRoot"
|
||||
): TypedContractMethod<[_root: BytesLike], [boolean], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "isSpent"
|
||||
): TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "isSpentArray"
|
||||
): TypedContractMethod<[_nullifierHashes: BytesLike[]], [boolean[]], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "levels"
|
||||
): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "nextIndex"
|
||||
): TypedContractMethod<[], [bigint], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "nullifierHashes"
|
||||
): TypedContractMethod<[arg0: BytesLike], [boolean], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "permit2"
|
||||
): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "roots"
|
||||
): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "token"
|
||||
): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "tornadoProxyLight"
|
||||
): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "verifier"
|
||||
): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "withdraw"
|
||||
): TypedContractMethod<
|
||||
[
|
||||
_proof: BytesLike,
|
||||
_root: BytesLike,
|
||||
_nullifierHash: BytesLike,
|
||||
_recipient: AddressLike,
|
||||
_relayer: AddressLike,
|
||||
_fee: BigNumberish,
|
||||
_refund: BigNumberish
|
||||
],
|
||||
[void],
|
||||
"payable"
|
||||
>;
|
||||
getFunction(
|
||||
nameOrSignature: "zeros"
|
||||
): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
|
||||
|
||||
getEvent(
|
||||
key: "Deposit"
|
||||
): TypedContractEvent<
|
||||
DepositEvent.InputTuple,
|
||||
DepositEvent.OutputTuple,
|
||||
DepositEvent.OutputObject
|
||||
>;
|
||||
getEvent(
|
||||
key: "Withdrawal"
|
||||
): TypedContractEvent<
|
||||
WithdrawalEvent.InputTuple,
|
||||
WithdrawalEvent.OutputTuple,
|
||||
WithdrawalEvent.OutputObject
|
||||
>;
|
||||
|
||||
filters: {
|
||||
"Deposit(bytes32,uint32,uint256)": TypedContractEvent<
|
||||
DepositEvent.InputTuple,
|
||||
DepositEvent.OutputTuple,
|
||||
DepositEvent.OutputObject
|
||||
>;
|
||||
Deposit: TypedContractEvent<
|
||||
DepositEvent.InputTuple,
|
||||
DepositEvent.OutputTuple,
|
||||
DepositEvent.OutputObject
|
||||
>;
|
||||
|
||||
"Withdrawal(address,bytes32,address,uint256)": TypedContractEvent<
|
||||
WithdrawalEvent.InputTuple,
|
||||
WithdrawalEvent.OutputTuple,
|
||||
WithdrawalEvent.OutputObject
|
||||
>;
|
||||
Withdrawal: TypedContractEvent<
|
||||
WithdrawalEvent.InputTuple,
|
||||
WithdrawalEvent.OutputTuple,
|
||||
WithdrawalEvent.OutputObject
|
||||
>;
|
||||
};
|
||||
}
|
@ -14,5 +14,6 @@ export type { interfaces };
|
||||
export type { ERC20Tornado } from "./ERC20Tornado";
|
||||
export type { ETHTornado } from "./ETHTornado";
|
||||
export type { Echoer } from "./Echoer";
|
||||
export type { PermitTornado } from "./PermitTornado";
|
||||
export type { Verifier } from "./Verifier";
|
||||
export type { CTornado } from "./CTornado";
|
||||
|
@ -0,0 +1,394 @@
|
||||
/* Autogenerated file. Do not edit manually. */
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
import type {
|
||||
BaseContract,
|
||||
BigNumberish,
|
||||
BytesLike,
|
||||
FunctionFragment,
|
||||
Result,
|
||||
Interface,
|
||||
EventFragment,
|
||||
AddressLike,
|
||||
ContractRunner,
|
||||
ContractMethod,
|
||||
Listener,
|
||||
} from "ethers";
|
||||
import type {
|
||||
TypedContractEvent,
|
||||
TypedDeferredTopicFilter,
|
||||
TypedEventLog,
|
||||
TypedLogDescription,
|
||||
TypedListener,
|
||||
TypedContractMethod,
|
||||
} from "../../../common";
|
||||
|
||||
export declare namespace ISignatureTransfer {
|
||||
export type TokenPermissionsStruct = {
|
||||
token: AddressLike;
|
||||
amount: BigNumberish;
|
||||
};
|
||||
|
||||
export type TokenPermissionsStructOutput = [token: string, amount: bigint] & {
|
||||
token: string;
|
||||
amount: bigint;
|
||||
};
|
||||
|
||||
export type PermitTransferFromStruct = {
|
||||
permitted: ISignatureTransfer.TokenPermissionsStruct;
|
||||
nonce: BigNumberish;
|
||||
deadline: BigNumberish;
|
||||
};
|
||||
|
||||
export type PermitTransferFromStructOutput = [
|
||||
permitted: ISignatureTransfer.TokenPermissionsStructOutput,
|
||||
nonce: bigint,
|
||||
deadline: bigint
|
||||
] & {
|
||||
permitted: ISignatureTransfer.TokenPermissionsStructOutput;
|
||||
nonce: bigint;
|
||||
deadline: bigint;
|
||||
};
|
||||
|
||||
export type SignatureTransferDetailsStruct = {
|
||||
to: AddressLike;
|
||||
requestedAmount: BigNumberish;
|
||||
};
|
||||
|
||||
export type SignatureTransferDetailsStructOutput = [
|
||||
to: string,
|
||||
requestedAmount: bigint
|
||||
] & { to: string; requestedAmount: bigint };
|
||||
|
||||
export type PermitBatchTransferFromStruct = {
|
||||
permitted: ISignatureTransfer.TokenPermissionsStruct[];
|
||||
nonce: BigNumberish;
|
||||
deadline: BigNumberish;
|
||||
};
|
||||
|
||||
export type PermitBatchTransferFromStructOutput = [
|
||||
permitted: ISignatureTransfer.TokenPermissionsStructOutput[],
|
||||
nonce: bigint,
|
||||
deadline: bigint
|
||||
] & {
|
||||
permitted: ISignatureTransfer.TokenPermissionsStructOutput[];
|
||||
nonce: bigint;
|
||||
deadline: bigint;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ISignatureTransferInterface extends Interface {
|
||||
getFunction(
|
||||
nameOrSignature:
|
||||
| "DOMAIN_SEPARATOR"
|
||||
| "invalidateUnorderedNonces"
|
||||
| "nonceBitmap"
|
||||
| "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)"
|
||||
| "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)"
|
||||
| "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)"
|
||||
| "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)"
|
||||
): FunctionFragment;
|
||||
|
||||
getEvent(nameOrSignatureOrTopic: "UnorderedNonceInvalidation"): EventFragment;
|
||||
|
||||
encodeFunctionData(
|
||||
functionFragment: "DOMAIN_SEPARATOR",
|
||||
values?: undefined
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "invalidateUnorderedNonces",
|
||||
values: [BigNumberish, BigNumberish]
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "nonceBitmap",
|
||||
values: [AddressLike, BigNumberish]
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)",
|
||||
values: [
|
||||
ISignatureTransfer.PermitTransferFromStruct,
|
||||
ISignatureTransfer.SignatureTransferDetailsStruct,
|
||||
AddressLike,
|
||||
BytesLike
|
||||
]
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)",
|
||||
values: [
|
||||
ISignatureTransfer.PermitBatchTransferFromStruct,
|
||||
ISignatureTransfer.SignatureTransferDetailsStruct[],
|
||||
AddressLike,
|
||||
BytesLike
|
||||
]
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)",
|
||||
values: [
|
||||
ISignatureTransfer.PermitTransferFromStruct,
|
||||
ISignatureTransfer.SignatureTransferDetailsStruct,
|
||||
AddressLike,
|
||||
BytesLike,
|
||||
string,
|
||||
BytesLike
|
||||
]
|
||||
): string;
|
||||
encodeFunctionData(
|
||||
functionFragment: "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)",
|
||||
values: [
|
||||
ISignatureTransfer.PermitBatchTransferFromStruct,
|
||||
ISignatureTransfer.SignatureTransferDetailsStruct[],
|
||||
AddressLike,
|
||||
BytesLike,
|
||||
string,
|
||||
BytesLike
|
||||
]
|
||||
): string;
|
||||
|
||||
decodeFunctionResult(
|
||||
functionFragment: "DOMAIN_SEPARATOR",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "invalidateUnorderedNonces",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "nonceBitmap",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
decodeFunctionResult(
|
||||
functionFragment: "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)",
|
||||
data: BytesLike
|
||||
): Result;
|
||||
}
|
||||
|
||||
export namespace UnorderedNonceInvalidationEvent {
|
||||
export type InputTuple = [
|
||||
owner: AddressLike,
|
||||
word: BigNumberish,
|
||||
mask: BigNumberish
|
||||
];
|
||||
export type OutputTuple = [owner: string, word: bigint, mask: bigint];
|
||||
export interface OutputObject {
|
||||
owner: string;
|
||||
word: bigint;
|
||||
mask: bigint;
|
||||
}
|
||||
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
|
||||
export type Filter = TypedDeferredTopicFilter<Event>;
|
||||
export type Log = TypedEventLog<Event>;
|
||||
export type LogDescription = TypedLogDescription<Event>;
|
||||
}
|
||||
|
||||
export interface ISignatureTransfer extends BaseContract {
|
||||
connect(runner?: ContractRunner | null): ISignatureTransfer;
|
||||
waitForDeployment(): Promise<this>;
|
||||
|
||||
interface: ISignatureTransferInterface;
|
||||
|
||||
queryFilter<TCEvent extends TypedContractEvent>(
|
||||
event: TCEvent,
|
||||
fromBlockOrBlockhash?: string | number | undefined,
|
||||
toBlock?: string | number | undefined
|
||||
): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||
queryFilter<TCEvent extends TypedContractEvent>(
|
||||
filter: TypedDeferredTopicFilter<TCEvent>,
|
||||
fromBlockOrBlockhash?: string | number | undefined,
|
||||
toBlock?: string | number | undefined
|
||||
): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||
|
||||
on<TCEvent extends TypedContractEvent>(
|
||||
event: TCEvent,
|
||||
listener: TypedListener<TCEvent>
|
||||
): Promise<this>;
|
||||
on<TCEvent extends TypedContractEvent>(
|
||||
filter: TypedDeferredTopicFilter<TCEvent>,
|
||||
listener: TypedListener<TCEvent>
|
||||
): Promise<this>;
|
||||
|
||||
once<TCEvent extends TypedContractEvent>(
|
||||
event: TCEvent,
|
||||
listener: TypedListener<TCEvent>
|
||||
): Promise<this>;
|
||||
once<TCEvent extends TypedContractEvent>(
|
||||
filter: TypedDeferredTopicFilter<TCEvent>,
|
||||
listener: TypedListener<TCEvent>
|
||||
): Promise<this>;
|
||||
|
||||
listeners<TCEvent extends TypedContractEvent>(
|
||||
event: TCEvent
|
||||
): Promise<Array<TypedListener<TCEvent>>>;
|
||||
listeners(eventName?: string): Promise<Array<Listener>>;
|
||||
removeAllListeners<TCEvent extends TypedContractEvent>(
|
||||
event?: TCEvent
|
||||
): Promise<this>;
|
||||
|
||||
DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">;
|
||||
|
||||
invalidateUnorderedNonces: TypedContractMethod<
|
||||
[wordPos: BigNumberish, mask: BigNumberish],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
|
||||
nonceBitmap: TypedContractMethod<
|
||||
[arg0: AddressLike, arg1: BigNumberish],
|
||||
[bigint],
|
||||
"view"
|
||||
>;
|
||||
|
||||
"permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)": TypedContractMethod<
|
||||
[
|
||||
permit: ISignatureTransfer.PermitTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct,
|
||||
owner: AddressLike,
|
||||
signature: BytesLike
|
||||
],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
|
||||
"permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)": TypedContractMethod<
|
||||
[
|
||||
permit: ISignatureTransfer.PermitBatchTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[],
|
||||
owner: AddressLike,
|
||||
signature: BytesLike
|
||||
],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
|
||||
"permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)": TypedContractMethod<
|
||||
[
|
||||
permit: ISignatureTransfer.PermitTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct,
|
||||
owner: AddressLike,
|
||||
witness: BytesLike,
|
||||
witnessTypeString: string,
|
||||
signature: BytesLike
|
||||
],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
|
||||
"permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)": TypedContractMethod<
|
||||
[
|
||||
permit: ISignatureTransfer.PermitBatchTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[],
|
||||
owner: AddressLike,
|
||||
witness: BytesLike,
|
||||
witnessTypeString: string,
|
||||
signature: BytesLike
|
||||
],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
|
||||
getFunction<T extends ContractMethod = ContractMethod>(
|
||||
key: string | FunctionFragment
|
||||
): T;
|
||||
|
||||
getFunction(
|
||||
nameOrSignature: "DOMAIN_SEPARATOR"
|
||||
): TypedContractMethod<[], [string], "view">;
|
||||
getFunction(
|
||||
nameOrSignature: "invalidateUnorderedNonces"
|
||||
): TypedContractMethod<
|
||||
[wordPos: BigNumberish, mask: BigNumberish],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
getFunction(
|
||||
nameOrSignature: "nonceBitmap"
|
||||
): TypedContractMethod<
|
||||
[arg0: AddressLike, arg1: BigNumberish],
|
||||
[bigint],
|
||||
"view"
|
||||
>;
|
||||
getFunction(
|
||||
nameOrSignature: "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)"
|
||||
): TypedContractMethod<
|
||||
[
|
||||
permit: ISignatureTransfer.PermitTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct,
|
||||
owner: AddressLike,
|
||||
signature: BytesLike
|
||||
],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
getFunction(
|
||||
nameOrSignature: "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)"
|
||||
): TypedContractMethod<
|
||||
[
|
||||
permit: ISignatureTransfer.PermitBatchTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[],
|
||||
owner: AddressLike,
|
||||
signature: BytesLike
|
||||
],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
getFunction(
|
||||
nameOrSignature: "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)"
|
||||
): TypedContractMethod<
|
||||
[
|
||||
permit: ISignatureTransfer.PermitTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct,
|
||||
owner: AddressLike,
|
||||
witness: BytesLike,
|
||||
witnessTypeString: string,
|
||||
signature: BytesLike
|
||||
],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
getFunction(
|
||||
nameOrSignature: "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)"
|
||||
): TypedContractMethod<
|
||||
[
|
||||
permit: ISignatureTransfer.PermitBatchTransferFromStruct,
|
||||
transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[],
|
||||
owner: AddressLike,
|
||||
witness: BytesLike,
|
||||
witnessTypeString: string,
|
||||
signature: BytesLike
|
||||
],
|
||||
[void],
|
||||
"nonpayable"
|
||||
>;
|
||||
|
||||
getEvent(
|
||||
key: "UnorderedNonceInvalidation"
|
||||
): TypedContractEvent<
|
||||
UnorderedNonceInvalidationEvent.InputTuple,
|
||||
UnorderedNonceInvalidationEvent.OutputTuple,
|
||||
UnorderedNonceInvalidationEvent.OutputObject
|
||||
>;
|
||||
|
||||
filters: {
|
||||
"UnorderedNonceInvalidation(address,uint256,uint256)": TypedContractEvent<
|
||||
UnorderedNonceInvalidationEvent.InputTuple,
|
||||
UnorderedNonceInvalidationEvent.OutputTuple,
|
||||
UnorderedNonceInvalidationEvent.OutputObject
|
||||
>;
|
||||
UnorderedNonceInvalidation: TypedContractEvent<
|
||||
UnorderedNonceInvalidationEvent.InputTuple,
|
||||
UnorderedNonceInvalidationEvent.OutputTuple,
|
||||
UnorderedNonceInvalidationEvent.OutputObject
|
||||
>;
|
||||
};
|
||||
}
|
@ -2,3 +2,4 @@
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
export type { IERC20 } from "./IERC20";
|
||||
export type { ISignatureTransfer } from "./ISignatureTransfer";
|
||||
|
95
typechain-types/contracts/Governance/SingletonFactory.ts
Normal file
95
typechain-types/contracts/Governance/SingletonFactory.ts
Normal file
@ -0,0 +1,95 @@
|
||||
/* Autogenerated file. Do not edit manually. */
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
import type {
|
||||
BaseContract,
|
||||
BytesLike,
|
||||
FunctionFragment,
|
||||
Result,
|
||||
Interface,
|
||||
ContractRunner,
|
||||
ContractMethod,
|
||||
Listener,
|
||||
} from "ethers";
|
||||
import type {
|
||||
TypedContractEvent,
|
||||
TypedDeferredTopicFilter,
|
||||
TypedEventLog,
|
||||
TypedListener,
|
||||
TypedContractMethod,
|
||||
} from "../../common";
|
||||
|
||||
export interface SingletonFactoryInterface extends Interface {
|
||||
getFunction(nameOrSignature: "deploy"): FunctionFragment;
|
||||
|
||||
encodeFunctionData(
|
||||
functionFragment: "deploy",
|
||||
values: [BytesLike, BytesLike]
|
||||
): string;
|
||||
|
||||
decodeFunctionResult(functionFragment: "deploy", data: BytesLike): Result;
|
||||
}
|
||||
|
||||
export interface SingletonFactory extends BaseContract {
|
||||
connect(runner?: ContractRunner | null): SingletonFactory;
|
||||
waitForDeployment(): Promise<this>;
|
||||
|
||||
interface: SingletonFactoryInterface;
|
||||
|
||||
queryFilter<TCEvent extends TypedContractEvent>(
|
||||
event: TCEvent,
|
||||
fromBlockOrBlockhash?: string | number | undefined,
|
||||
toBlock?: string | number | undefined
|
||||
): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||
queryFilter<TCEvent extends TypedContractEvent>(
|
||||
filter: TypedDeferredTopicFilter<TCEvent>,
|
||||
fromBlockOrBlockhash?: string | number | undefined,
|
||||
toBlock?: string | number | undefined
|
||||
): Promise<Array<TypedEventLog<TCEvent>>>;
|
||||
|
||||
on<TCEvent extends TypedContractEvent>(
|
||||
event: TCEvent,
|
||||
listener: TypedListener<TCEvent>
|
||||
): Promise<this>;
|
||||
on<TCEvent extends TypedContractEvent>(
|
||||
filter: TypedDeferredTopicFilter<TCEvent>,
|
||||
listener: TypedListener<TCEvent>
|
||||
): Promise<this>;
|
||||
|
||||
once<TCEvent extends TypedContractEvent>(
|
||||
event: TCEvent,
|
||||
listener: TypedListener<TCEvent>
|
||||
): Promise<this>;
|
||||
once<TCEvent extends TypedContractEvent>(
|
||||
filter: TypedDeferredTopicFilter<TCEvent>,
|
||||
listener: TypedListener<TCEvent>
|
||||
): Promise<this>;
|
||||
|
||||
listeners<TCEvent extends TypedContractEvent>(
|
||||
event: TCEvent
|
||||
): Promise<Array<TypedListener<TCEvent>>>;
|
||||
listeners(eventName?: string): Promise<Array<Listener>>;
|
||||
removeAllListeners<TCEvent extends TypedContractEvent>(
|
||||
event?: TCEvent
|
||||
): Promise<this>;
|
||||
|
||||
deploy: TypedContractMethod<
|
||||
[_initCode: BytesLike, _salt: BytesLike],
|
||||
[string],
|
||||
"nonpayable"
|
||||
>;
|
||||
|
||||
getFunction<T extends ContractMethod = ContractMethod>(
|
||||
key: string | FunctionFragment
|
||||
): T;
|
||||
|
||||
getFunction(
|
||||
nameOrSignature: "deploy"
|
||||
): TypedContractMethod<
|
||||
[_initCode: BytesLike, _salt: BytesLike],
|
||||
[string],
|
||||
"nonpayable"
|
||||
>;
|
||||
|
||||
filters: {};
|
||||
}
|
@ -35,5 +35,6 @@ export type { AdminUpgradeableProxy } from "./AdminUpgradeableProxy";
|
||||
export type { FeeManager } from "./FeeManager";
|
||||
export type { GasCompensationVault } from "./GasCompensationVault";
|
||||
export type { LoopbackProxy } from "./LoopbackProxy";
|
||||
export type { SingletonFactory } from "./SingletonFactory";
|
||||
export type { TornadoRouter } from "./TornadoRouter";
|
||||
export type { TornadoVault } from "./TornadoVault";
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -50,7 +50,7 @@ const _abi = [
|
||||
] as const;
|
||||
|
||||
const _bytecode =
|
||||
"0x6080604052348015600f57600080fd5b506101638061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063624fbfdc14610030575b600080fd5b61004361003e36600461008c565b610045565b005b336001600160a01b03167f50d6f3fc915efd1695d8a4cb50da185984f50d256834b9cb308295eb3c872c9c83836040516100809291906100fe565b60405180910390a25050565b6000806020838503121561009f57600080fd5b823567ffffffffffffffff808211156100b757600080fd5b818501915085601f8301126100cb57600080fd5b8135818111156100da57600080fd5b8660208285010111156100ec57600080fd5b60209290920196919550909350505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f1916010191905056fea2646970667358221220cadc2288aafcfeb373ae536503c025419ca51a0b1642ad003ff215a6bff8658464736f6c63430008190033";
|
||||
"0x6080604052348015600f57600080fd5b506101658061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063624fbfdc14610030575b600080fd5b61004361003e36600461008c565b610045565b005b336001600160a01b03167f50d6f3fc915efd1695d8a4cb50da185984f50d256834b9cb308295eb3c872c9c8383604051610080929190610100565b60405180910390a25050565b6000806020838503121561009f57600080fd5b823567ffffffffffffffff8111156100b657600080fd5b8301601f810185136100c757600080fd5b803567ffffffffffffffff8111156100de57600080fd5b8560208284010111156100f057600080fd5b6020919091019590945092505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f1916010191905056fea264697066735822122050c4191eadbd3981b9be4954b8abbadae91d7cfb743a47cc6930c8fe566e1c6e64736f6c634300081c0033";
|
||||
|
||||
type EchoerConstructorParams =
|
||||
| [signer?: Signer]
|
||||
|
File diff suppressed because one or more lines are too long
@ -22,7 +22,7 @@ const _abi = [
|
||||
] as const;
|
||||
|
||||
const _bytecode =
|
||||
"0x6080604052348015600f57600080fd5b50609c80601d6000396000f3fe6080604052348015600f57600080fd5b5060405162461bcd60e51b815260206004820152602160248201527f7468697320636f6e747261637420646f6573206e6f74206163636570742045546044820152600960fb1b606482015260840160405180910390fdfea264697066735822122034c2432feedadd0f30a6f66555381c20922b6ab7c9b3ede4c27896b23e802a8264736f6c63430008190033";
|
||||
"0x6080604052348015600f57600080fd5b50609c80601d6000396000f3fe6080604052348015600f57600080fd5b5060405162461bcd60e51b815260206004820152602160248201527f7468697320636f6e747261637420646f6573206e6f74206163636570742045546044820152600960fb1b606482015260840160405180910390fdfea2646970667358221220e3ea6c7cc6115518097ca37048fbc2dbf908554443ac49cb9f0f128dbca7c44e64736f6c634300081c0033";
|
||||
|
||||
type BadRecipientConstructorParams =
|
||||
| [signer?: Signer]
|
||||
|
@ -344,7 +344,7 @@ const _abi = [
|
||||
] as const;
|
||||
|
||||
const _bytecode =
|
||||
"0x608060405234801561001057600080fd5b50604051806040016040528060078152602001664441494d6f636b60c81b815250604051806040016040528060048152602001634441494d60e01b815250816003908161005d9190610113565b50600461006a8282610113565b5050506101d2565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061009c57607f821691505b6020821081036100bc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561010e576000816000526020600020601f850160051c810160208610156100eb5750805b601f850160051c820191505b8181101561010a578281556001016100f7565b5050505b505050565b81516001600160401b0381111561012c5761012c610072565b6101408161013a8454610088565b846100c2565b602080601f831160018114610175576000841561015d5750858301515b600019600386901b1c1916600185901b17855561010a565b600085815260208120601f198616915b828110156101a457888601518255948401946001909101908401610185565b50858210156101c25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610785806101e16000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806340c10f191161006657806340c10f191461011857806370a082311461012d57806395d89b4114610156578063a9059cbb1461015e578063dd62ed3e1461017157600080fd5b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100e457806323b872dd146100f6578063313ce56714610109575b600080fd5b6100ab6101aa565b6040516100b891906105ce565b60405180910390f35b6100d46100cf366004610639565b61023c565b60405190151581526020016100b8565b6002545b6040519081526020016100b8565b6100d4610104366004610663565b610256565b604051601281526020016100b8565b61012b610126366004610639565b61027a565b005b6100e861013b36600461069f565b6001600160a01b031660009081526020819052604090205490565b6100ab610288565b6100d461016c366004610639565b610297565b6100e861017f3660046106c1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101b9906106f4565b80601f01602080910402602001604051908101604052809291908181526020018280546101e5906106f4565b80156102325780601f1061020757610100808354040283529160200191610232565b820191906000526020600020905b81548152906001019060200180831161021557829003601f168201915b5050505050905090565b60003361024a8185856102a5565b60019150505b92915050565b6000336102648582856102b7565b61026f85858561033a565b506001949350505050565b6102848282610399565b5050565b6060600480546101b9906106f4565b60003361024a81858561033a565b6102b283838360016103cf565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610334578181101561032557604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b610334848484840360006103cf565b50505050565b6001600160a01b03831661036457604051634b637e8f60e11b81526000600482015260240161031c565b6001600160a01b03821661038e5760405163ec442f0560e01b81526000600482015260240161031c565b6102b28383836104a4565b6001600160a01b0382166103c35760405163ec442f0560e01b81526000600482015260240161031c565b610284600083836104a4565b6001600160a01b0384166103f95760405163e602df0560e01b81526000600482015260240161031c565b6001600160a01b03831661042357604051634a1406b160e11b81526000600482015260240161031c565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561033457826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161049691815260200190565b60405180910390a350505050565b6001600160a01b0383166104cf5780600260008282546104c4919061072e565b909155506105419050565b6001600160a01b038316600090815260208190526040902054818110156105225760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161031c565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661055d5760028054829003905561057c565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105c191815260200190565b60405180910390a3505050565b60006020808352835180602085015260005b818110156105fc578581018301518582016040015282016105e0565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461063457600080fd5b919050565b6000806040838503121561064c57600080fd5b6106558361061d565b946020939093013593505050565b60008060006060848603121561067857600080fd5b6106818461061d565b925061068f6020850161061d565b9150604084013590509250925092565b6000602082840312156106b157600080fd5b6106ba8261061d565b9392505050565b600080604083850312156106d457600080fd5b6106dd8361061d565b91506106eb6020840161061d565b90509250929050565b600181811c9082168061070857607f821691505b60208210810361072857634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561025057634e487b7160e01b600052601160045260246000fdfea264697066735822122058942fcc650d3670455590fabbf6c5726b3ae7df7b57e75bc02cb2c66259d45b64736f6c63430008190033";
|
||||
"0x608060405234801561001057600080fd5b50604051806040016040528060078152602001664441494d6f636b60c81b815250604051806040016040528060048152602001634441494d60e01b815250816003908161005d9190610111565b50600461006a8282610111565b5050506101cf565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061009c57607f821691505b6020821081036100bc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561010c57806000526020600020601f840160051c810160208510156100e95750805b601f840160051c820191505b8181101561010957600081556001016100f5565b50505b505050565b81516001600160401b0381111561012a5761012a610072565b61013e816101388454610088565b846100c2565b6020601f821160018114610172576000831561015a5750848201515b600019600385901b1c1916600184901b178455610109565b600084815260208120601f198516915b828110156101a25787850151825560209485019460019092019101610182565b50848210156101c05786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b610785806101de6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806340c10f191161006657806340c10f191461011857806370a082311461012d57806395d89b4114610156578063a9059cbb1461015e578063dd62ed3e1461017157600080fd5b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100e457806323b872dd146100f6578063313ce56714610109575b600080fd5b6100ab6101aa565b6040516100b891906105ce565b60405180910390f35b6100d46100cf366004610638565b61023c565b60405190151581526020016100b8565b6002545b6040519081526020016100b8565b6100d4610104366004610662565b610256565b604051601281526020016100b8565b61012b610126366004610638565b61027a565b005b6100e861013b36600461069f565b6001600160a01b031660009081526020819052604090205490565b6100ab610288565b6100d461016c366004610638565b610297565b6100e861017f3660046106c1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101b9906106f4565b80601f01602080910402602001604051908101604052809291908181526020018280546101e5906106f4565b80156102325780601f1061020757610100808354040283529160200191610232565b820191906000526020600020905b81548152906001019060200180831161021557829003601f168201915b5050505050905090565b60003361024a8185856102a5565b60019150505b92915050565b6000336102648582856102b7565b61026f85858561033a565b506001949350505050565b6102848282610399565b5050565b6060600480546101b9906106f4565b60003361024a81858561033a565b6102b283838360016103cf565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610334578181101561032557604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b610334848484840360006103cf565b50505050565b6001600160a01b03831661036457604051634b637e8f60e11b81526000600482015260240161031c565b6001600160a01b03821661038e5760405163ec442f0560e01b81526000600482015260240161031c565b6102b28383836104a4565b6001600160a01b0382166103c35760405163ec442f0560e01b81526000600482015260240161031c565b610284600083836104a4565b6001600160a01b0384166103f95760405163e602df0560e01b81526000600482015260240161031c565b6001600160a01b03831661042357604051634a1406b160e11b81526000600482015260240161031c565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561033457826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161049691815260200190565b60405180910390a350505050565b6001600160a01b0383166104cf5780600260008282546104c4919061072e565b909155506105419050565b6001600160a01b038316600090815260208190526040902054818110156105225760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161031c565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661055d5760028054829003905561057c565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105c191815260200190565b60405180910390a3505050565b602081526000825180602084015260005b818110156105fc57602081860181015160408684010152016105df565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461063357600080fd5b919050565b6000806040838503121561064b57600080fd5b6106548361061c565b946020939093013593505050565b60008060006060848603121561067757600080fd5b6106808461061c565b925061068e6020850161061c565b929592945050506040919091013590565b6000602082840312156106b157600080fd5b6106ba8261061c565b9392505050565b600080604083850312156106d457600080fd5b6106dd8361061c565b91506106eb6020840161061c565b90509250929050565b600181811c9082168061070857607f821691505b60208210810361072857634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561025057634e487b7160e01b600052601160045260246000fdfea2646970667358221220df85cece2633b7b39a7e3c92023521dbd4a76129843a0efc262b8e208f146bdf64736f6c634300081c0033";
|
||||
|
||||
type ERC20MockConstructorParams =
|
||||
| [signer?: Signer]
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -9,5 +9,6 @@ export * as interfaces from "./interfaces";
|
||||
export { ERC20Tornado__factory } from "./ERC20Tornado__factory";
|
||||
export { ETHTornado__factory } from "./ETHTornado__factory";
|
||||
export { Echoer__factory } from "./Echoer__factory";
|
||||
export { PermitTornado__factory } from "./PermitTornado__factory";
|
||||
export { Verifier__factory } from "./Verifier__factory";
|
||||
export { CTornado__factory } from "./CTornado__factory";
|
||||
|
417
typechain-types/factories/contracts/Classic/interfaces/ISignatureTransfer__factory.ts
Normal file
417
typechain-types/factories/contracts/Classic/interfaces/ISignatureTransfer__factory.ts
Normal file
@ -0,0 +1,417 @@
|
||||
/* Autogenerated file. Do not edit manually. */
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
|
||||
import { Contract, Interface, type ContractRunner } from "ethers";
|
||||
import type {
|
||||
ISignatureTransfer,
|
||||
ISignatureTransferInterface,
|
||||
} from "../../../../contracts/Classic/interfaces/ISignatureTransfer";
|
||||
|
||||
const _abi = [
|
||||
{
|
||||
inputs: [
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "maxAmount",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
name: "InvalidAmount",
|
||||
type: "error",
|
||||
},
|
||||
{
|
||||
inputs: [],
|
||||
name: "LengthMismatch",
|
||||
type: "error",
|
||||
},
|
||||
{
|
||||
anonymous: false,
|
||||
inputs: [
|
||||
{
|
||||
indexed: true,
|
||||
internalType: "address",
|
||||
name: "owner",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
indexed: false,
|
||||
internalType: "uint256",
|
||||
name: "word",
|
||||
type: "uint256",
|
||||
},
|
||||
{
|
||||
indexed: false,
|
||||
internalType: "uint256",
|
||||
name: "mask",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
name: "UnorderedNonceInvalidation",
|
||||
type: "event",
|
||||
},
|
||||
{
|
||||
inputs: [],
|
||||
name: "DOMAIN_SEPARATOR",
|
||||
outputs: [
|
||||
{
|
||||
internalType: "bytes32",
|
||||
name: "",
|
||||
type: "bytes32",
|
||||
},
|
||||
],
|
||||
stateMutability: "view",
|
||||
type: "function",
|
||||
},
|
||||
{
|
||||
inputs: [
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "wordPos",
|
||||
type: "uint256",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "mask",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
name: "invalidateUnorderedNonces",
|
||||
outputs: [],
|
||||
stateMutability: "nonpayable",
|
||||
type: "function",
|
||||
},
|
||||
{
|
||||
inputs: [
|
||||
{
|
||||
internalType: "address",
|
||||
name: "",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
name: "nonceBitmap",
|
||||
outputs: [
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
stateMutability: "view",
|
||||
type: "function",
|
||||
},
|
||||
{
|
||||
inputs: [
|
||||
{
|
||||
components: [
|
||||
{
|
||||
components: [
|
||||
{
|
||||
internalType: "address",
|
||||
name: "token",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "amount",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
internalType: "struct ISignatureTransfer.TokenPermissions",
|
||||
name: "permitted",
|
||||
type: "tuple",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "nonce",
|
||||
type: "uint256",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "deadline",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
internalType: "struct ISignatureTransfer.PermitTransferFrom",
|
||||
name: "permit",
|
||||
type: "tuple",
|
||||
},
|
||||
{
|
||||
components: [
|
||||
{
|
||||
internalType: "address",
|
||||
name: "to",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "requestedAmount",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
internalType: "struct ISignatureTransfer.SignatureTransferDetails",
|
||||
name: "transferDetails",
|
||||
type: "tuple",
|
||||
},
|
||||
{
|
||||
internalType: "address",
|
||||
name: "owner",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
internalType: "bytes",
|
||||
name: "signature",
|
||||
type: "bytes",
|
||||
},
|
||||
],
|
||||
name: "permitTransferFrom",
|
||||
outputs: [],
|
||||
stateMutability: "nonpayable",
|
||||
type: "function",
|
||||
},
|
||||
{
|
||||
inputs: [
|
||||
{
|
||||
components: [
|
||||
{
|
||||
components: [
|
||||
{
|
||||
internalType: "address",
|
||||
name: "token",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "amount",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
internalType: "struct ISignatureTransfer.TokenPermissions[]",
|
||||
name: "permitted",
|
||||
type: "tuple[]",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "nonce",
|
||||
type: "uint256",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "deadline",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
internalType: "struct ISignatureTransfer.PermitBatchTransferFrom",
|
||||
name: "permit",
|
||||
type: "tuple",
|
||||
},
|
||||
{
|
||||
components: [
|
||||
{
|
||||
internalType: "address",
|
||||
name: "to",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "requestedAmount",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
internalType: "struct ISignatureTransfer.SignatureTransferDetails[]",
|
||||
name: "transferDetails",
|
||||
type: "tuple[]",
|
||||
},
|
||||
{
|
||||
internalType: "address",
|
||||
name: "owner",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
internalType: "bytes",
|
||||
name: "signature",
|
||||
type: "bytes",
|
||||
},
|
||||
],
|
||||
name: "permitTransferFrom",
|
||||
outputs: [],
|
||||
stateMutability: "nonpayable",
|
||||
type: "function",
|
||||
},
|
||||
{
|
||||
inputs: [
|
||||
{
|
||||
components: [
|
||||
{
|
||||
components: [
|
||||
{
|
||||
internalType: "address",
|
||||
name: "token",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "amount",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
internalType: "struct ISignatureTransfer.TokenPermissions",
|
||||
name: "permitted",
|
||||
type: "tuple",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "nonce",
|
||||
type: "uint256",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "deadline",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
internalType: "struct ISignatureTransfer.PermitTransferFrom",
|
||||
name: "permit",
|
||||
type: "tuple",
|
||||
},
|
||||
{
|
||||
components: [
|
||||
{
|
||||
internalType: "address",
|
||||
name: "to",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "requestedAmount",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
internalType: "struct ISignatureTransfer.SignatureTransferDetails",
|
||||
name: "transferDetails",
|
||||
type: "tuple",
|
||||
},
|
||||
{
|
||||
internalType: "address",
|
||||
name: "owner",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
internalType: "bytes32",
|
||||
name: "witness",
|
||||
type: "bytes32",
|
||||
},
|
||||
{
|
||||
internalType: "string",
|
||||
name: "witnessTypeString",
|
||||
type: "string",
|
||||
},
|
||||
{
|
||||
internalType: "bytes",
|
||||
name: "signature",
|
||||
type: "bytes",
|
||||
},
|
||||
],
|
||||
name: "permitWitnessTransferFrom",
|
||||
outputs: [],
|
||||
stateMutability: "nonpayable",
|
||||
type: "function",
|
||||
},
|
||||
{
|
||||
inputs: [
|
||||
{
|
||||
components: [
|
||||
{
|
||||
components: [
|
||||
{
|
||||
internalType: "address",
|
||||
name: "token",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "amount",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
internalType: "struct ISignatureTransfer.TokenPermissions[]",
|
||||
name: "permitted",
|
||||
type: "tuple[]",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "nonce",
|
||||
type: "uint256",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "deadline",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
internalType: "struct ISignatureTransfer.PermitBatchTransferFrom",
|
||||
name: "permit",
|
||||
type: "tuple",
|
||||
},
|
||||
{
|
||||
components: [
|
||||
{
|
||||
internalType: "address",
|
||||
name: "to",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
internalType: "uint256",
|
||||
name: "requestedAmount",
|
||||
type: "uint256",
|
||||
},
|
||||
],
|
||||
internalType: "struct ISignatureTransfer.SignatureTransferDetails[]",
|
||||
name: "transferDetails",
|
||||
type: "tuple[]",
|
||||
},
|
||||
{
|
||||
internalType: "address",
|
||||
name: "owner",
|
||||
type: "address",
|
||||
},
|
||||
{
|
||||
internalType: "bytes32",
|
||||
name: "witness",
|
||||
type: "bytes32",
|
||||
},
|
||||
{
|
||||
internalType: "string",
|
||||
name: "witnessTypeString",
|
||||
type: "string",
|
||||
},
|
||||
{
|
||||
internalType: "bytes",
|
||||
name: "signature",
|
||||
type: "bytes",
|
||||
},
|
||||
],
|
||||
name: "permitWitnessTransferFrom",
|
||||
outputs: [],
|
||||
stateMutability: "nonpayable",
|
||||
type: "function",
|
||||
},
|
||||
] as const;
|
||||
|
||||
export class ISignatureTransfer__factory {
|
||||
static readonly abi = _abi;
|
||||
static createInterface(): ISignatureTransferInterface {
|
||||
return new Interface(_abi) as ISignatureTransferInterface;
|
||||
}
|
||||
static connect(
|
||||
address: string,
|
||||
runner?: ContractRunner | null
|
||||
): ISignatureTransfer {
|
||||
return new Contract(address, _abi, runner) as unknown as ISignatureTransfer;
|
||||
}
|
||||
}
|
@ -2,3 +2,4 @@
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
export { IERC20__factory } from "./IERC20__factory";
|
||||
export { ISignatureTransfer__factory } from "./ISignatureTransfer__factory";
|
||||
|
@ -82,7 +82,7 @@ const _abi = [
|
||||
] as const;
|
||||
|
||||
const _bytecode =
|
||||
"0x60a0604052348015600f57600080fd5b50604051610472380380610472833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b6080516103da6100986000396000818160560152818160e101528181610212015261027701526103da6000f3fe6080604052600436106100385760003560e01c8063a3221c2e14610044578063a99ce80714610094578063e822f784146100b657600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b506100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b3480156100a057600080fd5b506100b46100af366004610328565b6100d6565b005b3480156100c257600080fd5b506100b46100d1366004610360565b610207565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461013e5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b60448201526064015b60405180910390fd5b47600061014b4884610379565b90508160000361015b5750505050565b6000846001600160a01b03168383116101745782610176565b835b604051600081818185875af1925050503d80600081146101b2576040519150601f19603f3d011682016040523d82523d6000602084013e6101b7565b606091505b50509050806102005760405162461bcd60e51b815260206004820152601560248201527418dbdb5c195b9cd85d194819d85cc819985a5b1959605a1b6044820152606401610135565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026a5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b6044820152606401610135565b4760006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168284116102a457836102a6565b825b604051600081818185875af1925050503d80600081146102e2576040519150601f19603f3d011682016040523d82523d6000602084013e6102e7565b606091505b50509050806103235760405162461bcd60e51b81526020600482015260086024820152671c185e4819985a5b60c21b6044820152606401610135565b505050565b6000806040838503121561033b57600080fd5b82356001600160a01b038116811461035257600080fd5b946020939093013593505050565b60006020828403121561037257600080fd5b5035919050565b808202811582820484141761039e57634e487b7160e01b600052601160045260246000fd5b9291505056fea264697066735822122073841dd5b5d8687d927814633a2fcb7944a306bb89a9b65a0aab4cc361c8312264736f6c63430008190033";
|
||||
"0x60a060405234801561001057600080fd5b5060405161047838038061047883398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516103da61009e6000396000818160560152818160e101528181610212015261027701526103da6000f3fe6080604052600436106100385760003560e01c8063a3221c2e14610044578063a99ce80714610094578063e822f784146100b657600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b506100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b3480156100a057600080fd5b506100b46100af366004610328565b6100d6565b005b3480156100c257600080fd5b506100b46100d1366004610360565b610207565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461013e5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b60448201526064015b60405180910390fd5b47600061014b4884610379565b90508160000361015b5750505050565b6000846001600160a01b03168383116101745782610176565b835b604051600081818185875af1925050503d80600081146101b2576040519150601f19603f3d011682016040523d82523d6000602084013e6101b7565b606091505b50509050806102005760405162461bcd60e51b815260206004820152601560248201527418dbdb5c195b9cd85d194819d85cc819985a5b1959605a1b6044820152606401610135565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026a5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b6044820152606401610135565b4760006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168284116102a457836102a6565b825b604051600081818185875af1925050503d80600081146102e2576040519150601f19603f3d011682016040523d82523d6000602084013e6102e7565b606091505b50509050806103235760405162461bcd60e51b81526020600482015260086024820152671c185e4819985a5b60c21b6044820152606401610135565b505050565b6000806040838503121561033b57600080fd5b82356001600160a01b038116811461035257600080fd5b946020939093013593505050565b60006020828403121561037257600080fd5b5035919050565b808202811582820484141761039e57634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220fbe5a836dfa015bd3b2b1ffb61149001940255ee2f1f9b05c13681937e89ff9264736f6c634300081c0033";
|
||||
|
||||
type GasCompensationVaultConstructorParams =
|
||||
| [signer?: Signer]
|
||||
|
@ -0,0 +1,91 @@
|
||||
/* Autogenerated file. Do not edit manually. */
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
import {
|
||||
Contract,
|
||||
ContractFactory,
|
||||
ContractTransactionResponse,
|
||||
Interface,
|
||||
} from "ethers";
|
||||
import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
|
||||
import type { NonPayableOverrides } from "../../../common";
|
||||
import type {
|
||||
SingletonFactory,
|
||||
SingletonFactoryInterface,
|
||||
} from "../../../contracts/Governance/SingletonFactory";
|
||||
|
||||
const _abi = [
|
||||
{
|
||||
inputs: [
|
||||
{
|
||||
internalType: "bytes",
|
||||
name: "_initCode",
|
||||
type: "bytes",
|
||||
},
|
||||
{
|
||||
internalType: "bytes32",
|
||||
name: "_salt",
|
||||
type: "bytes32",
|
||||
},
|
||||
],
|
||||
name: "deploy",
|
||||
outputs: [
|
||||
{
|
||||
internalType: "address payable",
|
||||
name: "createdContract",
|
||||
type: "address",
|
||||
},
|
||||
],
|
||||
stateMutability: "nonpayable",
|
||||
type: "function",
|
||||
},
|
||||
] as const;
|
||||
|
||||
const _bytecode =
|
||||
"0x608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212208761ae5cfc40689ce98cd25a56b929c259b167501a941e4f0164890ebab1c0bb64736f6c634300060c0033";
|
||||
|
||||
type SingletonFactoryConstructorParams =
|
||||
| [signer?: Signer]
|
||||
| ConstructorParameters<typeof ContractFactory>;
|
||||
|
||||
const isSuperArgs = (
|
||||
xs: SingletonFactoryConstructorParams
|
||||
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
||||
|
||||
export class SingletonFactory__factory extends ContractFactory {
|
||||
constructor(...args: SingletonFactoryConstructorParams) {
|
||||
if (isSuperArgs(args)) {
|
||||
super(...args);
|
||||
} else {
|
||||
super(_abi, _bytecode, args[0]);
|
||||
}
|
||||
}
|
||||
|
||||
override getDeployTransaction(
|
||||
overrides?: NonPayableOverrides & { from?: string }
|
||||
): Promise<ContractDeployTransaction> {
|
||||
return super.getDeployTransaction(overrides || {});
|
||||
}
|
||||
override deploy(overrides?: NonPayableOverrides & { from?: string }) {
|
||||
return super.deploy(overrides || {}) as Promise<
|
||||
SingletonFactory & {
|
||||
deploymentTransaction(): ContractTransactionResponse;
|
||||
}
|
||||
>;
|
||||
}
|
||||
override connect(runner: ContractRunner | null): SingletonFactory__factory {
|
||||
return super.connect(runner) as SingletonFactory__factory;
|
||||
}
|
||||
|
||||
static readonly bytecode = _bytecode;
|
||||
static readonly abi = _abi;
|
||||
static createInterface(): SingletonFactoryInterface {
|
||||
return new Interface(_abi) as SingletonFactoryInterface;
|
||||
}
|
||||
static connect(
|
||||
address: string,
|
||||
runner?: ContractRunner | null
|
||||
): SingletonFactory {
|
||||
return new Contract(address, _abi, runner) as unknown as SingletonFactory;
|
||||
}
|
||||
}
|
@ -20,5 +20,6 @@ export { AdminUpgradeableProxy__factory } from "./AdminUpgradeableProxy__factory
|
||||
export { FeeManager__factory } from "./FeeManager__factory";
|
||||
export { GasCompensationVault__factory } from "./GasCompensationVault__factory";
|
||||
export { LoopbackProxy__factory } from "./LoopbackProxy__factory";
|
||||
export { SingletonFactory__factory } from "./SingletonFactory__factory";
|
||||
export { TornadoRouter__factory } from "./TornadoRouter__factory";
|
||||
export { TornadoVault__factory } from "./TornadoVault__factory";
|
||||
|
54
typechain-types/hardhat.d.ts
vendored
54
typechain-types/hardhat.d.ts
vendored
@ -89,6 +89,10 @@ declare module "hardhat/types/runtime" {
|
||||
name: "IERC20",
|
||||
signerOrOptions?: ethers.Signer | FactoryOptions
|
||||
): Promise<Contracts.IERC20__factory>;
|
||||
getContractFactory(
|
||||
name: "ISignatureTransfer",
|
||||
signerOrOptions?: ethers.Signer | FactoryOptions
|
||||
): Promise<Contracts.ISignatureTransfer__factory>;
|
||||
getContractFactory(
|
||||
name: "IHasher",
|
||||
signerOrOptions?: ethers.Signer | FactoryOptions
|
||||
@ -121,6 +125,10 @@ declare module "hardhat/types/runtime" {
|
||||
name: "MerkleTreeWithHistoryMock",
|
||||
signerOrOptions?: ethers.Signer | FactoryOptions
|
||||
): Promise<Contracts.MerkleTreeWithHistoryMock__factory>;
|
||||
getContractFactory(
|
||||
name: "PermitTornado",
|
||||
signerOrOptions?: ethers.Signer | FactoryOptions
|
||||
): Promise<Contracts.PermitTornado__factory>;
|
||||
getContractFactory(
|
||||
name: "IVerifier",
|
||||
signerOrOptions?: ethers.Signer | FactoryOptions
|
||||
@ -217,6 +225,10 @@ declare module "hardhat/types/runtime" {
|
||||
name: "RelayerRegistry",
|
||||
signerOrOptions?: ethers.Signer | FactoryOptions
|
||||
): Promise<Contracts.RelayerRegistry__factory>;
|
||||
getContractFactory(
|
||||
name: "SingletonFactory",
|
||||
signerOrOptions?: ethers.Signer | FactoryOptions
|
||||
): Promise<Contracts.SingletonFactory__factory>;
|
||||
getContractFactory(
|
||||
name: "TestnetAdminProxy",
|
||||
signerOrOptions?: ethers.Signer | FactoryOptions
|
||||
@ -541,6 +553,11 @@ declare module "hardhat/types/runtime" {
|
||||
address: string | ethers.Addressable,
|
||||
signer?: ethers.Signer
|
||||
): Promise<Contracts.IERC20>;
|
||||
getContractAt(
|
||||
name: "ISignatureTransfer",
|
||||
address: string | ethers.Addressable,
|
||||
signer?: ethers.Signer
|
||||
): Promise<Contracts.ISignatureTransfer>;
|
||||
getContractAt(
|
||||
name: "IHasher",
|
||||
address: string | ethers.Addressable,
|
||||
@ -581,6 +598,11 @@ declare module "hardhat/types/runtime" {
|
||||
address: string | ethers.Addressable,
|
||||
signer?: ethers.Signer
|
||||
): Promise<Contracts.MerkleTreeWithHistoryMock>;
|
||||
getContractAt(
|
||||
name: "PermitTornado",
|
||||
address: string | ethers.Addressable,
|
||||
signer?: ethers.Signer
|
||||
): Promise<Contracts.PermitTornado>;
|
||||
getContractAt(
|
||||
name: "IVerifier",
|
||||
address: string | ethers.Addressable,
|
||||
@ -701,6 +723,11 @@ declare module "hardhat/types/runtime" {
|
||||
address: string | ethers.Addressable,
|
||||
signer?: ethers.Signer
|
||||
): Promise<Contracts.RelayerRegistry>;
|
||||
getContractAt(
|
||||
name: "SingletonFactory",
|
||||
address: string | ethers.Addressable,
|
||||
signer?: ethers.Signer
|
||||
): Promise<Contracts.SingletonFactory>;
|
||||
getContractAt(
|
||||
name: "TestnetAdminProxy",
|
||||
address: string | ethers.Addressable,
|
||||
@ -1063,6 +1090,10 @@ declare module "hardhat/types/runtime" {
|
||||
name: "IERC20",
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
): Promise<Contracts.IERC20>;
|
||||
deployContract(
|
||||
name: "ISignatureTransfer",
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
): Promise<Contracts.ISignatureTransfer>;
|
||||
deployContract(
|
||||
name: "IHasher",
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
@ -1095,6 +1126,10 @@ declare module "hardhat/types/runtime" {
|
||||
name: "MerkleTreeWithHistoryMock",
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
): Promise<Contracts.MerkleTreeWithHistoryMock>;
|
||||
deployContract(
|
||||
name: "PermitTornado",
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
): Promise<Contracts.PermitTornado>;
|
||||
deployContract(
|
||||
name: "IVerifier",
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
@ -1191,6 +1226,10 @@ declare module "hardhat/types/runtime" {
|
||||
name: "RelayerRegistry",
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
): Promise<Contracts.RelayerRegistry>;
|
||||
deployContract(
|
||||
name: "SingletonFactory",
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
): Promise<Contracts.SingletonFactory>;
|
||||
deployContract(
|
||||
name: "TestnetAdminProxy",
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
@ -1515,6 +1554,11 @@ declare module "hardhat/types/runtime" {
|
||||
args: any[],
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
): Promise<Contracts.IERC20>;
|
||||
deployContract(
|
||||
name: "ISignatureTransfer",
|
||||
args: any[],
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
): Promise<Contracts.ISignatureTransfer>;
|
||||
deployContract(
|
||||
name: "IHasher",
|
||||
args: any[],
|
||||
@ -1555,6 +1599,11 @@ declare module "hardhat/types/runtime" {
|
||||
args: any[],
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
): Promise<Contracts.MerkleTreeWithHistoryMock>;
|
||||
deployContract(
|
||||
name: "PermitTornado",
|
||||
args: any[],
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
): Promise<Contracts.PermitTornado>;
|
||||
deployContract(
|
||||
name: "IVerifier",
|
||||
args: any[],
|
||||
@ -1675,6 +1724,11 @@ declare module "hardhat/types/runtime" {
|
||||
args: any[],
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
): Promise<Contracts.RelayerRegistry>;
|
||||
deployContract(
|
||||
name: "SingletonFactory",
|
||||
args: any[],
|
||||
signerOrOptions?: ethers.Signer | DeployContractOptions
|
||||
): Promise<Contracts.SingletonFactory>;
|
||||
deployContract(
|
||||
name: "TestnetAdminProxy",
|
||||
args: any[],
|
||||
|
@ -38,6 +38,8 @@ export type { ERC20Tornado } from "./contracts/Classic/ERC20Tornado";
|
||||
export { ERC20Tornado__factory } from "./factories/contracts/Classic/ERC20Tornado__factory";
|
||||
export type { ETHTornado } from "./contracts/Classic/ETHTornado";
|
||||
export { ETHTornado__factory } from "./factories/contracts/Classic/ETHTornado__factory";
|
||||
export type { ISignatureTransfer } from "./contracts/Classic/interfaces/ISignatureTransfer";
|
||||
export { ISignatureTransfer__factory } from "./factories/contracts/Classic/interfaces/ISignatureTransfer__factory";
|
||||
export type { IHasher } from "./contracts/Classic/MerkleTreeWithHistory.sol/IHasher";
|
||||
export { IHasher__factory } from "./factories/contracts/Classic/MerkleTreeWithHistory.sol/IHasher__factory";
|
||||
export type { MerkleTreeWithHistory } from "./contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory";
|
||||
@ -54,6 +56,8 @@ export type { IUSDT } from "./contracts/Classic/Mocks/IUSDT.sol/IUSDT";
|
||||
export { IUSDT__factory } from "./factories/contracts/Classic/Mocks/IUSDT.sol/IUSDT__factory";
|
||||
export type { MerkleTreeWithHistoryMock } from "./contracts/Classic/Mocks/MerkleTreeWithHistoryMock";
|
||||
export { MerkleTreeWithHistoryMock__factory } from "./factories/contracts/Classic/Mocks/MerkleTreeWithHistoryMock__factory";
|
||||
export type { PermitTornado } from "./contracts/Classic/PermitTornado";
|
||||
export { PermitTornado__factory } from "./factories/contracts/Classic/PermitTornado__factory";
|
||||
export type { IVerifier } from "./contracts/Classic/Tornado.sol/IVerifier";
|
||||
export { IVerifier__factory } from "./factories/contracts/Classic/Tornado.sol/IVerifier__factory";
|
||||
export type { Tornado } from "./contracts/Classic/Tornado.sol/Tornado";
|
||||
@ -98,6 +102,8 @@ export type { IFeeManager } from "./contracts/Governance/RelayerRegistry.sol/IFe
|
||||
export { IFeeManager__factory } from "./factories/contracts/Governance/RelayerRegistry.sol/IFeeManager__factory";
|
||||
export type { RelayerRegistry } from "./contracts/Governance/RelayerRegistry.sol/RelayerRegistry";
|
||||
export { RelayerRegistry__factory } from "./factories/contracts/Governance/RelayerRegistry.sol/RelayerRegistry__factory";
|
||||
export type { SingletonFactory } from "./contracts/Governance/SingletonFactory";
|
||||
export { SingletonFactory__factory } from "./factories/contracts/Governance/SingletonFactory__factory";
|
||||
export type { TestnetAdminProxy } from "./contracts/Governance/Testnet/TestnetAdminProxy";
|
||||
export { TestnetAdminProxy__factory } from "./factories/contracts/Governance/Testnet/TestnetAdminProxy__factory";
|
||||
export type { TestnetFeeManager } from "./contracts/Governance/Testnet/TestnetFeeManager";
|
||||
|
Loading…
Reference in New Issue
Block a user