sdk-monorepo/@tornado/sdk-core/src/deth/factories/TornadoRouter__factory.ts

363 lines
18 KiB
TypeScript

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { Signer, utils, Contract, ContractFactory, Overrides } from 'ethers'
import type { Provider, TransactionRequest } from '@ethersproject/providers'
import type { PromiseOrValue } from '../common'
import type { TornadoRouter, TornadoRouterInterface } from '../TornadoRouter'
const _abi = [
{
inputs: [
{
internalType: 'address',
name: '_governanceProxyAddress',
type: 'address'
}
],
stateMutability: 'nonpayable',
type: 'constructor'
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'sender',
type: 'address'
},
{
indexed: false,
internalType: 'bytes',
name: 'encryptedNote',
type: 'bytes'
}
],
name: 'EncryptedNote',
type: 'event'
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: 'address',
name: 'newInstanceRegistryProxyAddress',
type: 'address'
}
],
name: 'InstanceRegistryUpdated',
type: 'event'
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: 'address',
name: 'newRelayerRegistryProxyAddress',
type: 'address'
}
],
name: 'RelayerRegistryUpdated',
type: 'event'
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'spender',
type: 'address'
},
{
indexed: false,
internalType: 'uint256',
name: 'amount',
type: 'uint256'
}
],
name: 'TokenApproved',
type: 'event'
},
{
inputs: [
{
internalType: 'contract IERC20',
name: '_token',
type: 'address'
},
{
internalType: 'address',
name: '_spender',
type: 'address'
},
{
internalType: 'uint256',
name: '_amount',
type: 'uint256'
}
],
name: 'approveTokenForInstance',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [
{
internalType: 'bytes[]',
name: '_encryptedNotes',
type: 'bytes[]'
}
],
name: 'backupNotes',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [
{
internalType: 'contract ITornadoInstance',
name: '_tornado',
type: 'address'
},
{
internalType: 'bytes32',
name: '_commitment',
type: 'bytes32'
},
{
internalType: 'bytes',
name: '_encryptedNote',
type: 'bytes'
}
],
name: 'deposit',
outputs: [],
stateMutability: 'payable',
type: 'function'
},
{
inputs: [],
name: 'governanceProxyAddress',
outputs: [
{
internalType: 'address',
name: '',
type: 'address'
}
],
stateMutability: 'view',
type: 'function'
},
{
inputs: [
{
internalType: 'address',
name: '_instanceRegistryAddress',
type: 'address'
},
{
internalType: 'address',
name: '_relayerRegistryAddress',
type: 'address'
}
],
name: 'initialize',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [],
name: 'instanceRegistry',
outputs: [
{
internalType: 'contract InstanceRegistry',
name: '',
type: 'address'
}
],
stateMutability: 'view',
type: 'function'
},
{
inputs: [],
name: 'relayerRegistry',
outputs: [
{
internalType: 'contract RelayerRegistry',
name: '',
type: 'address'
}
],
stateMutability: 'view',
type: 'function'
},
{
inputs: [
{
internalType: 'contract IERC20',
name: '_token',
type: 'address'
},
{
internalType: 'address payable',
name: '_to',
type: 'address'
},
{
internalType: 'uint256',
name: '_amount',
type: 'uint256'
}
],
name: 'rescueTokens',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [
{
internalType: 'address',
name: '_newInstanceRegistryProxyAddress',
type: 'address'
}
],
name: 'setInstanceRegistry',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [
{
internalType: 'address',
name: '_newRelayerRegistryProxyAddress',
type: 'address'
}
],
name: 'setRelayerRegistry',
outputs: [],
stateMutability: 'nonpayable',
type: 'function'
},
{
inputs: [],
name: 'version',
outputs: [
{
internalType: 'string',
name: '',
type: 'string'
}
],
stateMutability: 'pure',
type: 'function'
},
{
inputs: [
{
internalType: 'contract ITornadoInstance',
name: '_tornado',
type: 'address'
},
{
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: [],
stateMutability: 'payable',
type: 'function'
}
] as const
const _bytecode =
'0x60a060405234801561001057600080fd5b506040516115b03803806115b083398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c61150d6100a3600039806103f1528061042d5280610647528061086d5280610907525061150d6000f3fe6080604052600436106100975760003560e01c806313d98d131461009c57806336a3874b146100b15780634655478f146100dc57806347ff589d146100f1578063485cc955146101065780634b704c971461012657806354fd4d50146101465780636485ba2a1461016857806364cb281114610188578063b438689f146101a8578063baaa2169146101bb578063cea9d26f146101db575b600080fd5b6100af6100aa366004610f3f565b6101fb565b005b3480156100bd57600080fd5b506100c66103da565b6040516100d39190611096565b60405180910390f35b3480156100e857600080fd5b506100c66103ef565b3480156100fd57600080fd5b506100c6610413565b34801561011257600080fd5b506100af610121366004610dc0565b610422565b34801561013257600080fd5b506100af610141366004610ec2565b610530565b34801561015257600080fd5b5061015b6105ba565b6040516100d39190611193565b34801561017457600080fd5b506100af610183366004610df8565b6105e5565b34801561019457600080fd5b506100af6101a3366004610da4565b61063c565b6100af6101b6366004610f98565b6106da565b3480156101c757600080fd5b506100af6101d6366004610da4565b610862565b3480156101e757600080fd5b506100af6101f6366004610e82565b6108fc565b60008054604051636695ad4960e11b815282918291620100009091046001600160a01b03169063cd2b5a9290610235908a90600401611096565b60806040518083038186803b15801561024d57600080fd5b505afa158015610261573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102859190610ed6565b93509350509250806102b25760405162461bcd60e51b81526004016102a9906111fd565b60405180910390fd5b8115610340576103403330896001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f657600080fd5b505afa15801561030a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032e9190611038565b6001600160a01b038716929190610a90565b60405163b214faa560e01b81526001600160a01b0388169063b214faa590349061036e908a90600401611124565b6000604051808303818588803b15801561038757600080fd5b505af115801561039b573d6000803e3d6000fd5b5050505050336001600160a01b03166000805160206114b883398151915286866040516103c992919061112d565b60405180910390a250505050505050565b6000546201000090046001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001546001600160a01b031681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461046a5760405162461bcd60e51b81526004016102a9906111c6565b600054610100900460ff16806104835750610483610aee565b80610491575060005460ff16155b6104ad5760405162461bcd60e51b81526004016102a990611240565b600054610100900460ff161580156104d8576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b038681169190910291909117909155600180546001600160a01b031916918416919091179055801561052b576000805461ff00191690555b505050565b6000546201000090046001600160a01b031633146105605760405162461bcd60e51b81526004016102a9906113de565b6105746001600160a01b0384168383610af4565b816001600160a01b03167fab1e93ce08cc196e636fe318c052f82163b40e499a90a0fdb38912ecd5beae11826040516105ad9190611124565b60405180910390a2505050565b6040805180820190915260118152703b1916b7b930b1b63296b6b0b730b3b2b960791b602082015290565b60005b8181101561052b57336000805160206114b883398151915284848481811061060c57fe5b905060200281019061061e9190611421565b60405161062c92919061112d565b60405180910390a26001016105e8565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106845760405162461bcd60e51b81526004016102a9906111c6565b600180546001600160a01b0319166001600160a01b0383161790556040517fd3c0577a88b56268da0350a01cb491fb15be69982729d9cb066a0603d1fc54b8906106cf908390611096565b60405180910390a150565b60008054604051636695ad4960e11b8152620100009091046001600160a01b03169063cd2b5a9290610710908d90600401611096565b60806040518083038186803b15801561072857600080fd5b505afa15801561073c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107609190610ed6565b9350505050806107825760405162461bcd60e51b81526004016102a9906111fd565b600154604051631168473b60e21b81526001600160a01b03909116906345a11cec906107b690339088908f906004016110aa565b600060405180830381600087803b1580156107d057600080fd5b505af11580156107e4573d6000803e3d6000fd5b50506040516310d056db60e11b81526001600160a01b038d1692506321a0adb691503490610824908d908d908d908d908d908d908d908d90600401611141565b6000604051808303818588803b15801561083d57600080fd5b505af1158015610851573d6000803e3d6000fd5b505050505050505050505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108aa5760405162461bcd60e51b81526004016102a9906111c6565b6000805462010000600160b01b031916620100006001600160a01b038416021790556040517fcea779b12676b53bc3062b0064b8a14145a271c42db27627a1895a67324f64cb906106cf908390611096565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109445760405162461bcd60e51b81526004016102a9906111c6565b6001600160a01b03821661096a5760405162461bcd60e51b81526004016102a9906112c5565b6001600160a01b0383166109c6574760006109858284610bb7565b6040519091506001600160a01b0385169082156108fc029083906000818181858888f193505050501580156109be573d6000803e3d6000fd5b50505061052b565b6040516370a0823160e01b81526000906001600160a01b038516906370a08231906109f5903090600401611096565b60206040518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a459190611038565b90506000610a538284610bb7565b905060008111610a755760405162461bcd60e51b81526004016102a990611351565b610a896001600160a01b0386168583610bcf565b5050505050565b610ae8846323b872dd60e01b858585604051602401610ab1939291906110e7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610bee565b50505050565b303b1590565b801580610b7c5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90610b2a90309086906004016110cd565b60206040518083038186803b158015610b4257600080fd5b505afa158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a9190611038565b155b610b985760405162461bcd60e51b81526004016102a990611388565b61052b8363095ea7b360e01b8484604051602401610ab192919061110b565b6000818310610bc65781610bc8565b825b9392505050565b61052b8363a9059cbb60e01b8484604051602401610ab192919061110b565b6060610c43826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610c7d9092919063ffffffff16565b80519091501561052b5780806020019051810190610c619190610e66565b61052b5760405162461bcd60e51b81526004016102a990611307565b6060610c8c8484600085610c94565b949350505050565b6060610c9f85610d58565b610cbb5760405162461bcd60e51b81526004016102a99061128e565b60006060866001600160a01b03168587604051610cd8919061107a565b60006040518083038185875af1925050503d8060008114610d15576040519150601f19603f3d011682016040523d82523d6000602084013e610d1a565b606091505b50915091508115610d2e579150610c8c9050565b805115610d3e5780518082602001fd5b8360405162461bcd60e51b81526004016102a99190611193565b3b151590565b60008083601f840112610d6f578182fd5b5081356001600160401b03811115610d85578182fd5b602083019150836020828501011115610d9d57600080fd5b9250929050565b600060208284031215610db5578081fd5b8135610bc881611491565b60008060408385031215610dd2578081fd5b8235610ddd81611491565b91506020830135610ded81611491565b809150509250929050565b60008060208385031215610e0a578182fd5b82356001600160401b0380821115610e20578384fd5b818501915085601f830112610e33578384fd5b813581811115610e41578485fd5b8660208083028501011115610e54578485fd5b60209290920196919550909350505050565b600060208284031215610e77578081fd5b8151610bc8816114a9565b600080600060608486031215610e96578081fd5b8335610ea181611491565b92506020840135610eb181611491565b929592945050506040919091013590565b600080600060608486031215610e96578283fd5b60008060008060808587031215610eeb578081fd5b8451610ef681611491565b60208601519094506001600160501b0381168114610f12578182fd5b6040860151909350610f23816114a9565b6060860151909250610f34816114a9565b939692955090935050565b60008060008060608587031215610f54578384fd5b8435610f5f81611491565b93506020850135925060408501356001600160401b03811115610f80578283fd5b610f8c87828801610d5e565b95989497509550505050565b60008060008060008060008060006101008a8c031215610fb6578485fd5b8935610fc181611491565b985060208a01356001600160401b03811115610fdb578586fd5b610fe78c828d01610d5e565b90995097505060408a0135955060608a0135945060808a013561100981611491565b935060a08a013561101981611491565b8093505060c08a0135915060e08a013590509295985092959850929598565b600060208284031215611049578081fd5b5051919050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6000825161108c818460208701611465565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b90815260200190565b600060208252610c8c602083018486611050565b600060e0825261115560e083018a8c611050565b60208301989098525060408101959095526001600160a01b03938416606086015291909216608084015260a083019190915260c09091015292915050565b60006020825282518060208401526111b2816040850160208701611465565b601f01601f19169190910160400192915050565b6020808252601d908201527f546f726e61646f526f757465723a206f6e6c79476f7665726e616e6365000000604082015260600190565b60208082526023908201527f546f726e61646f526f757465723a20696e7374616e6365206e6f7420656e61626040820152621b195960ea1b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b60208082526023908201527f546f726e61646f526f757465723a206f6e6c79496e7374616e6365526567697360408201526274727960e81b606082015260800190565b6000808335601e19843603018112611437578283fd5b8301803591506001600160401b03821115611450578283fd5b602001915036819003821315610d9d57600080fd5b60005b83811015611480578181015183820152602001611468565b83811115610ae85750506000910152565b6001600160a01b03811681146114a657600080fd5b50565b80151581146114a657600080fdfefa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b4008a2646970667358221220526b6f98f0226b043a554c9a0c6eb190a453d379dbf6d0b0804bec30140c148764736f6c634300060c0033'
type TornadoRouterConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>
const isSuperArgs = (
xs: TornadoRouterConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1
export class TornadoRouter__factory extends ContractFactory {
constructor(...args: TornadoRouterConstructorParams) {
if (isSuperArgs(args)) {
super(...args)
} else {
super(_abi, _bytecode, args[0])
}
this.contractName = 'TornadoRouter'
}
override deploy(
_governanceProxyAddress: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<TornadoRouter> {
return super.deploy(_governanceProxyAddress, overrides || {}) as Promise<TornadoRouter>
}
override getDeployTransaction(
_governanceProxyAddress: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): TransactionRequest {
return super.getDeployTransaction(_governanceProxyAddress, overrides || {})
}
override attach(address: string): TornadoRouter {
return super.attach(address) as TornadoRouter
}
override connect(signer: Signer): TornadoRouter__factory {
return super.connect(signer) as TornadoRouter__factory
}
static readonly contractName: 'TornadoRouter'
public readonly contractName: 'TornadoRouter'
static readonly bytecode = _bytecode
static readonly abi = _abi
static createInterface(): TornadoRouterInterface {
return new utils.Interface(_abi) as TornadoRouterInterface
}
static connect(address: string, signerOrProvider: Signer | Provider): TornadoRouter {
return new Contract(address, _abi, signerOrProvider) as TornadoRouter
}
}