fluid-contracts-public/deployments/mainnet/BufferRateHandler_WSTETH_ETH.json

311 lines
86 KiB
JSON
Raw Permalink Normal View History

{
"address": "0xDF10FE6163c1bfB99d7179e1bFC2e0Bb6128704f",
"abi": [
{
"inputs": [
{
"internalType": "contract IFluidReserveContract",
"name": "reserveContract_",
"type": "address"
},
{
"internalType": "contract IFluidLiquidity",
"name": "liquidity_",
"type": "address"
},
{
"internalType": "address",
"name": "supplyToken_",
"type": "address"
},
{
"internalType": "address",
"name": "borrowToken_",
"type": "address"
},
{
"internalType": "int256",
"name": "rateBufferKink1_",
"type": "int256"
},
{
"internalType": "int256",
"name": "rateBufferKink2_",
"type": "int256"
},
{
"internalType": "uint256",
"name": "minUpdateDiff_",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "errorId_",
"type": "uint256"
}
],
"name": "FluidConfigError",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "supplyRate",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "oldRateKink1",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newRateKink1",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "oldRateKink2",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newRateKink2",
"type": "uint256"
}
],
"name": "LogUpdateRate",
"type": "event"
},
{
"inputs": [],
"name": "BORROW_TOKEN",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "LIQUIDITY",
"outputs": [
{
"internalType": "contract IFluidLiquidity",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MIN_UPDATE_DIFF",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "RATE_BUFFER_KINK1",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "RATE_BUFFER_KINK2",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "RESERVE_CONTRACT",
"outputs": [
{
"internalType": "contract IFluidReserveContract",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "SUPPLY_TOKEN",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "calcBorrowRates",
"outputs": [
{
"internalType": "uint256",
"name": "rateKink1_",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateKink2_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "configPercentDiff",
"outputs": [
{
"internalType": "uint256",
"name": "configPercentDiff_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "rebalance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "supplyTokenLendingRate",
"outputs": [
{
"internalType": "uint256",
"name": "rate_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"transactionHash": "0x07142e34c2b046d49802e64e6fba5c2e9ff31eeb0e903999c5381442761c929f",
"receipt": {
"to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
"from": "0x0Ed35B1609Ec45c7079E80d11149a52717e4859A",
"contractAddress": null,
"transactionIndex": 51,
"gasUsed": "1132311",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"blockHash": "0x27d10b496ae7fb2f608b7514312b22bc1f7f859014507081ddf2c301f4eb1fd2",
"transactionHash": "0x07142e34c2b046d49802e64e6fba5c2e9ff31eeb0e903999c5381442761c929f",
"logs": [],
"blockNumber": 19967195,
"cumulativeGasUsed": "20735570",
"status": 1,
"byzantium": true
},
"args": [
"0x264786EF916af64a1DB19F513F24a3681734ce92",
"0x52Aa899454998Be5b000Ad077a46Bbe360F4e497",
"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
200,
250,
25
],
"numDeployments": 1,
"solcInputHash": "033d84042c3fe6a1afa58a71e8e52d69",
"metadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IFluidReserveContract\",\"name\":\"reserveContract_\",\"type\":\"address\"},{\"internalType\":\"contract IFluidLiquidity\",\"name\":\"liquidity_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"supplyToken_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"borrowToken_\",\"type\":\"address\"},{\"internalType\":\"int256\",\"name\":\"rateBufferKink1_\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"rateBufferKink2_\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"minUpdateDiff_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"errorId_\",\"type\":\"uint256\"}],\"name\":\"FluidConfigError\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"supplyRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldRateKink1\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newRateKink1\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldRateKink2\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newRateKink2\",\"type\":\"uint256\"}],\"name\":\"LogUpdateRate\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BORROW_TOKEN\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LIQUIDITY\",\"outputs\":[{\"internalType\":\"contract IFluidLiquidity\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_UPDATE_DIFF\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RATE_BUFFER_KINK1\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RATE_BUFFER_KINK2\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RESERVE_CONTRACT\",\"outputs\":[{\"internalType\":\"contract IFluidReserveContract\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SUPPLY_TOKEN\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calcBorrowRates\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rateKink1_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rateKink2_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"configPercentDiff\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"configPercentDiff_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rebalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supplyTokenLendingRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"events\":{\"LogUpdateRate(uint256,uint256,uint256,uint256,uint256)\":{\"notice\":\"emitted when borrow rate for `BORROW_TOKEN` is updated based on supply rate of `SUPPLY_TOKEN` + buffer.\"}},\"kind\":\"user\",\"methods\":{\"BORROW_TOKEN()\":{\"notice\":\"borrow token at Liquidity for which the borrow rate is managed\"},\"RATE_BUFFER_KINK1()\":{\"notice\":\"buffer at kink1 for the rate. borrow rate = supply rate + buffer. In percent (100 = 1%, 1 = 0.01%)\"},\"RATE_BUFFER_KINK2()\":{\"notice\":\"buffer at k
"bytecode": "0x6101c06040523480156200001257600080fd5b50604051620017583803806200175883398101604081905262000035916200023c565b866001600160a01b0381166200006857604051636801712d60e11b8152620186bf60048201526024015b60405180910390fd5b866001600160a01b0381166200009757604051636801712d60e11b8152620186bf60048201526024016200005f565b866001600160a01b038116620000c657604051636801712d60e11b8152620186bf60048201526024016200005f565b866001600160a01b038116620000f557604051636801712d60e11b8152620186bf60048201526024016200005f565b84158062000104575061271087135b806200011b575062000118612710620002c3565b87125b8062000128575061271086135b806200013f57506200013c612710620002c3565b86125b156200016457604051636801712d60e11b8152620186c160048201526024016200005f565b505050506001600160a01b03968716608090815295871660a090815294871660c08181529490971660e0818152610140929092526101009384526101209283526040805160208181018b905260078284015282518083038401815260608301845280519082012061016052988101999099526005898801528051808a0390970187529488018552855195870195909520610180528601939093526006858201528151808603909101815293909101905281519101206101a052620002ee565b6001600160a01b03811681146200023957600080fd5b50565b600080600080600080600060e0888a0312156200025857600080fd5b8751620002658162000223565b6020890151909750620002788162000223565b60408901519096506200028b8162000223565b60608901519095506200029e8162000223565b809450506080880151925060a0880151915060c0880151905092959891949750929550565b6000600160ff1b8201620002e757634e487b7160e01b600052601160045260246000fd5b5060000390565b60805160a05160c05160e05161010051610120516101405161016051610180516101a05161136a620003ee600039600081816105f10152818161072c015261089f01526000610379015260006102760152600081816101a7015281816109b701528181610c9f0152610cd40152600081816101f501528181611005015261103b01526000818160d301528181610f660152610f9c01526000818161018001528181610a210152610d410152600061015901526000818161010d015281816102b6015281816103a2015281816106320152818161076c015281816108c501528181610b5a0152610e940152600081816101ce01526104fd015261136a6000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80636449b8d7116100815780637d7c2a1c1161005b5780637d7c2a1c1461021f5780639dc1056614610229578063ee53f65c1461023157600080fd5b80636449b8d7146101c95780636a4bee28146101f057806376a9a0f71461021757600080fd5b80632bd173cd116100b25780632bd173cd146101545780634c90f25c1461017b578063535af56d146101a257600080fd5b80631cb79486146100ce5780632861c7d114610108575b600080fd5b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b61012f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ff565b61012f7f000000000000000000000000000000000000000000000000000000000000000081565b61012f7f000000000000000000000000000000000000000000000000000000000000000081565b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b61012f7f000000000000000000000000000000000000000000000000000000000000000081565b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b6100f561024e565b6102276104cf565b005b6100f5610704565b610239610869565b604080519283526020830191909152016100ff565b6040517fb5c736e40000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063b5c736e490602401602060405180830381865afa1580156102fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032191906110f8565b905066ffffffffffffff600882901c811660ff8084169190911b91608884901c16608084901c9091161b81156104c9576040517fb5c736e40000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063b5c736e490602401602060405180830381865afa1580156103fe573d6000803e3d6000fd5b505050506040513d601f
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80636449b8d7116100815780637d7c2a1c1161005b5780637d7c2a1c1461021f5780639dc1056614610229578063ee53f65c1461023157600080fd5b80636449b8d7146101c95780636a4bee28146101f057806376a9a0f71461021757600080fd5b80632bd173cd116100b25780632bd173cd146101545780634c90f25c1461017b578063535af56d146101a257600080fd5b80631cb79486146100ce5780632861c7d114610108575b600080fd5b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b61012f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ff565b61012f7f000000000000000000000000000000000000000000000000000000000000000081565b61012f7f000000000000000000000000000000000000000000000000000000000000000081565b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b61012f7f000000000000000000000000000000000000000000000000000000000000000081565b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b6100f561024e565b6102276104cf565b005b6100f5610704565b610239610869565b604080519283526020830191909152016100ff565b6040517fb5c736e40000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063b5c736e490602401602060405180830381865afa1580156102fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032191906110f8565b905066ffffffffffffff600882901c811660ff8084169190911b91608884901c16608084901c9091161b81156104c9576040517fb5c736e40000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063b5c736e490602401602060405180830381865afa1580156103fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042291906110f8565b9050600064e8d4a51000610444605b84901c67ffffffffffffffff1686611140565b61044e9190611157565b9050600064e8d4a51000610470609b85901c67ffffffffffffffff1686611140565b61047a9190611157565b905061ffff8316601084901c613fff1661049661271085611140565b836104a383612710611192565b6104ad9085611140565b6104b79190611140565b6104c19190611157565b985050505050505b50505090565b6040517f467c9eff0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063467c9eff906024016020604051808303816000875af115801561055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057f91906111a5565b6105bf576040517fd002e25a000000000000000000000000000000000000000000000000000000008152620186c060048201526024015b60405180910390fd5b60006105c961024e565b6040517fb5c736e40000000000000000000000000000000000000000000000000000000081527f0000000000000000000000000000000000000000000000000000000000000000600482015290915060009073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063b5c736e490602401602060405180830381865afa158015610679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069d91906110f8565b9050600f811660018190036106bb576106b68383610952565b505050565b806002036106cd576106b68383610c20565b6040517fd002e25a000000000000000000000000000000000000000000000000000000008152620186c360048201526024016105b6565b6040517fb5c736e40000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063b5c736e490602401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d791906110f8565b90506000806107ed6107e761024e565b84610f5d565b9092509050
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"events": {
"LogUpdateRate(uint256,uint256,uint256,uint256,uint256)": {
"notice": "emitted when borrow rate for `BORROW_TOKEN` is updated based on supply rate of `SUPPLY_TOKEN` + buffer."
}
},
"kind": "user",
"methods": {
"BORROW_TOKEN()": {
"notice": "borrow token at Liquidity for which the borrow rate is managed"
},
"RATE_BUFFER_KINK1()": {
"notice": "buffer at kink1 for the rate. borrow rate = supply rate + buffer. In percent (100 = 1%, 1 = 0.01%)"
},
"RATE_BUFFER_KINK2()": {
"notice": "buffer at kink2 for the rate. borrow rate = supply rate + buffer. In percent (100 = 1%, 1 = 0.01%)"
},
"SUPPLY_TOKEN()": {
"notice": "supply token at Liquidity which borrow rate is based on"
},
"calcBorrowRates()": {
"notice": "returns the current calculcated borrow rates at kink1 and kink 2 (for rate data v2)."
},
"configPercentDiff()": {
"notice": "returns how much the new config would be different from current config in percent (100 = 1%, 1 = 0.01%)."
},
"rebalance()": {
"notice": "Rebalances the configs at Fluid Liquidity based on config handler target. Reverts if no update is needed. Can only be called by an authorized rebalancer."
},
"supplyTokenLendingRate()": {
"notice": "get current `SUPPLY_TOKEN` lending `rate_` at Liquidity"
}
},
"notice": "Sets borrow rate for `BORROW_TOKEN` at Liquidaty based on supply rate of `SUPPLY_TOKEN` + buffer.",
"version": 1
},
"storageLayout": {
"storage": [],
"types": null
}
}