import { Signer, ContractFactory, Overrides } from "ethers"; import type { Provider, TransactionRequest } from "@ethersproject/providers"; import type { PromiseOrValue } from "../common"; import type { PriceOracle, PriceOracleInterface, PriceFeedConfigStruct } from "../PriceOracle"; declare type PriceOracleConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class PriceOracle__factory extends ContractFactory { constructor(...args: PriceOracleConstructorParams); deploy(addressProvider: PromiseOrValue, defaults: PriceFeedConfigStruct[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getDeployTransaction(addressProvider: PromiseOrValue, defaults: PriceFeedConfigStruct[], overrides?: Overrides & { from?: PromiseOrValue; }): TransactionRequest; attach(address: string): PriceOracle; connect(signer: Signer): PriceOracle__factory; static readonly contractName: "PriceOracle"; readonly contractName: "PriceOracle"; static readonly bytecode = "0x60a06040523480156200001157600080fd5b5060405162001b7438038062001b74833981016040819052620000349162000611565b6000805460ff19169055816001600160a01b0381166200006757604051635919af9760e11b815260040160405180910390fd5b806001600160a01b031663087376956040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000cc919062000713565b6001600160a01b031660805250805160005b8181101562000142576200013983828151811062000100576200010062000738565b60200260200101516000015184838151811062000121576200012162000738565b6020026020010151602001516200014c60201b60201c565b600101620000de565b505050506200082b565b6001600160a01b03821615806200016a57506001600160a01b038116155b156200018957604051635919af9760e11b815260040160405180910390fd5b620001a8826001600160a01b0316620004ba60201b620006751760201c565b620001d65760405163df4c572d60e01b81526001600160a01b03831660048201526024015b60405180910390fd5b620001f5816001600160a01b0316620004ba60201b620006751760201c565b6200021f5760405163df4c572d60e01b81526001600160a01b0382166004820152602401620001cd565b806001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156200027c575060408051601f3d908101601f1916820190925262000279918101906200074e565b60015b6200029a576040516367a7cd4360e01b815260040160405180910390fd5b8060ff16600814620002bf576040516367a7cd4360e01b815260040160405180910390fd5b506000816001600160a01b031663d62ada116040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156200031f575060408051601f3d908101601f191682019092526200031c9181019062000773565b60015b6200032a576200032d565b90505b6000836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156200038c575060408051601f3d908101601f1916820190925262000389918101906200074e565b60015b620003aa5760405163528ca31d60e01b815260040160405180910390fd5b60128160ff161115620003d05760405163528ca31d60e01b815260040160405180910390fd5b9050826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa9250505080156200042f575060408051601f3d908101601f191682019092526200042c91810190620007af565b60015b6200044d576040516367a7cd4360e01b815260040160405180910390fd5b8662000461576200046185858484620004c9565b505050505062000474848484846200052f565b826001600160a01b0316846001600160a01b03167fe263805b03657ab13064915d0723c5ce14981547e7cba5283f66b9e5d81f6e6e60405160405180910390a350505050565b6001600160a01b03163b151590565b60008313620004eb576040516356e05d2b60e01b815260040160405180910390fd5b836001600160501b0316816001600160501b031610806200050a575081155b15620005295760405163b1cf675560e01b815260040160405180910390fd5b50505050565b6001600160a01b03831682156200054757600160a11b175b6200055d60ff60a21b60a284901b168262000804565b6001600160a01b0390951660009081526001602052604090209490945550505050565b80516001600160a01b03811681146200059857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620005d857620005d86200059d565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200060957620006096200059d565b604052919050565b60008060408084860312156200062657600080fd5b620006318462000580565b602085810151919450906001600160401b03808211156200065157600080fd5b818701915087601f8301126200066657600080fd5b8151818111156200067b576200067b6200059d565b6200068b848260051b01620005de565b818152848101925060069190911b830184019089821115620006ac57600080fd5b928401925b81841015620007035785848b031215620006cb5760008081fd5b620006d5620005b3565b620006e08562000580565b8152620006ef86860162000580565b8187015283529285019291840191620006b1565b8096505050505050509250929050565b6000602082840312156200072657600080fd5b620007318262000580565b9392505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156200076157600080fd5b815160ff811681146200073157600080fd5b6000602082840312156200078657600080fd5b815180151581146200073157600080fd5b80516001600160501b03811681146200059857600080fd5b600080600080600060a08688031215620007c857600080fd5b620007d38662000797565b9450602086015193506040860151925060608601519150620007f86080870162000797565b90509295509295909350565b600082198211156200082657634e487b7160e01b600052601160045260246000fd5b500190565b6080516113186200085c600039600081816101b201528181610280015281816103e201526104ff01526113186000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80638456cb591161008c578063b66102df11610066578063b66102df146101d4578063e8a97a3e146101e7578063f190e5fa146101fa578063f9a650301461023f57600080fd5b80638456cb591461016d5780639dcb511a14610175578063a50cf2c8146101ad57600080fd5b80635c975abb116100bd5780635c975abb1461011c5780635cecbd0e146101325780637afb01041461015a57600080fd5b80633f4ba83a146100e457806341976e09146100ee57806354fd4d5014610114575b600080fd5b6100ec610252565b005b6101016100fc366004610f4e565b610340565b6040519081526020015b60405180910390f35b610101600281565b60005460ff16604051901515815260200161010b565b610145610140366004610f70565b610352565b6040805192835260208301919091520161010b565b610101610168366004610fb6565b610376565b6100ec6103b4565b610188610183366004610f4e565b6104a0565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010b565b6101887f000000000000000000000000000000000000000000000000000000000000000081565b6101016101e2366004610fe2565b6104b4565b6100ec6101f536600461101e565b6104d1565b61020d610208366004610f4e565b6105c3565b6040805173ffffffffffffffffffffffffffffffffffffffff909416845291151560208401529082015260600161010b565b61010161024d366004610fb6565b61064d565b6040517fd4eb5db00000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d4eb5db090602401602060405180830381865afa1580156102dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103009190611048565b610336576040517f10332dee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033e610691565b565b600061034b8261070e565b5092915050565b60008061035f868661064d565b915061036b848461064d565b905094509492505050565b60008060006103848461070e565b90925090508161039582600a6111b9565b61039f90876111c5565b6103a99190611202565b925050505b92915050565b6040517f3a41ec640000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633a41ec6490602401602060405180830381865afa15801561043e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104629190611048565b610498576040517fd794b1e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033e6107c6565b60006104ab826105c3565b50909392505050565b60006104c96104c3858561064d565b83610376565b949350505050565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa15801561055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057f9190611048565b6105b5576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105bf8282610821565b5050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120548190819080610624576040517f4bb8ad8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b947402000000000000000000000000000000000000000086161515945060a286901c9350915050565b600080600061065b8461070e565b909250905061066b81600a6111b9565b61039f83876111c5565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b610699610d26565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60008060008061071d856105c3565b8095508193508294505050506000806000808573ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561077a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079e9190611257565b945094505093509350846107b8576107b884848484610d92565b829750505050505050915091565b6107ce610e2d565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586106e43390565b73ffffffffffffffffffffffffffffffffffffffff82161580610858575073ffffffffffffffffffffffffffffffffffffffff8116155b1561088f576040517fb2335f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82163b6108fa576040517fdf4c572d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81163b610960576040517fdf4c572d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016108f1565b8073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109e5575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526109e2918101906112a7565b60015b610a1b576040517f67a7cd4300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060ff16600814610a58576040517f67a7cd4300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060008173ffffffffffffffffffffffffffffffffffffffff1663d62ada116040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610ae0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610add91810190611048565b60015b610ae957610aec565b90505b60008373ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610b73575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610b70918101906112a7565b60015b610ba9576040517f528ca31d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60128160ff161115610be7576040517f528ca31d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b90508273ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa925050508015610c6e575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610c6b91810190611257565b60015b610ca4576040517f67a7cd4300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86610cb557610cb585858484610d92565b5050505050610cc684848484610e9a565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fe263805b03657ab13064915d0723c5ce14981547e7cba5283f66b9e5d81f6e6e60405160405180910390a350505050565b60005460ff1661033e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016108f1565b60008313610dcc576040517f56e05d2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8369ffffffffffffffffffff168169ffffffffffffffffffff161080610df0575081155b15610e27576040517fb1cf675500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b60005460ff161561033e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016108f1565b73ffffffffffffffffffffffffffffffffffffffff83168215610ecf5774020000000000000000000000000000000000000000175b610ef57503fc000000000000000000000000000000000000000060a284901b16826112ca565b73ffffffffffffffffffffffffffffffffffffffff90951660009081526001602052604090209490945550505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610f4957600080fd5b919050565b600060208284031215610f6057600080fd5b610f6982610f25565b9392505050565b60008060008060808587031215610f8657600080fd5b84359350610f9660208601610f25565b925060408501359150610fab60608601610f25565b905092959194509250565b60008060408385031215610fc957600080fd5b82359150610fd960208401610f25565b90509250929050565b600080600060608486031215610ff757600080fd5b8335925061100760208501610f25565b915061101560408501610f25565b90509250925092565b6000806040838503121561103157600080fd5b61103a83610f25565b9150610fd960208401610f25565b60006020828403121561105a57600080fd5b81518015158114610f6957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600181815b808511156110f257817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156110d8576110d861106a565b808516156110e557918102915b93841c939080029061109e565b509250929050565b600082611109575060016103ae565b81611116575060006103ae565b816001811461112c576002811461113657611152565b60019150506103ae565b60ff8411156111475761114761106a565b50506001821b6103ae565b5060208310610133831016604e8410600b8410161715611175575081810a6103ae565b61117f8383611099565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156111b1576111b161106a565b029392505050565b6000610f6983836110fa565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156111fd576111fd61106a565b500290565b600082611238577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b805169ffffffffffffffffffff81168114610f4957600080fd5b600080600080600060a0868803121561126f57600080fd5b6112788661123d565b945060208601519350604086015192506060860151915061129b6080870161123d565b90509295509295909350565b6000602082840312156112b957600080fd5b815160ff81168114610f6957600080fd5b600082198211156112dd576112dd61106a565b50019056fea2646970667358221220dca1ed4358c55d27e947a0c846474b8bc7cbd0a89d57e45c3d18d7afd27ae09664736f6c634300080a0033"; static readonly abi: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "addressProvider"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "priceFeed"; readonly type: "address"; }]; readonly internalType: "struct PriceFeedConfig[]"; readonly name: "defaults"; readonly type: "tuple[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "AddressIsNotContractException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CallerNotConfiguratorException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CallerNotPausableAdminException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CallerNotUnPausableAdminException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ChainPriceStaleException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "IncorrectPriceFeedException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "IncorrectTokenContractException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "PriceOracleNotExistsException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroAddressException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroPriceException"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "priceFeed"; readonly type: "address"; }]; readonly name: "NewPriceFeed"; 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: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "Unpaused"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "_acl"; readonly outputs: readonly [{ readonly internalType: "contract IACL"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "priceFeed"; readonly type: "address"; }]; readonly name: "addPriceFeed"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "tokenFrom"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "tokenTo"; readonly type: "address"; }]; readonly name: "convert"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "convertFromUSD"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "convertToUSD"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountFrom"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "tokenFrom"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amountTo"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "tokenTo"; readonly type: "address"; }]; readonly name: "fastCheck"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "collateralFrom"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "collateralTo"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "getPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "price"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "pause"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; 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: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "priceFeeds"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "priceFeed"; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "priceFeedsWithFlags"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "priceFeed"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "skipCheck"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "decimals"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "unpause"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "version"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; static createInterface(): PriceOracleInterface; static connect(address: string, signerOrProvider: Signer | Provider): PriceOracle; } export {};