sdk-monorepo/@tornado/sdk-registry/src/deth/factories/ERC20Tornado__factory.ts

663 lines
27 KiB
TypeScript

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import {
Signer,
utils,
Contract,
ContractFactory,
BigNumberish,
Overrides,
} from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { PromiseOrValue } from "../common";
import type { ERC20Tornado, ERC20TornadoInterface } from "../ERC20Tornado";
const _abi = [
{
inputs: [
{
internalType: "contract IVerifier",
name: "_verifier",
type: "address",
},
{
internalType: "uint256",
name: "_denomination",
type: "uint256",
},
{
internalType: "uint32",
name: "_merkleTreeHeight",
type: "uint32",
},
{
internalType: "address",
name: "_operator",
type: "address",
},
{
internalType: "address",
name: "_token",
type: "address",
},
],
payable: false,
stateMutability: "nonpayable",
type: "constructor",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "bytes32",
name: "commitment",
type: "bytes32",
},
{
indexed: false,
internalType: "uint32",
name: "leafIndex",
type: "uint32",
},
{
indexed: false,
internalType: "uint256",
name: "timestamp",
type: "uint256",
},
],
name: "Deposit",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "to",
type: "address",
},
{
indexed: false,
internalType: "bytes32",
name: "nullifierHash",
type: "bytes32",
},
{
indexed: true,
internalType: "address",
name: "relayer",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "fee",
type: "uint256",
},
],
name: "Withdrawal",
type: "event",
},
{
constant: true,
inputs: [],
name: "FIELD_SIZE",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "ROOT_HISTORY_SIZE",
outputs: [
{
internalType: "uint32",
name: "",
type: "uint32",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "ZERO_VALUE",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: false,
inputs: [
{
internalType: "address",
name: "_newOperator",
type: "address",
},
],
name: "changeOperator",
outputs: [],
payable: false,
stateMutability: "nonpayable",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
name: "commitments",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "currentRootIndex",
outputs: [
{
internalType: "uint32",
name: "",
type: "uint32",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "denomination",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: false,
inputs: [
{
internalType: "bytes32",
name: "_commitment",
type: "bytes32",
},
],
name: "deposit",
outputs: [],
payable: true,
stateMutability: "payable",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "filledSubtrees",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "getLastRoot",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "bytes32",
name: "_left",
type: "bytes32",
},
{
internalType: "bytes32",
name: "_right",
type: "bytes32",
},
],
name: "hashLeftRight",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
payable: false,
stateMutability: "pure",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "bytes32",
name: "_root",
type: "bytes32",
},
],
name: "isKnownRoot",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "bytes32",
name: "_nullifierHash",
type: "bytes32",
},
],
name: "isSpent",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "bytes32[]",
name: "_nullifierHashes",
type: "bytes32[]",
},
],
name: "isSpentArray",
outputs: [
{
internalType: "bool[]",
name: "spent",
type: "bool[]",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "levels",
outputs: [
{
internalType: "uint32",
name: "",
type: "uint32",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "nextIndex",
outputs: [
{
internalType: "uint32",
name: "",
type: "uint32",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
name: "nullifierHashes",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "operator",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "roots",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "token",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: false,
inputs: [
{
internalType: "address",
name: "_newVerifier",
type: "address",
},
],
name: "updateVerifier",
outputs: [],
payable: false,
stateMutability: "nonpayable",
type: "function",
},
{
constant: true,
inputs: [],
name: "verifier",
outputs: [
{
internalType: "contract IVerifier",
name: "",
type: "address",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: false,
inputs: [
{
internalType: "bytes",
name: "_proof",
type: "bytes",
},
{
internalType: "bytes32",
name: "_root",
type: "bytes32",
},
{
internalType: "bytes32",
name: "_nullifierHash",
type: "bytes32",
},
{
internalType: "address payable",
name: "_recipient",
type: "address",
},
{
internalType: "address payable",
name: "_relayer",
type: "address",
},
{
internalType: "uint256",
name: "_fee",
type: "uint256",
},
{
internalType: "uint256",
name: "_refund",
type: "uint256",
},
],
name: "withdraw",
outputs: [],
payable: true,
stateMutability: "payable",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "zeros",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
] as const;
const _bytecode =
"0x6080604052600380546001600160401b03191690553480156200002157600080fd5b5060405162001cef38038062001cef833981810160405260a08110156200004757600080fd5b50805160208201516040830151606084015160809094015192939192909190848484848163ffffffff8116620000af5760405162461bcd60e51b815260040180806020018281038252602781526020018062001c666027913960400191505060405180910390fd5b60208163ffffffff1610620000f65760405162461bcd60e51b815260040180806020018281038252602281526020018062001cad6022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60008051602062001c25833981519152909101819055815480830183559282905260008051602062001ccf8339815191529092018290555b60005463ffffffff9081169082161015620001e4576200019a82806001600160e01b036200029416565b60028054600181810190925560008051602062001c258339815191520182905580548082018255600082905260008051602062001ccf833981519152018290559092500162000170565b50620001fa81806001600160e01b036200029416565b6004555050600160685582620002425760405162461bcd60e51b815260040180806020018281038252602581526020018062001c006025913960400191505060405180910390fd5b606c80546001600160a01b039586166001600160a01b031991821617909155606d80549286169282169290921790915560699290925550606e8054939092169216919091179055506200048192505050565b600060008051602062001c8d8339815191528310620002fa576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602062001c8d8339815191528210620003495760405162461bcd60e51b815260040180806020018281038252602181526020018062001c456021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015620003a457600080fd5b505af4158015620003b9573d6000803e3d6000fd5b505050506040513d6040811015620003d057600080fd5b508051602090910151909250905060008051602062001c8d833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156200044a57600080fd5b505af41580156200045f573d6000803e3d6000fd5b505050506040513d60408110156200047657600080fd5b505195945050505050565b61176f80620004916000396000f3fe60806040526004361061014b5760003560e01c806397fc007c116100b6578063e5285dcc1161006f578063e5285dcc14610514578063e82955881461053e578063ec73295914610568578063f178e47c1461057d578063fc0c546a146105a7578063fc7e9c6f146105bc5761014b565b806397fc007c146103a55780639fa12d0b146103d8578063b214faa5146104a3578063ba70f757146104c0578063c2b40ae4146104d5578063cd87a3b4146104ff5761014b565b80634ecf518b116101085780634ecf518b146102e4578063570ca735146103125780636d9833e314610327578063839df945146103515780638bca6d161461037b57806390eeb02b146103905761014b565b806306394c9b1461015057806317cc915c1461018557806321a0adb6146101c35780632b7ac3f31461025c57806338bf282e1461028d578063414a37ba146102cf575b600080fd5b34801561015c57600080fd5b506101836004803603602081101561017357600080fd5b50356001600160a01b03166105d1565b005b34801561019157600080fd5b506101af600480360360208110156101a857600080fd5b503561063c565b604080519115158252519081900360200190f35b610183600480360360e08110156101d957600080fd5b810190602081018135600160201b8111156101f357600080fd5b82018360208201111561020557600080fd5b803590602001918460018302840111600160201b8311171561022657600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a00135610651565b34801561026857600080fd5b50610271610992565b604080516001600160a01b039092168252519081900360200190f35b34801561029957600080fd5b506102bd600480360360408110156102b057600080fd5b50803590602001356109a1565b60408051918252519081900360200190f35b3480156102db57600080fd5b506102bd610b82565b3480156102f057600080fd5b506102f9610b94565b6040805163ffffffff9092168252519081900360200190f35b34801561031e57600080fd5b50610271610ba0565b34801561033357600080fd5b506101af6004803603602081101561034a57600080fd5b5035610baf565b34801561035d57600080fd5b506101af6004803603602081101561037457600080fd5b5035610c22565b34801561038757600080fd5b506102bd610c37565b34801561039c57600080fd5b506102f9610c3d565b3480156103b157600080fd5b50610183600480360360208110156103c857600080fd5b50356001600160a01b0316610c49565b3480156103e457600080fd5b50610453600480360360208110156103fb57600080fd5b810190602081018135600160201b81111561041557600080fd5b82018360208201111561042757600080fd5b803590602001918460208302840111600160201b8311171561044857600080fd5b509092509050610cb4565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048f578181015183820152602001610477565b505050509050019250505060405180910390f35b610183600480360360208110156104b957600080fd5b5035610d3c565b3480156104cc57600080fd5b506102bd610e5d565b3480156104e157600080fd5b506102bd600480360360208110156104f857600080fd5b5035610e7d565b34801561050b57600080fd5b506102f9610e91565b34801561052057600080fd5b506101af6004803603602081101561053757600080fd5b5035610e96565b34801561054a57600080fd5b506102bd6004803603602081101561056157600080fd5b5035610eab565b34801561057457600080fd5b506102bd610ec9565b34801561058957600080fd5b506102bd600480360360208110156105a057600080fd5b5035610eed565b3480156105b357600080fd5b50610271610efa565b3480156105c857600080fd5b506102f9610f09565b606d546001600160a01b0316331461061a5760405162461bcd60e51b81526004018080602001828103825260258152602001806117166025913960400191505060405180910390fd5b606d80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60688054600101908190556069548311156106b3576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000868152606a602052604090205460ff1615610717576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b61072087610baf565b610771576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c080820183528a8252602082018a90526001600160a01b038981168385015288811660608401526080830188905260a08301879052925163695ef6f960e01b8152929093169263695ef6f9928d928d9290916004810191829160240190849080838360005b838110156107f65781810151838201526020016107de565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b15801561084857600080fd5b505af115801561085c573d6000803e3d6000fd5b505050506040513d602081101561087257600080fd5b50516108be576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000868152606a60205260409020805460ff191660011790556108e385858585610f1c565b604080516001600160a01b038781168252602082018990528183018690529151918616917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a26068548114610987576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050505050505050565b606c546001600160a01b031681565b60006000805160206116a58339815191528310610a05576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206116a58339815191528210610a515760405162461bcd60e51b81526004018080602001828103825260218152602001806116556021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610aab57600080fd5b505af4158015610abf573d6000803e3d6000fd5b505050506040513d6040811015610ad557600080fd5b50805160209091015190925090506000805160206116a5833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610b4d57600080fd5b505af4158015610b61573d6000803e3d6000fd5b505050506040513d6040811015610b7757600080fd5b505195945050505050565b6000805160206116a583398151915281565b60005463ffffffff1681565b606d546001600160a01b031681565b600081610bbe57506000610c1d565b60035463ffffffff165b60048163ffffffff1660648110610bdb57fe5b0154831415610bee576001915050610c1d565b63ffffffff8116610bfd575060645b6003546000199091019063ffffffff80831691161415610bc85760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606d546001600160a01b03163314610c925760405162461bcd60e51b81526004018080602001828103825260258152602001806117166025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610ce0578160200160208202803883390190505b50905060005b82811015610d3557610d09848483818110610cfd57fe5b90506020020135610e96565b15610d2d576001828281518110610d1c57fe5b911515602092830291909101909101525b600101610ce6565b5092915050565b60688054600101908190556000828152606b602052604090205460ff1615610d955760405162461bcd60e51b81526004018080602001828103825260218152602001806116c56021913960400191505060405180910390fd5b6000610da083611017565b6000848152606b60205260409020805460ff191660011790559050610dc36111ae565b6040805163ffffffff83168152426020820152815185927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a2506068548114610e59576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050565b60035460009060049063ffffffff1660648110610e7657fe5b0154905090565b60048160648110610e8a57fe5b0154905081565b606481565b6000908152606a602052604090205460ff1690565b60028181548110610eb857fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610eb857fe5b606e546001600160a01b031681565b600354600160201b900463ffffffff1681565b803414610f5a5760405162461bcd60e51b81526004018080602001828103825260308152602001806115fe6030913960400191505060405180910390fd5b610f688483606954036111fa565b8115610f7857610f7883836111fa565b8015611011576040516000906001600160a01b0386169083908381818185875af1925050503d8060008114610fc9576040519150601f19603f3d011682016040523d82523d6000602084013e610fce565b606091505b505090508061100f576040516001600160a01b0385169083156108fc029084906000818181858888f1935050505015801561100d573d6000803e3d6000fd5b505b505b50505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156110745760405162461bcd60e51b815260040180806020018281038252602f8152602001806115a5602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff908116908216101561114c57600185166111085783925060028163ffffffff16815481106110d657fe5b906000526020600020015491508360018263ffffffff16815481106110f757fe5b60009182526020909120015561112c565b60018163ffffffff168154811061111b57fe5b906000526020600020015492508391505b61113683836109a1565b9350600263ffffffff86160494506001016110a4565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff90811692909217908190558491600491166064811061118e57fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156111eb5760405162461bcd60e51b81526004018080602001828103825260308152602001806116e66030913960400191505060405180910390fd5b6111f833306069546113c5565b565b606e54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106112775780518252601f199092019160209182019101611258565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146112d9576040519150601f19603f3d011682016040523d82523d6000602084013e6112de565b606091505b509150915081611329576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156110115780516020146113705760405162461bcd60e51b815260040180806020018281038252602a8152602001806115d4602a913960400191505060405180910390fd5b80806020019051602081101561138557600080fd5b50519150816110115760405162461bcd60e51b815260040180806020018281038252602781526020018061162e6027913960400191505060405180910390fd5b606e54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b6020831061144a5780518252601f19909201916020918201910161142b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146114ac576040519150601f19603f3d011682016040523d82523d6000602084013e6114b1565b606091505b509150915081611508576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b80511561100f57805160201461154f5760405162461bcd60e51b815260040180806020018281038252602a8152602001806115d4602a913960400191505060405180910390fd5b80806020019051602081101561156457600080fd5b505191508161100f5760405162461bcd60e51b815260040180806020018281038252602f815260200180611676602f913960400191505060405180910390fdfe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a72315820e1c5144cb9686ce6e6ddfdff557eadc4214fbeb4f9a37da84c12c202331fe40364736f6c6343000511003264656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6";
type ERC20TornadoConstructorParams =
| [linkLibraryAddresses: ERC20TornadoLibraryAddresses, signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: ERC20TornadoConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => {
return (
typeof xs[0] === "string" ||
(Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) ||
"_isInterface" in xs[0]
);
};
export class ERC20Tornado__factory extends ContractFactory {
constructor(...args: ERC20TornadoConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
const [linkLibraryAddresses, signer] = args;
super(
_abi,
ERC20Tornado__factory.linkBytecode(linkLibraryAddresses),
signer
);
}
this.contractName = "ERC20Tornado";
}
static linkBytecode(
linkLibraryAddresses: ERC20TornadoLibraryAddresses
): string {
let linkedBytecode = _bytecode;
linkedBytecode = linkedBytecode.replace(
new RegExp("__Hasher________________________________", "g"),
linkLibraryAddresses["__Hasher________________________________"]
.replace(/^0x/, "")
.toLowerCase()
);
return linkedBytecode;
}
override deploy(
_verifier: PromiseOrValue<string>,
_denomination: PromiseOrValue<BigNumberish>,
_merkleTreeHeight: PromiseOrValue<BigNumberish>,
_operator: PromiseOrValue<string>,
_token: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ERC20Tornado> {
return super.deploy(
_verifier,
_denomination,
_merkleTreeHeight,
_operator,
_token,
overrides || {}
) as Promise<ERC20Tornado>;
}
override getDeployTransaction(
_verifier: PromiseOrValue<string>,
_denomination: PromiseOrValue<BigNumberish>,
_merkleTreeHeight: PromiseOrValue<BigNumberish>,
_operator: PromiseOrValue<string>,
_token: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): TransactionRequest {
return super.getDeployTransaction(
_verifier,
_denomination,
_merkleTreeHeight,
_operator,
_token,
overrides || {}
);
}
override attach(address: string): ERC20Tornado {
return super.attach(address) as ERC20Tornado;
}
override connect(signer: Signer): ERC20Tornado__factory {
return super.connect(signer) as ERC20Tornado__factory;
}
static readonly contractName: "ERC20Tornado";
public readonly contractName: "ERC20Tornado";
static readonly bytecode = _bytecode;
static readonly abi = _abi;
static createInterface(): ERC20TornadoInterface {
return new utils.Interface(_abi) as ERC20TornadoInterface;
}
static connect(
address: string,
signerOrProvider: Signer | Provider
): ERC20Tornado {
return new Contract(address, _abi, signerOrProvider) as ERC20Tornado;
}
}
export interface ERC20TornadoLibraryAddresses {
["__Hasher________________________________"]: string;
}