2 txs
18 calls
constructor
constructor(address _pool)
functions
acl
viewfunction acl() view returns (address)
contractsRegister
viewfunction contractsRegister() view returns (address)
controller
viewfunction controller() view returns (address)
creditManagers
viewfunction creditManagers(address) view returns (address)
cumulativeIndex
viewfunction cumulativeIndex(address token) view returns (uint192)
gauge
viewfunction gauge() view returns (address)
getQuotaRate
viewfunction getQuotaRate(address token) view returns (uint16)
getTokenQuotaParams
viewfunction getTokenQuotaParams(address token) view returns (uint16 rate, uint192 cumulativeIndexLU, uint16 quotaIncreaseFee, uint96 totalQuoted, uint96 limit, bool isActive)
isQuotedToken
viewfunction isQuotedToken(address token) view returns (bool)
lastQuotaRateUpdate
viewfunction lastQuotaRateUpdate() view returns (uint40)
paused
viewfunction paused() view returns (bool)
pool
viewfunction pool() view returns (address)
poolQuotaRevenue
viewfunction poolQuotaRevenue() view returns (uint256 quotaRevenue)
quotedTokens
viewfunction quotedTokens() view returns (address[])
underlying
viewfunction underlying() view returns (address)
version
viewfunction version() view returns (uint256)
addQuotaToken
nonpayablefunction addQuotaToken(address token, uint16 rate)
pause
nonpayablefunction pause()
setController
nonpayablefunction setController(address newController)
setCreditManager
nonpayablefunction setCreditManager(address token, address vault)
setGauge
nonpayablefunction setGauge(address _gauge)
unpause
nonpayablefunction unpause()
updateRates
nonpayablefunction updateRates()
events
AddCreditManager
event AddCreditManager(address indexed creditManager)
AddQuotaToken
event AddQuotaToken(address indexed token)
NewController
event NewController(address indexed newController)
Paused
event Paused(address account)
SetGauge
event SetGauge(address indexed newGauge)
SetQuotaIncreaseFee
event SetQuotaIncreaseFee(address indexed token, uint16 fee)
SetTokenLimit
event SetTokenLimit(address indexed token, uint96 limit)
Unpaused
event Unpaused(address account)
UpdateQuota
event UpdateQuota(address indexed creditAccount, address indexed token, int96 quotaChange)
UpdateTokenQuotaRate
event UpdateTokenQuotaRate(address indexed token, uint16 rate)
errors
CallerNotConfiguratorException
error CallerNotConfiguratorException()
CallerNotGaugeException
error CallerNotGaugeException()
CallerNotPausableAdminException
error CallerNotPausableAdminException()
CallerNotUnpausableAdminException
error CallerNotUnpausableAdminException()
TokenAlreadyAddedException
error TokenAlreadyAddedException()
TokenIsNotQuotedException
error TokenIsNotQuotedException()
ZeroAddressException
error ZeroAddressException()
creation bytecode
0x61010060408190526000805461ff00191690911790553480156200002257600080fd5b506040516200168038038062001680833981810160405260208110156200004857600080fd5b505160408051630a55006360e21b815290516001600160a01b03831691632954018c9160048083019260209291908290030181865afa15801562000090573d6000803e3d6000fd5b505050506040513d6020811015620000a757600080fd5b505160408051630a55006360e21b815290516001600160a01b03841691632954018c9160048083019260209291908290030181865afa158015620000ef573d6000803e3d6000fd5b505050506040513d60208110156200010657600080fd5b50518080620001158162000349565b604051632bdad0e360e11b8152621050d360ea1b6004820152600060248201526001600160a01b038316906357b5a1c690604401602060405180830381865afa15801562000167573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018d919062000374565b6001600160a01b031660808190526000805460ff1916905560408051638da5cb5b60e01b81529051919350638da5cb5b92506004808201926020929091908290030181865afa158015620001e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020b919062000374565b600080546001600160a01b0392909216620100000262010000600160b01b03199092169190911790555080620002418162000349565b604051632bdad0e360e11b81527121a7a72a2920a1aa29afa922a3a4a9aa22a960711b6004820152600060248201526001600160a01b038316906357b5a1c690604401602060405180830381865afa158015620002a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c8919062000374565b6001600160a01b0390811660a052831660e0819052604080516338d52e0f60e01b815290519193506338d52e0f92506004808201926020929091908290030181865afa1580156200031d573d6000803e3d6000fd5b505050506040513d60208110156200033457600080fd5b50516001600160a01b031660c05250620003a6565b6001600160a01b0381166200037157604051635919af9760e11b815260040160405180910390fd5b50565b6000602082840312156200038757600080fd5b81516001600160a01b03811681146200039f57600080fd5b9392505050565b60805160a05160c05160e0516112766200040a600039600081816102070152818161082e015281816109040152610c5b0152600061030e0152600061033501526000818161051501528181610f2c0152818161101801526110b501526112766000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80637a0c7b21116100c3578063c6d6ce901161007c578063c6d6ce90146104ba578063d9b94b06146104ea578063de28735914610510578063e08a03db14610537578063eb9860a314610579578063f77c47911461058157600080fd5b80637a0c7b21146103305780638456cb591461035757806392eefe9b1461035f578063a6f19c8414610385578063b57b1b5c14610398578063bd42a06f146103ce57600080fd5b80633f4ba83a116101155780633f4ba83a1461024d57806354fd4d501461025557806355a68ed31461027057806358279237146102965780635c975abb146102ee5780636f307dc31461030957600080fd5b806303fcf79b146101525780630ab3640f14610182578063112024ff146101d057806316f0115b146102025780633c3821f414610245575b600080fd5b6101806004803603604081101561016857600080fd5b506001600160a01b038135811691602001351661059a565b005b6101b96004803603602081101561019857600080fd5b50356001600160a01b031660009081526003602052604090205461ffff1690565b6040805161ffff9092168252519081900360200190f35b6004546101e890600160a01b900464ffffffffff1681565b6040805164ffffffffff9092168252519081900360200190f35b6102297f000000000000000000000000000000000000000000000000000000000000000081565b604080516001600160a01b039092168252519081900360200190f35b6101806105d0565b6101806109a7565b61025e61012c81565b60408051918252519081900360200190f35b6101806004803603602081101561028657600080fd5b50356001600160a01b03166109b9565b61029e610a21565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102da5781810151838201526020016102c2565b505050509050019250505060405180910390f35b60005460ff165b604080519115158252519081900360200190f35b6102297f000000000000000000000000000000000000000000000000000000000000000081565b6102297f000000000000000000000000000000000000000000000000000000000000000081565b610180610a32565b6101806004803603602081101561037557600080fd5b50356001600160a01b0316610a42565b600454610229906001600160a01b031681565b610229600480360360208110156103ae57600080fd5b5060056020526001600160a01b0390358116600090815260409020541681565b61046c600480360360208110156103e457600080fd5b50356001600160a01b0316600090815260036020908152604091829020825160a081018452815461ffff8082168084526201000083046001600160c01b0316958401869052600160d01b909204169482018590526001909201546001600160601b0380821660608401819052600160601b909204166080909201829052919492939285151590565b6040805161ffff97881681526001600160c01b03909616602087015293909516848401526001600160601b03918216606085015216608083015291151560a082015290519081900360c00190f35b610180600480360360408110156104d057600080fd5b5080356001600160a01b0316906020013561ffff16610ab7565b6102f56004803603602081101561050057600080fd5b50356001600160a01b0316610b51565b6102297f000000000000000000000000000000000000000000000000000000000000000081565b61055d6004803603602081101561054d57600080fd5b50356001600160a01b0316610b64565b604080516001600160c01b039092168252519081900360200190f35b61025e610bb4565b600054610229906201000090046001600160a01b031681565b6105a2610cef565b6001600160a01b03918216600090815260056020526040902080546001600160a01b03191691909216179055565b6105d8610d15565b60006105e46001610d40565b600480546040516333debcd160e11b815260209281018381528451602483015284519495506000946001600160a01b03909316936367bd79a2938793839260449091019181860191028083838b5b8381101561064a578181015183820152602001610632565b5050505090500192505050600060405180830381865afa158015610672573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561069b57600080fd5b81019080805160405193929190846401000000008211156106bb57600080fd5b9083019060208201858111156106d057600080fd5b82518660208202830111640100000000821117156106ed57600080fd5b82525081516020918201928201910280838360005b8381101561071a578181015183820152602001610702565b505050509190910160405250506004548551939450600093600160a01b90910464ffffffffff1692509050825b818110156109015760008682815181106107635761076361117f565b6020026020010151905060008683815181106107815761078161117f565b6020908102919091018101516001600160a01b038416600090815260039092526040822090925090806107b383610d54565b50915091506107c381838a610d97565b83546001600160d01b031916620100006001600160c01b03929092169190910261ffff19161761ffff851690811784556001600160a01b03868116600090815260056020908152604091829020548251637a99c01760e01b81529084166004820152915161271094937f00000000000000000000000000000000000000000000000000000000000000001692637a99c0179260248083019391928290030181865afa158015610876573d6000803e3d6000fd5b505050506040513d602081101561088c57600080fd5b505161089891906111ab565b6108a291906111c2565b6108ac908a6111e4565b6040805161ffff871681529051919a506001600160a01b038716917ffb19913ea8fcd2e3d22d200707473d031876b05d1ecb42173e73292ed910ac859181900360200190a28560010195505050505050610747565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663275df3ad846040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561096857600080fd5b505af115801561097c573d6000803e3d6000fd5b50506004805464ffffffffff60a01b1916600160a01b4264ffffffffff160217905550505050505050565b6109af610e07565b6109b7610e2d565b565b6109c1610cef565b6004546001600160a01b03828116911614610a1e57600480546001600160a01b0319166001600160a01b0383169081179091556040517f17228b08e4c958112a0827a6d8dc8475dba58dd068a3d400800a606794db02a690600090a25b50565b6060610a2d6001610d40565b905090565b610a3a610e79565b6109b7610e9f565b610a4a610cef565b6000546001600160a01b03828116620100009092041614610a1e576000805462010000600160b01b031916620100006001600160a01b03841690810291909117825560405190917fe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c691a250565b610abf610d15565b610aca600183610edc565b15610ae857604051632e5a5c7760e01b815260040160405180910390fd5b610af3600183610efd565b506001600160a01b038216600081815260036020526040808220805461ffff86166001600160d01b03199091161762010000179055517f7401ff10219be3dd6d26cc491114a8ae5a0e13ac3af651aae1286afad365947d9190a25050565b6000610b5e600183610edc565b92915050565b6001600160a01b03811660009081526003602052604081208180610b8783610d54565b506004549193509150610bab9082908490600160a01b900464ffffffffff16610d97565b95945050505050565b600080610bc16001610d40565b805190915060005b81811015610ce9576000838281518110610be557610be561117f565b6020908102919091018101516001600160a01b038116600090815260039092526040822090925090610c1682610d54565b50506001600160a01b03848116600090815260056020908152604091829020548251637a99c01760e01b8152908416600482015291519394506127109361ffff8616937f00000000000000000000000000000000000000000000000000000000000000001692637a99c0179260248083019391928290030181865afa158015610ca3573d6000803e3d6000fd5b505050506040513d6020811015610cb957600080fd5b5051610cc591906111ab565b610ccf91906111c2565b610cd990886111e4565b9650836001019350505050610bc9565b50505090565b610cf833610f12565b6109b7576040516361081c1560e01b815260040160405180910390fd5b6004546001600160a01b031633146109b75760405163177432c960e21b815260040160405180910390fd5b60606000610d4d83610fa2565b9392505050565b805461ffff811690601081901c6001600160c01b03169060d01c6000829003610d9057604051632fed18cf60e21b815260040160405180910390fd5b9193909250565b60006301e1338061ffff8416610dad84426111f7565b610dc56127106b033b2e3c9fd0803ce80000006111c2565b6001600160c01b0316610dd891906111ab565b610de291906111ab565b610dec91906111c2565b610dff906001600160c01b0386166111e4565b949350505050565b610e1033610ffe565b6109b7576040516316e29ab760e01b815260040160405180910390fd5b610e3561104d565b6000805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051610e6f919061120a565b60405180910390a1565b610e823361109b565b6109b75760405163d794b1e760e01b815260040160405180910390fd5b610ea76110ea565b6000805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610e623390565b6001600160a01b031660009081526001919091016020526040902054151590565b6000610d4d836001600160a01b038416611130565b604051632f92cd5d60e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635f259aba90610f6190859060040161120a565b602060405180830381865afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e919061121e565b606081600001805480602002602001604051908101604052809291908181526020018280548015610ff257602002820191906000526020600020905b815481526020019060010190808311610fde575b50505050509050919050565b604051630d4eb5db60e41b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d4eb5db090610f6190859060040161120a565b60005460ff166109b75760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064015b60405180910390fd5b604051630e907b1960e21b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633a41ec6490610f6190859060040161120a565b60005460ff16156109b75760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401611092565b600081815260018301602052604081205461117757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b5e565b506000610b5e565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610b5e57610b5e611195565b6000826111df57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610b5e57610b5e611195565b81810381811115610b5e57610b5e611195565b6001600160a01b0391909116815260200190565b60006020828403121561123057600080fd5b81518015158114610d4d57600080fdfea26469706673582212206515d66d63f6d7b5a8b103937a036817634615cf30162e18d445146b3375c1ee64736f6c63430008130033000000000000000000000000a02fcc8493856b5bd7fa5099f5a631a6cb77fbd1