Variable mcAaveV3PoolConst

mcAaveV3Pool: MultichainContract<readonly [{
    inputs: readonly [{
        internalType: "contract IPoolAddressesProvider";
        name: "provider";
        type: "address";
    }];
    stateMutability: "nonpayable";
    type: "constructor";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "reserve";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "backer";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "fee";
        type: "uint256";
    }];
    name: "BackUnbacked";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "reserve";
        type: "address";
    }, {
        indexed: false;
        internalType: "address";
        name: "user";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "onBehalfOf";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "enum DataTypes.InterestRateMode";
        name: "interestRateMode";
        type: "uint8";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "borrowRate";
        type: "uint256";
    }, {
        indexed: true;
        internalType: "uint16";
        name: "referralCode";
        type: "uint16";
    }];
    name: "Borrow";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "target";
        type: "address";
    }, {
        indexed: false;
        internalType: "address";
        name: "initiator";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "enum DataTypes.InterestRateMode";
        name: "interestRateMode";
        type: "uint8";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "premium";
        type: "uint256";
    }, {
        indexed: true;
        internalType: "uint16";
        name: "referralCode";
        type: "uint16";
    }];
    name: "FlashLoan";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "totalDebt";
        type: "uint256";
    }];
    name: "IsolationModeTotalDebtUpdated";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "collateralAsset";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "debtAsset";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "user";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "debtToCover";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "liquidatedCollateralAmount";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "address";
        name: "liquidator";
        type: "address";
    }, {
        indexed: false;
        internalType: "bool";
        name: "receiveAToken";
        type: "bool";
    }];
    name: "LiquidationCall";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "reserve";
        type: "address";
    }, {
        indexed: false;
        internalType: "address";
        name: "user";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "onBehalfOf";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        indexed: true;
        internalType: "uint16";
        name: "referralCode";
        type: "uint16";
    }];
    name: "MintUnbacked";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "reserve";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "amountMinted";
        type: "uint256";
    }];
    name: "MintedToTreasury";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "reserve";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "user";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "repayer";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "bool";
        name: "useATokens";
        type: "bool";
    }];
    name: "Repay";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "reserve";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "liquidityRate";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "stableBorrowRate";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "variableBorrowRate";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "liquidityIndex";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "variableBorrowIndex";
        type: "uint256";
    }];
    name: "ReserveDataUpdated";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "reserve";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "liquidityRate";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "stableBorrowRate";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "variableBorrowRate";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "liquidityIndex";
        type: "uint256";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "variableBorrowIndex";
        type: "uint256";
    }];
    name: "ReserveDataUpdated";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "reserve";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "user";
        type: "address";
    }];
    name: "ReserveUsedAsCollateralDisabled";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "reserve";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "user";
        type: "address";
    }];
    name: "ReserveUsedAsCollateralEnabled";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "reserve";
        type: "address";
    }, {
        indexed: false;
        internalType: "address";
        name: "user";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "onBehalfOf";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        indexed: true;
        internalType: "uint16";
        name: "referralCode";
        type: "uint16";
    }];
    name: "Supply";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "user";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint8";
        name: "categoryId";
        type: "uint8";
    }];
    name: "UserEModeSet";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "reserve";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "user";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "to";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "Withdraw";
    type: "event";
}, {
    inputs: readonly [];
    name: "ADDRESSES_PROVIDER";
    outputs: readonly [{
        internalType: "contract IPoolAddressesProvider";
        name: "";
        type: "address";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "BRIDGE_PROTOCOL_FEE";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "FLASHLOAN_PREMIUM_TOTAL";
    outputs: readonly [{
        internalType: "uint128";
        name: "";
        type: "uint128";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "FLASHLOAN_PREMIUM_TO_PROTOCOL";
    outputs: readonly [{
        internalType: "uint128";
        name: "";
        type: "uint128";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "MAX_NUMBER_RESERVES";
    outputs: readonly [{
        internalType: "uint16";
        name: "";
        type: "uint16";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "POOL_REVISION";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "fee";
        type: "uint256";
    }];
    name: "backUnbacked";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "interestRateMode";
        type: "uint256";
    }, {
        internalType: "uint16";
        name: "referralCode";
        type: "uint16";
    }, {
        internalType: "address";
        name: "onBehalfOf";
        type: "address";
    }];
    name: "borrow";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "bytes32";
        name: "args";
        type: "bytes32";
    }];
    name: "borrow";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint8";
        name: "id";
        type: "uint8";
    }, {
        components: readonly [{
            internalType: "uint16";
            name: "ltv";
            type: "uint16";
        }, {
            internalType: "uint16";
            name: "liquidationThreshold";
            type: "uint16";
        }, {
            internalType: "uint16";
            name: "liquidationBonus";
            type: "uint16";
        }, {
            internalType: "string";
            name: "label";
            type: "string";
        }];
        internalType: "struct DataTypes.EModeCategoryBaseConfiguration";
        name: "category";
        type: "tuple";
    }];
    name: "configureEModeCategory";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint8";
        name: "id";
        type: "uint8";
    }, {
        internalType: "uint128";
        name: "borrowableBitmap";
        type: "uint128";
    }];
    name: "configureEModeCategoryBorrowableBitmap";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint8";
        name: "id";
        type: "uint8";
    }, {
        internalType: "uint128";
        name: "collateralBitmap";
        type: "uint128";
    }];
    name: "configureEModeCategoryCollateralBitmap";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        internalType: "address";
        name: "onBehalfOf";
        type: "address";
    }, {
        internalType: "uint16";
        name: "referralCode";
        type: "uint16";
    }];
    name: "deposit";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }];
    name: "dropReserve";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "address";
        name: "from";
        type: "address";
    }, {
        internalType: "address";
        name: "to";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "balanceFromBefore";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "balanceToBefore";
        type: "uint256";
    }];
    name: "finalizeTransfer";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "receiverAddress";
        type: "address";
    }, {
        internalType: "address[]";
        name: "assets";
        type: "address[]";
    }, {
        internalType: "uint256[]";
        name: "amounts";
        type: "uint256[]";
    }, {
        internalType: "uint256[]";
        name: "interestRateModes";
        type: "uint256[]";
    }, {
        internalType: "address";
        name: "onBehalfOf";
        type: "address";
    }, {
        internalType: "bytes";
        name: "params";
        type: "bytes";
    }, {
        internalType: "uint16";
        name: "referralCode";
        type: "uint16";
    }];
    name: "flashLoan";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "receiverAddress";
        type: "address";
    }, {
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        internalType: "bytes";
        name: "params";
        type: "bytes";
    }, {
        internalType: "uint16";
        name: "referralCode";
        type: "uint16";
    }];
    name: "flashLoanSimple";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "getBorrowLogic";
    outputs: readonly [{
        internalType: "address";
        name: "";
        type: "address";
    }];
    stateMutability: "pure";
    type: "function";
}, {
    inputs: readonly [];
    name: "getBridgeLogic";
    outputs: readonly [{
        internalType: "address";
        name: "";
        type: "address";
    }];
    stateMutability: "pure";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }];
    name: "getConfiguration";
    outputs: readonly [{
        components: readonly [{
            internalType: "uint256";
            name: "data";
            type: "uint256";
        }];
        internalType: "struct DataTypes.ReserveConfigurationMap";
        name: "";
        type: "tuple";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint8";
        name: "id";
        type: "uint8";
    }];
    name: "getEModeCategoryBorrowableBitmap";
    outputs: readonly [{
        internalType: "uint128";
        name: "";
        type: "uint128";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint8";
        name: "id";
        type: "uint8";
    }];
    name: "getEModeCategoryCollateralBitmap";
    outputs: readonly [{
        internalType: "uint128";
        name: "";
        type: "uint128";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint8";
        name: "id";
        type: "uint8";
    }];
    name: "getEModeCategoryCollateralConfig";
    outputs: readonly [{
        components: readonly [{
            internalType: "uint16";
            name: "ltv";
            type: "uint16";
        }, {
            internalType: "uint16";
            name: "liquidationThreshold";
            type: "uint16";
        }, {
            internalType: "uint16";
            name: "liquidationBonus";
            type: "uint16";
        }];
        internalType: "struct DataTypes.CollateralConfig";
        name: "";
        type: "tuple";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint8";
        name: "id";
        type: "uint8";
    }];
    name: "getEModeCategoryData";
    outputs: readonly [{
        components: readonly [{
            internalType: "uint16";
            name: "ltv";
            type: "uint16";
        }, {
            internalType: "uint16";
            name: "liquidationThreshold";
            type: "uint16";
        }, {
            internalType: "uint16";
            name: "liquidationBonus";
            type: "uint16";
        }, {
            internalType: "address";
            name: "priceSource";
            type: "address";
        }, {
            internalType: "string";
            name: "label";
            type: "string";
        }];
        internalType: "struct DataTypes.EModeCategoryLegacy";
        name: "";
        type: "tuple";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint8";
        name: "id";
        type: "uint8";
    }];
    name: "getEModeCategoryLabel";
    outputs: readonly [{
        internalType: "string";
        name: "";
        type: "string";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getEModeLogic";
    outputs: readonly [{
        internalType: "address";
        name: "";
        type: "address";
    }];
    stateMutability: "pure";
    type: "function";
}, {
    inputs: readonly [];
    name: "getFlashLoanLogic";
    outputs: readonly [{
        internalType: "address";
        name: "";
        type: "address";
    }];
    stateMutability: "pure";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }];
    name: "getLiquidationGracePeriod";
    outputs: readonly [{
        internalType: "uint40";
        name: "";
        type: "uint40";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [];
    name: "getLiquidationLogic";
    outputs: readonly [{
        internalType: "address";
        name: "";
        type: "address";
    }];
    stateMutability: "pure";
    type: "function";
}, {
    inputs: readonly [];
    name: "getPoolLogic";
    outputs: readonly [{
        internalType: "address";
        name: "";
        type: "address";
    }];
    stateMutability: "pure";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint16";
        name: "id";
        type: "uint16";
    }];
    name: "getReserveAddressById";
    outputs: readonly [{
        internalType: "address";
        name: "";
        type: "address";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }];
    name: "getReserveData";
    outputs: readonly [{
        components: readonly [{
            components: readonly [{
                internalType: "uint256";
                name: "data";
                type: "uint256";
            }];
            internalType: "struct DataTypes.ReserveConfigurationMap";
            name: "configuration";
            type: "tuple";
        }, {
            internalType: "uint128";
            name: "liquidityIndex";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "currentLiquidityRate";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "variableBorrowIndex";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "currentVariableBorrowRate";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "currentStableBorrowRate";
            type: "uint128";
        }, {
            internalType: "uint40";
            name: "lastUpdateTimestamp";
            type: "uint40";
        }, {
            internalType: "uint16";
            name: "id";
            type: "uint16";
        }, {
            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: "uint128";
            name: "accruedToTreasury";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "unbacked";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "isolationModeTotalDebt";
            type: "uint128";
        }];
        internalType: "struct DataTypes.ReserveDataLegacy";
        name: "";
        type: "tuple";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }];
    name: "getReserveDataExtended";
    outputs: readonly [{
        components: readonly [{
            components: readonly [{
                internalType: "uint256";
                name: "data";
                type: "uint256";
            }];
            internalType: "struct DataTypes.ReserveConfigurationMap";
            name: "configuration";
            type: "tuple";
        }, {
            internalType: "uint128";
            name: "liquidityIndex";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "currentLiquidityRate";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "variableBorrowIndex";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "currentVariableBorrowRate";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "__deprecatedStableBorrowRate";
            type: "uint128";
        }, {
            internalType: "uint40";
            name: "lastUpdateTimestamp";
            type: "uint40";
        }, {
            internalType: "uint16";
            name: "id";
            type: "uint16";
        }, {
            internalType: "uint40";
            name: "liquidationGracePeriodUntil";
            type: "uint40";
        }, {
            internalType: "address";
            name: "aTokenAddress";
            type: "address";
        }, {
            internalType: "address";
            name: "__deprecatedStableDebtTokenAddress";
            type: "address";
        }, {
            internalType: "address";
            name: "variableDebtTokenAddress";
            type: "address";
        }, {
            internalType: "address";
            name: "interestRateStrategyAddress";
            type: "address";
        }, {
            internalType: "uint128";
            name: "accruedToTreasury";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "unbacked";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "isolationModeTotalDebt";
            type: "uint128";
        }, {
            internalType: "uint128";
            name: "virtualUnderlyingBalance";
            type: "uint128";
        }];
        internalType: "struct DataTypes.ReserveData";
        name: "";
        type: "tuple";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }];
    name: "getReserveNormalizedIncome";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }];
    name: "getReserveNormalizedVariableDebt";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getReservesCount";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getReservesList";
    outputs: readonly [{
        internalType: "address[]";
        name: "";
        type: "address[]";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "getSupplyLogic";
    outputs: readonly [{
        internalType: "address";
        name: "";
        type: "address";
    }];
    stateMutability: "pure";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "user";
        type: "address";
    }];
    name: "getUserAccountData";
    outputs: readonly [{
        internalType: "uint256";
        name: "totalCollateralBase";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "totalDebtBase";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "availableBorrowsBase";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "currentLiquidationThreshold";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "ltv";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "healthFactor";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "user";
        type: "address";
    }];
    name: "getUserConfiguration";
    outputs: readonly [{
        components: readonly [{
            internalType: "uint256";
            name: "data";
            type: "uint256";
        }];
        internalType: "struct DataTypes.UserConfigurationMap";
        name: "";
        type: "tuple";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "user";
        type: "address";
    }];
    name: "getUserEMode";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }];
    name: "getVirtualUnderlyingBalance";
    outputs: readonly [{
        internalType: "uint128";
        name: "";
        type: "uint128";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "address";
        name: "aTokenAddress";
        type: "address";
    }, {
        internalType: "address";
        name: "variableDebtAddress";
        type: "address";
    }, {
        internalType: "address";
        name: "interestRateStrategyAddress";
        type: "address";
    }];
    name: "initReserve";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "contract IPoolAddressesProvider";
        name: "provider";
        type: "address";
    }];
    name: "initialize";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "collateralAsset";
        type: "address";
    }, {
        internalType: "address";
        name: "debtAsset";
        type: "address";
    }, {
        internalType: "address";
        name: "user";
        type: "address";
    }, {
        internalType: "uint256";
        name: "debtToCover";
        type: "uint256";
    }, {
        internalType: "bool";
        name: "receiveAToken";
        type: "bool";
    }];
    name: "liquidationCall";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "bytes32";
        name: "args1";
        type: "bytes32";
    }, {
        internalType: "bytes32";
        name: "args2";
        type: "bytes32";
    }];
    name: "liquidationCall";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address[]";
        name: "assets";
        type: "address[]";
    }];
    name: "mintToTreasury";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        internalType: "address";
        name: "onBehalfOf";
        type: "address";
    }, {
        internalType: "uint16";
        name: "referralCode";
        type: "uint16";
    }];
    name: "mintUnbacked";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "bytes32";
        name: "args";
        type: "bytes32";
    }];
    name: "repay";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "interestRateMode";
        type: "uint256";
    }, {
        internalType: "address";
        name: "onBehalfOf";
        type: "address";
    }];
    name: "repay";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "interestRateMode";
        type: "uint256";
    }];
    name: "repayWithATokens";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "bytes32";
        name: "args";
        type: "bytes32";
    }];
    name: "repayWithATokens";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "bytes32";
        name: "args";
        type: "bytes32";
    }, {
        internalType: "bytes32";
        name: "r";
        type: "bytes32";
    }, {
        internalType: "bytes32";
        name: "s";
        type: "bytes32";
    }];
    name: "repayWithPermit";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        internalType: "uint256";
        name: "interestRateMode";
        type: "uint256";
    }, {
        internalType: "address";
        name: "onBehalfOf";
        type: "address";
    }, {
        internalType: "uint256";
        name: "deadline";
        type: "uint256";
    }, {
        internalType: "uint8";
        name: "permitV";
        type: "uint8";
    }, {
        internalType: "bytes32";
        name: "permitR";
        type: "bytes32";
    }, {
        internalType: "bytes32";
        name: "permitS";
        type: "bytes32";
    }];
    name: "repayWithPermit";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "token";
        type: "address";
    }, {
        internalType: "address";
        name: "to";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "rescueTokens";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }];
    name: "resetIsolationModeTotalDebt";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        components: readonly [{
            internalType: "uint256";
            name: "data";
            type: "uint256";
        }];
        internalType: "struct DataTypes.ReserveConfigurationMap";
        name: "configuration";
        type: "tuple";
    }];
    name: "setConfiguration";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "uint40";
        name: "until";
        type: "uint40";
    }];
    name: "setLiquidationGracePeriod";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "address";
        name: "rateStrategyAddress";
        type: "address";
    }];
    name: "setReserveInterestRateStrategyAddress";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint8";
        name: "categoryId";
        type: "uint8";
    }];
    name: "setUserEMode";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "bytes32";
        name: "args";
        type: "bytes32";
    }];
    name: "setUserUseReserveAsCollateral";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "bool";
        name: "useAsCollateral";
        type: "bool";
    }];
    name: "setUserUseReserveAsCollateral";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        internalType: "address";
        name: "onBehalfOf";
        type: "address";
    }, {
        internalType: "uint16";
        name: "referralCode";
        type: "uint16";
    }];
    name: "supply";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "bytes32";
        name: "args";
        type: "bytes32";
    }];
    name: "supply";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        internalType: "address";
        name: "onBehalfOf";
        type: "address";
    }, {
        internalType: "uint16";
        name: "referralCode";
        type: "uint16";
    }, {
        internalType: "uint256";
        name: "deadline";
        type: "uint256";
    }, {
        internalType: "uint8";
        name: "permitV";
        type: "uint8";
    }, {
        internalType: "bytes32";
        name: "permitR";
        type: "bytes32";
    }, {
        internalType: "bytes32";
        name: "permitS";
        type: "bytes32";
    }];
    name: "supplyWithPermit";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "bytes32";
        name: "args";
        type: "bytes32";
    }, {
        internalType: "bytes32";
        name: "r";
        type: "bytes32";
    }, {
        internalType: "bytes32";
        name: "s";
        type: "bytes32";
    }];
    name: "supplyWithPermit";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }];
    name: "syncIndexesState";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }];
    name: "syncRatesState";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint256";
        name: "protocolFee";
        type: "uint256";
    }];
    name: "updateBridgeProtocolFee";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "uint128";
        name: "flashLoanPremiumTotal";
        type: "uint128";
    }, {
        internalType: "uint128";
        name: "flashLoanPremiumToProtocol";
        type: "uint128";
    }];
    name: "updateFlashloanPremiums";
    outputs: readonly [];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "asset";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }, {
        internalType: "address";
        name: "to";
        type: "address";
    }];
    name: "withdraw";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "bytes32";
        name: "args";
        type: "bytes32";
    }];
    name: "withdraw";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "nonpayable";
    type: "function";
}]> = ...