/* 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 { return super.deploy(overrides) as Promise; } 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 = "0x610f46610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80634d9afd5e1461005b578063901d711414610114578063ab8bb39314610213578063c3525c2814610263575b600080fd5b610100600480360360e081101561007157600080fd5b6001600160a01b0382358116926020810135909116916040820135916060810135916080820135919081019060c0810160a08201356401000000008111156100b857600080fd5b8201836020820111156100ca57600080fd5b803590602001918460208302840111640100000000831117156100ec57600080fd5b9193509150356001600160a01b031661026b565b604080519115158252519081900360200190f35b6101de600480360360a081101561012a57600080fd5b6001600160a01b03823516916020810135916040820135919081019060808101606082013564010000000081111561016157600080fd5b82018360208201111561017357600080fd5b8035906020019184602083028401116401000000008311171561019557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550505090356001600160a01b031691506104b59050565b6040805196875260208701959095528585019390935260608501919091526080840152151560a0830152519081900360c00190f35b610251600480360360a081101561022957600080fd5b50803590602081013590604081013590606081013590608001356001600160a01b0316610a44565b60408051918252519081900360200190f35b610251610b2f565b6000610275610df2565b6001600160a01b038a166000908152602088905260409020600d0154600160d01b900460ff1615806102d757506001600160a01b03898116600090815260208881526040808320938e168352929052206004015465010000000000900460ff16155b156102e65760019150506104a9565b6103278988888888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508a92506104b5915050565b5060808601525060608401526040830181905260208301919091526103505760019150506104a9565b6103f98160000151600a0a6103ed8a866001600160a01b031663b3596f078f6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156103b557600080fd5b505afa1580156103c9573d6000803e3d6000fd5b505050506040513d60208110156103df57600080fd5b50519063ffffffff610b3b16565b9063ffffffff610b9d16565b60c0820181905260208201516104149163ffffffff610bdf16565b60e082018190526104295760009150506104a9565b6104748160e001516103ed61044f8460a001518560c00151610b3b90919063ffffffff16565b608085015160208601516104689163ffffffff610b3b16565b9063ffffffff610bdf16565b610100820181905260e08201516040830151606084015160009361049a93929190610c21565b670de0b6b3a764000010925050505b98975050505050505050565b6000806000806000806104c6610e4e565b60006101008201525b8851816101000151101561096a5788816101000151815181106104ee57fe5b60200260200101518161020001906001600160a01b031690816001600160a01b03168152505060008b60008361020001516001600160a01b03166001600160a01b03168152602001908152602001600020905080600c0160009054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156105ae57600080fd5b505afa1580156105c2573d6000803e3d6000fd5b505050506040513d60208110156105d857600080fd5b50516040808401919091526001600160a01b038e16600090815260208d90529081206101008401518c519192918d9190811061061057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002073__$259b519ec4c35fa58681035973c79c801a$__634b170a5a9091836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060606040518083038186803b15801561069057600080fd5b505af41580156106a4573d6000803e3d6000fd5b505050506040513d60608110156106ba57600080fd5b5060200151606083015260408201511580156106d857506060820151155b156106e35750610959565b80600b0154600a0a826020018181525050886001600160a01b031663b3596f078b8461010001518151811061071457fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561076257600080fd5b505afa158015610776573d6000803e3d6000fd5b505050506040513d602081101561078c57600080fd5b505182526040820151156108d15760006107bf83602001516103ed85604001518660000151610b3b90919063ffffffff16565b600d830154909150600160d01b900460ff16801561084957508b60008f6001600160a01b03166001600160a01b0316815260200190815260200160002060008c8561010001518151811061080f57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060040160059054906101000a900460ff165b156108cf57610140830151610864908263ffffffff610c7016565b61014084015260088201546108969061088490839063ffffffff610b3b16565b6101a08501519063ffffffff610c7016565b6101a084015260098201546108c8906108b690839063ffffffff610b3b16565b6101c08501519063ffffffff610c7016565b6101c08401525b505b6060820151156109575761091361090183602001516103ed85606001518660000151610b3b90919063ffffffff16565b6101608401519063ffffffff610c7016565b6101608301526020820151825160e08401516109509261093e9290916103ed9163ffffffff610b3b16565b6101808401519063ffffffff610c7016565b6101808301525b505b6101008101805160010190526104cf565b60008161014001511161097e576000610999565b6101408101516101a08201516109999163ffffffff610b9d16565b6101a08201526101408101516109b05760006109cb565b6101408101516101c08201516109cb9163ffffffff610b9d16565b6101c082018190526101408201516101608301516101808401516109ee93610c21565b6101208201819052670de0b6b3a7640000116101e082018190526101408201516101608301516101808401516101a08501516101c090950151929a50909850965091945090925090509550955095509550955095565b600080610a5c60646103ed898763ffffffff610b3b16565b905085811015610a70576000915050610b26565b610a90610a83878763ffffffff610c7016565b829063ffffffff610bdf16565b60408051630e563a7d60e41b81523360048201526024810183905290519192506000916001600160a01b0386169163e563a7d0916044808301926020929190829003018186803b158015610ae357600080fd5b505afa158015610af7573d6000803e3d6000fd5b505050506040513d6020811015610b0d57600080fd5b50519050610b21828263ffffffff610bdf16565b925050505b95945050505050565b670de0b6b3a764000081565b600082610b4a57506000610b97565b82820282848281610b5757fe5b0414610b945760405162461bcd60e51b8152600401808060200182810382526021815260200180610ef06021913960400191505060405180910390fd5b90505b92915050565b6000610b9483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610cca565b6000610b9483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d6c565b600083610c315750600019610c68565b610c65610c44858563ffffffff610c7016565b610c5960646103ed898763ffffffff610b3b16565b9063ffffffff610dc616565b90505b949350505050565b600082820183811015610b94576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008183610d565760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d1b578181015183820152602001610d03565b50505050905090810190601f168015610d485780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610d6257fe5b0495945050505050565b60008184841115610dbe5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d1b578181015183820152602001610d03565b505050900390565b600060028204610c68836103ed610de587670de0b6b3a7640000610b3b565b849063ffffffff610c7016565b604051806101600160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b60405180610260016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b03168152602001600015158152602001600015158152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220ce30c17e741fac4197b6f3478ffa63bc86d09f41f54fe7f2517c1722ac7a284764736f6c63430006080033"; export interface GenericLogicLibraryAddresses { ["__$259b519ec4c35fa58681035973c79c801a$__"]: string; }