4 txs
48 calls
constructor
constructor(address _vault, address _usdg, address _mlp, uint256 _cooldownDuration)
functions
aumAddition
viewfunction aumAddition() view returns (uint256)
aumDeduction
viewfunction aumDeduction() view returns (uint256)
cooldownDuration
viewfunction cooldownDuration() view returns (uint256)
getAum
viewfunction getAum(bool maximise) view returns (uint256)
getAumInUsdg
viewfunction getAumInUsdg(bool maximise) view returns (uint256)
getAums
viewfunction getAums() view returns (uint256[])
gov
viewfunction gov() view returns (address)
inPrivateMode
viewfunction inPrivateMode() view returns (bool)
isHandler
viewfunction isHandler(address) view returns (bool)
lastAddedAt
viewfunction lastAddedAt(address) view returns (uint256)
MAX_COOLDOWN_DURATION
viewfunction MAX_COOLDOWN_DURATION() view returns (uint256)
mlp
viewfunction mlp() view returns (address)
PRICE_PRECISION
viewfunction PRICE_PRECISION() view returns (uint256)
USDG_DECIMALS
viewfunction USDG_DECIMALS() view returns (uint256)
usdg
viewfunction usdg() view returns (address)
vault
viewfunction vault() view returns (address)
addLiquidity
nonpayablefunction addLiquidity(address _token, uint256 _amount, uint256 _minUsdg, uint256 _minMlp) returns (uint256)
addLiquidityForAccount
nonpayablefunction addLiquidityForAccount(address _fundingAccount, address _account, address _token, uint256 _amount, uint256 _minUsdg, uint256 _minMlp) returns (uint256)
removeLiquidity
nonpayablefunction removeLiquidity(address _tokenOut, uint256 _mlpAmount, uint256 _minOut, address _receiver) returns (uint256)
removeLiquidityForAccount
nonpayablefunction removeLiquidityForAccount(address _account, address _tokenOut, uint256 _mlpAmount, uint256 _minOut, address _receiver) returns (uint256)
setAumAdjustment
nonpayablefunction setAumAdjustment(uint256 _aumAddition, uint256 _aumDeduction)
setCooldownDuration
nonpayablefunction setCooldownDuration(uint256 _cooldownDuration)
setGov
nonpayablefunction setGov(address _gov)
setHandler
nonpayablefunction setHandler(address _handler, bool _isActive)
setInPrivateMode
nonpayablefunction setInPrivateMode(bool _inPrivateMode)
events
AddLiquidity
event AddLiquidity(address account, address token, uint256 amount, uint256 aumInUsdg, uint256 mlpSupply, uint256 usdgAmount, uint256 mintAmount)
RemoveLiquidity
event RemoveLiquidity(address account, address token, uint256 mlpAmount, uint256 aumInUsdg, uint256 mlpSupply, uint256 usdgAmount, uint256 amountOut)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162001f1138038062001f118339810160408190526200003491620000ad565b6001600081905580546001600160a01b03199081163380831691909117179091556002805482166001600160a01b03968716179055600380548216948616949094179093556004805490931691909316179055600555620000ff565b80516001600160a01b0381168114620000a857600080fd5b919050565b60008060008060808587031215620000c457600080fd5b620000cf8562000090565b9350620000df6020860162000090565b9250620000ef6040860162000090565b6060959095015193969295505050565b611e02806200010f6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806371d597ad116100de578063966be07511610097578063cfad57a211610071578063cfad57a21461032a578063ed0d1c041461033d578063f5b91b7b14610352578063fbfa77cf1461036557600080fd5b8063966be075146102fb5780639cb7de4b1461030e578063b172bb0c1461032157600080fd5b806371d597ad14610286578063870d917c146102995780638b770e11146102a15780638fed0b2c146102c15780639116c4ae146102d457806395082d25146102e757600080fd5b80631ece366a116101305780631ece366a1461020c578063352693151461021f5780633e49e2131461022857806346ea87af1461023b57806368a0a3e01461025e5780636a86da191461027157600080fd5b80630339147614610178578063070eacee1461019e57806312d43a51146101bb57806317eb2a15146101e6578063196b68cb146101f95780631e9049cf14610202575b600080fd5b61018b61018636600461189a565b610378565b6040519081526020015b60405180910390f35b6009546101ab9060ff1681565b6040519015158152602001610195565b6001546101ce906001600160a01b031681565b6040516001600160a01b039091168152602001610195565b61018b6101f43660046118cc565b610a2a565b61018b60075481565b61018b6202a30081565b61018b61021a366004611931565b610a60565b61018b60055481565b6004546101ce906001600160a01b031681565b6101ab61024936600461196c565b600a6020526000908152604090205460ff1681565b61018b61026c36600461189a565b610ae4565b61028461027f36600461189a565b610b20565b005b61018b610294366004611989565b610b5d565b61018b601281565b61018b6102af36600461196c565b60066020526000908152604090205481565b61018b6102cf3660046119e8565b610b88565b6102846102e2366004611a32565b610bf2565b61018b6c0c9f2c9cd04674edea4000000081565b610284610309366004611a54565b610c27565b61028461031c366004611a6d565b610cb7565b61018b60085481565b61028461033836600461196c565b610d0c565b610345610d58565b6040516101959190611aa6565b6003546101ce906001600160a01b031681565b6002546101ce906001600160a01b031681565b600080600260009054906101000a90046001600160a01b03166001600160a01b0316630842b0766040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f29190611aea565b6007549091506000805b838110156109e657600254604051630e468baf60e41b8152600481018390526000916001600160a01b03169063e468baf090602401602060405180830381865afa15801561044e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104729190611b03565b600254604051630daf9c2160e41b81526001600160a01b0380841660048301529293506000929091169063daf9c21090602401602060405180830381865afa1580156104c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e69190611b20565b9050806104f45750506109d4565b60008861056e576002546040516340d3096b60e11b81526001600160a01b038581166004830152909116906381a612d690602401602060405180830381865afa158015610545573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105699190611aea565b6105dc565b600254604051637092736960e11b81526001600160a01b0385811660048301529091169063e124e6d290602401602060405180830381865afa1580156105b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105dc9190611aea565b6002546040516352f55eed60e01b81526001600160a01b038681166004830152929350600092909116906352f55eed90602401602060405180830381865afa15801561062c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106509190611aea565b6002546040516323b95ceb60e21b81526001600160a01b03878116600483015292935060009290911690638ee573ac90602401602060405180830381865afa1580156106a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c49190611aea565b6002546040516342b60b0360e01b81526001600160a01b0388811660048301529293509116906342b60b0390602401602060405180830381865afa158015610710573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107349190611b20565b156107685761076161075a61074a83600a611c37565b6107548587610dd3565b90610de8565b8990610df4565b97506109ce565b60025460405163114f1b5560e31b81526001600160a01b0387811660048301526000921690638a78daa890602401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d79190611aea565b905080156108b057600254604051636274980360e01b81526001600160a01b0388811660048301526000921690636274980390602401602060405180830381865afa15801561082a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084e9190611aea565b90506000858211610868576108638683610e00565b610872565b6108728287610e00565b90506000610884836107548685610dd3565b90508287111561089f576108988c82610df4565b9b506108ac565b6108a98b82610df4565b9a505b5050505b60025460405163783a2b6760e11b81526001600160a01b03888116600483015261092792169063f07456ce90602401602060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190611aea565b8a90610df4565b60025460405163c3c7b9e960e01b81526001600160a01b038981166004830152929b506000929091169063c3c7b9e990602401602060405180830381865afa158015610977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099b9190611aea565b90506109c96109c26109ae85600a611c37565b610754886109bc8987610e00565b90610dd3565b8b90610df4565b995050505b50505050505b806109de81611c43565b9150506103fc565b508181116109fd576109f88282610e00565b610a00565b60005b91508160085411610a1e57600854610a19908390610e00565b610a21565b60005b95945050505050565b6000610a34610e0c565b610a3c610e66565b610a4a878787878787610ebf565b9050610a566001600055565b9695505050505050565b6000610a6a610e0c565b60095460ff1615610ac25760405162461bcd60e51b815260206004820152601e60248201527f4d6c704d616e616765723a20616374696f6e206e6f7420656e61626c6564000060448201526064015b60405180910390fd5b610ad0333387878787610ebf565b9050610adc6001600055565b949350505050565b600080610af083610378565b9050610b196c0c9f2c9cd04674edea40000000610754610b126012600a611c37565b8490610dd3565b9392505050565b6001546001600160a01b03163314610b4a5760405162461bcd60e51b8152600401610ab990611c5e565b6009805460ff1916911515919091179055565b6000610b67610e0c565b610b6f610e66565b610b7c86868686866111db565b9050610a216001600055565b6000610b92610e0c565b60095460ff1615610be55760405162461bcd60e51b815260206004820152601e60248201527f4d6c704d616e616765723a20616374696f6e206e6f7420656e61626c656400006044820152606401610ab9565b610ad033868686866111db565b6001546001600160a01b03163314610c1c5760405162461bcd60e51b8152600401610ab990611c5e565b600791909155600855565b6001546001600160a01b03163314610c515760405162461bcd60e51b8152600401610ab990611c5e565b6202a300811115610cb25760405162461bcd60e51b815260206004820152602560248201527f4d6c704d616e616765723a20696e76616c6964205f636f6f6c646f776e44757260448201526430ba34b7b760d91b6064820152608401610ab9565b600555565b6001546001600160a01b03163314610ce15760405162461bcd60e51b8152600401610ab990611c5e565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6001546001600160a01b03163314610d365760405162461bcd60e51b8152600401610ab990611c5e565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60408051600280825260608083018452926000929190602083019080368337019050509050610d876001610378565b81600081518110610d9a57610d9a611c8d565b602002602001018181525050610db06000610378565b81600181518110610dc357610dc3611c8d565b6020908102919091010152919050565b6000610ddf8284611ca3565b90505b92915050565b6000610ddf8284611cc2565b6000610ddf8284611ce4565b6000610ddf8284611cfc565b60026000541415610e5f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ab9565b6002600055565b336000908152600a602052604090205460ff16610ebd5760405162461bcd60e51b815260206004820152601560248201527426b63826b0b730b3b2b91d103337b93134b23232b760591b6044820152606401610ab9565b565b6000808411610f105760405162461bcd60e51b815260206004820152601b60248201527f4d6c704d616e616765723a20696e76616c6964205f616d6f756e7400000000006044820152606401610ab9565b6000610f1c6001610ae4565b90506000600460009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f979190611aea565b600254909150610fb6906001600160a01b03898116918c91168961162f565b60025460405163817bb85760e01b81526001600160a01b038981166004830152306024830152600092169063817bb857906044016020604051808303816000875af1158015611009573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102d9190611aea565b90508581101561108b5760405162461bcd60e51b8152602060048201526024808201527f4d6c704d616e616765723a20696e73756666696369656e742055534447206f756044820152631d1c1d5d60e21b6064820152608401610ab9565b600083156110a6576110a1846107548486610dd3565b6110a8565b815b9050858110156111065760405162461bcd60e51b815260206004820152602360248201527f4d6c704d616e616765723a20696e73756666696369656e74204d4c50206f75746044820152621c1d5d60ea1b6064820152608401610ab9565b600480546040516340c10f1960e01b81526001600160a01b038d811693820193909352602481018490529116906340c10f1990604401600060405180830381600087803b15801561115657600080fd5b505af115801561116a573d6000803e3d6000fd5b5050506001600160a01b038b1660009081526006602052604090819020429055517f38dc38b96482be64113daffd8d464ebda93e856b70ccfc605e69ccf892ab981e91506111c5908c908c908c908990899089908990611d13565b60405180910390a19a9950505050505050505050565b600080841161122c5760405162461bcd60e51b815260206004820152601e60248201527f4d6c704d616e616765723a20696e76616c6964205f6d6c70416d6f756e7400006044820152606401610ab9565b6005546001600160a01b03871660009081526006602052604090205442916112549190610df4565b11156112b75760405162461bcd60e51b815260206004820152602c60248201527f4d6c704d616e616765723a20636f6f6c646f776e206475726174696f6e206e6f60448201526b1d081e595d081c185cdcd95960a21b6064820152608401610ab9565b60006112c36000610ae4565b90506000600460009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561131a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133e9190611aea565b90506000611350826107548986610dd3565b6003546040516370a0823160e01b81523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561139e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c29190611aea565b905080821115611447576003546001600160a01b03166340c10f19306113e88585610e00565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561142e57600080fd5b505af1158015611442573d6000803e3d6000fd5b505050505b60048054604051632770a7eb60e21b81526001600160a01b038d811693820193909352602481018b9052911690639dc29fac90604401600060405180830381600087803b15801561149757600080fd5b505af11580156114ab573d6000803e3d6000fd5b505060035460025460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018790529116925063a9059cbb91506044016020604051808303816000875af1158015611504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115289190611b20565b50600254604051630711e61960e41b81526001600160a01b038b811660048301528881166024830152600092169063711e6190906044016020604051808303816000875af115801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190611aea565b9050878110156115f45760405162461bcd60e51b815260206004820152601f60248201527f4d6c704d616e616765723a20696e73756666696369656e74206f7574707574006044820152606401610ab9565b7f87b9679bb9a4944bafa98c267e7cd4a00ab29fed48afdefae25f0fca5da279408b8b8b888888876040516111c59796959493929190611d13565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261168990859061168f565b50505050565b60006116e4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166117699092919063ffffffff16565b90508051600014806117055750808060200190518101906117059190611b20565b6117645760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610ab9565b505050565b6060610adc848460008585600080866001600160a01b031685876040516117909190611d7d565b60006040518083038185875af1925050503d80600081146117cd576040519150601f19603f3d011682016040523d82523d6000602084013e6117d2565b606091505b50915091506117e3878383876117ee565b979650505050505050565b6060831561185a578251611853576001600160a01b0385163b6118535760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ab9565b5081610adc565b610adc838381511561186f5781518083602001fd5b8060405162461bcd60e51b8152600401610ab99190611d99565b801515811461189757600080fd5b50565b6000602082840312156118ac57600080fd5b8135610b1981611889565b6001600160a01b038116811461189757600080fd5b60008060008060008060c087890312156118e557600080fd5b86356118f0816118b7565b95506020870135611900816118b7565b94506040870135611910816118b7565b959894975094956060810135955060808101359460a0909101359350915050565b6000806000806080858703121561194757600080fd5b8435611952816118b7565b966020860135965060408601359560600135945092505050565b60006020828403121561197e57600080fd5b8135610b19816118b7565b600080600080600060a086880312156119a157600080fd5b85356119ac816118b7565b945060208601356119bc816118b7565b9350604086013592506060860135915060808601356119da816118b7565b809150509295509295909350565b600080600080608085870312156119fe57600080fd5b8435611a09816118b7565b935060208501359250604085013591506060850135611a27816118b7565b939692955090935050565b60008060408385031215611a4557600080fd5b50508035926020909101359150565b600060208284031215611a6657600080fd5b5035919050565b60008060408385031215611a8057600080fd5b8235611a8b816118b7565b91506020830135611a9b81611889565b809150509250929050565b6020808252825182820181905260009190848201906040850190845b81811015611ade57835183529284019291840191600101611ac2565b50909695505050505050565b600060208284031215611afc57600080fd5b5051919050565b600060208284031215611b1557600080fd5b8151610b19816118b7565b600060208284031215611b3257600080fd5b8151610b1981611889565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611b8e578160001904821115611b7457611b74611b3d565b80851615611b8157918102915b93841c9390800290611b58565b509250929050565b600082611ba557506001610de2565b81611bb257506000610de2565b8160018114611bc85760028114611bd257611bee565b6001915050610de2565b60ff841115611be357611be3611b3d565b50506001821b610de2565b5060208310610133831016604e8410600b8410161715611c11575081810a610de2565b611c1b8383611b53565b8060001904821115611c2f57611c2f611b3d565b029392505050565b6000610ddf8383611b96565b6000600019821415611c5757611c57611b3d565b5060010190565b60208082526015908201527423b7bb32b93730b136329d103337b93134b23232b760591b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000816000190483118215151615611cbd57611cbd611b3d565b500290565b600082611cdf57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611cf757611cf7611b3d565b500190565b600082821015611d0e57611d0e611b3d565b500390565b6001600160a01b03978816815295909616602086015260408501939093526060840191909152608083015260a082015260c081019190915260e00190565b60005b83811015611d6c578181015183820152602001611d54565b838111156116895750506000910152565b60008251611d8f818460208701611d51565b9190910192915050565b6020815260008251806020840152611db8816040850160208701611d51565b601f01601f1916919091016040019291505056fea2646970667358221220ca48c0351939d66aebac3dfcc54302340f16a4d28bf3457278f1bddc2ad7426a64736f6c634300080c0033000000000000000000000000eb0e5e1a8500317a1b8fdd195097d5509ef861de0000000000000000000000004925c7e05347d90a3c7e07f8d8b3a52faac91bcb00000000000000000000000014c7e28d4dd0d593cb2d481a7cbaf462b18a477a0000000000000000000000000000000000000000000000000000000000000384