UNPKG

@vechain/vebetterdao-contracts

Version:

Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.

191 lines (190 loc) 8.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.upgradeConfig = void 0; exports.upgradeConfig = { "Voter Rewards": { name: "voter-rewards", configAddressField: "voterRewardsContractAddress", versions: ["v2", "v3", "v4", "v5", "v6", "v7"], descriptions: { v2: "Add the ability to toggle quadratic rewarding on and off.", v3: "Vechain Nodes x GM upgrades feature", v4: "Update GalaxyMember interface to use version 3", v5: "Proposal Execution: Add GM Pool for GM Holder Rewards", v6: "Integrate Auto-voting relayer rewards pool and fees", v7: "Add rewards multipliers (freshness + governance intent) + NavigatorRegistry", }, }, B3TRGovernor: { name: "b3tr-governor", versions: ["v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10"], configAddressField: "b3trGovernorAddress", descriptions: { v2: "Give ability to contract admins to call governance only functions", v3: "Add the ability to toggle quadratic voting on and off.", v4: "Integrate VeBetterPassport contract", v5: "Vechain Nodes x GM upgrades feature", v6: "Proposal Execution: Add GM Pool for GM Holder Rewards (Align IVoterRwards)", v7: "Proposal Execution + Grants Feature: Add extra voting power based on support tokens + deposit threshold cap + proposal type concept", v8: "Give ability to mark proposals as in development/completed", v9: "Give ability to provide a reason for proposal cancellation", v10: "Refactor to library architecture + governance intent multiplier + NavigatorRegistry + RelayerRewardsPool (initializeV10) + castNavigatorVote", }, }, XAllocationVoting: { name: "x-allocation-voting", configAddressField: "xAllocationVotingContractAddress", versions: ["v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10"], descriptions: { v2: "Integrate VeBetterPassport contract", v3: "Update X2Earn interface to include new endorsement feature", v4: "Update X2Earn interface to include node cooldown feature", v5: "Fix casting votes multiple times for same app in single transaction", v6: "Proposal Execution: Add GM Pool for GM Holder Rewards (Align IVoterRwards and IEmissions)", v7: "Proposal Execution: Count proposal deposits to x-allocation voting power", v8: "Add Auto-Voting functionality", v9: "Refactor to library architecture + freshness multiplier + hasUserVotedForApp + NavigatorRegistry", v10: "Fix relayer vote double-processing (auto-vote and navigator)", }, }, "XAllocation Pool": { name: "x-allocation-pool", configAddressField: "xAllocationPoolContractAddress", versions: ["v2", "v3", "v4", "v5", "v6", "v7"], descriptions: { v2: "Add the abilty to toggle quadratic funding on and off.", v3: "Update X2Earn interface to include new endorsement feature", v4: "Update X2Earn interface to include node cooldown feature", v5: "Updated X2EarnRewardsPool interface to support app rewards management feature", v6: "Proposal Execution: Add GM Pool for GM Holder Rewards (Align IEmissions)", v7: "Proposal Execution: Store unallocated funds for each round", }, }, X2EarnApps: { name: "x2-earn-apps", configAddressField: "x2EarnAppsContractAddress", versions: ["v2", "v3", "v4", "v5", "v6", "v7", "v8"], descriptions: { v2: "Add xapp endorsement module", v3: "Add node cooldown feature", v4: "Enabling by default the rewards pool for new apps submitted", v5: "Restricting one app per creator holding a creator NFT", v6: "Use NodeManagementV3", v7: "Replace NodeManagement with StargateNFT", v8: "Refactor for new endorsement system", }, }, "X2Earn Rewards Pool": { name: "x2-earn-rewards-pool", configAddressField: "x2EarnRewardsPoolContractAddress", versions: ["v2", "v3", "v4", "v5", "v6", "v7", "v8"], descriptions: { v2: "Add onchain impacts and proof generation", v3: "Integrate VeBetterPassport contract", v4: "Update X2Earn interface to include new endorsement feature", v5: "Update X2Earn interface to include node cooldown feature", v6: "Add onchain metadata for rewards", v7: "Add optional dual-pool balance to manage rewards and treasury separately", v8: "Add distributeRewardForRound variants to attribute actions to specific rounds", }, }, Emissions: { name: "emissions", configAddressField: "emissionsContractAddress", versions: ["v2", "v3"], descriptions: { v2: "Aligns the emissions with the expected B3TR emissions schedule", v3: "Proposal Execution: Add GM Pool for GM Holder Rewards", }, }, "VeBetter Passport": { name: "vebetter-passport", configAddressField: "veBetterPassportContractAddress", versions: ["v2", "v3", "v4", "v5"], descriptions: { v2: "Prevent delegation of passports to entities", v3: "Add GM level to personhood check", v4: "Add RESET_SIGNALER_ROLE, improve signaling management, and remove redundant app signal counters", v5: "Add per-round distinct app count tracking (userRoundAppCount)", }, }, "Galaxy Member": { name: "galaxy-member", configAddressField: "galaxyMemberContractAddress", versions: ["v2", "v3", "v4", "v5", "v6"], descriptions: { v2: "Vechain Nodes x GM upgrades feature", v3: "Add functions to checkpoint GM selection", v4: "Add event to emit GM Level when Node is Attached or Detached", v5: "Use NodeManagementV3, avoid calls to legacy VeChain Nodes contract", v6: "Replace NodeManagement with StargateNFT", }, }, "Node Management": { name: "node-management", configAddressField: "nodeManagementContractAddress", versions: ["v2"], descriptions: { v2: "Vechain Nodes x GM upgrades feature", }, }, "DBA Pool": { name: "dba-pool", configAddressField: "dbaPoolContractAddress", versions: ["v2", "v3"], descriptions: { v2: "Add tracking of DBA rewards per app per round and seed function for historical data", v3: "Merit-capped flat distribution with treasury overflow routing", }, }, "Grants Manager": { name: "grants-manager", configAddressField: "grantsManagerContractAddress", versions: ["v2", "v3"], descriptions: { v2: "Align with B3TRGovernor v8 new proposal state management", v3: "Allow grants receiver and GRANTS_APPROVER_ROLE to update milestone metadata URI (expenditure reports)", }, }, "X2Earn Creator": { name: "x2-earn-creator", configAddressField: "x2EarnCreatorContractAddress", versions: ["v2"], descriptions: { v2: "Add self-minting functionality gated by admin-controlled flag", }, }, "Relayer Rewards Pool": { name: "relayer-rewards-pool", configAddressField: "relayerRewardsPoolContractAddress", versions: ["v2", "v3"], descriptions: { v2: "Allow users to set a preferred relayer for early-access vote and claim actions", v3: "Granular expected-action reductions and governance-weighted relayer vote registration", }, }, VOT3: { name: "vot3", configAddressField: "vot3ContractAddress", versions: ["v2"], descriptions: { v2: "Set NavigatorRegistry for delegation lock enforcement", }, }, "Navigator Registry": { name: "navigator-registry", configAddressField: "navigatorRegistryContractAddress", versions: ["v1-hotfix"], descriptions: { "v1-hotfix": "Add VOT3 unlocked-balance check on delegate/increaseDelegation; reinitializer caps over-delegated citizens at their balance", }, }, "B3TR Challenges": { name: "b3tr-challenges", configAddressField: "challengesContractAddress", versions: ["v2"], descriptions: { v2: "Gate join/claim on VeBetterPassport.isPerson(); skip non-persons in completeChallenge bestScore selection", }, }, };