diff --git a/configs/deployed-mainnet.json b/configs/deployed-mainnet.json index d1d32ef..5087872 100644 --- a/configs/deployed-mainnet.json +++ b/configs/deployed-mainnet.json @@ -149,6 +149,48 @@ "contentURI": "0x697066733a516d656138394d5533504852503763513157616b3672327355654d554146324c39727132624c6d5963644b764c57" } }, + "app:simple-dvt": { + "stakingRouterModuleParams": { + "moduleName": "SimpleDVT", + "moduleType": "curated-onchain-v1", + "targetShare": 50, + "moduleFee": 800, + "treasuryFee": 200, + "penaltyDelay": 432000, + "easyTrackTrustedCaller": "0x08637515E85A4633E23dfc7861e2A9f53af640f7", + "easyTrackAddress": "0xF0211b7660680B49De1A7E9f25C65660F0a13Fea", + "easyTrackFactories": { + "AddNodeOperators": "0xcAa3AF7460E83E665EEFeC73a7a542E5005C9639", + "ActivateNodeOperators": "0xCBb418F6f9BFd3525CE6aADe8F74ECFEfe2DB5C8", + "DeactivateNodeOperators": "0x8B82C1546D47330335a48406cc3a50Da732672E7", + "SetVettedValidatorsLimits": "0xD75778b855886Fc5e1eA7D6bFADA9EB68b35C19D", + "SetNodeOperatorNames": "0x7d509BFF310d9460b1F613e4e40d342201a83Ae4", + "SetNodeOperatorRewardAddresses": "0x589e298964b9181D9938B84bB034C3BB9024E2C0", + "UpdateTargetValidatorLimits": "0x41CF3DbDc939c5115823Fba1432c4EC5E7bD226C", + "ChangeNodeOperatorManagers": "0xE31A0599A6772BCf9b2bFc9e25cf941e793c9a7D" + } + }, + "aragonApp": { + "name": "simple-dvt", + "fullName": "simple-dvt.lidopm.eth", + "id": "0xe1635b63b5f7b5e545f2a637558a4029dea7905361a2f0fc28c66e9136cf86a4", + "ipfsCid": "QmaSSujHCGcnFuetAPGwVW5BegaMBvn5SCsgi3LSfvraSo", + "contentURI": "0x697066733a516d615353756a484347636e4675657441504777565735426567614d42766e355343736769334c5366767261536f" + }, + "proxy": { + "address": "0xaE7B191A31f627b4eB1d4DaC64eaB9976995b433", + "contract": "@aragon/os/contracts/apps/AppProxyUpgradeable.sol", + "constructorArgs": [ + "0xb8FFC3Cd6e7Cf5a098A1c92F48009765B24088Dc", + "0xe1635b63b5f7b5e545f2a637558a4029dea7905361a2f0fc28c66e9136cf86a4", + "0x" + ] + }, + "implementation": { + "address": "0x8538930c385C0438A357d2c25CB3eAD95Ab6D8ed", + "contract": "contracts/0.4.24/nos/NodeOperatorsRegistry.sol" + } + }, "aragon-kernel": { "implementation": { "contract": "@aragon/os/contracts/kernel/Kernel.sol", diff --git a/programs/common/access-control.ts b/programs/common/access-control.ts index eeaf31a..cf21327 100644 --- a/programs/common/access-control.ts +++ b/programs/common/access-control.ts @@ -31,6 +31,11 @@ export const addAccessControlSubCommands = (command: Command, contract: Contract const roleHash = await getRoleHash(contract, role); const count = await contract.getRoleMemberCount(roleHash); + if (count == 0) { + logger.log('No members'); + return; + } + for (let i = 0; i < count; i++) { const count = await contract.getRoleMember(roleHash, i); logger.log(`Role member at ${i}`, count); diff --git a/programs/exit-bus/exit-requests.ts b/programs/exit-bus/exit-requests.ts index 3c85231..a045937 100644 --- a/programs/exit-bus/exit-requests.ts +++ b/programs/exit-bus/exit-requests.ts @@ -24,6 +24,7 @@ export type GroupedRequestsByOperator = { wc0x00: number; wc0x01: number; exitSignaledNYP: number; + exiting: number; delayed: number; exited: number; exitedSlashed: number; @@ -144,6 +145,7 @@ export const groupRequestsByOperator = ( wc0x00: 0, wc0x01: 0, exitSignaledNYP: 0, + exiting: 0, delayed: 0, exited: 0, exitedSlashed: 0, @@ -158,6 +160,7 @@ export const groupRequestsByOperator = ( if (item.wcType == '0x00') operatorRequestsStat.wc0x00 += 1; if (item.wcType == '0x01') operatorRequestsStat.wc0x01 += 1; if (item.status == 'active_ongoing') operatorRequestsStat.exitSignaledNYP += 1; + if (item.status == 'active_exiting') operatorRequestsStat.exiting += 1; if (item.delayed == true) operatorRequestsStat.delayed += 1; if (item.status == 'exited_unslashed' || item.status == 'withdrawal_done' || item.status == 'withdrawal_possible') operatorRequestsStat.exited += 1;