Alberto Cuesta Cañada
Alberto Cuesta Cañada
With the OptimisticTimelock, all proposals are automatically approved, but an account with `deny` permissions can take them off the queue. In the event of a DoS attack, simply take the...
Timelock
Deploy and configure the Timelock from yield-utils-v2, and use it to add new collaterals to the Multicollateralized Vault. Why does Timelock use `call` instead of `delegatecall`. What are the risks...
Using BoringBatchable.sol, implement transaction batches for either the AMM or the Multicollateralized Vault. Think on why `delegatecall` is used instead of `call`, and what are the risks of using `delegatecall`...
Use AccessControl from yield-utils-v2 to segregate the permissions to the liquidation and administration functions. One account should be able to add new collaterals, a different account would be able to...
Modify the ETH/DAI Vault so that it accepts new collateral types with an administration function that takes as parameters the collateral token address and the chainlink aggregator address. To make...
There is a Vault that lends DAI. Get the contract from Etherscan and deploy it locally, then supply your Vault with an amount of DAI. Users can deposit Ether in...
A Vault that inherits from ERC20. When the users deposit Token (another ERC20) they receive Vault tokens in the same amount. To recover their initial Token, the users must burn...
An Automated Market Maker facilitates trade between two ERC20 tokens, supplied on construction. The AMM itself is an ERC20 token as well. 5 functions: - Init: Supply any amount of...
Vault 2, but the users receive a fraction of their deposits in Token. This fraction is an arbitrary decimal number that can be set only by the contract owner. It...