47 txs
83 calls
constructor
constructor(address _liquidityTokenAddress, address _usdc, address _stakingContract)
functions
BORROWER_ROLE
viewfunction BORROWER_ROLE() view returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
liquidityTokenAddress
viewfunction liquidityTokenAddress() view returns (address)
paused
viewfunction paused() view returns (bool)
stakingContract
viewfunction stakingContract() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
usdc
viewfunction usdc() view returns (address)
borrow
nonpayablefunction borrow(uint256 _amount, address _to)
deposit
nonpayablefunction deposit(uint256 _amount)
depositAndStake
nonpayablefunction depositAndStake(uint256 _amount)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
pause
nonpayablefunction pause()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw(uint256 _amount)
events
Deposit
event Deposit(uint256 amount, address wallet)
Paused
event Paused(address account)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Unpaused
event Unpaused(address account)
Withdraw
event Withdraw(uint256 amount, address wallet)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x608060405234801561001057600080fd5b50604051610edc380380610edc83398101604081905261002f9161020c565b6000805460ff191690556001600160a01b0383166100835760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b60448201526064015b60405180910390fd5b6001600160a01b0382166100c85760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640161007a565b6001600160a01b03811661010d5760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640161007a565b61011860003361015b565b50600280546001600160a01b039485166001600160a01b03199182161790915560038054938516938216939093179092556004805491909316911617905561024f565b60008281526001602090815260408083206001600160a01b038516845290915281205460ff166101e65760008381526001602081815260408084206001600160a01b0387168086529252808420805460ff19169093179092559051339286917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45060016101ea565b5060005b92915050565b80516001600160a01b038116811461020757600080fd5b919050565b60008060006060848603121561022157600080fd5b61022a846101f0565b9250610238602085016101f0565b9150610246604085016101f0565b90509250925092565b610c7e8061025e6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806359fe8539116100a257806391d148541161007157806391d1485414610256578063a217fddf14610269578063b6b55f2514610271578063d547741f14610284578063ee99205c1461029757600080fd5b806359fe85391461021d5780635c975abb146102305780638456cb591461023b5780639019b3101461024357600080fd5b80632f2ff15d116100e95780632f2ff15d146101b157806336568abe146101c45780633e413bee146101d75780633f4ba83a146102025780634b3fd1481461020a57600080fd5b806301ffc9a71461011b5780630e7b949e14610143578063248a9ca3146101785780632e1a7d4d1461019c575b600080fd5b61012e610129366004610b5a565b6102aa565b60405190151581526020015b60405180910390f35b61016a7f2344277e405079ec07749d374ba0b5862a4e45a6a05ac889dbb4a991c6f9354d81565b60405190815260200161013a565b61016a610186366004610b8b565b6000908152600160208190526040909120015490565b6101af6101aa366004610b8b565b6102e1565b005b6101af6101bf366004610bc0565b6103f7565b6101af6101d2366004610bc0565b610423565b6003546101ea906001600160a01b031681565b6040516001600160a01b03909116815260200161013a565b6101af61045b565b6101af610218366004610bc0565b610471565b6101af61022b366004610b8b565b61051a565b60005460ff1661012e565b6101af610654565b6002546101ea906001600160a01b031681565b61012e610264366004610bc0565b610667565b61016a600081565b6101af61027f366004610b8b565b610692565b6101af610292366004610bc0565b6106e9565b6004546101ea906001600160a01b031681565b60006001600160e01b03198216637965db0b60e01b14806102db57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60025460405163079cc67960e41b8152336004820152602481018390526001600160a01b03909116906379cc679090604401600060405180830381600087803b15801561032d57600080fd5b505af1158015610341573d6000803e3d6000fd5b505060035460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b03909116925063a9059cbb91506044016020604051808303816000875af1158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190610bec565b50604080518281523360208201527f8353ffcac0876ad14e226d9783c04540bfebf13871e868157d2a391cad98e91891015b60405180910390a150565b600082815260016020819052604090912001546104138161070f565b61041d8383610719565b50505050565b6001600160a01b038116331461044c5760405163334bd91960e11b815260040160405180910390fd5b6104568282610792565b505050565b60006104668161070f565b61046e6107ff565b50565b7f2344277e405079ec07749d374ba0b5862a4e45a6a05ac889dbb4a991c6f9354d61049b8161070f565b6104a3610851565b60035460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690529091169063a9059cbb906044016020604051808303816000875af11580156104f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041d9190610bec565b610522610851565b60035461053a906001600160a01b0316333084610877565b6002546040516340c10f1960e01b8152306004820152602481018390526001600160a01b03909116906340c10f1990604401600060405180830381600087803b15801561058657600080fd5b505af115801561059a573d6000803e3d6000fd5b50506004546002546105bb93506001600160a01b03908116925016836108de565b600480546040516328ba35d960e11b81529182018390523360248301526001600160a01b0316906351746bb2906044015b600060405180830381600087803b15801561060657600080fd5b505af115801561061a573d6000803e3d6000fd5b5050604080518481523360208201527f4bcc17093cdf51079c755de089be5a85e70fa374ec656c194480fbdcda224a5393500190506103ec565b600061065f8161070f565b61046e610968565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61069a610851565b6003546106b2906001600160a01b0316333084610877565b6002546040516340c10f1960e01b8152336004820152602481018390526001600160a01b03909116906340c10f19906044016105ec565b600082815260016020819052604090912001546107058161070f565b61041d8383610792565b61046e81336109a5565b60006107258383610667565b61078a5760008381526001602081815260408084206001600160a01b0387168086529252808420805460ff19169093179092559051339286917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45060016102db565b5060006102db565b600061079e8383610667565b1561078a5760008381526001602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016102db565b6108076109e7565b6000805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60005460ff16156108755760405163d93c066560e01b815260040160405180910390fd5b565b6040516001600160a01b03848116602483015283811660448301526064820183905261041d9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610a0a565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e90604401602060405180830381865afa15801561092e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109529190610c0e565b905061041d84846109638585610c27565b610a7b565b610970610851565b6000805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586108343390565b6109af8282610667565b6109e35760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044015b60405180910390fd5b5050565b60005460ff1661087557604051638dfc202b60e01b815260040160405180910390fd5b600080602060008451602086016000885af180610a2d576040513d6000823e3d81fd5b50506000513d91508115610a45578060011415610a52565b6001600160a01b0384163b155b1561041d57604051635274afe760e01b81526001600160a01b03851660048201526024016109da565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610acc8482610b0b565b61041d576040516001600160a01b03848116602483015260006044830152610b0191869182169063095ea7b3906064016108ac565b61041d8482610a0a565b6000806000806020600086516020880160008a5af192503d91506000519050828015610b5057508115610b415780600114610b50565b6000866001600160a01b03163b115b9695505050505050565b600060208284031215610b6c57600080fd5b81356001600160e01b031981168114610b8457600080fd5b9392505050565b600060208284031215610b9d57600080fd5b5035919050565b80356001600160a01b0381168114610bbb57600080fd5b919050565b60008060408385031215610bd357600080fd5b82359150610be360208401610ba4565b90509250929050565b600060208284031215610bfe57600080fd5b81518015158114610b8457600080fd5b600060208284031215610c2057600080fd5b5051919050565b808201808211156102db57634e487b7160e01b600052601160045260246000fdfea26469706673582212208d1b953a543adf55c4f869c1d42c7ad04f0075f7ac98511ef8e9f1b0a9b39bd064736f6c634300081c0033000000000000000000000000ad1a169ed9629431fe3bdf25a16b65f9aa1a0b69000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000134ee64ccf2151452b0fbd757f9ae1a09304036b