aave-protocol-v2/types/GenericLogicFactory.ts
2020-06-27 04:13:32 +02:00

115 lines
10 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 { TransactionOverrides } from ".";
import { GenericLogic } from "./GenericLogic";
export class GenericLogicFactory extends ContractFactory {
constructor(
linkLibraryAddresses: GenericLogicLibraryAddresses,
signer?: Signer
) {
super(_abi, GenericLogicFactory.linkBytecode(linkLibraryAddresses), signer);
}
static linkBytecode(
linkLibraryAddresses: GenericLogicLibraryAddresses
): string {
let linkedBytecode = _bytecode;
linkedBytecode = linkedBytecode.replace(
new RegExp("__\\$259b519ec4c35fa58681035973c79c801a\\$__", "g"),
linkLibraryAddresses["__$259b519ec4c35fa58681035973c79c801a$__"]
.replace(/^0x/, "")
.toLowerCase()
);
return linkedBytecode;
}
deploy(overrides?: TransactionOverrides): Promise<GenericLogic> {
return super.deploy(overrides) as Promise<GenericLogic>;
}
getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction {
return super.getDeployTransaction(overrides);
}
attach(address: string): GenericLogic {
return super.attach(address) as GenericLogic;
}
connect(signer: Signer): GenericLogicFactory {
return super.connect(signer) as GenericLogicFactory;
}
static connect(
address: string,
signerOrProvider: Signer | Provider
): GenericLogic {
return new Contract(address, _abi, signerOrProvider) as GenericLogic;
}
}
const _abi = [
{
inputs: [],
name: "HEALTH_FACTOR_LIQUIDATION_THRESHOLD",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [
{
internalType: "uint256",
name: "collateralBalanceETH",
type: "uint256"
},
{
internalType: "uint256",
name: "borrowBalanceETH",
type: "uint256"
},
{
internalType: "uint256",
name: "totalFeesETH",
type: "uint256"
},
{
internalType: "uint256",
name: "ltv",
type: "uint256"
},
{
internalType: "address",
name: "_feeProvider",
type: "address"
}
],
name: "calculateAvailableBorrowsETH",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
}
];
const _bytecode =
"0x610f69610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80634d9afd5e1461005b578063901d711414610114578063ab8bb39314610213578063c3525c2814610263575b600080fd5b610100600480360360e081101561007157600080fd5b6001600160a01b0382358116926020810135909116916040820135916060810135916080820135919081019060c0810160a08201356401000000008111156100b857600080fd5b8201836020820111156100ca57600080fd5b803590602001918460208302840111640100000000831117156100ec57600080fd5b9193509150356001600160a01b031661026b565b604080519115158252519081900360200190f35b6101de600480360360a081101561012a57600080fd5b6001600160a01b03823516916020810135916040820135919081019060808101606082013564010000000081111561016157600080fd5b82018360208201111561017357600080fd5b8035906020019184602083028401116401000000008311171561019557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550505090356001600160a01b031691506104d89050565b6040805196875260208701959095528585019390935260608501919091526080840152151560a0830152519081900360c00190f35b610251600480360360a081101561022957600080fd5b50803590602081013590604081013590606081013590608001356001600160a01b0316610a67565b60408051918252519081900360200190f35b610251610b52565b6000610275610e15565b6001600160a01b038a166000908152602088905260409020600d0154600160d01b900460ff1615806102d757506001600160a01b03898116600090815260208881526040808320938e168352929052206004015465010000000000900460ff16155b156102e65760019150506104cc565b6103278988888888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508a92506104d8915050565b5060808601525060608401526040830181905260208301919091526103505760019150506104cc565b61041c8760008c6001600160a01b03166001600160a01b03168152602001908152602001600020600b0154600a0a6104108a866001600160a01b031663b3596f078f6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156103d857600080fd5b505afa1580156103ec573d6000803e3d6000fd5b505050506040513d602081101561040257600080fd5b50519063ffffffff610b5e16565b9063ffffffff610bc016565b60c0820181905260208201516104379163ffffffff610c0216565b60e0820181905261044c5760009150506104cc565b6104978160e001516104106104728460a001518560c00151610b5e90919063ffffffff16565b6080850151602086015161048b9163ffffffff610b5e16565b9063ffffffff610c0216565b610100820181905260e0820151604083015160608401516000936104bd93929190610c44565b670de0b6b3a764000010925050505b98975050505050505050565b6000806000806000806104e9610e71565b60006101008201525b8851816101000151101561098d57888161010001518151811061051157fe5b60200260200101518161020001906001600160a01b031690816001600160a01b03168152505060008b60008361020001516001600160a01b03166001600160a01b03168152602001908152602001600020905080600c0160009054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156105d157600080fd5b505afa1580156105e5573d6000803e3d6000fd5b505050506040513d60208110156105fb57600080fd5b50516040808401919091526001600160a01b038e16600090815260208d90529081206101008401518c519192918d9190811061063357fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002073__$259b519ec4c35fa58681035973c79c801a$__634b170a5a9091836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060606040518083038186803b1580156106b357600080fd5b505af41580156106c7573d6000803e3d6000fd5b505050506040513d60608110156106dd57600080fd5b5060200151606083015260408201511580156106fb57506060820151155b15610706575061097c565b80600b0154600a0a826020018181525050886001600160a01b031663b3596f078b8461010001518151811061073757fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561078557600080fd5b505afa158015610799573d6000803e3d6000fd5b505050506040513d60208110156107af57600080fd5b505182526040820151156108f45760006107e2836020015161041085604001518660000151610b5e90919063ffffffff16565b600d830154909150600160d01b900460ff16801561086c57508b60008f6001600160a01b03166001600160a01b0316815260200190815260200160002060008c8561010001518151811061083257fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060040160059054906101000a900460ff165b156108f257610140830151610887908263ffffffff610c9316565b61014084015260088201546108b9906108a790839063ffffffff610b5e16565b6101a08501519063ffffffff610c9316565b6101a084015260098201546108eb906108d990839063ffffffff610b5e16565b6101c08501519063ffffffff610c9316565b6101c08401525b505b60608201511561097a57610936610924836020015161041085606001518660000151610b5e90919063ffffffff16565b6101608401519063ffffffff610c9316565b6101608301526020820151825160e0840151610973926109619290916104109163ffffffff610b5e16565b6101808401519063ffffffff610c9316565b6101808301525b505b6101008101805160010190526104f2565b6000816101400151116109a15760006109bc565b6101408101516101a08201516109bc9163ffffffff610bc016565b6101a08201526101408101516109d35760006109ee565b6101408101516101c08201516109ee9163ffffffff610bc016565b6101c08201819052610140820151610160830151610180840151610a1193610c44565b6101208201819052670de0b6b3a7640000116101e082018190526101408201516101608301516101808401516101a08501516101c090950151929a50909850965091945090925090509550955095509550955095565b600080610a7f6064610410898763ffffffff610b5e16565b905085811015610a93576000915050610b49565b610ab3610aa6878763ffffffff610c9316565b829063ffffffff610c0216565b60408051630e563a7d60e41b81523360048201526024810183905290519192506000916001600160a01b0386169163e563a7d0916044808301926020929190829003018186803b158015610b0657600080fd5b505afa158015610b1a573d6000803e3d6000fd5b505050506040513d6020811015610b3057600080fd5b50519050610b44828263ffffffff610c0216565b925050505b95945050505050565b670de0b6b3a764000081565b600082610b6d57506000610bba565b82820282848281610b7a57fe5b0414610bb75760405162461bcd60e51b8152600401808060200182810382526021815260200180610f136021913960400191505060405180910390fd5b90505b92915050565b6000610bb783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610ced565b6000610bb783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d8f565b600083610c545750600019610c8b565b610c88610c67858563ffffffff610c9316565b610c7c6064610410898763ffffffff610b5e16565b9063ffffffff610de916565b90505b949350505050565b600082820183811015610bb7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008183610d795760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d3e578181015183820152602001610d26565b50505050905090810190601f168015610d6b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610d8557fe5b0495945050505050565b60008184841115610de15760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d3e578181015183820152602001610d26565b505050900390565b600060028204610c8b83610410610e0887670de0b6b3a7640000610b5e565b849063ffffffff610c9316565b604051806101600160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b60405180610260016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b03168152602001600015158152602001600015158152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122007a1a01177f74b6c28e7542c8761e7ecdb08d2f1916f665708efd634753e2bf364736f6c63430006080033";
export interface GenericLogicLibraryAddresses {
["__$259b519ec4c35fa58681035973c79c801a$__"]: string;
}