Add managed quote-push treasury workflows

This commit is contained in:
defiQUG
2026-04-13 21:37:33 -07:00
parent 2b52cc6e32
commit 7517869ea6
9 changed files with 429 additions and 39 deletions

View File

@@ -15,6 +15,7 @@ import {QuotePushTreasuryManager} from "../../contracts/flash/QuotePushTreasuryM
* QUOTE_PUSH_TREASURY_HARVEST optional; default 1
* QUOTE_PUSH_TREASURY_GAS_DISTRIBUTION_RAW optional; default 0
* QUOTE_PUSH_TREASURY_RECYCLE_DISTRIBUTION_RAW optional; default 0
* QUOTE_PUSH_TREASURY_TRANSFER_RECEIVER_OWNER_TO optional; when set, transfer receiver ownership
*/
contract ManageQuotePushTreasuryManager is Script {
function run() external {
@@ -23,6 +24,7 @@ contract ManageQuotePushTreasuryManager is Script {
bool harvest = vm.envOr("QUOTE_PUSH_TREASURY_HARVEST", uint256(1)) == 1;
uint256 gasAmount = vm.envOr("QUOTE_PUSH_TREASURY_GAS_DISTRIBUTION_RAW", uint256(0));
uint256 recycleAmount = vm.envOr("QUOTE_PUSH_TREASURY_RECYCLE_DISTRIBUTION_RAW", uint256(0));
address transferReceiverOwnerTo = vm.envOr("QUOTE_PUSH_TREASURY_TRANSFER_RECEIVER_OWNER_TO", address(0));
QuotePushTreasuryManager manager = QuotePushTreasuryManager(managerAddr);
@@ -30,6 +32,7 @@ contract ManageQuotePushTreasuryManager is Script {
console.log("harvest", harvest);
console.log("gasAmount", gasAmount);
console.log("recycleAmount", recycleAmount);
console.log("transferReceiverOwnerTo", transferReceiverOwnerTo);
console.log("quoteBalanceBefore", manager.quoteBalance());
console.log("availableBefore", manager.availableQuote());
console.log("receiverSweepableBefore", manager.receiverSweepableQuote());
@@ -42,6 +45,9 @@ contract ManageQuotePushTreasuryManager is Script {
if (gasAmount > 0 || recycleAmount > 0) {
manager.distributeToConfiguredRecipients(gasAmount, recycleAmount);
}
if (transferReceiverOwnerTo != address(0)) {
manager.transferManagedReceiverOwnership(transferReceiverOwnerTo);
}
vm.stopBroadcast();
console.log("quoteBalanceAfter", manager.quoteBalance());