Skip to content

Commit e629431

Browse files
authored
Merge pull request #3299 from keep-network/chaosnet-2
Chaosnet: update ecdsa contracts See #3297 Updating `sortition-pools` and `random-beacon` dependencies to the ones with Chaosnet support from keep-network/sortition-pools#188. Updated deployment scripts for ecdsa contracts to transfer the chaosnet owner to a named account. Deactivated chaosnet in unit tests to avoid problems with adding operators to the pool
2 parents 2b467b7 + 46e889b commit e629431

File tree

9 files changed

+50
-30
lines changed

9 files changed

+50
-30
lines changed

solidity/ecdsa/deploy/01_deploy_ecdsa_sortition_pool.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,37 @@ import type { DeployFunction } from "hardhat-deploy/types"
33

44
const func: DeployFunction = async (hre: HardhatRuntimeEnvironment) => {
55
const { getNamedAccounts, deployments, helpers } = hre
6-
const { deployer } = await getNamedAccounts()
6+
const { deployer, chaosnetOwner } = await getNamedAccounts()
7+
const { execute } = deployments
78
const { to1e18 } = helpers.number
89

910
const POOL_WEIGHT_DIVISOR = to1e18(1) // TODO: Update value
1011

1112
const T = await deployments.get("T")
1213

13-
const SortitionPool = await deployments.deploy("EcdsaSortitionPool", {
14+
const EcdsaSortitionPool = await deployments.deploy("EcdsaSortitionPool", {
1415
contract: "SortitionPool",
1516
from: deployer,
1617
args: [T.address, POOL_WEIGHT_DIVISOR],
1718
log: true,
1819
waitConfirmations: 1,
1920
})
2021

22+
await execute(
23+
"EcdsaSortitionPool",
24+
{ from: deployer },
25+
"transferChaosnetOwnerRole",
26+
chaosnetOwner
27+
)
28+
2129
if (hre.network.tags.etherscan) {
22-
await helpers.etherscan.verify(SortitionPool)
30+
await helpers.etherscan.verify(EcdsaSortitionPool)
2331
}
2432

2533
if (hre.network.tags.tenderly) {
2634
await hre.tenderly.verify({
2735
name: "EcdsaSortitionPool",
28-
address: SortitionPool.address,
36+
address: EcdsaSortitionPool.address,
2937
})
3038
}
3139
}

solidity/ecdsa/deploy/02_deploy_dkg_validator.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ const func: DeployFunction = async (hre: HardhatRuntimeEnvironment) => {
55
const { getNamedAccounts, deployments, helpers } = hre
66
const { deployer } = await getNamedAccounts()
77

8-
const SortitionPool = await deployments.get("EcdsaSortitionPool")
8+
const EcdsaSortitionPool = await deployments.get("EcdsaSortitionPool")
99

1010
const EcdsaDkgValidator = await deployments.deploy("EcdsaDkgValidator", {
1111
from: deployer,
12-
args: [SortitionPool.address],
12+
args: [EcdsaSortitionPool.address],
1313
log: true,
1414
waitConfirmations: 1,
1515
})

solidity/ecdsa/deploy/03_deploy_wallet_registry.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const func: DeployFunction = async (hre: HardhatRuntimeEnvironment) => {
55
const { getNamedAccounts, deployments, ethers, helpers } = hre
66
const { deployer } = await getNamedAccounts()
77

8-
const SortitionPool = await deployments.get("EcdsaSortitionPool")
8+
const EcdsaSortitionPool = await deployments.get("EcdsaSortitionPool")
99
const TokenStaking = await deployments.get("TokenStaking")
1010
const ReimbursementPool = await deployments.get("ReimbursementPool")
1111
const RandomBeacon = await deployments.get("RandomBeacon")
@@ -36,7 +36,7 @@ const func: DeployFunction = async (hre: HardhatRuntimeEnvironment) => {
3636
},
3737
},
3838
proxyOpts: {
39-
constructorArgs: [SortitionPool.address, TokenStaking.address],
39+
constructorArgs: [EcdsaSortitionPool.address, TokenStaking.address],
4040
unsafeAllow: ["external-library-linking"],
4141
kind: "transparent",
4242
},

solidity/ecdsa/hardhat.config.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,16 @@ const config: HardhatUserConfig = {
132132
goerli: 0,
133133
// mainnet: ""
134134
},
135-
esdm: {
135+
chaosnetOwner: {
136136
default: 3,
137137
goerli: 0,
138138
// mainnet: ""
139139
},
140+
esdm: {
141+
default: 4,
142+
goerli: 0,
143+
// mainnet: ""
144+
},
140145
},
141146
external: {
142147
contracts:

solidity/ecdsa/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
"dependencies": {
7070
"@keep-network/hardhat-helpers": "^0.6.0-pre.15",
7171
"@keep-network/random-beacon": "development",
72-
"@keep-network/sortition-pools": "^2.0.0-pre.13",
72+
"@keep-network/sortition-pools": "^2.0.0-pre.15",
7373
"@openzeppelin/contracts": "^4.6.0",
7474
"@openzeppelin/contracts-upgradeable": "^4.6.0",
7575
"@threshold-network/solidity-contracts": "development"

solidity/ecdsa/test/WalletRegistry.Authorization.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ describe("WalletRegistry - Authorization", () => {
7373
thirdParty = await ethers.getSigner(accounts[6])
7474
;({ deployer, governance } = await helpers.signers.getNamedSigners())
7575

76+
const { chaosnetOwner } = await helpers.signers.getNamedSigners()
77+
await sortitionPool.connect(chaosnetOwner).deactivateChaosnet()
78+
7679
walletOwner = await initializeWalletOwner(
7780
walletRegistryGovernance,
7881
governance

solidity/ecdsa/test/WalletRegistry.WalletCreation.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1674,8 +1674,8 @@ describe("WalletRegistry - Wallet Creation", async () => {
16741674
)
16751675
})
16761676

1677-
it("should use close to 272 000 gas", async () => {
1678-
await assertGasUsed(tx, 272_000)
1677+
it("should use close to 274 000 gas", async () => {
1678+
await assertGasUsed(tx, 274_000)
16791679
})
16801680
})
16811681

@@ -3450,8 +3450,8 @@ describe("WalletRegistry - Wallet Creation", async () => {
34503450
)
34513451
})
34523452

3453-
it("should use close to 80 000 gas", async () => {
3454-
await assertGasUsed(tx, 80_000)
3453+
it("should use close to 82 000 gas", async () => {
3454+
await assertGasUsed(tx, 82_000)
34553455
})
34563456
})
34573457

@@ -3605,8 +3605,8 @@ describe("WalletRegistry - Wallet Creation", async () => {
36053605
)
36063606
})
36073607

3608-
it("should use close to 74 000 gas", async () => {
3609-
await assertGasUsed(tx, 74_000)
3608+
it("should use close to 76 000 gas", async () => {
3609+
await assertGasUsed(tx, 76_000)
36103610
})
36113611
})
36123612
})

solidity/ecdsa/test/fixtures/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,10 @@ export const walletRegistryFixture = deployments.createFixture(
8989
walletRegistry
9090
)
9191

92-
const { deployer, governance } = await helpers.signers.getNamedSigners()
92+
const { deployer, governance, chaosnetOwner } =
93+
await helpers.signers.getNamedSigners()
94+
95+
await sortitionPool.connect(chaosnetOwner).deactivateChaosnet()
9396

9497
const [thirdParty] = await helpers.signers.getUnnamedSigners()
9598

solidity/ecdsa/yarn.lock

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -687,19 +687,20 @@
687687
openzeppelin-solidity "2.4.0"
688688

689689
"@keep-network/random-beacon@development":
690-
version "2.0.0-dev.56"
691-
resolved "https://registry.yarnpkg.com/@keep-network/random-beacon/-/random-beacon-2.0.0-dev.56.tgz#70999781d6fa93e67b47e953472fa72f6f312455"
692-
integrity sha512-eoqwSFeFIoR2NI0/5TutqRHHom91nJtoCNtdPMGK1eqH+Jo6SAZh9jAbz9KIEoX0bnhOoMQhyJdbdOv3Nr4S7w==
690+
version "2.0.0-dev.72"
691+
resolved "https://registry.yarnpkg.com/@keep-network/random-beacon/-/random-beacon-2.0.0-dev.72.tgz#0e96714628ac4fb5a3cdf67d5a7f56c6b67b4f50"
692+
integrity sha512-mx7lUf9sdtK/9/dYV0TBXPM2zA3xeKqkspII2T9LZ1BxX8IhELvmjrgErzg5Za5IXUDQYFUco4BHU/fpjR+Q+w==
693693
dependencies:
694-
"@keep-network/sortition-pools" "^2.0.0-pre.13"
694+
"@keep-network/hardhat-helpers" "^0.6.0-pre.15"
695+
"@keep-network/sortition-pools" "^2.0.0-pre.15"
695696
"@openzeppelin/contracts" "^4.6.0"
696697
"@thesis/solidity-contracts" "github:thesis/solidity-contracts#4985bcf"
697-
"@threshold-network/solidity-contracts" "1.2.0-dev.18"
698+
"@threshold-network/solidity-contracts" "1.2.0-dev.22"
698699

699-
"@keep-network/sortition-pools@^2.0.0-pre.13":
700-
version "2.0.0-pre.13"
701-
resolved "https://registry.yarnpkg.com/@keep-network/sortition-pools/-/sortition-pools-2.0.0-pre.13.tgz#80dbe8066ce378ae4242c3aef6864224477a9e41"
702-
integrity sha512-+6VXCJyYT3+HApDExeySHjOgezg+umvdpm5lZXIUlhSx7xmbXSK/YwLXkdeWkGyVdyfwRO4ZXo1CbscbC0XGnA==
700+
"@keep-network/sortition-pools@^2.0.0-pre.15":
701+
version "2.0.0-pre.15"
702+
resolved "https://registry.yarnpkg.com/@keep-network/sortition-pools/-/sortition-pools-2.0.0-pre.15.tgz#3a289f7cd502e5d6c629f2fb625d390b77c02950"
703+
integrity sha512-FuEk6uvIL5n82LnxyP6piV8Y7eRae3Vp7n1yQcSK2M9+gaZqzT1eaxX6FtZrXMzAOz3M+aQ8X3DVEyTScQOO2Q==
703704
dependencies:
704705
"@openzeppelin/contracts" "^4.3.2"
705706
"@thesis/solidity-contracts" "github:thesis/solidity-contracts#4985bcf"
@@ -1109,10 +1110,10 @@
11091110
dependencies:
11101111
"@openzeppelin/contracts" "^4.1.0"
11111112

1112-
"@threshold-network/solidity-contracts@1.2.0-dev.18":
1113-
version "1.2.0-dev.18"
1114-
resolved "https://registry.yarnpkg.com/@threshold-network/solidity-contracts/-/solidity-contracts-1.2.0-dev.18.tgz#814721dea03e47c3fe2f21644802e99d49dd9260"
1115-
integrity sha512-ao6Kngc8Q9rPg42/DlSlsOi2k/GH0DfdAOB4fmzcQSBl4H4D+dP0k0ymqvK6zfeMgxYmjRYP2KI5kDLPpaF2jg==
1113+
"@threshold-network/solidity-contracts@1.2.0-dev.22":
1114+
version "1.2.0-dev.22"
1115+
resolved "https://registry.yarnpkg.com/@threshold-network/solidity-contracts/-/solidity-contracts-1.2.0-dev.22.tgz#c82da61b51d0086fb6fd2d662db74ec278b7ffcf"
1116+
integrity sha512-QpJXl0ViOMbWeGQ1m02cM//UwedjMKG4Vm9JILyn0VZiFxoMo0Jtcdm0V1+4+j+cAXbGjWFQGKMvSFYh34ONCw==
11161117
dependencies:
11171118
"@keep-network/keep-core" ">1.8.1-dev <1.8.1-goerli"
11181119
"@openzeppelin/contracts" "~4.5.0"

0 commit comments

Comments
 (0)