descent-js
Version:
A Typescript library for interacting with the Descent Protocol
293 lines (292 loc) • 13.6 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var VaultGetters_factory_exports = {};
__export(VaultGetters_factory_exports, {
VaultGetters__factory: () => VaultGetters__factory
});
module.exports = __toCommonJS(VaultGetters_factory_exports);
var import_ethers = require("ethers");
const _abi = [
{
inputs: [
{
internalType: "contract Vault",
name: "_vaultContract",
type: "address"
},
{
internalType: "contract ERC20",
name: "_collateralToken",
type: "address"
}
],
name: "getCollateralInfo",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
},
{
internalType: "uint256",
name: "",
type: "uint256"
},
{
internalType: "uint256",
name: "",
type: "uint256"
},
{
internalType: "uint256",
name: "",
type: "uint256"
},
{
internalType: "uint256",
name: "",
type: "uint256"
},
{
internalType: "uint256",
name: "",
type: "uint256"
},
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [
{
internalType: "contract Vault",
name: "_vaultContract",
type: "address"
},
{
internalType: "contract ERC20",
name: "_collateralToken",
type: "address"
},
{
internalType: "address",
name: "_owner",
type: "address"
}
],
name: "getCollateralRatio",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [
{
internalType: "contract Vault",
name: "_vaultContract",
type: "address"
},
{
internalType: "contract ERC20",
name: "_collateralToken",
type: "address"
},
{
internalType: "address",
name: "_owner",
type: "address"
}
],
name: "getHealthFactor",
outputs: [
{
internalType: "bool",
name: "",
type: "bool"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [
{
internalType: "contract Vault",
name: "_vaultContract",
type: "address"
},
{
internalType: "contract ERC20",
name: "_collateralToken",
type: "address"
},
{
internalType: "address",
name: "_owner",
type: "address"
}
],
name: "getMaxBorrowable",
outputs: [
{
internalType: "int256",
name: "",
type: "int256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [
{
internalType: "contract Vault",
name: "_vaultContract",
type: "address"
},
{
internalType: "contract ERC20",
name: "_collateralToken",
type: "address"
},
{
internalType: "address",
name: "_owner",
type: "address"
}
],
name: "getMaxWithdrawable",
outputs: [
{
internalType: "int256",
name: "",
type: "int256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [
{
internalType: "contract Vault",
name: "_vaultContract",
type: "address"
},
{
internalType: "contract ERC20",
name: "_collateralToken",
type: "address"
},
{
internalType: "address",
name: "_owner",
type: "address"
}
],
name: "getVault",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256"
},
{
internalType: "uint256",
name: "",
type: "uint256"
},
{
internalType: "uint256",
name: "",
type: "uint256"
}
],
stateMutability: "view",
type: "function"
},
{
inputs: [
{
internalType: "contract Vault",
name: "_vaultContract",
type: "address"
},
{
internalType: "address",
name: "_owner",
type: "address"
},
{
internalType: "address",
name: "_reliedUpon",
type: "address"
}
],
name: "isReliedUpon",
outputs: [
{
internalType: "bool",
name: "",
type: "bool"
}
],
stateMutability: "view",
type: "function"
}
];
const _bytecode = "0x608060405234801561001057600080fd5b50610e27806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063a6e91adf1161005b578063a6e91adf14610120578063b09758f014610141578063c03d887114610154578063f44364c51461016757600080fd5b8063347c5d431461008257806354510b9d146100b55780635d242b97146100d8575b600080fd5b610095610090366004610a63565b61017a565b604080519384526020840192909252908201526060015b60405180910390f35b6100c86100c3366004610a63565b6101d7565b60405190151581526020016100ac565b6100eb6100e6366004610aae565b61022c565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e0016100ac565b61013361012e366004610a63565b610284565b6040519081526020016100ac565b6100c861014f366004610a63565b61034a565b610133610162366004610a63565b6103c8565b610133610175366004610a63565b6104b7565b60008060008061018b8787876104fe565b9050600061019988886105ce565b905060006101a88983856106cb565b50905060008184604001516101bd9190610afd565b8451602090950151949b949a509850929650505050505050565b6000806101e58585856104fe565b905060006101f386866105ce565b905080610140015161020a57600192505050610225565b6000610216828461072a565b60409092015190911115925050505b9392505050565b6000806000806000806000806102428a8a6105ce565b60808101515161010082015182516020840151604085015160e086015160c090960151929d50909b509950929750909550935091505092959891949750929550565b6000806102928585856104fe565b905060006102a086866105ce565b90508061014001516102b757600092505050610225565b60006102c48783856106cb565b509050600081846040015185602001516102de9190610afd565b6102e89190610afd565b905060006102f68483610796565b9050600084604001516012600a61030d9190610bf4565b610318906001610c00565b6103229084610c00565b61032c9190610c17565b865190915061033c908290610c39565b9a9950505050505050505050565b604051635881fc3360e01b81526001600160a01b038381166004830152828116602483015260009190851690635881fc3390604401602060405180830381865afa15801561039c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c09190610c75565b949350505050565b6000806103d68585856104fe565b905060006103e486866105ce565b825190915015806103f85750806101400151155b1561040857600092505050610225565b600061041482846107ef565b905060006104246012600a610bf4565b61042f906001610c00565b604084015161043e9084610c00565b6104489190610c17565b905060006104578985876106cb565b509050600081866040015187602001516104719190610afd565b61047b9190610afd565b905060006104898285610c39565b905060008113801561049e5750808660e00151125b1561033c575060e08501519a9950505050505050505050565b6000806104c58585856104fe565b905060006104d386866105ce565b90508061014001516104ea57600092505050610225565b6104f4818361072a565b9695505050505050565b6105296040518060800160405280600081526020016000815260200160008152602001600081525090565b60405163e2c7283f60e01b81526001600160a01b038481166004830152838116602483015260009182918291829189169063e2c7283f90604401608060405180830381865afa158015610580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a49190610c90565b60408051608081018252948552602085019390935291830152606082015298975050505050505050565b6105d66109cd565b60008060008060008060008060008060008d6001600160a01b031663c665471f8e6040518263ffffffff1660e01b815260040161062291906001600160a01b0391909116815260200190565b6101a060405180830381865afa158015610640573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106649190610cc6565b60408051610160810182529b8c5260208c019a909a52988a01979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015215156101408201529b5050505050505050505050505b92915050565b60008060006106da8686610840565b905060006106ea6012600a610bf4565b6106f5906001610c00565b602086015160608701516107099085610db0565b6107139190610c00565b61071d9190610c17565b9791965090945050505050565b600080826040015183602001516107419190610afd565b9050806000036107555760009150506106c5565b600061076185856107ef565b905061078d6107726012600a610bf4565b61077d906001610c00565b6107879084610c00565b826108c2565b95945050505050565b6000806107d76107a86012600a610bf4565b6107b3906001610c00565b6107bd9085610c00565b64e8d4a510008660c001516107d29190610c00565b6108c2565b90506103c081856101200151600a6107d29190610bf4565b6000806107fe6012600a610bf4565b610809906001610c00565b64e8d4a510008560c00151610822878760000151610902565b61082c9190610c00565b6108369190610c00565b6103c09190610c17565b600080826080015160400151426108579190610db0565b6080840151516108679190610c00565b83608001516020015161087a9190610afd565b9050600061088785610920565b9050600081604001514261089b9190610db0565b82516108a79190610c00565b82602001516108b69190610afd565b90506104f48184610afd565b6000816000036108d157600080fd5b826000036108e1575060006106c5565b816108ed600185610db0565b6108f79190610c17565b610225906001610afd565b6000826101200151600a6109169190610bf4565b6102259083610c00565b61094460405180606001604052806000815260200160008152602001600081525090565b6000806000846001600160a01b03166313f60c9a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ab9190610dc3565b6040805160608101825293845260208401929092529082015295945050505050565b60405180610160016040528060008152602001600081526020016000815260200160008152602001610a1960405180606001604052806000815260200160008152602001600081525090565b815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b6001600160a01b0381168114610a6057600080fd5b50565b600080600060608486031215610a7857600080fd5b8335610a8381610a4b565b92506020840135610a9381610a4b565b91506040840135610aa381610a4b565b809150509250925092565b60008060408385031215610ac157600080fd5b8235610acc81610a4b565b91506020830135610adc81610a4b565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156106c5576106c5610ae7565b600181815b80851115610b4b578160001904821115610b3157610b31610ae7565b80851615610b3e57918102915b93841c9390800290610b15565b509250929050565b600082610b62575060016106c5565b81610b6f575060006106c5565b8160018114610b855760028114610b8f57610bab565b60019150506106c5565b60ff841115610ba057610ba0610ae7565b50506001821b6106c5565b5060208310610133831016604e8410600b8410161715610bce575081810a6106c5565b610bd88383610b10565b8060001904821115610bec57610bec610ae7565b029392505050565b60006102258383610b53565b80820281158282048414176106c5576106c5610ae7565b600082610c3457634e487b7160e01b600052601260045260246000fd5b500490565b8181036000831280158383131683831282161715610c5957610c59610ae7565b5092915050565b80518015158114610c7057600080fd5b919050565b600060208284031215610c8757600080fd5b61022582610c60565b60008060008060808587031215610ca657600080fd5b505082516020840151604085015160609095015191969095509092509050565b60008060008060008060008060008060008b8d036101a0811215610ce957600080fd5b8c519b5060208d01519a5060408d0151995060608d015198506060607f1982011215610d1457600080fd5b506040516060810181811067ffffffffffffffff82111715610d4657634e487b7160e01b600052604160045260246000fd5b806040525060808d0151815260a08d0151602082015260c08d015160408201528097505060e08c015195506101008c015194506101208c015193506101408c015192506101608c01519150610d9e6101808d01610c60565b90509295989b509295989b9093969950565b818103818111156106c5576106c5610ae7565b600080600060608486031215610dd857600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220873e05c52747f221e2c63fda8be354559ce7f2ac168392dce05b9ae644519a7764736f6c63430008150033";
const isSuperArgs = (xs) => xs.length > 1;
class VaultGetters__factory extends import_ethers.ContractFactory {
constructor(...args) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
}
}
getDeployTransaction(overrides) {
return super.getDeployTransaction(overrides || {});
}
deploy(overrides) {
return super.deploy(overrides || {});
}
connect(runner) {
return super.connect(runner);
}
static createInterface() {
return new import_ethers.Interface(_abi);
}
static connect(address, runner) {
return new import_ethers.Contract(address, _abi, runner);
}
}
VaultGetters__factory.bytecode = _bytecode;
VaultGetters__factory.abi = _abi;