@venusprotocol/governance-contracts 2.5.0-dev.6 → 2.5.0-dev.8

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 (28) hide show
  1. package/deploy/008-configure-acm-commands-aggregator.ts +177 -11
  2. package/deploy/010-redstone-and-vault-permission.ts +102 -0
  3. package/deployments/bscmainnet/ACMCommandsAggregator.json +366 -0
  4. package/deployments/bscmainnet/solcInputs/c8adce9942919fd992f7532e82a0e082.json +43 -0
  5. package/deployments/bscmainnet.json +245 -0
  6. package/deployments/bscmainnet_addresses.json +1 -0
  7. package/deployments/bsctestnet/ACMCommandsAggregator.json +366 -0
  8. package/deployments/bsctestnet/solcInputs/c8adce9942919fd992f7532e82a0e082.json +43 -0
  9. package/deployments/bsctestnet.json +245 -0
  10. package/deployments/bsctestnet_addresses.json +1 -0
  11. package/dist/deploy/008-configure-acm-commands-aggregator.d.ts.map +1 -1
  12. package/dist/deploy/008-configure-acm-commands-aggregator.js +174 -10
  13. package/dist/deploy/008-configure-acm-commands-aggregator.js.map +1 -1
  14. package/dist/deploy/010-redstone-and-vault-permission.d.ts +4 -0
  15. package/dist/deploy/010-redstone-and-vault-permission.d.ts.map +1 -0
  16. package/dist/deploy/010-redstone-and-vault-permission.js +75 -0
  17. package/dist/deploy/010-redstone-and-vault-permission.js.map +1 -0
  18. package/dist/deployments/bscmainnet.json +245 -0
  19. package/dist/deployments/bsctestnet.json +245 -0
  20. package/dist/helpers/Addresses.d.ts +76 -0
  21. package/dist/helpers/Addresses.d.ts.map +1 -0
  22. package/dist/helpers/Addresses.js +80 -0
  23. package/dist/helpers/Addresses.js.map +1 -0
  24. package/dist/helpers/permissions.d.ts +0 -1
  25. package/dist/helpers/permissions.d.ts.map +1 -1
  26. package/dist/helpers/permissions.js +1 -8
  27. package/dist/helpers/permissions.js.map +1 -1
  28. package/package.json +1 -1
@@ -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,6 +78,13 @@ 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";
74
88
  const BASESEPOLIA_RESILIENT_ORACLE = "0xC34871C982cf0Bc6e7aCa2c2670Bc319bDA1C744";
75
89
  const BASESEPOLIA_CHAINLINK_ORACLE = "0x801aB33A69AD867500fbCda7b3dB66C73151494b";
76
90
  const BASESEPOLIA_REDSTONE_ORACLE = "0x8267FE3f75E0A37ee34e113E767F9C9727206838";
@@ -79,24 +93,36 @@ const BASESEPOLIA_BOUND_VALIDATOR = "0xC76284488E57554A457A75a8b166fB2ADAB430dB"
79
93
  const ARBITRUMONE_XVS = "0xc1Eb7689147C81aC840d4FF0D298489fc7986d52";
80
94
  const ETHEREUM_XVS = "0xd3CC9d8f3689B83c91b7B59cAB4946B063EB894A";
81
95
  const OPBNBMAINNET_XVS = "0x3E2e61F1c075881F3fB8dd568043d8c221fd5c61";
96
+ const OPMAINNET_XVS = "0x4a971e87ad1F61f7f3081645f52a99277AE917cF";
97
+ const ZKSYNCMAINNET_XVS = "0xD78ABD81a3D57712a3af080dc4185b698Fe9ac5A";
82
98
  const ARBITRUMSEPOLIA_XVS = "0x877Dc896e7b13096D3827872e396927BbE704407";
83
99
  const SEPOLIA_XVS = "0x66ebd019E86e0af5f228a0439EBB33f045CBe63E";
84
100
  const OPBNBTESTNET_XVS = "0xc2931B1fEa69b6D6dA65a50363A8D75d285e4da9";
101
+ const OPSEPOLIA_XVS = "0x789482e37218f9b26d8D9115E356462fA9A37116";
102
+ const ZKSYNCSEPOLIA_XVS = "0x3AeCac43A2ebe5D8184e650403bf9F656F9D1cfA";
85
103
  const ARBITRUMONE_XVS_BRIDGE_ADMIN = "0xf5d81C6F7DAA3F97A6265C8441f92eFda22Ad784";
86
104
  const ETHEREUM_XVS_BRIDGE_ADMIN = "0x9C6C95632A8FB3A74f2fB4B7FfC50B003c992b96";
87
105
  const OPBNBMAINNET_XVS_BRIDGE_ADMIN = "0x52fcE05aDbf6103d71ed2BA8Be7A317282731831";
106
+ const OPMAINNET_XVS_BRIDGE_ADMIN = "0x3c307DF1Bf3198a2417d9CA86806B307D147Ddf7";
107
+ const ZKSYNCMAINNET_XVS_BRIDGE_ADMIN = "0x2471043F05Cc41A6051dd6714DC967C7BfC8F902";
88
108
  const ARBITRUMSEPOLIA_XVS_BRIDGE_ADMIN = "0xc94578caCC89a29B044a0a1D54d20d48A645E5C8";
89
109
  const SEPOLIA_XVS_BRIDGE_ADMIN = "0xd3c6bdeeadB2359F726aD4cF42EAa8B7102DAd9B";
90
110
  const OPBNBTESTNET_XVS_BRIDGE_ADMIN = "0x19252AFD0B2F539C400aEab7d460CBFbf74c17ff";
111
+ const OPSEPOLIA_XVS_BRIDGE_ADMIN = "0x6bBcB95eCF9BEc9AE91d5Ad227783e3913145321";
112
+ const ZKSYNCSEPOLIA_XVS_BRIDGE_ADMIN = "0x28cfE3f2D7D8944FAd162a058260ec922C19065E";
91
113
  const BASESEPOLIA_XVS = "0xE657EDb5579B82135a274E85187927C42E38C021";
92
114
  const BASESEPOLIA_XVS_BRIDGE_ADMIN = "0xE431E82d8fFfd81E7c082BeC7Fe2C306f5c988aD";
93
115
 
94
116
  const ARBITRUMONE_XVS_VAULT_PROXY = "0x8b79692AAB2822Be30a6382Eb04763A74752d5B4";
95
117
  const ETHEREUM_XVS_VAULT_PROXY = "0xA0882C2D5DF29233A092d2887A258C2b90e9b994";
96
118
  const OPBNBMAINNET_XVS_VAULT_PROXY = "0x7dc969122450749A8B0777c0e324522d67737988";
119
+ const OPMAINNET_XVS_VAULT_PROXY = "0x133120607C018c949E91AE333785519F6d947e01";
120
+ const ZKSYNCMAINNET_XVS_VAULT_PROXY = "0xbbB3C88192a5B0DB759229BeF49DcD1f168F326F";
97
121
  const ARBITRUMSEPOLIA_XVS_VAULT_PROXY = "0x407507DC2809D3aa31D54EcA3BEde5C5c4C8A17F";
98
122
  const SEPOLIA_XVS_VAULT_PROXY = "0x1129f882eAa912aE6D4f6D445b2E2b1eCbA99fd5";
99
123
  const OPBNBTESTNET_XVS_VAULT_PROXY = "0xB14A0e72C5C202139F78963C9e89252c1ad16f01";
124
+ const OPSEPOLIA_XVS_VAULT_PROXY = "0x4d344e48F02234E82D7D1dB84d0A4A18Aa43Dacc";
125
+ const ZKSYNCSEPOLIA_XVS_VAULT_PROXY = "0x825f9EE3b2b1C159a5444A111A70607f3918564e";
100
126
  const BASESEPOLIA_XVS_VAULT_PROXY = "0x9b5D0aDfCEcC8ed422d714EcbcE2FFA436e269B8";
101
127
 
102
128
  const ETHEREUM_XVS_VAULT_TREASURY = "0xaE39C38AF957338b3cEE2b3E5d825ea88df02EfE";
@@ -105,9 +131,13 @@ const SEPOLIA_XVS_VAULT_TREASURY = "0xCCB08e5107b406E67Ad8356023dd489CEbc79B40";
105
131
  const ETHEREUM_POOL_REGISTRY = "0x61CAff113CCaf05FFc6540302c37adcf077C5179";
106
132
  const ARBITRUMONE_POOL_REGISTRY = "0x382238f07Bc4Fe4aA99e561adE8A4164b5f815DA";
107
133
  const OPBNBMAINNET_POOL_REGISTRY = "0x345a030Ad22e2317ac52811AC41C1A63cfa13aEe";
134
+ const OPMAINNET_POOL_REGISTRY = "0x147780799840d541C1d7c998F0cbA996d11D62bb";
135
+ const ZKSYNCMAINNET_POOL_REGISTRY = "0xFD96B926298034aed9bBe0Cca4b651E41eB87Bc4";
108
136
  const SEPOLIA_POOL_REGISTRY = "0x758f5715d817e02857Ba40889251201A5aE3E186";
109
137
  const OPBNBTESTNET_POOL_REGISTRY = "0x560eA4e1cC42591E9f5F5D83Ad2fd65F30128951";
110
138
  const ARBITRUMSEPOLIA_POOL_REGISTRY = "0xf93Df3135e0D555185c0BC888073374cA551C5fE";
139
+ const OPSEPOLIA_POOL_REGISTRY = "0x6538C861C7A6997602311342657b9143dD9E8152";
140
+ const ZKSYNCSEPOLIA_POOL_REGISTRY = "0x1401404e6279BB8C06E5E3999eCA3e2008B46A76";
111
141
  const BASESEPOLIA_POOL_REGISTRY = "0xCa330282BEeb07a81963336d0bf8f5f34317916c";
112
142
 
113
143
  const ARBITRUMONE_PRIME = "0xFE69720424C954A2da05648a0FAC84f9bf11Ef49";
@@ -118,6 +148,12 @@ const ETHEREUM_PRIME = "0x14C4525f47A7f7C984474979c57a2Dccb8EACB39";
118
148
  const ETHEREUM_PLP = "0x8ba6aFfd0e7Bcd0028D1639225C84DdCf53D8872";
119
149
  const ETHEREUM_PSR = "0x8c8c8530464f7D95552A11eC31Adbd4dC4AC4d3E";
120
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";
121
157
  const ARBITRUMSEPOLIA_PRIME = "0xadb04ac4942683bc41e27d18234c8dc884786e89";
122
158
  const ARBITRUMSEPOLIA_PLP = "0xe82c2c10f55d3268126c29ec813dc6f086904694";
123
159
  const ARBITRUMSEPOLIA_PSR = "0x09267d30798B59c581ce54E861A084C6FC298666";
@@ -126,6 +162,12 @@ const SEPOLIA_PLP = "0x15242a55Ad1842A1aEa09c59cf8366bD2f3CE9B4";
126
162
  const SEPOLIA_PSR = "0xbea70755cc3555708ca11219adB0db4C80F6721B";
127
163
  const OPBNBTESTNET_PSR = "0xc355dEb1A9289f8C58CFAa076EEdBf51F3A8Da7F";
128
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";
129
171
  const BASESEPOLIA_PRIME = "0x15A1AC7fA14C5900Ba93853375d66b6bB6A83B50";
130
172
  const BASESEPOLIA_PLP = "0xb5BA66311C5f9A5C9d3CeE0183F5426DD694dE37";
131
173
  const BASESEPOLIA_PSR = "0x4Ae3D77Ece08Ec3E5f5842B195f746bd3bCb8d73";
@@ -133,9 +175,13 @@ const BASESEPOLIA_PSR = "0x4Ae3D77Ece08Ec3E5f5842B195f746bd3bCb8d73";
133
175
  const ARBITRUMONE_GUARDIAN = "0x14e0E151b33f9802b3e75b621c1457afc44DcAA0";
134
176
  const ETHEREUM_GUARDIAN = "0x285960C5B22fD66A736C7136967A3eB15e93CC67";
135
177
  const OPBNBMAINNET_GUARDIAN = "0xC46796a21a3A9FAB6546aF3434F2eBfFd0604207";
178
+ const OPMAINNET_GUARDIAN = "0x2e94dd14E81999CdBF5deDE31938beD7308354b3";
179
+ const ZKSYNCMAINNET_GUARDIAN = "0x751Aa759cfBB6CE71A43b48e40e1cCcFC66Ba4aa";
136
180
  const SEPOLIA_GUARDIAN = "0x94fa6078b6b8a26f0b6edffbe6501b22a10470fb";
137
181
  const OPBNBTESTNET_GUARDIAN = "0xb15f6EfEbC276A3b9805df81b5FB3D50C2A62BDf";
138
182
  const ARBITRUMSEPOLIA_GUARDIAN = "0x1426A5Ae009c4443188DA8793751024E358A61C2";
183
+ const OPSEPOLIA_GUARDIAN = "0xd57365EE4E850e881229e2F8Aa405822f289e78d";
184
+ const ZKSYNCSEPOLIA_GUARDIAN = "0xa2f83de95E9F28eD443132C331B6a9C9B7a9F866";
139
185
  const BASESEPOLIA_GUARDIAN = "0xdf3b635d2b535f906BB02abb22AED71346E36a00";
140
186
 
141
187
  const ARBITRUMSEPOLIA_OMNICHAIN_EXECUTOR_OWNER = "0xfCA70dd553b7dF6eB8F813CFEA6a9DD039448878";
@@ -216,6 +262,41 @@ const grantPermissions: Permissions = {
216
262
  ...getVTokenPermissions(),
217
263
  ...getIRMPermissions(),
218
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
+
219
300
  arbitrumsepolia: [
220
301
  ...getResilientOraclePermissions(ARBITRUMSEPOLIA_RESILIENT_ORACLE),
221
302
  ...getChainlinkOraclePermissions(ARBITRUMSEPOLIA_CHAINLINK_ORACLE),
@@ -270,6 +351,39 @@ const grantPermissions: Permissions = {
270
351
  ...getIRMPermissions(),
271
352
  ...getOmniChainExecutorOwnerPermissions(OPBNBTESTNET_OMNICHAIN_EXECUTOR_OWNER, OPBNBTESTNET_GUARDIAN),
272
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
+ ],
273
387
  basesepolia: [
274
388
  ...getResilientOraclePermissions(BASESEPOLIA_RESILIENT_ORACLE),
275
389
  ...getChainlinkOraclePermissions(BASESEPOLIA_CHAINLINK_ORACLE),
@@ -295,27 +409,25 @@ const revokePermissions: Permissions = {
295
409
  ...getPrimeLiquidityProviderRevokePermissions(ARBITRUMONE_PLP, ARBITRUMONE_GUARDIAN),
296
410
  ...getResilientOracleRevokePermissions(ARBITRUMONE_RESILIENT_ORACLE, ARBITRUMONE_GUARDIAN),
297
411
  ...getBoundValidatorRevokePermissions(ARBITRUMONE_BOUND_VALIDATOR, ARBITRUMONE_GUARDIAN),
298
- ...getXVSVaultRevokePermissions(ARBITRUMONE_XVS, ARBITRUMONE_GUARDIAN),
412
+ ...getXVSVaultRevokePermissions(ARBITRUMONE_XVS_VAULT_PROXY, ARBITRUMONE_GUARDIAN),
299
413
  ...getRewardDistributorRevokePermissions(ARBITRUMONE_GUARDIAN, true),
300
414
  ...getIRMRevokePermissions(ARBITRUMONE_GUARDIAN),
301
415
  ...getPoolRegistryRevokePermissions(ARBITRUMONE_POOL_REGISTRY, ARBITRUMONE_GUARDIAN),
302
416
  ...getComptrollerRevokePermissions(ARBITRUMONE_GUARDIAN),
303
417
  ...getVTokenRevokePermissions(ARBITRUMONE_GUARDIAN),
304
418
  ...getXVSBridgeAdminRevokePermissions(ARBITRUMONE_XVS_BRIDGE_ADMIN, ARBITRUMONE_GUARDIAN),
305
- ...getRedstoneOracleRevokePermissions(ARBITRUMONE_REDSTONE_ORACLE, ARBITRUMONE_GUARDIAN),
306
419
  ],
307
420
  ethereum: [
308
421
  ...getPrimeRevokePermissions(ETHEREUM_PRIME, ETHEREUM_GUARDIAN),
309
422
  ...getPrimeLiquidityProviderRevokePermissions(ETHEREUM_PLP, ETHEREUM_GUARDIAN),
310
423
  ...getResilientOracleRevokePermissions(ETHEREUM_RESILIENT_ORACLE, ETHEREUM_GUARDIAN),
311
424
  ...getBoundValidatorRevokePermissions(ETHEREUM_BOUND_VALIDATOR, ETHEREUM_GUARDIAN),
312
- ...getXVSVaultRevokePermissions(ETHEREUM_XVS, ETHEREUM_GUARDIAN),
425
+ ...getXVSVaultRevokePermissions(ETHEREUM_XVS_VAULT_PROXY, ETHEREUM_GUARDIAN),
313
426
  ...getRewardDistributorRevokePermissions(ETHEREUM_GUARDIAN, false),
314
427
  ...getIRMRevokePermissions(ETHEREUM_GUARDIAN),
315
428
  ...getPoolRegistryRevokePermissions(ETHEREUM_POOL_REGISTRY, ETHEREUM_GUARDIAN),
316
429
  ...getComptrollerRevokePermissions(ETHEREUM_GUARDIAN),
317
430
  ...getVTokenRevokePermissions(ETHEREUM_GUARDIAN),
318
- ...getRedstoneOracleRevokePermissions(ETHEREUM_REDSTONE_ORACLE, ETHEREUM_GUARDIAN),
319
431
  ...getConverterNetworkRevokePermissions(ETHEREUM_CONVERTER_NETWORK, ETHEREUM_GUARDIAN),
320
432
  ...getSFrxETHOracleRevokePermissions(ETHEREUM_sFrxETH_ORACLE, ETHEREUM_GUARDIAN),
321
433
  ...getConvertersRevokePermissions(ETHEREUM_CONVERTERS, ETHEREUM_GUARDIAN),
@@ -325,17 +437,46 @@ const revokePermissions: Permissions = {
325
437
  opbnbmainnet: [
326
438
  ...getResilientOracleRevokePermissions(OPBNBMAINNET_RESILIENT_ORACLE, OPBNBMAINNET_GUARDIAN),
327
439
  ...getBoundValidatorRevokePermissions(OPBNBMAINNET_BOUND_VALIDATOR, OPBNBMAINNET_GUARDIAN),
328
- ...getXVSVaultRevokePermissions(OPBNBMAINNET_XVS, OPBNBMAINNET_GUARDIAN),
440
+ ...getXVSVaultRevokePermissions(OPBNBMAINNET_XVS_VAULT_PROXY, OPBNBMAINNET_GUARDIAN),
329
441
  ...getIRMRevokePermissions(OPBNBMAINNET_GUARDIAN),
330
442
  ...getPoolRegistryRevokePermissions(OPBNBMAINNET_POOL_REGISTRY, OPBNBMAINNET_GUARDIAN),
331
443
  ...getComptrollerRevokePermissions(OPBNBMAINNET_GUARDIAN),
332
444
  ...getVTokenRevokePermissions(OPBNBMAINNET_GUARDIAN),
333
445
  ...getXVSBridgeAdminRevokePermissions(OPBNBMAINNET_XVS_BRIDGE_ADMIN, OPBNBMAINNET_GUARDIAN),
334
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
+
335
476
  opbnbtestnet: [
336
477
  ...getResilientOracleRevokePermissions(OPBNBTESTNET_RESILIENT_ORACLE, OPBNBTESTNET_GUARDIAN),
337
478
  ...getBoundValidatorRevokePermissions(OPBNBTESTNET_BOUND_VALIDATOR, OPBNBTESTNET_GUARDIAN),
338
- ...getXVSVaultRevokePermissions(OPBNBTESTNET_XVS, OPBNBTESTNET_GUARDIAN),
479
+ ...getXVSVaultRevokePermissions(OPBNBTESTNET_XVS_VAULT_PROXY, OPBNBTESTNET_GUARDIAN),
339
480
  ...getIRMRevokePermissions(OPBNBTESTNET_GUARDIAN),
340
481
  ...getPoolRegistryRevokePermissionsForWildcard(OPBNBTESTNET_GUARDIAN),
341
482
  ...getComptrollerRevokePermissions(OPBNBTESTNET_GUARDIAN),
@@ -349,13 +490,12 @@ const revokePermissions: Permissions = {
349
490
  ...getPrimeLiquidityProviderRevokePermissions(SEPOLIA_PLP, SEPOLIA_GUARDIAN),
350
491
  ...getResilientOracleRevokePermissions(SEPOLIA_RESILIENT_ORACLE, SEPOLIA_GUARDIAN),
351
492
  ...getBoundValidatorRevokePermissions(SEPOLIA_BOUND_VALIDATOR, SEPOLIA_GUARDIAN),
352
- ...getXVSVaultRevokePermissions(SEPOLIA_XVS, SEPOLIA_GUARDIAN),
493
+ ...getXVSVaultRevokePermissions(SEPOLIA_XVS_VAULT_PROXY, SEPOLIA_GUARDIAN),
353
494
  ...getRewardDistributorRevokePermissions(SEPOLIA_GUARDIAN, false),
354
495
  ...getIRMRevokePermissions(SEPOLIA_GUARDIAN),
355
496
  ...getPoolRegistryRevokePermissions(SEPOLIA_POOL_REGISTRY, SEPOLIA_GUARDIAN),
356
497
  ...getComptrollerRevokePermissions(SEPOLIA_GUARDIAN),
357
498
  ...getVTokenRevokePermissions(SEPOLIA_GUARDIAN),
358
- ...getRedstoneOracleRevokePermissions(SEPOLIA_REDSTONE_ORACLE, SEPOLIA_GUARDIAN),
359
499
  ...getConverterNetworkRevokePermissions(SEPOLIA_CONVERTER_NETWORK, SEPOLIA_GUARDIAN),
360
500
  ...getSFrxETHOracleRevokePermissions(SEPOLIA_sFrxETH_ORACLE, SEPOLIA_GUARDIAN),
361
501
  ...getConvertersRevokePermissions(SEPOLIA_CONVERTERS, SEPOLIA_GUARDIAN),
@@ -368,16 +508,42 @@ const revokePermissions: Permissions = {
368
508
  ...getPrimeLiquidityProviderRevokePermissions(ARBITRUMSEPOLIA_PLP, ARBITRUMSEPOLIA_GUARDIAN),
369
509
  ...getResilientOracleRevokePermissions(ARBITRUMSEPOLIA_RESILIENT_ORACLE, ARBITRUMSEPOLIA_GUARDIAN),
370
510
  ...getBoundValidatorRevokePermissions(ARBITRUMSEPOLIA_BOUND_VALIDATOR, ARBITRUMSEPOLIA_GUARDIAN),
371
- ...getXVSVaultRevokePermissions(ARBITRUMSEPOLIA_XVS, ARBITRUMSEPOLIA_GUARDIAN),
511
+ ...getXVSVaultRevokePermissions(ARBITRUMSEPOLIA_XVS_VAULT_PROXY, ARBITRUMSEPOLIA_GUARDIAN),
372
512
  ...getRewardDistributorRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN, true),
373
513
  ...getIRMRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN),
374
514
  ...getPoolRegistryRevokePermissionsForWildcard(ARBITRUMSEPOLIA_GUARDIAN),
375
515
  ...getComptrollerRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN),
376
516
  ...getVTokenRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN),
377
517
  ...getXVSBridgeAdminRevokePermissions(ARBITRUMSEPOLIA_XVS_BRIDGE_ADMIN, ARBITRUMSEPOLIA_GUARDIAN),
378
- ...getRedstoneOracleRevokePermissions(ARBITRUMSEPOLIA_REDSTONE_ORACLE, ARBITRUMSEPOLIA_GUARDIAN),
379
518
  ...getOmniChainExecutorOwnerRevokePermissions(ARBITRUMSEPOLIA_OMNICHAIN_EXECUTOR_OWNER, ARBITRUMSEPOLIA_GUARDIAN),
380
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
+ ],
381
547
  basesepolia: [
382
548
  ...getPrimeRevokePermissions(BASESEPOLIA_PRIME, BASESEPOLIA_GUARDIAN),
383
549
  ...getPrimeLiquidityProviderRevokePermissions(BASESEPOLIA_PLP, BASESEPOLIA_GUARDIAN),
@@ -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;