From 0a5d9a69aedc5ec3a3b012bd338e9221d550111e Mon Sep 17 00:00:00 2001 From: Uladzislau Hubar Date: Mon, 12 Feb 2024 14:40:42 +0100 Subject: [PATCH] Added missing parenthesis for if blocks --- abi/ShardingTableV2.json | 11 + contracts/v1/CommitManagerV1.sol | 41 ++-- contracts/v1/CommitManagerV1U1.sol | 60 +++-- contracts/v1/Staking.sol | 23 +- contracts/v1/assets/ContentAsset.sol | 63 ++++-- .../storage/ServiceAgreementStorageProxy.sol | 210 +++++++++++++----- contracts/v1/utils/ByteArr.sol | 4 +- .../UnorderedIndexableContractDynamicSet.sol | 4 +- .../UnorderedNamedContractDynamicSet.sol | 8 +- contracts/v2/CommitManagerV1.sol | 7 +- contracts/v2/CommitManagerV1U1.sol | 7 +- contracts/v2/ShardingTable.sol | 4 +- contracts/v2/errors/ShardingTableErrors.sol | 1 + .../v2/storage/assets/ContentAssetStorage.sol | 8 +- .../UnorderedNamedContractDynamicSet.sol | 8 +- 15 files changed, 318 insertions(+), 141 deletions(-) diff --git a/abi/ShardingTableV2.json b/abi/ShardingTableV2.json index 476d7bba..3d816fda 100644 --- a/abi/ShardingTableV2.json +++ b/abi/ShardingTableV2.json @@ -52,6 +52,17 @@ "name": "InvalidIndexWithRespectToPreviousNode", "type": "error" }, + { + "inputs": [ + { + "internalType": "uint72", + "name": "identityId", + "type": "uint72" + } + ], + "name": "NodeAlreadyInTheShardingTable", + "type": "error" + }, { "anonymous": false, "inputs": [ diff --git a/contracts/v1/CommitManagerV1.sol b/contracts/v1/CommitManagerV1.sol index 32b378ab..e3883ade 100644 --- a/contracts/v1/CommitManagerV1.sol +++ b/contracts/v1/CommitManagerV1.sol @@ -76,26 +76,30 @@ contract CommitManagerV1 is Named, Versioned, ContractStatus, Initializable { function isCommitWindowOpen(bytes32 agreementId, uint16 epoch) public view returns (bool) { ServiceAgreementStorageProxy sasProxy = serviceAgreementStorageProxy; - if (!sasProxy.agreementV1Exists(agreementId)) + if (!sasProxy.agreementV1Exists(agreementId)) { revert ServiceAgreementErrorsV1.ServiceAgreementDoesntExist(agreementId); + } uint256 startTime = sasProxy.getAgreementStartTime(agreementId); ParametersStorage params = parametersStorage; uint128 epochLength = sasProxy.getAgreementEpochLength(agreementId); - if (epoch >= sasProxy.getAgreementEpochsNumber(agreementId)) + if (epoch >= sasProxy.getAgreementEpochsNumber(agreementId)) { revert ServiceAgreementErrorsV1.ServiceAgreementHasBeenExpired( agreementId, startTime, sasProxy.getAgreementEpochsNumber(agreementId), epochLength ); + } uint256 timeNow = block.timestamp; uint256 commitWindowDuration = (params.commitWindowDurationPerc() * epochLength) / 100; - if (epoch == 0) return timeNow < (startTime + commitWindowDuration); + if (epoch == 0) { + return timeNow < (startTime + commitWindowDuration); + } return (timeNow >= (startTime + epochLength * epoch) && timeNow < (startTime + epochLength * epoch + commitWindowDuration)); @@ -107,15 +111,17 @@ contract CommitManagerV1 is Named, Versioned, ContractStatus, Initializable { ) external view returns (ServiceAgreementStructsV1.CommitSubmission[] memory) { ServiceAgreementStorageProxy sasProxy = serviceAgreementStorageProxy; - if (!sasProxy.agreementV1Exists(agreementId)) + if (!sasProxy.agreementV1Exists(agreementId)) { revert ServiceAgreementErrorsV1.ServiceAgreementDoesntExist(agreementId); - if (epoch >= sasProxy.getAgreementEpochsNumber(agreementId)) + } + if (epoch >= sasProxy.getAgreementEpochsNumber(agreementId)) { revert ServiceAgreementErrorsV1.ServiceAgreementHasBeenExpired( agreementId, sasProxy.getAgreementStartTime(agreementId), sasProxy.getAgreementEpochsNumber(agreementId), sasProxy.getAgreementEpochLength(agreementId) ); + } uint32 r0 = parametersStorage.r0(); @@ -151,16 +157,18 @@ contract CommitManagerV1 is Named, Versioned, ContractStatus, Initializable { abi.encodePacked(args.assetContract, args.tokenId, args.keyword) ); - if (!sasProxy.agreementV1Exists(agreementId)) + if (!sasProxy.agreementV1Exists(agreementId)) { revert ServiceAgreementErrorsV1.ServiceAgreementDoesntExist(agreementId); + } - if (sasProxy.getAgreementScoreFunctionId(agreementId) != _LOG2PLDSF_ID) + if (sasProxy.getAgreementScoreFunctionId(agreementId) != _LOG2PLDSF_ID) { revert ServiceAgreementErrorsV1.InvalidScoreFunctionId( agreementId, args.epoch, sasProxy.getAgreementScoreFunctionId(agreementId), block.timestamp ); + } if (!reqs[0] && !isCommitWindowOpen(agreementId, args.epoch)) { uint128 epochLength = sasProxy.getAgreementEpochLength(agreementId); @@ -226,13 +234,14 @@ contract CommitManagerV1 is Named, Versioned, ContractStatus, Initializable { bytes32 commitId = keccak256(abi.encodePacked(agreementId, epoch, identityId)); - if (!reqs[2] && sasProxy.commitSubmissionExists(commitId)) + if (!reqs[2] && sasProxy.commitSubmissionExists(commitId)) { revert ServiceAgreementErrorsV1.NodeAlreadySubmittedCommit( agreementId, epoch, identityId, profileStorage.getNodeId(identityId) ); + } bytes32 refCommitId = sasProxy.getV1AgreementEpochSubmissionHead(agreementId, epoch); @@ -250,7 +259,7 @@ contract CommitManagerV1 is Named, Versioned, ContractStatus, Initializable { } } - if (!reqs[3] && (i >= r0)) + if (!reqs[3] && (i >= r0)) { revert ServiceAgreementErrorsV1.NodeNotAwarded( agreementId, epoch, @@ -258,18 +267,19 @@ contract CommitManagerV1 is Named, Versioned, ContractStatus, Initializable { profileStorage.getNodeId(identityId), i ); + } sasProxy.createV1CommitSubmissionObject(commitId, identityId, prevIdentityId, nextIdentityId, score); ServiceAgreementStructsV1.CommitSubmission memory refCommit = sasProxy.getCommitSubmission(refCommitId); - if ((i == 0) && (refCommit.identityId == 0)) + if ((i == 0) && (refCommit.identityId == 0)) { // No head -> Setting new head sasProxy.setV1AgreementEpochSubmissionHead(agreementId, epoch, commitId); - else if ((i == 0) && (score <= refCommit.score)) + } else if ((i == 0) && (score <= refCommit.score)) { // There is a head with higher or equal score, add new commit on the right _linkCommits(agreementId, epoch, refCommit.identityId, identityId); - else if ((i == 0) && (score > refCommit.score)) { + } else if ((i == 0) && (score > refCommit.score)) { // There is a head with lower score, replace the head sasProxy.setV1AgreementEpochSubmissionHead(agreementId, epoch, commitId); _linkCommits(agreementId, epoch, identityId, refCommit.identityId); @@ -283,10 +293,11 @@ contract CommitManagerV1 is Named, Versioned, ContractStatus, Initializable { // [] <-> [H] <-> [X] ... [RC-] <-(NL)-> [NC] <-(NL)-> [RC] <-> [RC+] ... [C] <-> [] _linkCommits(agreementId, epoch, refCommit.prevIdentityId, identityId); _linkCommits(agreementId, epoch, identityId, refCommit.identityId); + } else { + // [] <-> [H] <-> [RC] <-> [] + // [] <-> [H] <-> [RC] <-(NL)-> [NC] <-> [] + _linkCommits(agreementId, epoch, refCommit.identityId, identityId); } - // [] <-> [H] <-> [RC] <-> [] - // [] <-> [H] <-> [RC] <-(NL)-> [NC] <-> [] - else _linkCommits(agreementId, epoch, refCommit.identityId, identityId); } function _linkCommits( diff --git a/contracts/v1/CommitManagerV1U1.sol b/contracts/v1/CommitManagerV1U1.sol index f198fa0f..0b6ab08e 100644 --- a/contracts/v1/CommitManagerV1U1.sol +++ b/contracts/v1/CommitManagerV1U1.sol @@ -94,26 +94,30 @@ contract CommitManagerV1U1 is Named, Versioned, ContractStatus, Initializable { function isCommitWindowOpen(bytes32 agreementId, uint16 epoch) public view returns (bool) { ServiceAgreementStorageProxy sasProxy = serviceAgreementStorageProxy; - if (sasProxy.agreementV1Exists(agreementId) || !sasProxy.agreementV1U1Exists(agreementId)) + if (sasProxy.agreementV1Exists(agreementId) || !sasProxy.agreementV1U1Exists(agreementId)) { revert ServiceAgreementErrorsV1.ServiceAgreementDoesntExist(agreementId); + } uint256 startTime = sasProxy.getAgreementStartTime(agreementId); ParametersStorage params = parametersStorage; uint128 epochLength = sasProxy.getAgreementEpochLength(agreementId); - if (epoch >= sasProxy.getAgreementEpochsNumber(agreementId)) + if (epoch >= sasProxy.getAgreementEpochsNumber(agreementId)) { revert ServiceAgreementErrorsV1.ServiceAgreementHasBeenExpired( agreementId, startTime, sasProxy.getAgreementEpochsNumber(agreementId), epochLength ); + } uint256 timeNow = block.timestamp; uint256 commitWindowDuration = (params.commitWindowDurationPerc() * epochLength) / 100; - if (epoch == 0) return timeNow < (startTime + commitWindowDuration); + if (epoch == 0) { + return timeNow < (startTime + commitWindowDuration); + } return (timeNow >= (startTime + epochLength * epoch) && timeNow < (startTime + epochLength * epoch + commitWindowDuration)); @@ -128,15 +132,17 @@ contract CommitManagerV1U1 is Named, Versioned, ContractStatus, Initializable { uint128 epochLength = sasProxy.getAgreementEpochLength(agreementId); - if (!sasProxy.agreementV1U1Exists(agreementId)) + if (!sasProxy.agreementV1U1Exists(agreementId)) { revert ServiceAgreementErrorsV1.ServiceAgreementDoesntExist(agreementId); - if (epoch >= sasProxy.getAgreementEpochsNumber(agreementId)) + } + if (epoch >= sasProxy.getAgreementEpochsNumber(agreementId)) { revert ServiceAgreementErrorsV1.ServiceAgreementHasBeenExpired( agreementId, sasProxy.getAgreementStartTime(agreementId), sasProxy.getAgreementEpochsNumber(agreementId), epochLength ); + } uint256 commitWindowEnd = sasProxy.getUpdateCommitsDeadline( keccak256(abi.encodePacked(agreementId, stateIndex)) @@ -152,15 +158,17 @@ contract CommitManagerV1U1 is Named, Versioned, ContractStatus, Initializable { ) external view returns (ServiceAgreementStructsV1.CommitSubmission[] memory) { ServiceAgreementStorageProxy sasProxy = serviceAgreementStorageProxy; - if (sasProxy.agreementV1Exists(agreementId) || !sasProxy.agreementV1U1Exists(agreementId)) + if (sasProxy.agreementV1Exists(agreementId) || !sasProxy.agreementV1U1Exists(agreementId)) { revert ServiceAgreementErrorsV1.ServiceAgreementDoesntExist(agreementId); - if (epoch >= sasProxy.getAgreementEpochsNumber(agreementId)) + } + if (epoch >= sasProxy.getAgreementEpochsNumber(agreementId)) { revert ServiceAgreementErrorsV1.ServiceAgreementHasBeenExpired( agreementId, sasProxy.getAgreementStartTime(agreementId), sasProxy.getAgreementEpochsNumber(agreementId), sasProxy.getAgreementEpochLength(agreementId) ); + } uint32 r0 = parametersStorage.r0(); @@ -196,16 +204,18 @@ contract CommitManagerV1U1 is Named, Versioned, ContractStatus, Initializable { abi.encodePacked(args.assetContract, args.tokenId, args.keyword) ); - if (sasProxy.agreementV1Exists(agreementId) || !sasProxy.agreementV1U1Exists(agreementId)) + if (sasProxy.agreementV1Exists(agreementId) || !sasProxy.agreementV1U1Exists(agreementId)) { revert ServiceAgreementErrorsV1.ServiceAgreementDoesntExist(agreementId); + } - if (sasProxy.getAgreementScoreFunctionId(agreementId) != _LOG2PLDSF_ID) + if (sasProxy.getAgreementScoreFunctionId(agreementId) != _LOG2PLDSF_ID) { revert ServiceAgreementErrorsV1.InvalidScoreFunctionId( agreementId, args.epoch, sasProxy.getAgreementScoreFunctionId(agreementId), block.timestamp ); + } uint256 latestFinalizedStateIndex = AbstractAsset(args.assetContract).getAssertionIdsLength(args.tokenId) - 1; @@ -266,8 +276,9 @@ contract CommitManagerV1U1 is Named, Versioned, ContractStatus, Initializable { bytes32 unfinalizedState = uss.getUnfinalizedState(args.tokenId); uint256 unfinalizedStateIndex = generalAssetInterface.getAssertionIdsLength(args.tokenId); - if (uss.getUnfinalizedState(args.tokenId) == bytes32(0)) + if (uss.getUnfinalizedState(args.tokenId) == bytes32(0)) { revert ServiceAgreementErrorsV1U1.NoPendingUpdate(args.assetContract, args.tokenId); + } ServiceAgreementStorageProxy sasProxy = serviceAgreementStorageProxy; @@ -276,16 +287,18 @@ contract CommitManagerV1U1 is Named, Versioned, ContractStatus, Initializable { abi.encodePacked(args.assetContract, args.tokenId, args.keyword) ); - if (!sasProxy.agreementV1U1Exists(agreementId)) + if (!sasProxy.agreementV1U1Exists(agreementId)) { revert ServiceAgreementErrorsV1.ServiceAgreementDoesntExist(agreementId); + } - if (sasProxy.getAgreementScoreFunctionId(agreementId) != _LOG2PLDSF_ID) + if (sasProxy.getAgreementScoreFunctionId(agreementId) != _LOG2PLDSF_ID) { revert ServiceAgreementErrorsV1.InvalidScoreFunctionId( agreementId, args.epoch, sasProxy.getAgreementScoreFunctionId(agreementId), block.timestamp ); + } if (!reqs[2] && !isUpdateCommitWindowOpen(agreementId, args.epoch, unfinalizedStateIndex)) { uint256 commitWindowEnd = sasProxy.getUpdateCommitsDeadline( @@ -340,7 +353,9 @@ contract CommitManagerV1U1 is Named, Versioned, ContractStatus, Initializable { sasProxy.getCommitsCount(keccak256(abi.encodePacked(agreementId, args.epoch, unfinalizedStateIndex))) == parametersStorage.finalizationCommitsNumber() ) { - if (sasProxy.agreementV1Exists(agreementId)) sasProxy.migrateV1ServiceAgreement(agreementId); + if (sasProxy.agreementV1Exists(agreementId)) { + sasProxy.migrateV1ServiceAgreement(agreementId); + } sasProxy.setAgreementTokenAmount( agreementId, @@ -384,7 +399,7 @@ contract CommitManagerV1U1 is Named, Versioned, ContractStatus, Initializable { bytes32 commitId = keccak256(abi.encodePacked(agreementId, epoch, stateIndex, identityId)); - if (!reqs[4] && sasProxy.commitSubmissionExists(commitId)) + if (!reqs[4] && sasProxy.commitSubmissionExists(commitId)) { revert ServiceAgreementErrorsV1U1.NodeAlreadySubmittedCommit( agreementId, epoch, @@ -392,6 +407,7 @@ contract CommitManagerV1U1 is Named, Versioned, ContractStatus, Initializable { identityId, profileStorage.getNodeId(identityId) ); + } bytes32 refCommitId = sasProxy.getV1U1AgreementEpochSubmissionHead(agreementId, epoch, stateIndex); @@ -409,7 +425,7 @@ contract CommitManagerV1U1 is Named, Versioned, ContractStatus, Initializable { } } - if (!reqs[5] && (i >= r0)) + if (!reqs[5] && (i >= r0)) { revert ServiceAgreementErrorsV1U1.NodeNotAwarded( agreementId, epoch, @@ -418,18 +434,19 @@ contract CommitManagerV1U1 is Named, Versioned, ContractStatus, Initializable { profileStorage.getNodeId(identityId), i ); + } sasProxy.createV1U1CommitSubmissionObject(commitId, identityId, prevIdentityId, nextIdentityId, score); ServiceAgreementStructsV1.CommitSubmission memory refCommit = sasProxy.getCommitSubmission(refCommitId); - if ((i == 0) && (refCommit.identityId == 0)) + if ((i == 0) && (refCommit.identityId == 0)) { // No head -> Setting new head sasProxy.setV1U1AgreementEpochSubmissionHead(agreementId, epoch, stateIndex, commitId); - else if ((i == 0) && (score <= refCommit.score)) + } else if ((i == 0) && (score <= refCommit.score)) { // There is a head with higher or equal score, add new commit on the right _linkCommits(agreementId, epoch, stateIndex, refCommit.identityId, identityId); - else if ((i == 0) && (score > refCommit.score)) { + } else if ((i == 0) && (score > refCommit.score)) { // There is a head with lower score, replace the head sasProxy.setV1U1AgreementEpochSubmissionHead(agreementId, epoch, stateIndex, commitId); _linkCommits(agreementId, epoch, stateIndex, identityId, refCommit.identityId); @@ -443,10 +460,11 @@ contract CommitManagerV1U1 is Named, Versioned, ContractStatus, Initializable { // [] <-> [H] <-> [X] ... [RC-] <-(NL)-> [NC] <-(NL)-> [RC] <-> [RC+] ... [C] <-> [] _linkCommits(agreementId, epoch, stateIndex, refCommit.prevIdentityId, identityId); _linkCommits(agreementId, epoch, stateIndex, identityId, refCommit.identityId); + } else { + // [] <-> [H] <-> [RC] <-> [] + // [] <-> [H] <-> [RC] <-(NL)-> [NC] <-> [] + _linkCommits(agreementId, epoch, stateIndex, refCommit.identityId, identityId); } - // [] <-> [H] <-> [RC] <-> [] - // [] <-> [H] <-> [RC] <-(NL)-> [NC] <-> [] - else _linkCommits(agreementId, epoch, stateIndex, refCommit.identityId, identityId); sasProxy.incrementCommitsCount(keccak256(abi.encodePacked(agreementId, epoch, stateIndex))); } diff --git a/contracts/v1/Staking.sol b/contracts/v1/Staking.sol index 4e2bd863..c2445cfd 100644 --- a/contracts/v1/Staking.sol +++ b/contracts/v1/Staking.sol @@ -115,8 +115,9 @@ contract Staking is Named, Versioned, ContractStatus, Initializable { ss.setTotalStake(identityId, newStake); sharesContract.burnFrom(msg.sender, sharesToBurn); - if (shardingTableStorage.nodeExists(identityId) && (newStake < params.minimumStake())) + if (shardingTableStorage.nodeExists(identityId) && (newStake < params.minimumStake())) { shardingTableContract.removeNode(identityId); + } emit StakeWithdrawalStarted( identityId, @@ -169,8 +170,9 @@ contract Staking is Named, Versioned, ContractStatus, Initializable { ss.setTotalStake(identityId, oldStake + delegatorsReward); sasProxy.transferAgreementTokens(agreementId, address(ss), delegatorsReward); - if (!shardingTableStorage.nodeExists(identityId) && oldStake >= parametersStorage.minimumStake()) + if (!shardingTableStorage.nodeExists(identityId) && oldStake >= parametersStorage.minimumStake()) { shardingTableContract.pushBack(identityId); + } } emit AccumulatedOperatorFeeIncreased( @@ -181,8 +183,11 @@ contract Staking is Named, Versioned, ContractStatus, Initializable { ); address sasAddress; - if (sasProxy.agreementV1Exists(agreementId)) sasAddress = sasProxy.agreementV1StorageAddress(); - else sasAddress = sasProxy.agreementV1U1StorageAddress(); + if (sasProxy.agreementV1Exists(agreementId)) { + sasAddress = sasProxy.agreementV1StorageAddress(); + } else { + sasAddress = sasProxy.agreementV1U1StorageAddress(); + } emit StakeIncreased(identityId, ps.getNodeId(identityId), sasAddress, oldStake, oldStake + delegatorsReward); } @@ -215,16 +220,20 @@ contract Staking is Named, Versioned, ContractStatus, Initializable { Shares sharesContract = Shares(ps.getSharesContractAddress(identityId)); uint256 sharesMinted; - if (sharesContract.totalSupply() == 0) sharesMinted = stakeAmount; - else sharesMinted = ((stakeAmount * sharesContract.totalSupply()) / oldStake); + if (sharesContract.totalSupply() == 0) { + sharesMinted = stakeAmount; + } else { + sharesMinted = ((stakeAmount * sharesContract.totalSupply()) / oldStake); + } sharesContract.mint(sender, sharesMinted); ss.setTotalStake(identityId, newStake); tknc.transferFrom(sender, address(ss), stakeAmount); - if (!shardingTableStorage.nodeExists(identityId) && newStake >= params.minimumStake()) + if (!shardingTableStorage.nodeExists(identityId) && newStake >= params.minimumStake()) { shardingTableContract.pushBack(identityId); + } emit StakeIncreased(identityId, ps.getNodeId(identityId), sender, oldStake, newStake); } diff --git a/contracts/v1/assets/ContentAsset.sol b/contracts/v1/assets/ContentAsset.sol index 7591331e..c7952e98 100644 --- a/contracts/v1/assets/ContentAsset.sol +++ b/contracts/v1/assets/ContentAsset.sol @@ -135,8 +135,9 @@ contract ContentAsset is Named, Versioned, HubDependent, Initializable { bytes32 unfinalizedState = unfinalizedStateStorage.getUnfinalizedState(tokenId); - if (unfinalizedState != bytes32(0)) + if (unfinalizedState != bytes32(0)) { revert ContentAssetErrors.UpdateIsNotFinalized(contentAssetStorageAddress, tokenId, unfinalizedState); + } ServiceAgreementStorageProxy sasProxy = serviceAgreementStorageProxy; ParametersStorage params = parametersStorage; @@ -153,11 +154,13 @@ contract ContentAsset is Named, Versioned, HubDependent, Initializable { ); uint32 r0 = params.r0(); - if ((timeNow < commitPhaseEnd) && (commitsCount < r0)) + if ((timeNow < commitPhaseEnd) && (commitsCount < r0)) { revert ContentAssetErrors.CommitPhaseOngoing(agreementId); - else if ((timeNow < epochEnd) && (commitsCount >= r0)) + } else if ((timeNow < epochEnd) && (commitsCount >= r0)) { revert ContentAssetErrors.CommitPhaseSucceeded(agreementId); - else if (timeNow > epochEnd) revert ContentAssetErrors.FirstEpochHasAlreadyEnded(agreementId); + } else if (timeNow > epochEnd) { + revert ContentAssetErrors.FirstEpochHasAlreadyEnded(agreementId); + } uint96 tokenAmount = sasProxy.getAgreementTokenAmount(agreementId); @@ -197,18 +200,21 @@ contract ContentAsset is Named, Versioned, HubDependent, Initializable { agreementId ); - if (block.timestamp > startTime + epochsNumber * epochLength) revert ContentAssetErrors.AssetExpired(tokenId); + if (block.timestamp > startTime + epochsNumber * epochLength) { + revert ContentAssetErrors.AssetExpired(tokenId); + } bytes32 unfinalizedState = uss.getUnfinalizedState(tokenId); - if (unfinalizedState != bytes32(0)) + if (unfinalizedState != bytes32(0)) { revert ContentAssetErrors.UpdateIsNotFinalized(contentAssetStorageAddress, tokenId, unfinalizedState); + } assertionContract.createAssertion(assertionId, size, triplesNumber, chunksNumber); uss.setUnfinalizedState(tokenId, assertionId); uss.setIssuer(tokenId, msg.sender); - if (!sasProxy.agreementV1U1Exists(agreementId)) + if (!sasProxy.agreementV1U1Exists(agreementId)) { sasProxy.createV1U1ServiceAgreementObject( agreementId, startTime, @@ -218,8 +224,11 @@ contract ContentAsset is Named, Versioned, HubDependent, Initializable { scoreFunctionIdAndProofWindowOffsetPerc[0], scoreFunctionIdAndProofWindowOffsetPerc[1] ); + } - if (updateTokenAmount != 0) serviceAgreementV1.addUpdateTokens(msg.sender, agreementId, updateTokenAmount); + if (updateTokenAmount != 0) { + serviceAgreementV1.addUpdateTokens(msg.sender, agreementId, updateTokenAmount); + } uint256 unfinalizedStateIndex = cas.getAssertionIdsLength(tokenId); sasProxy.setUpdateCommitsDeadline( @@ -249,26 +258,32 @@ contract ContentAsset is Named, Versioned, HubDependent, Initializable { uint128 epochLength; (startTime, epochsNumber, epochLength, , ) = sasProxy.getAgreementData(agreementId); - if (block.timestamp > startTime + epochsNumber * epochLength) revert ContentAssetErrors.AssetExpired(tokenId); + if (block.timestamp > startTime + epochsNumber * epochLength) { + revert ContentAssetErrors.AssetExpired(tokenId); + } bytes32 unfinalizedState = uss.getUnfinalizedState(tokenId); uint256 unfinalizedStateIndex = cas.getAssertionIdsLength(tokenId); - if (unfinalizedState == bytes32(0)) + if (unfinalizedState == bytes32(0)) { revert ContentAssetErrors.NoPendingUpdate(contentAssetStorageAddress, tokenId); - else if ( + } else if ( block.timestamp <= sasProxy.getUpdateCommitsDeadline(keccak256(abi.encodePacked(agreementId, unfinalizedStateIndex))) - ) + ) { revert ContentAssetErrors.PendingUpdateFinalization( contentAssetStorageAddress, tokenId, unfinalizedStateIndex ); + } uint96 updateTokenAmount = sasProxy.getAgreementUpdateTokenAmount(agreementId); - if (sasProxy.agreementV1Exists(agreementId)) sasProxy.deleteServiceAgreementV1U1Object(agreementId); - else sasProxy.setAgreementUpdateTokenAmount(agreementId, 0); + if (sasProxy.agreementV1Exists(agreementId)) { + sasProxy.deleteServiceAgreementV1U1Object(agreementId); + } else { + sasProxy.setAgreementUpdateTokenAmount(agreementId, 0); + } sasProxy.transferV1U1AgreementTokens(msg.sender, updateTokenAmount); @@ -295,8 +310,9 @@ contract ContentAsset is Named, Versioned, HubDependent, Initializable { bytes32 unfinalizedState = unfinalizedStateStorage.getUnfinalizedState(tokenId); - if (unfinalizedState != bytes32(0)) + if (unfinalizedState != bytes32(0)) { revert ContentAssetErrors.UpdateIsNotFinalized(contentAssetStorageAddress, tokenId, unfinalizedState); + } bytes memory keyword = abi.encodePacked(contentAssetStorageAddress, cas.getAssertionIdByIndex(tokenId, 0)); @@ -310,8 +326,9 @@ contract ContentAsset is Named, Versioned, HubDependent, Initializable { uint128 epochLength; (startTime, oldEpochsNumber, epochLength, , ) = serviceAgreementStorageProxy.getAgreementData(agreementId); - if (block.timestamp > startTime + oldEpochsNumber * epochLength) + if (block.timestamp > startTime + oldEpochsNumber * epochLength) { revert ContentAssetErrors.AssetExpired(tokenId); + } sasV1.extendStoringPeriod(msg.sender, agreementId, epochsNumber, tokenAmount); @@ -326,8 +343,9 @@ contract ContentAsset is Named, Versioned, HubDependent, Initializable { bytes32 unfinalizedState = unfinalizedStateStorage.getUnfinalizedState(tokenId); - if (unfinalizedState != bytes32(0)) + if (unfinalizedState != bytes32(0)) { revert ContentAssetErrors.UpdateIsNotFinalized(contentAssetStorageAddress, tokenId, unfinalizedState); + } bytes memory keyword = abi.encodePacked(contentAssetStorageAddress, cas.getAssertionIdByIndex(tokenId, 0)); @@ -341,7 +359,9 @@ contract ContentAsset is Named, Versioned, HubDependent, Initializable { uint128 epochLength; (startTime, epochsNumber, epochLength, , ) = serviceAgreementStorageProxy.getAgreementData(agreementId); - if (block.timestamp > startTime + epochsNumber * epochLength) revert ContentAssetErrors.AssetExpired(tokenId); + if (block.timestamp > startTime + epochsNumber * epochLength) { + revert ContentAssetErrors.AssetExpired(tokenId); + } sasV1.addTokens(msg.sender, agreementId, tokenAmount); @@ -356,8 +376,9 @@ contract ContentAsset is Named, Versioned, HubDependent, Initializable { bytes32 unfinalizedState = unfinalizedStateStorage.getUnfinalizedState(tokenId); - if (unfinalizedState == bytes32(0)) + if (unfinalizedState == bytes32(0)) { revert ContentAssetErrors.NoPendingUpdate(contentAssetStorageAddress, tokenId); + } bytes memory keyword = abi.encodePacked(contentAssetStorageAddress, cas.getAssertionIdByIndex(tokenId, 0)); @@ -371,7 +392,9 @@ contract ContentAsset is Named, Versioned, HubDependent, Initializable { uint128 epochLength; (startTime, epochsNumber, epochLength, , ) = serviceAgreementStorageProxy.getAgreementData(agreementId); - if (block.timestamp > startTime + epochsNumber * epochLength) revert ContentAssetErrors.AssetExpired(tokenId); + if (block.timestamp > startTime + epochsNumber * epochLength) { + revert ContentAssetErrors.AssetExpired(tokenId); + } sasV1.addUpdateTokens(msg.sender, agreementId, tokenAmount); diff --git a/contracts/v1/storage/ServiceAgreementStorageProxy.sol b/contracts/v1/storage/ServiceAgreementStorageProxy.sol index fbed9867..cc216ea1 100644 --- a/contracts/v1/storage/ServiceAgreementStorageProxy.sol +++ b/contracts/v1/storage/ServiceAgreementStorageProxy.sol @@ -93,8 +93,11 @@ contract ServiceAgreementStorageProxy is Named, Versioned, HubDependent, Initial } function deleteServiceAgreementObject(bytes32 agreementId) external onlyContracts { - if (this.agreementV1Exists(agreementId)) storageV1.deleteServiceAgreementObject(agreementId); - else storageV1U1.deleteServiceAgreementObject(agreementId); + if (this.agreementV1Exists(agreementId)) { + storageV1.deleteServiceAgreementObject(agreementId); + } else { + storageV1U1.deleteServiceAgreementObject(agreementId); + } } function getAgreementData( @@ -121,47 +124,73 @@ contract ServiceAgreementStorageProxy is Named, Versioned, HubDependent, Initial [tokenAmount, storageV1U1.getAgreementUpdateTokenAmount(agreementId)], scoreFunctionIdAndProofWindowOffsetPerc ); - } else return storageV1U1.getAgreementData(agreementId); + } else { + return storageV1U1.getAgreementData(agreementId); + } } function getAgreementStartTime(bytes32 agreementId) external view returns (uint256) { - if (this.agreementV1Exists(agreementId)) return storageV1.getAgreementStartTime(agreementId); - else return storageV1U1.getAgreementStartTime(agreementId); + if (this.agreementV1Exists(agreementId)) { + return storageV1.getAgreementStartTime(agreementId); + } else { + return storageV1U1.getAgreementStartTime(agreementId); + } } function setAgreementStartTime(bytes32 agreementId, uint256 startTime) external onlyContracts { - if (this.agreementV1Exists(agreementId)) storageV1.setAgreementStartTime(agreementId, startTime); - else storageV1U1.setAgreementStartTime(agreementId, startTime); + if (this.agreementV1Exists(agreementId)) { + storageV1.setAgreementStartTime(agreementId, startTime); + } else { + storageV1U1.setAgreementStartTime(agreementId, startTime); + } } function getAgreementEpochsNumber(bytes32 agreementId) external view returns (uint16) { - if (this.agreementV1Exists(agreementId)) return storageV1.getAgreementEpochsNumber(agreementId); - else return storageV1U1.getAgreementEpochsNumber(agreementId); + if (this.agreementV1Exists(agreementId)) { + return storageV1.getAgreementEpochsNumber(agreementId); + } else { + return storageV1U1.getAgreementEpochsNumber(agreementId); + } } function setAgreementEpochsNumber(bytes32 agreementId, uint16 epochsNumber) external onlyContracts { - if (this.agreementV1Exists(agreementId)) storageV1.setAgreementEpochsNumber(agreementId, epochsNumber); - else storageV1U1.setAgreementEpochsNumber(agreementId, epochsNumber); + if (this.agreementV1Exists(agreementId)) { + storageV1.setAgreementEpochsNumber(agreementId, epochsNumber); + } else { + storageV1U1.setAgreementEpochsNumber(agreementId, epochsNumber); + } } function getAgreementEpochLength(bytes32 agreementId) external view returns (uint128) { - if (this.agreementV1Exists(agreementId)) return storageV1.getAgreementEpochLength(agreementId); - else return storageV1U1.getAgreementEpochLength(agreementId); + if (this.agreementV1Exists(agreementId)) { + return storageV1.getAgreementEpochLength(agreementId); + } else { + return storageV1U1.getAgreementEpochLength(agreementId); + } } function setAgreementEpochLength(bytes32 agreementId, uint128 epochLength) external onlyContracts { - if (this.agreementV1Exists(agreementId)) storageV1.setAgreementEpochLength(agreementId, epochLength); - else storageV1U1.setAgreementEpochLength(agreementId, epochLength); + if (this.agreementV1Exists(agreementId)) { + storageV1.setAgreementEpochLength(agreementId, epochLength); + } else { + storageV1U1.setAgreementEpochLength(agreementId, epochLength); + } } function getAgreementTokenAmount(bytes32 agreementId) external view returns (uint96) { - if (this.agreementV1Exists(agreementId)) return storageV1.getAgreementTokenAmount(agreementId); - else return storageV1U1.getAgreementTokenAmount(agreementId); + if (this.agreementV1Exists(agreementId)) { + return storageV1.getAgreementTokenAmount(agreementId); + } else { + return storageV1U1.getAgreementTokenAmount(agreementId); + } } function setAgreementTokenAmount(bytes32 agreementId, uint96 tokenAmount) external onlyContracts { - if (this.agreementV1Exists(agreementId)) storageV1.setAgreementTokenAmount(agreementId, tokenAmount); - else storageV1U1.setAgreementTokenAmount(agreementId, tokenAmount); + if (this.agreementV1Exists(agreementId)) { + storageV1.setAgreementTokenAmount(agreementId, tokenAmount); + } else { + storageV1U1.setAgreementTokenAmount(agreementId, tokenAmount); + } } function getAgreementUpdateTokenAmount(bytes32 agreementId) external view returns (uint96) { @@ -173,27 +202,38 @@ contract ServiceAgreementStorageProxy is Named, Versioned, HubDependent, Initial } function getAgreementScoreFunctionId(bytes32 agreementId) external view returns (uint8) { - if (this.agreementV1Exists(agreementId)) return storageV1.getAgreementScoreFunctionId(agreementId); - else return storageV1U1.getAgreementScoreFunctionId(agreementId); + if (this.agreementV1Exists(agreementId)) { + return storageV1.getAgreementScoreFunctionId(agreementId); + } else { + return storageV1U1.getAgreementScoreFunctionId(agreementId); + } } function setAgreementScoreFunctionId(bytes32 agreementId, uint8 newScoreFunctionId) external onlyContracts { - if (this.agreementV1Exists(agreementId)) storageV1.setAgreementScoreFunctionId(agreementId, newScoreFunctionId); - else storageV1U1.setAgreementScoreFunctionId(agreementId, newScoreFunctionId); + if (this.agreementV1Exists(agreementId)) { + storageV1.setAgreementScoreFunctionId(agreementId, newScoreFunctionId); + } else { + storageV1U1.setAgreementScoreFunctionId(agreementId, newScoreFunctionId); + } } function getAgreementProofWindowOffsetPerc(bytes32 agreementId) external view returns (uint8) { - if (this.agreementV1Exists(agreementId)) return storageV1.getAgreementProofWindowOffsetPerc(agreementId); - else return storageV1U1.getAgreementProofWindowOffsetPerc(agreementId); + if (this.agreementV1Exists(agreementId)) { + return storageV1.getAgreementProofWindowOffsetPerc(agreementId); + } else { + return storageV1U1.getAgreementProofWindowOffsetPerc(agreementId); + } } function setAgreementProofWindowOffsetPerc( bytes32 agreementId, uint8 proofWindowOffsetPerc ) external onlyContracts { - if (this.agreementV1Exists(agreementId)) + if (this.agreementV1Exists(agreementId)) { storageV1.setAgreementProofWindowOffsetPerc(agreementId, proofWindowOffsetPerc); - else storageV1U1.setAgreementProofWindowOffsetPerc(agreementId, proofWindowOffsetPerc); + } else { + storageV1U1.setAgreementProofWindowOffsetPerc(agreementId, proofWindowOffsetPerc); + } } function getV1U1AgreementEpochSubmissionHead( @@ -226,18 +266,27 @@ contract ServiceAgreementStorageProxy is Named, Versioned, HubDependent, Initial } function incrementAgreementRewardedNodesNumber(bytes32 agreementId, uint16 epoch) external onlyContracts { - if (this.agreementV1Exists(agreementId)) storageV1.incrementAgreementRewardedNodesNumber(agreementId, epoch); - else storageV1U1.incrementAgreementRewardedNodesNumber(agreementId, epoch); + if (this.agreementV1Exists(agreementId)) { + storageV1.incrementAgreementRewardedNodesNumber(agreementId, epoch); + } else { + storageV1U1.incrementAgreementRewardedNodesNumber(agreementId, epoch); + } } function decrementAgreementRewardedNodesNumber(bytes32 agreementId, uint16 epoch) external onlyContracts { - if (this.agreementV1Exists(agreementId)) storageV1.decrementAgreementRewardedNodesNumber(agreementId, epoch); - else storageV1U1.decrementAgreementRewardedNodesNumber(agreementId, epoch); + if (this.agreementV1Exists(agreementId)) { + storageV1.decrementAgreementRewardedNodesNumber(agreementId, epoch); + } else { + storageV1U1.decrementAgreementRewardedNodesNumber(agreementId, epoch); + } } function getAgreementRewardedNodesNumber(bytes32 agreementId, uint16 epoch) external view returns (uint32) { - if (this.agreementV1Exists(agreementId)) return storageV1.getAgreementRewardedNodesNumber(agreementId, epoch); - else return storageV1U1.getAgreementRewardedNodesNumber(agreementId, epoch); + if (this.agreementV1Exists(agreementId)) { + return storageV1.getAgreementRewardedNodesNumber(agreementId, epoch); + } else { + return storageV1U1.getAgreementRewardedNodesNumber(agreementId, epoch); + } } function setAgreementRewardedNodesNumber( @@ -245,14 +294,19 @@ contract ServiceAgreementStorageProxy is Named, Versioned, HubDependent, Initial uint16 epoch, uint32 rewardedNodesNumber ) external onlyContracts { - if (this.agreementV1Exists(agreementId)) + if (this.agreementV1Exists(agreementId)) { storageV1.setAgreementRewardedNodesNumber(agreementId, epoch, rewardedNodesNumber); - else storageV1U1.setAgreementRewardedNodesNumber(agreementId, epoch, rewardedNodesNumber); + } else { + storageV1U1.setAgreementRewardedNodesNumber(agreementId, epoch, rewardedNodesNumber); + } } function deleteAgreementRewardedNodesNumber(bytes32 agreementId, uint16 epoch) external onlyContracts { - if (this.agreementV1Exists(agreementId)) storageV1.setAgreementRewardedNodesNumber(agreementId, epoch, 0); - else storageV1U1.deleteAgreementRewardedNodesNumber(agreementId, epoch); + if (this.agreementV1Exists(agreementId)) { + storageV1.setAgreementRewardedNodesNumber(agreementId, epoch, 0); + } else { + storageV1U1.deleteAgreementRewardedNodesNumber(agreementId, epoch); + } } function createV1CommitSubmissionObject( @@ -276,62 +330,93 @@ contract ServiceAgreementStorageProxy is Named, Versioned, HubDependent, Initial } function deleteCommitSubmissionsObject(bytes32 commitId) external onlyContracts { - if (this.commitV1U1Exists(commitId)) storageV1U1.deleteEpochStateCommitSubmissionsObject(commitId); - else storageV1.deleteCommitSubmissionsObject(commitId); + if (this.commitV1U1Exists(commitId)) { + storageV1U1.deleteEpochStateCommitSubmissionsObject(commitId); + } else { + storageV1.deleteCommitSubmissionsObject(commitId); + } } function getCommitSubmission( bytes32 commitId ) external view returns (ServiceAgreementStructsV1.CommitSubmission memory) { - if (this.commitV1U1Exists(commitId)) return storageV1U1.getEpochStateCommitSubmission(commitId); - else return storageV1.getCommitSubmission(commitId); + if (this.commitV1U1Exists(commitId)) { + return storageV1U1.getEpochStateCommitSubmission(commitId); + } else { + return storageV1.getCommitSubmission(commitId); + } } function getCommitSubmissionIdentityId(bytes32 commitId) external view returns (uint72) { - if (this.commitV1U1Exists(commitId)) return storageV1U1.getEpochStateCommitSubmissionIdentityId(commitId); - else return storageV1.getCommitSubmissionIdentityId(commitId); + if (this.commitV1U1Exists(commitId)) { + return storageV1U1.getEpochStateCommitSubmissionIdentityId(commitId); + } else { + return storageV1.getCommitSubmissionIdentityId(commitId); + } } function setCommitSubmissionIdentityId(bytes32 commitId, uint72 identityId) external onlyContracts { - if (this.commitV1U1Exists(commitId)) storageV1U1.setEpochStateCommitSubmissionIdentityId(commitId, identityId); - else storageV1.setCommitSubmissionIdentityId(commitId, identityId); + if (this.commitV1U1Exists(commitId)) { + storageV1U1.setEpochStateCommitSubmissionIdentityId(commitId, identityId); + } else { + storageV1.setCommitSubmissionIdentityId(commitId, identityId); + } } function getCommitSubmissionPrevIdentityId(bytes32 commitId) external view returns (uint72) { - if (this.commitV1U1Exists(commitId)) return storageV1U1.getEpochStateCommitSubmissionPrevIdentityId(commitId); - else return storageV1.getCommitSubmissionPrevIdentityId(commitId); + if (this.commitV1U1Exists(commitId)) { + return storageV1U1.getEpochStateCommitSubmissionPrevIdentityId(commitId); + } else { + return storageV1.getCommitSubmissionPrevIdentityId(commitId); + } } function setCommitSubmissionPrevIdentityId(bytes32 commitId, uint72 prevIdentityId) external onlyContracts { - if (this.commitV1U1Exists(commitId)) + if (this.commitV1U1Exists(commitId)) { storageV1U1.setEpochStateCommitSubmissionPrevIdentityId(commitId, prevIdentityId); - else storageV1.setCommitSubmissionPrevIdentityId(commitId, prevIdentityId); + } else { + storageV1.setCommitSubmissionPrevIdentityId(commitId, prevIdentityId); + } } function getCommitSubmissionNextIdentityId(bytes32 commitId) external view returns (uint72) { - if (this.commitV1U1Exists(commitId)) return storageV1U1.getEpochStateCommitSubmissionNextIdentityId(commitId); - else return storageV1.getCommitSubmissionNextIdentityId(commitId); + if (this.commitV1U1Exists(commitId)) { + return storageV1U1.getEpochStateCommitSubmissionNextIdentityId(commitId); + } else { + return storageV1.getCommitSubmissionNextIdentityId(commitId); + } } function setCommitSubmissionNextIdentityId(bytes32 commitId, uint72 nextIdentityId) external onlyContracts { - if (this.commitV1U1Exists(commitId)) + if (this.commitV1U1Exists(commitId)) { storageV1U1.setEpochStateCommitSubmissionNextIdentityId(commitId, nextIdentityId); - else storageV1.setCommitSubmissionNextIdentityId(commitId, nextIdentityId); + } else { + storageV1.setCommitSubmissionNextIdentityId(commitId, nextIdentityId); + } } function getCommitSubmissionScore(bytes32 commitId) external view returns (uint40) { - if (this.commitV1U1Exists(commitId)) return storageV1U1.getEpochStateCommitSubmissionScore(commitId); - else return storageV1.getCommitSubmissionScore(commitId); + if (this.commitV1U1Exists(commitId)) { + return storageV1U1.getEpochStateCommitSubmissionScore(commitId); + } else { + return storageV1.getCommitSubmissionScore(commitId); + } } function setCommitSubmissionScore(bytes32 commitId, uint40 score) external onlyContracts { - if (this.commitV1U1Exists(commitId)) storageV1U1.setEpochStateCommitSubmissionScore(commitId, score); - else storageV1.setCommitSubmissionScore(commitId, score); + if (this.commitV1U1Exists(commitId)) { + storageV1U1.setEpochStateCommitSubmissionScore(commitId, score); + } else { + storageV1.setCommitSubmissionScore(commitId, score); + } } function commitSubmissionExists(bytes32 commitId) external view returns (bool) { - if (this.commitV1U1Exists(commitId)) return storageV1U1.epochStateCommitSubmissionExists(commitId); - else return storageV1.commitSubmissionExists(commitId); + if (this.commitV1U1Exists(commitId)) { + return storageV1U1.epochStateCommitSubmissionExists(commitId); + } else { + return storageV1.commitSubmissionExists(commitId); + } } function incrementCommitsCount(bytes32 epochStateId) external onlyContracts { @@ -367,8 +452,11 @@ contract ServiceAgreementStorageProxy is Named, Versioned, HubDependent, Initial } function transferAgreementTokens(bytes32 agreementId, address receiver, uint96 tokenAmount) external onlyContracts { - if (this.agreementV1Exists(agreementId)) storageV1.transferAgreementTokens(receiver, tokenAmount); - else storageV1U1.transferAgreementTokens(receiver, tokenAmount); + if (this.agreementV1Exists(agreementId)) { + storageV1.transferAgreementTokens(receiver, tokenAmount); + } else { + storageV1U1.transferAgreementTokens(receiver, tokenAmount); + } } function transferV1AgreementTokens(address receiver, uint96 tokenAmount) external onlyContracts { diff --git a/contracts/v1/utils/ByteArr.sol b/contracts/v1/utils/ByteArr.sol index 642bed16..2989ad55 100644 --- a/contracts/v1/utils/ByteArr.sol +++ b/contracts/v1/utils/ByteArr.sol @@ -5,7 +5,9 @@ pragma solidity ^0.8.16; library ByteArr { function indexOf(bytes32[] storage self, bytes32 item) internal view returns (uint index, bool isThere) { for (uint i; i < self.length; i++) { - if (self[i] == item) return (i, true); + if (self[i] == item) { + return (i, true); + } } return (0, false); } diff --git a/contracts/v1/utils/UnorderedIndexableContractDynamicSet.sol b/contracts/v1/utils/UnorderedIndexableContractDynamicSet.sol index d072f291..abb9ae88 100644 --- a/contracts/v1/utils/UnorderedIndexableContractDynamicSet.sol +++ b/contracts/v1/utils/UnorderedIndexableContractDynamicSet.sol @@ -60,7 +60,9 @@ library UnorderedIndexableContractDynamicSetLib { } function exists(Set storage self, uint8 id) internal view returns (bool) { - if (size(self) == 0) return false; + if (size(self) == 0) { + return false; + } return self.contractList[self.indexPointers[id]].id == id; } diff --git a/contracts/v1/utils/UnorderedNamedContractDynamicSet.sol b/contracts/v1/utils/UnorderedNamedContractDynamicSet.sol index c8c15e02..39f42788 100644 --- a/contracts/v1/utils/UnorderedNamedContractDynamicSet.sol +++ b/contracts/v1/utils/UnorderedNamedContractDynamicSet.sol @@ -93,14 +93,18 @@ library UnorderedNamedContractDynamicSetLib { } function exists(Set storage self, string calldata name) internal view returns (bool) { - if (size(self) == 0) return false; + if (size(self) == 0) { + return false; + } return keccak256(abi.encodePacked(self.contractList[self.stringIndexPointers[name]].name)) == keccak256(abi.encodePacked(name)); } function exists(Set storage self, address addr) internal view returns (bool) { - if (size(self) == 0) return false; + if (size(self) == 0) { + return false; + } return addr == self.contractList[self.addressIndexPointers[addr]].addr; } diff --git a/contracts/v2/CommitManagerV1.sol b/contracts/v2/CommitManagerV1.sol index 934a5ffe..b792e18e 100644 --- a/contracts/v2/CommitManagerV1.sol +++ b/contracts/v2/CommitManagerV1.sol @@ -470,10 +470,9 @@ contract CommitManagerV2 is Named, Versioned, ContractStatus, Initializable { // [] <-> [H] <-> [X] ... [RC-] <-(NL)-> [NC] <-(NL)-> [RC] <-> [RC+] ... [C] <-> [] _linkCommits(agreementId, epoch, refCommit.prevIdentityId, identityId); _linkCommits(agreementId, epoch, identityId, refCommit.identityId); - } - // [] <-> [H] <-> [RC] <-> [] - // [] <-> [H] <-> [RC] <-(NL)-> [NC] <-> [] - else { + } else { + // [] <-> [H] <-> [RC] <-> [] + // [] <-> [H] <-> [RC] <-(NL)-> [NC] <-> [] _linkCommits(agreementId, epoch, refCommit.identityId, identityId); } } diff --git a/contracts/v2/CommitManagerV1U1.sol b/contracts/v2/CommitManagerV1U1.sol index fa5d94b2..89a4beee 100644 --- a/contracts/v2/CommitManagerV1U1.sol +++ b/contracts/v2/CommitManagerV1U1.sol @@ -743,10 +743,9 @@ contract CommitManagerV2U1 is Named, Versioned, ContractStatus, Initializable { // [] <-> [H] <-> [X] ... [RC-] <-(NL)-> [NC] <-(NL)-> [RC] <-> [RC+] ... [C] <-> [] _linkCommits(agreementId, epoch, stateIndex, refCommit.prevIdentityId, identityId); _linkCommits(agreementId, epoch, stateIndex, identityId, refCommit.identityId); - } - // [] <-> [H] <-> [RC] <-> [] - // [] <-> [H] <-> [RC] <-(NL)-> [NC] <-> [] - else { + } else { + // [] <-> [H] <-> [RC] <-> [] + // [] <-> [H] <-> [RC] <-(NL)-> [NC] <-> [] _linkCommits(agreementId, epoch, stateIndex, refCommit.identityId, identityId); } diff --git a/contracts/v2/ShardingTable.sol b/contracts/v2/ShardingTable.sol index 6853573f..23497770 100644 --- a/contracts/v2/ShardingTable.sol +++ b/contracts/v2/ShardingTable.sol @@ -132,7 +132,9 @@ contract ShardingTableV2 is Named, Versioned, ContractStatus, Initializable { ShardingTableStorageV2 sts = shardingTableStorage; ProfileStorage ps = profileStorage; - require(!sts.nodeExists(identityId), "Node already in sharding table"); + if (sts.nodeExists(identityId)) { + revert ShardingTableErrors.NodeAlreadyInTheShardingTable(identityId); + } if (index != 0) { uint256 prevNodeHashRingPosition = sts.getHashRingPositionByIndex(index - 1); diff --git a/contracts/v2/errors/ShardingTableErrors.sol b/contracts/v2/errors/ShardingTableErrors.sol index 167a5000..9b4b894b 100644 --- a/contracts/v2/errors/ShardingTableErrors.sol +++ b/contracts/v2/errors/ShardingTableErrors.sol @@ -3,6 +3,7 @@ pragma solidity ^0.8.16; library ShardingTableErrors { + error NodeAlreadyInTheShardingTable(uint72 identityId); error InvalidIndexWithRespectToPreviousNode( uint72 identityId, uint256 hashRingPosition, diff --git a/contracts/v2/storage/assets/ContentAssetStorage.sol b/contracts/v2/storage/assets/ContentAssetStorage.sol index d3b191f5..3f72bfdc 100644 --- a/contracts/v2/storage/assets/ContentAssetStorage.sol +++ b/contracts/v2/storage/assets/ContentAssetStorage.sol @@ -44,7 +44,9 @@ contract ContentAssetStorageV2 is ContentAssetStorage, IERC4906 { } function lastTokenId() public view virtual returns (uint256) { - if (_tokenId == 1) revert ContentAssetErrors.NoMintedAssets(); + if (_tokenId == 1) { + revert ContentAssetErrors.NoMintedAssets(); + } unchecked { return _tokenId - 1; @@ -54,7 +56,9 @@ contract ContentAssetStorageV2 is ContentAssetStorage, IERC4906 { function setBaseURI(string memory baseURI) external virtual onlyHubOwner { tokenBaseURI = baseURI; - if (_tokenId > 1) emit BatchMetadataUpdate(1, lastTokenId()); + if (_tokenId > 1) { + emit BatchMetadataUpdate(1, lastTokenId()); + } } function _baseURI() internal view virtual override returns (string memory) { diff --git a/contracts/v2/utils/UnorderedNamedContractDynamicSet.sol b/contracts/v2/utils/UnorderedNamedContractDynamicSet.sol index 1de12ef1..916ef0f3 100644 --- a/contracts/v2/utils/UnorderedNamedContractDynamicSet.sol +++ b/contracts/v2/utils/UnorderedNamedContractDynamicSet.sol @@ -122,7 +122,9 @@ library UnorderedNamedContractDynamicSetLibV2 { UnorderedNamedContractDynamicSetStructs.Set storage self, string calldata name ) internal view returns (bool) { - if (size(self) == 0) return false; + if (size(self) == 0) { + return false; + } return keccak256(abi.encodePacked(self.contractList[self.stringIndexPointers[name]].name)) == keccak256(abi.encodePacked(name)); @@ -132,7 +134,9 @@ library UnorderedNamedContractDynamicSetLibV2 { UnorderedNamedContractDynamicSetStructs.Set storage self, address addr ) internal view returns (bool) { - if (size(self) == 0) return false; + if (size(self) == 0) { + return false; + } return addr == self.contractList[self.addressIndexPointers[addr]].addr; }