@venusprotocol/governance-contracts 2.5.0 → 2.7.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.
Files changed (81) hide show
  1. package/deploy/004-omnichain-executor-remote.ts +1 -0
  2. package/deploy/005-remote-timelock.ts +15 -0
  3. package/deploy/008-configure-acm-commands-aggregator.ts +264 -11
  4. package/deploy/010-redstone-and-vault-permission.ts +102 -0
  5. package/deployments/basemainnet/.chainId +1 -0
  6. package/deployments/basemainnet/ACMCommandsAggregator.json +366 -0
  7. package/deployments/basemainnet/AccessControlManager.json +573 -0
  8. package/deployments/basemainnet/CriticalTimelock.json +691 -0
  9. package/deployments/basemainnet/DefaultProxyAdmin.json +200 -0
  10. package/deployments/basemainnet/FastTrackTimelock.json +691 -0
  11. package/deployments/basemainnet/NormalTimelock.json +691 -0
  12. package/deployments/basemainnet/OmnichainExecutorOwner.json +555 -0
  13. package/deployments/basemainnet/OmnichainExecutorOwner_Implementation.json +600 -0
  14. package/deployments/basemainnet/OmnichainExecutorOwner_Proxy.json +262 -0
  15. package/deployments/basemainnet/OmnichainGovernanceExecutor.json +1840 -0
  16. package/deployments/basemainnet/solcInputs/802667e405c8ffe4c217bec1625fcc2b.json +193 -0
  17. package/deployments/basemainnet/solcInputs/9f400d4fd6f6fcf916824838bc678e25.json +139 -0
  18. package/deployments/basemainnet.json +4228 -0
  19. package/deployments/basemainnet_addresses.json +16 -0
  20. package/deployments/basesepolia/ACMCommandsAggregator.json +366 -0
  21. package/deployments/basesepolia/CriticalTimelock.json +691 -0
  22. package/deployments/basesepolia/DefaultProxyAdmin.json +200 -0
  23. package/deployments/basesepolia/FastTrackTimelock.json +691 -0
  24. package/deployments/basesepolia/NormalTimelock.json +691 -0
  25. package/deployments/basesepolia/OmnichainExecutorOwner.json +555 -0
  26. package/deployments/basesepolia/OmnichainExecutorOwner_Implementation.json +600 -0
  27. package/deployments/basesepolia/OmnichainExecutorOwner_Proxy.json +262 -0
  28. package/deployments/basesepolia/OmnichainGovernanceExecutor.json +1840 -0
  29. package/deployments/basesepolia/solcInputs/39b818455672acbd6d12469b0e689d7a.json +40 -0
  30. package/deployments/basesepolia/solcInputs/9f400d4fd6f6fcf916824838bc678e25.json +139 -0
  31. package/deployments/basesepolia/solcInputs/c8adce9942919fd992f7532e82a0e082.json +43 -0
  32. package/deployments/basesepolia/solcInputs/dd255b4e0156dfc73554b72a83ca02d8.json +40 -0
  33. package/deployments/basesepolia/solcInputs/e5536fb1b5f4db72d1c808989021a017.json +73 -0
  34. package/deployments/basesepolia.json +3859 -0
  35. package/deployments/basesepolia_addresses.json +10 -1
  36. package/deployments/bscmainnet/ACMCommandsAggregator.json +366 -0
  37. package/deployments/bscmainnet/solcInputs/c8adce9942919fd992f7532e82a0e082.json +43 -0
  38. package/deployments/bscmainnet.json +245 -0
  39. package/deployments/bscmainnet_addresses.json +1 -0
  40. package/deployments/bsctestnet/ACMCommandsAggregator.json +366 -0
  41. package/deployments/bsctestnet/solcInputs/c8adce9942919fd992f7532e82a0e082.json +43 -0
  42. package/deployments/bsctestnet.json +245 -0
  43. package/deployments/bsctestnet_addresses.json +1 -0
  44. package/dist/deploy/004-omnichain-executor-remote.d.ts.map +1 -1
  45. package/dist/deploy/004-omnichain-executor-remote.js +1 -0
  46. package/dist/deploy/004-omnichain-executor-remote.js.map +1 -1
  47. package/dist/deploy/005-remote-timelock.d.ts +2 -0
  48. package/dist/deploy/005-remote-timelock.d.ts.map +1 -1
  49. package/dist/deploy/005-remote-timelock.js +15 -0
  50. package/dist/deploy/005-remote-timelock.js.map +1 -1
  51. package/dist/deploy/008-configure-acm-commands-aggregator.d.ts.map +1 -1
  52. package/dist/deploy/008-configure-acm-commands-aggregator.js +260 -10
  53. package/dist/deploy/008-configure-acm-commands-aggregator.js.map +1 -1
  54. package/dist/deploy/010-redstone-and-vault-permission.d.ts +4 -0
  55. package/dist/deploy/010-redstone-and-vault-permission.d.ts.map +1 -0
  56. package/dist/deploy/010-redstone-and-vault-permission.js +75 -0
  57. package/dist/deploy/010-redstone-and-vault-permission.js.map +1 -0
  58. package/dist/deployments/bscmainnet.json +245 -0
  59. package/dist/deployments/bsctestnet.json +245 -0
  60. package/dist/hardhat.config.d.ts.map +1 -1
  61. package/dist/hardhat.config.js +16 -1
  62. package/dist/hardhat.config.js.map +1 -1
  63. package/dist/helpers/Addresses.d.ts +76 -0
  64. package/dist/helpers/Addresses.d.ts.map +1 -0
  65. package/dist/helpers/Addresses.js +80 -0
  66. package/dist/helpers/Addresses.js.map +1 -0
  67. package/dist/helpers/deploy/constants.d.ts +1 -0
  68. package/dist/helpers/deploy/constants.d.ts.map +1 -1
  69. package/dist/helpers/deploy/constants.js +2 -0
  70. package/dist/helpers/deploy/constants.js.map +1 -1
  71. package/dist/helpers/deploy/deploymentConfig.d.ts.map +1 -1
  72. package/dist/helpers/deploy/deploymentConfig.js +10 -0
  73. package/dist/helpers/deploy/deploymentConfig.js.map +1 -1
  74. package/dist/helpers/deploy/deploymentUtils.d.ts.map +1 -1
  75. package/dist/helpers/deploy/deploymentUtils.js +16 -1
  76. package/dist/helpers/deploy/deploymentUtils.js.map +1 -1
  77. package/dist/helpers/permissions.d.ts +0 -1
  78. package/dist/helpers/permissions.d.ts.map +1 -1
  79. package/dist/helpers/permissions.js +1 -8
  80. package/dist/helpers/permissions.js.map +1 -1
  81. package/package.json +1 -1
@@ -16,6 +16,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
16
16
  args: [await getLzEndpoint(networkName), await guardian(networkName), await getSourceChainId(networkName)],
17
17
  log: true,
18
18
  autoMine: true,
19
+ skipIfAlreadyDeployed: true,
19
20
  });
20
21
  };
21
22
  func.tags = ["OmnichainGovernanceExecutor", "Remote"];
@@ -13,6 +13,8 @@ export enum REMOTE_NETWORKS {
13
13
  ZKSYNCMAINNET = "zksyncmainnet",
14
14
  OPSEPOLIA = "opsepolia",
15
15
  OPMAINNET = "opmainnet",
16
+ BASESEPOLIA = "basesepolia",
17
+ BASEMAINNET = "basemainnet",
16
18
  HARDHAT = "hardhat",
17
19
  }
18
20
  type DelayTypes = {
@@ -80,6 +82,16 @@ export const delayConfig: DelayConfig = {
80
82
  fast: 21600,
81
83
  critical: 3600,
82
84
  },
85
+ basesepolia: {
86
+ normal: 600,
87
+ fast: 300,
88
+ critical: 100,
89
+ },
90
+ basemainnet: {
91
+ normal: 172800,
92
+ fast: 21600,
93
+ critical: 3600,
94
+ },
83
95
  };
84
96
 
85
97
  const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
@@ -98,6 +110,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
98
110
  args: [omnichainGovernanceExecutorAddress, delayConfig[networkName].normal],
99
111
  log: true,
100
112
  autoMine: true,
113
+ skipIfAlreadyDeployed: true,
101
114
  });
102
115
 
103
116
  await deploy(live ? "FastTrackTimelock" : "FastTrackTimelockRemote", {
@@ -106,6 +119,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
106
119
  args: [omnichainGovernanceExecutorAddress, delayConfig[networkName].fast],
107
120
  log: true,
108
121
  autoMine: true,
122
+ skipIfAlreadyDeployed: true,
109
123
  });
110
124
 
111
125
  await deploy(live ? "CriticalTimelock" : "CriticalTimelockRemote", {
@@ -114,6 +128,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
114
128
  args: [omnichainGovernanceExecutorAddress, delayConfig[networkName].critical],
115
129
  log: true,
116
130
  autoMine: true,
131
+ skipIfAlreadyDeployed: true,
117
132
  });
118
133
  };
119
134
 
@@ -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,18 @@ 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";
69
+ const BASEMAINNET_RESILIENT_ORACLE = "0xcBBf58bD5bAdE357b634419B70b215D5E9d6FbeD";
70
+ const BASEMAINNET_CHAINLINK_ORACLE = "0x6F2eA73597955DB37d7C06e1319F0dC7C7455dEb";
71
+ const BASEMAINNET_REDSTONE_ORACLE = "0xd101Bf51937A6718F402dA944CbfdcD12bB6a6eb";
72
+ const BASEMAINNET_BOUND_VALIDATOR = "0x66dDE062D3DC1BB5223A0096EbB89395d1f11DB0";
62
73
  const ARBITRUMSEPOLIA_RESILIENT_ORACLE = "0x6708bAd042916B47311c8078b29d7f432342102F";
63
74
  const ARBITRUMSEPOLIA_CHAINLINK_ORACLE = "0xeDd02c7FfA31490b4107e8f2c25e9198a04F9E45";
64
75
  const ARBITRUMSEPOLIA_REDSTONE_ORACLE = "0x15058891ca0c71Bd724b873c41596A682420613C";
@@ -71,26 +82,56 @@ const SEPOLIA_sFrxETH_ORACLE = "0x61EB836afA467677e6b403D504fe69D6940e7996";
71
82
  const OPBNBTESTNET_RESILIENT_ORACLE = "0xEF4e53a9A4565ef243A2f0ee9a7fc2410E1aA623";
72
83
  const OPBNBTESTNET_BINANCE_ORACLE = "0x496B6b03469472572C47bdB407d5549b244a74F2";
73
84
  const OPBNBTESTNET_BOUND_VALIDATOR = "0x049537Bb065e6253e9D8D08B45Bf6b753657A746";
85
+ const OPSEPOLIA_RESILIENT_ORACLE = "0x6c01ECa2B5C97F135406a3A5531445A7d977D28e";
86
+ const OPSEPOLIA_CHAINLINK_ORACLE = "0x493C3f543AEa37EefF17D823f27Cb1feAB9f3143";
87
+ const OPSEPOLIA_BOUND_VALIDATOR = "0x482469F1DA6Ec736cacF6361Ec41621f811A6800";
88
+ const ZKSYNCSEPOLIA_RESILIENT_ORACLE = "0x748853B3bE26c46b4562Fd314dfb82708F395bDf";
89
+ const ZKSYNCSEPOLIA_CHAINLINK_ORACLE = "0x0DFf10dCdb3526010Df01ECc42076C25C27F8323";
90
+ const ZKSYNCSEPOLIA_REDSTONE_ORACLE = "0x3af097f1Dcec172D5ECdD0D1eFA6B118FF15f152";
91
+ const ZKSYNCSEPOLIA_BOUND_VALIDATOR = "0x0A4daBeF41C83Af7e30FfC33feC56ba769f3D24b";
92
+ const BASESEPOLIA_RESILIENT_ORACLE = "0xC34871C982cf0Bc6e7aCa2c2670Bc319bDA1C744";
93
+ const BASESEPOLIA_CHAINLINK_ORACLE = "0x801aB33A69AD867500fbCda7b3dB66C73151494b";
94
+ const BASESEPOLIA_REDSTONE_ORACLE = "0x8267FE3f75E0A37ee34e113E767F9C9727206838";
95
+ const BASESEPOLIA_BOUND_VALIDATOR = "0xC76284488E57554A457A75a8b166fB2ADAB430dB";
74
96
 
75
97
  const ARBITRUMONE_XVS = "0xc1Eb7689147C81aC840d4FF0D298489fc7986d52";
76
98
  const ETHEREUM_XVS = "0xd3CC9d8f3689B83c91b7B59cAB4946B063EB894A";
77
99
  const OPBNBMAINNET_XVS = "0x3E2e61F1c075881F3fB8dd568043d8c221fd5c61";
100
+ const OPMAINNET_XVS = "0x4a971e87ad1F61f7f3081645f52a99277AE917cF";
101
+ const BASEMAINNET_XVS = "0xebB7873213c8d1d9913D8eA39Aa12d74cB107995";
102
+
103
+ const ZKSYNCMAINNET_XVS = "0xD78ABD81a3D57712a3af080dc4185b698Fe9ac5A";
78
104
  const ARBITRUMSEPOLIA_XVS = "0x877Dc896e7b13096D3827872e396927BbE704407";
79
105
  const SEPOLIA_XVS = "0x66ebd019E86e0af5f228a0439EBB33f045CBe63E";
80
106
  const OPBNBTESTNET_XVS = "0xc2931B1fEa69b6D6dA65a50363A8D75d285e4da9";
107
+ const OPSEPOLIA_XVS = "0x789482e37218f9b26d8D9115E356462fA9A37116";
108
+ const ZKSYNCSEPOLIA_XVS = "0x3AeCac43A2ebe5D8184e650403bf9F656F9D1cfA";
81
109
  const ARBITRUMONE_XVS_BRIDGE_ADMIN = "0xf5d81C6F7DAA3F97A6265C8441f92eFda22Ad784";
82
110
  const ETHEREUM_XVS_BRIDGE_ADMIN = "0x9C6C95632A8FB3A74f2fB4B7FfC50B003c992b96";
83
111
  const OPBNBMAINNET_XVS_BRIDGE_ADMIN = "0x52fcE05aDbf6103d71ed2BA8Be7A317282731831";
112
+ const OPMAINNET_XVS_BRIDGE_ADMIN = "0x3c307DF1Bf3198a2417d9CA86806B307D147Ddf7";
113
+ const ZKSYNCMAINNET_XVS_BRIDGE_ADMIN = "0x2471043F05Cc41A6051dd6714DC967C7BfC8F902";
114
+ const BASEMAINNET_XVS_BRIDGE_ADMIN = "0x6303FEcee7161bF959d65df4Afb9e1ba5701f78e";
84
115
  const ARBITRUMSEPOLIA_XVS_BRIDGE_ADMIN = "0xc94578caCC89a29B044a0a1D54d20d48A645E5C8";
85
116
  const SEPOLIA_XVS_BRIDGE_ADMIN = "0xd3c6bdeeadB2359F726aD4cF42EAa8B7102DAd9B";
86
117
  const OPBNBTESTNET_XVS_BRIDGE_ADMIN = "0x19252AFD0B2F539C400aEab7d460CBFbf74c17ff";
118
+ const OPSEPOLIA_XVS_BRIDGE_ADMIN = "0x6bBcB95eCF9BEc9AE91d5Ad227783e3913145321";
119
+ const ZKSYNCSEPOLIA_XVS_BRIDGE_ADMIN = "0x28cfE3f2D7D8944FAd162a058260ec922C19065E";
120
+ const BASESEPOLIA_XVS = "0xE657EDb5579B82135a274E85187927C42E38C021";
121
+ const BASESEPOLIA_XVS_BRIDGE_ADMIN = "0xE431E82d8fFfd81E7c082BeC7Fe2C306f5c988aD";
87
122
 
88
123
  const ARBITRUMONE_XVS_VAULT_PROXY = "0x8b79692AAB2822Be30a6382Eb04763A74752d5B4";
89
124
  const ETHEREUM_XVS_VAULT_PROXY = "0xA0882C2D5DF29233A092d2887A258C2b90e9b994";
90
125
  const OPBNBMAINNET_XVS_VAULT_PROXY = "0x7dc969122450749A8B0777c0e324522d67737988";
126
+ const OPMAINNET_XVS_VAULT_PROXY = "0x133120607C018c949E91AE333785519F6d947e01";
127
+ const ZKSYNCMAINNET_XVS_VAULT_PROXY = "0xbbB3C88192a5B0DB759229BeF49DcD1f168F326F";
128
+ const BASEMAINNET_XVS_VAULT_PROXY = "0x708B54F2C3f3606ea48a8d94dab88D9Ab22D7fCd";
91
129
  const ARBITRUMSEPOLIA_XVS_VAULT_PROXY = "0x407507DC2809D3aa31D54EcA3BEde5C5c4C8A17F";
92
130
  const SEPOLIA_XVS_VAULT_PROXY = "0x1129f882eAa912aE6D4f6D445b2E2b1eCbA99fd5";
93
131
  const OPBNBTESTNET_XVS_VAULT_PROXY = "0xB14A0e72C5C202139F78963C9e89252c1ad16f01";
132
+ const OPSEPOLIA_XVS_VAULT_PROXY = "0x4d344e48F02234E82D7D1dB84d0A4A18Aa43Dacc";
133
+ const ZKSYNCSEPOLIA_XVS_VAULT_PROXY = "0x825f9EE3b2b1C159a5444A111A70607f3918564e";
134
+ const BASESEPOLIA_XVS_VAULT_PROXY = "0x9b5D0aDfCEcC8ed422d714EcbcE2FFA436e269B8";
94
135
 
95
136
  const ETHEREUM_XVS_VAULT_TREASURY = "0xaE39C38AF957338b3cEE2b3E5d825ea88df02EfE";
96
137
  const SEPOLIA_XVS_VAULT_TREASURY = "0xCCB08e5107b406E67Ad8356023dd489CEbc79B40";
@@ -98,9 +139,15 @@ const SEPOLIA_XVS_VAULT_TREASURY = "0xCCB08e5107b406E67Ad8356023dd489CEbc79B40";
98
139
  const ETHEREUM_POOL_REGISTRY = "0x61CAff113CCaf05FFc6540302c37adcf077C5179";
99
140
  const ARBITRUMONE_POOL_REGISTRY = "0x382238f07Bc4Fe4aA99e561adE8A4164b5f815DA";
100
141
  const OPBNBMAINNET_POOL_REGISTRY = "0x345a030Ad22e2317ac52811AC41C1A63cfa13aEe";
142
+ const OPMAINNET_POOL_REGISTRY = "0x147780799840d541C1d7c998F0cbA996d11D62bb";
143
+ const ZKSYNCMAINNET_POOL_REGISTRY = "0xFD96B926298034aed9bBe0Cca4b651E41eB87Bc4";
144
+ const BASEMAINNET_POOL_REGISTRY = "0xeef902918DdeCD773D4B422aa1C6e1673EB9136F";
101
145
  const SEPOLIA_POOL_REGISTRY = "0x758f5715d817e02857Ba40889251201A5aE3E186";
102
146
  const OPBNBTESTNET_POOL_REGISTRY = "0x560eA4e1cC42591E9f5F5D83Ad2fd65F30128951";
103
147
  const ARBITRUMSEPOLIA_POOL_REGISTRY = "0xf93Df3135e0D555185c0BC888073374cA551C5fE";
148
+ const OPSEPOLIA_POOL_REGISTRY = "0x6538C861C7A6997602311342657b9143dD9E8152";
149
+ const ZKSYNCSEPOLIA_POOL_REGISTRY = "0x1401404e6279BB8C06E5E3999eCA3e2008B46A76";
150
+ const BASESEPOLIA_POOL_REGISTRY = "0xCa330282BEeb07a81963336d0bf8f5f34317916c";
104
151
 
105
152
  const ARBITRUMONE_PRIME = "0xFE69720424C954A2da05648a0FAC84f9bf11Ef49";
106
153
  const ARBITRUMONE_PLP = "0x86bf21dB200f29F21253080942Be8af61046Ec29";
@@ -110,6 +157,15 @@ const ETHEREUM_PRIME = "0x14C4525f47A7f7C984474979c57a2Dccb8EACB39";
110
157
  const ETHEREUM_PLP = "0x8ba6aFfd0e7Bcd0028D1639225C84DdCf53D8872";
111
158
  const ETHEREUM_PSR = "0x8c8c8530464f7D95552A11eC31Adbd4dC4AC4d3E";
112
159
  const OPBNBMAINNET_PSR = "0xA2EDD515B75aBD009161B15909C19959484B0C1e";
160
+ const OPMAINNET_PRIME = "0xE76d2173546Be97Fa6E18358027BdE9742a649f7";
161
+ const OPMAINNET_PLP = "0x6412f6cd58D0182aE150b90B5A99e285b91C1a12";
162
+ const OPMAINNET_PSR = "0x735ed037cB0dAcf90B133370C33C08764f88140a";
163
+ const ZKSYNCMAINNET_PRIME = "0xdFe62Dcba3Ce0A827439390d7d45Af8baE599978";
164
+ const ZKSYNCMAINNET_PLP = "0x0EDE6d7fB474614C5D3d5a16581628bb96CB5dff";
165
+ const ZKSYNCMAINNET_PSR = "0xA1193e941BDf34E858f7F276221B4886EfdD040b";
166
+ const BASEMAINNET_PRIME = "0xD2e84244f1e9Fca03Ff024af35b8f9612D5d7a30";
167
+ const BASEMAINNET_PLP = "0xcB293EB385dEFF2CdeDa4E7060974BB90ee0B208";
168
+ const BASEMAINNET_PSR = "0x3565001d57c91062367C3792B74458e3c6eD910a";
113
169
  const ARBITRUMSEPOLIA_PRIME = "0xadb04ac4942683bc41e27d18234c8dc884786e89";
114
170
  const ARBITRUMSEPOLIA_PLP = "0xe82c2c10f55d3268126c29ec813dc6f086904694";
115
171
  const ARBITRUMSEPOLIA_PSR = "0x09267d30798B59c581ce54E861A084C6FC298666";
@@ -118,17 +174,34 @@ const SEPOLIA_PLP = "0x15242a55Ad1842A1aEa09c59cf8366bD2f3CE9B4";
118
174
  const SEPOLIA_PSR = "0xbea70755cc3555708ca11219adB0db4C80F6721B";
119
175
  const OPBNBTESTNET_PSR = "0xc355dEb1A9289f8C58CFAa076EEdBf51F3A8Da7F";
120
176
  const SEPOLIA_CONVERTER_NETWORK = "0xB5A4208bFC4cC2C4670744849B8fC35B21A690Fa";
177
+ const OPSEPOLIA_PRIME = "0x54dEb59698c628be5EEd5AD41Fd825Eb3Be89704";
178
+ const OPSEPOLIA_PLP = "0xE3EC955b94D197a8e4081844F3f25F81047A9AF5";
179
+ const OPSEPOLIA_PSR = "0x0F021c29283c47DF8237741dD5a0aA22952aFc88";
180
+ const ZKSYNCSEPOLIA_PRIME = "0x72b85930F7f8D00ACe5EAD10a315C17b8954FBcF";
181
+ const ZKSYNCSEPOLIA_PLP = "0x3407c349F80E4E9544c73ca1E9334CeEA7266517";
182
+ const ZKSYNCSEPOLIA_PSR = "0x5722B43BD91fAaDC4E7f384F4d6Fb32456Ec5ffB";
183
+ const BASESEPOLIA_PRIME = "0x15A1AC7fA14C5900Ba93853375d66b6bB6A83B50";
184
+ const BASESEPOLIA_PLP = "0xb5BA66311C5f9A5C9d3CeE0183F5426DD694dE37";
185
+ const BASESEPOLIA_PSR = "0x4Ae3D77Ece08Ec3E5f5842B195f746bd3bCb8d73";
121
186
 
122
187
  const ARBITRUMONE_GUARDIAN = "0x14e0E151b33f9802b3e75b621c1457afc44DcAA0";
123
188
  const ETHEREUM_GUARDIAN = "0x285960C5B22fD66A736C7136967A3eB15e93CC67";
124
189
  const OPBNBMAINNET_GUARDIAN = "0xC46796a21a3A9FAB6546aF3434F2eBfFd0604207";
190
+ const OPMAINNET_GUARDIAN = "0x2e94dd14E81999CdBF5deDE31938beD7308354b3";
191
+ const ZKSYNCMAINNET_GUARDIAN = "0x751Aa759cfBB6CE71A43b48e40e1cCcFC66Ba4aa";
192
+ const BASEMAINNET_GUARDIAN = "0x1803Cf1D3495b43cC628aa1d8638A981F8CD341C";
125
193
  const SEPOLIA_GUARDIAN = "0x94fa6078b6b8a26f0b6edffbe6501b22a10470fb";
126
194
  const OPBNBTESTNET_GUARDIAN = "0xb15f6EfEbC276A3b9805df81b5FB3D50C2A62BDf";
127
195
  const ARBITRUMSEPOLIA_GUARDIAN = "0x1426A5Ae009c4443188DA8793751024E358A61C2";
196
+ const OPSEPOLIA_GUARDIAN = "0xd57365EE4E850e881229e2F8Aa405822f289e78d";
197
+ const ZKSYNCSEPOLIA_GUARDIAN = "0xa2f83de95E9F28eD443132C331B6a9C9B7a9F866";
198
+ const BASESEPOLIA_GUARDIAN = "0xdf3b635d2b535f906BB02abb22AED71346E36a00";
128
199
 
129
200
  const ARBITRUMSEPOLIA_OMNICHAIN_EXECUTOR_OWNER = "0xfCA70dd553b7dF6eB8F813CFEA6a9DD039448878";
130
201
  const SEPOLIA_OMNICHAIN_EXECUTOR_OWNER = "0xf964158C67439D01e5f17F0A3F39DfF46823F27A";
131
202
  const OPBNBTESTNET_OMNICHAIN_EXECUTOR_OWNER = "0x4F570240FF6265Fbb1C79cE824De6408F1948913";
203
+ const BASEMAINNET_OMNICHAIN_EXECUTOR_OWNER = "0x8BA591f72a90fb379b9a82087b190d51b226F0a9";
204
+ const BASESEPOLIA_OMNICHAIN_EXECUTOR_OWNER = "0xe3fb08B8817a0c88d39A4DA4eFFD586D3326b73b";
132
205
 
133
206
  const ETHEREUM_CONVERTERS: string[] = [
134
207
  "0xaE39C38AF957338b3cEE2b3E5d825ea88df02EfE",
@@ -203,6 +276,57 @@ const grantPermissions: Permissions = {
203
276
  ...getVTokenPermissions(),
204
277
  ...getIRMPermissions(),
205
278
  ],
279
+ zksyncmainnet: [
280
+ ...getResilientOraclePermissions(ZKSYNCMAINNET_RESILIENT_ORACLE),
281
+ ...getChainlinkOraclePermissions(ZKSYNCMAINNET_CHAINLINK_ORACLE),
282
+ ...getRedstoneOraclePermissions(ZKSYNCMAINNET_REDSTONE_ORACLE),
283
+ ...getBoundValidatorPermissions(ZKSYNCMAINNET_BOUND_VALIDATOR),
284
+ ...getXVSPermissions(ZKSYNCMAINNET_XVS),
285
+ ...getXVSBridgeAdminPermissions(ZKSYNCMAINNET_XVS_BRIDGE_ADMIN),
286
+ ...getXVSVaultPermissions(ZKSYNCMAINNET_XVS_VAULT_PROXY),
287
+ ...getPoolRegistryPermissions(ZKSYNCMAINNET_POOL_REGISTRY),
288
+ ...getPrimePermissions(ZKSYNCMAINNET_PRIME),
289
+ ...getPrimeLiquidityProviderPermissions(ZKSYNCMAINNET_PLP),
290
+ ...getProtocolShareReservePermissions(ZKSYNCMAINNET_PSR),
291
+ ...getComptrollerPermissions(),
292
+ ...getVTokenPermissions(),
293
+ ...getRewardDistributorPermissionsTimebased(),
294
+ ...getIRMPermissions(),
295
+ ],
296
+ opmainnet: [
297
+ ...getResilientOraclePermissions(OPMAINNET_RESILIENT_ORACLE),
298
+ ...getChainlinkOraclePermissions(OPMAINNET_CHAINLINK_ORACLE),
299
+ ...getRedstoneOraclePermissions(OPMAINNET_REDSTONE_ORACLE),
300
+ ...getBoundValidatorPermissions(OPMAINNET_BOUND_VALIDATOR),
301
+ ...getXVSPermissions(OPMAINNET_XVS),
302
+ ...getXVSBridgeAdminPermissions(OPMAINNET_XVS_BRIDGE_ADMIN),
303
+ ...getXVSVaultPermissions(OPMAINNET_XVS_VAULT_PROXY),
304
+ ...getPoolRegistryPermissions(OPMAINNET_POOL_REGISTRY),
305
+ ...getPrimePermissions(OPMAINNET_PRIME),
306
+ ...getPrimeLiquidityProviderPermissions(OPMAINNET_PLP),
307
+ ...getProtocolShareReservePermissions(OPMAINNET_PSR),
308
+ ...getComptrollerPermissions(),
309
+ ...getVTokenPermissions(),
310
+ ...getRewardDistributorPermissionsTimebased(),
311
+ ...getIRMPermissions(),
312
+ ],
313
+ basemainnet: [
314
+ ...getResilientOraclePermissions(BASEMAINNET_RESILIENT_ORACLE),
315
+ ...getChainlinkOraclePermissions(BASEMAINNET_CHAINLINK_ORACLE),
316
+ ...getRedstoneOraclePermissions(BASEMAINNET_REDSTONE_ORACLE),
317
+ ...getBoundValidatorPermissions(BASEMAINNET_BOUND_VALIDATOR),
318
+ ...getXVSPermissions(BASEMAINNET_XVS),
319
+ ...getXVSBridgeAdminPermissions(BASEMAINNET_XVS_BRIDGE_ADMIN),
320
+ ...getXVSVaultPermissions(BASEMAINNET_XVS_VAULT_PROXY),
321
+ ...getPoolRegistryPermissions(BASEMAINNET_POOL_REGISTRY),
322
+ ...getPrimePermissions(BASEMAINNET_PRIME),
323
+ ...getPrimeLiquidityProviderPermissions(BASEMAINNET_PLP),
324
+ ...getProtocolShareReservePermissions(BASEMAINNET_PSR),
325
+ ...getComptrollerPermissions(),
326
+ ...getVTokenPermissions(),
327
+ ...getRewardDistributorPermissionsTimebased(),
328
+ ...getIRMPermissions(),
329
+ ],
206
330
  arbitrumsepolia: [
207
331
  ...getResilientOraclePermissions(ARBITRUMSEPOLIA_RESILIENT_ORACLE),
208
332
  ...getChainlinkOraclePermissions(ARBITRUMSEPOLIA_CHAINLINK_ORACLE),
@@ -257,6 +381,56 @@ const grantPermissions: Permissions = {
257
381
  ...getIRMPermissions(),
258
382
  ...getOmniChainExecutorOwnerPermissions(OPBNBTESTNET_OMNICHAIN_EXECUTOR_OWNER, OPBNBTESTNET_GUARDIAN),
259
383
  ],
384
+ opsepolia: [
385
+ ...getResilientOraclePermissions(OPSEPOLIA_RESILIENT_ORACLE),
386
+ ...getChainlinkOraclePermissions(OPSEPOLIA_CHAINLINK_ORACLE),
387
+ ...getBoundValidatorPermissions(OPSEPOLIA_BOUND_VALIDATOR),
388
+ ...getXVSPermissions(OPSEPOLIA_XVS),
389
+ ...getXVSBridgeAdminPermissions(OPSEPOLIA_XVS_BRIDGE_ADMIN),
390
+ ...getXVSVaultPermissions(OPSEPOLIA_XVS_VAULT_PROXY),
391
+ ...getPoolRegistryPermissions(OPSEPOLIA_POOL_REGISTRY),
392
+ ...getPrimePermissions(OPSEPOLIA_PRIME),
393
+ ...getPrimeLiquidityProviderPermissions(OPSEPOLIA_PLP),
394
+ ...getProtocolShareReservePermissions(OPSEPOLIA_PSR),
395
+ ...getComptrollerPermissions(),
396
+ ...getVTokenPermissions(),
397
+ ...getRewardDistributorPermissionsTimebased(),
398
+ ...getIRMPermissions(),
399
+ ],
400
+ zksyncsepolia: [
401
+ ...getResilientOraclePermissions(ZKSYNCSEPOLIA_RESILIENT_ORACLE),
402
+ ...getChainlinkOraclePermissions(ZKSYNCSEPOLIA_CHAINLINK_ORACLE),
403
+ ...getRedstoneOraclePermissions(ZKSYNCSEPOLIA_REDSTONE_ORACLE),
404
+ ...getBoundValidatorPermissions(ZKSYNCSEPOLIA_BOUND_VALIDATOR),
405
+ ...getXVSPermissions(ZKSYNCSEPOLIA_XVS),
406
+ ...getXVSBridgeAdminPermissions(ZKSYNCSEPOLIA_XVS_BRIDGE_ADMIN),
407
+ ...getXVSVaultPermissions(ZKSYNCSEPOLIA_XVS_VAULT_PROXY),
408
+ ...getPoolRegistryPermissions(ZKSYNCSEPOLIA_POOL_REGISTRY),
409
+ ...getPrimePermissions(ZKSYNCSEPOLIA_PRIME),
410
+ ...getPrimeLiquidityProviderPermissions(ZKSYNCSEPOLIA_PLP),
411
+ ...getProtocolShareReservePermissions(ZKSYNCSEPOLIA_PSR),
412
+ ...getComptrollerPermissions(),
413
+ ...getVTokenPermissions(),
414
+ ...getRewardDistributorPermissionsTimebased(),
415
+ ...getIRMPermissions(),
416
+ ],
417
+ basesepolia: [
418
+ ...getResilientOraclePermissions(BASESEPOLIA_RESILIENT_ORACLE),
419
+ ...getChainlinkOraclePermissions(BASESEPOLIA_CHAINLINK_ORACLE),
420
+ ...getRedstoneOraclePermissions(BASESEPOLIA_REDSTONE_ORACLE),
421
+ ...getBoundValidatorPermissions(BASESEPOLIA_BOUND_VALIDATOR),
422
+ ...getXVSPermissions(BASESEPOLIA_XVS),
423
+ ...getXVSBridgeAdminPermissions(BASESEPOLIA_XVS_BRIDGE_ADMIN),
424
+ ...getXVSVaultPermissions(BASESEPOLIA_XVS_VAULT_PROXY),
425
+ ...getPoolRegistryPermissions(BASESEPOLIA_POOL_REGISTRY),
426
+ ...getPrimePermissions(BASESEPOLIA_PRIME),
427
+ ...getPrimeLiquidityProviderPermissions(BASESEPOLIA_PLP),
428
+ ...getProtocolShareReservePermissions(BASESEPOLIA_PSR),
429
+ ...getComptrollerPermissions(),
430
+ ...getVTokenPermissions(),
431
+ ...getRewardDistributorPermissionsTimebased(),
432
+ ...getIRMPermissions(),
433
+ ],
260
434
  };
261
435
 
262
436
  const revokePermissions: Permissions = {
@@ -265,27 +439,25 @@ const revokePermissions: Permissions = {
265
439
  ...getPrimeLiquidityProviderRevokePermissions(ARBITRUMONE_PLP, ARBITRUMONE_GUARDIAN),
266
440
  ...getResilientOracleRevokePermissions(ARBITRUMONE_RESILIENT_ORACLE, ARBITRUMONE_GUARDIAN),
267
441
  ...getBoundValidatorRevokePermissions(ARBITRUMONE_BOUND_VALIDATOR, ARBITRUMONE_GUARDIAN),
268
- ...getXVSVaultRevokePermissions(ARBITRUMONE_XVS, ARBITRUMONE_GUARDIAN),
442
+ ...getXVSVaultRevokePermissions(ARBITRUMONE_XVS_VAULT_PROXY, ARBITRUMONE_GUARDIAN),
269
443
  ...getRewardDistributorRevokePermissions(ARBITRUMONE_GUARDIAN, true),
270
444
  ...getIRMRevokePermissions(ARBITRUMONE_GUARDIAN),
271
445
  ...getPoolRegistryRevokePermissions(ARBITRUMONE_POOL_REGISTRY, ARBITRUMONE_GUARDIAN),
272
446
  ...getComptrollerRevokePermissions(ARBITRUMONE_GUARDIAN),
273
447
  ...getVTokenRevokePermissions(ARBITRUMONE_GUARDIAN),
274
448
  ...getXVSBridgeAdminRevokePermissions(ARBITRUMONE_XVS_BRIDGE_ADMIN, ARBITRUMONE_GUARDIAN),
275
- ...getRedstoneOracleRevokePermissions(ARBITRUMONE_REDSTONE_ORACLE, ARBITRUMONE_GUARDIAN),
276
449
  ],
277
450
  ethereum: [
278
451
  ...getPrimeRevokePermissions(ETHEREUM_PRIME, ETHEREUM_GUARDIAN),
279
452
  ...getPrimeLiquidityProviderRevokePermissions(ETHEREUM_PLP, ETHEREUM_GUARDIAN),
280
453
  ...getResilientOracleRevokePermissions(ETHEREUM_RESILIENT_ORACLE, ETHEREUM_GUARDIAN),
281
454
  ...getBoundValidatorRevokePermissions(ETHEREUM_BOUND_VALIDATOR, ETHEREUM_GUARDIAN),
282
- ...getXVSVaultRevokePermissions(ETHEREUM_XVS, ETHEREUM_GUARDIAN),
455
+ ...getXVSVaultRevokePermissions(ETHEREUM_XVS_VAULT_PROXY, ETHEREUM_GUARDIAN),
283
456
  ...getRewardDistributorRevokePermissions(ETHEREUM_GUARDIAN, false),
284
457
  ...getIRMRevokePermissions(ETHEREUM_GUARDIAN),
285
458
  ...getPoolRegistryRevokePermissions(ETHEREUM_POOL_REGISTRY, ETHEREUM_GUARDIAN),
286
459
  ...getComptrollerRevokePermissions(ETHEREUM_GUARDIAN),
287
460
  ...getVTokenRevokePermissions(ETHEREUM_GUARDIAN),
288
- ...getRedstoneOracleRevokePermissions(ETHEREUM_REDSTONE_ORACLE, ETHEREUM_GUARDIAN),
289
461
  ...getConverterNetworkRevokePermissions(ETHEREUM_CONVERTER_NETWORK, ETHEREUM_GUARDIAN),
290
462
  ...getSFrxETHOracleRevokePermissions(ETHEREUM_sFrxETH_ORACLE, ETHEREUM_GUARDIAN),
291
463
  ...getConvertersRevokePermissions(ETHEREUM_CONVERTERS, ETHEREUM_GUARDIAN),
@@ -295,17 +467,60 @@ const revokePermissions: Permissions = {
295
467
  opbnbmainnet: [
296
468
  ...getResilientOracleRevokePermissions(OPBNBMAINNET_RESILIENT_ORACLE, OPBNBMAINNET_GUARDIAN),
297
469
  ...getBoundValidatorRevokePermissions(OPBNBMAINNET_BOUND_VALIDATOR, OPBNBMAINNET_GUARDIAN),
298
- ...getXVSVaultRevokePermissions(OPBNBMAINNET_XVS, OPBNBMAINNET_GUARDIAN),
470
+ ...getXVSVaultRevokePermissions(OPBNBMAINNET_XVS_VAULT_PROXY, OPBNBMAINNET_GUARDIAN),
299
471
  ...getIRMRevokePermissions(OPBNBMAINNET_GUARDIAN),
300
472
  ...getPoolRegistryRevokePermissions(OPBNBMAINNET_POOL_REGISTRY, OPBNBMAINNET_GUARDIAN),
301
473
  ...getComptrollerRevokePermissions(OPBNBMAINNET_GUARDIAN),
302
474
  ...getVTokenRevokePermissions(OPBNBMAINNET_GUARDIAN),
303
475
  ...getXVSBridgeAdminRevokePermissions(OPBNBMAINNET_XVS_BRIDGE_ADMIN, OPBNBMAINNET_GUARDIAN),
304
476
  ],
477
+ opmainnet: [
478
+ ...getPrimeRevokePermissions(OPMAINNET_PRIME, OPMAINNET_GUARDIAN),
479
+ ...getPrimeLiquidityProviderRevokePermissions(OPMAINNET_PLP, OPMAINNET_GUARDIAN),
480
+ ...getResilientOracleRevokePermissions(OPMAINNET_RESILIENT_ORACLE, OPMAINNET_GUARDIAN),
481
+ ...getBoundValidatorRevokePermissions(OPMAINNET_BOUND_VALIDATOR, OPMAINNET_GUARDIAN),
482
+ ...getXVSVaultRevokePermissions(OPMAINNET_XVS_VAULT_PROXY, OPMAINNET_GUARDIAN),
483
+ ...getRewardDistributorRevokePermissions(OPMAINNET_GUARDIAN, true),
484
+ ...getIRMRevokePermissions(OPMAINNET_GUARDIAN),
485
+ ...getPoolRegistryRevokePermissions(OPMAINNET_POOL_REGISTRY, OPMAINNET_GUARDIAN),
486
+ ...getComptrollerRevokePermissions(OPMAINNET_GUARDIAN),
487
+ ...getVTokenRevokePermissions(OPMAINNET_GUARDIAN),
488
+ ...getXVSBridgeAdminRevokePermissions(OPMAINNET_XVS_BRIDGE_ADMIN, OPMAINNET_GUARDIAN),
489
+ ],
490
+
491
+ zksyncmainnet: [
492
+ ...getPrimeRevokePermissions(ZKSYNCMAINNET_PRIME, ZKSYNCMAINNET_GUARDIAN),
493
+ ...getPrimeLiquidityProviderRevokePermissions(ZKSYNCMAINNET_PLP, ZKSYNCMAINNET_GUARDIAN),
494
+ ...getResilientOracleRevokePermissions(ZKSYNCMAINNET_RESILIENT_ORACLE, ZKSYNCMAINNET_GUARDIAN),
495
+ ...getBoundValidatorRevokePermissions(ZKSYNCMAINNET_BOUND_VALIDATOR, ZKSYNCMAINNET_GUARDIAN),
496
+ ...getXVSVaultRevokePermissions(ZKSYNCMAINNET_XVS_VAULT_PROXY, ZKSYNCMAINNET_GUARDIAN),
497
+ ...getRewardDistributorRevokePermissions(ZKSYNCMAINNET_GUARDIAN, true),
498
+ ...getIRMRevokePermissions(ZKSYNCMAINNET_GUARDIAN),
499
+ ...getPoolRegistryRevokePermissionsForWildcard(ZKSYNCMAINNET_GUARDIAN),
500
+ ...getPoolRegistryRevokePermissions(ZKSYNCMAINNET_POOL_REGISTRY, ZKSYNCMAINNET_GUARDIAN),
501
+ ...getComptrollerRevokePermissions(ZKSYNCMAINNET_GUARDIAN),
502
+ ...getVTokenRevokePermissions(ZKSYNCMAINNET_GUARDIAN),
503
+ ...getXVSBridgeAdminRevokePermissions(ZKSYNCMAINNET_XVS_BRIDGE_ADMIN, ZKSYNCMAINNET_GUARDIAN),
504
+ ],
505
+
506
+ basemainnet: [
507
+ ...getPrimeRevokePermissions(BASEMAINNET_PRIME, BASEMAINNET_GUARDIAN),
508
+ ...getPrimeLiquidityProviderRevokePermissions(BASEMAINNET_PLP, BASEMAINNET_GUARDIAN),
509
+ ...getResilientOracleRevokePermissions(BASEMAINNET_RESILIENT_ORACLE, BASEMAINNET_GUARDIAN),
510
+ ...getBoundValidatorRevokePermissions(BASEMAINNET_BOUND_VALIDATOR, BASEMAINNET_GUARDIAN),
511
+ ...getXVSVaultRevokePermissions(BASEMAINNET_XVS_VAULT_PROXY, BASEMAINNET_GUARDIAN),
512
+ ...getRewardDistributorRevokePermissions(BASEMAINNET_GUARDIAN, true),
513
+ ...getIRMRevokePermissions(BASEMAINNET_GUARDIAN),
514
+ ...getPoolRegistryRevokePermissions(BASEMAINNET_POOL_REGISTRY, BASEMAINNET_GUARDIAN),
515
+ ...getComptrollerRevokePermissions(BASEMAINNET_GUARDIAN),
516
+ ...getVTokenRevokePermissions(BASEMAINNET_GUARDIAN),
517
+ ...getXVSBridgeAdminRevokePermissions(BASEMAINNET_XVS_BRIDGE_ADMIN, BASEMAINNET_GUARDIAN),
518
+ ],
519
+
305
520
  opbnbtestnet: [
306
521
  ...getResilientOracleRevokePermissions(OPBNBTESTNET_RESILIENT_ORACLE, OPBNBTESTNET_GUARDIAN),
307
522
  ...getBoundValidatorRevokePermissions(OPBNBTESTNET_BOUND_VALIDATOR, OPBNBTESTNET_GUARDIAN),
308
- ...getXVSVaultRevokePermissions(OPBNBTESTNET_XVS, OPBNBTESTNET_GUARDIAN),
523
+ ...getXVSVaultRevokePermissions(OPBNBTESTNET_XVS_VAULT_PROXY, OPBNBTESTNET_GUARDIAN),
309
524
  ...getIRMRevokePermissions(OPBNBTESTNET_GUARDIAN),
310
525
  ...getPoolRegistryRevokePermissionsForWildcard(OPBNBTESTNET_GUARDIAN),
311
526
  ...getComptrollerRevokePermissions(OPBNBTESTNET_GUARDIAN),
@@ -319,13 +534,12 @@ const revokePermissions: Permissions = {
319
534
  ...getPrimeLiquidityProviderRevokePermissions(SEPOLIA_PLP, SEPOLIA_GUARDIAN),
320
535
  ...getResilientOracleRevokePermissions(SEPOLIA_RESILIENT_ORACLE, SEPOLIA_GUARDIAN),
321
536
  ...getBoundValidatorRevokePermissions(SEPOLIA_BOUND_VALIDATOR, SEPOLIA_GUARDIAN),
322
- ...getXVSVaultRevokePermissions(SEPOLIA_XVS, SEPOLIA_GUARDIAN),
537
+ ...getXVSVaultRevokePermissions(SEPOLIA_XVS_VAULT_PROXY, SEPOLIA_GUARDIAN),
323
538
  ...getRewardDistributorRevokePermissions(SEPOLIA_GUARDIAN, false),
324
539
  ...getIRMRevokePermissions(SEPOLIA_GUARDIAN),
325
540
  ...getPoolRegistryRevokePermissions(SEPOLIA_POOL_REGISTRY, SEPOLIA_GUARDIAN),
326
541
  ...getComptrollerRevokePermissions(SEPOLIA_GUARDIAN),
327
542
  ...getVTokenRevokePermissions(SEPOLIA_GUARDIAN),
328
- ...getRedstoneOracleRevokePermissions(SEPOLIA_REDSTONE_ORACLE, SEPOLIA_GUARDIAN),
329
543
  ...getConverterNetworkRevokePermissions(SEPOLIA_CONVERTER_NETWORK, SEPOLIA_GUARDIAN),
330
544
  ...getSFrxETHOracleRevokePermissions(SEPOLIA_sFrxETH_ORACLE, SEPOLIA_GUARDIAN),
331
545
  ...getConvertersRevokePermissions(SEPOLIA_CONVERTERS, SEPOLIA_GUARDIAN),
@@ -338,16 +552,55 @@ const revokePermissions: Permissions = {
338
552
  ...getPrimeLiquidityProviderRevokePermissions(ARBITRUMSEPOLIA_PLP, ARBITRUMSEPOLIA_GUARDIAN),
339
553
  ...getResilientOracleRevokePermissions(ARBITRUMSEPOLIA_RESILIENT_ORACLE, ARBITRUMSEPOLIA_GUARDIAN),
340
554
  ...getBoundValidatorRevokePermissions(ARBITRUMSEPOLIA_BOUND_VALIDATOR, ARBITRUMSEPOLIA_GUARDIAN),
341
- ...getXVSVaultRevokePermissions(ARBITRUMSEPOLIA_XVS, ARBITRUMSEPOLIA_GUARDIAN),
555
+ ...getXVSVaultRevokePermissions(ARBITRUMSEPOLIA_XVS_VAULT_PROXY, ARBITRUMSEPOLIA_GUARDIAN),
342
556
  ...getRewardDistributorRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN, true),
343
557
  ...getIRMRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN),
344
558
  ...getPoolRegistryRevokePermissionsForWildcard(ARBITRUMSEPOLIA_GUARDIAN),
345
559
  ...getComptrollerRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN),
346
560
  ...getVTokenRevokePermissions(ARBITRUMSEPOLIA_GUARDIAN),
347
561
  ...getXVSBridgeAdminRevokePermissions(ARBITRUMSEPOLIA_XVS_BRIDGE_ADMIN, ARBITRUMSEPOLIA_GUARDIAN),
348
- ...getRedstoneOracleRevokePermissions(ARBITRUMSEPOLIA_REDSTONE_ORACLE, ARBITRUMSEPOLIA_GUARDIAN),
349
562
  ...getOmniChainExecutorOwnerRevokePermissions(ARBITRUMSEPOLIA_OMNICHAIN_EXECUTOR_OWNER, ARBITRUMSEPOLIA_GUARDIAN),
350
563
  ],
564
+ opsepolia: [
565
+ ...getPrimeRevokePermissions(OPSEPOLIA_PRIME, OPSEPOLIA_GUARDIAN),
566
+ ...getPrimeLiquidityProviderRevokePermissions(OPSEPOLIA_PLP, OPSEPOLIA_GUARDIAN),
567
+ ...getResilientOracleRevokePermissions(OPSEPOLIA_RESILIENT_ORACLE, OPSEPOLIA_GUARDIAN),
568
+ ...getBoundValidatorRevokePermissions(OPSEPOLIA_BOUND_VALIDATOR, OPSEPOLIA_GUARDIAN),
569
+ ...getXVSVaultRevokePermissions(OPSEPOLIA_XVS_VAULT_PROXY, OPSEPOLIA_GUARDIAN),
570
+ ...getRewardDistributorRevokePermissions(OPSEPOLIA_GUARDIAN, true),
571
+ ...getIRMRevokePermissions(OPSEPOLIA_GUARDIAN),
572
+ ...getPoolRegistryRevokePermissions(OPSEPOLIA_POOL_REGISTRY, OPSEPOLIA_GUARDIAN),
573
+ ...getComptrollerRevokePermissions(OPSEPOLIA_GUARDIAN),
574
+ ...getVTokenRevokePermissions(OPSEPOLIA_GUARDIAN),
575
+ ...getXVSBridgeAdminRevokePermissions(OPSEPOLIA_XVS_BRIDGE_ADMIN, OPSEPOLIA_GUARDIAN),
576
+ ],
577
+ zksyncsepolia: [
578
+ ...getPrimeRevokePermissions(ZKSYNCSEPOLIA_PRIME, ZKSYNCSEPOLIA_GUARDIAN),
579
+ ...getPrimeLiquidityProviderRevokePermissions(ZKSYNCSEPOLIA_PLP, ZKSYNCSEPOLIA_GUARDIAN),
580
+ ...getResilientOracleRevokePermissions(ZKSYNCSEPOLIA_RESILIENT_ORACLE, ZKSYNCSEPOLIA_GUARDIAN),
581
+ ...getBoundValidatorRevokePermissions(ZKSYNCSEPOLIA_BOUND_VALIDATOR, ZKSYNCSEPOLIA_GUARDIAN),
582
+ ...getXVSVaultRevokePermissions(ZKSYNCSEPOLIA_XVS_VAULT_PROXY, ZKSYNCSEPOLIA_GUARDIAN),
583
+ ...getRewardDistributorRevokePermissions(ZKSYNCSEPOLIA_GUARDIAN, true),
584
+ ...getIRMRevokePermissions(ZKSYNCSEPOLIA_GUARDIAN),
585
+ ...getPoolRegistryRevokePermissionsForWildcard(ZKSYNCSEPOLIA_GUARDIAN),
586
+ ...getPoolRegistryRevokePermissions(ZKSYNCSEPOLIA_POOL_REGISTRY, ZKSYNCSEPOLIA_GUARDIAN),
587
+ ...getComptrollerRevokePermissions(ZKSYNCSEPOLIA_GUARDIAN),
588
+ ...getVTokenRevokePermissions(ZKSYNCSEPOLIA_GUARDIAN),
589
+ ...getXVSBridgeAdminRevokePermissions(ZKSYNCSEPOLIA_XVS_BRIDGE_ADMIN, ZKSYNCSEPOLIA_GUARDIAN),
590
+ ],
591
+ basesepolia: [
592
+ ...getPrimeRevokePermissions(BASESEPOLIA_PRIME, BASESEPOLIA_GUARDIAN),
593
+ ...getPrimeLiquidityProviderRevokePermissions(BASESEPOLIA_PLP, BASESEPOLIA_GUARDIAN),
594
+ ...getResilientOracleRevokePermissions(BASESEPOLIA_RESILIENT_ORACLE, BASESEPOLIA_GUARDIAN),
595
+ ...getBoundValidatorRevokePermissions(BASESEPOLIA_BOUND_VALIDATOR, BASESEPOLIA_GUARDIAN),
596
+ ...getXVSVaultRevokePermissions(BASESEPOLIA_XVS_VAULT_PROXY, BASESEPOLIA_GUARDIAN),
597
+ ...getRewardDistributorRevokePermissions(BASESEPOLIA_GUARDIAN, true),
598
+ ...getIRMRevokePermissions(BASESEPOLIA_GUARDIAN),
599
+ ...getPoolRegistryRevokePermissions(BASESEPOLIA_POOL_REGISTRY, BASESEPOLIA_GUARDIAN),
600
+ ...getComptrollerRevokePermissions(BASESEPOLIA_GUARDIAN),
601
+ ...getVTokenRevokePermissions(BASESEPOLIA_GUARDIAN),
602
+ ...getXVSBridgeAdminRevokePermissions(BASESEPOLIA_XVS_BRIDGE_ADMIN, BASESEPOLIA_GUARDIAN),
603
+ ],
351
604
  };
352
605
 
353
606
  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