/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { Registry, RegistryInterface } from "../Registry"; const _abi = [ { inputs: [ { internalType: "address", name: "_treasury", type: "address", }, { internalType: "address", name: "_forwarder", type: "address", }, { internalType: "address", name: "_deployer", type: "address", }, ], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256", name: "defaultFeeBps", type: "uint256", }, ], name: "DefaultFeeBpsUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "newDeployer", type: "address", }, ], name: "DeployerUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "deployer", type: "address", }, { indexed: true, internalType: "uint256", name: "version", type: "uint256", }, { indexed: true, internalType: "address", name: "controlAddress", type: "address", }, ], name: "MigratedProtocolControl", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "deployer", type: "address", }, { indexed: true, internalType: "uint256", name: "version", type: "uint256", }, { indexed: true, internalType: "address", name: "controlAddress", type: "address", }, { indexed: false, internalType: "address", name: "controlDeployer", type: "address", }, ], name: "NewProtocolControl", 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: "control", type: "address", }, { indexed: false, internalType: "uint256", name: "feeBps", type: "uint256", }, ], name: "ProtocolControlFeeBpsUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "newTreasury", type: "address", }, ], name: "TreasuryUpdated", type: "event", }, { inputs: [], name: "MAX_PROVIDER_FEE_BPS", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_deployer", type: "address", }, { internalType: "address", name: "_protocolControl", type: "address", }, ], name: "addProtocolControl", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "defaultFeeBps", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "uri", type: "string", }, ], name: "deployProtocol", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "deployer", outputs: [ { internalType: "contract IControlDeployer", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "forwarder", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "protocolControl", type: "address", }, ], name: "getFeeBps", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_deployer", type: "address", }, { internalType: "uint256", name: "index", type: "uint256", }, ], name: "getProtocolControl", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_deployer", type: "address", }, ], name: "getProtocolControlCount", 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: [ { internalType: "uint256", name: "_newFeeBps", type: "uint256", }, ], name: "setDefaultFeeBps", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_newDeployer", type: "address", }, ], name: "setDeployer", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "protocolControl", type: "address", }, { internalType: "uint256", name: "_newFeeBps", type: "uint256", }, ], name: "setProtocolControlFeeBps", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_newTreasury", type: "address", }, ], name: "setTreasury", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "newOwner", type: "address", }, ], name: "transferOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "treasury", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, ]; const _bytecode = "0x60806040526101f460015534801561001657600080fd5b50604051610dad380380610dad833981016040819052610035916100ec565b61003e33610080565b600280546001600160a01b039485166001600160a01b03199182161790915560038054938516938216939093179092556004805491909316911617905561012f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100e757600080fd5b919050565b60008060006060848603121561010157600080fd5b61010a846100d0565b9250610118602085016100d0565b9150610126604085016100d0565b90509250925092565b610c6f8061013e6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c806396214735116100b2578063d5f3948811610081578063f0f4426011610066578063f0f4426014610273578063f2fde38b14610286578063f645d4f91461029957600080fd5b8063d5f3948814610226578063dc62163e1461023957600080fd5b806396214735146101ce578063bcae25a4146101e1578063cd7e89b1146101ea578063d566464b1461021357600080fd5b806373c6f378116100ee57806373c6f378146101845780637c160011146101975780638da5cb5b146101aa5780638e75aea9146101bb57600080fd5b80634373a286146101205780635cd423151461013557806361d027b314610151578063715018a61461017c575b600080fd5b61013361012e366004610a34565b6102ac565b005b61013e610bb881565b6040519081526020015b60405180910390f35b600254610164906001600160a01b031681565b6040516001600160a01b039091168152602001610148565b6101336103bf565b61013e610192366004610a62565b610425565b6101336101a5366004610a86565b610453565b6000546001600160a01b0316610164565b6101336101c9366004610ab2565b61057e565b6101336101dc366004610a62565b61064f565b61013e60015481565b61013e6101f8366004610a62565b6001600160a01b031660009081526005602052604090205490565b610133610221366004610b01565b6106f7565b600454610164906001600160a01b031681565b610164610247366004610a86565b6001600160a01b0391821660009081526005602090815260408083209383526001909301905220541690565b610133610281366004610a62565b61080e565b610133610294366004610a62565b6108b6565b600354610164906001600160a01b031681565b6000546001600160a01b0316331461030b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b610bb88111156103835760405162461bcd60e51b815260206004820152603160248201527f52656769737472793a2070726f7669646572206665652063616e6e6f7420626560448201527f2067726561746572207468616e203130250000000000000000000000000000006064820152608401610302565b60018190556040518181527faf07358220f107097f5c9bc5cacec9de23c6bd67d61633e5abaa3aa698d94fcf906020015b60405180910390a150565b6000546001600160a01b031633146104195760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610302565b6104236000610998565b565b6001600160a01b0381166000908152600660205260408120548061044d575050600154919050565b92915050565b6000546001600160a01b031633146104ad5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610302565b610bb88111156105255760405162461bcd60e51b815260206004820152603160248201527f52656769737472793a2070726f7669646572206665652063616e6e6f7420626560448201527f2067726561746572207468616e203130250000000000000000000000000000006064820152608401610302565b6001600160a01b03821660008181526006602052604090819020839055517f3f3f5381919d082b3f6431a55b5affd99c52c10d6b16a850a6c75377c17285a7906105729084815260200190565b60405180910390a25050565b6000546001600160a01b031633146105d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610302565b60006105e3836109e8565b6001600160a01b03848116600081815260056020908152604080832086845260010190915280822080546001600160a01b031916948816948517905551939450919284927fdba9aa581603bcdba2c5e0931430e0e092dc61b76318944adef4cc5dc0cf8d9991a4505050565b6000546001600160a01b031633146106a95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610302565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527f6db6dcdd05f1728263d8f644adcb07da9d18505aa9b2e33360b2715a878a711e906020016103b4565b336000610703826109e8565b6004805460405163ca282cb360e01b81529293506000926001600160a01b039091169163ca282cb39161073c91869188918a9101610bb2565b602060405180830381600087803b15801561075657600080fd5b505af115801561076a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078e9190610c1f565b6001600160a01b03848116600081815260056020908152604080832088845260010182529182902080546001600160a01b0319168686169081179091556004549251929094168252939450919285927f87f4df5222ed82bbc7706c066c5d45f3f5682016cb20d642c5491b7b411340b4910160405180910390a450505050565b6000546001600160a01b031633146108685760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610302565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1906020016103b4565b6000546001600160a01b031633146109105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610302565b6001600160a01b03811661098c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610302565b61099581610998565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811660009081526005602052604081208054600191908390610a13908490610c3c565b9091555050506001600160a01b031660009081526005602052604090205490565b600060208284031215610a4657600080fd5b5035919050565b6001600160a01b038116811461099557600080fd5b600060208284031215610a7457600080fd5b8135610a7f81610a4d565b9392505050565b60008060408385031215610a9957600080fd5b8235610aa481610a4d565b946020939093013593505050565b60008060408385031215610ac557600080fd5b8235610ad081610a4d565b91506020830135610ae081610a4d565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610b1357600080fd5b813567ffffffffffffffff80821115610b2b57600080fd5b818401915084601f830112610b3f57600080fd5b813581811115610b5157610b51610aeb565b604051601f8201601f19908116603f01168101908382118183101715610b7957610b79610aeb565b81604052828152876020848701011115610b9257600080fd5b826020860160208301376000928101602001929092525095945050505050565b838152600060206001600160a01b0385168184015260606040840152835180606085015260005b81811015610bf557858101830151858201608001528201610bd9565b81811115610c07576000608083870101525b50601f01601f19169290920160800195945050505050565b600060208284031215610c3157600080fd5b8151610a7f81610a4d565b60008219821115610c5d57634e487b7160e01b600052601160045260246000fd5b50019056fea164736f6c6343000809000a"; type RegistryConstructorParams = | [signer?: Signer] | ConstructorParameters; const isSuperArgs = ( xs: RegistryConstructorParams ): xs is ConstructorParameters => xs.length > 1; export class Registry__factory extends ContractFactory { constructor(...args: RegistryConstructorParams) { if (isSuperArgs(args)) { super(...args); } else { super(_abi, _bytecode, args[0]); } } deploy( _treasury: string, _forwarder: string, _deployer: string, overrides?: Overrides & { from?: string | Promise } ): Promise { return super.deploy( _treasury, _forwarder, _deployer, overrides || {} ) as Promise; } getDeployTransaction( _treasury: string, _forwarder: string, _deployer: string, overrides?: Overrides & { from?: string | Promise } ): TransactionRequest { return super.getDeployTransaction( _treasury, _forwarder, _deployer, overrides || {} ); } attach(address: string): Registry { return super.attach(address) as Registry; } connect(signer: Signer): Registry__factory { return super.connect(signer) as Registry__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): RegistryInterface { return new utils.Interface(_abi) as RegistryInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): Registry { return new Contract(address, _abi, signerOrProvider) as Registry; } }