code-423n4 / 2022-08-foundation-findings

0 stars 0 forks source link

QA Report #253

Open code423n4 opened 2 years ago

code423n4 commented 2 years ago

See the markdown file with the details of this report here.

HardlyDifficult commented 2 years ago

Use safeMint

Agree will fix - for context see our response here.

Use constructor to initialize templates

Agree this is a good best practice to add. Will fix.

Use fixed pragma

Disagree. We intentionally use a floating pragma in order to make integrating with contracts easier. Other contract developers are looking to interact with our contracts and they may be on a different version than we use. The pragma selected for our contracts is the minimum required in order to correctly compile and function. This way integration is easier if they lag a few versions behind, or if they use the latest but we don't bump our packages frequently enough, and when we do upgrade versions unless there was a breaking solidity change -- it should just swap in by incrementing our npm package version.

[NC-02] Replace public with external

Invalid. burn is an override so it must remain public. getFoundationTreasury is used internally by MarketFees.