@venusprotocol/governance-contracts 2.5.0 → 2.6.0

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.
Files changed (67) hide show
  1. package/deploy/005-remote-timelock.ts +9 -0
  2. package/deploy/008-configure-acm-commands-aggregator.ts +220 -11
  3. package/deploy/010-redstone-and-vault-permission.ts +102 -0
  4. package/deployments/basemainnet/.chainId +1 -0
  5. package/deployments/basemainnet/AccessControlManager.json +573 -0
  6. package/deployments/basemainnet/solcInputs/9f400d4fd6f6fcf916824838bc678e25.json +139 -0
  7. package/deployments/basemainnet.json +369 -0
  8. package/deployments/basemainnet_addresses.json +7 -0
  9. package/deployments/basesepolia/ACMCommandsAggregator.json +366 -0
  10. package/deployments/basesepolia/CriticalTimelock.json +691 -0
  11. package/deployments/basesepolia/DefaultProxyAdmin.json +200 -0
  12. package/deployments/basesepolia/FastTrackTimelock.json +691 -0
  13. package/deployments/basesepolia/NormalTimelock.json +691 -0
  14. package/deployments/basesepolia/OmnichainExecutorOwner.json +555 -0
  15. package/deployments/basesepolia/OmnichainExecutorOwner_Implementation.json +600 -0
  16. package/deployments/basesepolia/OmnichainExecutorOwner_Proxy.json +262 -0
  17. package/deployments/basesepolia/OmnichainGovernanceExecutor.json +1840 -0
  18. package/deployments/basesepolia/solcInputs/39b818455672acbd6d12469b0e689d7a.json +40 -0
  19. package/deployments/basesepolia/solcInputs/9f400d4fd6f6fcf916824838bc678e25.json +139 -0
  20. package/deployments/basesepolia/solcInputs/c8adce9942919fd992f7532e82a0e082.json +43 -0
  21. package/deployments/basesepolia/solcInputs/dd255b4e0156dfc73554b72a83ca02d8.json +40 -0
  22. package/deployments/basesepolia/solcInputs/e5536fb1b5f4db72d1c808989021a017.json +73 -0
  23. package/deployments/basesepolia.json +3859 -0
  24. package/deployments/basesepolia_addresses.json +10 -1
  25. package/deployments/bscmainnet/ACMCommandsAggregator.json +366 -0
  26. package/deployments/bscmainnet/solcInputs/c8adce9942919fd992f7532e82a0e082.json +43 -0
  27. package/deployments/bscmainnet.json +245 -0
  28. package/deployments/bscmainnet_addresses.json +1 -0
  29. package/deployments/bsctestnet/ACMCommandsAggregator.json +366 -0
  30. package/deployments/bsctestnet/solcInputs/c8adce9942919fd992f7532e82a0e082.json +43 -0
  31. package/deployments/bsctestnet.json +245 -0
  32. package/deployments/bsctestnet_addresses.json +1 -0
  33. package/dist/deploy/005-remote-timelock.d.ts +1 -0
  34. package/dist/deploy/005-remote-timelock.d.ts.map +1 -1
  35. package/dist/deploy/005-remote-timelock.js +9 -0
  36. package/dist/deploy/005-remote-timelock.js.map +1 -1
  37. package/dist/deploy/008-configure-acm-commands-aggregator.d.ts.map +1 -1
  38. package/dist/deploy/008-configure-acm-commands-aggregator.js +217 -10
  39. package/dist/deploy/008-configure-acm-commands-aggregator.js.map +1 -1
  40. package/dist/deploy/010-redstone-and-vault-permission.d.ts +4 -0
  41. package/dist/deploy/010-redstone-and-vault-permission.d.ts.map +1 -0
  42. package/dist/deploy/010-redstone-and-vault-permission.js +75 -0
  43. package/dist/deploy/010-redstone-and-vault-permission.js.map +1 -0
  44. package/dist/deployments/bscmainnet.json +245 -0
  45. package/dist/deployments/bsctestnet.json +245 -0
  46. package/dist/hardhat.config.d.ts.map +1 -1
  47. package/dist/hardhat.config.js +16 -1
  48. package/dist/hardhat.config.js.map +1 -1
  49. package/dist/helpers/Addresses.d.ts +76 -0
  50. package/dist/helpers/Addresses.d.ts.map +1 -0
  51. package/dist/helpers/Addresses.js +80 -0
  52. package/dist/helpers/Addresses.js.map +1 -0
  53. package/dist/helpers/deploy/constants.d.ts +1 -0
  54. package/dist/helpers/deploy/constants.d.ts.map +1 -1
  55. package/dist/helpers/deploy/constants.js +2 -0
  56. package/dist/helpers/deploy/constants.js.map +1 -1
  57. package/dist/helpers/deploy/deploymentConfig.d.ts.map +1 -1
  58. package/dist/helpers/deploy/deploymentConfig.js +10 -0
  59. package/dist/helpers/deploy/deploymentConfig.js.map +1 -1
  60. package/dist/helpers/deploy/deploymentUtils.d.ts.map +1 -1
  61. package/dist/helpers/deploy/deploymentUtils.js +16 -1
  62. package/dist/helpers/deploy/deploymentUtils.js.map +1 -1
  63. package/dist/helpers/permissions.d.ts +0 -1
  64. package/dist/helpers/permissions.d.ts.map +1 -1
  65. package/dist/helpers/permissions.js +1 -8
  66. package/dist/helpers/permissions.js.map +1 -1
  67. package/package.json +1 -1
@@ -13,6 +13,7 @@ export enum REMOTE_NETWORKS {
13
13
  ZKSYNCMAINNET = "zksyncmainnet",
14
14
  OPSEPOLIA = "opsepolia",
15
15
  OPMAINNET = "opmainnet",
16
+ BASESEPOLIA = "basesepolia",
16
17
  HARDHAT = "hardhat",
17
18
  }
18
19
  type DelayTypes = {
@@ -80,6 +81,11 @@ export const delayConfig: DelayConfig = {
80
81
  fast: 21600,
81
82
  critical: 3600,
82
83
  },
84
+ basesepolia: {
85
+ normal: 600,
86
+ fast: 300,
87
+ critical: 100,
88
+ },
83
89
  };
84
90
 
85
91
  const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
@@ -98,6 +104,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
98
104
  args: [omnichainGovernanceExecutorAddress, delayConfig[networkName].normal],
99
105
  log: true,
100
106
  autoMine: true,
107
+ skipIfAlreadyDeployed: true,
101
108
  });
102
109
 
103
110
  await deploy(live ? "FastTrackTimelock" : "FastTrackTimelockRemote", {
@@ -106,6 +113,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
106
113
  args: [omnichainGovernanceExecutorAddress, delayConfig[networkName].fast],
107
114
  log: true,
108
115
  autoMine: true,
116
+ skipIfAlreadyDeployed: true,
109
117
  });
110
118
 
111
119
  await deploy(live ? "CriticalTimelock" : "CriticalTimelockRemote", {
@@ -114,6 +122,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
114
122
  args: [omnichainGovernanceExecutorAddress, delayConfig[networkName].critical],
115
123
  log: true,
116
124
  autoMine: true,
125
+ skipIfAlreadyDeployed: true,
117
126
  });
118
127
  };
119
128
 
@@ -28,7 +28,6 @@ import {
28
28
  getPrimeRevokePermissions,
29
29
  getProtocolShareReservePermissions,
30
30
  getRedstoneOraclePermissions,
31
- getRedstoneOracleRevokePermissions,
32
31
  getResilientOraclePermissions,
33
32
  getResilientOracleRevokePermissions,
34
33
  getRewardDistributorPermissionsBlockbased,
@@ -59,6 +58,14 @@ const ETHEREUM_sFrxETH_ORACLE = "0x5E06A5f48692E4Fff376fDfCA9E4C0183AAADCD1";
59
58
  const OPBNBMAINNET_RESILIENT_ORACLE = "0x8f3618c4F0183e14A218782c116fb2438571dAC9";
60
59
  const OPBNBMAINNET_BINANCE_ORACLE = "0xB09EC9B628d04E1287216Aa3e2432291f50F9588";
61
60
  const OPBNBMAINNET_BOUND_VALIDATOR = "0xd1f80C371C6E2Fa395A5574DB3E3b4dAf43dadCE";
61
+ const OPMAINNET_RESILIENT_ORACLE = "0x21FC48569bd3a6623281f55FC1F8B48B9386907b";
62
+ const OPMAINNET_CHAINLINK_ORACLE = "0x1076e5A60F1aC98e6f361813138275F1179BEb52";
63
+ const OPMAINNET_REDSTONE_ORACLE = "0x7478e4656F6CCDCa147B6A7314fF68d0C144751a";
64
+ const OPMAINNET_BOUND_VALIDATOR = "0x37A04a1eF784448377a19F2b1b67cD40c09eA505";
65
+ const ZKSYNCMAINNET_RESILIENT_ORACLE = "0xDe564a4C887d5ad315a19a96DC81991c98b12182";
66
+ const ZKSYNCMAINNET_CHAINLINK_ORACLE = "0x4FC29E1d3fFFbDfbf822F09d20A5BE97e59F66E5";
67
+ const ZKSYNCMAINNET_REDSTONE_ORACLE = "0xFa1e65e714CDfefDC9729130496AB5b5f3708fdA";
68
+ const ZKSYNCMAINNET_BOUND_VALIDATOR = "0x51519cdCDDD05E2ADCFA108f4a960755D9d6ea8b";
62
69
  const ARBITRUMSEPOLIA_RESILIENT_ORACLE = "0x6708bAd042916B47311c8078b29d7f432342102F";
63
70
  const ARBITRUMSEPOLIA_CHAINLINK_ORACLE = "0xeDd02c7FfA31490b4107e8f2c25e9198a04F9E45";
64
71
  const ARBITRUMSEPOLIA_REDSTONE_ORACLE = "0x15058891ca0c71Bd724b873c41596A682420613C";
@@ -71,26 +78,52 @@ const SEPOLIA_sFrxETH_ORACLE = "0x61EB836afA467677e6b403D504fe69D6940e7996";
71
78
  const OPBNBTESTNET_RESILIENT_ORACLE = "0xEF4e53a9A4565ef243A2f0ee9a7fc2410E1aA623";
72
79
  const OPBNBTESTNET_BINANCE_ORACLE = "0x496B6b03469472572C47bdB407d5549b244a74F2";
73
80
  const OPBNBTESTNET_BOUND_VALIDATOR = "0x049537Bb065e6253e9D8D08B45Bf6b753657A746";
81
+ const OPSEPOLIA_RESILIENT_ORACLE = "0x6c01ECa2B5C97F135406a3A5531445A7d977D28e";
82
+ const OPSEPOLIA_CHAINLINK_ORACLE = "0x493C3f543AEa37EefF17D823f27Cb1feAB9f3143";
83
+ const OPSEPOLIA_BOUND_VALIDATOR = "0x482469F1DA6Ec736cacF6361Ec41621f811A6800";
84
+ const ZKSYNCSEPOLIA_RESILIENT_ORACLE = "0x748853B3bE26c46b4562Fd314dfb82708F395bDf";
85
+ const ZKSYNCSEPOLIA_CHAINLINK_ORACLE = "0x0DFf10dCdb3526010Df01ECc42076C25C27F8323";
86
+ const ZKSYNCSEPOLIA_REDSTONE_ORACLE = "0x3af097f1Dcec172D5ECdD0D1eFA6B118FF15f152";
87
+ const ZKSYNCSEPOLIA_BOUND_VALIDATOR = "0x0A4daBeF41C83Af7e30FfC33feC56ba769f3D24b";
88
+ const BASESEPOLIA_RESILIENT_ORACLE = "0xC34871C982cf0Bc6e7aCa2c2670Bc319bDA1C744";
89
+ const BASESEPOLIA_CHAINLINK_ORACLE = "0x801aB33A69AD867500fbCda7b3dB66C73151494b";
90
+ const BASESEPOLIA_REDSTONE_ORACLE = "0x8267FE3f75E0A37ee34e113E767F9C9727206838";
91
+ const BASESEPOLIA_BOUND_VALIDATOR = "0xC76284488E57554A457A75a8b166fB2ADAB430dB";
74
92
 
75
93
  const ARBITRUMONE_XVS = "0xc1Eb7689147C81aC840d4FF0D298489fc7986d52";
76
94
  const ETHEREUM_XVS = "0xd3CC9d8f3689B83c91b7B59cAB4946B063EB894A";
77
95
  const OPBNBMAINNET_XVS = "0x3E2e61F1c075881F3fB8dd568043d8c221fd5c61";
96
+ const OPMAINNET_XVS = "0x4a971e87ad1F61f7f3081645f52a99277AE917cF";
97
+ const ZKSYNCMAINNET_XVS = "0xD78ABD81a3D57712a3af080dc4185b698Fe9ac5A";
78
98
  const ARBITRUMSEPOLIA_XVS = "0x877Dc896e7b13096D3827872e396927BbE704407";
79
99
  const SEPOLIA_XVS = "0x66ebd019E86e0af5f228a0439EBB33f045CBe63E";
80
100
  const OPBNBTESTNET_XVS = "0xc2931B1fEa69b6D6dA65a50363A8D75d285e4da9";
101
+ const OPSEPOLIA_XVS = "0x789482e37218f9b26d8D9115E356462fA9A37116";
102
+ const ZKSYNCSEPOLIA_XVS = "0x3AeCac43A2ebe5D8184e650403bf9F656F9D1cfA";
81
103
  const ARBITRUMONE_XVS_BRIDGE_ADMIN = "0xf5d81C6F7DAA3F97A6265C8441f92eFda22Ad784";
82
104
  const ETHEREUM_XVS_BRIDGE_ADMIN = "0x9C6C95632A8FB3A74f2fB4B7FfC50B003c992b96";
83
105
  const OPBNBMAINNET_XVS_BRIDGE_ADMIN = "0x52fcE05aDbf6103d71ed2BA8Be7A317282731831";
106
+ const OPMAINNET_XVS_BRIDGE_ADMIN = "0x3c307DF1Bf3198a2417d9CA86806B307D147Ddf7";
107
+ const ZKSYNCMAINNET_XVS_BRIDGE_ADMIN = "0x2471043F05Cc41A6051dd6714DC967C7BfC8F902";
84
108
  const ARBITRUMSEPOLIA_XVS_BRIDGE_ADMIN = "0xc94578caCC89a29B044a0a1D54d20d48A645E5C8";
85
109
  const SEPOLIA_XVS_BRIDGE_ADMIN = "0xd3c6bdeeadB2359F726aD4cF42EAa8B7102DAd9B";
86
110
  const OPBNBTESTNET_XVS_BRIDGE_ADMIN = "0x19252AFD0B2F539C400aEab7d460CBFbf74c17ff";
111
+ const OPSEPOLIA_XVS_BRIDGE_ADMIN = "0x6bBcB95eCF9BEc9AE91d5Ad227783e3913145321";
112
+ const ZKSYNCSEPOLIA_XVS_BRIDGE_ADMIN = "0x28cfE3f2D7D8944FAd162a058260ec922C19065E";
113
+ const BASESEPOLIA_XVS = "0xE657EDb5579B82135a274E85187927C42E38C021";
114
+ const BASESEPOLIA_XVS_BRIDGE_ADMIN = "0xE431E82d8fFfd81E7c082BeC7Fe2C306f5c988aD";
87
115
 
88
116
  const ARBITRUMONE_XVS_VAULT_PROXY = "0x8b79692AAB2822Be30a6382Eb04763A74752d5B4";
89
117
  const ETHEREUM_XVS_VAULT_PROXY = "0xA0882C2D5DF29233A092d2887A258C2b90e9b994";
90
118
  const OPBNBMAINNET_XVS_VAULT_PROXY = "0x7dc969122450749A8B0777c0e324522d67737988";
119
+ const OPMAINNET_XVS_VAULT_PROXY = "0x133120607C018c949E91AE333785519F6d947e01";
120
+ const ZKSYNCMAINNET_XVS_VAULT_PROXY = "0xbbB3C88192a5B0DB759229BeF49DcD1f168F326F";
91
121
  const ARBITRUMSEPOLIA_XVS_VAULT_PROXY = "0x407507DC2809D3aa31D54EcA3BEde5C5c4C8A17F";
92
122
  const SEPOLIA_XVS_VAULT_PROXY = "0x1129f882eAa912aE6D4f6D445b2E2b1eCbA99fd5";
93
123
  const OPBNBTESTNET_XVS_VAULT_PROXY = "0xB14A0e72C5C202139F78963C9e89252c1ad16f01";
124
+ const OPSEPOLIA_XVS_VAULT_PROXY = "0x4d344e48F02234E82D7D1dB84d0A4A18Aa43Dacc";
125
+ const ZKSYNCSEPOLIA_XVS_VAULT_PROXY = "0x825f9EE3b2b1C159a5444A111A70607f3918564e";
126
+ const BASESEPOLIA_XVS_VAULT_PROXY = "0x9b5D0aDfCEcC8ed422d714EcbcE2FFA436e269B8";
94
127
 
95
128
  const ETHEREUM_XVS_VAULT_TREASURY = "0xaE39C38AF957338b3cEE2b3E5d825ea88df02EfE";
96
129
  const SEPOLIA_XVS_VAULT_TREASURY = "0xCCB08e5107b406E67Ad8356023dd489CEbc79B40";
@@ -98,9 +131,14 @@ const SEPOLIA_XVS_VAULT_TREASURY = "0xCCB08e5107b406E67Ad8356023dd489CEbc79B40";
98
131
  const ETHEREUM_POOL_REGISTRY = "0x61CAff113CCaf05FFc6540302c37adcf077C5179";
99
132
  const ARBITRUMONE_POOL_REGISTRY = "0x382238f07Bc4Fe4aA99e561adE8A4164b5f815DA";
100
133
  const OPBNBMAINNET_POOL_REGISTRY = "0x345a030Ad22e2317ac52811AC41C1A63cfa13aEe";
134
+ const OPMAINNET_POOL_REGISTRY = "0x147780799840d541C1d7c998F0cbA996d11D62bb";
135
+ const ZKSYNCMAINNET_POOL_REGISTRY = "0xFD96B926298034aed9bBe0Cca4b651E41eB87Bc4";
101
136
  const SEPOLIA_POOL_REGISTRY = "0x758f5715d817e02857Ba40889251201A5aE3E186";
102
137
  const OPBNBTESTNET_POOL_REGISTRY = "0x560eA4e1cC42591E9f5F5D83Ad2fd65F30128951";
103
138
  const ARBITRUMSEPOLIA_POOL_REGISTRY = "0xf93Df3135e0D555185c0BC888073374cA551C5fE";
139
+ const OPSEPOLIA_POOL_REGISTRY = "0x6538C861C7A6997602311342657b9143dD9E8152";
140
+ const ZKSYNCSEPOLIA_POOL_REGISTRY = "0x1401404e6279BB8C06E5E3999eCA3e2008B46A76";
141
+ const BASESEPOLIA_POOL_REGISTRY = "0xCa330282BEeb07a81963336d0bf8f5f34317916c";
104
142
 
105
143
  const ARBITRUMONE_PRIME = "0xFE69720424C954A2da05648a0FAC84f9bf11Ef49";
106
144
  const ARBITRUMONE_PLP = "0x86bf21dB200f29F21253080942Be8af61046Ec29";
@@ -110,6 +148,12 @@ const ETHEREUM_PRIME = "0x14C4525f47A7f7C984474979c57a2Dccb8EACB39";
110
148
  const ETHEREUM_PLP = "0x8ba6aFfd0e7Bcd0028D1639225C84DdCf53D8872";
111
149
  const ETHEREUM_PSR = "0x8c8c8530464f7D95552A11eC31Adbd4dC4AC4d3E";
112
150
  const OPBNBMAINNET_PSR = "0xA2EDD515B75aBD009161B15909C19959484B0C1e";
151
+ const OPMAINNET_PRIME = "0xE76d2173546Be97Fa6E18358027BdE9742a649f7";
152
+ const OPMAINNET_PLP = "0x6412f6cd58D0182aE150b90B5A99e285b91C1a12";
153
+ const OPMAINNET_PSR = "0x735ed037cB0dAcf90B133370C33C08764f88140a";
154
+ const ZKSYNCMAINNET_PRIME = "0xdFe62Dcba3Ce0A827439390d7d45Af8baE599978";
155
+ const ZKSYNCMAINNET_PLP = "0x0EDE6d7fB474614C5D3d5a16581628bb96CB5dff";
156
+ const ZKSYNCMAINNET_PSR = "0xA1193e941BDf34E858f7F276221B4886EfdD040b";
113
157
  const ARBITRUMSEPOLIA_PRIME = "0xadb04ac4942683bc41e27d18234c8dc884786e89";
114
158
  const ARBITRUMSEPOLIA_PLP = "0xe82c2c10f55d3268126c29ec813dc6f086904694";
115
159
  const ARBITRUMSEPOLIA_PSR = "0x09267d30798B59c581ce54E861A084C6FC298666";
@@ -118,17 +162,32 @@ const SEPOLIA_PLP = "0x15242a55Ad1842A1aEa09c59cf8366bD2f3CE9B4";
118
162
  const SEPOLIA_PSR = "0xbea70755cc3555708ca11219adB0db4C80F6721B";
119
163
  const OPBNBTESTNET_PSR = "0xc355dEb1A9289f8C58CFAa076EEdBf51F3A8Da7F";
120
164
  const SEPOLIA_CONVERTER_NETWORK = "0xB5A4208bFC4cC2C4670744849B8fC35B21A690Fa";
165
+ const OPSEPOLIA_PRIME = "0x54dEb59698c628be5EEd5AD41Fd825Eb3Be89704";
166
+ const OPSEPOLIA_PLP = "0xE3EC955b94D197a8e4081844F3f25F81047A9AF5";
167
+ const OPSEPOLIA_PSR = "0x0F021c29283c47DF8237741dD5a0aA22952aFc88";
168
+ const ZKSYNCSEPOLIA_PRIME = "0x72b85930F7f8D00ACe5EAD10a315C17b8954FBcF";
169
+ const ZKSYNCSEPOLIA_PLP = "0x3407c349F80E4E9544c73ca1E9334CeEA7266517";
170
+ const ZKSYNCSEPOLIA_PSR = "0x5722B43BD91fAaDC4E7f384F4d6Fb32456Ec5ffB";
171
+ const BASESEPOLIA_PRIME = "0x15A1AC7fA14C5900Ba93853375d66b6bB6A83B50";
172
+ const BASESEPOLIA_PLP = "0xb5BA66311C5f9A5C9d3CeE0183F5426DD694dE37";
173
+ const BASESEPOLIA_PSR = "0x4Ae3D77Ece08Ec3E5f5842B195f746bd3bCb8d73";
121
174
 
122
175
  const ARBITRUMONE_GUARDIAN = "0x14e0E151b33f9802b3e75b621c1457afc44DcAA0";
123
176
  const ETHEREUM_GUARDIAN = "0x285960C5B22fD66A736C7136967A3eB15e93CC67";
124
177
  const OPBNBMAINNET_GUARDIAN = "0xC46796a21a3A9FAB6546aF3434F2eBfFd0604207";
178
+ const OPMAINNET_GUARDIAN = "0x2e94dd14E81999CdBF5deDE31938beD7308354b3";
179
+ const ZKSYNCMAINNET_GUARDIAN = "0x751Aa759cfBB6CE71A43b48e40e1cCcFC66Ba4aa";
125
180
  const SEPOLIA_GUARDIAN = "0x94fa6078b6b8a26f0b6edffbe6501b22a10470fb";
126
181
  const OPBNBTESTNET_GUARDIAN = "0xb15f6EfEbC276A3b9805df81b5FB3D50C2A62BDf";
127
182
  const ARBITRUMSEPOLIA_GUARDIAN = "0x1426A5Ae009c4443188DA8793751024E358A61C2";
183
+ const OPSEPOLIA_GUARDIAN = "0xd57365EE4E850e881229e2F8Aa405822f289e78d";
184
+ const ZKSYNCSEPOLIA_GUARDIAN = "0xa2f83de95E9F28eD443132C331B6a9C9B7a9F866";
185
+ const BASESEPOLIA_GUARDIAN = "0xdf3b635d2b535f906BB02abb22AED71346E36a00";
128
186
 
129
187
  const ARBITRUMSEPOLIA_OMNICHAIN_EXECUTOR_OWNER = "0xfCA70dd553b7dF6eB8F813CFEA6a9DD039448878";
130
188
  const SEPOLIA_OMNICHAIN_EXECUTOR_OWNER = "0xf964158C67439D01e5f17F0A3F39DfF46823F27A";
131
189
  const OPBNBTESTNET_OMNICHAIN_EXECUTOR_OWNER = "0x4F570240FF6265Fbb1C79cE824De6408F1948913";
190
+ const BASESEPOLIA_OMNICHAIN_EXECUTOR_OWNER = "0xe3fb08B8817a0c88d39A4DA4eFFD586D3326b73b";
132
191
 
133
192
  const ETHEREUM_CONVERTERS: string[] = [
134
193
  "0xaE39C38AF957338b3cEE2b3E5d825ea88df02EfE",
@@ -203,6 +262,41 @@ const grantPermissions: Permissions = {
203
262
  ...getVTokenPermissions(),
204
263
  ...getIRMPermissions(),
205
264
  ],
265
+ zksyncmainnet: [
266
+ ...getResilientOraclePermissions(ZKSYNCMAINNET_RESILIENT_ORACLE),
267
+ ...getChainlinkOraclePermissions(ZKSYNCMAINNET_CHAINLINK_ORACLE),
268
+ ...getRedstoneOraclePermissions(ZKSYNCMAINNET_REDSTONE_ORACLE),
269
+ ...getBoundValidatorPermissions(ZKSYNCMAINNET_BOUND_VALIDATOR),
270
+ ...getXVSPermissions(ZKSYNCMAINNET_XVS),
271
+ ...getXVSBridgeAdminPermissions(ZKSYNCMAINNET_XVS_BRIDGE_ADMIN),
272
+ ...getXVSVaultPermissions(ZKSYNCMAINNET_XVS_VAULT_PROXY),
273
+ ...getPoolRegistryPermissions(ZKSYNCMAINNET_POOL_REGISTRY),
274
+ ...getPrimePermissions(ZKSYNCMAINNET_PRIME),
275
+ ...getPrimeLiquidityProviderPermissions(ZKSYNCMAINNET_PLP),
276
+ ...getProtocolShareReservePermissions(ZKSYNCMAINNET_PSR),
277
+ ...getComptrollerPermissions(),
278
+ ...getVTokenPermissions(),
279
+ ...getRewardDistributorPermissionsTimebased(),
280
+ ...getIRMPermissions(),
281
+ ],
282
+ opmainnet: [
283
+ ...getResilientOraclePermissions(OPMAINNET_RESILIENT_ORACLE),
284
+ ...getChainlinkOraclePermissions(OPMAINNET_CHAINLINK_ORACLE),
285
+ ...getRedstoneOraclePermissions(OPMAINNET_REDSTONE_ORACLE),
286
+ ...getBoundValidatorPermissions(OPMAINNET_BOUND_VALIDATOR),
287
+ ...getXVSPermissions(OPMAINNET_XVS),
288
+ ...getXVSBridgeAdminPermissions(OPMAINNET_XVS_BRIDGE_ADMIN),
289
+ ...getXVSVaultPermissions(OPMAINNET_XVS_VAULT_PROXY),
290
+ ...getPoolRegistryPermissions(OPMAINNET_POOL_REGISTRY),
291
+ ...getPrimePermissions(OPMAINNET_PRIME),
292
+ ...getPrimeLiquidityProviderPermissions(OPMAINNET_PLP),
293
+ ...getProtocolShareReservePermissions(OPMAINNET_PSR),
294
+ ...getComptrollerPermissions(),
295
+ ...getVTokenPermissions(),
296
+ ...getRewardDistributorPermissionsTimebased(),
297
+ ...getIRMPermissions(),
298
+ ],
299
+
206
300
  arbitrumsepolia: [
207
301
  ...getResilientOraclePermissions(ARBITRUMSEPOLIA_RESILIENT_ORACLE),
208
302
  ...getChainlinkOraclePermissions(ARBITRUMSEPOLIA_CHAINLINK_ORACLE),
@@ -257,6 +351,56 @@ const grantPermissions: Permissions = {
257
351
  ...getIRMPermissions(),
258
352
  ...getOmniChainExecutorOwnerPermissions(OPBNBTESTNET_OMNICHAIN_EXECUTOR_OWNER, OPBNBTESTNET_GUARDIAN),
259
353
  ],
354
+ opsepolia: [
355
+ ...getResilientOraclePermissions(OPSEPOLIA_RESILIENT_ORACLE),
356
+ ...getChainlinkOraclePermissions(OPSEPOLIA_CHAINLINK_ORACLE),
357
+ ...getBoundValidatorPermissions(OPSEPOLIA_BOUND_VALIDATOR),
358
+ ...getXVSPermissions(OPSEPOLIA_XVS),
359
+ ...getXVSBridgeAdminPermissions(OPSEPOLIA_XVS_BRIDGE_ADMIN),
360
+ ...getXVSVaultPermissions(OPSEPOLIA_XVS_VAULT_PROXY),
361
+ ...getPoolRegistryPermissions(OPSEPOLIA_POOL_REGISTRY),
362
+ ...getPrimePermissions(OPSEPOLIA_PRIME),
363
+ ...getPrimeLiquidityProviderPermissions(OPSEPOLIA_PLP),
364
+ ...getProtocolShareReservePermissions(OPSEPOLIA_PSR),
365
+ ...getComptrollerPermissions(),
366
+ ...getVTokenPermissions(),
367
+ ...getRewardDistributorPermissionsTimebased(),
368
+ ...getIRMPermissions(),
369
+ ],
370
+ zksyncsepolia: [
371
+ ...getResilientOraclePermissions(ZKSYNCSEPOLIA_RESILIENT_ORACLE),
372
+ ...getChainlinkOraclePermissions(ZKSYNCSEPOLIA_CHAINLINK_ORACLE),
373
+ ...getRedstoneOraclePermissions(ZKSYNCSEPOLIA_REDSTONE_ORACLE),
374
+ ...getBoundValidatorPermissions(ZKSYNCSEPOLIA_BOUND_VALIDATOR),
375
+ ...getXVSPermissions(ZKSYNCSEPOLIA_XVS),
376
+ ...getXVSBridgeAdminPermissions(ZKSYNCSEPOLIA_XVS_BRIDGE_ADMIN),
377
+ ...getXVSVaultPermissions(ZKSYNCSEPOLIA_XVS_VAULT_PROXY),
378
+ ...getPoolRegistryPermissions(ZKSYNCSEPOLIA_POOL_REGISTRY),
379
+ ...getPrimePermissions(ZKSYNCSEPOLIA_PRIME),
380
+ ...getPrimeLiquidityProviderPermissions(ZKSYNCSEPOLIA_PLP),
381
+ ...getProtocolShareReservePermissions(ZKSYNCSEPOLIA_PSR),
382
+ ...getComptrollerPermissions(),
383
+ ...getVTokenPermissions(),
384
+ ...getRewardDistributorPermissionsTimebased(),
385
+ ...getIRMPermissions(),
386
+ ],
387
+ basesepolia: [
388
+ ...getResilientOraclePermissions(BASESEPOLIA_RESILIENT_ORACLE),
389
+ ...getChainlinkOraclePermissions(BASESEPOLIA_CHAINLINK_ORACLE),
390
+ ...getRedstoneOraclePermissions(BASESEPOLIA_REDSTONE_ORACLE),
391
+ ...getBoundValidatorPermissions(BASESEPOLIA_BOUND_VALIDATOR),
392
+ ...getXVSPermissions(BASESEPOLIA_XVS),
393
+ ...getXVSBridgeAdminPermissions(BASESEPOLIA_XVS_BRIDGE_ADMIN),
394
+ ...getXVSVaultPermissions(BASESEPOLIA_XVS_VAULT_PROXY),
395
+ ...getPoolRegistryPermissions(BASESEPOLIA_POOL_REGISTRY),
396
+ ...getPrimePermissions(BASESEPOLIA_PRIME),
397
+ ...getPrimeLiquidityProviderPermissions(BASESEPOLIA_PLP),
398
+ ...getProtocolShareReservePermissions(BASESEPOLIA_PSR),
399
+ ...getComptrollerPermissions(),
400
+ ...getVTokenPermissions(),
401
+ ...getRewardDistributorPermissionsTimebased(),
402
+ ...getIRMPermissions(),
403
+ ],
260
404
  };
261
405
 
262
406
  const revokePermissions: Permissions = {
@@ -265,27 +409,25 @@ const revokePermissions: Permissions = {
265
409
  ...getPrimeLiquidityProviderRevokePermissions(ARBITRUMONE_PLP, ARBITRUMONE_GUARDIAN),
266
410
  ...getResilientOracleRevokePermissions(ARBITRUMONE_RESILIENT_ORACLE, ARBITRUMONE_GUARDIAN),
267
411
  ...getBoundValidatorRevokePermissions(ARBITRUMONE_BOUND_VALIDATOR, ARBITRUMONE_GUARDIAN),
268
- ...getXVSVaultRevokePermissions(ARBITRUMONE_XVS, ARBITRUMONE_GUARDIAN),
412
+ ...getXVSVaultRevokePermissions(ARBITRUMONE_XVS_VAULT_PROXY, ARBITRUMONE_GUARDIAN),
269
413
  ...getRewardDistributorRevokePermissions(ARBITRUMONE_GUARDIAN, true),
270
414
  ...getIRMRevokePermissions(ARBITRUMONE_GUARDIAN),
271
415
  ...getPoolRegistryRevokePermissions(ARBITRUMONE_POOL_REGISTRY, ARBITRUMONE_GUARDIAN),
272
416
  ...getComptrollerRevokePermissions(ARBITRUMONE_GUARDIAN),
273
417
  ...getVTokenRevokePermissions(ARBITRUMONE_GUARDIAN),
274
418
  ...getXVSBridgeAdminRevokePermissions(ARBITRUMONE_XVS_BRIDGE_ADMIN, ARBITRUMONE_GUARDIAN),
275
- ...getRedstoneOracleRevokePermissions(ARBITRUMONE_REDSTONE_ORACLE, ARBITRUMONE_GUARDIAN),
276
419
  ],
277
420
  ethereum: [
278
421
  ...getPrimeRevokePermissions(ETHEREUM_PRIME, ETHEREUM_GUARDIAN),
279
422
  ...getPrimeLiquidityProviderRevokePermissions(ETHEREUM_PLP, ETHEREUM_GUARDIAN),
280
423
  ...getResilientOracleRevokePermissions(ETHEREUM_RESILIENT_ORACLE, ETHEREUM_GUARDIAN),
281
424
  ...getBoundValidatorRevokePermissions(ETHEREUM_BOUND_VALIDATOR, ETHEREUM_GUARDIAN),
282
- ...getXVSVaultRevokePermissions(ETHEREUM_XVS, ETHEREUM_GUARDIAN),
425
+ ...getXVSVaultRevokePermissions(ETHEREUM_XVS_VAULT_PROXY, ETHEREUM_GUARDIAN),
283
426
  ...getRewardDistributorRevokePermissions(ETHEREUM_GUARDIAN, false),
284
427
  ...getIRMRevokePermissions(ETHEREUM_GUARDIAN),
285
428
  ...getPoolRegistryRevokePermissions(ETHEREUM_POOL_REGISTRY, ETHEREUM_GUARDIAN),
286
429
  ...getComptrollerRevokePermissions(ETHEREUM_GUARDIAN),
287
430
  ...getVTokenRevokePermissions(ETHEREUM_GUARDIAN),
288
- ...getRedstoneOracleRevokePermissions(ETHEREUM_REDSTONE_ORACLE, ETHEREUM_GUARDIAN),
289
431
  ...getConverterNetworkRevokePermissions(ETHEREUM_CONVERTER_NETWORK, ETHEREUM_GUARDIAN),
290
432
  ...getSFrxETHOracleRevokePermissions(ETHEREUM_sFrxETH_ORACLE, ETHEREUM_GUARDIAN),
291
433
  ...getConvertersRevokePermissions(ETHEREUM_CONVERTERS, ETHEREUM_GUARDIAN),
@@ -295,17 +437,46 @@ const revokePermissions: Permissions = {
295
437
  opbnbmainnet: [
296
438
  ...getResilientOracleRevokePermissions(OPBNBMAINNET_RESILIENT_ORACLE, OPBNBMAINNET_GUARDIAN),
297
439
  ...getBoundValidatorRevokePermissions(OPBNBMAINNET_BOUND_VALIDATOR, OPBNBMAINNET_GUARDIAN),
298
- ...getXVSVaultRevokePermissions(OPBNBMAINNET_XVS, OPBNBMAINNET_GUARDIAN),
440
+ ...getXVSVaultRevokePermissions(OPBNBMAINNET_XVS_VAULT_PROXY, OPBNBMAINNET_GUARDIAN),
299
441
  ...getIRMRevokePermissions(OPBNBMAINNET_GUARDIAN),
300
442
  ...getPoolRegistryRevokePermissions(OPBNBMAINNET_POOL_REGISTRY, OPBNBMAINNET_GUARDIAN),
301
443
  ...getComptrollerRevokePermissions(OPBNBMAINNET_GUARDIAN),
302
444
  ...getVTokenRevokePermissions(OPBNBMAINNET_GUARDIAN),
303
445
  ...getXVSBridgeAdminRevokePermissions(OPBNBMAINNET_XVS_BRIDGE_ADMIN, OPBNBMAINNET_GUARDIAN),
304
446
  ],
447
+ opmainnet: [
448
+ ...getPrimeRevokePermissions(OPMAINNET_PRIME, OPMAINNET_GUARDIAN),
449
+ ...getPrimeLiquidityProviderRevokePermissions(OPMAINNET_PLP, OPMAINNET_GUARDIAN),
450
+ ...getResilientOracleRevokePermissions(OPMAINNET_RESILIENT_ORACLE, OPMAINNET_GUARDIAN),
451
+ ...getBoundValidatorRevokePermissions(OPMAINNET_BOUND_VALIDATOR, OPMAINNET_GUARDIAN),
452
+ ...getXVSVaultRevokePermissions(OPMAINNET_XVS_VAULT_PROXY, OPMAINNET_GUARDIAN),
453
+ ...getRewardDistributorRevokePermissions(OPMAINNET_GUARDIAN, true),
454
+ ...getIRMRevokePermissions(OPMAINNET_GUARDIAN),
455
+ ...getPoolRegistryRevokePermissions(OPMAINNET_POOL_REGISTRY, OPMAINNET_GUARDIAN),
456
+ ...getComptrollerRevokePermissions(OPMAINNET_GUARDIAN),
457
+ ...getVTokenRevokePermissions(OPMAINNET_GUARDIAN),
458
+ ...getXVSBridgeAdminRevokePermissions(OPMAINNET_XVS_BRIDGE_ADMIN, OPMAINNET_GUARDIAN),
459
+ ],
460
+
461
+ zksyncmainnet: [
462
+ ...getPrimeRevokePermissions(ZKSYNCMAINNET_PRIME, ZKSYNCMAINNET_GUARDIAN),
463
+ ...getPrimeLiquidityProviderRevokePermissions(ZKSYNCMAINNET_PLP, ZKSYNCMAINNET_GUARDIAN),
464
+ ...getResilientOracleRevokePermissions(ZKSYNCMAINNET_RESILIENT_ORACLE, ZKSYNCMAINNET_GUARDIAN),
465
+ ...getBoundValidatorRevokePermissions(ZKSYNCMAINNET_BOUND_VALIDATOR, ZKSYNCMAINNET_GUARDIAN),
466
+ ...getXVSVaultRevokePermissions(ZKSYNCMAINNET_XVS_VAULT_PROXY, ZKSYNCMAINNET_GUARDIAN),
467
+ ...getRewardDistributorRevokePermissions(ZKSYNCMAINNET_GUARDIAN, true),
468
+ ...getIRMRevokePermissions(ZKSYNCMAINNET_GUARDIAN),
469
+ ...getPoolRegistryRevokePermissionsForWildcard(ZKSYNCMAINNET_GUARDIAN),
470
+ ...getPoolRegistryRevokePermissions(ZKSYNCMAINNET_POOL_REGISTRY, ZKSYNCMAINNET_GUARDIAN),
471
+ ...getComptrollerRevokePermissions(ZKSYNCMAINNET_GUARDIAN),
472
+ ...getVTokenRevokePermissions(ZKSYNCMAINNET_GUARDIAN),
473
+ ...getXVSBridgeAdminRevokePermissions(ZKSYNCMAINNET_XVS_BRIDGE_ADMIN, ZKSYNCMAINNET_GUARDIAN),
474
+ ],
475
+
305
476
  opbnbtestnet: [
306
477
  ...getResilientOracleRevokePermissions(OPBNBTESTNET_RESILIENT_ORACLE, OPBNBTESTNET_GUARDIAN),
307
478
  ...getBoundValidatorRevokePermissions(OPBNBTESTNET_BOUND_VALIDATOR, OPBNBTESTNET_GUARDIAN),
308
- ...getXVSVaultRevokePermissions(OPBNBTESTNET_XVS, OPBNBTESTNET_GUARDIAN),
479
+ ...getXVSVaultRevokePermissions(OPBNBTESTNET_XVS_VAULT_PROXY, OPBNBTESTNET_GUARDIAN),
309
480
  ...getIRMRevokePermissions(OPBNBTESTNET_GUARDIAN),
310
481
  ...getPoolRegistryRevokePermissionsForWildcard(OPBNBTESTNET_GUARDIAN),
311
482
  ...getComptrollerRevokePermissions(OPBNBTESTNET_GUARDIAN),
@@ -319,13 +490,12 @@ const revokePermissions: Permissions = {
319
490
  ...getPrimeLiquidityProviderRevokePermissions(SEPOLIA_PLP, SEPOLIA_GUARDIAN),
320
491
  ...getResilientOracleRevokePermissions(SEPOLIA_RESILIENT_ORACLE, SEPOLIA_GUARDIAN),
321
492
  ...getBoundValidatorRevokePermissions(SEPOLIA_BOUND_VALIDATOR, SEPOLIA_GUARDIAN),
322
- ...getXVSVaultRevokePermissions(SEPOLIA_XVS, SEPOLIA_GUARDIAN),
493
+ ...getXVSVaultRevokePermissions(SEPOLIA_XVS_VAULT_PROXY, SEPOLIA_GUARDIAN),
323
494
  ...getRewardDistributorRevokePermissions(SEPOLIA_GUARDIAN, false),
324
495
  ...getIRMRevokePermissions(SEPOLIA_GUARDIAN),
325
496
  ...getPoolRegistryRevokePermissions(SEPOLIA_POOL_REGISTRY, SEPOLIA_GUARDIAN),
326
497
  ...getComptrollerRevokePermissions(SEPOLIA_GUARDIAN),
327
498
  ...getVTokenRevokePermissions(SEPOLIA_GUARDIAN),
328
- ...getRedstoneOracleRevokePermissions(SEPOLIA_REDSTONE_ORACLE, SEPOLIA_GUARDIAN),
329
499
  ...getConverterNetworkRevokePermissions(SEPOLIA_CONVERTER_NETWORK, SEPOLIA_GUARDIAN),
330
500
  ...getSFrxETHOracleRevokePermissions(SEPOLIA_sFrxETH_ORACLE, SEPOLIA_GUARDIAN),
331
501
  ...getConvertersRevokePermissions(SEPOLIA_CONVERTERS, SEPOLIA_GUARDIAN),
@@ -338,16 +508,55 @@ const revokePermissions: Permissions = {
338
508
  ...getPrimeLiquidityProviderRevokePermissions(ARBITRUMSEPOLIA_PLP, ARBITRUMSEPOLIA_GUARDIAN),
339
509
  ...getResilientOracleRevokePermissions(ARBITRUMSEPOLIA_RESILIENT_ORACLE, ARBITRUMSEPOLIA_GUARDIAN),
340
510
  ...getBoundValidatorRevokePermissions(ARBITRUMSEPOLIA_BOUND_VALIDATOR, ARBITRUMSEPOLIA_GUARDIAN),
341
- ...getXVSVaultRevokePermissions(ARBITRUMSEPOLIA_XVS, ARBITRUMSEPOLIA_GUARDIAN),
511
+ ...getXVSVaultRevokePermissions(ARBITRUMSEPOLIA_XVS_VAULT_PROXY, ARBITRUMSEPOLIA_GUARDIAN),
342
512
  ...getRewardDistributorRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN, true),
343
513
  ...getIRMRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN),
344
514
  ...getPoolRegistryRevokePermissionsForWildcard(ARBITRUMSEPOLIA_GUARDIAN),
345
515
  ...getComptrollerRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN),
346
516
  ...getVTokenRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN),
347
517
  ...getXVSBridgeAdminRevokePermissions(ARBITRUMSEPOLIA_XVS_BRIDGE_ADMIN, ARBITRUMSEPOLIA_GUARDIAN),
348
- ...getRedstoneOracleRevokePermissions(ARBITRUMSEPOLIA_REDSTONE_ORACLE, ARBITRUMSEPOLIA_GUARDIAN),
349
518
  ...getOmniChainExecutorOwnerRevokePermissions(ARBITRUMSEPOLIA_OMNICHAIN_EXECUTOR_OWNER, ARBITRUMSEPOLIA_GUARDIAN),
350
519
  ],
520
+ opsepolia: [
521
+ ...getPrimeRevokePermissions(OPSEPOLIA_PRIME, OPSEPOLIA_GUARDIAN),
522
+ ...getPrimeLiquidityProviderRevokePermissions(OPSEPOLIA_PLP, OPSEPOLIA_GUARDIAN),
523
+ ...getResilientOracleRevokePermissions(OPSEPOLIA_RESILIENT_ORACLE, OPSEPOLIA_GUARDIAN),
524
+ ...getBoundValidatorRevokePermissions(OPSEPOLIA_BOUND_VALIDATOR, OPSEPOLIA_GUARDIAN),
525
+ ...getXVSVaultRevokePermissions(OPSEPOLIA_XVS_VAULT_PROXY, OPSEPOLIA_GUARDIAN),
526
+ ...getRewardDistributorRevokePermissions(OPSEPOLIA_GUARDIAN, true),
527
+ ...getIRMRevokePermissions(OPSEPOLIA_GUARDIAN),
528
+ ...getPoolRegistryRevokePermissions(OPSEPOLIA_POOL_REGISTRY, OPSEPOLIA_GUARDIAN),
529
+ ...getComptrollerRevokePermissions(OPSEPOLIA_GUARDIAN),
530
+ ...getVTokenRevokePermissions(OPSEPOLIA_GUARDIAN),
531
+ ...getXVSBridgeAdminRevokePermissions(OPSEPOLIA_XVS_BRIDGE_ADMIN, OPSEPOLIA_GUARDIAN),
532
+ ],
533
+ zksyncsepolia: [
534
+ ...getPrimeRevokePermissions(ZKSYNCSEPOLIA_PRIME, ZKSYNCSEPOLIA_GUARDIAN),
535
+ ...getPrimeLiquidityProviderRevokePermissions(ZKSYNCSEPOLIA_PLP, ZKSYNCSEPOLIA_GUARDIAN),
536
+ ...getResilientOracleRevokePermissions(ZKSYNCSEPOLIA_RESILIENT_ORACLE, ZKSYNCSEPOLIA_GUARDIAN),
537
+ ...getBoundValidatorRevokePermissions(ZKSYNCSEPOLIA_BOUND_VALIDATOR, ZKSYNCSEPOLIA_GUARDIAN),
538
+ ...getXVSVaultRevokePermissions(ZKSYNCSEPOLIA_XVS_VAULT_PROXY, ZKSYNCSEPOLIA_GUARDIAN),
539
+ ...getRewardDistributorRevokePermissions(ZKSYNCSEPOLIA_GUARDIAN, true),
540
+ ...getIRMRevokePermissions(ZKSYNCSEPOLIA_GUARDIAN),
541
+ ...getPoolRegistryRevokePermissionsForWildcard(ZKSYNCSEPOLIA_GUARDIAN),
542
+ ...getPoolRegistryRevokePermissions(ZKSYNCSEPOLIA_POOL_REGISTRY, ZKSYNCSEPOLIA_GUARDIAN),
543
+ ...getComptrollerRevokePermissions(ZKSYNCSEPOLIA_GUARDIAN),
544
+ ...getVTokenRevokePermissions(ZKSYNCSEPOLIA_GUARDIAN),
545
+ ...getXVSBridgeAdminRevokePermissions(ZKSYNCSEPOLIA_XVS_BRIDGE_ADMIN, ZKSYNCSEPOLIA_GUARDIAN),
546
+ ],
547
+ basesepolia: [
548
+ ...getPrimeRevokePermissions(BASESEPOLIA_PRIME, BASESEPOLIA_GUARDIAN),
549
+ ...getPrimeLiquidityProviderRevokePermissions(BASESEPOLIA_PLP, BASESEPOLIA_GUARDIAN),
550
+ ...getResilientOracleRevokePermissions(BASESEPOLIA_RESILIENT_ORACLE, BASESEPOLIA_GUARDIAN),
551
+ ...getBoundValidatorRevokePermissions(BASESEPOLIA_BOUND_VALIDATOR, BASESEPOLIA_GUARDIAN),
552
+ ...getXVSVaultRevokePermissions(BASESEPOLIA_XVS_VAULT_PROXY, BASESEPOLIA_GUARDIAN),
553
+ ...getRewardDistributorRevokePermissions(BASESEPOLIA_GUARDIAN, true),
554
+ ...getIRMRevokePermissions(BASESEPOLIA_GUARDIAN),
555
+ ...getPoolRegistryRevokePermissions(BASESEPOLIA_POOL_REGISTRY, BASESEPOLIA_GUARDIAN),
556
+ ...getComptrollerRevokePermissions(BASESEPOLIA_GUARDIAN),
557
+ ...getVTokenRevokePermissions(BASESEPOLIA_GUARDIAN),
558
+ ...getXVSBridgeAdminRevokePermissions(BASESEPOLIA_XVS_BRIDGE_ADMIN, BASESEPOLIA_GUARDIAN),
559
+ ],
351
560
  };
352
561
 
353
562
  function splitPermissions(
@@ -0,0 +1,102 @@
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
+ ARBITRUMONE_GUARDIAN,
8
+ ARBITRUMONE_REDSTONE_ORACLE,
9
+ ARBITRUMONE_XVS_VAULT_PROXY,
10
+ ARBITRUMSEPOLIA_GUARDIAN,
11
+ ARBITRUMSEPOLIA_REDSTONE_ORACLE,
12
+ ARBITRUMSEPOLIA_XVS_VAULT_PROXY,
13
+ ETHEREUM_GUARDIAN,
14
+ ETHEREUM_REDSTONE_ORACLE,
15
+ ETHEREUM_XVS_VAULT_PROXY,
16
+ OPBNBMAINNET_GUARDIAN,
17
+ OPBNBMAINNET_XVS_VAULT_PROXY,
18
+ OPBNBTESTNET_GUARDIAN,
19
+ OPBNBTESTNET_XVS_VAULT_PROXY,
20
+ SEPOLIA_GUARDIAN,
21
+ SEPOLIA_REDSTONE_ORACLE,
22
+ SEPOLIA_XVS_VAULT_PROXY,
23
+ } from "../helpers/Addresses";
24
+ import { getXVSVaultRevokePermissions } from "../helpers/permissions";
25
+
26
+ interface Permissions {
27
+ [key: string]: string[][];
28
+ }
29
+
30
+ const getRedstoneOraclePermissionsRevokedPreviously = (redstoneOracle: string, guardian: string): string[][] => {
31
+ return [
32
+ [redstoneOracle, "setTokenConfig(TokenConfig)", guardian],
33
+ [redstoneOracle, "setDirectPrice(address,uint256)", guardian],
34
+ ];
35
+ };
36
+ const BSCMAINNET_REDSTONE_ORACLE = "0x8455EFA4D7Ff63b8BFD96AdD889483Ea7d39B70a";
37
+ const BSCTESTNET_REDSTONE_ORACLE = "0x0Af51d1504ac5B711A9EAFe2fAC11A51d32029Ad";
38
+
39
+ const BSCMAINNET_GUARDIAN = "0x3a3284dC0FaFfb0b5F0d074c4C704D14326C98cF";
40
+ const BSCTESTNET_GUARDIAN = "0xFEA1c651A47FE29dB9b1bf3cC1f224d8D9CFF68C";
41
+
42
+ const grantPermissions: Permissions = {
43
+ arbitrumone: [...getRedstoneOraclePermissionsRevokedPreviously(ARBITRUMONE_REDSTONE_ORACLE, ARBITRUMONE_GUARDIAN)],
44
+ arbitrumsepolia: [
45
+ ...getRedstoneOraclePermissionsRevokedPreviously(ARBITRUMSEPOLIA_REDSTONE_ORACLE, ARBITRUMSEPOLIA_GUARDIAN),
46
+ ],
47
+ ethereum: [...getRedstoneOraclePermissionsRevokedPreviously(ETHEREUM_REDSTONE_ORACLE, ETHEREUM_GUARDIAN)],
48
+ sepolia: [...getRedstoneOraclePermissionsRevokedPreviously(SEPOLIA_REDSTONE_ORACLE, SEPOLIA_GUARDIAN)],
49
+ bscmainnet: [...getRedstoneOraclePermissionsRevokedPreviously(BSCMAINNET_REDSTONE_ORACLE, BSCMAINNET_GUARDIAN)],
50
+ bsctestnet: [...getRedstoneOraclePermissionsRevokedPreviously(BSCTESTNET_REDSTONE_ORACLE, BSCTESTNET_GUARDIAN)],
51
+ };
52
+
53
+ const revokePermissions: Permissions = {
54
+ arbitrumone: [...getXVSVaultRevokePermissions(ARBITRUMONE_XVS_VAULT_PROXY, ARBITRUMONE_GUARDIAN)],
55
+ arbitrumsepolia: [...getXVSVaultRevokePermissions(ARBITRUMSEPOLIA_XVS_VAULT_PROXY, ARBITRUMSEPOLIA_GUARDIAN)],
56
+ ethereum: [...getXVSVaultRevokePermissions(ETHEREUM_XVS_VAULT_PROXY, ETHEREUM_GUARDIAN)],
57
+ sepolia: [...getXVSVaultRevokePermissions(SEPOLIA_XVS_VAULT_PROXY, SEPOLIA_GUARDIAN)],
58
+ opbnbmainnet: [...getXVSVaultRevokePermissions(OPBNBMAINNET_XVS_VAULT_PROXY, OPBNBMAINNET_GUARDIAN)],
59
+ opbnbtestnet: [...getXVSVaultRevokePermissions(OPBNBTESTNET_XVS_VAULT_PROXY, OPBNBTESTNET_GUARDIAN)],
60
+ };
61
+
62
+ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
63
+ const acmCommandsAggregator: ACMCommandsAggregator = await ethers.getContract("ACMCommandsAggregator");
64
+
65
+ const _grantPermissions: ACMCommandsAggregator.PermissionStruct[] = grantPermissions[hre.network.name].map(
66
+ permission => ({
67
+ contractAddress: permission[0],
68
+ functionSig: permission[1],
69
+ account: permission[2],
70
+ }),
71
+ );
72
+
73
+ const _revokePermissions: ACMCommandsAggregator.PermissionStruct[] = revokePermissions[hre.network.name].map(
74
+ permission => ({
75
+ contractAddress: permission[0],
76
+ functionSig: permission[1],
77
+ account: permission[2],
78
+ }),
79
+ );
80
+
81
+ try {
82
+ // Add grant permissions
83
+ let tx = await acmCommandsAggregator.addGrantPermissions(_grantPermissions);
84
+ let receipt = await tx.wait();
85
+ let events = receipt.events?.filter(event => event.event === "GrantPermissionsAdded");
86
+ console.log(`Grant Permissions for ${hre.network.name} added with indexes: `, events?.[0].args?.index.toString());
87
+
88
+ // Add revoke permissions
89
+ tx = await acmCommandsAggregator.addRevokePermissions(_revokePermissions);
90
+ receipt = await tx.wait();
91
+ events = receipt.events?.filter(event => event.event === "RevokePermissionsAdded");
92
+ console.log(`Revoke Permissions for ${hre.network.name} added with indexes: `, events?.[0].args?.index.toString());
93
+ } catch (error) {
94
+ console.error("Error adding adding permissions:", error);
95
+ }
96
+ };
97
+
98
+ func.tags = ["redstone-vault-permissions"];
99
+
100
+ func.skip = async (hre: HardhatRuntimeEnvironment) => hre.network.name === "hardhat";
101
+
102
+ export default func;
@@ -0,0 +1 @@
1
+ 8453