@venusprotocol/governance-contracts 2.4.0-dev.3 → 2.5.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/@layerzerolabs/solidity-examples/contracts/libraries/BytesLib.sol/BytesLib.dbg.json +1 -1
- package/artifacts/@layerzerolabs/solidity-examples/contracts/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
- package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/LzApp.sol/LzApp.dbg.json +1 -1
- package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/NonblockingLzApp.sol/NonblockingLzApp.dbg.json +1 -1
- package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
- package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
- package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/interfaces/ILayerZeroUserApplicationConfig.sol/ILayerZeroUserApplicationConfig.dbg.json +1 -1
- package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/libs/LzLib.sol/LzLib.dbg.json +1 -1
- package/artifacts/@layerzerolabs/solidity-examples/contracts/lzApp/mocks/LZEndpointMock.sol/LZEndpointMock.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/security/Pausable.sol/Pausable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
- package/artifacts/build-info/{d2df901c99f2b9e01cfffb9042af258b.json → 55c66c9e0f80b7f400934081cbca14cd.json} +1 -1
- package/artifacts/contracts/Cross-chain/BaseOmnichainControllerDest.sol/BaseOmnichainControllerDest.dbg.json +1 -1
- package/artifacts/contracts/Cross-chain/BaseOmnichainControllerSrc.sol/BaseOmnichainControllerSrc.dbg.json +1 -1
- package/artifacts/contracts/Cross-chain/OmnichainExecutorOwner.sol/OmnichainExecutorOwner.dbg.json +1 -1
- package/artifacts/contracts/Cross-chain/OmnichainGovernanceExecutor.sol/OmnichainGovernanceExecutor.dbg.json +1 -1
- package/artifacts/contracts/Cross-chain/OmnichainProposalSender.sol/OmnichainProposalSender.dbg.json +1 -1
- package/artifacts/contracts/Cross-chain/interfaces/IOmnichainGovernanceExecutor.sol/IOmnichainGovernanceExecutor.dbg.json +1 -1
- package/artifacts/contracts/Cross-chain/interfaces/ITimelock.sol/ITimelock.dbg.json +1 -1
- package/artifacts/contracts/Governance/AccessControlManager.sol/AccessControlManager.dbg.json +1 -1
- package/artifacts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +1 -1
- package/artifacts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +1 -1
- package/artifacts/contracts/Governance/TimelockV8.sol/TimelockV8.dbg.json +1 -1
- package/artifacts/contracts/Utils/ACMCommandsAggregator.sol/ACMCommandsAggregator.dbg.json +4 -0
- package/artifacts/contracts/Utils/ACMCommandsAggregator.sol/ACMCommandsAggregator.json +251 -0
- package/artifacts/contracts/test/MockAccessTest.sol/MockAccessTest.dbg.json +1 -1
- package/artifacts/contracts/test/MockXVSVault.sol/MockXVSVault.dbg.json +1 -1
- package/artifacts/contracts/test/TestTimelockV8.sol/TestTimelockV8.dbg.json +1 -1
- package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/access/Ownable.sol/Ownable.dbg.json +1 -1
- package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
- package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
- package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +1 -1
- package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/Proxy.sol/Proxy.dbg.json +1 -1
- package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +1 -1
- package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
- package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
- package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/utils/Address.sol/Address.dbg.json +1 -1
- package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/utils/Context.sol/Context.dbg.json +1 -1
- package/artifacts/hardhat-deploy/solc_0.8/openzeppelin/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
- package/artifacts/hardhat-deploy/solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol/OptimizedTransparentUpgradeableProxy.dbg.json +1 -1
- package/contracts/Utils/ACMCommandsAggregator.sol +153 -0
- package/deploy/007-acm-commands-aggregator.ts +23 -0
- package/deploy/008-configure-acm-commands-aggregator.ts +430 -0
- package/deployments/arbitrumone/ACMCommandsAggregator.json +366 -0
- package/deployments/arbitrumone/solcInputs/c8adce9942919fd992f7532e82a0e082.json +43 -0
- package/deployments/arbitrumone.json +245 -0
- package/deployments/arbitrumone_addresses.json +1 -0
- package/deployments/arbitrumsepolia/ACMCommandsAggregator.json +366 -0
- package/deployments/arbitrumsepolia/solcInputs/8462bae4a0ff7e7203ecab090cdf091c.json +151 -0
- package/deployments/arbitrumsepolia.json +245 -0
- package/deployments/arbitrumsepolia_addresses.json +1 -0
- package/deployments/ethereum/ACMCommandsAggregator.json +366 -0
- package/deployments/ethereum/solcInputs/c8adce9942919fd992f7532e82a0e082.json +43 -0
- package/deployments/ethereum.json +245 -0
- package/deployments/ethereum_addresses.json +1 -0
- package/deployments/opbnbmainnet/ACMCommandsAggregator.json +366 -0
- package/deployments/opbnbmainnet/solcInputs/c8adce9942919fd992f7532e82a0e082.json +43 -0
- package/deployments/opbnbmainnet.json +245 -0
- package/deployments/opbnbmainnet_addresses.json +1 -0
- package/deployments/opbnbtestnet/ACMCommandsAggregator.json +366 -0
- package/deployments/opbnbtestnet/solcInputs/8462bae4a0ff7e7203ecab090cdf091c.json +151 -0
- package/deployments/opbnbtestnet.json +245 -0
- package/deployments/opbnbtestnet_addresses.json +1 -0
- package/deployments/sepolia/ACMCommandsAggregator.json +365 -0
- package/deployments/sepolia/solcInputs/06fc2b6f9f7e0e63c70222b8e0b27702.json +40 -0
- package/deployments/sepolia/solcInputs/8462bae4a0ff7e7203ecab090cdf091c.json +151 -0
- package/deployments/sepolia/solcInputs/c5ad99afd830582b4e18b887fc15722a.json +40 -0
- package/deployments/sepolia/solcInputs/d1b723608bc0e5c4e69b41a531154535.json +40 -0
- package/deployments/sepolia.json +245 -0
- package/deployments/sepolia_addresses.json +1 -0
- package/dist/deploy/007-acm-commands-aggregator.d.ts +4 -0
- package/dist/deploy/007-acm-commands-aggregator.d.ts.map +1 -0
- package/dist/deploy/007-acm-commands-aggregator.js +30 -0
- package/dist/deploy/007-acm-commands-aggregator.js.map +1 -0
- package/dist/deploy/008-configure-acm-commands-aggregator.d.ts +4 -0
- package/dist/deploy/008-configure-acm-commands-aggregator.d.ts.map +1 -0
- package/dist/deploy/008-configure-acm-commands-aggregator.js +361 -0
- package/dist/deploy/008-configure-acm-commands-aggregator.js.map +1 -0
- package/dist/helpers/permissions.d.ts +46 -0
- package/dist/helpers/permissions.d.ts.map +1 -0
- package/dist/helpers/permissions.js +399 -0
- package/dist/helpers/permissions.js.map +1 -0
- package/dist/typechain/contracts/Utils/ACMCommandsAggregator.d.ts +229 -0
- package/dist/typechain/contracts/Utils/ACMCommandsAggregator.d.ts.map +1 -0
- package/dist/typechain/contracts/Utils/ACMCommandsAggregator.js +3 -0
- package/dist/typechain/contracts/Utils/ACMCommandsAggregator.js.map +1 -0
- package/dist/typechain/contracts/Utils/index.d.ts +2 -0
- package/dist/typechain/contracts/Utils/index.d.ts.map +1 -0
- package/dist/typechain/contracts/Utils/index.js +3 -0
- package/dist/typechain/contracts/Utils/index.js.map +1 -0
- package/dist/typechain/contracts/index.d.ts +2 -0
- package/dist/typechain/contracts/index.d.ts.map +1 -1
- package/dist/typechain/factories/contracts/Utils/ACMCommandsAggregator__factory.d.ts +206 -0
- package/dist/typechain/factories/contracts/Utils/ACMCommandsAggregator__factory.d.ts.map +1 -0
- package/dist/typechain/factories/contracts/Utils/ACMCommandsAggregator__factory.js +280 -0
- package/dist/typechain/factories/contracts/Utils/ACMCommandsAggregator__factory.js.map +1 -0
- package/dist/typechain/factories/contracts/Utils/index.d.ts +2 -0
- package/dist/typechain/factories/contracts/Utils/index.d.ts.map +1 -0
- package/dist/typechain/factories/contracts/Utils/index.js +6 -0
- package/dist/typechain/factories/contracts/Utils/index.js.map +1 -0
- package/dist/typechain/factories/contracts/index.d.ts +1 -0
- package/dist/typechain/factories/contracts/index.d.ts.map +1 -1
- package/dist/typechain/factories/contracts/index.js +2 -1
- package/dist/typechain/factories/contracts/index.js.map +1 -1
- package/dist/typechain/index.d.ts +2 -0
- package/dist/typechain/index.d.ts.map +1 -1
- package/dist/typechain/index.js +3 -1
- package/dist/typechain/index.js.map +1 -1
- package/package.json +1 -1
- package/typechain/contracts/Utils/ACMCommandsAggregator.ts +440 -0
- package/typechain/contracts/Utils/index.ts +4 -0
- package/typechain/contracts/index.ts +3 -0
- package/typechain/factories/contracts/Utils/ACMCommandsAggregator__factory.ts +314 -0
- package/typechain/factories/contracts/Utils/index.ts +4 -0
- package/typechain/factories/contracts/index.ts +1 -0
- package/typechain/index.ts +2 -0
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
import { ethers } from "hardhat";
|
|
2
|
+
import { DeployFunction } from "hardhat-deploy/types";
|
|
3
|
+
import { HardhatRuntimeEnvironment } from "hardhat/types";
|
|
4
|
+
import { ACMCommandsAggregator } from "typechain";
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
AccountType,
|
|
8
|
+
getBinanceOraclePermissions,
|
|
9
|
+
getBoundValidatorPermissions,
|
|
10
|
+
getBoundValidatorRevokePermissions,
|
|
11
|
+
getChainlinkOraclePermissions,
|
|
12
|
+
getComptrollerPermissions,
|
|
13
|
+
getComptrollerRevokePermissions,
|
|
14
|
+
getConverterNetworkPermissions,
|
|
15
|
+
getConverterNetworkRevokePermissions,
|
|
16
|
+
getConverterPermissions,
|
|
17
|
+
getConvertersRevokePermissions,
|
|
18
|
+
getIRMPermissions,
|
|
19
|
+
getIRMRevokePermissions,
|
|
20
|
+
getOmniChainExecutorOwnerPermissions,
|
|
21
|
+
getOmniChainExecutorOwnerRevokePermissions,
|
|
22
|
+
getPoolRegistryPermissions,
|
|
23
|
+
getPoolRegistryRevokePermissions,
|
|
24
|
+
getPoolRegistryRevokePermissionsForWildcard,
|
|
25
|
+
getPrimeLiquidityProviderPermissions,
|
|
26
|
+
getPrimeLiquidityProviderRevokePermissions,
|
|
27
|
+
getPrimePermissions,
|
|
28
|
+
getPrimeRevokePermissions,
|
|
29
|
+
getProtocolShareReservePermissions,
|
|
30
|
+
getRedstoneOraclePermissions,
|
|
31
|
+
getRedstoneOracleRevokePermissions,
|
|
32
|
+
getResilientOraclePermissions,
|
|
33
|
+
getResilientOracleRevokePermissions,
|
|
34
|
+
getRewardDistributorPermissionsBlockbased,
|
|
35
|
+
getRewardDistributorPermissionsTimebased,
|
|
36
|
+
getRewardDistributorRevokePermissions,
|
|
37
|
+
getSFrxETHOraclePermissions,
|
|
38
|
+
getSFrxETHOracleRevokePermissions,
|
|
39
|
+
getVTokenPermissions,
|
|
40
|
+
getVTokenRevokePermissions,
|
|
41
|
+
getXVSBridgeAdminPermissions,
|
|
42
|
+
getXVSBridgeAdminRevokePermissions,
|
|
43
|
+
getXVSPermissions,
|
|
44
|
+
getXVSVaultPermissions,
|
|
45
|
+
getXVSVaultRevokePermissions,
|
|
46
|
+
getXVSVaultTreasuryPermissions,
|
|
47
|
+
getXVSVaultTreasuryRevokePermissions,
|
|
48
|
+
} from "../helpers/permissions";
|
|
49
|
+
|
|
50
|
+
const ARBITRUMONE_RESILIENT_ORACLE = "0xd55A98150e0F9f5e3F6280FC25617A5C93d96007";
|
|
51
|
+
const ARBITRUMONE_CHAINLINK_ORACLE = "0x9cd9Fcc7E3dEDA360de7c080590AaD377ac9F113";
|
|
52
|
+
const ARBITRUMONE_REDSTONE_ORACLE = "0xF792C4D3BdeF534D6d1dcC305056D00C95453dD6";
|
|
53
|
+
const ARBITRUMONE_BOUND_VALIDATOR = "0x2245FA2420925Cd3C2D889Ddc5bA1aefEF0E14CF";
|
|
54
|
+
const ETHEREUM_RESILIENT_ORACLE = "0xd2ce3fb018805ef92b8C5976cb31F84b4E295F94";
|
|
55
|
+
const ETHEREUM_CHAINLINK_ORACLE = "0x94c3A2d6B7B2c051aDa041282aec5B0752F8A1F2";
|
|
56
|
+
const ETHEREUM_REDSTONE_ORACLE = "0x0FC8001B2c9Ec90352A46093130e284de5889C86";
|
|
57
|
+
const ETHEREUM_BOUND_VALIDATOR = "0x1Cd5f336A1d28Dff445619CC63d3A0329B4d8a58";
|
|
58
|
+
const ETHEREUM_sFrxETH_ORACLE = "0x5E06A5f48692E4Fff376fDfCA9E4C0183AAADCD1";
|
|
59
|
+
const OPBNBMAINNET_RESILIENT_ORACLE = "0x8f3618c4F0183e14A218782c116fb2438571dAC9";
|
|
60
|
+
const OPBNBMAINNET_BINANCE_ORACLE = "0xB09EC9B628d04E1287216Aa3e2432291f50F9588";
|
|
61
|
+
const OPBNBMAINNET_BOUND_VALIDATOR = "0xd1f80C371C6E2Fa395A5574DB3E3b4dAf43dadCE";
|
|
62
|
+
const ARBITRUMSEPOLIA_RESILIENT_ORACLE = "0x6708bAd042916B47311c8078b29d7f432342102F";
|
|
63
|
+
const ARBITRUMSEPOLIA_CHAINLINK_ORACLE = "0xeDd02c7FfA31490b4107e8f2c25e9198a04F9E45";
|
|
64
|
+
const ARBITRUMSEPOLIA_REDSTONE_ORACLE = "0x15058891ca0c71Bd724b873c41596A682420613C";
|
|
65
|
+
const ARBITRUMSEPOLIA_BOUND_VALIDATOR = "0xfe6bc1545Cc14C131bacA97476D6035ffcC0b889";
|
|
66
|
+
const SEPOLIA_RESILIENT_ORACLE = "0x8000eca36201dddf5805Aa4BeFD73d1EB4D23264";
|
|
67
|
+
const SEPOLIA_CHAINLINK_ORACLE = "0x102F0b714E5d321187A4b6E5993358448f7261cE";
|
|
68
|
+
const SEPOLIA_REDSTONE_ORACLE = "0x4e6269Ef406B4CEE6e67BA5B5197c2FfD15099AE";
|
|
69
|
+
const SEPOLIA_BOUND_VALIDATOR = "0x60c4Aa92eEb6884a76b309Dd8B3731ad514d6f9B";
|
|
70
|
+
const SEPOLIA_sFrxETH_ORACLE = "0x61EB836afA467677e6b403D504fe69D6940e7996";
|
|
71
|
+
const OPBNBTESTNET_RESILIENT_ORACLE = "0xEF4e53a9A4565ef243A2f0ee9a7fc2410E1aA623";
|
|
72
|
+
const OPBNBTESTNET_BINANCE_ORACLE = "0x496B6b03469472572C47bdB407d5549b244a74F2";
|
|
73
|
+
const OPBNBTESTNET_BOUND_VALIDATOR = "0x049537Bb065e6253e9D8D08B45Bf6b753657A746";
|
|
74
|
+
|
|
75
|
+
const ARBITRUMONE_XVS = "0xc1Eb7689147C81aC840d4FF0D298489fc7986d52";
|
|
76
|
+
const ETHEREUM_XVS = "0xd3CC9d8f3689B83c91b7B59cAB4946B063EB894A";
|
|
77
|
+
const OPBNBMAINNET_XVS = "0x3E2e61F1c075881F3fB8dd568043d8c221fd5c61";
|
|
78
|
+
const ARBITRUMSEPOLIA_XVS = "0x877Dc896e7b13096D3827872e396927BbE704407";
|
|
79
|
+
const SEPOLIA_XVS = "0x66ebd019E86e0af5f228a0439EBB33f045CBe63E";
|
|
80
|
+
const OPBNBTESTNET_XVS = "0xc2931B1fEa69b6D6dA65a50363A8D75d285e4da9";
|
|
81
|
+
const ARBITRUMONE_XVS_BRIDGE_ADMIN = "0xf5d81C6F7DAA3F97A6265C8441f92eFda22Ad784";
|
|
82
|
+
const ETHEREUM_XVS_BRIDGE_ADMIN = "0x9C6C95632A8FB3A74f2fB4B7FfC50B003c992b96";
|
|
83
|
+
const OPBNBMAINNET_XVS_BRIDGE_ADMIN = "0x52fcE05aDbf6103d71ed2BA8Be7A317282731831";
|
|
84
|
+
const ARBITRUMSEPOLIA_XVS_BRIDGE_ADMIN = "0xc94578caCC89a29B044a0a1D54d20d48A645E5C8";
|
|
85
|
+
const SEPOLIA_XVS_BRIDGE_ADMIN = "0xd3c6bdeeadB2359F726aD4cF42EAa8B7102DAd9B";
|
|
86
|
+
const OPBNBTESTNET_XVS_BRIDGE_ADMIN = "0x19252AFD0B2F539C400aEab7d460CBFbf74c17ff";
|
|
87
|
+
|
|
88
|
+
const ARBITRUMONE_XVS_VAULT_PROXY = "0x8b79692AAB2822Be30a6382Eb04763A74752d5B4";
|
|
89
|
+
const ETHEREUM_XVS_VAULT_PROXY = "0xA0882C2D5DF29233A092d2887A258C2b90e9b994";
|
|
90
|
+
const OPBNBMAINNET_XVS_VAULT_PROXY = "0x7dc969122450749A8B0777c0e324522d67737988";
|
|
91
|
+
const ARBITRUMSEPOLIA_XVS_VAULT_PROXY = "0x407507DC2809D3aa31D54EcA3BEde5C5c4C8A17F";
|
|
92
|
+
const SEPOLIA_XVS_VAULT_PROXY = "0x1129f882eAa912aE6D4f6D445b2E2b1eCbA99fd5";
|
|
93
|
+
const OPBNBTESTNET_XVS_VAULT_PROXY = "0xB14A0e72C5C202139F78963C9e89252c1ad16f01";
|
|
94
|
+
|
|
95
|
+
const ETHEREUM_XVS_VAULT_TREASURY = "0xaE39C38AF957338b3cEE2b3E5d825ea88df02EfE";
|
|
96
|
+
const SEPOLIA_XVS_VAULT_TREASURY = "0xCCB08e5107b406E67Ad8356023dd489CEbc79B40";
|
|
97
|
+
|
|
98
|
+
const ETHEREUM_POOL_REGISTRY = "0x61CAff113CCaf05FFc6540302c37adcf077C5179";
|
|
99
|
+
const ARBITRUMONE_POOL_REGISTRY = "0x382238f07Bc4Fe4aA99e561adE8A4164b5f815DA";
|
|
100
|
+
const OPBNBMAINNET_POOL_REGISTRY = "0x345a030Ad22e2317ac52811AC41C1A63cfa13aEe";
|
|
101
|
+
const SEPOLIA_POOL_REGISTRY = "0x758f5715d817e02857Ba40889251201A5aE3E186";
|
|
102
|
+
const OPBNBTESTNET_POOL_REGISTRY = "0x560eA4e1cC42591E9f5F5D83Ad2fd65F30128951";
|
|
103
|
+
const ARBITRUMSEPOLIA_POOL_REGISTRY = "0xf93Df3135e0D555185c0BC888073374cA551C5fE";
|
|
104
|
+
|
|
105
|
+
const ARBITRUMONE_PRIME = "0xFE69720424C954A2da05648a0FAC84f9bf11Ef49";
|
|
106
|
+
const ARBITRUMONE_PLP = "0x86bf21dB200f29F21253080942Be8af61046Ec29";
|
|
107
|
+
const ARBITRUMONE_PSR = "0xF9263eaF7eB50815194f26aCcAB6765820B13D41";
|
|
108
|
+
const ETHEREUM_CONVERTER_NETWORK = "0x232CC47AECCC55C2CAcE4372f5B268b27ef7cac8";
|
|
109
|
+
const ETHEREUM_PRIME = "0x14C4525f47A7f7C984474979c57a2Dccb8EACB39";
|
|
110
|
+
const ETHEREUM_PLP = "0x8ba6aFfd0e7Bcd0028D1639225C84DdCf53D8872";
|
|
111
|
+
const ETHEREUM_PSR = "0x8c8c8530464f7D95552A11eC31Adbd4dC4AC4d3E";
|
|
112
|
+
const OPBNBMAINNET_PSR = "0xA2EDD515B75aBD009161B15909C19959484B0C1e";
|
|
113
|
+
const ARBITRUMSEPOLIA_PRIME = "0xadb04ac4942683bc41e27d18234c8dc884786e89";
|
|
114
|
+
const ARBITRUMSEPOLIA_PLP = "0xe82c2c10f55d3268126c29ec813dc6f086904694";
|
|
115
|
+
const ARBITRUMSEPOLIA_PSR = "0x09267d30798B59c581ce54E861A084C6FC298666";
|
|
116
|
+
const SEPOLIA_PRIME = "0x2Ec432F123FEbb114e6fbf9f4F14baF0B1F14AbC";
|
|
117
|
+
const SEPOLIA_PLP = "0x15242a55Ad1842A1aEa09c59cf8366bD2f3CE9B4";
|
|
118
|
+
const SEPOLIA_PSR = "0xbea70755cc3555708ca11219adB0db4C80F6721B";
|
|
119
|
+
const OPBNBTESTNET_PSR = "0xc355dEb1A9289f8C58CFAa076EEdBf51F3A8Da7F";
|
|
120
|
+
const SEPOLIA_CONVERTER_NETWORK = "0xB5A4208bFC4cC2C4670744849B8fC35B21A690Fa";
|
|
121
|
+
|
|
122
|
+
const ARBITRUMONE_GUARDIAN = "0x14e0E151b33f9802b3e75b621c1457afc44DcAA0";
|
|
123
|
+
const ETHEREUM_GUARDIAN = "0x285960C5B22fD66A736C7136967A3eB15e93CC67";
|
|
124
|
+
const OPBNBMAINNET_GUARDIAN = "0xC46796a21a3A9FAB6546aF3434F2eBfFd0604207";
|
|
125
|
+
const SEPOLIA_GUARDIAN = "0x94fa6078b6b8a26f0b6edffbe6501b22a10470fb";
|
|
126
|
+
const OPBNBTESTNET_GUARDIAN = "0xb15f6EfEbC276A3b9805df81b5FB3D50C2A62BDf";
|
|
127
|
+
const ARBITRUMSEPOLIA_GUARDIAN = "0x1426A5Ae009c4443188DA8793751024E358A61C2";
|
|
128
|
+
|
|
129
|
+
const ARBITRUMSEPOLIA_OMNICHAIN_EXECUTOR_OWNER = "0xfCA70dd553b7dF6eB8F813CFEA6a9DD039448878";
|
|
130
|
+
const SEPOLIA_OMNICHAIN_EXECUTOR_OWNER = "0xf964158C67439D01e5f17F0A3F39DfF46823F27A";
|
|
131
|
+
const OPBNBTESTNET_OMNICHAIN_EXECUTOR_OWNER = "0x4F570240FF6265Fbb1C79cE824De6408F1948913";
|
|
132
|
+
|
|
133
|
+
const ETHEREUM_CONVERTERS: string[] = [
|
|
134
|
+
"0xaE39C38AF957338b3cEE2b3E5d825ea88df02EfE",
|
|
135
|
+
"0x4f55cb0a24D5542a3478B0E284259A6B850B06BD",
|
|
136
|
+
"0xcEB9503f10B781E30213c0b320bCf3b3cE54216E",
|
|
137
|
+
"0xDcCDE673Cd8988745dA384A7083B0bd22085dEA0",
|
|
138
|
+
"0xb8fD67f215117FADeF06447Af31590309750529D",
|
|
139
|
+
"0x1FD30e761C3296fE36D9067b1e398FD97B4C0407",
|
|
140
|
+
];
|
|
141
|
+
const SEPOLIA_CONVERTERS: string[] = [
|
|
142
|
+
"0xCCB08e5107b406E67Ad8356023dd489CEbc79B40",
|
|
143
|
+
"0x3716C24EA86A67cAf890d7C9e4C4505cDDC2F8A2",
|
|
144
|
+
"0x511a559a699cBd665546a1F75908f7E9454Bfc67",
|
|
145
|
+
"0x8a3937F27921e859db3FDA05729CbCea8cfd82AE",
|
|
146
|
+
"0x274a834eFFA8D5479502dD6e78925Bc04ae82B46",
|
|
147
|
+
"0xc203bfA9dCB0B5fEC510Db644A494Ff7f4968ed2",
|
|
148
|
+
];
|
|
149
|
+
|
|
150
|
+
interface Permissions {
|
|
151
|
+
[key: string]: string[][];
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const grantPermissions: Permissions = {
|
|
155
|
+
arbitrumone: [
|
|
156
|
+
...getResilientOraclePermissions(ARBITRUMONE_RESILIENT_ORACLE),
|
|
157
|
+
...getChainlinkOraclePermissions(ARBITRUMONE_CHAINLINK_ORACLE),
|
|
158
|
+
...getRedstoneOraclePermissions(ARBITRUMONE_REDSTONE_ORACLE),
|
|
159
|
+
...getBoundValidatorPermissions(ARBITRUMONE_BOUND_VALIDATOR),
|
|
160
|
+
...getXVSPermissions(ARBITRUMONE_XVS),
|
|
161
|
+
...getXVSBridgeAdminPermissions(ARBITRUMONE_XVS_BRIDGE_ADMIN),
|
|
162
|
+
...getXVSVaultPermissions(ARBITRUMONE_XVS_VAULT_PROXY),
|
|
163
|
+
...getPoolRegistryPermissions(ARBITRUMONE_POOL_REGISTRY),
|
|
164
|
+
...getPrimePermissions(ARBITRUMONE_PRIME),
|
|
165
|
+
...getPrimeLiquidityProviderPermissions(ARBITRUMONE_PLP),
|
|
166
|
+
...getProtocolShareReservePermissions(ARBITRUMONE_PSR),
|
|
167
|
+
...getComptrollerPermissions(),
|
|
168
|
+
...getVTokenPermissions(),
|
|
169
|
+
...getRewardDistributorPermissionsTimebased(),
|
|
170
|
+
...getIRMPermissions(),
|
|
171
|
+
],
|
|
172
|
+
ethereum: [
|
|
173
|
+
...getResilientOraclePermissions(ETHEREUM_RESILIENT_ORACLE),
|
|
174
|
+
...getChainlinkOraclePermissions(ETHEREUM_CHAINLINK_ORACLE),
|
|
175
|
+
...getRedstoneOraclePermissions(ETHEREUM_REDSTONE_ORACLE),
|
|
176
|
+
...getBoundValidatorPermissions(ETHEREUM_BOUND_VALIDATOR),
|
|
177
|
+
...getSFrxETHOraclePermissions(ETHEREUM_sFrxETH_ORACLE),
|
|
178
|
+
...getXVSPermissions(ETHEREUM_XVS),
|
|
179
|
+
...getXVSBridgeAdminPermissions(ETHEREUM_XVS_BRIDGE_ADMIN),
|
|
180
|
+
...getXVSVaultPermissions(ETHEREUM_XVS_VAULT_PROXY),
|
|
181
|
+
...getPoolRegistryPermissions(ETHEREUM_POOL_REGISTRY),
|
|
182
|
+
...getPrimePermissions(ETHEREUM_PRIME),
|
|
183
|
+
...getPrimeLiquidityProviderPermissions(ETHEREUM_PLP),
|
|
184
|
+
...getProtocolShareReservePermissions(ETHEREUM_PSR),
|
|
185
|
+
...getConverterNetworkPermissions(ETHEREUM_CONVERTER_NETWORK),
|
|
186
|
+
...getComptrollerPermissions(),
|
|
187
|
+
...getVTokenPermissions(),
|
|
188
|
+
...getRewardDistributorPermissionsBlockbased(),
|
|
189
|
+
...getIRMPermissions(),
|
|
190
|
+
...getConverterPermissions(),
|
|
191
|
+
...getXVSVaultTreasuryPermissions(ETHEREUM_XVS_VAULT_TREASURY),
|
|
192
|
+
],
|
|
193
|
+
opbnbmainnet: [
|
|
194
|
+
...getResilientOraclePermissions(OPBNBMAINNET_RESILIENT_ORACLE),
|
|
195
|
+
...getBoundValidatorPermissions(OPBNBMAINNET_BOUND_VALIDATOR),
|
|
196
|
+
...getBinanceOraclePermissions(OPBNBMAINNET_BINANCE_ORACLE),
|
|
197
|
+
...getXVSPermissions(OPBNBMAINNET_XVS),
|
|
198
|
+
...getXVSBridgeAdminPermissions(OPBNBMAINNET_XVS_BRIDGE_ADMIN),
|
|
199
|
+
...getXVSVaultPermissions(OPBNBMAINNET_XVS_VAULT_PROXY),
|
|
200
|
+
...getPoolRegistryPermissions(OPBNBMAINNET_POOL_REGISTRY),
|
|
201
|
+
...getProtocolShareReservePermissions(OPBNBMAINNET_PSR),
|
|
202
|
+
...getComptrollerPermissions(),
|
|
203
|
+
...getVTokenPermissions(),
|
|
204
|
+
...getIRMPermissions(),
|
|
205
|
+
],
|
|
206
|
+
arbitrumsepolia: [
|
|
207
|
+
...getResilientOraclePermissions(ARBITRUMSEPOLIA_RESILIENT_ORACLE),
|
|
208
|
+
...getChainlinkOraclePermissions(ARBITRUMSEPOLIA_CHAINLINK_ORACLE),
|
|
209
|
+
...getRedstoneOraclePermissions(ARBITRUMSEPOLIA_REDSTONE_ORACLE),
|
|
210
|
+
...getBoundValidatorPermissions(ARBITRUMSEPOLIA_BOUND_VALIDATOR),
|
|
211
|
+
...getXVSPermissions(ARBITRUMSEPOLIA_XVS),
|
|
212
|
+
...getXVSBridgeAdminPermissions(ARBITRUMSEPOLIA_XVS_BRIDGE_ADMIN),
|
|
213
|
+
...getXVSVaultPermissions(ARBITRUMSEPOLIA_XVS_VAULT_PROXY),
|
|
214
|
+
...getPoolRegistryPermissions(ARBITRUMSEPOLIA_POOL_REGISTRY),
|
|
215
|
+
...getPrimePermissions(ARBITRUMSEPOLIA_PRIME),
|
|
216
|
+
...getPrimeLiquidityProviderPermissions(ARBITRUMSEPOLIA_PLP),
|
|
217
|
+
...getProtocolShareReservePermissions(ARBITRUMSEPOLIA_PSR),
|
|
218
|
+
...getComptrollerPermissions(),
|
|
219
|
+
...getVTokenPermissions(),
|
|
220
|
+
...getRewardDistributorPermissionsTimebased(),
|
|
221
|
+
...getIRMPermissions(),
|
|
222
|
+
...getOmniChainExecutorOwnerPermissions(ARBITRUMSEPOLIA_OMNICHAIN_EXECUTOR_OWNER, ARBITRUMSEPOLIA_GUARDIAN),
|
|
223
|
+
],
|
|
224
|
+
sepolia: [
|
|
225
|
+
...getResilientOraclePermissions(SEPOLIA_RESILIENT_ORACLE),
|
|
226
|
+
...getChainlinkOraclePermissions(SEPOLIA_CHAINLINK_ORACLE),
|
|
227
|
+
...getRedstoneOraclePermissions(SEPOLIA_REDSTONE_ORACLE),
|
|
228
|
+
...getBoundValidatorPermissions(SEPOLIA_BOUND_VALIDATOR),
|
|
229
|
+
...getSFrxETHOraclePermissions(SEPOLIA_sFrxETH_ORACLE),
|
|
230
|
+
...getXVSPermissions(SEPOLIA_XVS),
|
|
231
|
+
...getXVSBridgeAdminPermissions(SEPOLIA_XVS_BRIDGE_ADMIN),
|
|
232
|
+
...getXVSVaultPermissions(SEPOLIA_XVS_VAULT_PROXY),
|
|
233
|
+
...getPoolRegistryPermissions(SEPOLIA_POOL_REGISTRY),
|
|
234
|
+
...getPrimePermissions(SEPOLIA_PRIME),
|
|
235
|
+
...getPrimeLiquidityProviderPermissions(SEPOLIA_PLP),
|
|
236
|
+
...getProtocolShareReservePermissions(SEPOLIA_PSR),
|
|
237
|
+
...getConverterNetworkPermissions(SEPOLIA_CONVERTER_NETWORK),
|
|
238
|
+
...getComptrollerPermissions(),
|
|
239
|
+
...getVTokenPermissions(),
|
|
240
|
+
...getRewardDistributorPermissionsBlockbased(),
|
|
241
|
+
...getIRMPermissions(),
|
|
242
|
+
...getConverterPermissions(),
|
|
243
|
+
...getXVSVaultTreasuryPermissions(SEPOLIA_XVS_VAULT_TREASURY),
|
|
244
|
+
...getOmniChainExecutorOwnerPermissions(SEPOLIA_OMNICHAIN_EXECUTOR_OWNER, SEPOLIA_GUARDIAN),
|
|
245
|
+
],
|
|
246
|
+
opbnbtestnet: [
|
|
247
|
+
...getResilientOraclePermissions(OPBNBTESTNET_RESILIENT_ORACLE),
|
|
248
|
+
...getBoundValidatorPermissions(OPBNBTESTNET_BOUND_VALIDATOR),
|
|
249
|
+
...getBinanceOraclePermissions(OPBNBTESTNET_BINANCE_ORACLE),
|
|
250
|
+
...getXVSPermissions(OPBNBTESTNET_XVS),
|
|
251
|
+
...getXVSBridgeAdminPermissions(OPBNBTESTNET_XVS_BRIDGE_ADMIN),
|
|
252
|
+
...getXVSVaultPermissions(OPBNBTESTNET_XVS_VAULT_PROXY),
|
|
253
|
+
...getPoolRegistryPermissions(OPBNBTESTNET_POOL_REGISTRY),
|
|
254
|
+
...getProtocolShareReservePermissions(OPBNBTESTNET_PSR),
|
|
255
|
+
...getComptrollerPermissions(),
|
|
256
|
+
...getVTokenPermissions(),
|
|
257
|
+
...getIRMPermissions(),
|
|
258
|
+
...getOmniChainExecutorOwnerPermissions(OPBNBTESTNET_OMNICHAIN_EXECUTOR_OWNER, OPBNBTESTNET_GUARDIAN),
|
|
259
|
+
],
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
const revokePermissions: Permissions = {
|
|
263
|
+
arbitrumone: [
|
|
264
|
+
...getPrimeRevokePermissions(ARBITRUMONE_PRIME, ARBITRUMONE_GUARDIAN),
|
|
265
|
+
...getPrimeLiquidityProviderRevokePermissions(ARBITRUMONE_PLP, ARBITRUMONE_GUARDIAN),
|
|
266
|
+
...getResilientOracleRevokePermissions(ARBITRUMONE_RESILIENT_ORACLE, ARBITRUMONE_GUARDIAN),
|
|
267
|
+
...getBoundValidatorRevokePermissions(ARBITRUMONE_BOUND_VALIDATOR, ARBITRUMONE_GUARDIAN),
|
|
268
|
+
...getXVSVaultRevokePermissions(ARBITRUMONE_XVS, ARBITRUMONE_GUARDIAN),
|
|
269
|
+
...getRewardDistributorRevokePermissions(ARBITRUMONE_GUARDIAN, true),
|
|
270
|
+
...getIRMRevokePermissions(ARBITRUMONE_GUARDIAN),
|
|
271
|
+
...getPoolRegistryRevokePermissions(ARBITRUMONE_POOL_REGISTRY, ARBITRUMONE_GUARDIAN),
|
|
272
|
+
...getComptrollerRevokePermissions(ARBITRUMONE_GUARDIAN),
|
|
273
|
+
...getVTokenRevokePermissions(ARBITRUMONE_GUARDIAN),
|
|
274
|
+
...getXVSBridgeAdminRevokePermissions(ARBITRUMONE_XVS_BRIDGE_ADMIN, ARBITRUMONE_GUARDIAN),
|
|
275
|
+
...getRedstoneOracleRevokePermissions(ARBITRUMONE_REDSTONE_ORACLE, ARBITRUMONE_GUARDIAN),
|
|
276
|
+
],
|
|
277
|
+
ethereum: [
|
|
278
|
+
...getPrimeRevokePermissions(ETHEREUM_PRIME, ETHEREUM_GUARDIAN),
|
|
279
|
+
...getPrimeLiquidityProviderRevokePermissions(ETHEREUM_PLP, ETHEREUM_GUARDIAN),
|
|
280
|
+
...getResilientOracleRevokePermissions(ETHEREUM_RESILIENT_ORACLE, ETHEREUM_GUARDIAN),
|
|
281
|
+
...getBoundValidatorRevokePermissions(ETHEREUM_BOUND_VALIDATOR, ETHEREUM_GUARDIAN),
|
|
282
|
+
...getXVSVaultRevokePermissions(ETHEREUM_XVS, ETHEREUM_GUARDIAN),
|
|
283
|
+
...getRewardDistributorRevokePermissions(ETHEREUM_GUARDIAN, false),
|
|
284
|
+
...getIRMRevokePermissions(ETHEREUM_GUARDIAN),
|
|
285
|
+
...getPoolRegistryRevokePermissions(ETHEREUM_POOL_REGISTRY, ETHEREUM_GUARDIAN),
|
|
286
|
+
...getComptrollerRevokePermissions(ETHEREUM_GUARDIAN),
|
|
287
|
+
...getVTokenRevokePermissions(ETHEREUM_GUARDIAN),
|
|
288
|
+
...getRedstoneOracleRevokePermissions(ETHEREUM_REDSTONE_ORACLE, ETHEREUM_GUARDIAN),
|
|
289
|
+
...getConverterNetworkRevokePermissions(ETHEREUM_CONVERTER_NETWORK, ETHEREUM_GUARDIAN),
|
|
290
|
+
...getSFrxETHOracleRevokePermissions(ETHEREUM_sFrxETH_ORACLE, ETHEREUM_GUARDIAN),
|
|
291
|
+
...getConvertersRevokePermissions(ETHEREUM_CONVERTERS, ETHEREUM_GUARDIAN),
|
|
292
|
+
...getXVSVaultTreasuryRevokePermissions(ETHEREUM_XVS_VAULT_TREASURY, ETHEREUM_GUARDIAN),
|
|
293
|
+
...getXVSBridgeAdminRevokePermissions(ETHEREUM_XVS_BRIDGE_ADMIN, ETHEREUM_GUARDIAN),
|
|
294
|
+
],
|
|
295
|
+
opbnbmainnet: [
|
|
296
|
+
...getResilientOracleRevokePermissions(OPBNBMAINNET_RESILIENT_ORACLE, OPBNBMAINNET_GUARDIAN),
|
|
297
|
+
...getBoundValidatorRevokePermissions(OPBNBMAINNET_BOUND_VALIDATOR, OPBNBMAINNET_GUARDIAN),
|
|
298
|
+
...getXVSVaultRevokePermissions(OPBNBMAINNET_XVS, OPBNBMAINNET_GUARDIAN),
|
|
299
|
+
...getIRMRevokePermissions(OPBNBMAINNET_GUARDIAN),
|
|
300
|
+
...getPoolRegistryRevokePermissions(OPBNBMAINNET_POOL_REGISTRY, OPBNBMAINNET_GUARDIAN),
|
|
301
|
+
...getComptrollerRevokePermissions(OPBNBMAINNET_GUARDIAN),
|
|
302
|
+
...getVTokenRevokePermissions(OPBNBMAINNET_GUARDIAN),
|
|
303
|
+
...getXVSBridgeAdminRevokePermissions(OPBNBMAINNET_XVS_BRIDGE_ADMIN, OPBNBMAINNET_GUARDIAN),
|
|
304
|
+
],
|
|
305
|
+
opbnbtestnet: [
|
|
306
|
+
...getResilientOracleRevokePermissions(OPBNBTESTNET_RESILIENT_ORACLE, OPBNBTESTNET_GUARDIAN),
|
|
307
|
+
...getBoundValidatorRevokePermissions(OPBNBTESTNET_BOUND_VALIDATOR, OPBNBTESTNET_GUARDIAN),
|
|
308
|
+
...getXVSVaultRevokePermissions(OPBNBTESTNET_XVS, OPBNBTESTNET_GUARDIAN),
|
|
309
|
+
...getIRMRevokePermissions(OPBNBTESTNET_GUARDIAN),
|
|
310
|
+
...getPoolRegistryRevokePermissionsForWildcard(OPBNBTESTNET_GUARDIAN),
|
|
311
|
+
...getComptrollerRevokePermissions(OPBNBTESTNET_GUARDIAN),
|
|
312
|
+
...getVTokenRevokePermissions(OPBNBTESTNET_GUARDIAN),
|
|
313
|
+
...getXVSBridgeAdminRevokePermissions(OPBNBTESTNET_XVS_BRIDGE_ADMIN, OPBNBTESTNET_GUARDIAN),
|
|
314
|
+
...getRewardDistributorRevokePermissions(OPBNBTESTNET_GUARDIAN, false),
|
|
315
|
+
...getOmniChainExecutorOwnerRevokePermissions(OPBNBTESTNET_OMNICHAIN_EXECUTOR_OWNER, OPBNBTESTNET_GUARDIAN),
|
|
316
|
+
],
|
|
317
|
+
sepolia: [
|
|
318
|
+
...getPrimeRevokePermissions(SEPOLIA_PRIME, SEPOLIA_GUARDIAN),
|
|
319
|
+
...getPrimeLiquidityProviderRevokePermissions(SEPOLIA_PLP, SEPOLIA_GUARDIAN),
|
|
320
|
+
...getResilientOracleRevokePermissions(SEPOLIA_RESILIENT_ORACLE, SEPOLIA_GUARDIAN),
|
|
321
|
+
...getBoundValidatorRevokePermissions(SEPOLIA_BOUND_VALIDATOR, SEPOLIA_GUARDIAN),
|
|
322
|
+
...getXVSVaultRevokePermissions(SEPOLIA_XVS, SEPOLIA_GUARDIAN),
|
|
323
|
+
...getRewardDistributorRevokePermissions(SEPOLIA_GUARDIAN, false),
|
|
324
|
+
...getIRMRevokePermissions(SEPOLIA_GUARDIAN),
|
|
325
|
+
...getPoolRegistryRevokePermissions(SEPOLIA_POOL_REGISTRY, SEPOLIA_GUARDIAN),
|
|
326
|
+
...getComptrollerRevokePermissions(SEPOLIA_GUARDIAN),
|
|
327
|
+
...getVTokenRevokePermissions(SEPOLIA_GUARDIAN),
|
|
328
|
+
...getRedstoneOracleRevokePermissions(SEPOLIA_REDSTONE_ORACLE, SEPOLIA_GUARDIAN),
|
|
329
|
+
...getConverterNetworkRevokePermissions(SEPOLIA_CONVERTER_NETWORK, SEPOLIA_GUARDIAN),
|
|
330
|
+
...getSFrxETHOracleRevokePermissions(SEPOLIA_sFrxETH_ORACLE, SEPOLIA_GUARDIAN),
|
|
331
|
+
...getConvertersRevokePermissions(SEPOLIA_CONVERTERS, SEPOLIA_GUARDIAN),
|
|
332
|
+
...getXVSVaultTreasuryRevokePermissions(SEPOLIA_XVS_VAULT_TREASURY, SEPOLIA_GUARDIAN),
|
|
333
|
+
...getXVSBridgeAdminRevokePermissions(SEPOLIA_XVS_BRIDGE_ADMIN, SEPOLIA_GUARDIAN),
|
|
334
|
+
...getOmniChainExecutorOwnerRevokePermissions(SEPOLIA_OMNICHAIN_EXECUTOR_OWNER, SEPOLIA_GUARDIAN),
|
|
335
|
+
],
|
|
336
|
+
arbitrumsepolia: [
|
|
337
|
+
...getPrimeRevokePermissions(ARBITRUMSEPOLIA_PRIME, ARBITRUMSEPOLIA_GUARDIAN),
|
|
338
|
+
...getPrimeLiquidityProviderRevokePermissions(ARBITRUMSEPOLIA_PLP, ARBITRUMSEPOLIA_GUARDIAN),
|
|
339
|
+
...getResilientOracleRevokePermissions(ARBITRUMSEPOLIA_RESILIENT_ORACLE, ARBITRUMSEPOLIA_GUARDIAN),
|
|
340
|
+
...getBoundValidatorRevokePermissions(ARBITRUMSEPOLIA_BOUND_VALIDATOR, ARBITRUMSEPOLIA_GUARDIAN),
|
|
341
|
+
...getXVSVaultRevokePermissions(ARBITRUMSEPOLIA_XVS, ARBITRUMSEPOLIA_GUARDIAN),
|
|
342
|
+
...getRewardDistributorRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN, true),
|
|
343
|
+
...getIRMRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN),
|
|
344
|
+
...getPoolRegistryRevokePermissionsForWildcard(ARBITRUMSEPOLIA_GUARDIAN),
|
|
345
|
+
...getComptrollerRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN),
|
|
346
|
+
...getVTokenRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN),
|
|
347
|
+
...getXVSBridgeAdminRevokePermissions(ARBITRUMSEPOLIA_XVS_BRIDGE_ADMIN, ARBITRUMSEPOLIA_GUARDIAN),
|
|
348
|
+
...getRedstoneOracleRevokePermissions(ARBITRUMSEPOLIA_REDSTONE_ORACLE, ARBITRUMSEPOLIA_GUARDIAN),
|
|
349
|
+
...getOmniChainExecutorOwnerRevokePermissions(ARBITRUMSEPOLIA_OMNICHAIN_EXECUTOR_OWNER, ARBITRUMSEPOLIA_GUARDIAN),
|
|
350
|
+
],
|
|
351
|
+
};
|
|
352
|
+
|
|
353
|
+
function splitPermissions(
|
|
354
|
+
array: ACMCommandsAggregator.PermissionStruct[],
|
|
355
|
+
chunkSize: number = 200,
|
|
356
|
+
): ACMCommandsAggregator.PermissionStruct[][] {
|
|
357
|
+
const result: ACMCommandsAggregator.PermissionStruct[][] = [];
|
|
358
|
+
|
|
359
|
+
for (let i = 0; i < array.length; i += chunkSize) {
|
|
360
|
+
const chunk = array.slice(i, i + chunkSize);
|
|
361
|
+
result.push(chunk);
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
return result;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
|
|
368
|
+
const acmCommandsAggregator: ACMCommandsAggregator = await ethers.getContract("ACMCommandsAggregator");
|
|
369
|
+
const networkGrantPermissions = grantPermissions[hre.network.name];
|
|
370
|
+
|
|
371
|
+
for (const permission of networkGrantPermissions) {
|
|
372
|
+
if (Object.values(AccountType).includes(permission[2] as AccountType)) {
|
|
373
|
+
const timelock = await ethers.getContract(permission[2]);
|
|
374
|
+
permission[2] = timelock.address;
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
const _grantPermissions: ACMCommandsAggregator.PermissionStruct[] = networkGrantPermissions.map(permission => ({
|
|
379
|
+
contractAddress: permission[0],
|
|
380
|
+
functionSig: permission[1],
|
|
381
|
+
account: permission[2],
|
|
382
|
+
}));
|
|
383
|
+
|
|
384
|
+
const grantChunks = splitPermissions(_grantPermissions);
|
|
385
|
+
const grantIndexes: string[] = [];
|
|
386
|
+
|
|
387
|
+
for (const chunk of grantChunks) {
|
|
388
|
+
const tx = await acmCommandsAggregator.addGrantPermissions(chunk);
|
|
389
|
+
|
|
390
|
+
const receipt = await tx.wait();
|
|
391
|
+
const events = receipt.events?.filter(event => event.event === "GrantPermissionsAdded");
|
|
392
|
+
grantIndexes.push(events?.[0].args?.index.toString());
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
console.log("Grant Permissions added with indexes: ", grantIndexes.toString());
|
|
396
|
+
|
|
397
|
+
const networkRevokePermissions = revokePermissions[hre.network.name];
|
|
398
|
+
|
|
399
|
+
for (const permission of networkRevokePermissions) {
|
|
400
|
+
if (Object.values(AccountType).includes(permission[2] as AccountType)) {
|
|
401
|
+
const timelock = await ethers.getContract(permission[2]);
|
|
402
|
+
permission[2] = timelock.address;
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
const _revokePermissions: ACMCommandsAggregator.PermissionStruct[] = networkRevokePermissions.map(permission => ({
|
|
407
|
+
contractAddress: permission[0],
|
|
408
|
+
functionSig: permission[1],
|
|
409
|
+
account: permission[2],
|
|
410
|
+
}));
|
|
411
|
+
|
|
412
|
+
const revokeChunks = splitPermissions(_revokePermissions);
|
|
413
|
+
const revokeIndexes: string[] = [];
|
|
414
|
+
|
|
415
|
+
for (const chunk of revokeChunks) {
|
|
416
|
+
const tx = await acmCommandsAggregator.addRevokePermissions(chunk);
|
|
417
|
+
|
|
418
|
+
const receipt = await tx.wait();
|
|
419
|
+
const events = receipt.events?.filter(event => event.event === "RevokePermissionsAdded");
|
|
420
|
+
revokeIndexes.push(events?.[0].args?.index.toString());
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
console.log("Revoke Permissions added with indexes: ", revokeIndexes.toString());
|
|
424
|
+
};
|
|
425
|
+
|
|
426
|
+
func.tags = ["ACMCommandsAggregatorConfigure"];
|
|
427
|
+
|
|
428
|
+
func.skip = async (hre: HardhatRuntimeEnvironment) =>
|
|
429
|
+
Object.keys(grantPermissions).concat(Object.keys(revokePermissions)).indexOf(hre.network.name) === -1;
|
|
430
|
+
export default func;
|