From 9c5b9e23f6f45692936f656c537a9d8c96288213 Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 24 Jan 2026 21:01:12 +0600 Subject: [PATCH 01/10] chore: add keywords for better discovery --- package.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 574b6ed..3569a5b 100644 --- a/package.json +++ b/package.json @@ -14,10 +14,17 @@ "solhint-plugin-prettier": "^0.0.5", "solidity-coverage": "^0.8.2" }, + "keywords": [ + "amm", + "defi", + "optimism", + "velodrome", + "solidity" + ], "scripts": { "format": "prettier --write 'contracts/**/*.(sol|json)' 'test/**/*.(sol|json)' 'script/**/*.(sol|ts)'", "format:check": "prettier --check 'contracts/**/*.*(sol|json)' 'test/**/*.(sol|json)' 'script/**/*.(sol|ts)'", "lint": "solhint --fix 'contracts/**/*.sol' 'test/**/*.sol' 'script/**/*.sol'", "lint:check": "solhint 'contracts/**/*.sol' 'test/**/*.sol' 'script/**/*.sol'" } -} +} \ No newline at end of file From 2c62b3e9e722d8b1d35a392e95b53c966580563d Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 24 Jan 2026 21:01:25 +0600 Subject: [PATCH 02/10] chore: ignore editor and log files --- .gitignore | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index b2aa99b..44c3088 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,9 @@ deployments/ artifacts/ # Coverage -lcov.info \ No newline at end of file +lcov.info + +# Editor files +.DS_Store +.vscode/ +*.log From 458bdceb2fa58867742fbb2354a81368bfe575bb Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 24 Jan 2026 21:01:31 +0600 Subject: [PATCH 03/10] docs: add community section --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index c769927..981a334 100644 --- a/README.md +++ b/README.md @@ -112,3 +112,7 @@ guideline for licensing. See LICENSE and NOTICE files. | SinkGaugeFactory | [0xe62b4BC24eB6446675A1cB3facA2339676E9e5a2](https://optimistic.etherscan.io/address/0xe62b4BC24eB6446675A1cB3facA2339676E9e5a2#code) | | SinkPool | [0x333030A736B47D20346d82A473680658ac1C2b88](https://optimistic.etherscan.io/address/0x333030A736B47D20346d82A473680658ac1C2b88#code) | | SinkPoolFactory | [0xd173B8d1A91bA0D434f393ad7A1680515a069091](https://optimistic.etherscan.io/address/0xd173B8d1A91bA0D434f393ad7A1680515a069091#code) | + +## Community + +For support and discussion, join the Velodrome community on [Discord](https://discord.com/invite/velodrome) and follow us on [Twitter](https://twitter.com/velodromefi). From bf9b708b553afba8b3324e2c14627e23bedc5536 Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 24 Jan 2026 21:02:14 +0600 Subject: [PATCH 04/10] docs: add contributing guidelines --- .github/CONTRIBUTING.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/CONTRIBUTING.md diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..5ba8eeb --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,16 @@ +# Contributing to Velodrome + +Thanks for your interest in contributing to Velodrome! + +## Pull Requests + +1. Fork the repo and create your branch from `main`. +2. If you've added code that should be tested, add tests. +3. If you've changed APIs, update the documentation. +4. Ensure the test suite passes. +5. Make sure your code lints. +6. Issue that pull request! + +## License + +By contributing, you agree that your contributions will be licensed under its Apache-2.0 License. From 1bfe73cd4fef2a18d6c89af594a3f4d2894c79da Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 24 Jan 2026 21:02:19 +0600 Subject: [PATCH 05/10] docs: add pull request template --- .github/PULL_REQUEST_TEMPLATE.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..723694a --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,8 @@ +## Summary + + +## Changelog + + +## Test Plan + From 6b4bc55e3be5cc52c17996a1fb7836f087ea2e07 Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 24 Jan 2026 21:02:23 +0600 Subject: [PATCH 06/10] docs: add security policy --- SECURITY.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..60e5ab0 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,9 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report security vulnerabilities to security@velodrome.finance. + +## Bug Bounty + +Velodrome features an active bug bounty program on Immunefi. From 5c85e0f618242ab1daa872c53b03dec91071b92b Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 24 Jan 2026 21:02:54 +0600 Subject: [PATCH 07/10] docs: add natspec to Velo.sol --- contracts/Velo.sol | 1 + 1 file changed, 1 insertion(+) diff --git a/contracts/Velo.sol b/contracts/Velo.sol index a3dba1c..c16575c 100644 --- a/contracts/Velo.sol +++ b/contracts/Velo.sol @@ -24,6 +24,7 @@ contract Velo is IVelo, ERC20Permit { minter = _minter; } + /// @notice Mints new tokens to the account function mint(address account, uint256 amount) external returns (bool) { if (msg.sender != minter) revert NotMinter(); _mint(account, amount); From 454a6b933612a812f4429fea371409660befe832 Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 24 Jan 2026 21:02:58 +0600 Subject: [PATCH 08/10] docs: add natspec to Minter.sol --- contracts/Minter.sol | 1 + 1 file changed, 1 insertion(+) diff --git a/contracts/Minter.sol b/contracts/Minter.sol index 5d6f975..f67e491 100644 --- a/contracts/Minter.sol +++ b/contracts/Minter.sol @@ -122,6 +122,7 @@ contract Minter is IMinter { } /// @inheritdoc IMinter + /// @notice Updates the period and manages emissions function updatePeriod() external returns (uint256 _period) { _period = activePeriod; if (block.timestamp >= _period + WEEK) { From 40bbc596066e0f72feb197cedc84da11659ab948 Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 24 Jan 2026 21:03:02 +0600 Subject: [PATCH 09/10] docs: add natspec to Voter.sol --- contracts/Voter.sol | 1 + 1 file changed, 1 insertion(+) diff --git a/contracts/Voter.sol b/contracts/Voter.sol index 3b2738a..3d56b62 100644 --- a/contracts/Voter.sol +++ b/contracts/Voter.sol @@ -123,6 +123,7 @@ contract Voter is IVoter, ERC2771Context, ReentrancyGuardTransient { } /// @dev requires initialization with at least rewardToken + /// @notice Initializes the Voter contract function initialize(address[] calldata _tokens, address _minter) external { if (_msgSender() != minter) revert NotMinter(); uint256 _length = _tokens.length; From 3c012b988a8ce01c6914d1cf1df7afd34882158f Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 24 Jan 2026 21:03:06 +0600 Subject: [PATCH 10/10] docs: add natspec to VotingEscrow.sol --- contracts/VotingEscrow.sol | 1 + 1 file changed, 1 insertion(+) diff --git a/contracts/VotingEscrow.sol b/contracts/VotingEscrow.sol index fc1f7e5..4f81329 100644 --- a/contracts/VotingEscrow.sol +++ b/contracts/VotingEscrow.sol @@ -771,6 +771,7 @@ contract VotingEscrow is IVotingEscrow, ERC2771Context, ReentrancyGuardTransient } /// @inheritdoc IVotingEscrow + /// @notice Records a global checkpoint function checkpoint() external nonReentrant { _checkpoint(0, LockedBalance(0, 0, false), LockedBalance(0, 0, false)); }