0 txs
1 call
constructor
constructor(address _mint_contract, address _staking_vault, address _deusd, address[] _assets, address _admin, address _operator, address _sdai, address _daiUsdc, address _usdcDeusd)
functions
DAI_USDC
viewfunction DAI_USDC() view returns (address)
DEUSD_TOKEN
viewfunction DEUSD_TOKEN() view returns (address)
mintContract
viewfunction mintContract() view returns (address)
operator
viewfunction operator() view returns (address)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
renounceOwnership
viewfunction renounceOwnership() view
SDAI
viewfunction SDAI() view returns (address)
STAKING_VAULT
viewfunction STAKING_VAULT() view returns (address)
USDC_DEUSD
viewfunction USDC_DEUSD() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
approveToMintContract
nonpayablefunction approveToMintContract(address[] _assets)
rescueTokens
nonpayablefunction rescueTokens(address _token, address _to, uint256 _amount)
revokeApprovals
nonpayablefunction revokeApprovals(address[] _assets, address _target)
setMintingContract
nonpayablefunction setMintingContract(address _newMintingContract)
setOperator
nonpayablefunction setOperator(address _newOperator)
swapAndTransferInRewards
nonpayablefunction swapAndTransferInRewards(uint256 _daiAmount)
transferInRewards
nonpayablefunction transferInRewards(uint256 _rewardsAmount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
MintingContractUpdated
event MintingContractUpdated(address indexed newMintingContract, address indexed previousMintingContract)
OperatorUpdated
event OperatorUpdated(address indexed newOperator, address indexed previousOperator)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
TokensRescued
event TokensRescued(address indexed token, address indexed to, uint256 amount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
CantRenounceOwnership
error CantRenounceOwnership()
FailedInnerCall
error FailedInnerCall()
InsufficientFunds
error InsufficientFunds()
InvalidAddressCurrentMintContract
error InvalidAddressCurrentMintContract()
InvalidAmount
error InvalidAmount()
InvalidZeroAddress
error InvalidZeroAddress()
NoAssetsProvided
error NoAssetsProvided()
OnlyOperator
error OnlyOperator()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
TransferFailed
error TransferFailed()
creation bytecode
0x610120604052348015610010575f80fd5b50604051611ea6380380611ea683398101604081905261002f916108b3565b846001600160a01b03811661005e57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610067816102d5565b5060016002556001600160a01b0389166100945760405163f6b2911f60e01b815260040160405180910390fd5b6001600160a01b0388166100bb5760405163f6b2911f60e01b815260040160405180910390fd5b6001600160a01b0387166100e25760405163f6b2911f60e01b815260040160405180910390fd5b85515f03610103576040516337791ce560e21b815260040160405180910390fd5b6001600160a01b03841661012a5760405163f6b2911f60e01b815260040160405180910390fd5b6001600160a01b0383166101515760405163f6b2911f60e01b815260040160405180910390fd5b6001600160a01b0382166101785760405163f6b2911f60e01b815260040160405180910390fd5b6001600160a01b03811661019f5760405163f6b2911f60e01b815260040160405180910390fd5b6001600160a01b0388811660805287811660a05283811660c05282811660e05281811661010052600380546001600160a01b031916918b169190911790556101e6846102f1565b6101ef86610410565b60805160a05161020c916001600160a01b03909116905f19610477565b60e05160405163c661065760e01b81525f600482015261028e91905f19906001600160a01b0383169063c6610657906024015b602060405180830381865afa15801561025a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027e9190610a02565b6001600160a01b03169190610477565b6101005160405163c661065760e01b8152600160048201526102c791905f19906001600160a01b0383169063c66106579060240161023f565b505050505050505050610ab2565b600180546001600160a01b03191690556102ee81610504565b50565b6102f9610553565b60035460048054604051632072490b60e11b81526001600160a01b0391821692810192909252909116906340e49216906024015f604051808303815f87803b158015610343575f80fd5b505af1158015610355573d5f803e3d5ffd5b5050600354604051635386361360e01b81526001600160a01b0385811660048301529091169250635386361391506024015f604051808303815f87803b15801561039d575f80fd5b505af11580156103af573d5f803e3d5ffd5b50506004546040516001600160a01b03918216935090841691507ffbe5b6cbafb274f445d7fed869dc77a838d8243a22c460de156560e8857cad03905f90a3600480546001600160a01b0319166001600160a01b0392909216919091179055565b610418610553565b5f5b815181101561047357600354825161046b916001600160a01b0316905f199085908590811061044b5761044b610a1d565b60200260200101516001600160a01b031661047760201b9092919060201c565b60010161041a565b5050565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa1580156104c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104e89190610a31565b90506104fe84846104f98585610a48565b610581565b50505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f546001600160a01b0316331461057f5760405163118cdaa760e01b8152336004820152602401610055565b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526105d9908590839061063f16565b6104fe57604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526106359186916106e216565b6104fe84826106e2565b5f805f846001600160a01b03168460405161065a9190610a67565b5f604051808303815f865af19150503d805f8114610693576040519150601f19603f3d011682016040523d82523d5f602084013e610698565b606091505b50915091508180156106c25750805115806106c25750808060200190518101906106c29190610a93565b80156106d757505f856001600160a01b03163b115b925050505b92915050565b5f6106f66001600160a01b03841683610748565b905080515f1415801561071a5750808060200190518101906107189190610a93565b155b1561074357604051635274afe760e01b81526001600160a01b0384166004820152602401610055565b505050565b606061075583835f61075c565b9392505050565b6060814710156107815760405163cd78605960e01b8152306004820152602401610055565b5f80856001600160a01b0316848660405161079c9190610a67565b5f6040518083038185875af1925050503d805f81146107d6576040519150601f19603f3d011682016040523d82523d5f602084013e6107db565b606091505b5090925090506107ec8683836107f6565b9695505050505050565b60608261080b5761080682610852565b610755565b815115801561082257506001600160a01b0384163b155b1561084b57604051639996b31560e01b81526001600160a01b0385166004820152602401610055565b5080610755565b8051156108625780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b03811681146102ee575f80fd5b634e487b7160e01b5f52604160045260245ffd5b80516108ae8161087b565b919050565b5f805f805f805f805f6101208a8c0312156108cc575f80fd5b89516108d78161087b565b60208b01519099506108e88161087b565b60408b01519098506108f98161087b565b60608b01519097506001600160401b0380821115610915575f80fd5b818c0191508c601f830112610928575f80fd5b81518181111561093a5761093a61088f565b8060051b604051601f19603f8301168101818110858211171561095f5761095f61088f565b6040529182526020808301935084820101918f83111561097d575f80fd5b6020850194505b828510156109a657610995856108a3565b845260209485019490930192610984565b809a5050505050506109ba60808b016108a3565b94506109c860a08b016108a3565b93506109d660c08b016108a3565b92506109e460e08b016108a3565b91506109f36101008b016108a3565b90509295985092959850929598565b5f60208284031215610a12575f80fd5b81516107558161087b565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610a41575f80fd5b5051919050565b808201808211156106dc57634e487b7160e01b5f52601160045260245ffd5b5f82515f5b81811015610a865760208186018101518583015201610a6c565b505f920191825250919050565b5f60208284031215610aa3575f80fd5b81518015158114610755575f80fd5b60805160a05160c05160e0516101005161138d610b195f395f8181610125015261048401525f818161023801526103bb01525f8181610201015261033d01525f81816101d2015261087801525f818161016801528181610557015261091e015261138d5ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c80638da5cb5b116100a9578063cea9d26f1161006e578063cea9d26f14610293578063d0b6b6db146102a6578063d3bdc285146102b9578063e30c3978146102cc578063f2fde38b146102dd575f80fd5b80638da5cb5b14610223578063b2731cb914610233578063b3ab15fb1461025a578063c56e13751461026d578063c80ef11014610280575f80fd5b80636250e33c116100ef5780636250e33c146101b2578063715018a6146101c557806378072019146101cd57806379ba5097146101f45780638100913f146101fc575f80fd5b806314c9240514610120578063398387c11461016357806350bda1d41461018a578063570ca7351461019f575b5f80fd5b6101477f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6101477f000000000000000000000000000000000000000000000000000000000000000081565b61019d6101983660046110b1565b6102f0565b005b600454610147906001600160a01b031681565b61019d6101c03660046111a2565b6105bb565b61019d610622565b6101477f000000000000000000000000000000000000000000000000000000000000000081565b61019d610643565b6101477f000000000000000000000000000000000000000000000000000000000000000081565b5f546001600160a01b0316610147565b6101477f000000000000000000000000000000000000000000000000000000000000000081565b61019d6102683660046111dc565b61068c565b61019d61027b3660046111dc565b6107ab565b61019d61028e3660046110b1565b610836565b61019d6102a13660046111f7565b610980565b600354610147906001600160a01b031681565b61019d6102c7366004611235565b610b09565b6001546001600160a01b0316610147565b61019d6102eb3660046111dc565b610bd2565b6004546001600160a01b0316331461031b576040516327e1f1e560e01b815260040160405180910390fd5b604051632d182be560e21b8152600481018290523060248201523360448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b460af94906064016020604051808303815f875af115801561038b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103af9190611284565b505f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016633df0212482600185655af3107a40006103f68260636112af565b61040091906112c6565b6040516001600160e01b031960e087901b168152600f94850b60048201529290930b6024830152604482015260648101919091526084016020604051808303815f875af1158015610453573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104779190611284565b90505f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016633df02124826001856104b88160636112af565b6104c7906402540be4006112af565b6040516001600160e01b031960e087901b168152600f94850b60048201529290930b6024830152604482015260648101919091526084016020604051808303815f875af115801561051a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053e9190611284565b604051630c80ef1160e41b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c80ef110906024015f604051808303815f87803b1580156105a0575f80fd5b505af11580156105b2573d5f803e3d5ffd5b50505050505050565b6105c3610c42565b5f5b815181101561061e576003548251610616916001600160a01b0316905f19908590859081106105f6576105f66112e5565b60200260200101516001600160a01b0316610c709092919063ffffffff16565b6001016105c5565b5050565b61062a610c42565b60405163185b73b160e01b815260040160405180910390fd5b60015433906001600160a01b031681146106805760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b61068981610cfd565b50565b610694610c42565b60035460048054604051632072490b60e11b81526001600160a01b0391821692810192909252909116906340e49216906024015f604051808303815f87803b1580156106de575f80fd5b505af11580156106f0573d5f803e3d5ffd5b5050600354604051635386361360e01b81526001600160a01b0385811660048301529091169250635386361391506024015f604051808303815f87803b158015610738575f80fd5b505af115801561074a573d5f803e3d5ffd5b50506004546040516001600160a01b03918216935090841691507ffbe5b6cbafb274f445d7fed869dc77a838d8243a22c460de156560e8857cad03905f90a3600480546001600160a01b0319166001600160a01b0392909216919091179055565b6107b3610c42565b6001600160a01b0381166107da5760405163f6b2911f60e01b815260040160405180910390fd5b6003546040516001600160a01b03918216918316907f125ff1248e44c8fcb7ecacec5cbe30f1a41a8b86ed5844a881d0d111de565d5e905f90a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b03163314610861576040516327e1f1e560e01b815260040160405180910390fd5b6040516370a0823160e01b815230600482015281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156108c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e99190611284565b10156109085760405163356680b760e01b815260040160405180910390fd5b604051630c80ef1160e41b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c80ef110906024015f604051808303815f87803b158015610967575f80fd5b505af1158015610979573d5f803e3d5ffd5b5050505050565b610988610d16565b610990610c42565b6001600160a01b0383166109b75760405163f6b2911f60e01b815260040160405180910390fd5b6001600160a01b0382166109de5760405163f6b2911f60e01b815260040160405180910390fd5b805f036109fe5760405163162908e360e11b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601610a99575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610a6c576040519150601f19603f3d011682016040523d82523d5f602084013e610a71565b606091505b5050905080610a93576040516312171d8360e31b815260040160405180910390fd5b50610aad565b610aad6001600160a01b0384168383610d3e565b816001600160a01b0316836001600160a01b03167f77023e19c7343ad491fd706c36335ca0e738340a91f29b1fd81e2673d44896c483604051610af291815260200190565b60405180910390a3610b046001600255565b505050565b610b11610c42565b81515f03610b32576040516337791ce560e21b815260040160405180910390fd5b6001600160a01b038116610b595760405163f6b2911f60e01b815260040160405180910390fd5b6003546001600160a01b0390811690821603610b885760405163318346df60e01b815260040160405180910390fd5b5f5b8251811015610b0457610bca825f858481518110610baa57610baa6112e5565b60200260200101516001600160a01b0316610d9d9092919063ffffffff16565b600101610b8a565b610bda610c42565b600180546001600160a01b0383166001600160a01b03199091168117909155610c0a5f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f546001600160a01b03163314610c6e5760405163118cdaa760e01b8152336004820152602401610677565b565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa158015610cbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce19190611284565b9050610cf78484610cf285856112f9565b610d9d565b50505050565b600180546001600160a01b031916905561068981610e2c565b6002805403610d3857604051633ee5aeb560e01b815260040160405180910390fd5b60028055565b6040516001600160a01b03838116602483015260448201839052610b0491859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610e7b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610dee8482610edc565b610cf7576040516001600160a01b0384811660248301525f6044830152610e2291869182169063095ea7b390606401610d6b565b610cf78482610e7b565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610e8f6001600160a01b03841683610f7f565b905080515f14158015610eb3575080806020019051810190610eb1919061130c565b155b15610b0457604051635274afe760e01b81526001600160a01b0384166004820152602401610677565b5f805f846001600160a01b031684604051610ef7919061132b565b5f604051808303815f865af19150503d805f8114610f30576040519150601f19603f3d011682016040523d82523d5f602084013e610f35565b606091505b5091509150818015610f5f575080511580610f5f575080806020019051810190610f5f919061130c565b8015610f7457505f856001600160a01b03163b115b925050505b92915050565b6060610f8c83835f610f93565b9392505050565b606081471015610fb85760405163cd78605960e01b8152306004820152602401610677565b5f80856001600160a01b03168486604051610fd3919061132b565b5f6040518083038185875af1925050503d805f811461100d576040519150601f19603f3d011682016040523d82523d5f602084013e611012565b606091505b509150915061102286838361102c565b9695505050505050565b6060826110415761103c82611088565b610f8c565b815115801561105857506001600160a01b0384163b155b1561108157604051639996b31560e01b81526001600160a01b0385166004820152602401610677565b5080610f8c565b8051156110985780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f602082840312156110c1575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381168114610689575f80fd5b80356110fb816110dc565b919050565b5f82601f83011261110f575f80fd5b8135602067ffffffffffffffff8083111561112c5761112c6110c8565b8260051b604051601f19603f83011681018181108482111715611151576111516110c8565b6040529384526020818701810194908101925087851115611170575f80fd5b6020870191505b8482101561119757611188826110f0565b83529183019190830190611177565b979650505050505050565b5f602082840312156111b2575f80fd5b813567ffffffffffffffff8111156111c8575f80fd5b6111d484828501611100565b949350505050565b5f602082840312156111ec575f80fd5b8135610f8c816110dc565b5f805f60608486031215611209575f80fd5b8335611214816110dc565b92506020840135611224816110dc565b929592945050506040919091013590565b5f8060408385031215611246575f80fd5b823567ffffffffffffffff81111561125c575f80fd5b61126885828601611100565b9250506020830135611279816110dc565b809150509250929050565b5f60208284031215611294575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610f7957610f7961129b565b5f826112e057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b80820180821115610f7957610f7961129b565b5f6020828403121561131c575f80fd5b81518015158114610f8c575f80fd5b5f82515f5b8181101561134a5760208186018101518583015201611330565b505f92019182525091905056fea2646970667358221220530d3d8881875f2501b87189b77b48270ccff90c8e70d8a4cdff77b15960033064736f6c6343000819003300000000000000000000000069088d25a635d22dcbe7c4a5c7707b9cc64bd1140000000000000000000000005c5b196abe0d54485975d1ec29617d42d919832600000000000000000000000015700b564ca08d9439c58ca5053166e8317aa138000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000f51340906f767c6999fe512b1275955c000000000000000000000000738744237b7fd97af670d9ddf54390c24263cea800000000000000000000000083f20f44975d03b1b09e64809b757c47f942beea000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c70000000000000000000000005f6c431ac417f0f430b84a666a563fabe681da940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7