diff --git a/contracts/v1/storage/ParametersStorage.sol b/contracts/v1/storage/ParametersStorage.sol index 8eca8643..dee76b96 100644 --- a/contracts/v1/storage/ParametersStorage.sol +++ b/contracts/v1/storage/ParametersStorage.sol @@ -42,7 +42,7 @@ contract ParametersStorage is Named, Versioned, HubDependent { // minimumStake args3[0] = 50_000 ether; // maximumStake - args3[1] = 5_000_000 ether; + args3[1] = 2_000_000 ether; r2 = 20; // r1 @@ -64,9 +64,9 @@ contract ParametersStorage is Named, Versioned, HubDependent { epochLength = 90 days; // stakeWithdrawalDelay - args4[0] = 5 minutes; + args4[0] = 28 days; // rewardWithdrawalDelay - args4[1] = 5 minutes; + args4[1] = 28 days; // slashingFreezeDuration args2[2] = 730 days; diff --git a/contracts/v2/CommitManagerV1.sol b/contracts/v2/CommitManagerV2.sol similarity index 100% rename from contracts/v2/CommitManagerV1.sol rename to contracts/v2/CommitManagerV2.sol diff --git a/contracts/v2/CommitManagerV1U1.sol b/contracts/v2/CommitManagerV2U1.sol similarity index 100% rename from contracts/v2/CommitManagerV1U1.sol rename to contracts/v2/CommitManagerV2U1.sol diff --git a/deploy/032_deploy_commit_manager_v1.ts b/deploy/031_deploy_commit_manager_v1.ts similarity index 75% rename from deploy/032_deploy_commit_manager_v1.ts rename to deploy/031_deploy_commit_manager_v1.ts index 98714077..b47a6be9 100644 --- a/deploy/032_deploy_commit_manager_v1.ts +++ b/deploy/031_deploy_commit_manager_v1.ts @@ -2,11 +2,7 @@ import { DeployFunction } from 'hardhat-deploy/types'; import { HardhatRuntimeEnvironment } from 'hardhat/types'; const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { - if ( - hre.helpers.isDeployed('CommitManagerV1') && - (hre.helpers.contractDeployments.contracts['CommitManagerV1'].version === undefined || - hre.helpers.contractDeployments.contracts['CommitManagerV1'].version?.startsWith('2.')) - ) { + if (hre.helpers.isDeployed('CommitManagerV2')) { return; } diff --git a/deploy/034_deploy_commit_manager_v1_u1.ts b/deploy/032_deploy_commit_manager_v1_u1.ts similarity index 76% rename from deploy/034_deploy_commit_manager_v1_u1.ts rename to deploy/032_deploy_commit_manager_v1_u1.ts index a5c4e8af..af113054 100644 --- a/deploy/034_deploy_commit_manager_v1_u1.ts +++ b/deploy/032_deploy_commit_manager_v1_u1.ts @@ -2,11 +2,7 @@ import { DeployFunction } from 'hardhat-deploy/types'; import { HardhatRuntimeEnvironment } from 'hardhat/types'; const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { - if ( - hre.helpers.isDeployed('CommitManagerV1U1') && - (hre.helpers.contractDeployments.contracts['CommitManagerV1U1'].version === undefined || - hre.helpers.contractDeployments.contracts['CommitManagerV1U1'].version?.startsWith('2.')) - ) { + if (hre.helpers.isDeployed('CommitManagerV2U1')) { return; } diff --git a/deploy/031_deploy_commit_manager_v2.ts b/deploy/033_deploy_commit_manager_v2.ts similarity index 58% rename from deploy/031_deploy_commit_manager_v2.ts rename to deploy/033_deploy_commit_manager_v2.ts index ccdb120a..4891bd5d 100644 --- a/deploy/031_deploy_commit_manager_v2.ts +++ b/deploy/033_deploy_commit_manager_v2.ts @@ -2,22 +2,13 @@ import { DeployFunction } from 'hardhat-deploy/types'; import { HardhatRuntimeEnvironment } from 'hardhat/types'; const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { - if ( - hre.helpers.isDeployed('CommitManagerV1') && - (hre.helpers.contractDeployments.contracts['CommitManagerV1'].version === undefined || - hre.helpers.contractDeployments.contracts['CommitManagerV1'].version?.startsWith('1.')) - ) { - return; - } - console.log('Deploying CommitManager V2...'); - const CommitManagerV1 = await hre.helpers.deploy({ + const CommitManagerV2 = await hre.helpers.deploy({ newContractName: 'CommitManagerV2', - newContractNameInHub: 'CommitManagerV1', }); - await hre.helpers.updateContractParameters('CommitManagerV1', CommitManagerV1); + await hre.helpers.updateContractParameters('CommitManagerV2', CommitManagerV2); }; export default func; diff --git a/deploy/033_deploy_commit_manager_v2_u1.ts b/deploy/034_deploy_commit_manager_v2_u1.ts similarity index 60% rename from deploy/033_deploy_commit_manager_v2_u1.ts rename to deploy/034_deploy_commit_manager_v2_u1.ts index b2cb6f47..5bb9a7eb 100644 --- a/deploy/033_deploy_commit_manager_v2_u1.ts +++ b/deploy/034_deploy_commit_manager_v2_u1.ts @@ -2,22 +2,13 @@ import { DeployFunction } from 'hardhat-deploy/types'; import { HardhatRuntimeEnvironment } from 'hardhat/types'; const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { - if ( - hre.helpers.isDeployed('CommitManagerV1U1') && - (hre.helpers.contractDeployments.contracts['CommitManagerV1U1'].version === undefined || - hre.helpers.contractDeployments.contracts['CommitManagerV1U1'].version?.startsWith('1.')) - ) { - return; - } - console.log('Deploying CommitManager V2U1...'); - const CommitManagerV1U1 = await hre.helpers.deploy({ + const CommitManagerV2U1 = await hre.helpers.deploy({ newContractName: 'CommitManagerV2U1', - newContractNameInHub: 'CommitManagerV1U1', }); - await hre.helpers.updateContractParameters('CommitManagerV1U1', CommitManagerV1U1); + await hre.helpers.updateContractParameters('CommitManagerV2U1', CommitManagerV2U1); }; export default func; diff --git a/deployments/parameters.json b/deployments/parameters.json index 7ddad19d..907a6818 100644 --- a/deployments/parameters.json +++ b/deployments/parameters.json @@ -68,6 +68,74 @@ } ] }, + "CommitManagerV2": { + "reqs": [ + { + "desiredValue": false, + "getterArgs": [0], + "setter": "setReq", + "setterArgs": [0, false] + }, + { + "desiredValue": false, + "getterArgs": [1], + "setter": "setReq", + "setterArgs": [1, false] + }, + { + "desiredValue": false, + "getterArgs": [2], + "setter": "setReq", + "setterArgs": [2, false] + }, + { + "desiredValue": false, + "getterArgs": [3], + "setter": "setReq", + "setterArgs": [3, false] + } + ] + }, + "CommitManagerV2U1": { + "reqs": [ + { + "desiredValue": false, + "getterArgs": [0], + "setter": "setReq", + "setterArgs": [0, false] + }, + { + "desiredValue": false, + "getterArgs": [1], + "setter": "setReq", + "setterArgs": [1, false] + }, + { + "desiredValue": false, + "getterArgs": [2], + "setter": "setReq", + "setterArgs": [2, false] + }, + { + "desiredValue": false, + "getterArgs": [3], + "setter": "setReq", + "setterArgs": [3, false] + }, + { + "desiredValue": false, + "getterArgs": [4], + "setter": "setReq", + "setterArgs": [4, false] + }, + { + "desiredValue": false, + "getterArgs": [5], + "setter": "setReq", + "setterArgs": [5, false] + } + ] + }, "LinearSum": { "w1": "1", "w2": "1", @@ -91,7 +159,7 @@ "epochLength": "7776000", "finalizationCommitsNumber": "3", "maxProofWindowOffsetPerc": "75", - "maximumStake": "5000000000000000000000000", + "maximumStake": "2000000000000000000000000", "minProofWindowOffsetPerc": "50", "minimumStake": "50000000000000000000000", "proofWindowDurationPerc": "25", @@ -230,6 +298,74 @@ } ] }, + "CommitManagerV2": { + "reqs": [ + { + "desiredValue": true, + "getterArgs": [0], + "setter": "setReq", + "setterArgs": [0, true] + }, + { + "desiredValue": false, + "getterArgs": [1], + "setter": "setReq", + "setterArgs": [1, false] + }, + { + "desiredValue": false, + "getterArgs": [2], + "setter": "setReq", + "setterArgs": [2, false] + }, + { + "desiredValue": false, + "getterArgs": [3], + "setter": "setReq", + "setterArgs": [3, false] + } + ] + }, + "CommitManagerV2U1": { + "reqs": [ + { + "desiredValue": true, + "getterArgs": [0], + "setter": "setReq", + "setterArgs": [0, true] + }, + { + "desiredValue": false, + "getterArgs": [1], + "setter": "setReq", + "setterArgs": [1, false] + }, + { + "desiredValue": true, + "getterArgs": [2], + "setter": "setReq", + "setterArgs": [2, true] + }, + { + "desiredValue": false, + "getterArgs": [3], + "setter": "setReq", + "setterArgs": [3, false] + }, + { + "desiredValue": false, + "getterArgs": [4], + "setter": "setReq", + "setterArgs": [4, false] + }, + { + "desiredValue": false, + "getterArgs": [5], + "setter": "setReq", + "setterArgs": [5, false] + } + ] + }, "LinearSum": { "w1": "1", "w2": "1", @@ -253,7 +389,7 @@ "epochLength": "3600", "finalizationCommitsNumber": "3", "maxProofWindowOffsetPerc": "75", - "maximumStake": "5000000000000000000000000", + "maximumStake": "2000000000000000000000000", "minProofWindowOffsetPerc": "50", "minimumStake": "50000000000000000000000", "proofWindowDurationPerc": "25", @@ -392,6 +528,74 @@ } ] }, + "CommitManagerV2": { + "reqs": [ + { + "desiredValue": true, + "getterArgs": [0], + "setter": "setReq", + "setterArgs": [0, true] + }, + { + "desiredValue": false, + "getterArgs": [1], + "setter": "setReq", + "setterArgs": [1, false] + }, + { + "desiredValue": false, + "getterArgs": [2], + "setter": "setReq", + "setterArgs": [2, false] + }, + { + "desiredValue": false, + "getterArgs": [3], + "setter": "setReq", + "setterArgs": [3, false] + } + ] + }, + "CommitManagerV2U1": { + "reqs": [ + { + "desiredValue": true, + "getterArgs": [0], + "setter": "setReq", + "setterArgs": [0, true] + }, + { + "desiredValue": false, + "getterArgs": [1], + "setter": "setReq", + "setterArgs": [1, false] + }, + { + "desiredValue": false, + "getterArgs": [2], + "setter": "setReq", + "setterArgs": [2, false] + }, + { + "desiredValue": false, + "getterArgs": [3], + "setter": "setReq", + "setterArgs": [3, false] + }, + { + "desiredValue": false, + "getterArgs": [4], + "setter": "setReq", + "setterArgs": [4, false] + }, + { + "desiredValue": false, + "getterArgs": [5], + "setter": "setReq", + "setterArgs": [5, false] + } + ] + }, "LinearSum": { "w1": "1", "w2": "1", @@ -415,7 +619,7 @@ "epochLength": "7776000", "finalizationCommitsNumber": "3", "maxProofWindowOffsetPerc": "75", - "maximumStake": "5000000000000000000000000", + "maximumStake": "2000000000000000000000000", "minProofWindowOffsetPerc": "50", "minimumStake": "50000000000000000000000", "proofWindowDurationPerc": "25", @@ -423,9 +627,9 @@ "r1": "8", "r2": "20", "replacementWindowDurationPerc": "0", - "rewardWithdrawalDelay": "300", + "rewardWithdrawalDelay": "86400", "slashingFreezeDuration": "63072000", - "stakeWithdrawalDelay": "300", + "stakeWithdrawalDelay": "86400", "updateCommitWindowDuration": "1800" }, "ProofManagerV1": { @@ -554,6 +758,74 @@ } ] }, + "CommitManagerV2": { + "reqs": [ + { + "desiredValue": true, + "getterArgs": [0], + "setter": "setReq", + "setterArgs": [0, true] + }, + { + "desiredValue": false, + "getterArgs": [1], + "setter": "setReq", + "setterArgs": [1, false] + }, + { + "desiredValue": false, + "getterArgs": [2], + "setter": "setReq", + "setterArgs": [2, false] + }, + { + "desiredValue": false, + "getterArgs": [3], + "setter": "setReq", + "setterArgs": [3, false] + } + ] + }, + "CommitManagerV2U1": { + "reqs": [ + { + "desiredValue": true, + "getterArgs": [0], + "setter": "setReq", + "setterArgs": [0, true] + }, + { + "desiredValue": false, + "getterArgs": [1], + "setter": "setReq", + "setterArgs": [1, false] + }, + { + "desiredValue": false, + "getterArgs": [2], + "setter": "setReq", + "setterArgs": [2, false] + }, + { + "desiredValue": false, + "getterArgs": [3], + "setter": "setReq", + "setterArgs": [3, false] + }, + { + "desiredValue": false, + "getterArgs": [4], + "setter": "setReq", + "setterArgs": [4, false] + }, + { + "desiredValue": false, + "getterArgs": [5], + "setter": "setReq", + "setterArgs": [5, false] + } + ] + }, "LinearSum": { "w1": "1", "w2": "1", @@ -577,7 +849,7 @@ "epochLength": "7776000", "finalizationCommitsNumber": "3", "maxProofWindowOffsetPerc": "75", - "maximumStake": "5000000000000000000000000", + "maximumStake": "2000000000000000000000000", "minProofWindowOffsetPerc": "50", "minimumStake": "50000000000000000000000", "proofWindowDurationPerc": "25", @@ -585,9 +857,9 @@ "r1": "8", "r2": "20", "replacementWindowDurationPerc": "0", - "rewardWithdrawalDelay": "300", + "rewardWithdrawalDelay": "2419200", "slashingFreezeDuration": "63072000", - "stakeWithdrawalDelay": "3600", + "stakeWithdrawalDelay": "2419200", "updateCommitWindowDuration": "1800" }, "ProofManagerV1": { diff --git a/index.ts b/index.ts index 8bb7008e..1c0de5e0 100644 --- a/index.ts +++ b/index.ts @@ -122,8 +122,10 @@ export { ServiceAgreementStorageV1U1 as ServiceAgreementStorageV1U1ABI, ServiceAgreementStorageProxy as ServiceAgreementStorageProxyABI, ServiceAgreementV1 as ServiceAgreementV1ABI, - CommitManagerV2 as CommitManagerV1ABI, - CommitManagerV2U1 as CommitManagerV1U1ABI, + CommitManagerV1 as CommitManagerV1ABI, + CommitManagerV1U1 as CommitManagerV1U1ABI, + CommitManagerV2 as CommitManagerV2ABI, + CommitManagerV2U1 as CommitManagerV2U1ABI, ProofManagerV1 as ProofManagerV1ABI, ProofManagerV1U1 as ProofManagerV1U1ABI, ContentAssetStorageV2 as ContentAssetStorageABI, diff --git a/test/v1/unit/Staking.test.ts b/test/v1/unit/Staking.test.ts index 237ec52c..a4f08974 100644 --- a/test/v1/unit/Staking.test.ts +++ b/test/v1/unit/Staking.test.ts @@ -131,7 +131,7 @@ describe('@v1 @unit Staking contract', function () { }); it('Contract should be able to transferStake; expect to pass', async () => { - await Token.mint(StakingStorage.address, hre.ethers.utils.parseEther(`${5_000_000}`)); + await Token.mint(StakingStorage.address, hre.ethers.utils.parseEther(`${2_000_000}`)); const initialReceiverBalance = await Token.balanceOf(accounts[1].address); await StakingStorage.transferStake(accounts[1].address, transferAmount); @@ -140,7 +140,7 @@ describe('@v1 @unit Staking contract', function () { }); it('Create 1 node; expect that stake is created and correctly set', async () => { - await Token.increaseAllowance(Staking.address, hre.ethers.utils.parseEther(`${5_000_000}`)); + await Token.increaseAllowance(Staking.address, hre.ethers.utils.parseEther(`${2_000_000}`)); const nodeId1 = '0x07f38512786964d9e70453371e7c98975d284100d44bd68dab67fe00b525cb66'; await Profile.createProfile(accounts[1].address, nodeId1, 'Token', 'TKN'); @@ -148,16 +148,16 @@ describe('@v1 @unit Staking contract', function () { await Staking.connect(accounts[1])['addStake(address,uint72,uint96)']( accounts[0].address, identityId1, - hre.ethers.utils.parseEther(`${5_000_000}`), + hre.ethers.utils.parseEther(`${2_000_000}`), ); expect(await StakingStorage.totalStakes(identityId1)).to.equal( - hre.ethers.utils.parseEther(`${5_000_000}`), + hre.ethers.utils.parseEther(`${2_000_000}`), 'Total amount of stake is not set', ); }); it('Add reward; expect that total stake is increased', async () => { - await Token.mint(ServiceAgreementStorageV1U1.address, hre.ethers.utils.parseEther(`${5_000_000}`)); + await Token.mint(ServiceAgreementStorageV1U1.address, hre.ethers.utils.parseEther(`${2_000_000}`)); const nodeId1 = '0x07f38512786964d9e70453371e7c98975d284100d44bd68dab67fe00b525cb66'; await Profile.createProfile(accounts[1].address, nodeId1, 'Token', 'TKN'); @@ -179,9 +179,9 @@ describe('@v1 @unit Staking contract', function () { proofWindowOffsetPerc, ); - await Staking.connect(accounts[1]).addReward(agreementId, identityId1, hre.ethers.utils.parseEther(`${5_000_000}`)); + await Staking.connect(accounts[1]).addReward(agreementId, identityId1, hre.ethers.utils.parseEther(`${2_000_000}`)); expect(await StakingStorage.totalStakes(identityId1)).to.equal( - hre.ethers.utils.parseEther(`${5_000_000}`), + hre.ethers.utils.parseEther(`${2_000_000}`), 'Total amount of stake is not increased after adding reward', ); }); diff --git a/test/v2/unit/ContentAssetStorageV2.test.ts b/test/v2/unit/ContentAssetStorageV2.test.ts index f76df005..92df2db5 100644 --- a/test/v2/unit/ContentAssetStorageV2.test.ts +++ b/test/v2/unit/ContentAssetStorageV2.test.ts @@ -47,6 +47,8 @@ describe('@v2 @unit ContentAssetStorageV2', function () { 'ShardingTableStorageV2', 'ShardingTableV2', 'StakingV2', + 'CommitManagerV1', + 'CommitManagerV1U1', 'CommitManagerV2', 'CommitManagerV2U1', 'ContentAsset',