Files
2025-12-27 21:16:53 -08:00

8930 lines
211 KiB
TypeScript

/**
* This file is autogenerated by Scaffold-ETH.
* You should not edit it manually or your changes might be overwritten.
*/
import { GenericContractsDeclaration } from "~~/utils/scaffold-eth/contract";
const deployedContracts = {
31337: {
FTM: {
address: "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6",
abi: [
{
inputs: [
{
internalType: "string",
name: "name_",
type: "string",
},
{
internalType: "string",
name: "symbol_",
type: "string",
},
{
internalType: "uint8",
name: "decimals_",
type: "uint8",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "allowance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientAllowance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
{
internalType: "uint256",
name: "balance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientBalance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "approver",
type: "address",
},
],
name: "ERC20InvalidApprover",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "receiver",
type: "address",
},
],
name: "ERC20InvalidReceiver",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
],
name: "ERC20InvalidSender",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "ERC20InvalidSpender",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "spender",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Approval",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Transfer",
type: "event",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "allowance",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "approve",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "balanceOf",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "burn",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "decimals",
outputs: [
{
internalType: "uint8",
name: "",
type: "uint8",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "mint",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "name",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "symbol",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "totalSupply",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "transfer",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "transferFrom",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
],
inheritedFunctions: {},
},
MATIC: {
address: "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853",
abi: [
{
inputs: [
{
internalType: "string",
name: "name_",
type: "string",
},
{
internalType: "string",
name: "symbol_",
type: "string",
},
{
internalType: "uint8",
name: "decimals_",
type: "uint8",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "allowance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientAllowance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
{
internalType: "uint256",
name: "balance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientBalance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "approver",
type: "address",
},
],
name: "ERC20InvalidApprover",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "receiver",
type: "address",
},
],
name: "ERC20InvalidReceiver",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
],
name: "ERC20InvalidSender",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "ERC20InvalidSpender",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "spender",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Approval",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Transfer",
type: "event",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "allowance",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "approve",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "balanceOf",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "burn",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "decimals",
outputs: [
{
internalType: "uint8",
name: "",
type: "uint8",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "mint",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "name",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "symbol",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "totalSupply",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "transfer",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "transferFrom",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
],
inheritedFunctions: {},
},
Multicall3: {
address: "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
abi: [
{
inputs: [
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "bytes",
name: "callData",
type: "bytes",
},
],
internalType: "struct Multicall3.Call[]",
name: "calls",
type: "tuple[]",
},
],
name: "aggregate",
outputs: [
{
internalType: "uint256",
name: "blockNumber",
type: "uint256",
},
{
internalType: "bytes[]",
name: "returnData",
type: "bytes[]",
},
],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "bool",
name: "allowFailure",
type: "bool",
},
{
internalType: "bytes",
name: "callData",
type: "bytes",
},
],
internalType: "struct Multicall3.Call3[]",
name: "calls",
type: "tuple[]",
},
],
name: "aggregate3",
outputs: [
{
components: [
{
internalType: "bool",
name: "success",
type: "bool",
},
{
internalType: "bytes",
name: "returnData",
type: "bytes",
},
],
internalType: "struct Multicall3.Result[]",
name: "returnData",
type: "tuple[]",
},
],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "bool",
name: "allowFailure",
type: "bool",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
{
internalType: "bytes",
name: "callData",
type: "bytes",
},
],
internalType: "struct Multicall3.Call3Value[]",
name: "calls",
type: "tuple[]",
},
],
name: "aggregate3Value",
outputs: [
{
components: [
{
internalType: "bool",
name: "success",
type: "bool",
},
{
internalType: "bytes",
name: "returnData",
type: "bytes",
},
],
internalType: "struct Multicall3.Result[]",
name: "returnData",
type: "tuple[]",
},
],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "bytes",
name: "callData",
type: "bytes",
},
],
internalType: "struct Multicall3.Call[]",
name: "calls",
type: "tuple[]",
},
],
name: "blockAndAggregate",
outputs: [
{
internalType: "uint256",
name: "blockNumber",
type: "uint256",
},
{
internalType: "bytes32",
name: "blockHash",
type: "bytes32",
},
{
components: [
{
internalType: "bool",
name: "success",
type: "bool",
},
{
internalType: "bytes",
name: "returnData",
type: "bytes",
},
],
internalType: "struct Multicall3.Result[]",
name: "returnData",
type: "tuple[]",
},
],
stateMutability: "payable",
type: "function",
},
{
inputs: [],
name: "getBasefee",
outputs: [
{
internalType: "uint256",
name: "basefee",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "blockNumber",
type: "uint256",
},
],
name: "getBlockHash",
outputs: [
{
internalType: "bytes32",
name: "blockHash",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getBlockNumber",
outputs: [
{
internalType: "uint256",
name: "blockNumber",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getChainId",
outputs: [
{
internalType: "uint256",
name: "chainid",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getCurrentBlockCoinbase",
outputs: [
{
internalType: "address",
name: "coinbase",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getCurrentBlockDifficulty",
outputs: [
{
internalType: "uint256",
name: "difficulty",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getCurrentBlockGasLimit",
outputs: [
{
internalType: "uint256",
name: "gaslimit",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getCurrentBlockTimestamp",
outputs: [
{
internalType: "uint256",
name: "timestamp",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "addr",
type: "address",
},
],
name: "getEthBalance",
outputs: [
{
internalType: "uint256",
name: "balance",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getLastBlockHash",
outputs: [
{
internalType: "bytes32",
name: "blockHash",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bool",
name: "requireSuccess",
type: "bool",
},
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "bytes",
name: "callData",
type: "bytes",
},
],
internalType: "struct Multicall3.Call[]",
name: "calls",
type: "tuple[]",
},
],
name: "tryAggregate",
outputs: [
{
components: [
{
internalType: "bool",
name: "success",
type: "bool",
},
{
internalType: "bytes",
name: "returnData",
type: "bytes",
},
],
internalType: "struct Multicall3.Result[]",
name: "returnData",
type: "tuple[]",
},
],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "bool",
name: "requireSuccess",
type: "bool",
},
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "bytes",
name: "callData",
type: "bytes",
},
],
internalType: "struct Multicall3.Call[]",
name: "calls",
type: "tuple[]",
},
],
name: "tryBlockAndAggregate",
outputs: [
{
internalType: "uint256",
name: "blockNumber",
type: "uint256",
},
{
internalType: "bytes32",
name: "blockHash",
type: "bytes32",
},
{
components: [
{
internalType: "bool",
name: "success",
type: "bool",
},
{
internalType: "bytes",
name: "returnData",
type: "bytes",
},
],
internalType: "struct Multicall3.Result[]",
name: "returnData",
type: "tuple[]",
},
],
stateMutability: "payable",
type: "function",
},
],
inheritedFunctions: {},
},
RedactCore: {
address: "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e",
abi: [
{
inputs: [
{
internalType: "contract IWETH",
name: "wETH_",
type: "address",
},
{
internalType: "contract ConfidentialETH",
name: "eETH_",
type: "address",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [],
name: "Invalid_AlreadyDeployed",
type: "error",
},
{
inputs: [],
name: "Invalid_Stablecoin",
type: "error",
},
{
inputs: [],
name: "Invalid_WETH",
type: "error",
},
{
inputs: [],
name: "Invalid_eETH",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "OwnableInvalidOwner",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "OwnableUnauthorizedAccount",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "erc20",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "fherc20",
type: "address",
},
],
name: "Fherc20Deployed",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "fherc20",
type: "address",
},
{
indexed: false,
internalType: "string",
name: "symbol",
type: "string",
},
],
name: "Fherc20SymbolUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferStarted",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "erc20",
type: "address",
},
{
indexed: false,
internalType: "bool",
name: "isStablecoin",
type: "bool",
},
],
name: "StablecoinUpdated",
type: "event",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "_stablecoins",
outputs: [
{
internalType: "bool",
name: "isStablecoin",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "acceptOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract IERC20",
name: "erc20",
type: "address",
},
],
name: "deployFherc20",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "eETH",
outputs: [
{
internalType: "contract ConfidentialETH",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getDeployedFherc20s",
outputs: [
{
components: [
{
internalType: "address",
name: "erc20",
type: "address",
},
{
internalType: "address",
name: "fherc20",
type: "address",
},
],
internalType: "struct RedactCore.MappedERC20[]",
name: "mappedFherc20s",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "getFherc20",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "getIsStablecoin",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "getIsWETH",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "pendingOwner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract ConfidentialERC20",
name: "fherc20",
type: "address",
},
{
internalType: "string",
name: "updatedSymbol",
type: "string",
},
],
name: "updateFherc20Symbol",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "stablecoin",
type: "address",
},
{
internalType: "bool",
name: "isStablecoin",
type: "bool",
},
],
name: "updateStablecoin",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "wETH",
outputs: [
{
internalType: "contract IWETH",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
],
inheritedFunctions: {
acceptOwnership: "@openzeppelin/contracts/access/Ownable2Step.sol",
owner: "@openzeppelin/contracts/access/Ownable2Step.sol",
pendingOwner: "@openzeppelin/contracts/access/Ownable2Step.sol",
renounceOwnership: "@openzeppelin/contracts/access/Ownable2Step.sol",
transferOwnership: "@openzeppelin/contracts/access/Ownable2Step.sol",
},
},
USDC: {
address: "0x8A791620dd6260079BF849Dc5567aDC3F2FdC318",
abi: [
{
inputs: [
{
internalType: "string",
name: "name_",
type: "string",
},
{
internalType: "string",
name: "symbol_",
type: "string",
},
{
internalType: "uint8",
name: "decimals_",
type: "uint8",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "allowance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientAllowance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
{
internalType: "uint256",
name: "balance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientBalance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "approver",
type: "address",
},
],
name: "ERC20InvalidApprover",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "receiver",
type: "address",
},
],
name: "ERC20InvalidReceiver",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
],
name: "ERC20InvalidSender",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "ERC20InvalidSpender",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "spender",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Approval",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Transfer",
type: "event",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "allowance",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "approve",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "balanceOf",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "burn",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "decimals",
outputs: [
{
internalType: "uint8",
name: "",
type: "uint8",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "mint",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "name",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "symbol",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "totalSupply",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "transfer",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "transferFrom",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
],
inheritedFunctions: {},
},
eETH: {
address: "0x610178dA211FEF7D417bC0e6FeD39F05609AD788",
abi: [
{
inputs: [
{
internalType: "contract IWETH",
name: "wETH_",
type: "address",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [],
name: "AlreadyClaimed",
type: "error",
},
{
inputs: [],
name: "ClaimNotFound",
type: "error",
},
{
inputs: [],
name: "ECDSAInvalidSignature",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "length",
type: "uint256",
},
],
name: "ECDSAInvalidSignatureLength",
type: "error",
},
{
inputs: [
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
],
name: "ECDSAInvalidSignatureS",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "allowance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientAllowance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
{
internalType: "uint256",
name: "balance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientBalance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "approver",
type: "address",
},
],
name: "ERC20InvalidApprover",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "receiver",
type: "address",
},
],
name: "ERC20InvalidReceiver",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
],
name: "ERC20InvalidSender",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "ERC20InvalidSpender",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "deadline",
type: "uint256",
},
],
name: "ERC2612ExpiredSignature",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "signer",
type: "address",
},
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "ERC2612InvalidSigner",
type: "error",
},
{
inputs: [],
name: "ETHTransferFailed",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "permitOwner",
type: "address",
},
],
name: "FHERC20EncTransferFromOwnerMismatch",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "address",
name: "permitSpender",
type: "address",
},
],
name: "FHERC20EncTransferFromSpenderMismatch",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "inValueHash",
type: "uint256",
},
{
internalType: "uint256",
name: "permitValueHash",
type: "uint256",
},
],
name: "FHERC20EncTransferFromValueHashMismatch",
type: "error",
},
{
inputs: [],
name: "FHERC20IncompatibleFunction",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "currentNonce",
type: "uint256",
},
],
name: "InvalidAccountNonce",
type: "error",
},
{
inputs: [
{
internalType: "uint8",
name: "got",
type: "uint8",
},
{
internalType: "uint8",
name: "expected",
type: "uint8",
},
],
name: "InvalidEncryptedInput",
type: "error",
},
{
inputs: [],
name: "InvalidRecipient",
type: "error",
},
{
inputs: [],
name: "InvalidShortString",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "OwnableInvalidOwner",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "OwnableUnauthorizedAccount",
type: "error",
},
{
inputs: [
{
internalType: "uint8",
name: "bits",
type: "uint8",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "SafeCastOverflowedUintDowncast",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "token",
type: "address",
},
],
name: "SafeERC20FailedOperation",
type: "error",
},
{
inputs: [
{
internalType: "int32",
name: "value",
type: "int32",
},
],
name: "SecurityZoneOutOfBounds",
type: "error",
},
{
inputs: [
{
internalType: "string",
name: "str",
type: "string",
},
],
name: "StringTooLong",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "spender",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Approval",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "ClaimedDecryptedETH",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "DecryptedETH",
type: "event",
},
{
anonymous: false,
inputs: [],
name: "EIP712DomainChanged",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value_hash",
type: "uint256",
},
],
name: "EncTransfer",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "EncryptedETH",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "EncryptedWETH",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Transfer",
type: "event",
},
{
stateMutability: "payable",
type: "fallback",
},
{
inputs: [],
name: "DOMAIN_SEPARATOR",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
],
name: "allowance",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "approve",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "balanceOf",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "balanceOfIsIndicator",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "claimAllDecrypted",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
],
name: "claimDecrypted",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "decimals",
outputs: [
{
internalType: "uint8",
name: "",
type: "uint8",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "decrypt",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "eip712Domain",
outputs: [
{
internalType: "bytes1",
name: "fields",
type: "bytes1",
},
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "string",
name: "version",
type: "string",
},
{
internalType: "uint256",
name: "chainId",
type: "uint256",
},
{
internalType: "address",
name: "verifyingContract",
type: "address",
},
{
internalType: "bytes32",
name: "salt",
type: "bytes32",
},
{
internalType: "uint256[]",
name: "extensions",
type: "uint256[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "encBalanceOf",
outputs: [
{
internalType: "euint128",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "encTotalSupply",
outputs: [
{
internalType: "euint128",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint8",
name: "securityZone",
type: "uint8",
},
{
internalType: "uint8",
name: "utype",
type: "uint8",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct InEuint128",
name: "inValue",
type: "tuple",
},
],
name: "encTransfer",
outputs: [
{
internalType: "euint128",
name: "transferred",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint8",
name: "securityZone",
type: "uint8",
},
{
internalType: "uint8",
name: "utype",
type: "uint8",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct InEuint128",
name: "inValue",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "value_hash",
type: "uint256",
},
{
internalType: "uint256",
name: "deadline",
type: "uint256",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
{
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
],
internalType: "struct IFHERC20.FHERC20_EIP712_Permit",
name: "permit",
type: "tuple",
},
],
name: "encTransferFrom",
outputs: [
{
internalType: "euint128",
name: "transferred",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
],
name: "encryptETH",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "encryptWETH",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "erc20",
outputs: [
{
internalType: "contract IERC20",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
],
name: "getClaim",
outputs: [
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint128",
name: "requestedAmount",
type: "uint128",
},
{
internalType: "uint128",
name: "decryptedAmount",
type: "uint128",
},
{
internalType: "bool",
name: "decrypted",
type: "bool",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "bool",
name: "claimed",
type: "bool",
},
],
internalType: "struct ConfidentialClaim.Claim",
name: "",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
],
name: "getUserClaims",
outputs: [
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint128",
name: "requestedAmount",
type: "uint128",
},
{
internalType: "uint128",
name: "decryptedAmount",
type: "uint128",
},
{
internalType: "bool",
name: "decrypted",
type: "bool",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "bool",
name: "claimed",
type: "bool",
},
],
internalType: "struct ConfidentialClaim.Claim[]",
name: "",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "indicatorTick",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isFherc20",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "name",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "nonces",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "resetIndicatedBalance",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "symbol",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "totalSupply",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "transfer",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "transferFrom",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "wETH",
outputs: [
{
internalType: "contract IWETH",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
stateMutability: "payable",
type: "receive",
},
],
inheritedFunctions: {},
},
wBTC: {
address: "0x0165878A594ca255338adfa4d48449f69242Eb8F",
abi: [
{
inputs: [
{
internalType: "string",
name: "name_",
type: "string",
},
{
internalType: "string",
name: "symbol_",
type: "string",
},
{
internalType: "uint8",
name: "decimals_",
type: "uint8",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "allowance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientAllowance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
{
internalType: "uint256",
name: "balance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientBalance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "approver",
type: "address",
},
],
name: "ERC20InvalidApprover",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "receiver",
type: "address",
},
],
name: "ERC20InvalidReceiver",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
],
name: "ERC20InvalidSender",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "ERC20InvalidSpender",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "spender",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Approval",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Transfer",
type: "event",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "allowance",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "approve",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "balanceOf",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "burn",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "decimals",
outputs: [
{
internalType: "uint8",
name: "",
type: "uint8",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "mint",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "name",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "symbol",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "totalSupply",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "transfer",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "transferFrom",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
],
inheritedFunctions: {},
},
wETH: {
address: "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707",
abi: [
{
inputs: [],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "allowance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientAllowance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
{
internalType: "uint256",
name: "balance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientBalance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "approver",
type: "address",
},
],
name: "ERC20InvalidApprover",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "receiver",
type: "address",
},
],
name: "ERC20InvalidReceiver",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
],
name: "ERC20InvalidSender",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "ERC20InvalidSpender",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "spender",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Approval",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Transfer",
type: "event",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "allowance",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "approve",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "balanceOf",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "burn",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "decimals",
outputs: [
{
internalType: "uint8",
name: "",
type: "uint8",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "deposit",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "mint",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "name",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "symbol",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "totalSupply",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "transfer",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "transferFrom",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "withdraw",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
],
inheritedFunctions: {},
},
},
421614: {
RedactCore: {
address: "0x5969D56EEA669162b098e2f60CBC8C5e86f01e6F",
abi: [
{
inputs: [
{
internalType: "contract IWETH",
name: "wETH_",
type: "address",
},
{
internalType: "contract ConfidentialETH",
name: "eETH_",
type: "address",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [],
name: "Invalid_AlreadyDeployed",
type: "error",
},
{
inputs: [],
name: "Invalid_Stablecoin",
type: "error",
},
{
inputs: [],
name: "Invalid_WETH",
type: "error",
},
{
inputs: [],
name: "Invalid_eETH",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "OwnableInvalidOwner",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "OwnableUnauthorizedAccount",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "erc20",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "fherc20",
type: "address",
},
],
name: "Fherc20Deployed",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "fherc20",
type: "address",
},
{
indexed: false,
internalType: "string",
name: "symbol",
type: "string",
},
],
name: "Fherc20SymbolUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferStarted",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "erc20",
type: "address",
},
{
indexed: false,
internalType: "bool",
name: "isStablecoin",
type: "bool",
},
],
name: "StablecoinUpdated",
type: "event",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "_stablecoins",
outputs: [
{
internalType: "bool",
name: "isStablecoin",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "acceptOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract IERC20",
name: "erc20",
type: "address",
},
],
name: "deployFherc20",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "eETH",
outputs: [
{
internalType: "contract ConfidentialETH",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getDeployedFherc20s",
outputs: [
{
components: [
{
internalType: "address",
name: "erc20",
type: "address",
},
{
internalType: "address",
name: "fherc20",
type: "address",
},
],
internalType: "struct RedactCore.MappedERC20[]",
name: "mappedFherc20s",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "getFherc20",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "getIsStablecoin",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "getIsWETH",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "pendingOwner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract ConfidentialERC20",
name: "fherc20",
type: "address",
},
{
internalType: "string",
name: "updatedSymbol",
type: "string",
},
],
name: "updateFherc20Symbol",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "stablecoin",
type: "address",
},
{
internalType: "bool",
name: "isStablecoin",
type: "bool",
},
],
name: "updateStablecoin",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "wETH",
outputs: [
{
internalType: "contract IWETH",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
],
inheritedFunctions: {
acceptOwnership: "@openzeppelin/contracts/access/Ownable2Step.sol",
owner: "@openzeppelin/contracts/access/Ownable2Step.sol",
pendingOwner: "@openzeppelin/contracts/access/Ownable2Step.sol",
renounceOwnership: "@openzeppelin/contracts/access/Ownable2Step.sol",
transferOwnership: "@openzeppelin/contracts/access/Ownable2Step.sol",
},
},
eETH: {
address: "0xec958EcBD30a8874503ee6C39AB6C4881018C265",
abi: [
{
inputs: [
{
internalType: "contract IWETH",
name: "wETH_",
type: "address",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [],
name: "AlreadyClaimed",
type: "error",
},
{
inputs: [],
name: "ClaimNotFound",
type: "error",
},
{
inputs: [],
name: "ECDSAInvalidSignature",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "length",
type: "uint256",
},
],
name: "ECDSAInvalidSignatureLength",
type: "error",
},
{
inputs: [
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
],
name: "ECDSAInvalidSignatureS",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "allowance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientAllowance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
{
internalType: "uint256",
name: "balance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientBalance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "approver",
type: "address",
},
],
name: "ERC20InvalidApprover",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "receiver",
type: "address",
},
],
name: "ERC20InvalidReceiver",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
],
name: "ERC20InvalidSender",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "ERC20InvalidSpender",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "deadline",
type: "uint256",
},
],
name: "ERC2612ExpiredSignature",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "signer",
type: "address",
},
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "ERC2612InvalidSigner",
type: "error",
},
{
inputs: [],
name: "ETHTransferFailed",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "permitOwner",
type: "address",
},
],
name: "FHERC20EncTransferFromOwnerMismatch",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "address",
name: "permitSpender",
type: "address",
},
],
name: "FHERC20EncTransferFromSpenderMismatch",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "inValueHash",
type: "uint256",
},
{
internalType: "uint256",
name: "permitValueHash",
type: "uint256",
},
],
name: "FHERC20EncTransferFromValueHashMismatch",
type: "error",
},
{
inputs: [],
name: "FHERC20IncompatibleFunction",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "currentNonce",
type: "uint256",
},
],
name: "InvalidAccountNonce",
type: "error",
},
{
inputs: [
{
internalType: "uint8",
name: "got",
type: "uint8",
},
{
internalType: "uint8",
name: "expected",
type: "uint8",
},
],
name: "InvalidEncryptedInput",
type: "error",
},
{
inputs: [],
name: "InvalidRecipient",
type: "error",
},
{
inputs: [],
name: "InvalidShortString",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "OwnableInvalidOwner",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "OwnableUnauthorizedAccount",
type: "error",
},
{
inputs: [
{
internalType: "uint8",
name: "bits",
type: "uint8",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "SafeCastOverflowedUintDowncast",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "token",
type: "address",
},
],
name: "SafeERC20FailedOperation",
type: "error",
},
{
inputs: [
{
internalType: "int32",
name: "value",
type: "int32",
},
],
name: "SecurityZoneOutOfBounds",
type: "error",
},
{
inputs: [
{
internalType: "string",
name: "str",
type: "string",
},
],
name: "StringTooLong",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "spender",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Approval",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "ClaimedDecryptedETH",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "DecryptedETH",
type: "event",
},
{
anonymous: false,
inputs: [],
name: "EIP712DomainChanged",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value_hash",
type: "uint256",
},
],
name: "EncTransfer",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "EncryptedETH",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "EncryptedWETH",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Transfer",
type: "event",
},
{
stateMutability: "payable",
type: "fallback",
},
{
inputs: [],
name: "DOMAIN_SEPARATOR",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
],
name: "allowance",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "approve",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "balanceOf",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "balanceOfIsIndicator",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "claimAllDecrypted",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
],
name: "claimDecrypted",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "decimals",
outputs: [
{
internalType: "uint8",
name: "",
type: "uint8",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "decrypt",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "eip712Domain",
outputs: [
{
internalType: "bytes1",
name: "fields",
type: "bytes1",
},
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "string",
name: "version",
type: "string",
},
{
internalType: "uint256",
name: "chainId",
type: "uint256",
},
{
internalType: "address",
name: "verifyingContract",
type: "address",
},
{
internalType: "bytes32",
name: "salt",
type: "bytes32",
},
{
internalType: "uint256[]",
name: "extensions",
type: "uint256[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "encBalanceOf",
outputs: [
{
internalType: "euint128",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "encTotalSupply",
outputs: [
{
internalType: "euint128",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint8",
name: "securityZone",
type: "uint8",
},
{
internalType: "uint8",
name: "utype",
type: "uint8",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct InEuint128",
name: "inValue",
type: "tuple",
},
],
name: "encTransfer",
outputs: [
{
internalType: "euint128",
name: "transferred",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "euint128",
name: "value",
type: "uint256",
},
],
name: "encTransfer",
outputs: [
{
internalType: "euint128",
name: "transferred",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint8",
name: "securityZone",
type: "uint8",
},
{
internalType: "uint8",
name: "utype",
type: "uint8",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct InEuint128",
name: "inValue",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "value_hash",
type: "uint256",
},
{
internalType: "uint256",
name: "deadline",
type: "uint256",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
{
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
],
internalType: "struct IFHERC20.FHERC20_EIP712_Permit",
name: "permit",
type: "tuple",
},
],
name: "encTransferFrom",
outputs: [
{
internalType: "euint128",
name: "transferred",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
],
name: "encryptETH",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "encryptWETH",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "erc20",
outputs: [
{
internalType: "contract IERC20",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
],
name: "getClaim",
outputs: [
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint128",
name: "requestedAmount",
type: "uint128",
},
{
internalType: "uint128",
name: "decryptedAmount",
type: "uint128",
},
{
internalType: "bool",
name: "decrypted",
type: "bool",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "bool",
name: "claimed",
type: "bool",
},
],
internalType: "struct ConfidentialClaim.Claim",
name: "",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
],
name: "getUserClaims",
outputs: [
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint128",
name: "requestedAmount",
type: "uint128",
},
{
internalType: "uint128",
name: "decryptedAmount",
type: "uint128",
},
{
internalType: "bool",
name: "decrypted",
type: "bool",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "bool",
name: "claimed",
type: "bool",
},
],
internalType: "struct ConfidentialClaim.Claim[]",
name: "",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "indicatorTick",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isFherc20",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "name",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "nonces",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "resetIndicatedBalance",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "symbol",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "totalSupply",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "transfer",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "transferFrom",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "wETH",
outputs: [
{
internalType: "contract IWETH",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
stateMutability: "payable",
type: "receive",
},
],
inheritedFunctions: {},
},
},
11155111: {
RedactCore: {
address: "0xD4892f80ECC518572996b1965448fd28D6795c4d",
abi: [
{
inputs: [
{
internalType: "contract IWETH",
name: "wETH_",
type: "address",
},
{
internalType: "contract ConfidentialETH",
name: "eETH_",
type: "address",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [],
name: "Invalid_AlreadyDeployed",
type: "error",
},
{
inputs: [],
name: "Invalid_Stablecoin",
type: "error",
},
{
inputs: [],
name: "Invalid_WETH",
type: "error",
},
{
inputs: [],
name: "Invalid_eETH",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "OwnableInvalidOwner",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "OwnableUnauthorizedAccount",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "erc20",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "fherc20",
type: "address",
},
],
name: "Fherc20Deployed",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "fherc20",
type: "address",
},
{
indexed: false,
internalType: "string",
name: "symbol",
type: "string",
},
],
name: "Fherc20SymbolUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferStarted",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "erc20",
type: "address",
},
{
indexed: false,
internalType: "bool",
name: "isStablecoin",
type: "bool",
},
],
name: "StablecoinUpdated",
type: "event",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "_stablecoins",
outputs: [
{
internalType: "bool",
name: "isStablecoin",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "acceptOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract IERC20",
name: "erc20",
type: "address",
},
],
name: "deployFherc20",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "eETH",
outputs: [
{
internalType: "contract ConfidentialETH",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getDeployedFherc20s",
outputs: [
{
components: [
{
internalType: "address",
name: "erc20",
type: "address",
},
{
internalType: "address",
name: "fherc20",
type: "address",
},
],
internalType: "struct RedactCore.MappedERC20[]",
name: "mappedFherc20s",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "getFherc20",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "getIsStablecoin",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "getIsWETH",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "pendingOwner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract ConfidentialERC20",
name: "fherc20",
type: "address",
},
{
internalType: "string",
name: "updatedSymbol",
type: "string",
},
],
name: "updateFherc20Symbol",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "stablecoin",
type: "address",
},
{
internalType: "bool",
name: "isStablecoin",
type: "bool",
},
],
name: "updateStablecoin",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "wETH",
outputs: [
{
internalType: "contract IWETH",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
],
inheritedFunctions: {
acceptOwnership: "@openzeppelin/contracts/access/Ownable2Step.sol",
owner: "@openzeppelin/contracts/access/Ownable2Step.sol",
pendingOwner: "@openzeppelin/contracts/access/Ownable2Step.sol",
renounceOwnership: "@openzeppelin/contracts/access/Ownable2Step.sol",
transferOwnership: "@openzeppelin/contracts/access/Ownable2Step.sol",
},
},
eETH: {
address: "0x87A3effB84CBE1E4caB6Ab430139eC41d156D55A",
abi: [
{
inputs: [
{
internalType: "contract IWETH",
name: "wETH_",
type: "address",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [],
name: "AlreadyClaimed",
type: "error",
},
{
inputs: [],
name: "ClaimNotFound",
type: "error",
},
{
inputs: [],
name: "ECDSAInvalidSignature",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "length",
type: "uint256",
},
],
name: "ECDSAInvalidSignatureLength",
type: "error",
},
{
inputs: [
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
],
name: "ECDSAInvalidSignatureS",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "allowance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientAllowance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
{
internalType: "uint256",
name: "balance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientBalance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "approver",
type: "address",
},
],
name: "ERC20InvalidApprover",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "receiver",
type: "address",
},
],
name: "ERC20InvalidReceiver",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
],
name: "ERC20InvalidSender",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "ERC20InvalidSpender",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "deadline",
type: "uint256",
},
],
name: "ERC2612ExpiredSignature",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "signer",
type: "address",
},
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "ERC2612InvalidSigner",
type: "error",
},
{
inputs: [],
name: "ETHTransferFailed",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "permitOwner",
type: "address",
},
],
name: "FHERC20EncTransferFromOwnerMismatch",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "address",
name: "permitSpender",
type: "address",
},
],
name: "FHERC20EncTransferFromSpenderMismatch",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "inValueHash",
type: "uint256",
},
{
internalType: "uint256",
name: "permitValueHash",
type: "uint256",
},
],
name: "FHERC20EncTransferFromValueHashMismatch",
type: "error",
},
{
inputs: [],
name: "FHERC20IncompatibleFunction",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "currentNonce",
type: "uint256",
},
],
name: "InvalidAccountNonce",
type: "error",
},
{
inputs: [
{
internalType: "uint8",
name: "got",
type: "uint8",
},
{
internalType: "uint8",
name: "expected",
type: "uint8",
},
],
name: "InvalidEncryptedInput",
type: "error",
},
{
inputs: [],
name: "InvalidRecipient",
type: "error",
},
{
inputs: [],
name: "InvalidShortString",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "OwnableInvalidOwner",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "OwnableUnauthorizedAccount",
type: "error",
},
{
inputs: [
{
internalType: "uint8",
name: "bits",
type: "uint8",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "SafeCastOverflowedUintDowncast",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "token",
type: "address",
},
],
name: "SafeERC20FailedOperation",
type: "error",
},
{
inputs: [
{
internalType: "int32",
name: "value",
type: "int32",
},
],
name: "SecurityZoneOutOfBounds",
type: "error",
},
{
inputs: [
{
internalType: "string",
name: "str",
type: "string",
},
],
name: "StringTooLong",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "spender",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Approval",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "ClaimedDecryptedETH",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "DecryptedETH",
type: "event",
},
{
anonymous: false,
inputs: [],
name: "EIP712DomainChanged",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value_hash",
type: "uint256",
},
],
name: "EncTransfer",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "EncryptedETH",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "EncryptedWETH",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Transfer",
type: "event",
},
{
stateMutability: "payable",
type: "fallback",
},
{
inputs: [],
name: "DOMAIN_SEPARATOR",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
],
name: "allowance",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "approve",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "balanceOf",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "balanceOfIsIndicator",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "claimAllDecrypted",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
],
name: "claimDecrypted",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "decimals",
outputs: [
{
internalType: "uint8",
name: "",
type: "uint8",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "decrypt",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "eip712Domain",
outputs: [
{
internalType: "bytes1",
name: "fields",
type: "bytes1",
},
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "string",
name: "version",
type: "string",
},
{
internalType: "uint256",
name: "chainId",
type: "uint256",
},
{
internalType: "address",
name: "verifyingContract",
type: "address",
},
{
internalType: "bytes32",
name: "salt",
type: "bytes32",
},
{
internalType: "uint256[]",
name: "extensions",
type: "uint256[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "encBalanceOf",
outputs: [
{
internalType: "euint128",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "encTotalSupply",
outputs: [
{
internalType: "euint128",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint8",
name: "securityZone",
type: "uint8",
},
{
internalType: "uint8",
name: "utype",
type: "uint8",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct InEuint128",
name: "inValue",
type: "tuple",
},
],
name: "encTransfer",
outputs: [
{
internalType: "euint128",
name: "transferred",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "euint128",
name: "value",
type: "uint256",
},
],
name: "encTransfer",
outputs: [
{
internalType: "euint128",
name: "transferred",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint8",
name: "securityZone",
type: "uint8",
},
{
internalType: "uint8",
name: "utype",
type: "uint8",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct InEuint128",
name: "inValue",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "value_hash",
type: "uint256",
},
{
internalType: "uint256",
name: "deadline",
type: "uint256",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
{
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
],
internalType: "struct IFHERC20.FHERC20_EIP712_Permit",
name: "permit",
type: "tuple",
},
],
name: "encTransferFrom",
outputs: [
{
internalType: "euint128",
name: "transferred",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
],
name: "encryptETH",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "encryptWETH",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "erc20",
outputs: [
{
internalType: "contract IERC20",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
],
name: "getClaim",
outputs: [
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint128",
name: "requestedAmount",
type: "uint128",
},
{
internalType: "uint128",
name: "decryptedAmount",
type: "uint128",
},
{
internalType: "bool",
name: "decrypted",
type: "bool",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "bool",
name: "claimed",
type: "bool",
},
],
internalType: "struct ConfidentialClaim.Claim",
name: "",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
],
name: "getUserClaims",
outputs: [
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint128",
name: "requestedAmount",
type: "uint128",
},
{
internalType: "uint128",
name: "decryptedAmount",
type: "uint128",
},
{
internalType: "bool",
name: "decrypted",
type: "bool",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "bool",
name: "claimed",
type: "bool",
},
],
internalType: "struct ConfidentialClaim.Claim[]",
name: "",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "indicatorTick",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isFherc20",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "name",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "nonces",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "resetIndicatedBalance",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "symbol",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "totalSupply",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "transfer",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "transferFrom",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "wETH",
outputs: [
{
internalType: "contract IWETH",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
stateMutability: "payable",
type: "receive",
},
],
inheritedFunctions: {},
},
},
84532: {
RedactCore: {
address: "0xA49f5e95C268dd9C6C9A1649d095fDA3d779940E",
abi: [
{
inputs: [
{
internalType: "contract IWETH",
name: "wETH_",
type: "address",
},
{
internalType: "contract ConfidentialETH",
name: "eETH_",
type: "address",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [],
name: "Invalid_AlreadyDeployed",
type: "error",
},
{
inputs: [],
name: "Invalid_Stablecoin",
type: "error",
},
{
inputs: [],
name: "Invalid_WETH",
type: "error",
},
{
inputs: [],
name: "Invalid_eETH",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "OwnableInvalidOwner",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "OwnableUnauthorizedAccount",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "erc20",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "fherc20",
type: "address",
},
],
name: "Fherc20Deployed",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "fherc20",
type: "address",
},
{
indexed: false,
internalType: "string",
name: "symbol",
type: "string",
},
],
name: "Fherc20SymbolUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferStarted",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "erc20",
type: "address",
},
{
indexed: false,
internalType: "bool",
name: "isStablecoin",
type: "bool",
},
],
name: "StablecoinUpdated",
type: "event",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "_stablecoins",
outputs: [
{
internalType: "bool",
name: "isStablecoin",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "acceptOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract IERC20",
name: "erc20",
type: "address",
},
],
name: "deployFherc20",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "eETH",
outputs: [
{
internalType: "contract ConfidentialETH",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getDeployedFherc20s",
outputs: [
{
components: [
{
internalType: "address",
name: "erc20",
type: "address",
},
{
internalType: "address",
name: "fherc20",
type: "address",
},
],
internalType: "struct RedactCore.MappedERC20[]",
name: "mappedFherc20s",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "getFherc20",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "getIsStablecoin",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "erc20",
type: "address",
},
],
name: "getIsWETH",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "pendingOwner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract ConfidentialERC20",
name: "fherc20",
type: "address",
},
{
internalType: "string",
name: "updatedSymbol",
type: "string",
},
],
name: "updateFherc20Symbol",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "stablecoin",
type: "address",
},
{
internalType: "bool",
name: "isStablecoin",
type: "bool",
},
],
name: "updateStablecoin",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "wETH",
outputs: [
{
internalType: "contract IWETH",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
],
inheritedFunctions: {
acceptOwnership: "@openzeppelin/contracts/access/Ownable2Step.sol",
owner: "@openzeppelin/contracts/access/Ownable2Step.sol",
pendingOwner: "@openzeppelin/contracts/access/Ownable2Step.sol",
renounceOwnership: "@openzeppelin/contracts/access/Ownable2Step.sol",
transferOwnership: "@openzeppelin/contracts/access/Ownable2Step.sol",
},
},
eETH: {
address: "0xbED96aa98a49FeA71fcC55d755b915cF022a9159",
abi: [
{
inputs: [
{
internalType: "contract IWETH",
name: "wETH_",
type: "address",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
inputs: [],
name: "AlreadyClaimed",
type: "error",
},
{
inputs: [],
name: "ClaimNotFound",
type: "error",
},
{
inputs: [],
name: "ECDSAInvalidSignature",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "length",
type: "uint256",
},
],
name: "ECDSAInvalidSignatureLength",
type: "error",
},
{
inputs: [
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
],
name: "ECDSAInvalidSignatureS",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "allowance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientAllowance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
{
internalType: "uint256",
name: "balance",
type: "uint256",
},
{
internalType: "uint256",
name: "needed",
type: "uint256",
},
],
name: "ERC20InsufficientBalance",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "approver",
type: "address",
},
],
name: "ERC20InvalidApprover",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "receiver",
type: "address",
},
],
name: "ERC20InvalidReceiver",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "sender",
type: "address",
},
],
name: "ERC20InvalidSender",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "spender",
type: "address",
},
],
name: "ERC20InvalidSpender",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "deadline",
type: "uint256",
},
],
name: "ERC2612ExpiredSignature",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "signer",
type: "address",
},
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "ERC2612InvalidSigner",
type: "error",
},
{
inputs: [],
name: "ETHTransferFailed",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "permitOwner",
type: "address",
},
],
name: "FHERC20EncTransferFromOwnerMismatch",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "address",
name: "permitSpender",
type: "address",
},
],
name: "FHERC20EncTransferFromSpenderMismatch",
type: "error",
},
{
inputs: [
{
internalType: "uint256",
name: "inValueHash",
type: "uint256",
},
{
internalType: "uint256",
name: "permitValueHash",
type: "uint256",
},
],
name: "FHERC20EncTransferFromValueHashMismatch",
type: "error",
},
{
inputs: [],
name: "FHERC20IncompatibleFunction",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
{
internalType: "uint256",
name: "currentNonce",
type: "uint256",
},
],
name: "InvalidAccountNonce",
type: "error",
},
{
inputs: [
{
internalType: "uint8",
name: "got",
type: "uint8",
},
{
internalType: "uint8",
name: "expected",
type: "uint8",
},
],
name: "InvalidEncryptedInput",
type: "error",
},
{
inputs: [],
name: "InvalidRecipient",
type: "error",
},
{
inputs: [],
name: "InvalidShortString",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "OwnableInvalidOwner",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "OwnableUnauthorizedAccount",
type: "error",
},
{
inputs: [
{
internalType: "uint8",
name: "bits",
type: "uint8",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "SafeCastOverflowedUintDowncast",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "token",
type: "address",
},
],
name: "SafeERC20FailedOperation",
type: "error",
},
{
inputs: [
{
internalType: "int32",
name: "value",
type: "int32",
},
],
name: "SecurityZoneOutOfBounds",
type: "error",
},
{
inputs: [
{
internalType: "string",
name: "str",
type: "string",
},
],
name: "StringTooLong",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "spender",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Approval",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "ClaimedDecryptedETH",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "DecryptedETH",
type: "event",
},
{
anonymous: false,
inputs: [],
name: "EIP712DomainChanged",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value_hash",
type: "uint256",
},
],
name: "EncTransfer",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "EncryptedETH",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "EncryptedWETH",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Transfer",
type: "event",
},
{
stateMutability: "payable",
type: "fallback",
},
{
inputs: [],
name: "DOMAIN_SEPARATOR",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
],
name: "allowance",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "approve",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "balanceOf",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "balanceOfIsIndicator",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "claimAllDecrypted",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
],
name: "claimDecrypted",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "decimals",
outputs: [
{
internalType: "uint8",
name: "",
type: "uint8",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "decrypt",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "eip712Domain",
outputs: [
{
internalType: "bytes1",
name: "fields",
type: "bytes1",
},
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "string",
name: "version",
type: "string",
},
{
internalType: "uint256",
name: "chainId",
type: "uint256",
},
{
internalType: "address",
name: "verifyingContract",
type: "address",
},
{
internalType: "bytes32",
name: "salt",
type: "bytes32",
},
{
internalType: "uint256[]",
name: "extensions",
type: "uint256[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "encBalanceOf",
outputs: [
{
internalType: "euint128",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "encTotalSupply",
outputs: [
{
internalType: "euint128",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint8",
name: "securityZone",
type: "uint8",
},
{
internalType: "uint8",
name: "utype",
type: "uint8",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct InEuint128",
name: "inValue",
type: "tuple",
},
],
name: "encTransfer",
outputs: [
{
internalType: "euint128",
name: "transferred",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "euint128",
name: "value",
type: "uint256",
},
],
name: "encTransfer",
outputs: [
{
internalType: "euint128",
name: "transferred",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "from",
type: "address",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint8",
name: "securityZone",
type: "uint8",
},
{
internalType: "uint8",
name: "utype",
type: "uint8",
},
{
internalType: "bytes",
name: "signature",
type: "bytes",
},
],
internalType: "struct InEuint128",
name: "inValue",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "owner",
type: "address",
},
{
internalType: "address",
name: "spender",
type: "address",
},
{
internalType: "uint256",
name: "value_hash",
type: "uint256",
},
{
internalType: "uint256",
name: "deadline",
type: "uint256",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
{
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
],
internalType: "struct IFHERC20.FHERC20_EIP712_Permit",
name: "permit",
type: "tuple",
},
],
name: "encTransferFrom",
outputs: [
{
internalType: "euint128",
name: "transferred",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
],
name: "encryptETH",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "uint128",
name: "value",
type: "uint128",
},
],
name: "encryptWETH",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "erc20",
outputs: [
{
internalType: "contract IERC20",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
],
name: "getClaim",
outputs: [
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint128",
name: "requestedAmount",
type: "uint128",
},
{
internalType: "uint128",
name: "decryptedAmount",
type: "uint128",
},
{
internalType: "bool",
name: "decrypted",
type: "bool",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "bool",
name: "claimed",
type: "bool",
},
],
internalType: "struct ConfidentialClaim.Claim",
name: "",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
],
name: "getUserClaims",
outputs: [
{
components: [
{
internalType: "uint256",
name: "ctHash",
type: "uint256",
},
{
internalType: "uint128",
name: "requestedAmount",
type: "uint128",
},
{
internalType: "uint128",
name: "decryptedAmount",
type: "uint128",
},
{
internalType: "bool",
name: "decrypted",
type: "bool",
},
{
internalType: "address",
name: "to",
type: "address",
},
{
internalType: "bool",
name: "claimed",
type: "bool",
},
],
internalType: "struct ConfidentialClaim.Claim[]",
name: "",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "indicatorTick",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isFherc20",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "name",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "nonces",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "resetIndicatedBalance",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "symbol",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "totalSupply",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "transfer",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "transferFrom",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "wETH",
outputs: [
{
internalType: "contract IWETH",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
stateMutability: "payable",
type: "receive",
},
],
inheritedFunctions: {},
},
},
} as const;
export default deployedContracts satisfies GenericContractsDeclaration;