0 txs
1 call
constructor
constructor(address _gov, address _guardian)
functions
gov
viewfunction gov() view returns (address)
guardian
viewfunction guardian() view returns (address)
market
viewfunction market() view returns (address)
maxLoss
viewfunction maxLoss() view returns (uint256)
pendingGov
viewfunction pendingGov() view returns (address)
underlying
viewfunction underlying() view returns (address)
vault
viewfunction vault() view returns (address)
claimPendingGov
nonpayablefunction claimPendingGov()
convertFromCollateral
nonpayablefunction convertFromCollateral(address, uint256 _value, bytes _helperData) returns (uint256 underlyingAmount)
convertToCollateral
nonpayablefunction convertToCollateral(address, uint256 _value, bytes _helperData) returns (uint256 collateralAmount)
convertToCollateralAndDeposit
nonpayablefunction convertToCollateralAndDeposit(uint256 amount, bytes data) returns (uint256 collateralAmount)
setGuardian
nonpayablefunction setGuardian(address _guardian)
setMaxLoss
nonpayablefunction setMaxLoss(uint256 _maxLoss)
setPendingGov
nonpayablefunction setPendingGov(address _pendingGov)
sweep
nonpayablefunction sweep(address token)
withdrawAndConvertFromCollateral
nonpayablefunction withdrawAndConvertFromCollateral(uint256 amount, tuple permit, bytes data) returns (uint256 underlyingAmount)
events
NewGov
event NewGov(address gov)
NewGuardian
event NewGuardian(address guardian)
NewPendingGov
event NewPendingGov(address pendingGov)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
DepositFailed
error DepositFailed(uint256 expected, uint256 received)
DepositLimitExceeded
error DepositLimitExceeded()
FailedCall
error FailedCall()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
NotEnoughShares
error NotEnoughShares()
NotGov
error NotGov()
NotGuardianOrGov
error NotGuardianOrGov()
NotPendingGov
error NotPendingGov()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
WithdrawFailed
error WithdrawFailed(uint256 expected, uint256 received)
creation bytecode
0x6080604052600160045534801562000015575f80fd5b5060405162001aa938038062001aa9833981016040819052620000389162000188565b5f80546001600160a01b038481166001600160a01b0319928316179092556002805492841692909116919091179055600160035560405163095ea7b360e01b81527327b5739e22ad9033bcbf192059122d163b60349d60048201525f19602482015273fcc5c47be19d06bf83eb04298b026f81069ff65b9063095ea7b3906044015f604051808303815f87803b158015620000d1575f80fd5b505af1158015620000e4573d5f803e3d5ffd5b505060405163095ea7b360e01b81527327b6c301fd441f3345d61b7a4245e1f823c3f9c460048201525f1960248201527327b5739e22ad9033bcbf192059122d163b60349d925063095ea7b391506044015f604051808303815f87803b1580156200014d575f80fd5b505af115801562000160573d5f803e3d5ffd5b505050505050620001be565b80516001600160a01b038116811462000183575f80fd5b919050565b5f80604083850312156200019a575f80fd5b620001a5836200016c565b9150620001b5602084016200016c565b90509250929050565b6118dd80620001cc5f395ff3fe608060405234801561000f575f80fd5b50600436106100fb575f3560e01c806372a4aa4c11610093578063c87ae33411610063578063c87ae33414610249578063efdf0bb01461025c578063f0c9e4651461026f578063fbfa77cf14610277575f80fd5b806372a4aa4c146101f557806380f55605146102085780638a0dac4a14610223578063958bf19c14610236575f80fd5b806333525192116100ce5780633352519214610190578063452a9320146101b15780635783fe39146101d15780636f307dc3146101da575f80fd5b806301681a62146100ff57806312d43a511461011457806324be66281461015d5780632524081014610170575b5f80fd5b61011261010d36600461161c565b610292565b005b5f546101339073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011261016b366004611635565b61039a565b6001546101339073ffffffffffffffffffffffffffffffffffffffff1681565b6101a361019e366004611691565b6103ef565b604051908152602001610154565b6002546101339073ffffffffffffffffffffffffffffffffffffffff1681565b6101a360045481565b61013373fcc5c47be19d06bf83eb04298b026f81069ff65b81565b6101a36102033660046116e7565b61066f565b6101337327b6c301fd441f3345d61b7a4245e1f823c3f9c481565b61011261023136600461161c565b61092f565b6101a361024436600461174e565b6109f9565b6101a3610257366004611691565b610baf565b61011261026a36600461161c565b610e05565b610112610ec8565b6101337327b5739e22ad9033bcbf192059122d163b60349d81565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146102e2576040517fb577c1f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526103979173ffffffffffffffffffffffffffffffffffffffff90811691908416906370a0823190602401602060405180830381865afa158015610355573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103799190611796565b73ffffffffffffffffffffffffffffffffffffffff84169190610f9b565b50565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146103ea576040517fb577c1f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600455565b5f6103f861102d565b7327b5739e22ad9033bcbf192059122d163b60349d73ffffffffffffffffffffffffffffffffffffffff166375de29026040518163ffffffff1660e01b8152600401602060405180830381865afa158015610455573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104799190611796565b8411156104b2576040517ff15ed21400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590527327b5739e22ad9033bcbf192059122d163b60349d906323b872dd906064016020604051808303815f875af1158015610526573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061054a91906117ad565b505f61056a7327b5739e22ad9033bcbf192059122d163b60349d86611070565b600480546040517fe63697c800000000000000000000000000000000000000000000000000000000815291820188905233602483015260448201529091507327b5739e22ad9033bcbf192059122d163b60349d9063e63697c8906064016020604051808303815f875af11580156105e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106079190611796565b91506106146001826117f9565b82101561065c576040517fe50972c500000000000000000000000000000000000000000000000000000000815260048101829052602481018390526044015b60405180910390fd5b506106676001600355565b949350505050565b5f7327b5739e22ad9033bcbf192059122d163b60349d73ffffffffffffffffffffffffffffffffffffffff166375de29026040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f19190611796565b85111561072a576040517ff15ed21400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7327b6c301fd441f3345d61b7a4245e1f823c3f9c4633525f5913387873561075860408a0160208b0161180c565b604080517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff90951660048601526024850193909352604484019190915260ff1660648301528701356084820152606087013560a482015260c4015f604051808303815f87803b1580156107e6575f80fd5b505af11580156107f8573d5f803e3d5ffd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f92507327b5739e22ad9033bcbf192059122d163b60349d91506370a0823190602401602060405180830381865afa158015610864573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108889190611796565b600480546040517fe63697c800000000000000000000000000000000000000000000000000000000815291820183905233602483015260448201529091507327b5739e22ad9033bcbf192059122d163b60349d9063e63697c8906064016020604051808303815f875af1158015610901573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109259190611796565b9695505050505050565b5f5473ffffffffffffffffffffffffffffffffffffffff16331461097f576040517fb577c1f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fb6182387b7ea948602a7e04e662a27ce251dc3dd014eacaed10dce36b41bf1a5906020015b60405180910390a150565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490525f9073fcc5c47be19d06bf83eb04298b026f81069ff65b906323b872dd906064016020604051808303815f875af1158015610a6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9391906117ad565b506040517f6e553f65000000000000000000000000000000000000000000000000000000008152600481018590523060248201527327b5739e22ad9033bcbf192059122d163b60349d90636e553f65906044016020604051808303815f875af1158015610b02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b269190611796565b6040517f47e7ef24000000000000000000000000000000000000000000000000000000008152336004820152602481018290529091507327b6c301fd441f3345d61b7a4245e1f823c3f9c4906347e7ef24906044015f604051808303815f87803b158015610b92575f80fd5b505af1158015610ba4573d5f803e3d5ffd5b505050509392505050565b5f610bb861102d565b7327b5739e22ad9033bcbf192059122d163b60349d73ffffffffffffffffffffffffffffffffffffffff1663153c27c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c399190611796565b841115610c72576040517f6adf7e2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810185905273fcc5c47be19d06bf83eb04298b026f81069ff65b906323b872dd906064016020604051808303815f875af1158015610ce6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0a91906117ad565b505f610d2a7327b5739e22ad9033bcbf192059122d163b60349d86611118565b6040517f6e553f65000000000000000000000000000000000000000000000000000000008152600481018790523360248201529091507327b5739e22ad9033bcbf192059122d163b60349d90636e553f65906044016020604051808303815f875af1158015610d9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dbf9190611796565b91508082101561065c576040517f278c9d400000000000000000000000000000000000000000000000000000000081526004810182905260248101839052604401610653565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610e55576040517fb577c1f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527ff74ae56780e3765c0c0897ef57fb50a10a237584f419631812daf040913e1c9f906020016109ee565b60015473ffffffffffffffffffffffffffffffffffffffff163314610f19576040517f7c04d72b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180545f805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000091821681179092559091169091556040519081527f639717155292ce2c3e699929a8b65d14a637640f75ab5b6d165a4e735d82a4559060200160405180910390a1565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526110289084906111a2565b505050565b600260035403611069576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600355565b5f808373ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110df9190611796565b9050801561110d57806110f185611236565b6110fb908561182c565b6111059190611843565b915050611112565b829150505b92915050565b5f808373ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611163573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111879190611796565b9050801561110d5761119884611236565b6110fb828561182c565b5f6111c373ffffffffffffffffffffffffffffffffffffffff8416836112b7565b905080515f141580156111e75750808060200190518101906111e591906117ad565b155b15611028576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610653565b5f611240826112cb565b8273ffffffffffffffffffffffffffffffffffffffff166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611289573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ad9190611796565b61111291906117f9565b60606112c483835f61146c565b9392505050565b5f808273ffffffffffffffffffffffffffffffffffffffff1663422327166040518163ffffffff1660e01b8152600401602060405180830381865afa158015611316573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133a9190611796565b8373ffffffffffffffffffffffffffffffffffffffff1663c3535b526040518163ffffffff1660e01b8152600401602060405180830381865afa158015611383573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113a79190611796565b6113b190426117f9565b6113bb919061182c565b9050670de0b6b3a7640000811015611464575f8373ffffffffffffffffffffffffffffffffffffffff166344b813966040518163ffffffff1660e01b8152600401602060405180830381865afa158015611417573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061143b9190611796565b9050670de0b6b3a7640000611450828461182c565b61145a9190611843565b61066790826117f9565b505f92915050565b6060814710156114b1576040517fcf47918100000000000000000000000000000000000000000000000000000000815247600482015260248101839052604401610653565b5f808573ffffffffffffffffffffffffffffffffffffffff1684866040516114d9919061187b565b5f6040518083038185875af1925050503d805f8114611513576040519150601f19603f3d011682016040523d82523d5f602084013e611518565b606091505b509150915061092586838360608261153857611533826115b2565b6112c4565b815115801561155c575073ffffffffffffffffffffffffffffffffffffffff84163b155b156115ab576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610653565b50806112c4565b8051156115c25780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114611617575f80fd5b919050565b5f6020828403121561162c575f80fd5b6112c4826115f4565b5f60208284031215611645575f80fd5b5035919050565b5f8083601f84011261165c575f80fd5b50813567ffffffffffffffff811115611673575f80fd5b60208301915083602082850101111561168a575f80fd5b9250929050565b5f805f80606085870312156116a4575f80fd5b6116ad856115f4565b935060208501359250604085013567ffffffffffffffff8111156116cf575f80fd5b6116db8782880161164c565b95989497509550505050565b5f805f8084860360c08112156116fb575f80fd5b8535945060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561172e575f80fd5b5060208501925060a085013567ffffffffffffffff8111156116cf575f80fd5b5f805f60408486031215611760575f80fd5b83359250602084013567ffffffffffffffff81111561177d575f80fd5b6117898682870161164c565b9497909650939450505050565b5f602082840312156117a6575f80fd5b5051919050565b5f602082840312156117bd575f80fd5b815180151581146112c4575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115611112576111126117cc565b5f6020828403121561181c575f80fd5b813560ff811681146112c4575f80fd5b8082028115828204841417611112576111126117cc565b5f82611876577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f82515f5b8181101561189a5760208186018101518583015201611880565b505f92019182525091905056fea2646970667358221220f143ca12acb874b668b82241b67da95afce32497a5e4a8ab61b61b3399e5479664736f6c63430008140033000000000000000000000000926df14a23be491164dcf93f4c468a50ef659d5b000000000000000000000000e3ed95e130ad9e15643f5a5f232a3dae980784cd