0 txs
47 calls
constructor
constructor(address _gov, address _guardian, address _dola, address _sDola)
functions
DOLA
viewfunction DOLA() view returns (address)
gov
viewfunction gov() view returns (address)
guardian
viewfunction guardian() view returns (address)
markets
viewfunction markets(address) view returns (address pool, uint128 sDolaIndex, uint128 length, address vault)
pendingGov
viewfunction pendingGov() view returns (address)
sDOLA
viewfunction sDOLA() view returns (address)
claimPendingGov
nonpayablefunction claimPendingGov()
convertFromCollateral
nonpayablefunction convertFromCollateral(address, uint256 amount, bytes data) returns (uint256 dolaAmount)
convertFromCollateral
nonpayablefunction convertFromCollateral(uint256 amount, address recipient, bytes data) returns (uint256 dolaAmount)
convertToCollateral
nonpayablefunction convertToCollateral(address, uint256 amount, bytes data) returns (uint256 collateralAmount)
convertToCollateral
nonpayablefunction convertToCollateral(uint256 amount, address recipient, bytes data) returns (uint256 collateralAmount)
convertToCollateralAndDeposit
nonpayablefunction convertToCollateralAndDeposit(uint256 assets, address recipient, bytes data) returns (uint256)
removeMarket
nonpayablefunction removeMarket(address market)
setGuardian
nonpayablefunction setGuardian(address _guardian)
setMarket
nonpayablefunction setMarket(address marketAddress, address poolAddress, uint128 sDolaIndex, uint128 length, address vaultAddress)
setPendingGov
nonpayablefunction setPendingGov(address _pendingGov)
sweep
nonpayablefunction sweep(address token)
withdrawAndConvertFromCollateral
nonpayablefunction withdrawAndConvertFromCollateral(uint256 amount, address recipient, tuple permit, bytes data) returns (uint256 dolaAmount)
events
MarketRemoved
event MarketRemoved(address indexed market)
MarketSet
event MarketSet(address indexed market, uint128 sDolaIndex, address indexed pool, address indexed yearnVault)
NewGov
event NewGov(address gov)
NewGuardian
event NewGuardian(address guardian)
NewPendingGov
event NewPendingGov(address pendingGov)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
FailedCall
error FailedCall()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
InsufficientLP
error InsufficientLP()
InsufficientShares
error InsufficientShares()
MarketNotSet
error MarketNotSet(address market)
NotGov
error NotGov()
NotGuardianOrGov
error NotGuardianOrGov()
NotPendingGov
error NotPendingGov()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60c060405234801562000010575f80fd5b5060405162001e8c38038062001e8c83398101604081905262000033916200008d565b5f80546001600160a01b03199081166001600160a01b0396871617909155600280549091169385169390931790925582166080521660a052620000e7565b80516001600160a01b038116811462000088575f80fd5b919050565b5f805f8060808587031215620000a1575f80fd5b620000ac8562000071565b9350620000bc6020860162000071565b9250620000cc6040860162000071565b9150620000dc6060860162000071565b905092959194509250565b60805160a051611d59620001335f395f81816101e9015281816111f7015281816112c8015281816113aa01526116e101525f81816103070152818161119f01526112260152611d595ff3fe608060405234801561000f575f80fd5b506004361061012f575f3560e01c8063476ff538116100ad57806392c592d01161007d578063db91323611610063578063db9132361461033c578063efdf0bb01461034f578063f0c9e46514610362575f80fd5b806392c592d014610302578063c87ae33414610329575f80fd5b8063476ff5381461021e57806351f13c7f146102315780638a0dac4a146102445780638e8f294b14610257575f80fd5b806333525192116101025780633f387a92116100e85780633f387a92146101d15780633f6ac540146101e4578063452a93201461020b575f80fd5b806333525192146101ab5780633585e70f146101be575f80fd5b806301681a621461013357806312d43a5114610148578063252408101461017757806328261c0e1461018a575b5f80fd5b6101466101413660046119a9565b61036a565b005b5f5461015a906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b60015461015a906001600160a01b031681565b61019d610198366004611a09565b61044b565b60405190815260200161016e565b61019d6101b9366004611a61565b6105e3565b6101466101cc366004611ac5565b6105f9565b61019d6101df366004611a09565b610739565b61015a7f000000000000000000000000000000000000000000000000000000000000000081565b60025461015a906001600160a01b031681565b61019d61022c366004611b2e565b6109f1565b61019d61023f366004611a09565b610c82565b6101466102523660046119a9565b610dc2565b6102bb6102653660046119a9565b60036020525f90815260409020805460018201546002909201546001600160a01b03918216926fffffffffffffffffffffffffffffffff8082169370010000000000000000000000000000000090920416911684565b60405161016e94939291906001600160a01b0394851681526fffffffffffffffffffffffffffffffff93841660208201529190921660408201529116606082015260800190565b61015a7f000000000000000000000000000000000000000000000000000000000000000081565b61019d610337366004611a61565b610e72565b61014661034a3660046119a9565b610e7f565b61014661035d3660046119a9565b610f56565b610146610fff565b5f546001600160a01b031633146103ad576040517fb577c1f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152610448916001600160a01b0390811691908416906370a0823190602401602060405180830381865afa158015610413573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104379190611bc3565b6001600160a01b03841691906110b8565b50565b5f808061045a84860186611bda565b9150915061046782611131565b6001600160a01b038083165f908152600360205260409020600201541680156105c9575f610497848a8530611191565b6001600160a01b038581165f90815260036020526040908190205490517f095ea7b3000000000000000000000000000000000000000000000000000000008152858316600482015260248101849052929350169063095ea7b3906044016020604051808303815f875af1158015610510573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105349190611c04565b506040517f6e553f65000000000000000000000000000000000000000000000000000000008152600481018290526001600160a01b038981166024830152831690636e553f65906044016020604051808303815f875af115801561059a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105be9190611bc3565b9450505050506105db565b6105d58389848a611191565b93505050505b949350505050565b5f6105f084338585610c82565b95945050505050565b5f546001600160a01b0316331461063c576040517fb577c1f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182526001600160a01b038681168083526fffffffffffffffffffffffffffffffff8781166020808601828152898416878901908152898716606089018181528f89165f818152600387528c90209a518b54908b167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216178c5594519351881670010000000000000000000000000000000002939097169290921760018a0155905160029098018054989097169790911696909617909455945194855292939092917f57fbc79da3742e8259f8c34c2ed0447c05a5fe4e7b1657d29b74128d03badbe4910160405180910390a45050505050565b5f8061074783850185611bda565b50905061075381611131565b5f6107608730878761044b565b6001600160a01b038084165f9081526003602052604081206002015492935091169080821561081257506040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015282906001600160a01b038216906370a0823190602401602060405180830381865afa1580156107e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080b9190611bc3565b91506108a9565b506001600160a01b038481165f90815260036020526040908190205490517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291169081906370a0823190602401602060405180830381865afa158015610882573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a69190611bc3565b91505b818411156108e3576040517f3999656700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0386811660048301526024820184905282169063095ea7b3906044016020604051808303815f875af1158015610948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096c9190611c04565b506040517f47e7ef240000000000000000000000000000000000000000000000000000000081526001600160a01b038a81166004830152602482018490528616906347e7ef24906044015f604051808303815f87803b1580156109cd575f80fd5b505af11580156109df573d5f803e3d5ffd5b50939c9b505050505050505050505050565b5f8080610a0084860186611bda565b91509150610a0d82611131565b6001600160a01b038216633525f591338a8935610a3060408c0160208d01611c23565b604080517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526001600160a01b0390951660048601526024850193909352604484019190915260ff1660648301528901356084820152606089013560a482015260c4015f604051808303815f87803b158015610ab1575f80fd5b505af1158015610ac3573d5f803e3d5ffd5b5050506001600160a01b038084165f90815260036020526040902080546002909101549082169250168015610b7f576040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018b90526001600160a01b03821690632e1a7d4d906024016020604051808303815f875af1158015610b4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b739190611bc3565b9950610b7f818a611560565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201528a906001600160a01b038416906370a0823190602401602060405180830381865afa158015610bdc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c009190611bc3565b1015610c38576040517f955a8bf500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384165f90815260036020526040902060010154610c749083908c906fffffffffffffffffffffffffffffffff16868d6115fd565b9a9950505050505050505050565b5f8080610c9184860186611bda565b91509150610c9e82611131565b6001600160a01b038083165f908152600360205260408120805460028201546001909201549084169391909116916fffffffffffffffffffffffffffffffff909116908215610d8e57610cfc6001600160a01b03841633308e611758565b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018c90526001600160a01b03841690632e1a7d4d906024016020604051808303815f875af1158015610d59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7d9190611bc3565b9050610d89838b611560565b610da6565b610da36001600160a01b03851633308e611758565b50895b610db3848284888e6115fd565b9b9a5050505050505050505050565b5f546001600160a01b03163314610e05576040517fb577c1f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527fb6182387b7ea948602a7e04e662a27ce251dc3dd014eacaed10dce36b41bf1a5906020015b60405180910390a150565b5f6105f08433858561044b565b6002546001600160a01b03163314801590610ea457505f546001600160a01b03163314155b15610edb576040517fe6000c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381165f8181526003602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201849055600290910180549091169055517f59d7b1e52008dc342c9421dadfc773114b914a65682a4e4b53cf60a970df0d779190a250565b5f546001600160a01b03163314610f99576040517fb577c1f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527ff74ae56780e3765c0c0897ef57fb50a10a237584f419631812daf040913e1c9f90602001610e67565b6001546001600160a01b03163314611043576040517f7c04d72b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180545f80546001600160a01b0383167fffffffffffffffffffffffff000000000000000000000000000000000000000091821681179092559091169091556040519081527f639717155292ce2c3e699929a8b65d14a637640f75ab5b6d165a4e735d82a4559060200160405180910390a1565b6040516001600160a01b0383811660248301526044820183905261112c91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611797565b505050565b6001600160a01b038181165f9081526003602052604090205416610448576040517f31589d090000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024015b60405180910390fd5b5f6111c76001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333087611758565b6040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af115801561126c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112909190611c04565b506040517f6e553f65000000000000000000000000000000000000000000000000000000008152600481018590523060248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af1158015611316573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133a9190611bc3565b6001600160a01b038781165f90815260036020526040908190206001810154905491517f095ea7b300000000000000000000000000000000000000000000000000000000815291831660048301819052602483018590529394506fffffffffffffffffffffffffffffffff1692917f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af11580156113f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114149190611c04565b506001600160a01b0388165f9081526003602052604081206001015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1667ffffffffffffffff81111561146e5761146e611c43565b604051908082528060200260200182016040528015611497578160200160208202803683370190505b5090508381846fffffffffffffffffffffffffffffffff16815181106114bf576114bf611c70565b60209081029190910101526040517fa7256d090000000000000000000000000000000000000000000000000000000081526001600160a01b0383169063a7256d09906115139084908b908b90600401611c9d565b6020604051808303815f875af115801561152f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115539190611bc3565b9998505050505050505050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa1580156115bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115e19190611bc3565b9050801561112c5761112c6001600160a01b03841683836110b8565b6040517f081579a500000000000000000000000000000000000000000000000000000000815260048101859052600f84900b6024820152604481018390523060648201525f9081906001600160a01b0388169063081579a5906084016020604051808303815f875af1158015611675573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116999190611bc3565b6040517fba087652000000000000000000000000000000000000000000000000000000008152600481018290526001600160a01b0385811660248301523060448301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063ba087652906064016020604051808303815f875af1158015611729573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061174d9190611bc3565b979650505050505050565b6040516001600160a01b0384811660248301528381166044830152606482018390526117919186918216906323b872dd906084016110e5565b50505050565b5f6117ab6001600160a01b03841683611811565b905080515f141580156117cf5750808060200190518101906117cd9190611c04565b155b1561112c576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401611188565b606061181e83835f611825565b9392505050565b60608147101561186a576040517fcf47918100000000000000000000000000000000000000000000000000000000815247600482015260248101839052604401611188565b5f80856001600160a01b031684866040516118859190611cf7565b5f6040518083038185875af1925050503d805f81146118bf576040519150601f19603f3d011682016040523d82523d5f602084013e6118c4565b606091505b50915091506118d48683836118de565b9695505050505050565b6060826118f3576118ee82611953565b61181e565b815115801561190a57506001600160a01b0384163b155b1561194c576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401611188565b508061181e565b8051156119635780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610448575f80fd5b5f602082840312156119b9575f80fd5b813561181e81611995565b5f8083601f8401126119d4575f80fd5b50813567ffffffffffffffff8111156119eb575f80fd5b602083019150836020828501011115611a02575f80fd5b9250929050565b5f805f8060608587031215611a1c575f80fd5b843593506020850135611a2e81611995565b9250604085013567ffffffffffffffff811115611a49575f80fd5b611a55878288016119c4565b95989497509550505050565b5f805f8060608587031215611a74575f80fd5b8435611a7f81611995565b935060208501359250604085013567ffffffffffffffff811115611a49575f80fd5b80356fffffffffffffffffffffffffffffffff81168114611ac0575f80fd5b919050565b5f805f805f60a08688031215611ad9575f80fd5b8535611ae481611995565b94506020860135611af481611995565b9350611b0260408701611aa1565b9250611b1060608701611aa1565b91506080860135611b2081611995565b809150509295509295909350565b5f805f805f85870360e0811215611b43575f80fd5b863595506020870135611b5581611995565b945060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215611b86575f80fd5b5060408601925060c086013567ffffffffffffffff811115611ba6575f80fd5b611bb2888289016119c4565b969995985093965092949392505050565b5f60208284031215611bd3575f80fd5b5051919050565b5f8060408385031215611beb575f80fd5b8235611bf681611995565b946020939093013593505050565b5f60208284031215611c14575f80fd5b8151801515811461181e575f80fd5b5f60208284031215611c33575f80fd5b813560ff8116811461181e575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b606080825284519082018190525f906020906080840190828801845b82811015611cd557815184529284019290840190600101611cb9565b50505090830194909452506001600160a01b0391909116604090910152919050565b5f82515f5b81811015611d165760208186018101518583015201611cfc565b505f92019182525091905056fea26469706673582212208c1e78789d07542e3bc01191699541d9bbf60db710f8db019e75a1f0e728ff5664736f6c63430008140033000000000000000000000000926df14a23be491164dcf93f4c468a50ef659d5b000000000000000000000000e3ed95e130ad9e15643f5a5f232a3dae980784cd000000000000000000000000865377367054516e17014ccded1e7d814edc9ce4000000000000000000000000b45ad160634c528cc3d2926d9807104fa3157305