Skip to content

Ve33 Extension#337

Open
moodysalem wants to merge 118 commits into
mainfrom
ve-integrated-extension
Open

Ve33 Extension#337
moodysalem wants to merge 118 commits into
mainfrom
ve-integrated-extension

Conversation

@moodysalem

@moodysalem moodysalem commented Jun 15, 2026

Copy link
Copy Markdown
Member

Creates an extension that implements Ve33 tokenomics for an arbitrary token on top of Ekubo's core protocol

moodysalem and others added 28 commits June 13, 2026 13:06
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@moodysalem

Copy link
Copy Markdown
Member Author

make the name and symbol and decimals set in the vetoken constructor into arguments instead of computing them so we can use the vetoken for eth or other chain native tokens @copilot

Co-authored-by: moodysalem <7897876+moodysalem@users.noreply.github.com>

Copilot AI commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

ve33 should only have move stake, where both vetoken merge and split use it. get rid of split stake in ve33. @copilot

Done. splitStake has been removed from Ve33 and IVe33 (along with the CannotSplitStakeIntoItself and SplitAmountMustBeLessThanStakeAmount errors). Both VeToken.splitStake and VeToken._mergeStakes now delegate to Ve33.moveStake. The "source must stay nonzero" invariant is enforced in VeToken.splitStake (using its own SplitAmountMustBeLessThanStakeAmount error) before calling moveStake. Tests and the audit doc updated accordingly.

…kenSymbol, and decimals as arguments

Co-authored-by: moodysalem <7897876+moodysalem@users.noreply.github.com>

Copilot AI commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

make the name and symbol and decimals set in the vetoken constructor into arguments instead of computing them so we can use the vetoken for eth or other chain native tokens @copilot

Done. The VeToken constructor now accepts name_, symbol_, stakeTokenName_, stakeTokenSymbol_, and stakeTokenDecimals_ as explicit arguments instead of fetching them from the stake token contract. This removes the IERC20 calls in the constructor entirely, so native-token (ETH) and other chain-native tokens work without any special-casing. All call sites in the test suite have been updated accordingly.

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.

3 participants