import { Signer, ContractFactory, Overrides } from "ethers"; import type { Provider, TransactionRequest } from "@ethersproject/providers"; import type { GoldfinchConfig, GoldfinchConfigInterface } from "../GoldfinchConfig"; type GoldfinchConfigConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class GoldfinchConfig__factory extends ContractFactory { constructor(...args: GoldfinchConfigConstructorParams); deploy(overrides?: Overrides & { from?: string; }): Promise; getDeployTransaction(overrides?: Overrides & { from?: string; }): TransactionRequest; attach(address: string): GoldfinchConfig; connect(signer: Signer): GoldfinchConfig__factory; static readonly bytecode = "0x608060405234801561001057600080fd5b50610d74806100206000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063a217fddf11610097578063d39fa23311610066578063d39fa23314610239578063d547741f14610259578063edf26d9b1461026c578063fc5636581461029557600080fd5b8063a217fddf146101ca578063ac4ce2c6146101d2578063b93f9b0a146101e5578063c4d66de81461022657600080fd5b806357337adb116100d357806357337adb146101865780635c975abb146101995780636b19e8c7146101a457806391d14854146101b757600080fd5b806301ffc9a714610105578063248a9ca31461012d5780632f2ff15d1461015e57806336568abe14610173575b600080fd5b610118610113366004610adc565b6102b5565b60405190151581526020015b60405180910390f35b61015061013b366004610b06565b60009081526097602052604090206001015490565b604051908152602001610124565b61017161016c366004610b3b565b6102ec565b005b610171610181366004610b3b565b610316565b610171610194366004610b67565b610399565b60335460ff16610118565b6101716101b2366004610b82565b610451565b6101186101c5366004610b3b565b6104c2565b610150600081565b6101716101e0366004610b3b565b6104ed565b61020e6101f3366004610b06565b600090815260c960205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610124565b610171610234366004610b67565b6105f6565b610150610247366004610b06565b60ca6020526000908152604090205481565b610171610267366004610b3b565b61071a565b61020e61027a366004610b06565b60c9602052600090815260409020546001600160a01b031681565b6101506102a3366004610b06565b600090815260ca602052604090205490565b60006001600160e01b03198216637965db0b60e01b14806102e657506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000828152609760205260409020600101546103078161073f565b610311838361074c565b505050565b6001600160a01b038116331461038b5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b61039582826107d2565b5050565b6103a3600061073f565b6006600081905260c960209081527fd06a73d74e39149c26394d08e15f063a47c5969c3ee3f198d2852552a23e92ef54604080513381529283018490526001600160a01b0391821690830152831660608201527faebfad0d8db62d5b2e540f64d7c2be34ded04171b48ed6655286c392a879bf6c9060800160405180910390a1600090815260c96020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b61045b600061073f565b600082815260ca6020908152604091829020548251338152918201859052818301526060810183905290517f6b54a1d7321bc1699c15f7f585030864b02ca971590f31de4acbb60eff0758c09181900360800190a1600091825260ca602052604090912055565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6104f7600061073f565b600082815260c960205260409020546001600160a01b0316156105685760405162461bcd60e51b8152602060048201526024808201527f416464726573732068617320616c7265616479206265656e20696e697469616c6044820152631a5e995960e21b6064820152608401610382565b600082815260c960209081526040918290205482513381529182018590526001600160a01b03908116828401528316606082015290517faebfad0d8db62d5b2e540f64d7c2be34ded04171b48ed6655286c392a879bf6c9181900360800190a1600091825260c9602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b600054610100900460ff16158080156106165750600054600160ff909116105b806106305750303b158015610630575060005460ff166001145b6106935760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610382565b6000805460ff1916600117905580156106b6576000805461ff0019166101001790555b6106be610839565b6106c661086a565b6106d1600083610891565b8015610395576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000828152609760205260409020600101546107358161073f565b61031183836107d2565b610749813361089b565b50565b61075682826104c2565b6103955760008281526097602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561078e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6107dc82826104c2565b156103955760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600054610100900460ff166108605760405162461bcd60e51b815260040161038290610ba4565b6108686108f4565b565b600054610100900460ff166108685760405162461bcd60e51b815260040161038290610ba4565b610395828261074c565b6108a582826104c2565b610395576108b281610927565b6108bd836020610939565b6040516020016108ce929190610c13565b60408051601f198184030181529082905262461bcd60e51b825261038291600401610c88565b600054610100900460ff1661091b5760405162461bcd60e51b815260040161038290610ba4565b6033805460ff19169055565b60606102e66001600160a01b03831660145b60606000610948836002610cd1565b610953906002610ce8565b67ffffffffffffffff81111561096b5761096b610cfb565b6040519080825280601f01601f191660200182016040528015610995576020820181803683370190505b509050600360fc1b816000815181106109b0576109b0610d11565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106109df576109df610d11565b60200101906001600160f81b031916908160001a9053506000610a03846002610cd1565b610a0e906001610ce8565b90505b6001811115610a86576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610a4257610a42610d11565b1a60f81b828281518110610a5857610a58610d11565b60200101906001600160f81b031916908160001a90535060049490941c93610a7f81610d27565b9050610a11565b508315610ad55760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610382565b9392505050565b600060208284031215610aee57600080fd5b81356001600160e01b031981168114610ad557600080fd5b600060208284031215610b1857600080fd5b5035919050565b80356001600160a01b0381168114610b3657600080fd5b919050565b60008060408385031215610b4e57600080fd5b82359150610b5e60208401610b1f565b90509250929050565b600060208284031215610b7957600080fd5b610ad582610b1f565b60008060408385031215610b9557600080fd5b50508035926020909101359150565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015610c0a578181015183820152602001610bf2565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610c4b816017850160208801610bef565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351610c7c816028840160208801610bef565b01602801949350505050565b6020815260008251806020840152610ca7816040850160208701610bef565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176102e6576102e6610cbb565b808201808211156102e6576102e6610cbb565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081610d3657610d36610cbb565b50600019019056fea2646970667358221220551e4ac3bc81db9749bbd99d0c70e95347c050132e0a3e4f0c825844d3c2aebe64736f6c63430008130033"; static readonly abi: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "oldValue"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "newValue"; readonly type: "address"; }]; readonly name: "AddressUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint8"; readonly name: "version"; readonly type: "uint8"; }]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "oldValue"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "newValue"; readonly type: "uint256"; }]; readonly name: "NumberUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "Paused"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "previousAdminRole"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "newAdminRole"; readonly type: "bytes32"; }]; readonly name: "RoleAdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "RoleGranted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "RoleRevoked"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "Unpaused"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "DEFAULT_ADMIN_ROLE"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "addresses"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "addressKey"; readonly type: "uint256"; }]; readonly name: "getAddress"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "number"; readonly type: "uint256"; }]; readonly name: "getNumber"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }]; readonly name: "getRoleAdmin"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "grantRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "hasRole"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "numbers"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "paused"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "renounceRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "revokeRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "addressIndex"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "newAddress"; readonly type: "address"; }]; readonly name: "setAddress"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "newNumber"; readonly type: "uint256"; }]; readonly name: "setNumber"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newTreasuryReserve"; readonly type: "address"; }]; readonly name: "setTreasuryReserve"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly name: "supportsInterface"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; static createInterface(): GoldfinchConfigInterface; static connect(address: string, signerOrProvider: Signer | Provider): GoldfinchConfig; } export {};