@descent-protocol/sdk
Version:
A Typescript library for interacting with the Descent Protocol
523 lines • 571 kB
JSON
{
"abi": [
{
"inputs": [
{
"internalType": "contract Vault",
"name": "_vaultContract",
"type": "address"
},
{
"internalType": "contract ERC20Token",
"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 ERC20Token",
"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 ERC20Token",
"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 ERC20Token",
"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 ERC20Token",
"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 ERC20Token",
"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"
}
],
"bytecode": {
"object": "0x608060405234801561001057600080fd5b50610f1e806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063a6e91adf1161005b578063a6e91adf14610120578063b09758f014610141578063c03d887114610154578063f44364c51461016757600080fd5b8063347c5d431461008257806354510b9d146100b55780635d242b97146100d8575b600080fd5b610095610090366004610b16565b61017a565b604080519384526020840192909252908201526060015b60405180910390f35b6100c86100c3366004610b16565b6101d7565b60405190151581526020016100ac565b6100eb6100e6366004610b61565b610231565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e0016100ac565b61013361012e366004610b16565b6102b7565b6040519081526020016100ac565b6100c861014f366004610b16565b61037d565b610133610162366004610b16565b6103fb565b610133610175366004610b16565b61050b565b60008060008061018b878787610557565b905060006101998888610627565b905060006101a889838561070e565b50905060008184604001516101bd9190610bb0565b8451602090950151949b949a509850929650505050505050565b6000806101e5858585610557565b905060006101f38686610627565b60808101515190915060000361020e5760019250505061022a565b600061021b87838561083f565b60409092015190911115925050505b9392505050565b6000806000806000806000806102478a8a610627565b905060006102548b6108de565b805160808401515191925060009161026c9190610bb0565b61027a906301e13380610bc3565b60e084015184516020860151604087015160c088015160a090980151929e50909c509a509498509096509450919250505092959891949750929550565b6000806102c5858585610557565b905060006102d38686610627565b6080810151519091506000036102ee5760009250505061022a565b60006102fb87838561070e565b509050600081846040015185602001516103159190610bb0565b61031f9190610bb0565b9050600061032d848361098b565b9050600061035f6103406012600a610cbe565b61034b906064610bc3565b6103559084610bc3565b86604001516109e1565b865190915061036f908290610cca565b9a9950505050505050505050565b604051635881fc3360e01b81526001600160a01b038381166004830152828116602483015260009190851690635881fc3390604401602060405180830381865afa1580156103cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f39190610cf1565b949350505050565b600080610409858585610557565b905060006104178686610627565b8251909150158061042b5750608081015151155b1561043b5760009250505061022a565b60006104478284610a21565b905060006104576012600a610cbe565b610462906064610bc3565b60408401516104719084610bc3565b61047b9190610d13565b9050600061048a89858761070e565b509050600081866040015187602001516104a49190610bb0565b6104ae9190610bb0565b905060006104bc8285610cca565b90506000811380156104d15750808660c00151105b1561036f576001600160ff1b038660c0015111156104f757506001600160ff1b0361036f565b5060c08501519a9950505050505050505050565b600080610519858585610557565b905060006105278686610627565b6080810151519091506000036105425760009250505061022a565b61054d86828461083f565b9695505050505050565b6105826040518060800160405280600081526020016000815260200160008152602001600081525090565b60405163e2c7283f60e01b81526001600160a01b038481166004830152838116602483015260009182918291829189169063e2c7283f90604401608060405180830381865afa1580156105d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fd9190610d35565b60408051608081018252948552602085019390935291830152606082015298975050505050505050565b61062f610a90565b60008060008060008060008060008b6001600160a01b031663c665471f8c6040518263ffffffff1660e01b815260040161067891906001600160a01b0391909116815260200190565b61016060405180830381865afa158015610696573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ba9190610d6b565b6040805161012081018252998a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c084015260e083015261010082015299505050505050505050505b92915050565b6000806000856001600160a01b031663336d391e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610751573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107759190610e38565b6001600160a01b031663cf5696cb61078c886108de565b87608001516040518363ffffffff1660e01b81526004016107ae929190610e55565b602060405180830381865afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef9190610e8e565b905060006107ff6012600a610cbe565b61080a906064610bc3565b6020860151606087015161081e9085610ea7565b6108289190610bc3565b6108329190610d13565b9791965090945050505050565b60008061084d85858561070e565b509050600081846040015185602001516108679190610bb0565b6108719190610bb0565b9050806000036108865760009250505061022a565b835160000361089b576000199250505061022a565b60006108a78686610a21565b90506108d36108b86012600a610cbe565b6108c3906064610bc3565b6108cd9084610bc3565b826109e1565b979650505050505050565b61090260405180606001604052806000815260200160008152602001600081525090565b6000806000846001600160a01b03166313f60c9a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610945573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109699190610eba565b6040805160608101825293845260208401929092529082015295945050505050565b600061022a61099c6012600a610cbe565b6109a7906001610bc3565b6109b19084610bc3565b6101008501516109c290600a610cbe565b64e8d4a510008660a001516109d79190610bc3565b6109e19190610bc3565b6000816000036109f057600080fd5b82600003610a0057506000610708565b81610a0c600185610ea7565b610a169190610d13565b61022a906001610bb0565b600080610a306012600a610cbe565b610a3b906001610bc3565b64e8d4a510008560a00151610a54878760000151610a72565b610a5e9190610bc3565b610a689190610bc3565b6103f39190610d13565b6000826101000151600a610a869190610cbe565b61022a9083610bc3565b60405180610120016040528060008152602001600081526020016000815260200160008152602001610adc60405180606001604052806000815260200160008152602001600081525090565b8152602001600081526020016000815260200160008152602001600081525090565b6001600160a01b0381168114610b1357600080fd5b50565b600080600060608486031215610b2b57600080fd5b8335610b3681610afe565b92506020840135610b4681610afe565b91506040840135610b5681610afe565b809150509250925092565b60008060408385031215610b7457600080fd5b8235610b7f81610afe565b91506020830135610b8f81610afe565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561070857610708610b9a565b808202811582820484141761070857610708610b9a565b600181815b80851115610c15578160001904821115610bfb57610bfb610b9a565b80851615610c0857918102915b93841c9390800290610bdf565b509250929050565b600082610c2c57506001610708565b81610c3957506000610708565b8160018114610c4f5760028114610c5957610c75565b6001915050610708565b60ff841115610c6a57610c6a610b9a565b50506001821b610708565b5060208310610133831016604e8410600b8410161715610c98575081810a610708565b610ca28383610bda565b8060001904821115610cb657610cb6610b9a565b029392505050565b600061022a8383610c1d565b8181036000831280158383131683831282161715610cea57610cea610b9a565b5092915050565b600060208284031215610d0357600080fd5b8151801515811461022a57600080fd5b600082610d3057634e487b7160e01b600052601260045260246000fd5b500490565b60008060008060808587031215610d4b57600080fd5b505082516020840151604085015160609095015191969095509092509050565b6000806000806000806000806000898b03610160811215610d8b57600080fd5b8a51995060208b0151985060408b0151975060608b015196506060607f1982011215610db657600080fd5b506040516060810181811067ffffffffffffffff82111715610de857634e487b7160e01b600052604160045260246000fd5b806040525060808b0151815260a08b0151602082015260c08b015160408201528095505060e08a015193506101008a015192506101208a015191506101408a015190509295985092959850929598565b600060208284031215610e4a57600080fd5b815161022a81610afe565b8251815260208084015181830152604080850151818401528351606084015290830151608083015282015160a082015260c0810161022a565b600060208284031215610ea057600080fd5b5051919050565b8181038181111561070857610708610b9a565b600080600060608486031215610ecf57600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122088a8bbf0e50731659250053affd0c6fd68855ae8488831075089108d8fcb0b1864736f6c63430008150033",
"sourceMap": "262:15248:47:-:0;;;;;;;;;;;;;;;;;;;",
"linkReferences": {}
},
"deployedBytecode": {
"object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063a6e91adf1161005b578063a6e91adf14610120578063b09758f014610141578063c03d887114610154578063f44364c51461016757600080fd5b8063347c5d431461008257806354510b9d146100b55780635d242b97146100d8575b600080fd5b610095610090366004610b16565b61017a565b604080519384526020840192909252908201526060015b60405180910390f35b6100c86100c3366004610b16565b6101d7565b60405190151581526020016100ac565b6100eb6100e6366004610b61565b610231565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e0016100ac565b61013361012e366004610b16565b6102b7565b6040519081526020016100ac565b6100c861014f366004610b16565b61037d565b610133610162366004610b16565b6103fb565b610133610175366004610b16565b61050b565b60008060008061018b878787610557565b905060006101998888610627565b905060006101a889838561070e565b50905060008184604001516101bd9190610bb0565b8451602090950151949b949a509850929650505050505050565b6000806101e5858585610557565b905060006101f38686610627565b60808101515190915060000361020e5760019250505061022a565b600061021b87838561083f565b60409092015190911115925050505b9392505050565b6000806000806000806000806102478a8a610627565b905060006102548b6108de565b805160808401515191925060009161026c9190610bb0565b61027a906301e13380610bc3565b60e084015184516020860151604087015160c088015160a090980151929e50909c509a509498509096509450919250505092959891949750929550565b6000806102c5858585610557565b905060006102d38686610627565b6080810151519091506000036102ee5760009250505061022a565b60006102fb87838561070e565b509050600081846040015185602001516103159190610bb0565b61031f9190610bb0565b9050600061032d848361098b565b9050600061035f6103406012600a610cbe565b61034b906064610bc3565b6103559084610bc3565b86604001516109e1565b865190915061036f908290610cca565b9a9950505050505050505050565b604051635881fc3360e01b81526001600160a01b038381166004830152828116602483015260009190851690635881fc3390604401602060405180830381865afa1580156103cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f39190610cf1565b949350505050565b600080610409858585610557565b905060006104178686610627565b8251909150158061042b5750608081015151155b1561043b5760009250505061022a565b60006104478284610a21565b905060006104576012600a610cbe565b610462906064610bc3565b60408401516104719084610bc3565b61047b9190610d13565b9050600061048a89858761070e565b509050600081866040015187602001516104a49190610bb0565b6104ae9190610bb0565b905060006104bc8285610cca565b90506000811380156104d15750808660c00151105b1561036f576001600160ff1b038660c0015111156104f757506001600160ff1b0361036f565b5060c08501519a9950505050505050505050565b600080610519858585610557565b905060006105278686610627565b6080810151519091506000036105425760009250505061022a565b61054d86828461083f565b9695505050505050565b6105826040518060800160405280600081526020016000815260200160008152602001600081525090565b60405163e2c7283f60e01b81526001600160a01b038481166004830152838116602483015260009182918291829189169063e2c7283f90604401608060405180830381865afa1580156105d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fd9190610d35565b60408051608081018252948552602085019390935291830152606082015298975050505050505050565b61062f610a90565b60008060008060008060008060008b6001600160a01b031663c665471f8c6040518263ffffffff1660e01b815260040161067891906001600160a01b0391909116815260200190565b61016060405180830381865afa158015610696573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ba9190610d6b565b6040805161012081018252998a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c084015260e083015261010082015299505050505050505050505b92915050565b6000806000856001600160a01b031663336d391e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610751573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107759190610e38565b6001600160a01b031663cf5696cb61078c886108de565b87608001516040518363ffffffff1660e01b81526004016107ae929190610e55565b602060405180830381865afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef9190610e8e565b905060006107ff6012600a610cbe565b61080a906064610bc3565b6020860151606087015161081e9085610ea7565b6108289190610bc3565b6108329190610d13565b9791965090945050505050565b60008061084d85858561070e565b509050600081846040015185602001516108679190610bb0565b6108719190610bb0565b9050806000036108865760009250505061022a565b835160000361089b576000199250505061022a565b60006108a78686610a21565b90506108d36108b86012600a610cbe565b6108c3906064610bc3565b6108cd9084610bc3565b826109e1565b979650505050505050565b61090260405180606001604052806000815260200160008152602001600081525090565b6000806000846001600160a01b03166313f60c9a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610945573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109699190610eba565b6040805160608101825293845260208401929092529082015295945050505050565b600061022a61099c6012600a610cbe565b6109a7906001610bc3565b6109b19084610bc3565b6101008501516109c290600a610cbe565b64e8d4a510008660a001516109d79190610bc3565b6109e19190610bc3565b6000816000036109f057600080fd5b82600003610a0057506000610708565b81610a0c600185610ea7565b610a169190610d13565b61022a906001610bb0565b600080610a306012600a610cbe565b610a3b906001610bc3565b64e8d4a510008560a00151610a54878760000151610a72565b610a5e9190610bc3565b610a689190610bc3565b6103f39190610d13565b6000826101000151600a610a869190610cbe565b61022a9083610bc3565b60405180610120016040528060008152602001600081526020016000815260200160008152602001610adc60405180606001604052806000815260200160008152602001600081525090565b8152602001600081526020016000815260200160008152602001600081525090565b6001600160a01b0381168114610b1357600080fd5b50565b600080600060608486031215610b2b57600080fd5b8335610b3681610afe565b92506020840135610b4681610afe565b91506040840135610b5681610afe565b809150509250925092565b60008060408385031215610b7457600080fd5b8235610b7f81610afe565b91506020830135610b8f81610afe565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561070857610708610b9a565b808202811582820484141761070857610708610b9a565b600181815b80851115610c15578160001904821115610bfb57610bfb610b9a565b80851615610c0857918102915b93841c9390800290610bdf565b509250929050565b600082610c2c57506001610708565b81610c3957506000610708565b8160018114610c4f5760028114610c5957610c75565b6001915050610708565b60ff841115610c6a57610c6a610b9a565b50506001821b610708565b5060208310610133831016604e8410600b8410161715610c98575081810a610708565b610ca28383610bda565b8060001904821115610cb657610cb6610b9a565b029392505050565b600061022a8383610c1d565b8181036000831280158383131683831282161715610cea57610cea610b9a565b5092915050565b600060208284031215610d0357600080fd5b8151801515811461022a57600080fd5b600082610d3057634e487b7160e01b600052601260045260246000fd5b500490565b60008060008060808587031215610d4b57600080fd5b505082516020840151604085015160609095015191969095509092509050565b6000806000806000806000806000898b03610160811215610d8b57600080fd5b8a51995060208b0151985060408b0151975060608b015196506060607f1982011215610db657600080fd5b506040516060810181811067ffffffffffffffff82111715610de857634e487b7160e01b600052604160045260246000fd5b806040525060808b0151815260a08b0151602082015260c08b015160408201528095505060e08a015193506101008a015192506101208a015191506101408a015190509295985092959850929598565b600060208284031215610e4a57600080fd5b815161022a81610afe565b8251815260208084015181830152604080850151818401528351606084015290830151608083015282015160a082015260c0810161022a565b600060208284031215610ea057600080fd5b5051919050565b8181038181111561070857610708610b9a565b600080600060608486031215610ecf57600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122088a8bbf0e50731659250053affd0c6fd68855ae8488831075089108d8fcb0b1864736f6c63430008150033",
"sourceMap": "262:15248:47:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8151:672;;;;;;:::i;:::-;;:::i;:::-;;;;949:25:51;;;1005:2;990:18;;983:34;;;;1033:18;;;1026:34;937:2;922:18;8151:672:47;;;;;;;;2482:587;;;;;;:::i;:::-;;:::i;:::-;;;1236:14:51;;1229:22;1211:41;;1199:2;1184:18;2482:587:47;1071:187:51;8902:825:47;;;;;;:::i;:::-;;:::i;:::-;;;;2020:25:51;;;2076:2;2061:18;;2054:34;;;;2104:18;;;2097:34;;;;2162:2;2147:18;;2140:34;;;;2205:3;2190:19;;2183:35;2249:3;2234:19;;2227:35;2293:3;2278:19;;2271:35;2007:3;1992:19;8902:825:47;1705:607:51;6689:1225:47;;;;;;:::i;:::-;;:::i;:::-;;;2461:25:51;;;2449:2;2434:18;6689:1225:47;2317:175:51;9852:181:47;;;;;;:::i;:::-;;:::i;4043:2066::-;;;;;;:::i;:::-;;:::i;3143:500::-;;;;;;:::i;:::-;;:::i;8151:672::-;8283:7;8292;8301;8324:30;8357:58;8374:14;8390:16;8408:6;8357:16;:58::i;:::-;8324:91;;8425:40;8468:55;8490:14;8506:16;8468:21;:55::i;:::-;8425:98;;8570:27;8602:58;8624:14;8640:11;8653:6;8602:21;:58::i;:::-;8569:91;;;8670:20;8714:19;8693:6;:18;;;:40;;;;:::i;:::-;8752:26;;8780:21;;;;;8752:26;;8780:21;;-1:-1:-1;8780:21:47;-1:-1:-1;8151:672:47;;-1:-1:-1;;;;;;;8151:672:47:o;2482:587::-;2621:4;2641:30;2674:58;2691:14;2707:16;2725:6;2674:16;:58::i;:::-;2641:91;;2742:40;2785:55;2807:14;2823:16;2785:21;:55::i;:::-;2855:20;;;;:25;2742:98;;-1:-1:-1;2855:25:47;:30;2851:47;;2894:4;2887:11;;;;;;2851:47;2909:24;2936:56;2956:14;2972:11;2985:6;2936:19;:56::i;:::-;3030:32;;;;;3010:52;;;;;-1:-1:-1;;;2482:587:47;;;;;;:::o;8902:825::-;9027:7;9036;9045;9054;9063;9072;9081;9104:40;9147:55;9169:14;9185:16;9147:21;:55::i;:::-;9104:98;;9213:36;9252:32;9269:14;9252:16;:32::i;:::-;9339:18;;9311:20;;;;:25;9213:71;;-1:-1:-1;9294:13:47;;9311:46;;9339:18;9311:46;:::i;:::-;9310:59;;9361:8;9310:59;:::i;:::-;9401:38;;;;9471:36;;9521:31;;;;9566:32;;;;9612:23;;;;9693:17;;;;;9471:36;;-1:-1:-1;9521:31:47;;-1:-1:-1;9566:32:47;-1:-1:-1;9612:23:47;;-1:-1:-1;9294:75:47;;-1:-1:-1;9401:38:47;-1:-1:-1;9693:17:47;;-1:-1:-1;;;8902:825:47;;;;;;;;;;:::o;6689:1225::-;6831:6;6853:30;6886:58;6903:14;6919:16;6937:6;6886:16;:58::i;:::-;6853:91;;6954:40;6997:55;7019:14;7035:16;6997:21;:55::i;:::-;7067:20;;;;:25;6954:98;;-1:-1:-1;7067:25:47;:30;7063:44;;7106:1;7099:8;;;;;;7063:44;7155:27;7187:58;7209:14;7225:11;7238:6;7187:21;:58::i;:::-;7154:91;;;7255:23;7326:19;7305:6;:18;;;7281:6;:21;;;:42;;;;:::i;:::-;:64;;;;:::i;:::-;7255:90;;7412:42;7457:67;7495:11;7508:15;7457:37;:67::i;:::-;7412:112;-1:-1:-1;7575:50:47;7640:99;466:22;334:2;466;:22;:::i;:::-;459:30;;:3;:30;:::i;:::-;7648:55;;:34;:55;:::i;:::-;7706:11;:32;;;7640:6;:99::i;:::-;7827:26;;7575:164;;-1:-1:-1;7820:87:47;;7575:164;;7820:87;:::i;:::-;7813:94;6689:1225;-1:-1:-1;;;;;;;;;;6689:1225:47:o;9852:181::-;9979:47;;-1:-1:-1;;;9979:47:47;;-1:-1:-1;;;;;5493:15:51;;;9979:47:47;;;5475:34:51;5545:15;;;5525:18;;;5518:43;9956:4:47;;9979:26;;;;;;5410:18:51;;9979:47:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9972:54;9852:181;-1:-1:-1;;;;9852:181:47:o;4043:2066::-;4183:6;4205:30;4238:58;4255:14;4271:16;4289:6;4238:16;:58::i;:::-;4205:91;;4306:40;4349:55;4371:14;4387:16;4349:21;:55::i;:::-;4466:26;;4306:98;;-1:-1:-1;4466:31:47;;:65;;-1:-1:-1;4501:20:47;;;;:25;:30;4466:65;4462:79;;;4540:1;4533:8;;;;;;4462:79;4587:34;4624:50;4654:11;4667:6;4624:29;:50::i;:::-;4587:87;-1:-1:-1;4738:42:47;466:22;334:2;466;:22;:::i;:::-;459:30;;:3;:30;:::i;:::-;4825:32;;;;4796:61;;:26;:61;:::i;:::-;4795:84;;;;:::i;:::-;4738:141;;4927:27;4959:58;4981:14;4997:11;5010:6;4959:21;:58::i;:::-;4926:91;;;5027:23;5098:19;5077:6;:18;;;5053:6;:21;;;:42;;;;:::i;:::-;:64;;;;:::i;:::-;5027:90;-1:-1:-1;5128:26:47;5157:68;5027:90;5164:34;5157:68;:::i;:::-;5128:97;;5467:1;5445:19;:23;:81;;;;;5506:19;5472:11;:23;;;:54;5445:81;5441:392;;;-1:-1:-1;;;;;5546:11:47;:23;;;:51;5542:280;;;-1:-1:-1;;;;;;5542:280:47;;;-1:-1:-1;5798:23:47;;;;6083:19;4043:2066;-1:-1:-1;;;;;;;;;;4043:2066:47:o;3143:500::-;3285:7;3308:30;3341:58;3358:14;3374:16;3392:6;3341:16;:58::i;:::-;3308:91;;3409:40;3452:55;3474:14;3490:16;3452:21;:55::i;:::-;3522:20;;;;:25;3409:98;;-1:-1:-1;3522:25:47;:30;3518:44;;3561:1;3554:8;;;;;;3518:44;3580:56;3600:14;3616:11;3629:6;3580:19;:56::i;:::-;3573:63;3143:500;-1:-1:-1;;;;;;3143:500:47:o;559:471::-;698:23;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;698:23:47;860:53;;-1:-1:-1;;;860:53:47;;-1:-1:-1;;;;;5493:15:51;;;860:53:47;;;5475:34:51;5545:15;;;5525:18;;;5518:43;738:27:47;;;;;;;;860;;;;;5410:18:51;;860:53:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;931:92;;;;;;;;;;;;;;;;;;;;;;;;;;;559:471;-1:-1:-1;;;;;;;;559:471:47:o;1320:945::-;1448:28;;:::i;:::-;1506:32;1552:27;1593:28;1635:24;1673:30;1717:13;1744:19;1777:34;1825:37;1875:14;-1:-1:-1;;;;;1875:32:47;;1908:16;1875:50;;;;;;;;;;;;;;-1:-1:-1;;;;;6962:32:51;;;;6944:51;;6932:2;6917:18;;6778:223;1875:50:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1943:315;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;1320:945:47;;;;;:::o;12948:625::-;13128:7;13137;13156:36;13195:14;-1:-1:-1;;;;;13195:25:47;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13195:64:47;;13273:32;13290:14;13273:16;:32::i;:::-;13307:11;:20;;;13195:142;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13156:181;-1:-1:-1;13348:20:47;466:22;334:2;466;:22;:::i;:::-;459:30;;:3;:30;:::i;:::-;13452:21;;;;13417:31;;;;13386:62;;:28;:62;:::i;:::-;13385:88;;;;:::i;:::-;13371:133;;;;:::i;:::-;13348:156;13537:28;;-1:-1:-1;12948:625:47;;-1:-1:-1;;;;;12948:625:47:o;10307:1407::-;10485:7;10851:31;10887:58;10909:14;10925:11;10938:6;10887:21;:58::i;:::-;10850:95;;;10955:22;11025:23;11004:6;:18;;;10980:6;:21;;;:42;;;;:::i;:::-;:68;;;;:::i;:::-;10955:93;;11102:14;11120:1;11102:19;11098:33;;11130:1;11123:8;;;;;;11098:33;11300:26;;;:31;11296:61;;-1:-1:-1;;11333:24:47;;;;;;11296:61;11482:34;11519:50;11549:11;11562:6;11519:29;:50::i;:::-;11482:87;-1:-1:-1;11634:73:47;466:22;334:2;466;:22;:::i;:::-;459:30;;:3;:30;:::i;:::-;11642:35;;:14;:35;:::i;:::-;11680:26;11634:6;:73::i;:::-;11627:80;10307:1407;-1:-1:-1;;;;;;;10307:1407:47:o;1036:278::-;1106:22;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;1106:22:47;1141:12;1155:23;1180:22;1206:14;-1:-1:-1;;;;;1206:27:47;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1253:54;;;;;;;;;;;;;;;;;;;;;;;1036:278;-1:-1:-1;;;;;1036:278:47:o;12454:354::-;12607:7;12637:164;384:22;334:2;384;:22;:::i;:::-;379:28;;:1;:28;:::i;:::-;12658:19;;:7;:19;:::i;:::-;12748:41;;;;12742:47;;:2;:47;:::i;:::-;548:4;12693:11;:17;;;:45;;;;:::i;:::-;:97;;;;:::i;:::-;15392:10;15418:2;15424:1;15418:7;15414:21;;15427:8;;;15414:21;15449:2;15455:1;15449:7;15445:21;;-1:-1:-1;15465:1:47;15458:8;;15445:21;15498:2;15488:6;15493:1;15488:2;:6;:::i;:::-;15487:13;;;;:::i;:::-;15482:19;;:1;:19;:::i;11861:446::-;12021:7;;384:22;334:2;384;:22;:::i;:::-;379:28;;:1;:28;:::i;:::-;548:4;12174:11;:17;;;12095:76;12131:11;12144:6;:26;;;12095:35;:76::i;:::-;:96;;;;:::i;:::-;:140;;;;:::i;:::-;12081:176;;;;:::i;14826:245::-;14976:7;15022:11;:41;;;15016:2;:47;;;;:::i;:::-;15006:58;;:6;:58;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:138:51:-;-1:-1:-1;;;;;96:31:51;;86:42;;76:70;;142:1;139;132:12;76:70;14:138;:::o;157:585::-;269:6;277;285;338:2;326:9;317:7;313:23;309:32;306:52;;;354:1;351;344:12;306:52;393:9;380:23;412:38;444:5;412:38;:::i;:::-;469:5;-1:-1:-1;526:2:51;511:18;;498:32;539:40;498:32;539:40;:::i;:::-;598:7;-1:-1:-1;657:2:51;642:18;;629:32;670:40;629:32;670:40;:::i;:::-;729:7;719:17;;;157:585;;;;;:::o;1263:437::-;1366:6;1374;1427:2;1415:9;1406:7;1402:23;1398:32;1395:52;;;1443:1;1440;1433:12;1395:52;1482:9;1469:23;1501:38;1533:5;1501:38;:::i;:::-;1558:5;-1:-1:-1;1615:2:51;1600:18;;1587:32;1628:40;1587:32;1628:40;:::i;:::-;1687:7;1677:17;;;1263:437;;;;;:::o;3249:127::-;3310:10;3305:3;3301:20;3298:1;3291:31;3341:4;3338:1;3331:15;3365:4;3362:1;3355:15;3381:125;3446:9;;;3467:10;;;3464:36;;;3480:18;;:::i;3511:168::-;3584:9;;;3615;;3632:15;;;3626:22;;3612:37;3602:71;;3653:18;;:::i;3684:422::-;3773:1;3816:5;3773:1;3830:270;3851:7;3841:8;3838:21;3830:270;;;3910:4;3906:1;3902:6;3898:17;3892:4;3889:27;3886:53;;;3919:18;;:::i;:::-;3969:7;3959:8;3955:22;3952:55;;;3989:16;;;;3952:55;4068:22;;;;4028:15;;;;3830:270;;;3834:3;3684:422;;;;;:::o;4111:806::-;4160:5;4190:8;4180:80;;-1:-1:-1;4231:1:51;4245:5;;4180:80;4279:4;4269:76;;-1:-1:-1;4316:1:51;4330:5;;4269:76;4361:4;4379:1;4374:59;;;;4447:1;4442:130;;;;4354:218;;4374:59;4404:1;4395:10;;4418:5;;;4442:130;4479:3;4469:8;4466:17;4463:43;;;4486:18;;:::i;:::-;-1:-1:-1;;4542:1:51;4528:16;;4557:5;;4354:218;;4656:2;4646:8;4643:16;4637:3;4631:4;4628:13;4624:36;4618:2;4608:8;4605:16;4600:2;4594:4;4591:12;4587:35;4584:77;4581:159;;;-1:-1:-1;4693:19:51;;;4725:5;;4581:159;4772:34;4797:8;4791:4;4772:34;:::i;:::-;4842:6;4838:1;4834:6;4830:19;4821:7;4818:32;4815:58;;;4853:18;;:::i;:::-;4891:20;;4111:806;-1:-1:-1;;;4111:806:51:o;4922:131::-;4982:5;5011:36;5038:8;5032:4;5011:36;:::i;5058:200::-;5124:9;;;5097:4;5152:9;;5180:10;;5192:12;;;5176:29;5215:12;;;5207:21;;5173:56;5170:82;;;5232:18;;:::i;:::-;5170:82;5058:200;;;;:::o;5572:277::-;5639:6;5692:2;5680:9;5671:7;5667:23;5663:32;5660:52;;;5708:1;5705;5698:12;5660:52;5740:9;5734:16;5793:5;5786:13;5779:21;5772:5;5769:32;5759:60;;5815:1;5812;5805:12;5854:217;5894:1;5920;5910:132;;5964:10;5959:3;5955:20;5952:1;5945:31;5999:4;5996:1;5989:15;6027:4;6024:1;6017:15;5910:132;-1:-1:-1;6056:9:51;;5854:217::o;6405:368::-;6502:6;6510;6518;6526;6579:3;6567:9;6558:7;6554:23;6550:33;6547:53;;;6596:1;6593;6586:12;6547:53;-1:-1:-1;;6619:16:51;;6675:2;6660:18;;6654:25;6719:2;6704:18;;6698:25;6763:2;6748:18;;;6742:25;6619:16;;6654:25;;-1:-1:-1;6742:25:51;;-1:-1:-1;6405:368:51;-1:-1:-1;6405:368:51:o;7006:1231::-;7175:6;7183;7191;7199;7207;7215;7223;7231;7239;7283:9;7274:7;7270:23;7313:3;7309:2;7305:12;7302:32;;;7330:1;7327;7320:12;7302:32;7359:9;7353:16;7343:26;;7409:2;7398:9;7394:18;7388:25;7378:35;;7453:2;7442:9;7438:18;7432:25;7422:35;;7497:2;7486:9;7482:18;7476:25;7466:35;;7536:2;7529:3;7525:8;7521:2;7517:17;7513:26;7510:46;;;7552:1;7549;7542:12;7510:46;;7585:2;7579:9;7627:2;7619:6;7615:15;7696:6;7684:10;7681:22;7660:18;7648:10;7645:34;7642:62;7639:185;;;7746:10;7741:3;7737:20;7734:1;7727:31;7781:4;7778:1;7771:15;7809:4;7806:1;7799:15;7639:185;7844:10;7840:2;7833:22;;7900:3;7889:9;7885:19;7879:26;7871:6;7864:42;7960:3;7949:9;7945:19;7939:26;7934:2;7926:6;7922:15;7915:51;8020:3;8009:9;8005:19;7999:26;7994:2;7986:6;7982:15;7975:51;8045:6;8035:16;;;8091:3;8080:9;8076:19;8070:26;8060:36;;8136:3;8125:9;8121:19;8115:26;8105:36;;8181:3;8170:9;8166:19;8160:26;8150:36;;8226:3;8215:9;8211:19;8205:26;8195:36;;7006:1231;;;;;;;;;;;:::o;8242:273::-;8327:6;8380:2;8368:9;8359:7;8355:23;8351:32;8348:52;;;8396:1;8393;8386:12;8348:52;8428:9;8422:16;8447:38;8479:5;8447:38;:::i;8730:397::-;8594:12;;8582:25;;8656:4;8645:16;;;8639:23;8623:14;;;8616:47;8712:4;8701:16;;;8695:23;8679:14;;;8672:47;8594:12;;9117:2;9102:18;;8582:25;8645:16;;;8639:23;8623:14;;;8616:47;8701:16;;8695:23;8679:14;;;8672:47;9000:3;8985:19;;9067:54;8520:205;9132:184;9202:6;9255:2;9243:9;9234:7;9230:23;9226:32;9223:52;;;9271:1;9268;9261:12;9223:52;-1:-1:-1;9294:16:51;;9132:184;-1:-1:-1;9132:184:51:o;9321:128::-;9388:9;;;9409:11;;;9406:37;;;9423:18;;:::i;9454:306::-;9542:6;9550;9558;9611:2;9599:9;9590:7;9586:23;9582:32;9579:52;;;9627:1;9624;9617:12;9579:52;9656:9;9650:16;9640:26;;9706:2;9695:9;9691:18;9685:25;9675:35;;9750:2;9739:9;9735:18;9729:25;9719:35;;9454:306;;;;;:::o",
"linkReferences": {}
},
"methodIdentifiers": {
"getCollateralInfo(address,address)": "5d242b97",
"getCollateralRatio(address,address,address)": "f44364c5",
"getHealthFactor(address,address,address)": "54510b9d",
"getMaxBorrowable(address,address,address)": "c03d8871",
"getMaxWithdrawable(address,address,address)": "a6e91adf",
"getVault(address,address,address)": "347c5d43",
"isReliedUpon(address,address,address)": "b09758f0"
},
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract Vault\",\"name\":\"_vaultContract\",\"type\":\"address\"},{\"internalType\":\"contract ERC20Token\",\"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 ERC20Token\",\"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 ERC20Token\",\"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 ERC20Token\",\"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 ERC20Token\",\"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 ERC20Token\",\"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getCollateralInfo(address,address)\":{\"details\":\"returns a the relevant info for a collateral\"},\"getCollateralRatio(address,address,address)\":{\"details\":\"returns the collateral ratio of a vault\"},\"getHealthFactor(address,address,address)\":{\"details\":\"returns health factor (if a vault is liquidatable or not) of a vault\"},\"getMaxBorrowable(address,address,address)\":{\"details\":\"returns the max amount of currency a vault owner can mint for that vault without the tx reverting due to the vault's health factor falling below the min health factorif it's a negative number then the vault is below the min health factor already and paying back the additive inverse of the result will pay back both borrowed amount and interest accrued\"},\"getMaxWithdrawable(address,address,address)\":{\"details\":\"returns the max amount of collateral a vault owner can withdraw from a vault without the tx reverting due to the vault's health factor falling below the min health factorif it's a negative number then the vault is below the min health factor already and depositing the additive inverse will put the position at the min health factor saving it from liquidation.the recommended way to do this is to burn/pay back the additive inverse of the result of `getMaxBorrowable()` that way interest would not accrue after payment.\"},\"getVault(address,address,address)\":{\"details\":\"returns a vault's relevant info i.e the depositedCollateral, borrowedAmount, and updated accruedFeesrecommended to read the accrued fees from here as it'll be updated before being returned.\"},\"isReliedUpon(address,address,address)\":{\"details\":\"returns if _owner has approved _reliedUpon to interact with _owner's vault on their behalf\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/vaultGetters.sol\":\"VaultGetters\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/protocol-core/lib/openzeppelin-contracts/contracts/\",\":descent-collective/oracle-module/=lib/protocol-core/lib/oracle-module/src/\",\":descent-collective/protocol-core/=lib/protocol-core/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/protocol-core/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/protocol-core/lib/openzeppelin-contracts/\",\":oracle-module/=lib/protocol-core/lib/oracle-module/\",\":permit2/=lib/permit2/src/\",\":protocol-core/=lib/protocol-core/\",\":solady/=lib/protocol-core/lib/solady/src/\",\":solmate/=lib/permit2/lib/solmate/\"]},\"sources\":{\"lib/protocol-core/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xc208cdd9de02bbf4b5edad18b88e23a2be7ff56d2287d5649329dc7cda64b9a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fba079cc7230c617f7493a2e97873f88e59a53a5018fcb2e2b6ac42d8aa5a3\",\"dweb:/ipfs/QmTXg8GSt8hsK2cZhbPFrund1mrwVdkLQmEPoQaFy4fhjs\"]},\"lib/protocol-core/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0xb4a3f9ba8a05107f7370de42cff57f3ad26dafd438712c11531a5892de2f59e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a9ca06e3cf6dea1f9a4c5599581573b7d81cd64dc3afb582f325ccf5fdd6dc\",\"dweb:/ipfs/Qmb9r5dDceNF4W8S5u6i85RsNTgE5XG9HbTXkyS25ad3C6\"]},\"lib/protocol-core/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xf98506fade18a92e3d8d0a0ca0bdaeaa099d7620aac2a9d76b5f3d0bcd10691c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3495c9d108bc69951a12c5ce9f05851cc921f0bb69e2505756e79f3ddab4e1a\",\"dweb:/ipfs/QmT3XwbmdbQCxw7iNcF7DoiypDd5vs2ETFWirXqmJ86Meg\"]},\"lib/protocol-core/src/currency.sol\":{\"keccak256\":\"0xc266e97010a71e6ac755dce3e51a5a5844663b355e20ab40bf2020fd9308369b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d2660220b8a14c6d06351765dd7accec03e350e7fa9ae960c1505bea1e5d8d2d\",\"dweb:/ipfs/QmdYdPSnQC2nym38Fca4vRLKU4A78AQkgYasdg3TaRLGNY\"]},\"lib/protocol-core/src/helpers/pausable.sol\":{\"keccak256\":\"0x8acce52dcd450c73da0f77d9539962826da23aca05aa7d0c7568614e89aed997\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://35e2f674e01c0d6107f31d1c32bb2780d442420b7d26636f560a4eb1007f4a8b\",\"dweb:/ipfs/QmWwVLUGiJq6Q3fK6Zhx4pc6kaqC73pkZ1ntfVA3QCHTpd\"]},\"lib/protocol-core/src/interfaces/ICurrency.sol\":{\"keccak256\":\"0x3b7adace3df08c34906612358d435ffff3b90b5eec0eae34b6335cc8dcd0e7ed\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://370c80ec5636bd95342256d4116f703e633e6b0467ee530397e9b5cada37f998\",\"dweb:/ipfs/QmPQ5KY37JpfuSAXpJ16kBXAQVJcE253cfjYGcBEcMLERz\"]},\"lib/protocol-core/src/interfaces/IRate.sol\":{\"keccak256\":\"0x166dc423b74b60302197a27fb64557ee8ef6bafe416deb08fe7ecf94f0ede1d1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://123ef521857e33b10b6f92b743831b26dd5100e57271353bf5c1882fc41c6a2e\",\"dweb:/ipfs/QmdK5y8SntLHAVoNRq6isddmNYunrpv1JxAxyEgRiHdAAj\"]},\"lib/protocol-core/src/interfaces/IVault.sol\":{\"keccak256\":\"0x5684f59679e090ebe583d31fda6d8882469436e71670a4873151793675c7c6c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b265c21b1ff01a8c5cf9b1120feb6b5419a96a0e2a6d1ff4bdd89934c7869c9c\",\"dweb:/ipfs/QmdbCgiYE763cAHZ6nevhf7EzF8BzEkfwsbw4qWuxBkm8f\"]},\"lib/protocol-core/src/mocks/ERC20Token.sol\":{\"keccak256\":\"0x62b878fb4dde1f455866e0c1290cc50714805d02c2848a4a9bb33c5dfbc8464d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7af3f5638d366abfbca3186813449259a33ed43e7c13ec983d389d73df1ad204\",\"dweb:/ipfs/QmeMdoEVTGqdcgSicTTcmycSQjToT7Sn5ZTgZdVFH9E6HA\"]},\"lib/protocol-core/src/vault.sol\":{\"keccak256\":\"0x5dc74b51eb4f221c7a6e78f7557819a8f0087ffa27cac805557bd886b806f584\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://37dc93c378f13a42a21cd3a4718cade7ef3627d5d0d187819010cfefb1387b3a\",\"dweb:/ipfs/QmTn3XKb5q4oQ1AdiVvJ4HMF8Vh9STxv9xyBgFT8jF7riC\"]},\"src/vaultGetters.sol\":{\"keccak256\":\"0xefed495a592a80cba0995a919d2f72a92f4ae176208b4775fd57a354657c78b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f340f53cd7374e82143c022a991a9617d8c4558ebcc678654b38bde6a2874d1\",\"dweb:/ipfs/Qmbr5wF8d9oRiEDj92MreZBgMwf1nZKbkEQgTGRVs7cbX5\"]}},\"version\":1}",
"metadata": {
"compiler": {
"version": "0.8.21+commit.d9974bed"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "contract Vault",
"name": "_vaultContract",
"type": "address"
},
{
"internalType": "contract ERC20Token",
"name": "_collateralToken",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"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"
}
]
},
{
"inputs": [
{
"internalType": "contract Vault",
"name": "_vaultContract",
"type": "address"
},
{
"internalType": "contract ERC20Token",
"name": "_collateralToken",
"type": "address"
},
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "getCollateralRatio",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "contract Vault",
"name": "_vaultContract",
"type": "address"
},
{
"internalType": "contract ERC20Token",
"name": "_collateralToken",
"type": "address"
},
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "getHealthFactor",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "contract Vault",
"name": "_vaultContract",
"type": "address"
},
{
"internalType": "contract ERC20Token",
"name": "_collateralToken",
"type": "address"
},
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "getMaxBorrowable",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
]
},
{
"inputs": [
{
"internalType": "contract Vault",
"name": "_vaultContract",
"type": "address"
},
{
"internalType": "contract ERC20Token",
"name": "_collateralToken",
"type": "address"
},
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "getMaxWithdrawable",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
]
},
{
"inputs": [
{
"internalType": "contract Vault",
"name": "_vaultContract",
"type": "address"
},
{
"internalType": "contract ERC20Token",
"name": "_collateralToken",
"type": "address"
},
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "getVault",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "contract Vault",
"name": "_vaultContract",
"type": "address"
},
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "address",
"name": "_reliedUpon",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "isReliedUpon",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
}
],
"devdoc": {
"kind": "dev",
"methods": {
"getCollateralInfo(address,address)": {
"details": "returns a the relevant info for a collateral"
},
"getCollateralRatio(address,address,address)": {
"details": "returns the collateral ratio of a vault"
},
"getHealthFactor(address,address,address)": {
"details": "returns health factor (if a vault is liquidatable or not) of a vault"
},
"getMaxBorrowable(address,address,address)": {
"details": "returns the max amount of currency a vault owner can mint for that vault without the tx reverting due to the vault's health factor falling below the min health factorif it's a negative number then the vault is below the min health factor already and paying back the additive inverse of the result will pay back both borrowed amount and interest accrued"
},
"getMaxWithdrawa