ISalvageManager
Interface reference for ISalvageManager.
Interface
// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; /** * @title ISalvageManager * @notice Interface for the salvage token distribution manager */ interface ISalvageManager { /** * @notice Record a salvage deposit from a claimed policy * @param salvageToken Token address * @param amount Amount of salvage tokens * @param snapshotId Snapshot ID for pro-rata distribution */ function recordSalvageDeposit(address salvageToken, uint256 amount, uint256 snapshotId) external; /** * @notice Distribute accumulated salvage tokens to a user * @param user User address * @param salvageToken Token address */ function distributeSalvage(address user, address salvageToken) external; /** * @notice Distribute salvage tokens with a custom round limit * @param user User address * @param salvageToken Token address * @param maxRounds Maximum rounds to process (0 processes all remaining) */ function distributeSalvage(address user, address salvageToken, uint256 maxRounds) external; /** * @notice Initialize a salvage snapshot for pending deposits * @param salvageToken Token address * @param snapshotId Snapshot ID to use */ function initializeSalvageSnapshot(address salvageToken, uint256 snapshotId) external; /** * @notice Get all salvage tokens tracked * @return Array of salvage token addresses */ function getSalvageTokens() external view returns (address[] memory); }