/* Autogenerated file. Do not edit manually. */ /* eslint-disable */ import { Signer } from '@ethersproject/abstract-signer'; import { Provider } from '@ethersproject/providers'; import { Contract, ContractFactory } from '@ethersproject/contracts'; import { UiPoolDataProvider } from './UiPoolDataProvider'; export class UiPoolDataProviderFactory extends ContractFactory { constructor(signer?: Signer) { super(_abi, _bytecode, signer); } static connect( address: string, signerOrProvider: Signer | Provider, ): UiPoolDataProvider { return new Contract( address, _abi, signerOrProvider, ) as unknown as UiPoolDataProvider; } } const _abi = [ { inputs: [ { internalType: 'contract IChainlinkAggregator', name: '_networkBaseTokenPriceInUsdProxyAggregator', type: 'address', }, { internalType: 'contract IChainlinkAggregator', name: '_marketReferenceCurrencyPriceInUsdProxyAggregator', type: 'address', }, ], stateMutability: 'nonpayable', type: 'constructor', }, { inputs: [], name: 'ETH_CURRENCY_UNIT', outputs: [ { internalType: 'uint256', name: '', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'contract ILendingPoolAddressesProvider', name: 'provider', type: 'address', }, ], name: 'getReservesData', outputs: [ { components: [ { internalType: 'address', name: 'underlyingAsset', type: 'address', }, { internalType: 'string', name: 'name', type: 'string', }, { internalType: 'string', name: 'symbol', type: 'string', }, { internalType: 'uint256', name: 'decimals', type: 'uint256', }, { internalType: 'uint256', name: 'baseLTVasCollateral', type: 'uint256', }, { internalType: 'uint256', name: 'reserveLiquidationThreshold', type: 'uint256', }, { internalType: 'uint256', name: 'reserveLiquidationBonus', type: 'uint256', }, { internalType: 'uint256', name: 'reserveFactor', type: 'uint256', }, { internalType: 'bool', name: 'usageAsCollateralEnabled', type: 'bool', }, { internalType: 'bool', name: 'borrowingEnabled', type: 'bool', }, { internalType: 'bool', name: 'stableBorrowRateEnabled', type: 'bool', }, { internalType: 'bool', name: 'isActive', type: 'bool', }, { internalType: 'bool', name: 'isFrozen', type: 'bool', }, { internalType: 'uint128', name: 'liquidityIndex', type: 'uint128', }, { internalType: 'uint128', name: 'variableBorrowIndex', type: 'uint128', }, { internalType: 'uint128', name: 'liquidityRate', type: 'uint128', }, { internalType: 'uint128', name: 'variableBorrowRate', type: 'uint128', }, { internalType: 'uint128', name: 'stableBorrowRate', type: 'uint128', }, { internalType: 'uint40', name: 'lastUpdateTimestamp', type: 'uint40', }, { internalType: 'address', name: 'aTokenAddress', type: 'address', }, { internalType: 'address', name: 'stableDebtTokenAddress', type: 'address', }, { internalType: 'address', name: 'variableDebtTokenAddress', type: 'address', }, { internalType: 'address', name: 'interestRateStrategyAddress', type: 'address', }, { internalType: 'uint256', name: 'availableLiquidity', type: 'uint256', }, { internalType: 'uint256', name: 'totalPrincipalStableDebt', type: 'uint256', }, { internalType: 'uint256', name: 'averageStableRate', type: 'uint256', }, { internalType: 'uint256', name: 'stableDebtLastUpdateTimestamp', type: 'uint256', }, { internalType: 'uint256', name: 'totalScaledVariableDebt', type: 'uint256', }, { internalType: 'uint256', name: 'priceInMarketReferenceCurrency', type: 'uint256', }, { internalType: 'uint256', name: 'variableRateSlope1', type: 'uint256', }, { internalType: 'uint256', name: 'variableRateSlope2', type: 'uint256', }, { internalType: 'uint256', name: 'stableRateSlope1', type: 'uint256', }, { internalType: 'uint256', name: 'stableRateSlope2', type: 'uint256', }, ], internalType: 'struct IUiPoolDataProvider.AggregatedReserveData[]', name: '', type: 'tuple[]', }, { components: [ { internalType: 'uint256', name: 'marketReferenceCurrencyUnit', type: 'uint256', }, { internalType: 'int256', name: 'marketReferenceCurrencyPriceInUsd', type: 'int256', }, { internalType: 'int256', name: 'networkBaseTokenPriceInUsd', type: 'int256', }, { internalType: 'uint8', name: 'networkBaseTokenPriceDecimals', type: 'uint8', }, ], internalType: 'struct IUiPoolDataProvider.BaseCurrencyInfo', name: '', type: 'tuple', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'contract ILendingPoolAddressesProvider', name: 'provider', type: 'address', }, ], name: 'getReservesList', outputs: [ { internalType: 'address[]', name: '', type: 'address[]', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'contract ILendingPoolAddressesProvider', name: 'provider', type: 'address', }, { internalType: 'address', name: 'user', type: 'address', }, ], name: 'getUserReservesData', outputs: [ { components: [ { internalType: 'address', name: 'underlyingAsset', type: 'address', }, { internalType: 'uint256', name: 'scaledATokenBalance', type: 'uint256', }, { internalType: 'bool', name: 'usageAsCollateralEnabledOnUser', type: 'bool', }, { internalType: 'uint256', name: 'stableBorrowRate', type: 'uint256', }, { internalType: 'uint256', name: 'scaledVariableDebt', type: 'uint256', }, { internalType: 'uint256', name: 'principalStableDebt', type: 'uint256', }, { internalType: 'uint256', name: 'stableBorrowLastUpdateTimestamp', type: 'uint256', }, ], internalType: 'struct IUiPoolDataProvider.UserReserveData[]', name: '', type: 'tuple[]', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'marketReferenceCurrencyPriceInUsdProxyAggregator', outputs: [ { internalType: 'contract IChainlinkAggregator', name: '', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'networkBaseTokenPriceInUsdProxyAggregator', outputs: [ { internalType: 'contract IChainlinkAggregator', name: '', type: 'address', }, ], stateMutability: 'view', type: 'function', }, ]; const _bytecode = '0x60c06040523480156200001157600080fd5b506040516200206238038062002062833981016040819052620000349162000053565b6001600160601b0319606092831b8116608052911b1660a052620000aa565b6000806040838503121562000066578182fd5b8251620000738162000091565b6020840151909250620000868162000091565b809150509250929050565b6001600160a01b0381168114620000a757600080fd5b50565b60805160601c60a05160601c611f7f620000e36000398061086652806110f75250806101115280610f0e5280610fa85250611f7f6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630496f53a146100675780633c1740ed1461008557806351974cc01461009a578063586c1442146100ba578063d22cf68a146100da578063ec489c21146100e2575b600080fd5b61006f610103565b60405161007c9190611ebe565b60405180910390f35b61008d61010f565b60405161007c9190611d27565b6100ad6100a8366004611839565b610133565b60405161007c9190611e19565b6100cd6100c836600461181d565b610771565b60405161007c9190611d3b565b61008d610864565b6100f56100f036600461181d565b610888565b60405161007c929190611d88565b670de0b6b3a764000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606000836001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561017057600080fd5b505afa158015610184573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a89190611756565b90506060816001600160a01b031663d1946dbc6040518163ffffffff1660e01b815260040160006040518083038186803b1580156101e557600080fd5b505afa1580156101f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102219190810190611772565b905061022b611499565b604051634417a58360e01b81526001600160a01b03841690634417a58390610257908890600401611d27565b60206040518083038186803b15801561026f57600080fd5b505afa158015610283573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a79190611a10565b905060606001600160a01b0386166102c05760006102c3565b82515b67ffffffffffffffff811180156102d957600080fd5b5060405190808252806020026020018201604052801561031357816020015b6103006114ac565b8152602001906001900390816102f85790505b50905060005b83518110156107645761032a6114f4565b856001600160a01b03166335ea6a7586848151811061034557fe5b60200260200101516040518263ffffffff1660e01b81526004016103699190611d27565b6101806040518083038186803b15801561038257600080fd5b505afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611915565b90508482815181106103c857fe5b60200260200101518383815181106103dc57fe5b60209081029190910101516001600160a01b03918216905260e0820151604051630ed1279f60e11b8152911690631da24f3e9061041d908b90600401611d27565b60206040518083038186803b15801561043557600080fd5b505afa158015610449573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046d9190611871565b83838151811061047957fe5b602090810291909101810151015261049184836111a7565b83838151811061049d57fe5b60209081029190910101519015156040909101526104bb8483611208565b1561075b578061012001516001600160a01b0316631da24f3e896040518263ffffffff1660e01b81526004016104f19190611d27565b60206040518083038186803b15801561050957600080fd5b505afa15801561051d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105419190611871565b83838151811061054d57fe5b602002602001015160800181815250508061010001516001600160a01b031663c634dfaa896040518263ffffffff1660e01b815260040161058e9190611d27565b60206040518083038186803b1580156105a657600080fd5b505afa1580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105de9190611871565b8383815181106105ea57fe5b602002602001015160a001818152505082828151811061060657fe5b602002602001015160a0015160001461075b578061010001516001600160a01b031663e78c9b3b896040518263ffffffff1660e01b815260040161064a9190611d27565b60206040518083038186803b15801561066257600080fd5b505afa158015610676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069a9190611871565b8383815181106106a657fe5b602002602001015160600181815250508061010001516001600160a01b03166379ce6b8c896040518263ffffffff1660e01b81526004016106e79190611d27565b60206040518083038186803b1580156106ff57600080fd5b505afa158015610713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107379190611a6b565b64ffffffffff1683838151811061074a57fe5b602002602001015160c00181815250505b50600101610319565b5093505050505b92915050565b60606000826001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ae57600080fd5b505afa1580156107c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e69190611756565b9050806001600160a01b031663d1946dbc6040518163ffffffff1660e01b815260040160006040518083038186803b15801561082157600080fd5b505afa158015610835573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261085d9190810190611772565b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b606061089261155f565b6000836001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156108cd57600080fd5b505afa1580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109059190611756565b90506000846001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561094257600080fd5b505afa158015610956573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097a9190611756565b90506060816001600160a01b031663d1946dbc6040518163ffffffff1660e01b815260040160006040518083038186803b1580156109b757600080fd5b505afa1580156109cb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109f39190810190611772565b90506060815167ffffffffffffffff81118015610a0f57600080fd5b50604051908082528060200260200182016040528015610a4957816020015b610a3661158a565b815260200190600190039081610a2e5790505b50905060005b8251811015610f0357610a6061158a565b828281518110610a6c57fe5b60200260200101519050838281518110610a8257fe5b60209081029190910101516001600160a01b03168152610aa06114f4565b81516040516335ea6a7560e01b81526001600160a01b038816916335ea6a7591610acd9190600401611d27565b6101806040518083038186803b158015610ae657600080fd5b505afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1e9190611915565b60208101516001600160801b039081166101a085015260408083015182166101c0860152606083015182166101e08601526080830151821661020086015260a083015190911661022085015260c082015164ffffffffff1661024085015260e08201516001600160a01b03908116610260860152610100830151811661028086015261012083015181166102a086015261014083015181166102c08601528451915163b3596f0760e01b815292935089169163b3596f0791610be291600401611d27565b60206040518083038186803b158015610bfa57600080fd5b505afa158015610c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c329190611871565b61038083015281516102608301516040516370a0823160e01b81526001600160a01b03909216916370a0823191610c6b91600401611d27565b60206040518083038186803b158015610c8357600080fd5b505afa158015610c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbb9190611871565b826102e00181815250508161028001516001600160a01b031663797743386040518163ffffffff1660e01b815260040160806040518083038186803b158015610d0357600080fd5b505afa158015610d17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3b9190611a2b565b64ffffffffff16610340860152610320850152506103008301526102a08201516040805163b1bf962d60e01b815290516001600160a01b039092169163b1bf962d91600480820192602092909190829003018186803b158015610d9d57600080fd5b505afa158015610db1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd59190611871565b8261036001818152505081600001516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610e1c57600080fd5b505afa158015610e30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e589190810190611889565b6040808401919091528051602080820190925260008152908301528051610e7e90611259565b60e0870152606086015260c085015260a084015260808301528051610ea290611284565b1515610140860152151561012085015215156101808401521515610160830152608082015115156101008301526102c0820151610ede906112c0565b6104008601526103e08501526103c08401526103a09092019190915250600101610a4f565b50610f0c61155f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f6557600080fd5b505afa158015610f79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9d9190611871565b8160400181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610fff57600080fd5b505afa158015611013573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110379190611a87565b60ff16606082015260408051638c89b64f60e01b815290516001600160a01b03871691638c89b64f916004808301926020929190829003018186803b15801561107f57600080fd5b505afa9250505080156110af575060408051601f3d908101601f191682019092526110ac91810190611871565b60015b611191573d8080156110dd576040519150601f19603f3d011682016040523d82523d6000602084013e6110e2565b606091505b50670de0b6b3a76400008260000181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561114e57600080fd5b505afa158015611162573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111869190611871565b60208301525061119a565b80825260208201525b9095509350505050915091565b60006080821060405180604001604052806002815260200161373760f01b815250906111ef5760405162461bcd60e51b81526004016111e69190611eab565b60405180910390fd5b5050815160016002830281019190911c16151592915050565b60006080821060405180604001604052806002815260200161373760f01b815250906112475760405162461bcd60e51b81526004016111e69190611eab565b50509051600160029092021c16151590565b5161ffff80821692601083901c821692602081901c831692603082901c60ff169260409290921c1690565b51670100000000000000811615159167020000000000000082161515916704000000000000008116151591670800000000000000909116151590565b600080600080846001600160a01b0316637b832f586040518163ffffffff1660e01b815260040160206040518083038186803b1580156112ff57600080fd5b505afa158015611313573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113379190611871565b856001600160a01b03166365614f816040518163ffffffff1660e01b815260040160206040518083038186803b15801561137057600080fd5b505afa158015611384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a89190611871565b866001600160a01b0316630bdf953f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113e157600080fd5b505afa1580156113f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114199190611871565b876001600160a01b031663ccab01a36040518163ffffffff1660e01b815260040160206040518083038186803b15801561145257600080fd5b505afa158015611466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148a9190611871565b93509350935093509193509193565b6040518060200160405280600081525090565b6040518060e0016040528060006001600160a01b0316815260200160008152602001600015158152602001600081526020016000815260200160008152602001600081525090565b604051806101800160405280611508611499565b815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101008201819052610120820181905261014082018190526101609091015290565b6040518060800160405280600081526020016000815260200160008152602001600060ff1681525090565b60405180610420016040528060006001600160a01b031681526020016060815260200160608152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160001515815260200160001515815260200160001515815260200160001515815260200160006001600160801b0316815260200160006001600160801b0316815260200160006001600160801b0316815260200160006001600160801b0316815260200160006001600160801b03168152602001600064ffffffffff16815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b805161076b81611f1e565b600060208284031215611705578081fd5b61170f6020611ec7565b9151825250919050565b80516001600160801b038116811461076b57600080fd5b805164ffffffffff8116811461076b57600080fd5b805160ff8116811461076b57600080fd5b600060208284031215611767578081fd5b815161085d81611f1e565b60006020808385031215611784578182fd5b825167ffffffffffffffff8082111561179b578384fd5b818501915085601f8301126117ae578384fd5b8151818111156117bc578485fd5b83810291506117cc848301611ec7565b8181528481019084860184860187018a10156117e6578788fd5b8795505b83861015611810576117fc8a826116e9565b8352600195909501949186019186016117ea565b5098975050505050505050565b60006020828403121561182e578081fd5b813561085d81611f1e565b6000806040838503121561184b578081fd5b823561185681611f1e565b9150602083013561186681611f1e565b809150509250929050565b600060208284031215611882578081fd5b5051919050565b60006020828403121561189a578081fd5b815167ffffffffffffffff808211156118b1578283fd5b818401915084601f8301126118c4578283fd5b8151818111156118d2578384fd5b6118e5601f8201601f1916602001611ec7565b91508082528560208285010111156118fb578384fd5b61190c816020840160208601611eee565b50949350505050565b6000610180808385031215611928578182fd5b61193181611ec7565b905061193d84846116f4565b815261194c8460208501611719565b602082015261195e8460408501611719565b60408201526119708460608501611719565b60608201526119828460808501611719565b60808201526119948460a08501611719565b60a08201526119a68460c08501611730565b60c08201526119b88460e085016116e9565b60e08201526101006119cc858286016116e9565b908201526101206119df858583016116e9565b908201526101406119f2858583016116e9565b90820152610160611a0585858301611745565b908201529392505050565b600060208284031215611a21578081fd5b61085d83836116f4565b60008060008060808587031215611a40578182fd5b8451935060208501519250604085015191506060850151611a6081611f36565b939692955090935050565b600060208284031215611a7c578081fd5b815161085d81611f36565b600060208284031215611a98578081fd5b61085d8383611745565b6001600160a01b03169052565b15159052565b60008151808452611acd816020860160208601611eee565b601f01601f19169290920160200192915050565b6000610420611af1848451611aa2565b6020830151816020860152611b0882860182611ab5565b91505060408301518482036040860152611b228282611ab5565b915050606083015160608501526080830151608085015260a083015160a085015260c083015160c085015260e083015160e085015261010080840151611b6a82870182611aaf565b505061012080840151611b7f82870182611aaf565b505061014080840151611b9482870182611aaf565b505061016080840151611ba982870182611aaf565b505061018080840151611bbe82870182611aaf565b50506101a080840151611bd382870182611d08565b50506101c080840151611be882870182611d08565b50506101e080840151611bfd82870182611d08565b505061020080840151611c1282870182611d08565b505061022080840151611c2782870182611d08565b505061024080840151611c3c82870182611d15565b505061026080840151611c5182870182611aa2565b505061028080840151611c6682870182611aa2565b50506102a080840151611c7b82870182611aa2565b50506102c080840151611c9082870182611aa2565b50506102e08381015190850152610300808401519085015261032080840151908501526103408084015190850152610360808401519085015261038080840151908501526103a080840151908501526103c080840151908501526103e080840151908501526104009283015192909301919091525090565b6001600160801b03169052565b64ffffffffff169052565b60ff169052565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b81811015611d7c5783516001600160a01b031683529284019291840191600101611d57565b50909695505050505050565b600060a0820160a0835280855180835260c0850191506020925060c0838202860101838801855b83811015611ddd5760bf19888403018552611dcb838351611ae1565b94860194925090850190600101611daf565b505080945050505083518184015280840151604084015250604083015160608301526060830151611e116080840182611d20565b509392505050565b602080825282518282018190526000919060409081850190868401855b82811015611e9e578151611e4b858251611aa2565b868101518786015285810151611e6387870182611aaf565b50606081810151908601526080808201519086015260a0808201519086015260c0908101519085015260e09093019290850190600101611e36565b5091979650505050505050565b60006020825261085d6020830184611ab5565b90815260200190565b60405181810167ffffffffffffffff81118282101715611ee657600080fd5b604052919050565b60005b83811015611f09578181015183820152602001611ef1565b83811115611f18576000848401525b50505050565b6001600160a01b0381168114611f3357600080fd5b50565b64ffffffffff81168114611f3357600080fdfea2646970667358221220303646524228e2cf8cf8110c5a348d4bc7c05b3fcf1995071f8aad42d5822b2864736f6c634300060c0033';