Skip to content

feat(APP-517): Add Cryptex reward distribution and consolidate DAO reward architecture#1024

Closed
thekidnamedkd wants to merge 3 commits intomainfrom
app-517/strategy-refactor
Closed

feat(APP-517): Add Cryptex reward distribution and consolidate DAO reward architecture#1024
thekidnamedkd wants to merge 3 commits intomainfrom
app-517/strategy-refactor

Conversation

@thekidnamedkd
Copy link
Contributor

Description

Adds Cryptex-specific reward JSON generation for capital distributor campaign creation, and refactors the DAO reward
architecture for reuse across orgs.

Feature:

  • Cryptex-specific slot component (CryptexRewardsMembersFileDownload) registered to the campaign creation form via
    CAPITAL_DISTRIBUTOR_MEMBERS_FILE_DOWNLOAD slot
  • Dialog with "Include proposals since" date picker and total reward amount input
  • Calls GET /v2/token/rewards/:pluginAddress/:network?lookbackDate={ISO}&rewardTotalAmount={wei} to compute
    per-staker rewards based on governance participation
  • Downloads [{address, amount}] JSON for campaign upload

Refactor:

  • Consolidated 3 Katana DAOs (capitalDistributorTest, katanaCDDemo, katanaEmissionsTest) into single
    src/daos/katana/ directory
  • Scoped reward strategies per org: katana/rewards/ (gauge-based) and cryptex/rewards/ (token-based)
  • Moved CapitalDistributorDaoSlotId from capitalFlow module to capitalDistributor action where it belongs
  • Deleted src/daos/strategies/, capitalDistributorTest/, katanaCDDemo/, katanaEmissionsTest/

Not yet complete (pending backend / follow-up):

  • Backend endpoint not live — API service is wired but untestable end-to-end
  • Action encoder for claim+lock in the veLocker (needs refactor from Katana's gauge-based approach) — AC5
  • Plugin address resolved dynamically via TOKEN_VOTING plugin type, not yet hardcoded to 0x17a1688C56087aDe762721180e1cC1E831C73719 — AC4
  • String review by Evan and UI feedback from Selim — AC6/AC7

Type of Change

  • Minor: Feature (non-breaking change which adds new functionality)

Developer Checklist:

  • Manually smoke tested the functionality in a preview or locally
  • Confirmed there are no new warnings or errors in the browser console
  • (For User Stories only) Double-checked that all Acceptance Criteria are satisfied
  • Confirmed there are no new warnings on automated tests
  • Merged and published any dependent changes in downstream modules
  • Selected the correct base branch
  • Commented the code in hard-to-understand areas
  • Followed the code style guidelines of this project
  • Reviewed that the Files Changed in Github's UI reflect my intended changes
  • Confirmed the pipeline checks are not failing

Review Checklist:

  • (For User Stories only) Tested in a preview or locally that all Acceptance Criteria are satisfied
  • Confirmed that changes follow the code style guidelines of this project

@linear
Copy link

linear bot commented Mar 11, 2026

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.

1 participant