Skip to content

Commit 14f56eb

Browse files
committed
feat: upgrade adding new operator
1 parent c88e837 commit 14f56eb

File tree

2 files changed

+23
-40
lines changed

2 files changed

+23
-40
lines changed

src/commands/lido-core/add-new-operator.ts

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,30 @@ export const AddNewOperator = command.cli({
1717
description: "Operator ID to be used for the new operator.",
1818
default: 1,
1919
}),
20+
depositCount: Params.integer({
21+
description: "Number of deposits to be made for the new operator.",
22+
default: 30,
23+
}),
24+
stakingModuleId: Params.integer({
25+
description: "Staking module ID to be used for the new operator.",
26+
default: 1,
27+
}),
2028
},
2129
async handler({ params, dre, dre: { logger, services } }) {
2230
const depositArgs = { dsm: false };
2331
const OPERATOR_ID = params.operatorId;
32+
const STAKING_MODULE_ID = params.stakingModuleId ?? 1;
33+
const NOR_DEVNET_OPERATOR = `devnet_nor_${OPERATOR_ID}`;
34+
const DEPOSIT_COUNT = params.depositCount ?? 30;
2435

2536
assert(
2637
OPERATOR_ID > 0,
2738
`Operator ID must be greater than 0, got ${OPERATOR_ID}`,
2839
);
29-
30-
const NOR_DEVNET_OPERATOR = `devnet_nor_${OPERATOR_ID}`;
31-
32-
const DEPOSIT_COUNT = 100;
40+
assert(
41+
STAKING_MODULE_ID > 0,
42+
`Staking Module ID must be greater than 0, got ${STAKING_MODULE_ID}`,
43+
);
3344

3445
const operatorExists = await services.lidoCLI.fileExists(
3546
`generated-keys/${NOR_DEVNET_OPERATOR}.json`,

src/commands/stands/fusaka-srv3-devnet0.ts

Lines changed: 8 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,21 @@
1-
import { DevNetRuntimeEnvironmentInterface, Params, command } from "@devnet/command";
1+
import { Params, command } from "@devnet/command";
22

33
import { ChainGetInfo } from "../chain/info.js";
44
import { ChainUp } from "../chain/up.js";
55
import { CouncilK8sUp } from "../council-k8s/up.js";
6-
import { ActivateCSM } from "../csm/activate.js";
7-
import { LidoAddCSMOperatorWithKeys } from "../csm/add-operator.js";
86
import { DeployCSMContracts } from "../csm/deploy.js";
97
import { DataBusDeploy } from "../data-bus/deploy.js";
108
import { DSMBotsK8sUp } from "../dsm-bots-k8s/up.js";
119
import { GitCheckout } from "../git/checkout.js";
1210
import { KapiK8sUp } from "../kapi-k8s/up.js";
1311
import { ActivateLidoProtocol } from "../lido-core/activate.js";
14-
import { LidoAddKeys } from "../lido-core/add-keys.js";
15-
import { LidoAddOperator } from "../lido-core/add-operator.js";
12+
import { AddNewOperator } from "../lido-core/add-new-operator.js";
1613
import { DeployLidoContracts } from "../lido-core/deploy.js";
1714
import { LidoDeposit } from "../lido-core/deposit.js";
18-
import { GenerateLidoDevNetKeys } from "../lido-core/keys/generate.js";
19-
import { UseLidoDevNetKeys } from "../lido-core/keys/use.js";
2015
import { ReplaceDSM } from "../lido-core/replace-dsm.js";
21-
import { LidoSetStakingLimit } from "../lido-core/set-staking-limit.js";
2216
import { OracleK8sUp } from "../oracles-k8s/up.js";
2317
import { ValidatorAdd } from "../validator/add.js";
2418

25-
const addLidoNodeOperator = async (dre: DevNetRuntimeEnvironmentInterface, name: string, id: number, validators: number) => {
26-
const { logger } = dre;
27-
28-
logger.log("🚀 Generating and allocating keys for NOR Module...");
29-
await dre.runCommand(GenerateLidoDevNetKeys, { validators });
30-
await dre.runCommand(UseLidoDevNetKeys, { name });
31-
logger.log("✅ NOR Module keys generated and allocated.");
32-
33-
logger.log("🚀 Adding NOR operator...");
34-
await dre.runCommand(LidoAddOperator, { name });
35-
logger.log(`✅ Operator ${name} added.`);
36-
37-
logger.log("🚀 Adding NOR keys...");
38-
await dre.runCommand(LidoAddKeys, { name, id: id - 1 });
39-
logger.log("✅ NOR keys added.");
40-
41-
logger.log("🚀 Increasing staking limit for NOR...");
42-
await dre.runCommand(LidoSetStakingLimit, { operatorId: id - 1, limit: validators });
43-
logger.log("✅ Staking limit for NOR increased.");
44-
}
4519

4620
export const FusakaSRV3DevNetUp = command.cli({
4721
description: "Staking Router V3 Devnet0 on Fusaka test stand.",
@@ -73,7 +47,7 @@ export const FusakaSRV3DevNetUp = command.cli({
7347
logger.log("✅ Network initialized.");
7448

7549
const deployArgs = { verify: false };
76-
const depositArgs = { dsm: true };
50+
const depositArgs = { dsm: params.dsm };
7751

7852
logger.log("🚀 Deploying Lido Core contracts...");
7953
await dre.runCommand(DeployLidoContracts, {
@@ -112,13 +86,11 @@ export const FusakaSRV3DevNetUp = command.cli({
11286
}
11387

11488
const validators = 30;
115-
const NOR_DEVNET_OPERATOR_1 = "devnet_nor_1";
116-
const NOR_DEVNET_OPERATOR_2 = "devnet_nor_2";
117-
const NOR_DEVNET_OPERATOR_3 = "devnet_nor_3";
118-
119-
await addLidoNodeOperator(dre, NOR_DEVNET_OPERATOR_1, 1, validators).then(() => logger.log(`✅ ${NOR_DEVNET_OPERATOR_1} initialized.`));
120-
await addLidoNodeOperator(dre, NOR_DEVNET_OPERATOR_2, 2, validators).then(() => logger.log(`✅ ${NOR_DEVNET_OPERATOR_2} initialized.`));
121-
await addLidoNodeOperator(dre, NOR_DEVNET_OPERATOR_3, 3, validators).then(() => logger.log(`✅ ${NOR_DEVNET_OPERATOR_3} initialized.`));
89+
logger.log("🚀 Adding 3 new operators with validators...");
90+
await dre.runCommand(AddNewOperator, { operatorId: 1, stakingModuleId: 1, depositCount: validators});
91+
await dre.runCommand(AddNewOperator, { operatorId: 2, stakingModuleId: 1, depositCount: validators});
92+
await dre.runCommand(AddNewOperator, { operatorId: 3, stakingModuleId: 1, depositCount: validators});
93+
logger.log("✅ 3 new operators with validators added.");
12294

12395
logger.log("🚀 Run KAPI service in K8s.");
12496
await dre.runCommand(KapiK8sUp, {});

0 commit comments

Comments
 (0)