|
| 1 | +// SPDX-License-Identifier: MIT |
| 2 | +// |
| 3 | +// _____ _ _ |
| 4 | +// |_ _| | | (_) |
| 5 | +// | | ___ _ __ __| | ___ _ __ _ _______ |
| 6 | +// | |/ _ \ '_ \ / _` |/ _ \ '__| |_ / _ \ |
| 7 | +// | | __/ | | | (_| | __/ | | |/ / __/ |
| 8 | +// \_/\___|_| |_|\__,_|\___|_| |_/___\___| |
| 9 | +// |
| 10 | +// Copyright (c) Tenderize Labs Ltd |
| 11 | + |
| 12 | +// solhint-disable no-console |
| 13 | + |
| 14 | +pragma solidity 0.8.25; |
| 15 | + |
| 16 | +import { Script, console2 } from "forge-std/Script.sol"; |
| 17 | + |
| 18 | +import { MultiValidatorLST } from "core/multi-validator/MultiValidatorLST.sol"; |
| 19 | +import { MultiValidatorFactory } from "core/multi-validator/Factory.sol"; |
| 20 | +import { FlashUnstake, TenderSwap } from "core/multi-validator/FlashUnstake.sol"; |
| 21 | +import { Tenderizer } from "core/tenderize-v3/Tenderizer.sol"; |
| 22 | +import { LPT } from "core/adapters/LivepeerAdapter.sol"; |
| 23 | +import { GRT } from "core/adapters/GraphAdapter.sol"; |
| 24 | +import { GraphAdapter } from "core/adapters/GraphAdapter.sol"; |
| 25 | +import { Registry } from "core/registry/Registry.sol"; |
| 26 | + |
| 27 | +import { ERC1967Proxy } from "openzeppelin-contracts/proxy/ERC1967/ERC1967Proxy.sol"; |
| 28 | +import { MockERC20 } from "solmate/test/utils/mocks/MockERC20.sol"; |
| 29 | +import { FlashUnstake } from "core/multi-validator/FlashUnstake.sol"; |
| 30 | + |
| 31 | +import { SeiAdapter } from "core/tenderize-v3/Sei/SeiAdapter.sol"; |
| 32 | +import { ISeiStaking, Delegation } from "core/tenderize-v3/Sei/Sei.sol"; |
| 33 | + |
| 34 | +address constant TENDERIZER_1 = 0x4b7339E599a599DBd7829a8ECA0d233ED4F7eA09; |
| 35 | +address constant TENDERIZER_2 = 0xFB32bF22B4F004a088c1E7d69e29492f5D7CD7E1; |
| 36 | +address constant TENDERIZER_3 = 0x6DFd5Cee0Ed2ec24Fdc814Ad857902DE01c065d6; |
| 37 | +address constant LIVEPEER_MINTER = 0xc20DE37170B45774e6CD3d2304017fc962f27252; |
| 38 | + |
| 39 | +import { MultiValidatorLST } from "core/multi-validator/MultiValidatorLST.sol"; |
| 40 | + |
| 41 | +contract MultiValidatorLST_Deploy is Script { |
| 42 | + bytes32 private constant salt = bytes32(uint256(1)); |
| 43 | + |
| 44 | + MultiValidatorFactory factory; |
| 45 | + // MultiValidatorLST lst; |
| 46 | + |
| 47 | + function run() public { |
| 48 | + uint256 privKey = vm.envUint("PRIVATE_KEY"); |
| 49 | + // address owner = 0xc1cFab553835D74717c4499793EEa6Ef198A3031; |
| 50 | + // vm.startBroadcast(owner); |
| 51 | + |
| 52 | + // Registry(0xa7cA8732Be369CaEaE8C230537Fc8EF82a3387EE).registerAdapter(address(GRT), address(new GraphAdapter())); |
| 53 | + // vm.stopBroadcast(); |
| 54 | + // address guy = 0x838afC2DE97D97A1ab478A8297292482A278A9CA; |
| 55 | + // address lst = 0x4003E23bE46f3Bf2B50c3c7F8B13aAeCDc71EA72; |
| 56 | + // vm.startBroadcast(guy); |
| 57 | + // // console2.log("unlock maturity", Tenderizer(payable(lst)).unlockMaturity(4)); |
| 58 | + // Tenderizer(payable(lst)).withdraw(guy, 116); |
| 59 | + |
| 60 | + // vm.stopBroadcast(); |
| 61 | + |
| 62 | + // livepeer 0x388b0faf9de300ffc21e3dc849202544901792cb |
| 63 | + // graph 0x9f5540f4a9777ea678d80a7b508dcd924a4b1187 |
| 64 | + vm.startBroadcast(privKey); |
| 65 | + |
| 66 | + address lpt = 0x388B0fAf9DE300ffC21e3DC849202544901792CB; |
| 67 | + address grt = 0x9F5540F4A9777Ea678D80A7b508DcD924a4b1187; |
| 68 | + |
| 69 | + // MultiValidatorLST(payable(lpt)).claimValidatorRewards(1); |
| 70 | + // MultiValidatorLST(payable(lpt)).claimValidatorRewards(2); |
| 71 | + // MultiValidatorLST(payable(lpt)).claimValidatorRewards(3); |
| 72 | + // MultiValidatorLST(payable(lpt)).claimValidatorRewards(4); |
| 73 | + // MultiValidatorLST(payable(lpt)).claimValidatorRewards(5); |
| 74 | + // MultiValidatorLST(payable(lpt)).claimValidatorRewards(6); |
| 75 | + // MultiValidatorLST(payable(lpt)).claimValidatorRewards(7); |
| 76 | + // MultiValidatorLST(payable(lpt)).claimValidatorRewards(8); |
| 77 | + // MultiValidatorLST(payable(lpt)).claimValidatorRewards(9); |
| 78 | + // MultiValidatorLST(payable(lpt)).claimValidatorRewards(10); |
| 79 | + // MultiValidatorLST(payable(lpt)).claimValidatorRewards(11); |
| 80 | + // MultiValidatorLST(payable(lpt)).claimValidatorRewards(12); |
| 81 | + // MultiValidatorLST(payable(lpt)).claimValidatorRewards(13); |
| 82 | + |
| 83 | + for (uint24 i = 1; i <= 13; i++) { |
| 84 | + MultiValidatorLST(payable(grt)).claimValidatorRewards(i); |
| 85 | + MultiValidatorLST(payable(lpt)).claimValidatorRewards(i); |
| 86 | + } |
| 87 | + |
| 88 | + vm.stopBroadcast(); |
| 89 | + } |
| 90 | +} |
0 commit comments