509 txs
137.8k calls
constructor
constructor(uint256 _replenishmentPriceBps, string _name, string _symbol, address _operator)
functions
_totalSupply
viewfunction _totalSupply() view returns (uint256)
allowance
viewfunction allowance(address, address) view returns (uint256)
balanceOf
viewfunction balanceOf(address user) view returns (uint256)
balances
viewfunction balances(address) view returns (uint256)
debts
viewfunction debts(address) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
deficitOf
viewfunction deficitOf(address user) view returns (uint256)
DOMAIN_SEPARATOR
viewfunction DOMAIN_SEPARATOR() view returns (bytes32)
dueTokensAccrued
viewfunction dueTokensAccrued(address) view returns (uint256)
lastUpdated
viewfunction lastUpdated(address) view returns (uint256)
markets
viewfunction markets(address) view returns (bool)
minters
viewfunction minters(address) view returns (bool)
name
viewfunction name() view returns (string)
nonces
viewfunction nonces(address) view returns (uint256)
operator
viewfunction operator() view returns (address)
pendingOperator
viewfunction pendingOperator() view returns (address)
replenishmentPriceBps
viewfunction replenishmentPriceBps() view returns (uint256)
signedBalanceOf
viewfunction signedBalanceOf(address user) view returns (int256)
symbol
viewfunction symbol() view returns (string)
totalDueTokensAccrued
viewfunction totalDueTokensAccrued() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
accrueDueTokens
nonpayablefunction accrueDueTokens(address user)
addMarket
nonpayablefunction addMarket(address market_)
addMinter
nonpayablefunction addMinter(address minter_)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
burn
nonpayablefunction burn(uint256 amount)
claimOperator
nonpayablefunction claimOperator()
invalidateNonce
nonpayablefunction invalidateNonce()
mint
nonpayablefunction mint(address to, uint256 amount)
onBorrow
nonpayablefunction onBorrow(address user, uint256 additionalDebt)
onForceReplenish
nonpayablefunction onForceReplenish(address user, address replenisher, uint256 amount, uint256 replenisherReward)
onRepay
nonpayablefunction onRepay(address user, uint256 repaidDebt)
permit
nonpayablefunction permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
removeMinter
nonpayablefunction removeMinter(address minter_)
setPendingOperator
nonpayablefunction setPendingOperator(address newOperator_)
setReplenishmentPriceBps
nonpayablefunction setReplenishmentPriceBps(uint256 newReplenishmentPriceBps_)
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
events
AddMarket
event AddMarket(address indexed market)
AddMinter
event AddMinter(address indexed minter)
Approval
event Approval(address indexed owner, address indexed spender, uint256 amount)
ChangeOperator
event ChangeOperator(address indexed newOperator)
ForceReplenish
event ForceReplenish(address indexed account, address indexed replenisher, address indexed market, uint256 deficit, uint256 replenishmentCost, uint256 replenisherReward)
RemoveMinter
event RemoveMinter(address indexed minter)
Transfer
event Transfer(address indexed from, address indexed to, uint256 amount)
errors
No errors.
creation bytecode
0x60c06040523480156200001157600080fd5b5060405162001f5f38038062001f5f8339810160408190526200003491620002ab565b600684905582516200004e90600090602086019062000138565b5081516200006490600190602085019062000138565b50600380546001600160a01b0319166001600160a01b038316179055466080526200008e6200009c565b60a052506200042092505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000d091906200037d565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b828054620001469062000341565b90600052602060002090601f0160209004810192826200016a5760008555620001b5565b82601f106200018557805160ff1916838001178555620001b5565b82800160010185558215620001b5579182015b82811115620001b557825182559160200191906001019062000198565b50620001c3929150620001c7565b5090565b5b80821115620001c35760008155600101620001c8565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200020657600080fd5b81516001600160401b0380821115620002235762000223620001de565b604051601f8301601f19908116603f011681019082821181831017156200024e576200024e620001de565b816040528381526020925086838588010111156200026b57600080fd5b600091505b838210156200028f578582018301518183018401529082019062000270565b83821115620002a15760008385830101525b9695505050505050565b60008060008060808587031215620002c257600080fd5b845160208601519094506001600160401b0380821115620002e257600080fd5b620002f088838901620001f4565b945060408701519150808211156200030757600080fd5b506200031687828801620001f4565b606087015190935090506001600160a01b03811681146200033657600080fd5b939692955090935050565b600181811c908216806200035657607f821691505b6020821081036200037757634e487b7160e01b600052602260045260246000fd5b50919050565b600080835481600182811c9150808316806200039a57607f831692505b60208084108203620003ba57634e487b7160e01b86526022600452602486fd5b818015620003d15760018114620003e35762000412565b60ff1986168952848901965062000412565b60008a81526020902060005b868110156200040a5781548b820152908501908301620003ef565b505084890196505b509498975050505050505050565b60805160a051611b19620004466000396000610996015260006109660152611b196000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c806370a0823111610130578063ac7e534e116100b8578063dcdf770f1161007c578063dcdf770f146104ed578063dd62ed3e146104f6578063f46eccc414610521578063f7f11fb714610544578063fffdfb381461055757600080fd5b8063ac7e534e14610499578063b2c08775146104ac578063d505accf146104bf578063d54e65fb146104d2578063d8d2c648146104da57600080fd5b806393e30633116100ff57806393e306331461044f57806395d89b4114610462578063983b2d561461046a578063a10f84cb1461047d578063a9059cbb1461048657600080fd5b806370a08231146103e65780637ecebe00146103f95780638200b331146104195780638e8f294b1461042c57600080fd5b80633092afd5116101be57806340c10f191161018257806340c10f191461037a57806342966c681461038d578063570ca735146103a05780635a57b46f146103cb5780636866c625146103d357600080fd5b80633092afd514610329578063313ce5671461033c5780633644e5151461035657806336459f041461035e5780633eaaf86b1461037157600080fd5b806318160ddd1161020557806318160ddd146102bb57806323b30572146102c357806323b872dd146102d657806327e235e3146102e95780632ecd4e7d1461030957600080fd5b806306fdde0314610237578063095ea7b3146102555780630a6f93e614610278578063143d4e49146102a6575b600080fd5b61023f610577565b60405161024c91906116c1565b60405180910390f35b610268610263366004611732565b610605565b604051901515815260200161024c565b61029861028636600461175c565b600e6020526000908152604090205481565b60405190815260200161024c565b6102b96102b436600461175c565b610671565b005b6102986106c6565b6102b96102d136600461177e565b6106ef565b6102686102e4366004611797565b6107e7565b6102986102f736600461175c565b60076020526000908152604090205481565b61029861031736600461175c565b600c6020526000908152604090205481565b6102b961033736600461175c565b6108ef565b610344601281565b60405160ff909116815260200161024c565b610298610962565b61029861036c36600461175c565b6109b8565b61029860025481565b6102b9610388366004611732565b610a8a565b6102b961039b36600461177e565b610b11565b6003546103b3906001600160a01b031681565b6040516001600160a01b03909116815260200161024c565b6102b9610b1e565b6102b96103e136600461175c565b610b40565b6102986103f436600461175c565b610c65565b61029861040736600461175c565b60096020526000908152604090205481565b61029861042736600461175c565b610d25565b61026861043a36600461175c565b600b6020526000908152604090205460ff1681565b6102b961045d36600461175c565b610daf565b61023f610e25565b6102b961047836600461175c565b610e32565b61029860065481565b610268610494366004611732565b610ea8565b6004546103b3906001600160a01b031681565b6102b96104ba3660046117d3565b610f36565b6102b96104cd366004611815565b6110ec565b6102b9611330565b6102b96104e8366004611732565b6113d6565b61029860055481565b610298610504366004611888565b600860209081526000928352604080842090915290825290205481565b61026861052f36600461175c565b600a6020526000908152604090205460ff1681565b6102b9610552366004611732565b61146f565b61029861056536600461175c565b600d6020526000908152604090205481565b60008054610584906118bb565b80601f01602080910402602001604051908101604052809291908181526020018280546105b0906118bb565b80156105fd5780601f106105d2576101008083540402835291602001916105fd565b820191906000526020600020905b8154815290600101906020018083116105e057829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106609086815260200190565b60405180910390a350600192915050565b6003546001600160a01b031633146106a45760405162461bcd60e51b815260040161069b906118f5565b60405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600060025460055411156106da5750600090565b6005546002546106ea9190611932565b905090565b6003546001600160a01b031633146107195760405162461bcd60e51b815260040161069b906118f5565b600081116107745760405162461bcd60e51b815260206004820152602260248201527f7265706c656e6973686d656e74207072696365206d757374206265206f766572604482015261020360f41b606482015260840161069b565b620f42408111156107e25760405162461bcd60e51b815260206004820152603260248201527f5265706c656e6973686d656e742070726963652063616e6e6f742065786365656044820152713210189818102227a620903832b91022212960711b606482015260840161069b565b600655565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001981146108435761081e8382611932565b6001600160a01b03861660009081526008602090815260408083203384529091529020555b8261084d86610c65565b101561086b5760405162461bcd60e51b815260040161069b90611949565b6001600160a01b03851660009081526007602052604081208054859290610893908490611932565b90915550506001600160a01b0380851660008181526007602052604090819020805487019055519091871690600080516020611ac4833981519152906108dc9087815260200190565b60405180910390a3506001949350505050565b6003546001600160a01b031633146109195760405162461bcd60e51b815260040161069b906118f5565b6001600160a01b0381166000818152600a6020526040808220805460ff19169055517f2f91b591fc56ac0917953ad01ec225524ee5ef0555213e4c8a9d8c9728ee7ffb9190a250565b60007f00000000000000000000000000000000000000000000000000000000000000004614610993576106ea611543565b507f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152600c6020908152604080832054600e90925282205482906301e133809083906109f09042611932565b6109fa9190611977565b610a049190611996565b6001600160a01b038516600090815260076020908152604080832054600d9092529091205491925090610a389083906119b8565b1015610a48575060009392505050565b6001600160a01b038416600090815260076020908152604080832054600d90925290912054610a789083906119b8565b610a829190611932565b949350505050565b336000908152600a602052604090205460ff16151560011480610ab757506003546001600160a01b031633145b610b035760405162461bcd60e51b815260206004820152601860248201527f4f4e4c59204d494e54455253204f52204f50455241544f520000000000000000604482015260640161069b565b610b0d82826115dd565b5050565b610b1b3382611637565b50565b336000908152600960205260408120805491610b39836119d0565b9190505550565b6001600160a01b0381166000908152600c6020908152604080832054600e90925290912054429003610b70575050565b6001600160a01b0382166000908152600e60205260408120546301e13380908390610b9b9042611932565b610ba59190611977565b610baf9190611996565b90506000811180610bd657506001600160a01b0383166000908152600e6020526040902054155b15610c60576001600160a01b0383166000908152600d602052604081208054839290610c039084906119b8565b925050819055508060056000828254610c1c91906119b8565b90915550506001600160a01b0383166000818152600e6020908152604080832042905551848152919291600080516020611ac4833981519152910160405180910390a35b505050565b6001600160a01b0381166000908152600c6020908152604080832054600e90925282205482906301e13380908390610c9d9042611932565b610ca79190611977565b610cb19190611996565b6001600160a01b038516600090815260076020908152604080832054600d9092529091205491925090610ce59083906119b8565b1115610cf5575060009392505050565b6001600160a01b0384166000908152600d60209081526040808320546007909252909120548291610a7891611932565b6001600160a01b0381166000908152600c6020908152604080832054600e90925282205482906301e13380908390610d5d9042611932565b610d679190611977565b610d719190611996565b6001600160a01b0385166000908152600d60209081526040808320546007909252909120549192508291610da591906119e9565b610a8291906119e9565b6003546001600160a01b03163314610dd95760405162461bcd60e51b815260040161069b906118f5565b6001600160a01b0381166000818152600b6020526040808220805460ff19166001179055517fc3dfb88ee5301cecf05761fb2728064e5b641524346ae69b9ba80394631bf11f9190a250565b60018054610584906118bb565b6003546001600160a01b03163314610e5c5760405162461bcd60e51b815260040161069b906118f5565b6001600160a01b0381166000818152600a6020526040808220805460ff19166001179055517f16baa937b08d58713325f93ac58b8a9369a4359bbefb4957d6d9b402735722ab9190a250565b600081610eb433610c65565b1015610ed25760405162461bcd60e51b815260040161069b90611949565b3360009081526007602052604081208054849290610ef1908490611932565b90915550506001600160a01b03831660008181526007602052604090819020805485019055513390600080516020611ac4833981519152906106609086815260200190565b336000908152600b602052604090205460ff16610fa45760405162461bcd60e51b815260206004820152602660248201527f4f6e6c79206d61726b6574732063616e2063616c6c206f6e466f7263655265706044820152650d8cadcd2e6d60d31b606482015260840161069b565b6000610faf856109b8565b905060008111610fee5760405162461bcd60e51b815260206004820152600a602482015269139bc81919599a58da5d60b21b604482015260640161069b565b828110156110315760405162461bcd60e51b815260206004820152601060248201526f105b5bdd5b9d080f881919599a58da5d60821b604482015260640161069b565b6000612710600654856110449190611977565b61104e9190611996565b905061105986610b40565b6001600160a01b0386166000908152600c6020526040812080548392906110819084906119b8565b90915550611091905086856115dd565b604080518581526020810183905290810184905233906001600160a01b0387811691908916907f6a03700072ec60131e7e4ff249dad34d458e1e5785dbfa8146b2265997fbf6869060600160405180910390a4505050505050565b4284101561113c5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604482015260640161069b565b60006001611148610962565b6001600160a01b038a811660008181526009602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015611254573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061128a5750876001600160a01b0316816001600160a01b0316145b6112c75760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b604482015260640161069b565b6001600160a01b0390811660009081526008602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6004546001600160a01b031633146113825760405162461bcd60e51b815260206004820152601560248201527427a7262c902822a72224a7239027a822a920aa27a960591b604482015260640161069b565b60048054600380546001600160a01b0383166001600160a01b031991821681179092559091169091556040517f8eb831fe42156caaf4721a87ad40c6e662b893dbeee76d7a3ed2564a318b091c90600090a2565b336000908152600b602052604090205460ff166114355760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c79206d61726b6574732063616e2063616c6c206f6e5265706179000000604482015260640161069b565b61143e82610b40565b6001600160a01b0382166000908152600c602052604081208054839290611466908490611932565b90915550505050565b336000908152600b602052604090205460ff166114ce5760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79206d61726b6574732063616e2063616c6c206f6e426f72726f770000604482015260640161069b565b6114d782610b40565b6114e0826109b8565b1561151b5760405162461bcd60e51b815260206004820152600b60248201526a111094881119599a58da5d60aa1b604482015260640161069b565b6001600160a01b0382166000908152600c6020526040812080548392906114669084906119b8565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516115759190611a28565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b80600260008282546115ef91906119b8565b90915550506001600160a01b038216600081815260076020908152604080832080548601905551848152600080516020611ac483398151915291015b60405180910390a35050565b8061164183610c65565b101561165f5760405162461bcd60e51b815260040161069b90611949565b6001600160a01b03821660009081526007602052604081208054839290611687908490611932565b90915550506002805482900390556040518181526000906001600160a01b03841690600080516020611ac48339815191529060200161162b565b600060208083528351808285015260005b818110156116ee578581018301518582016040015282016116d2565b81811115611700576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461172d57600080fd5b919050565b6000806040838503121561174557600080fd5b61174e83611716565b946020939093013593505050565b60006020828403121561176e57600080fd5b61177782611716565b9392505050565b60006020828403121561179057600080fd5b5035919050565b6000806000606084860312156117ac57600080fd5b6117b584611716565b92506117c360208501611716565b9150604084013590509250925092565b600080600080608085870312156117e957600080fd5b6117f285611716565b935061180060208601611716565b93969395505050506040820135916060013590565b600080600080600080600060e0888a03121561183057600080fd5b61183988611716565b965061184760208901611716565b95506040880135945060608801359350608088013560ff8116811461186b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561189b57600080fd5b6118a483611716565b91506118b260208401611716565b90509250929050565b600181811c908216806118cf57607f821691505b6020821081036118ef57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600d908201526c27a7262c9027a822a920aa27a960991b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000828210156119445761194461191c565b500390565b602080825260149082015273496e73756666696369656e742062616c616e636560601b604082015260600190565b60008160001904831182151516156119915761199161191c565b500290565b6000826119b357634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156119cb576119cb61191c565b500190565b6000600182016119e2576119e261191c565b5060010190565b60008083128015600160ff1b850184121615611a0757611a0761191c565b6001600160ff1b0384018313811615611a2257611a2261191c565b50500390565b600080835481600182811c915080831680611a4457607f831692505b60208084108203611a6357634e487b7160e01b86526022600452602486fd5b818015611a775760018114611a8857611ab5565b60ff19861689528489019650611ab5565b60008a81526020902060005b86811015611aad5781548b820152908501908301611a94565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212203b6dcf74dcba5952c94f9204ff21e7856d27346b72b6c0f7426e61aaa65331f464736f6c634300080d003300000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000926df14a23be491164dcf93f4c468a50ef659d5b0000000000000000000000000000000000000000000000000000000000000014446f6c6120426f72726f77696e6720526967687400000000000000000000000000000000000000000000000000000000000000000000000000000000000000034442520000000000000000000000000000000000000000000000000000000000