├── .github └── workflows │ └── main.yml ├── .gitignore ├── .husky └── pre-commit ├── .lintstagedrc ├── .npmrc ├── .prettierrc.json ├── .solhint.json ├── README.md ├── foundry.toml ├── package.json ├── pnpm-lock.yaml ├── remappings.txt ├── script ├── cli │ ├── README.md │ ├── build-helper │ │ └── library.ts │ ├── build-hoax-helper │ │ └── library.ts │ ├── findBestOptimizerRuns.ts │ ├── main.ts │ ├── renameTestContracts.ts │ ├── toNamedImports.ts │ ├── types.ts │ └── utils.ts └── updateEnv.ts ├── src ├── @openzeppelin │ └── contracts-5.4.0 │ │ ├── interfaces │ │ └── IERC1967.sol │ │ ├── proxy │ │ ├── ERC1967 │ │ │ ├── ERC1967Proxy.sol │ │ │ └── ERC1967Utils.sol │ │ └── transparent │ │ │ └── TransparentUpgradeableProxy.sol │ │ ├── token │ │ └── ERC20 │ │ │ └── IERC20.sol │ │ └── utils │ │ └── Strings.sol ├── AddressHelper.sol ├── ArrayHelper.sol ├── BaseScript.sol ├── BytesHelper.sol ├── FraxTest.sol ├── FraxTransparentProxy.sol ├── FraxUpgradeableProxy.sol ├── Logger.sol ├── NumberFormat.sol ├── SafeTxHelper.sol ├── StringsHelper.sol ├── TestHelper.sol ├── VmHelper.sol └── access-control │ ├── v1 │ ├── Timelock2Step.sol │ └── interfaces │ │ └── ITimelock2Step.sol │ └── v2 │ ├── Operator2Step.sol │ ├── OperatorRole.sol │ ├── PublicReentrancyGuard.sol │ ├── Timelock2Step.sol │ └── interfaces │ ├── IOperator2Step.sol │ ├── IOperatorRole.sol │ └── ITimelock2Step.sol ├── test ├── LoggerTest.t.sol ├── NumberFormatTest.t.sol ├── TestArrayHelper.t.sol ├── TestFraxProxy.t.sol └── TestSlotDump.t.sol └── tsconfig.json /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | npx lint-staged 2 | -------------------------------------------------------------------------------- /.lintstagedrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/.lintstagedrc -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | public-hoist-pattern=* -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/.prettierrc.json -------------------------------------------------------------------------------- /.solhint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/.solhint.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/README.md -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/foundry.toml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/remappings.txt -------------------------------------------------------------------------------- /script/cli/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/script/cli/README.md -------------------------------------------------------------------------------- /script/cli/build-helper/library.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/script/cli/build-helper/library.ts -------------------------------------------------------------------------------- /script/cli/build-hoax-helper/library.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/script/cli/build-hoax-helper/library.ts -------------------------------------------------------------------------------- /script/cli/findBestOptimizerRuns.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/script/cli/findBestOptimizerRuns.ts -------------------------------------------------------------------------------- /script/cli/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/script/cli/main.ts -------------------------------------------------------------------------------- /script/cli/renameTestContracts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/script/cli/renameTestContracts.ts -------------------------------------------------------------------------------- /script/cli/toNamedImports.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/script/cli/toNamedImports.ts -------------------------------------------------------------------------------- /script/cli/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/script/cli/types.ts -------------------------------------------------------------------------------- /script/cli/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/script/cli/utils.ts -------------------------------------------------------------------------------- /script/updateEnv.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/script/updateEnv.ts -------------------------------------------------------------------------------- /src/@openzeppelin/contracts-5.4.0/interfaces/IERC1967.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/@openzeppelin/contracts-5.4.0/interfaces/IERC1967.sol -------------------------------------------------------------------------------- /src/@openzeppelin/contracts-5.4.0/proxy/ERC1967/ERC1967Proxy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/@openzeppelin/contracts-5.4.0/proxy/ERC1967/ERC1967Proxy.sol -------------------------------------------------------------------------------- /src/@openzeppelin/contracts-5.4.0/proxy/ERC1967/ERC1967Utils.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/@openzeppelin/contracts-5.4.0/proxy/ERC1967/ERC1967Utils.sol -------------------------------------------------------------------------------- /src/@openzeppelin/contracts-5.4.0/proxy/transparent/TransparentUpgradeableProxy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/@openzeppelin/contracts-5.4.0/proxy/transparent/TransparentUpgradeableProxy.sol -------------------------------------------------------------------------------- /src/@openzeppelin/contracts-5.4.0/token/ERC20/IERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/@openzeppelin/contracts-5.4.0/token/ERC20/IERC20.sol -------------------------------------------------------------------------------- /src/@openzeppelin/contracts-5.4.0/utils/Strings.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/@openzeppelin/contracts-5.4.0/utils/Strings.sol -------------------------------------------------------------------------------- /src/AddressHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/AddressHelper.sol -------------------------------------------------------------------------------- /src/ArrayHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/ArrayHelper.sol -------------------------------------------------------------------------------- /src/BaseScript.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/BaseScript.sol -------------------------------------------------------------------------------- /src/BytesHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/BytesHelper.sol -------------------------------------------------------------------------------- /src/FraxTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/FraxTest.sol -------------------------------------------------------------------------------- /src/FraxTransparentProxy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/FraxTransparentProxy.sol -------------------------------------------------------------------------------- /src/FraxUpgradeableProxy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/FraxUpgradeableProxy.sol -------------------------------------------------------------------------------- /src/Logger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/Logger.sol -------------------------------------------------------------------------------- /src/NumberFormat.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/NumberFormat.sol -------------------------------------------------------------------------------- /src/SafeTxHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/SafeTxHelper.sol -------------------------------------------------------------------------------- /src/StringsHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/StringsHelper.sol -------------------------------------------------------------------------------- /src/TestHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/TestHelper.sol -------------------------------------------------------------------------------- /src/VmHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/VmHelper.sol -------------------------------------------------------------------------------- /src/access-control/v1/Timelock2Step.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/access-control/v1/Timelock2Step.sol -------------------------------------------------------------------------------- /src/access-control/v1/interfaces/ITimelock2Step.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/access-control/v1/interfaces/ITimelock2Step.sol -------------------------------------------------------------------------------- /src/access-control/v2/Operator2Step.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/access-control/v2/Operator2Step.sol -------------------------------------------------------------------------------- /src/access-control/v2/OperatorRole.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/access-control/v2/OperatorRole.sol -------------------------------------------------------------------------------- /src/access-control/v2/PublicReentrancyGuard.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/access-control/v2/PublicReentrancyGuard.sol -------------------------------------------------------------------------------- /src/access-control/v2/Timelock2Step.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/access-control/v2/Timelock2Step.sol -------------------------------------------------------------------------------- /src/access-control/v2/interfaces/IOperator2Step.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/access-control/v2/interfaces/IOperator2Step.sol -------------------------------------------------------------------------------- /src/access-control/v2/interfaces/IOperatorRole.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/access-control/v2/interfaces/IOperatorRole.sol -------------------------------------------------------------------------------- /src/access-control/v2/interfaces/ITimelock2Step.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/src/access-control/v2/interfaces/ITimelock2Step.sol -------------------------------------------------------------------------------- /test/LoggerTest.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/test/LoggerTest.t.sol -------------------------------------------------------------------------------- /test/NumberFormatTest.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/test/NumberFormatTest.t.sol -------------------------------------------------------------------------------- /test/TestArrayHelper.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/test/TestArrayHelper.t.sol -------------------------------------------------------------------------------- /test/TestFraxProxy.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/test/TestFraxProxy.t.sol -------------------------------------------------------------------------------- /test/TestSlotDump.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/test/TestSlotDump.t.sol -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FraxFinance/frax-standard-solidity/HEAD/tsconfig.json --------------------------------------------------------------------------------