aave-protocol-v2/types/DefaultReserveInterestRateStrategyFactory.ts

354 lines
12 KiB
TypeScript

/* Generated by ts-generator ver. 0.0.8 */
/* tslint:disable */
import { Contract, ContractFactory, Signer } from "ethers";
import { Provider } from "ethers/providers";
import { UnsignedTransaction } from "ethers/utils/transaction";
import { BigNumberish } from "ethers/utils";
import { TransactionOverrides } from ".";
import { DefaultReserveInterestRateStrategy } from "./DefaultReserveInterestRateStrategy";
export class DefaultReserveInterestRateStrategyFactory extends ContractFactory {
constructor(signer?: Signer) {
super(_abi, _bytecode, signer);
}
deploy(
_reserve: string,
_provider: string,
_baseVariableBorrowRate: BigNumberish,
_variableRateSlope1: BigNumberish,
_variableRateSlope2: BigNumberish,
_stableRateSlope1: BigNumberish,
_stableRateSlope2: BigNumberish,
overrides?: TransactionOverrides
): Promise<DefaultReserveInterestRateStrategy> {
return super.deploy(
_reserve,
_provider,
_baseVariableBorrowRate,
_variableRateSlope1,
_variableRateSlope2,
_stableRateSlope1,
_stableRateSlope2,
overrides
) as Promise<DefaultReserveInterestRateStrategy>;
}
getDeployTransaction(
_reserve: string,
_provider: string,
_baseVariableBorrowRate: BigNumberish,
_variableRateSlope1: BigNumberish,
_variableRateSlope2: BigNumberish,
_stableRateSlope1: BigNumberish,
_stableRateSlope2: BigNumberish,
overrides?: TransactionOverrides
): UnsignedTransaction {
return super.getDeployTransaction(
_reserve,
_provider,
_baseVariableBorrowRate,
_variableRateSlope1,
_variableRateSlope2,
_stableRateSlope1,
_stableRateSlope2,
overrides
);
}
attach(address: string): DefaultReserveInterestRateStrategy {
return super.attach(address) as DefaultReserveInterestRateStrategy;
}
connect(signer: Signer): DefaultReserveInterestRateStrategyFactory {
return super.connect(signer) as DefaultReserveInterestRateStrategyFactory;
}
static connect(
address: string,
signerOrProvider: Signer | Provider
): DefaultReserveInterestRateStrategy {
return new Contract(
address,
_abi,
signerOrProvider
) as DefaultReserveInterestRateStrategy;
}
}
const _abi = [
{
inputs: [
{
internalType: "address",
name: "_reserve",
type: "address"
},
{
internalType: "contract LendingPoolAddressesProvider",
name: "_provider",
type: "address"
},
{
internalType: "uint256",
name: "_baseVariableBorrowRate",
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"
}
],
stateMutability: "nonpayable",
type: "constructor"
},
{
inputs: [],
name: "EXCESS_UTILIZATION_RATE",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [],
name: "OPTIMAL_UTILIZATION_RATE",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [],
name: "addressesProvider",
outputs: [
{
internalType: "contract LendingPoolAddressesProvider",
name: "",
type: "address"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [],
name: "baseVariableBorrowRate",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [
{
internalType: "address",
name: "_reserve",
type: "address"
},
{
internalType: "uint256",
name: "_availableLiquidity",
type: "uint256"
},
{
internalType: "uint256",
name: "_totalBorrowsStable",
type: "uint256"
},
{
internalType: "uint256",
name: "_totalBorrowsVariable",
type: "uint256"
},
{
internalType: "uint256",
name: "_averageStableBorrowRate",
type: "uint256"
}
],
name: "calculateInterestRates",
outputs: [
{
internalType: "uint256",
name: "currentLiquidityRate",
type: "uint256"
},
{
internalType: "uint256",
name: "currentStableBorrowRate",
type: "uint256"
},
{
internalType: "uint256",
name: "currentVariableBorrowRate",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [],
name: "getBaseVariableBorrowRate",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [],
name: "getStableRateSlope1",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [],
name: "getStableRateSlope2",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [],
name: "getVariableRateSlope1",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [],
name: "getVariableRateSlope2",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [],
name: "reserve",
outputs: [
{
internalType: "address",
name: "",
type: "address"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [],
name: "stableRateSlope1",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [],
name: "stableRateSlope2",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [],
name: "variableRateSlope1",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [],
name: "variableRateSlope2",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
}
];
const _bytecode =
"0x608060405234801561001057600080fd5b50604051610958380380610958833981810160405260e081101561003357600080fd5b508051602082015160408301516060840151608085015160a086015160c090960151600080546001600160a01b039687166001600160a01b031991821617909155600194909455600292909255600355600494909455600593909355600680549190921692169190911790556108aa806100ae6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80637b832f5811610097578063ccab01a311610066578063ccab01a3146101d4578063cd3293de146101dc578063d5cd7391146101e4578063f4202409146101ec576100f5565b80637b832f5814610198578063a15f30ac146101a0578063b2589544146101a8578063c72c4d10146101b0576100f5565b806317319873116100d3578063173198731461012457806334762ca51461012c57806357e37af01461013457806365614f8114610190576100f5565b80630b3429a2146100fa5780630bdf953f1461011457806314e32da41461011c575b600080fd5b6101026101f4565b60408051918252519081900360200190f35b6101026101fa565b610102610200565b610102610206565b610102610215565b610172600480360360a081101561014a57600080fd5b506001600160a01b03813516906020810135906040810135906060810135906080013561021b565b60408051938452602084019290925282820152519081900360600190f35b6101026104c2565b6101026104c8565b6101026104ce565b6101026104de565b6101b86104e4565b604080516001600160a01b039092168252519081900360200190f35b6101026104f3565b6101b86104f9565b610102610508565b61010261050e565b60025490565b60045481565b60055490565b6aa56fa5b99019a5c800000081565b60015490565b6000808080610230878763ffffffff61051416565b9050600081158015610240575088155b610269576102646102578a8463ffffffff61051416565b839063ffffffff61057716565b61026c565b60005b90506000809054906101000a90046001600160a01b03166001600160a01b0316633618abba6040518163ffffffff1660e01b815260040160206040518083038186803b1580156102bb57600080fd5b505afa1580156102cf573d6000803e3d6000fd5b505050506040513d60208110156102e557600080fd5b50516040805163bb85c0bb60e01b81526001600160a01b038d811660048301529151919092169163bb85c0bb916024808301926020929190829003018186803b15801561033157600080fd5b505afa158015610345573d6000803e3d6000fd5b505050506040513d602081101561035b57600080fd5b505193506b0295be96e64066972000000081111561041d5760006103ac6aa56fa5b99019a5c80000006103a0846b0295be96e64066972000000063ffffffff6105bb16565b9063ffffffff61057716565b90506103e66103c6826005546105fd90919063ffffffff16565b6004546103da90889063ffffffff61051416565b9063ffffffff61051416565b9450610415610400826003546105fd90919063ffffffff16565b6002546001546103da9163ffffffff61051416565b9350506104a3565b61045b61044e61043f836b0295be96e64066972000000063ffffffff61057716565b6004549063ffffffff6105fd16565b859063ffffffff61051416565b93506104a06104916002546104856b0295be96e6406697200000008561057790919063ffffffff16565b9063ffffffff6105fd16565b6001549063ffffffff61051416565b92505b6104b3816104858a8a878b610635565b94505050955095509592505050565b60035481565b60025481565b6b0295be96e64066972000000081565b60015481565b6000546001600160a01b031681565b60055481565b6006546001600160a01b031681565b60045490565b60035490565b60008282018381101561056e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000600282046105b3836105a761059a876b033b2e3c9fd0803ce80000006106a6565b849063ffffffff61051416565b9063ffffffff6106ff16565b949350505050565b600061056e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610741565b600061056e6b033b2e3c9fd0803ce80000006105a7610622868663ffffffff6106a616565b6b019d971e4fe8401e7400000090610514565b600080610648868663ffffffff61051416565b9050806106595760009150506105b3565b600061066885610485886107d8565b90506000610679856104858a6107d8565b90506000610699610689856107d8565b6103a0858563ffffffff61051416565b9998505050505050505050565b6000826106b557506000610571565b828202828482816106c257fe5b041461056e5760405162461bcd60e51b81526004018080602001828103825260218152602001806108546021913960400191505060405180910390fd5b600061056e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506107ee565b600081848411156107d05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561079557818101518382015260200161077d565b50505050905090810190601f1680156107c25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600061057182633b9aca0063ffffffff6106a616565b6000818361083d5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561079557818101518382015260200161077d565b50600083858161084957fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220d4288bbac61541f092844b88a6a4e85a2872ba4fd1683cdbbc59f0b1f660020964736f6c63430006080033";