Skip to content

natali9t9/2023-12-notional-update-5

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notional Update #5 contest details

Q&A

Q: On what chains are the smart contracts going to be deployed?

mainnet, arbitrum


Q: Which ERC20 tokens do you expect will interact with the smart contracts?

any, including USDC and USDT


Q: Which ERC721 tokens do you expect will interact with the smart contracts?

none


Q: Do you plan to support ERC1155?

Yes, Notional V3 supports ERC1155 via the ERC1155 Action contract for fCash. ERC1155 compatibility is not a primary focus for this audit.


Q: Which ERC777 tokens do you expect will interact with the smart contracts?

none


Q: Are there any FEE-ON-TRANSFER tokens interacting with the smart contracts?

There is limited support for listing fee on transfer tokens but they are explicitly restricted in leveraged vaults.


Q: Are there any REBASING tokens interacting with the smart contracts?

Yes, specifically Aave v3 lending tokens. They will only be used in conjunction with the External Lending functionality. Rebasing tokens are not allowed to be listed as lending and borrowing currencies.


Q: Are the admins of the protocols your contracts integrate with (if any) TRUSTED or RESTRICTED?

TRUSTED


Q: Is the admin/owner of the protocol/contracts TRUSTED or RESTRICTED?

TRUSTED


Q: Are there any additional protocol roles? If yes, please explain in detail:

Yes there are three roles in relation to Notional V3:

  1. Owner: is trusted and allowed to set various governance settings along with execute upgrades
  2. Treasury Manager: is allowed to pull protocol owned funds via the Treasury Manager contract. There are two types of profits available to the protocol, fee reserves and excess interest generated by external lend.g
  3. Rebalancing Bot: is an off chain bot that detects when rebalancing can occur via checkRebalance and will rebalance those currencies accordingly.

Q: Is the code/contract expected to comply with any EIPs? Are there specific assumptions around adhering to those EIPs that Watsons should be aware of?

No


Q: Please list any known issues/acceptable risks that should not result in a valid finding.

Prime Debt Cap: It is understood that due to the nature of settlement, accounts may generate short dated fCash and push the system above the debt cap at maturity. This would be alleviated by tracking overall fCash debt outstanding, however, this adds significantly more complexity to the system and makes the debt cap more difficult to administer. If this does become an issue a mitigation would be a temporary increase in the supply cap. If this is a persistent issue, a more permanent mitigation would include a more comprehensive tracking and limiting of total fCash debts.


Q: Please provide links to previous audits (if any).

https://github.com/notional-finance/contracts-v2/blob/master/audits/README.md


Q: Are there any off-chain mechanisms or off-chain procedures for the protocol (keeper bots, input validation expectations, etc)?

Yes see #3 in the additional protocol roles, the rebalancing bot.


Q: In case of external protocol integrations, are the risks of external contracts pausing or executing an emergency withdrawal acceptable? If not, Watsons will submit issues related to these situations that can harm your protocol's functionality.

With respect to external lending, it is understood that Aave V3 may pause withdraws and prevent Notional from withdrawing its funds. A mitigation against this risk is only use external lending for liquid, well understood tokens.


Q: Do you expect to use any of the following tokens with non-standard behaviour with the smart contracts?

USDC and USDT are the primary examples.


Q: Add links to relevant protocol resources

Notional V3 Protocol Documentation: https://docs.notional.finance/notional-v3/

Audit Scope Documentation: https://docs.google.com/document/d/1-2iaTM8lBaurrfItOJRRveHnwKq1lEWGnewrEfXMzrI/edit


Audit scope

wrapped-fcash @ 3157e4c5eb105eaccbd827a8fc016a48fcc44dd7

contracts-v3 @ d9835667a2d80ccab89233d04c3b5f9eb7ba4585

wrapped-fcash @ 3157e4c5eb105eaccbd827a8fc016a48fcc44dd7

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 50.8%
  • Solidity 48.8%
  • Shell 0.4%