mirror of
https://github.com/datahaven-xyz/datahaven
synced 2026-05-24 09:50:01 +00:00
## Summary This PR removes the old merkle root-based rewards model and completes the migration to EigenLayer Rewards V2 distribution. The old model required operators to claim rewards by providing merkle proofs, while the new model uses `submitRewards` to send rewards directly to EigenLayer's `RewardsCoordinator`. ### Key Changes - **Smart Contracts**: Removed `RewardsRegistry`, `RewardsRegistryStorage`, `IRewardsRegistry`, and `SortedMerkleProof` contracts along with all merkle claim functions from `ServiceManagerBase` - **Substrate Pallets**: Removed merkle proof generation from `external-validators-rewards` pallet and deleted the entire `runtime-api` crate (no longer needed) - **Test Framework**: Removed all RewardsRegistry-related code from deployment scripts, CLI handlers, and TypeScript bindings - **Runtimes**: Cleaned up all three runtimes (testnet, stagenet, mainnet) to remove runtime API implementations and unused imports ### Files Removed **Contracts:** - `contracts/src/middleware/RewardsRegistry.sol` - `contracts/src/middleware/RewardsRegistryStorage.sol` - `contracts/src/interfaces/IRewardsRegistry.sol` - `contracts/src/libraries/SortedMerkleProof.sol` - `contracts/test/RewardsRegistry.t.sol` - `contracts/test/ServiceManagerRewardsRegistry.t.sol` **Substrate:** - `operator/pallets/external-validators-rewards/runtime-api/` (entire crate) **Test Framework:** - `test/suites/rewards-message.test.ts` ### Files Modified **Contracts:** - `ServiceManagerBase.sol` - Removed merkle claim functions - `ServiceManagerBaseStorage.sol` - Removed `operatorSetToRewardsRegistry` mapping - `IServiceManager.sol` - Removed interface members **Substrate:** - `external-validators-rewards` pallet - Removed merkle proof generation, simplified `EraRewardsUtils` struct - All runtime configs - Removed `ExternalValidatorsRewardsApi` implementations **Test Framework:** - Updated deployment scripts, CLI handlers, relayer configs, and TypeScript bindings ### Stats ``` 50 files changed, 966 insertions(+), 4453 deletions(-) ``` ## Test plan - [x] All Rust tests pass (`cargo test`) - [x] All contract tests pass (`forge test`) - [x] TypeScript type checking passes (`bun typecheck`) - [x] Contracts build successfully (`forge build`) - [x] Operator builds successfully (`cargo build --release --features fast-runtime`) - [ ] E2E tests pass (`bun test:e2e`)
31 lines
1,006 B
TypeScript
31 lines
1,006 B
TypeScript
import { defineConfig } from "@wagmi/cli";
|
|
import { actions, foundry } from "@wagmi/cli/plugins";
|
|
|
|
export default defineConfig({
|
|
out: "contract-bindings/generated.ts",
|
|
plugins: [
|
|
actions(), // TODO: Investigate why the actions() plugin is not functioning as expected. Refer to the @wagmi/cli documentation for potential solutions.
|
|
foundry({
|
|
project: "../contracts",
|
|
include: [
|
|
"BeefyClient.sol/**",
|
|
"AgentExecutor.sol/**",
|
|
"Gateway.sol/**",
|
|
"TransparentUpgradeableProxy.sol/**",
|
|
"Agent.sol/**",
|
|
"StrategyManager.sol/**",
|
|
"AVSDirectory.sol/**",
|
|
"DataHavenServiceManager.sol/**",
|
|
"EigenPodManager.sol/**",
|
|
"EigenPod.sol/**",
|
|
"UpgradeableBeacon.sol/**",
|
|
"RewardsCoordinator.sol/**",
|
|
"AllocationManager.sol/**",
|
|
"DelegationManager.sol/**",
|
|
"PermissionController.sol/**",
|
|
"IETHPOSDeposit.sol/**",
|
|
"StrategyBaseTVLLimits.sol/**"
|
|
]
|
|
})
|
|
]
|
|
});
|