Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update tlc interface to remove cooldown #818

Merged
merged 7 commits into from
Jun 25, 2023

Conversation

frontier159
Copy link
Collaborator

Description

What does this PR solve?

Fixes # (issue)

Checklist

  • Code follows the style guide
  • I have performed a self-review of my own code
  • New and existing tests pass locally
  • This PR is targeting the correct branch

* initial circuit breaker algo

* fix/optimisation

* Add tests, optimise, cleanup - start proxy
@frontier159 frontier159 marked this pull request as ready for review June 25, 2023 06:01
@frontier159 frontier159 requested a review from a team as a code owner June 25, 2023 06:01
@frontier159 frontier159 merged commit 0d3309a into temple-v2-generic-trv Jun 25, 2023
@frontier159 frontier159 deleted the tlc-no-cooldown branch June 25, 2023 06:01
frontier159 added a commit that referenced this pull request Jun 25, 2023
* Update TRV to be multi-asset

* Merged from upstream

* Update events from RamosStrategy

* update tlc interface to remove cooldown (#818)

* update tlc interface to remove cooldown

* update tlc interface to remove cooldown

* update tlc interface to remove cooldown

* Temple v2 circuit breaker (#820)

* initial circuit breaker algo

* fix/optimisation

* Add tests, optimise, cleanup - start proxy

* Update TLC to remove requests

* Added tests, improved gas

* Added tests, improved gas

* Correct tests

* Merged with upstream

* Correct tests
nichosystem pushed a commit that referenced this pull request Jul 10, 2023
* Update TRV to be multi-asset

* Merged from upstream

* Update events from RamosStrategy

* update tlc interface to remove cooldown (#818)

* update tlc interface to remove cooldown

* update tlc interface to remove cooldown

* update tlc interface to remove cooldown

* Temple v2 circuit breaker (#820)

* initial circuit breaker algo

* fix/optimisation

* Add tests, optimise, cleanup - start proxy

* Update TLC to remove requests

* Added tests, improved gas

* Added tests, improved gas

* Correct tests

* Merged with upstream

* Correct tests
frontier159 added a commit that referenced this pull request Aug 23, 2023
* feat: temple v2 interfaces

* feat: dUSD initial implementation. testing wip

* feat: cleanup, more tests

* feat: cleanup, more tests

* feat: dUSD implementation and tests

* feat: minor updates, improved tests

* slither updates

* feat: start of strategies

* feat: add dusd testnet admin contract

* feat: added DSR base strategy

* feat: initial TRV - still WIP

* feat: still WIP

* feat: strategies report asset balances

* feat: strategies report asset balances

* feat: tests

* feat: gnosis strategy tests

* feat: wip dsr base strategy tests

* feat: wip continues

* Add safe guard

* Convert to revert string error for Safe UI

* Refactor elevated access

* Add v2 readme

* Add v2 readme

* Updated access

* Updated readme, batch update on guard

* Update README.md

Cleaned up the wording for clarity / readability

* TLC pre-requisites (#804)

* Updated Temple v2 to support TLC

* Add the RAMOS strategy (#805)

* implement the RAMOS strategy reporting the underlying assets

* add tests for RAMOS strategy

* disable the ETH balance report

* update tests for RAMOS strategy

* add TPI on TRV constructor in RAMOS strategy test

* implement functions to add/remove liquidity on RAMOS strategy

* proportional add liquidity

* update the addLiquidity function on RAMOS and the quote functions on PoolHelper

* update RAMOS contract and tests

* implement borrow/repay features on RAMOS strategy and add tests for borrow

* fix bpt total supply issue and add tests for repay

* fix issues on RAMOS contract

* remove operators from RAMOS strategy

* update tests for adding/removing the liquidity

* fix tests for RAMOS and PoolHelper contracts

* update the RAMOS access control mechanism and fix the tests for RAMOS and RAMOS strategy

* set the explicit access to RAMOS on RAMOS strategy test

* Tlc (#806)

* Updated Temple v2 to support TLC

* Updated Temple v2 to support TLC

* Updated Temple v2 to support TLC

* Initial TLC

* Make TLC a strategy

* Use an index accumulator instead of shares

* Updates, gas golfing

* comment out logs

* Tlc reworked (#807)

* Reworked to fit size - strategy split out

* Tlc delegatecall (#808)

* delegatecall

* Reworked to fit size - strategy split out

* added storage to interfaces

* fix up (#809)

* update names

* remove loops

* add expiry to fund request window

* refactor to take token address as input

* further tests

* tests, tests, tests

* split fund request types, tests

* positive interest rate only

* add more tests, cleanup

* comment all of the things

* a couple of extra tests

* remove oud, update tests

* flatten TLC contract

* fix edge cases on interest rate model

* interface tweaks to shutdown, asset balances

* PR feedback, solhint

* refactor ramos imports, ramos strategy updates

* Update ramos tests

* Add comments to Ramos, autoshutdown ramos

* Move TPI into a separate oracle contract

* rename temple/stable in ramos

* ramos rebalance up/down join & exit

* Add fees to ramos

* review feedback

* feedback: use propose/accept model for roles

* refactor: rename protocolTokenVault to tokenVault

* test: add compound & linear kink interest tests

* test: add max allowed ir test & remove unreachable code

* fix: typo tabs for spaces

* fix: ci typo case issue

* wip: implement tokenVault.repayQuoteToken

* feat: update rebalanceDownExit, rebalanceUpJoin, removeLiquidity & add Liquidity with latest tokenVault functions

* feat: TRV borrow and repay functions included in ramos strategy

* fix: update various descriptions

* feat: ramos strategy do not borrow & repay from the TVR directly any longer, ramos does it & tests updated

* docs: update IRamosTokensVault descriptions

* Update TRV to be multi-asset (#817)

* Update TRV to be multi-asset

* Merged from upstream

* Update events from RamosStrategy

* update tlc interface to remove cooldown (#818)

* update tlc interface to remove cooldown

* update tlc interface to remove cooldown

* update tlc interface to remove cooldown

* Temple v2 circuit breaker (#820)

* initial circuit breaker algo

* fix/optimisation

* Add tests, optimise, cleanup - start proxy

* Update TLC to remove requests

* Added tests, improved gas

* Added tests, improved gas

* Correct tests

* Merged with upstream

* Correct tests

* review feedback

* review feedback

* update circuit breaker so mappings are centrally configured

* update threshold safe guard to accept empty function sig - eg eth transfer

* Temple v2 review feedback ramos strategy tests (#822)

* test: add missing ramos strategy test vault functions

* test: update TEMPLE_INITIAL_TOTAL_SUPPLY val

* minor test/comment updates

* minor gas

* review feedback

* Add sepolia, initial shell of contract addrs

* prioritise TLC first

* improved deploy and mine to dump args to files

* chore: add temple v2 initial deploy scripts

* chore: add temple v2 initial deploy scripts

* chore: use owner.getAddress() as executor/rescuer

* chore: script 01-06 deployed

* chore: scripts 07-10 & 12-13 deployed

* Added a testnet version of the DSR base rate

* chore: script 11 deployed

* review feedback

* chore: draft postdeploy script

* chore: updates to postdeploy scripts

* chore: add msig executor & rescuer and allow owner to mint/burn temple

* update deploy scripts for TLC

* review feedback

* updates for slither

* update to 0.8.18, update slither db

* update to 0.8.18, update slither db

* slither gh

* update test

* ramos testnet deploy scripts

* fix typo

* cleanup files

* Add gnosis strategy

* Remove ramos liquidity

* fix: v2 audit: yAudit/temple-lending-report#1

* fix: v2 audit: yAudit/temple-lending-report#2

* fix: v2 audit: yAudit/temple-lending-report#3

* fix: v2 audit: yAudit/temple-lending-report#5

* fix: v2 audit: yAudit/temple-lending-report#6

* fix: v2 audit: yAudit/temple-lending-report#7

* fix: v2 audit: yAudit/temple-lending-report#9

* fix: v2 audit: yAudit/temple-lending-report#10

* fix: v2 audit: yAudit/temple-lending-report#11

* fix: v2 audit: yAudit/temple-lending-report#12

* fix: v2 audit: yAudit/temple-lending-report#14

* fix: v2 audit: yAudit/temple-lending-report#15

* fix: v2 audit: yAudit/temple-lending-report#16 yAudit/temple-lending-report#18

* fix: v2 audit: yAudit/temple-lending-report#17

* fix: v2 audit: yAudit/temple-lending-report#20

* fix: v2 audit: yAudit/temple-lending-report#22 yAudit/temple-lending-report#23

* fix: v2 audit: yAudit/temple-lending-report#24

* fix: v2 audit: yAudit/temple-lending-report#26

* fix: v2 audit: yAudit/temple-lending-report#27

* fix: v2 audit: yAudit/temple-lending-report#28

* fix: v2 audit: yAudit/temple-lending-report#29

* fix: v2 audit: yAudit/temple-lending-report#30

* fix: v2 audit: yAudit/temple-lending-report#31

* Temple v2 forked localhost tests (#832)

* test: add local fork tests skeleton

* test: add tlc borrow & repay local fork tests

* test: tlc forked tests using existing mainnet contracts

* test: update scripts to newest path

* test: add **/localhost/deploymentArgs to .gitignore

* chore: move from ../scripts/v2/sepolia/* to ../scripts/sepolia/v2/*

* chore: use symlinks to avoid duplication in local mainnet fork

* test: address CRs

* chore: add transaction builder msig json & readme steps for temple v2 mainnet deployment

* test: add transfer ownership tests

* chore: update readme & add temple-v2-transactions-batch.json as post-deploy step for mainnet gnosis safe app

* feat: remove symlinks

* feat: copy missing mainnet scripts, update readme & separate executor/rescuer transaction batch json

* feat: add gnosys1 & ramos deploys scripts to mainnet & update local mainnet fork tests

* feat: address CRs

* feat: update deploy scripts names & comments on transaction builder json files

* fix: v2 audit: yAudit/temple-lending-report#32

* fix: v2 audit: yAudit/temple-lending-report#35

* fix: v2 audit: yAudit/temple-lending-report#36

* fix: v2 audit: yAudit/temple-lending-report#38

* fix: v2 audit: yAudit/temple-lending-report#40

* fix: v2 audit: yAudit/temple-lending-report#41

* fix: v2 audit: yAudit/temple-lending-report#42

* fix: v2 audit: yAudit/temple-lending-report#44

* fix: v2 audit: yAudit/temple-lending-report#45 Also see PaulRBerg/prb-math#198

* fix: v2 audit: yAudit/temple-lending-report#46

* fix: v2 audit: yAudit/temple-lending-report#49

* fix: v2 audit: yAudit/temple-lending-report#48

* fix: v2 audit: yAudit/temple-lending-report#50

* fix: v2 audit: yAudit/temple-lending-report#51

* fix: v2 audit: yAudit/temple-lending-report#52

* fix: v2 audit: yAudit/temple-lending-report#53

* fix: v2 audit: yAudit/temple-lending-report#54

* fix: v2 audit: yAudit/temple-lending-report#55

* fix: v2 audit: yAudit/temple-lending-report#12  part 2

* fix: v2 audit: yAudit/temple-lending-report#5  part 2

* update dToken for gas optimisations and extra events

* revert contract changes

* fix: v2 audit: yAudit/temple-lending-report#56

* fix: v2 audit: yAudit/temple-lending-report#46 (updated to how it was addressed)

* added extra test, removed redundant error, partially reverted 6cd79a0

* updated foundry version, slither, CI

* corrected safe fork lib to be internal

* updated deployment scripts post audit

* dToken rounding and gas golfing

dtoken rounding

* update foundry version and std lib

* dtoken rounding

* rename postRebalanceSlippage => postRebalanceDelta

* Update deploy scripts for ramos

* add gnosis safe threshold to scripts

* updated deploy scripts for mainnet readiness

* updates after internal review

* dariox request -- add the DebtCeilingUpdated event on addStrategy

* add complex liquidation test when rescue mode/paused liquidations

* review feedback on safe guard test

* review feedback on temple base strategy

* update post deploy script

* update post-merge

---------

Co-authored-by: temple-advocate <92966776+temple-advocate@users.noreply.github.com>
Co-authored-by: cool-eth <82349338+cool-eth@users.noreply.github.com>
Co-authored-by: frost ostrich <frost_ostrich@proton.me>
Co-authored-by: frost-ostrich <127277105+frost-ostrich@users.noreply.github.com>
princetonbishop pushed a commit that referenced this pull request Sep 18, 2023
* feat: temple v2 interfaces

* feat: dUSD initial implementation. testing wip

* feat: cleanup, more tests

* feat: cleanup, more tests

* feat: dUSD implementation and tests

* feat: minor updates, improved tests

* slither updates

* feat: start of strategies

* feat: add dusd testnet admin contract

* feat: added DSR base strategy

* feat: initial TRV - still WIP

* feat: still WIP

* feat: strategies report asset balances

* feat: strategies report asset balances

* feat: tests

* feat: gnosis strategy tests

* feat: wip dsr base strategy tests

* feat: wip continues

* Add safe guard

* Convert to revert string error for Safe UI

* Refactor elevated access

* Add v2 readme

* Add v2 readme

* Updated access

* Updated readme, batch update on guard

* Update README.md

Cleaned up the wording for clarity / readability

* TLC pre-requisites (#804)

* Updated Temple v2 to support TLC

* Add the RAMOS strategy (#805)

* implement the RAMOS strategy reporting the underlying assets

* add tests for RAMOS strategy

* disable the ETH balance report

* update tests for RAMOS strategy

* add TPI on TRV constructor in RAMOS strategy test

* implement functions to add/remove liquidity on RAMOS strategy

* proportional add liquidity

* update the addLiquidity function on RAMOS and the quote functions on PoolHelper

* update RAMOS contract and tests

* implement borrow/repay features on RAMOS strategy and add tests for borrow

* fix bpt total supply issue and add tests for repay

* fix issues on RAMOS contract

* remove operators from RAMOS strategy

* update tests for adding/removing the liquidity

* fix tests for RAMOS and PoolHelper contracts

* update the RAMOS access control mechanism and fix the tests for RAMOS and RAMOS strategy

* set the explicit access to RAMOS on RAMOS strategy test

* Tlc (#806)

* Updated Temple v2 to support TLC

* Updated Temple v2 to support TLC

* Updated Temple v2 to support TLC

* Initial TLC

* Make TLC a strategy

* Use an index accumulator instead of shares

* Updates, gas golfing

* comment out logs

* Tlc reworked (#807)

* Reworked to fit size - strategy split out

* Tlc delegatecall (#808)

* delegatecall

* Reworked to fit size - strategy split out

* added storage to interfaces

* fix up (#809)

* update names

* remove loops

* add expiry to fund request window

* refactor to take token address as input

* further tests

* tests, tests, tests

* split fund request types, tests

* positive interest rate only

* add more tests, cleanup

* comment all of the things

* a couple of extra tests

* remove oud, update tests

* flatten TLC contract

* fix edge cases on interest rate model

* interface tweaks to shutdown, asset balances

* PR feedback, solhint

* refactor ramos imports, ramos strategy updates

* Update ramos tests

* Add comments to Ramos, autoshutdown ramos

* Move TPI into a separate oracle contract

* rename temple/stable in ramos

* ramos rebalance up/down join & exit

* Add fees to ramos

* review feedback

* feedback: use propose/accept model for roles

* refactor: rename protocolTokenVault to tokenVault

* test: add compound & linear kink interest tests

* test: add max allowed ir test & remove unreachable code

* fix: typo tabs for spaces

* fix: ci typo case issue

* wip: implement tokenVault.repayQuoteToken

* feat: update rebalanceDownExit, rebalanceUpJoin, removeLiquidity & add Liquidity with latest tokenVault functions

* feat: TRV borrow and repay functions included in ramos strategy

* fix: update various descriptions

* feat: ramos strategy do not borrow & repay from the TVR directly any longer, ramos does it & tests updated

* docs: update IRamosTokensVault descriptions

* Update TRV to be multi-asset (#817)

* Update TRV to be multi-asset

* Merged from upstream

* Update events from RamosStrategy

* update tlc interface to remove cooldown (#818)

* update tlc interface to remove cooldown

* update tlc interface to remove cooldown

* update tlc interface to remove cooldown

* Temple v2 circuit breaker (#820)

* initial circuit breaker algo

* fix/optimisation

* Add tests, optimise, cleanup - start proxy

* Update TLC to remove requests

* Added tests, improved gas

* Added tests, improved gas

* Correct tests

* Merged with upstream

* Correct tests

* review feedback

* review feedback

* update circuit breaker so mappings are centrally configured

* update threshold safe guard to accept empty function sig - eg eth transfer

* Temple v2 review feedback ramos strategy tests (#822)

* test: add missing ramos strategy test vault functions

* test: update TEMPLE_INITIAL_TOTAL_SUPPLY val

* minor test/comment updates

* minor gas

* review feedback

* Add sepolia, initial shell of contract addrs

* prioritise TLC first

* improved deploy and mine to dump args to files

* chore: add temple v2 initial deploy scripts

* chore: add temple v2 initial deploy scripts

* chore: use owner.getAddress() as executor/rescuer

* chore: script 01-06 deployed

* chore: scripts 07-10 & 12-13 deployed

* Added a testnet version of the DSR base rate

* chore: script 11 deployed

* review feedback

* chore: draft postdeploy script

* chore: updates to postdeploy scripts

* chore: add msig executor & rescuer and allow owner to mint/burn temple

* update deploy scripts for TLC

* review feedback

* updates for slither

* update to 0.8.18, update slither db

* update to 0.8.18, update slither db

* slither gh

* update test

* ramos testnet deploy scripts

* fix typo

* cleanup files

* Add gnosis strategy

* Remove ramos liquidity

* fix: v2 audit: yAudit/temple-lending-report#1

* fix: v2 audit: yAudit/temple-lending-report#2

* fix: v2 audit: yAudit/temple-lending-report#3

* fix: v2 audit: yAudit/temple-lending-report#5

* fix: v2 audit: yAudit/temple-lending-report#6

* fix: v2 audit: yAudit/temple-lending-report#7

* fix: v2 audit: yAudit/temple-lending-report#9

* fix: v2 audit: yAudit/temple-lending-report#10

* fix: v2 audit: yAudit/temple-lending-report#11

* fix: v2 audit: yAudit/temple-lending-report#12

* fix: v2 audit: yAudit/temple-lending-report#14

* fix: v2 audit: yAudit/temple-lending-report#15

* fix: v2 audit: yAudit/temple-lending-report#16 yAudit/temple-lending-report#18

* fix: v2 audit: yAudit/temple-lending-report#17

* fix: v2 audit: yAudit/temple-lending-report#20

* fix: v2 audit: yAudit/temple-lending-report#22 yAudit/temple-lending-report#23

* fix: v2 audit: yAudit/temple-lending-report#24

* fix: v2 audit: yAudit/temple-lending-report#26

* fix: v2 audit: yAudit/temple-lending-report#27

* fix: v2 audit: yAudit/temple-lending-report#28

* fix: v2 audit: yAudit/temple-lending-report#29

* fix: v2 audit: yAudit/temple-lending-report#30

* fix: v2 audit: yAudit/temple-lending-report#31

* Temple v2 forked localhost tests (#832)

* test: add local fork tests skeleton

* test: add tlc borrow & repay local fork tests

* test: tlc forked tests using existing mainnet contracts

* test: update scripts to newest path

* test: add **/localhost/deploymentArgs to .gitignore

* chore: move from ../scripts/v2/sepolia/* to ../scripts/sepolia/v2/*

* chore: use symlinks to avoid duplication in local mainnet fork

* test: address CRs

* chore: add transaction builder msig json & readme steps for temple v2 mainnet deployment

* test: add transfer ownership tests

* chore: update readme & add temple-v2-transactions-batch.json as post-deploy step for mainnet gnosis safe app

* feat: remove symlinks

* feat: copy missing mainnet scripts, update readme & separate executor/rescuer transaction batch json

* feat: add gnosys1 & ramos deploys scripts to mainnet & update local mainnet fork tests

* feat: address CRs

* feat: update deploy scripts names & comments on transaction builder json files

* fix: v2 audit: yAudit/temple-lending-report#32

* fix: v2 audit: yAudit/temple-lending-report#35

* fix: v2 audit: yAudit/temple-lending-report#36

* fix: v2 audit: yAudit/temple-lending-report#38

* fix: v2 audit: yAudit/temple-lending-report#40

* fix: v2 audit: yAudit/temple-lending-report#41

* fix: v2 audit: yAudit/temple-lending-report#42

* fix: v2 audit: yAudit/temple-lending-report#44

* fix: v2 audit: yAudit/temple-lending-report#45 Also see PaulRBerg/prb-math#198

* fix: v2 audit: yAudit/temple-lending-report#46

* fix: v2 audit: yAudit/temple-lending-report#49

* fix: v2 audit: yAudit/temple-lending-report#48

* fix: v2 audit: yAudit/temple-lending-report#50

* fix: v2 audit: yAudit/temple-lending-report#51

* fix: v2 audit: yAudit/temple-lending-report#52

* fix: v2 audit: yAudit/temple-lending-report#53

* fix: v2 audit: yAudit/temple-lending-report#54

* fix: v2 audit: yAudit/temple-lending-report#55

* fix: v2 audit: yAudit/temple-lending-report#12  part 2

* fix: v2 audit: yAudit/temple-lending-report#5  part 2

* update dToken for gas optimisations and extra events

* revert contract changes

* fix: v2 audit: yAudit/temple-lending-report#56

* fix: v2 audit: yAudit/temple-lending-report#46 (updated to how it was addressed)

* added extra test, removed redundant error, partially reverted 6cd79a0

* updated foundry version, slither, CI

* corrected safe fork lib to be internal

* updated deployment scripts post audit

* dToken rounding and gas golfing

dtoken rounding

* update foundry version and std lib

* dtoken rounding

* rename postRebalanceSlippage => postRebalanceDelta

* Update deploy scripts for ramos

* add gnosis safe threshold to scripts

* updated deploy scripts for mainnet readiness

* updates after internal review

* dariox request -- add the DebtCeilingUpdated event on addStrategy

* add complex liquidation test when rescue mode/paused liquidations

* review feedback on safe guard test

* review feedback on temple base strategy

* update post deploy script

* update post-merge

---------

Co-authored-by: temple-advocate <92966776+temple-advocate@users.noreply.github.com>
Co-authored-by: cool-eth <82349338+cool-eth@users.noreply.github.com>
Co-authored-by: frost ostrich <frost_ostrich@proton.me>
Co-authored-by: frost-ostrich <127277105+frost-ostrich@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant