refactor(archive): move historical contracts and adapters to archive directory
- Archived multiple non-EVM adapters (Algorand, Hedera, Tron, TON, Cosmos, Solana) and compliance contracts (IndyVerifier) to `archive/solidity/contracts/`. - Updated documentation to reflect the historical status of archived components. - Adjusted `foundry.toml` and `README.md` for clarity on historical dependencies and configurations. - Enhanced Makefile and package.json scripts for improved contract testing and building processes. - Removed obsolete contracts (AlltraCustomBridge, CommodityCCIPBridge, ISO4217WCCIPBridge, VaultBridgeAdapter) from the main directory. - Updated implementation reports to indicate archived status for various components.
This commit is contained in:
47
script/flash/SweepAaveQuotePushFlashReceiverSurplus.s.sol
Normal file
47
script/flash/SweepAaveQuotePushFlashReceiverSurplus.s.sol
Normal file
@@ -0,0 +1,47 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
pragma solidity ^0.8.20;
|
||||
|
||||
import {Script, console} from "forge-std/Script.sol";
|
||||
import {AaveQuotePushFlashReceiver} from "../../contracts/flash/AaveQuotePushFlashReceiver.sol";
|
||||
|
||||
/**
|
||||
* @title SweepAaveQuotePushFlashReceiverSurplus
|
||||
* @notice Owner-operated surplus recovery for a deployed AaveQuotePushFlashReceiver.
|
||||
*
|
||||
* Env:
|
||||
* PRIVATE_KEY required (must be receiver owner)
|
||||
* AAVE_QUOTE_PUSH_RECEIVER_MAINNET required
|
||||
* QUOTE_PUSH_SURPLUS_TOKEN_MAINNET optional; defaults to USDC mainnet
|
||||
* QUOTE_PUSH_SURPLUS_RECIPIENT optional; defaults to deployer derived from PRIVATE_KEY
|
||||
* QUOTE_PUSH_SURPLUS_RESERVE_RAW optional; keep this much on receiver when sweeping surplus mode
|
||||
* QUOTE_PUSH_SURPLUS_EXACT_AMOUNT_RAW optional; if > 0, sweep this exact amount via sweepToken()
|
||||
*/
|
||||
contract SweepAaveQuotePushFlashReceiverSurplus is Script {
|
||||
address internal constant DEFAULT_USDC_MAINNET = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;
|
||||
|
||||
function run() external {
|
||||
uint256 pk = vm.envUint("PRIVATE_KEY");
|
||||
address receiver = vm.envAddress("AAVE_QUOTE_PUSH_RECEIVER_MAINNET");
|
||||
address token = vm.envOr("QUOTE_PUSH_SURPLUS_TOKEN_MAINNET", DEFAULT_USDC_MAINNET);
|
||||
address deployer = vm.addr(pk);
|
||||
address recipient = vm.envOr("QUOTE_PUSH_SURPLUS_RECIPIENT", deployer);
|
||||
uint256 reserveRetained = vm.envOr("QUOTE_PUSH_SURPLUS_RESERVE_RAW", uint256(0));
|
||||
uint256 exactAmount = vm.envOr("QUOTE_PUSH_SURPLUS_EXACT_AMOUNT_RAW", uint256(0));
|
||||
|
||||
console.log("receiver", receiver);
|
||||
console.log("token", token);
|
||||
console.log("recipient", recipient);
|
||||
console.log("reserveRetained", reserveRetained);
|
||||
console.log("exactAmount", exactAmount);
|
||||
|
||||
vm.startBroadcast(pk);
|
||||
if (exactAmount > 0) {
|
||||
AaveQuotePushFlashReceiver(receiver).sweepToken(token, recipient, exactAmount);
|
||||
console.log("sweptExact", exactAmount);
|
||||
} else {
|
||||
uint256 swept = AaveQuotePushFlashReceiver(receiver).sweepQuoteSurplus(token, recipient, reserveRetained);
|
||||
console.log("sweptSurplus", swept);
|
||||
}
|
||||
vm.stopBroadcast();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user