diff --git a/src/domain/index.ts b/src/domain/index.ts index eab8414d..1a34ceb4 100644 --- a/src/domain/index.ts +++ b/src/domain/index.ts @@ -46,7 +46,7 @@ import { insertVote } from './vote'; function isProposalValid(proposalId: string ): boolean { let p = Proposal.load(proposalId); - return ((p != null) && (equalsBytes(p.paramsHash, new Bytes(32)) === false)); + return ((p != null) && (equalsBytes(p.paramsHash, new Bytes(32)) == false)); } function handleGPProposalPrivate(proposalId: string): void { @@ -138,7 +138,7 @@ export function handleStake(event: Stake): void { if (equalsBytes(proposal.paramsHash, new Bytes(32))) { return; } - if (event.params._vote.toI32() === 1) { + if (event.params._vote.toI32() == 1) { proposal.stakesFor = proposal.stakesFor.plus(event.params._amount); } else { proposal.stakesAgainst = proposal.stakesAgainst.plus(event.params._amount); @@ -163,7 +163,7 @@ export function handleVoteProposal(event: VoteProposal): void { if (equalsBytes(proposal.paramsHash, new Bytes(32))) { return; } - if (event.params._vote.toI32() === 1) { + if (event.params._vote.toI32() == 1) { proposal.votesFor = proposal.votesFor.plus(event.params._reputation); } else { proposal.votesAgainst = proposal.votesAgainst.plus( @@ -273,8 +273,8 @@ export function handleExecuteProposal(event: ExecuteProposal): void { export function handleStateChange(event: StateChange): void { if (isProposalValid(event.params._proposalId.toHex())) { updateProposalState(event.params._proposalId, event.params._proposalState, event.address); - if ((event.params._proposalState === 1) || - (event.params._proposalState === 2)) { + if ((event.params._proposalState == 1) || + (event.params._proposalState == 2)) { insertGPRewards(event.params._proposalId, event.block.timestamp, event.address, event.params._proposalState); } @@ -290,9 +290,9 @@ export function handleExecutionStateChange(event: GPExecuteProposal): void { export function handleGPRedemption(proposalId: Bytes, beneficiary: Address , timestamp: BigInt , type: string): void { if (isProposalValid(proposalId.toHex())) { - if (type === 'token') { + if (type == 'token') { tokenRedemption(proposalId, beneficiary, timestamp); - } else if (type === 'reputation') { + } else if (type == 'reputation') { reputationRedemption(proposalId, beneficiary, timestamp); } else { daoBountyRedemption(proposalId, beneficiary, timestamp); diff --git a/src/domain/proposal.ts b/src/domain/proposal.ts index a92bc8b5..9a50e46b 100644 --- a/src/domain/proposal.ts +++ b/src/domain/proposal.ts @@ -16,7 +16,7 @@ export class IPFSData { } export function parseOutcome(num: BigInt): string { - if (num.toI32() === 1) { + if (num.toI32() == 1) { // Yes return 'Pass'; } else { @@ -149,7 +149,7 @@ export function updateProposalAfterVote( // proposal.winningVote proposal.winningOutcome = parseOutcome(gpProposal.value3); if (!equalStrings(proposal.winningOutcome, prevOutcome)) { - if ((gpProposal.value2 === 6)) { + if ((gpProposal.value2 == 6)) { setProposalState(proposal, 6, gp.getProposalTimes(proposalId)); } addVoteFlipEvent(proposalId, proposal, voter, timestamp); @@ -172,7 +172,7 @@ export function updateProposalState(id: Bytes, state: number, gpAddress: Address proposal.scheme, ); setProposalState(proposal, state, gp.getProposalTimes(id)); - if (state === 4) { + if (state == 4) { proposal.confidenceThreshold = gp.proposals(id).value10; } saveProposal(proposal); @@ -205,7 +205,7 @@ export function setProposalState(proposal: Proposal, state: number, gpTimes: Big dao.numberOfBoostedProposals = dao.numberOfBoostedProposals.minus(BigInt.fromI32(1)); } } - if (state === 1) { + if (state == 1) { // Closed proposal.stage = 'ExpiredInQueue'; if (controllerScheme != null) { @@ -216,10 +216,10 @@ export function setProposalState(proposal: Proposal, state: number, gpTimes: Big dao.numberOfExpiredInQueueProposals = dao.numberOfExpiredInQueueProposals.plus(BigInt.fromI32(1)); } proposal.accountsWithUnclaimedRewards = new Array(); - } else if (state === 2) { + } else if (state == 2) { // Executed proposal.stage = 'Executed'; - } else if (state === 3) { + } else if (state == 3) { // Queued proposal.stage = 'Queued'; proposal.closingAt = proposal.createdAt + @@ -231,7 +231,7 @@ export function setProposalState(proposal: Proposal, state: number, gpTimes: Big if (dao != null) { dao.numberOfQueuedProposals = dao.numberOfQueuedProposals.plus(BigInt.fromI32(1)); } - } else if (state === 4) { + } else if (state == 4) { // PreBoosted proposal.stage = 'PreBoosted'; proposal.preBoostedAt = gpTimes[2]; @@ -244,7 +244,7 @@ export function setProposalState(proposal: Proposal, state: number, gpTimes: Big if (dao != null) { dao.numberOfPreBoostedProposals = dao.numberOfPreBoostedProposals.plus(BigInt.fromI32(1)); } - } else if (state === 5) { + } else if (state == 5) { // Boosted proposal.boostedAt = gpTimes[1]; proposal.stage = 'Boosted'; @@ -257,7 +257,7 @@ export function setProposalState(proposal: Proposal, state: number, gpTimes: Big if (dao != null) { dao.numberOfBoostedProposals = dao.numberOfBoostedProposals.plus(BigInt.fromI32(1)); } - } else if (state === 6) { + } else if (state == 6) { // QuietEndingPeriod proposal.quietEndingPeriodBeganAt = gpTimes[1]; proposal.closingAt = proposal.quietEndingPeriodBeganAt + @@ -307,7 +307,8 @@ export function updateGPProposal( ); proposal.gpQueue = proposal.organizationId.toHex(); let scheme = ControllerScheme.load(proposal.scheme); - if (scheme.gpQueue == null) { + + if (scheme != null && scheme.gpQueue == null) { scheme.gpQueue = proposal.organizationId.toHex(); scheme.save(); } @@ -404,15 +405,15 @@ export function updateProposalExecution( export function updateProposalExecutionState(id: string, executionState: number): void { let proposal = getProposal(id); // enum ExecutionState { None, QueueBarCrossed, QueueTimeOut, PreBoostedBarCrossed, BoostedTimeOut, BoostedBarCrossed} - if (executionState === 1) { + if (executionState == 1) { proposal.executionState = 'QueueBarCrossed'; - } else if (executionState === 2) { + } else if (executionState == 2) { proposal.executionState = 'QueueTimeOut'; - } else if (executionState === 3) { + } else if (executionState == 3) { proposal.executionState = 'PreBoostedBarCrossed'; - } else if (executionState === 4) { + } else if (executionState == 4) { proposal.executionState = 'BoostedTimeOut'; - } else if (executionState === 5) { + } else if (executionState == 5) { proposal.executionState = 'BoostedBarCrossed'; } saveProposal(proposal); diff --git a/src/domain/reward.ts b/src/domain/reward.ts index f5772f35..32050b22 100644 --- a/src/domain/reward.ts +++ b/src/domain/reward.ts @@ -31,7 +31,7 @@ export function insertGPRewardsToHelper(proposalId: Bytes, beneficiary: Address) break; } } - if (i === gpRewards.length) { // not exist + if (i == gpRewards.length) { // not exist updatePreGPReward(rewardId, beneficiary); gpRewards.push(rewardId); gpRewardsHelper.gpRewards = gpRewards; @@ -96,13 +96,13 @@ export function shouldRemoveAccountFromUnclaimed(reward: GPReward): boolean { } return ((reward.reputationForVoter == null || - reward.reputationForVoterRedeemedAt.isZero() === false) && + reward.reputationForVoterRedeemedAt.isZero() == false) && (reward.reputationForProposer == null || - reward.reputationForProposerRedeemedAt.isZero() === false) && + reward.reputationForProposerRedeemedAt.isZero() == false) && (reward.tokensForStaker == null || - reward.tokensForStakerRedeemedAt.isZero() === false) && + reward.tokensForStakerRedeemedAt.isZero() == false) && (reward.daoBountyForStaker == null || - reward.daoBountyForStakerRedeemedAt.isZero() === false) + reward.daoBountyForStakerRedeemedAt.isZero() == false) ); } @@ -122,16 +122,16 @@ export function shouldRemoveContributorFromUnclaimed(proposal: ContributionRewar return ( (proposal.reputationReward.isZero() || (proposal.alreadyRedeemedReputationPeriods !== null && - BigInt.compare(proposal.alreadyRedeemedReputationPeriods as BigInt, proposal.periods) === 0)) && + BigInt.compare(proposal.alreadyRedeemedReputationPeriods as BigInt, proposal.periods) == 0)) && (proposal.nativeTokenReward.isZero() || (proposal.alreadyRedeemedNativeTokenPeriods !== null && - BigInt.compare(proposal.alreadyRedeemedNativeTokenPeriods as BigInt, proposal.periods) === 0)) && + BigInt.compare(proposal.alreadyRedeemedNativeTokenPeriods as BigInt, proposal.periods) == 0)) && (proposal.externalTokenReward.isZero() || (proposal.alreadyRedeemedExternalTokenPeriods !== null && - BigInt.compare(proposal.alreadyRedeemedExternalTokenPeriods as BigInt, proposal.periods) === 0)) && + BigInt.compare(proposal.alreadyRedeemedExternalTokenPeriods as BigInt, proposal.periods) == 0)) && (proposal.ethReward.isZero() || (proposal.alreadyRedeemedEthPeriods !== null && - BigInt.compare(proposal.alreadyRedeemedEthPeriods as BigInt, proposal.periods) === 0))); + BigInt.compare(proposal.alreadyRedeemedEthPeriods as BigInt, proposal.periods) == 0))); } export function insertGPRewards( @@ -151,7 +151,7 @@ export function insertGPRewards( } for (i = 0; i < gpRewards.length; i++) { let gpReward = PreGPReward.load(gpRewards[i]); - if (gpReward === null) { continue; } + if (gpReward == null) { continue; } let redeemValues: BigInt[]; redeemValues[0] = BigInt.fromI32(0); redeemValues[1] = BigInt.fromI32(0); @@ -165,7 +165,7 @@ export function insertGPRewards( } else { redeemValues = callResult.value; } - if (state === 2) {// call redeemDaoBounty only on execute + if (state == 2) {// call redeemDaoBounty only on execute let callResultRedeemDaoBounty = genesisProtocol.try_redeemDaoBounty(proposalId, gpReward.beneficiary as Address); if (callResultRedeemDaoBounty.reverted) { @@ -198,7 +198,7 @@ export function insertGPRewards( break; } } - if (idx === accountsWithUnclaimedRewards.length) { + if (idx == accountsWithUnclaimedRewards.length) { addRedeemableRewardOwner(proposal, gpReward.beneficiary); } } else { @@ -233,16 +233,16 @@ function updateGPReward(id: string, reward.reputationForProposerRedeemedAt = BigInt.fromI32(0); reward.daoBountyForStakerRedeemedAt = BigInt.fromI32(0); } - if (reputationForVoter.isZero() === false) { + if (reputationForVoter.isZero() == false) { reward.reputationForVoter = reputationForVoter; } - if (tokensForStaker.isZero() === false) { + if (tokensForStaker.isZero() == false) { reward.tokensForStaker = tokensForStaker; } - if (reputationForProposer.isZero() === false) { + if (reputationForProposer.isZero() == false) { reward.reputationForProposer = reputationForProposer; } - if (daoBountyForStaker.isZero() === false) { + if (daoBountyForStaker.isZero() == false) { reward.daoBountyForStaker = daoBountyForStaker; let genesisProtocol = GenesisProtocol.bind(gpAddress as Address); reward.tokenAddress = genesisProtocol.stakingToken(); diff --git a/src/mappings/Competition/mapping.ts b/src/mappings/Competition/mapping.ts index e6d7e322..991bf313 100644 --- a/src/mappings/Competition/mapping.ts +++ b/src/mappings/Competition/mapping.ts @@ -97,7 +97,7 @@ export function getSuggestionIPFSData(suggestion: CompetitionSuggestion): Compet let tags: string[] = []; let tagsLength = tagsObjects.length < 100 ? tagsObjects.length : 100; for (let i = 0; i < tagsLength; i++) { - if (tags.indexOf(tagsObjects[i].toString()) === -1) { + if (tags.indexOf(tagsObjects[i].toString()) == -1) { tags.push(tagsObjects[i].toString()); let tagEnt = Tag.load(tagsObjects[i].toString()); if (tagEnt == null) { diff --git a/src/mappings/ContributionReward/mapping.ts b/src/mappings/ContributionReward/mapping.ts index aca49093..317545a1 100644 --- a/src/mappings/ContributionReward/mapping.ts +++ b/src/mappings/ContributionReward/mapping.ts @@ -110,25 +110,25 @@ function updateProposalAfterRedemption( ) as ContributionRewardProposal; if (ent != null) { let cr = ContributionReward.bind(contributionRewardAddress); - if (type === 0) { + if (type == 0) { ent.alreadyRedeemedReputationPeriods = cr.getRedeemedPeriods( proposalId, ent.avatar as Address, BigInt.fromI32(0), ); - } else if (type === 1) { + } else if (type == 1) { ent.alreadyRedeemedNativeTokenPeriods = cr.getRedeemedPeriods( proposalId, ent.avatar as Address, BigInt.fromI32(1), ); - } else if (type === 2) { + } else if (type == 2) { ent.alreadyRedeemedEthPeriods = cr.getRedeemedPeriods( proposalId, ent.avatar as Address, BigInt.fromI32(2), ); - } else if (type === 3) { + } else if (type == 3) { ent.alreadyRedeemedExternalTokenPeriods = cr.getRedeemedPeriods( proposalId, ent.avatar as Address, @@ -138,7 +138,7 @@ function updateProposalAfterRedemption( store.set('ContributionRewardProposal', proposalId.toHex(), ent); let reward = GPReward.load(crypto.keccak256(concat(proposalId, ent.beneficiary)).toHex()); if ((reward !== null && shouldRemoveAccountFromUnclaimed(reward as GPReward)) || - (reward === null && shouldRemoveContributorFromUnclaimed(ent))) { + (reward == null && shouldRemoveContributorFromUnclaimed(ent))) { removeRedeemableRewardOwner(proposalId, ent.beneficiary); } } @@ -161,7 +161,7 @@ export function handleProposalExecuted(event: ProposalExecuted): void { ent.txHash = event.transaction.hash; ent.contract = event.address; ent.avatar = event.params._avatar; - ent.passed = (event.params._param.toI32() === 1); + ent.passed = (event.params._param.toI32() == 1); ent.proposalId = event.params._proposalId; store.set('ContributionRewardProposalResolved', ent.id, ent); } diff --git a/src/mappings/ContributionRewardExt/mapping.ts b/src/mappings/ContributionRewardExt/mapping.ts index 13fd9fc3..2ca6a2e5 100644 --- a/src/mappings/ContributionRewardExt/mapping.ts +++ b/src/mappings/ContributionRewardExt/mapping.ts @@ -108,22 +108,22 @@ function updateProposalAfterRedemption( if (ent != null) { let cr = ContributionRewardExt.bind(contributionRewardAddress); let proposal = cr.organizationProposals(proposalId); - if (type === 0) { + if (type == 0) { if (proposal.value1.isZero()) { ent.alreadyRedeemedReputationPeriods = BigInt.fromI32(1); } ent.reputationChangeLeft = proposal.value7; - } else if (type === 1) { + } else if (type == 1) { if (proposal.value0.isZero()) { ent.alreadyRedeemedNativeTokenPeriods = BigInt.fromI32(1); } ent.nativeTokenRewardLeft = proposal.value6; - } else if (type === 2) { + } else if (type == 2) { if (proposal.value2.isZero()) { ent.alreadyRedeemedEthPeriods = BigInt.fromI32(1); } ent.ethRewardLeft = proposal.value8; - } else if (type === 3) { + } else if (type == 3) { if (proposal.value4.isZero()) { ent.alreadyRedeemedExternalTokenPeriods = BigInt.fromI32(1); } @@ -132,7 +132,7 @@ function updateProposalAfterRedemption( store.set('ContributionRewardProposal', proposalId.toHex(), ent); let reward = GPReward.load(crypto.keccak256(concat(proposalId, ent.beneficiary)).toHex()); if ((reward !== null && shouldRemoveAccountFromUnclaimed(reward as GPReward)) || - (reward === null && shouldRemoveContributorFromUnclaimed(ent))) { + (reward == null && shouldRemoveContributorFromUnclaimed(ent))) { removeRedeemableRewardOwner(proposalId, ent.beneficiary); } } @@ -146,7 +146,7 @@ export function handleProposalExecuted(event: ProposalExecuted): void { ) as ContributionRewardProposal; if (proposalEnt != null) { proposalEnt.executedAt = event.block.timestamp; - if (event.params._param.toI32() === 1) { + if (event.params._param.toI32() == 1) { proposalEnt.reputationChangeLeft = proposalEnt.reputationReward; proposalEnt.nativeTokenRewardLeft = proposalEnt.nativeTokenReward; proposalEnt.ethRewardLeft = proposalEnt.ethReward; @@ -159,7 +159,7 @@ export function handleProposalExecuted(event: ProposalExecuted): void { ent.txHash = event.transaction.hash; ent.contract = event.address; ent.avatar = event.params._avatar; - ent.passed = (event.params._param.toI32() === 1); + ent.passed = (event.params._param.toI32() == 1); ent.proposalId = event.params._proposalId; store.set('ContributionRewardProposalResolved', ent.id, ent); } diff --git a/src/mappings/Controller/mapping.ts b/src/mappings/Controller/mapping.ts index be969431..2b25069e 100644 --- a/src/mappings/Controller/mapping.ts +++ b/src/mappings/Controller/mapping.ts @@ -57,32 +57,34 @@ function insertScheme( ): void { let controller = Controller.bind(controllerAddress); let perms = controller.getSchemePermissions(scheme, avatarAddress); - let controllerSchemeId = crypto.keccak256(concat(avatarAddress, scheme)).toHex(); + let controllerSchemeId = crypto + .keccak256(concat(avatarAddress, scheme)) + .toHex(); let controllerScheme = ControllerScheme.load(controllerSchemeId); - if (controllerScheme === null) { - controllerScheme = new ControllerScheme(controllerSchemeId); - controllerScheme.numberOfQueuedProposals = BigInt.fromI32(0); - controllerScheme.numberOfPreBoostedProposals = BigInt.fromI32(0); - controllerScheme.numberOfBoostedProposals = BigInt.fromI32(0); - controllerScheme.numberOfExpiredInQueueProposals = BigInt.fromI32(0); + if (controllerScheme == null) { + controllerScheme = new ControllerScheme(controllerSchemeId); + controllerScheme.numberOfQueuedProposals = BigInt.fromI32(0); + controllerScheme.numberOfPreBoostedProposals = BigInt.fromI32(0); + controllerScheme.numberOfBoostedProposals = BigInt.fromI32(0); + controllerScheme.numberOfExpiredInQueueProposals = BigInt.fromI32(0); } controllerScheme.dao = avatarAddress.toHex(); controllerScheme.paramsHash = paramsHash; /* tslint:disable:no-bitwise */ - controllerScheme.canRegisterSchemes = (perms[3] & 2) === 2; + controllerScheme.canRegisterSchemes = (perms[3] & 2) == 2; /* tslint:disable:no-bitwise */ - controllerScheme.canManageGlobalConstraints = (perms[3] & 4) === 4; + controllerScheme.canManageGlobalConstraints = (perms[3] & 4) == 4; /* tslint:disable:no-bitwise */ - controllerScheme.canUpgradeController = (perms[3] & 8) === 8; + controllerScheme.canUpgradeController = (perms[3] & 8) == 8; /* tslint:disable:no-bitwise */ - controllerScheme.canDelegateCall = (perms[3] & 16) === 16; + controllerScheme.canDelegateCall = (perms[3] & 16) == 16; controllerScheme.address = scheme; let contractInfo = ContractInfo.load(scheme.toHex()); if (contractInfo != null) { - controllerScheme.name = contractInfo.name; - controllerScheme.version = contractInfo.version; - controllerScheme.alias = contractInfo.alias; + controllerScheme.name = contractInfo.name; + controllerScheme.version = contractInfo.version; + controllerScheme.alias = contractInfo.alias; } controllerScheme.save(); } @@ -98,7 +100,6 @@ function insertOrganization( controllerAddress: Address, avatarAddress: Address, ): void { - let controller = Controller.bind(controllerAddress); let reputation = controller.nativeReputation(); @@ -152,7 +153,9 @@ function insertGlobalConstraint( avatarAddress, ); - let ent = new ControllerGlobalConstraint(crypto.keccak256(concat(avatarAddress, globalConstraint)).toHex()); + let ent = new ControllerGlobalConstraint( + crypto.keccak256(concat(avatarAddress, globalConstraint)).toHex(), + ); ent.address = globalConstraint; ent.paramsHash = paramsHash; ent.type = type; @@ -175,14 +178,21 @@ export function handleRegisterScheme(event: RegisterScheme): void { let avatar = controller.avatar(); if (AvatarContract.load(avatar.toHex()) == null) { - return; + return; } let token = controller.nativeToken(); let reputation = controller.nativeReputation(); let paramsHash = controller.getSchemeParameters(event.params._scheme, avatar); - insertScheme(event.address, avatar, event.params._scheme , paramsHash); + insertScheme(event.address, avatar, event.params._scheme, paramsHash); - domain.handleRegisterScheme(avatar, token, reputation, event.params._scheme, paramsHash, event.block.timestamp); + domain.handleRegisterScheme( + avatar, + token, + reputation, + event.params._scheme, + paramsHash, + event.block.timestamp, + ); // Detect a new organization event by looking for the first register scheme event for that org. let isFirstRegister = FirstRegisterScheme.load(avatar.toHex()); @@ -229,9 +239,9 @@ export function handleAddGlobalConstraint(event: AddGlobalConstraint): void { let when = event.parameters[2].value.toBigInt().toI32(); let type: string; - if (when === 0) { + if (when == 0) { type = 'Pre'; - } else if (when === 1) { + } else if (when == 1) { type = 'Post'; } else { type = 'Both'; @@ -270,106 +280,142 @@ export function handleRemoveGlobalConstraint( store.set('ControllerRemoveGlobalConstraint', ent.id, ent); } -export function setGPParams(gpAddress: Address, - gpParamsHash: Bytes): void { - let gp = GenesisProtocol.bind(gpAddress); - let gpParams = GenesisProtocolParam.load(gpParamsHash.toHex()); - if (gpParams == null && !equalsBytes(gpParamsHash, new Bytes(32))) { - gpParams = new GenesisProtocolParam(gpParamsHash.toHex()); - let params = gp.parameters(gpParamsHash); - gpParams.queuedVoteRequiredPercentage = params.value0; // queuedVoteRequiredPercentage - gpParams.queuedVotePeriodLimit = params.value1; // queuedVotePeriodLimit - gpParams.boostedVotePeriodLimit = params.value2; // boostedVotePeriodLimit - gpParams.preBoostedVotePeriodLimit = params.value3; // preBoostedVotePeriodLimit - gpParams.thresholdConst = params.value4; // thresholdConst - gpParams.limitExponentValue = params.value5; // limitExponentValue - gpParams.quietEndingPeriod = params.value6; // quietEndingPeriod - gpParams.proposingRepReward = params.value7; - gpParams.votersReputationLossRatio = params.value8; // votersReputationLossRatio - gpParams.minimumDaoBounty = params.value9; // minimumDaoBounty - gpParams.daoBountyConst = params.value10; // daoBountyConst - gpParams.activationTime = params.value11; // activationTime - gpParams.voteOnBehalf = params.value12 as Bytes; // voteOnBehalf - gpParams.save(); +export function setGPParams(gpAddress: Address, gpParamsHash: Bytes): void { + let gp = GenesisProtocol.bind(gpAddress); + let gpParams = GenesisProtocolParam.load(gpParamsHash.toHex()); + if (gpParams == null && !equalsBytes(gpParamsHash, new Bytes(32))) { + gpParams = new GenesisProtocolParam(gpParamsHash.toHex()); + let params = gp.parameters(gpParamsHash); + gpParams.queuedVoteRequiredPercentage = params.value0; // queuedVoteRequiredPercentage + gpParams.queuedVotePeriodLimit = params.value1; // queuedVotePeriodLimit + gpParams.boostedVotePeriodLimit = params.value2; // boostedVotePeriodLimit + gpParams.preBoostedVotePeriodLimit = params.value3; // preBoostedVotePeriodLimit + gpParams.thresholdConst = params.value4; // thresholdConst + gpParams.limitExponentValue = params.value5; // limitExponentValue + gpParams.quietEndingPeriod = params.value6; // quietEndingPeriod + gpParams.proposingRepReward = params.value7; + gpParams.votersReputationLossRatio = params.value8; // votersReputationLossRatio + gpParams.minimumDaoBounty = params.value9; // minimumDaoBounty + gpParams.daoBountyConst = params.value10; // daoBountyConst + gpParams.activationTime = params.value11; // activationTime + gpParams.voteOnBehalf = params.value12 as Bytes; // voteOnBehalf + gpParams.save(); } } -export function setContributionRewardParams(avatar: Address, - scheme: Address, - vmAddress: Address, - vmParamsHash: Bytes): void { - setGPParams(vmAddress, vmParamsHash); - let controllerScheme = ControllerScheme.load(crypto.keccak256(concat(avatar, scheme)).toHex()); - let contributionRewardParams = new ContributionRewardParam(controllerScheme.paramsHash.toHex()); +export function setContributionRewardParams( + avatar: Address, + scheme: Address, + vmAddress: Address, + vmParamsHash: Bytes, +): void { + setGPParams(vmAddress, vmParamsHash); + let controllerScheme = ControllerScheme.load( + crypto.keccak256(concat(avatar, scheme)).toHex(), + ); + if (controllerScheme != null) { + let contributionRewardParams = new ContributionRewardParam( + controllerScheme.paramsHash.toHex(), + ); contributionRewardParams.votingMachine = vmAddress; contributionRewardParams.voteParams = vmParamsHash.toHex(); contributionRewardParams.save(); controllerScheme.contributionRewardParams = contributionRewardParams.id; controllerScheme.save(); + } } -export function setContributionRewardExtParams(avatar: Address, - scheme: Address, - vmAddress: Address, - vmParamsHash: Bytes, - rewarder: Address): void { - setGPParams(vmAddress, vmParamsHash); - let controllerScheme = ControllerScheme.load(crypto.keccak256(concat(avatar, scheme)).toHex()); - let contributionRewardExtParams = new ContributionRewardExtParam(scheme.toHex()); - contributionRewardExtParams.votingMachine = vmAddress; - contributionRewardExtParams.voteParams = vmParamsHash.toHex(); - contributionRewardExtParams.rewarder = rewarder; - contributionRewardExtParams.save(); +export function setContributionRewardExtParams( + avatar: Address, + scheme: Address, + vmAddress: Address, + vmParamsHash: Bytes, + rewarder: Address, +): void { + setGPParams(vmAddress, vmParamsHash); + let controllerScheme = ControllerScheme.load( + crypto.keccak256(concat(avatar, scheme)).toHex(), + ); + let contributionRewardExtParams = new ContributionRewardExtParam( + scheme.toHex(), + ); + contributionRewardExtParams.votingMachine = vmAddress; + contributionRewardExtParams.voteParams = vmParamsHash.toHex(); + contributionRewardExtParams.rewarder = rewarder; + contributionRewardExtParams.save(); + if (controllerScheme != null) { controllerScheme.contributionRewardExtParams = contributionRewardExtParams.id; controllerScheme.save(); + } } -export function setSchemeRegistrarParams(avatar: Address, - scheme: Address, - vmAddress: Address, - voteRegisterParams: Bytes, - voteRemoveParams: Bytes): void { - setGPParams(vmAddress, voteRegisterParams); - setGPParams(vmAddress, voteRemoveParams); - let controllerScheme = ControllerScheme.load(crypto.keccak256(concat(avatar, scheme)).toHex()); - let schemeRegistrarParams = new SchemeRegistrarParam(controllerScheme.paramsHash.toHex()); - schemeRegistrarParams.votingMachine = vmAddress; - schemeRegistrarParams.voteRegisterParams = voteRegisterParams.toHex(); - schemeRegistrarParams.voteRemoveParams = voteRemoveParams.toHex(); - schemeRegistrarParams.save(); - controllerScheme.schemeRegistrarParams = schemeRegistrarParams.id; - controllerScheme.save(); - +export function setSchemeRegistrarParams( + avatar: Address, + scheme: Address, + vmAddress: Address, + voteRegisterParams: Bytes, + voteRemoveParams: Bytes, +): void { + setGPParams(vmAddress, voteRegisterParams); + setGPParams(vmAddress, voteRemoveParams); + let controllerScheme = ControllerScheme.load( + crypto.keccak256(concat(avatar, scheme)).toHex(), + ); + if (controllerScheme != null) { + let schemeRegistrarParams = new SchemeRegistrarParam( + controllerScheme.paramsHash.toHex(), + ); + schemeRegistrarParams.votingMachine = vmAddress; + schemeRegistrarParams.voteRegisterParams = voteRegisterParams.toHex(); + schemeRegistrarParams.voteRemoveParams = voteRemoveParams.toHex(); + schemeRegistrarParams.save(); + controllerScheme.schemeRegistrarParams = schemeRegistrarParams.id; + controllerScheme.save(); + } } -export function setGenericSchemeParams(avatar: Address, - scheme: Address, - vmAddress: Address, - vmParamsHash: Bytes, - contractToCall: Bytes): void { - setGPParams(vmAddress, vmParamsHash); - let controllerScheme = ControllerScheme.load(crypto.keccak256(concat(avatar, scheme)).toHex()); - let genericSchemeParams = new GenericSchemeParam(scheme.toHex()); - genericSchemeParams.votingMachine = vmAddress; - genericSchemeParams.voteParams = vmParamsHash.toHex(); - genericSchemeParams.contractToCall = contractToCall; - genericSchemeParams.save(); - controllerScheme.genericSchemeParams = genericSchemeParams.id; - controllerScheme.save(); +export function setGenericSchemeParams( + avatar: Address, + scheme: Address, + vmAddress: Address, + vmParamsHash: Bytes, + contractToCall: Bytes, +): void { + setGPParams(vmAddress, vmParamsHash); + let controllerScheme = ControllerScheme.load( + crypto.keccak256(concat(avatar, scheme)).toHex(), + ); + let genericSchemeParams = new GenericSchemeParam(scheme.toHex()); + genericSchemeParams.votingMachine = vmAddress; + genericSchemeParams.voteParams = vmParamsHash.toHex(); + genericSchemeParams.contractToCall = contractToCall; + genericSchemeParams.save(); + if (controllerScheme != null) { + controllerScheme.genericSchemeParams = genericSchemeParams.id; + controllerScheme.save(); + } } -export function setUGenericSchemeParams(avatar: Address, - scheme: Address, - vmAddress: Address, - vmParamsHash: Bytes, - contractToCall: Bytes): void { - setGPParams(vmAddress, vmParamsHash); - let controllerScheme = ControllerScheme.load(crypto.keccak256(concat(avatar, scheme)).toHex()); - let genericSchemeParams = new UGenericSchemeParam(controllerScheme.paramsHash.toHex()); - genericSchemeParams.votingMachine = vmAddress; - genericSchemeParams.voteParams = vmParamsHash.toHex(); - genericSchemeParams.contractToCall = contractToCall; - genericSchemeParams.save(); - controllerScheme.uGenericSchemeParams = genericSchemeParams.id; - controllerScheme.save(); +export function setUGenericSchemeParams( + avatar: Address, + scheme: Address, + vmAddress: Address, + vmParamsHash: Bytes, + contractToCall: Bytes, +): void { + setGPParams(vmAddress, vmParamsHash); + let controllerScheme = ControllerScheme.load( + crypto.keccak256(concat(avatar, scheme)).toHex(), + ); + if (controllerScheme != null) { + let genericSchemeParams = new UGenericSchemeParam( + controllerScheme.paramsHash.toHex(), + ); + genericSchemeParams.votingMachine = vmAddress; + genericSchemeParams.voteParams = vmParamsHash.toHex(); + genericSchemeParams.contractToCall = contractToCall; + genericSchemeParams.save(); + controllerScheme.uGenericSchemeParams = genericSchemeParams.id; + controllerScheme.save(); + } } diff --git a/src/mappings/DAOToken/mapping.ts b/src/mappings/DAOToken/mapping.ts index ab0c39c6..bac1c402 100644 --- a/src/mappings/DAOToken/mapping.ts +++ b/src/mappings/DAOToken/mapping.ts @@ -107,7 +107,7 @@ function updateTokenContract(contract: Address , tokenHolder: string): void { if (tokenHolder != null) { let tokenHolders = tokenContract.tokenHolders; let i = tokenHolders.indexOf(tokenHolder); - if (i === -1) { + if (i == -1) { tokenHolders.push(tokenHolder); } tokenContract.tokenHolders = tokenHolders; diff --git a/src/mappings/DAOTracker/mapping.ts b/src/mappings/DAOTracker/mapping.ts index 0946a41c..4049de2d 100644 --- a/src/mappings/DAOTracker/mapping.ts +++ b/src/mappings/DAOTracker/mapping.ts @@ -74,7 +74,7 @@ export function handleTrackDAO(event: TrackDAO): void { let universalController = UControllerOrganization.load(controller.toHex()) != null; - if (universalController === false) { + if (universalController == false) { missingTemplate = missingTemplate || controllerTemplate == null; } @@ -90,7 +90,7 @@ export function handleTrackDAO(event: TrackDAO): void { createTemplate(daoTokenTemplate, daoToken); // Track the Controller if it isn't a UController we're already tracking - if (universalController === false) { + if (universalController == false) { createTemplate(controllerTemplate, controller); } diff --git a/src/mappings/UController/mapping.ts b/src/mappings/UController/mapping.ts index 5e0ea4d0..05c61feb 100644 --- a/src/mappings/UController/mapping.ts +++ b/src/mappings/UController/mapping.ts @@ -48,7 +48,7 @@ function insertScheme( let perms = uController.getSchemePermissions(scheme, avatarAddress); let controllerSchemeId = crypto.keccak256(concat(avatarAddress, scheme)).toHex(); let controllerScheme = ControllerScheme.load(controllerSchemeId); - if (controllerScheme === null) { + if (controllerScheme == null) { controllerScheme = new ControllerScheme(controllerSchemeId); controllerScheme.numberOfQueuedProposals = BigInt.fromI32(0); controllerScheme.numberOfPreBoostedProposals = BigInt.fromI32(0); @@ -58,13 +58,13 @@ function insertScheme( controllerScheme.dao = avatarAddress.toHex(); controllerScheme.paramsHash = paramsHash; /* tslint:disable:no-bitwise */ - controllerScheme.canRegisterSchemes = (perms[3] & 2) === 2; + controllerScheme.canRegisterSchemes = (perms[3] & 2) == 2; /* tslint:disable:no-bitwise */ - controllerScheme.canManageGlobalConstraints = (perms[3] & 4) === 4; + controllerScheme.canManageGlobalConstraints = (perms[3] & 4) == 4; /* tslint:disable:no-bitwise */ - controllerScheme.canUpgradeController = (perms[3] & 8) === 8; + controllerScheme.canUpgradeController = (perms[3] & 8) == 8; /* tslint:disable:no-bitwise */ - controllerScheme.canDelegateCall = (perms[3] & 16) === 16; + controllerScheme.canDelegateCall = (perms[3] & 16) == 16; controllerScheme.address = scheme; let contractInfo = ContractInfo.load(scheme.toHex()); if (contractInfo != null) { @@ -226,9 +226,9 @@ export function handleAddGlobalConstraint(event: AddGlobalConstraint): void { let when = event.parameters[2].value.toBigInt().toI32(); let type: string; - if (when === 0) { + if (when == 0) { type = 'Pre'; - } else if (when === 1) { + } else if (when == 1) { type = 'Post'; } else { type = 'Both'; diff --git a/tslint.json b/tslint.json index d873b59c..5b4f8c0d 100644 --- a/tslint.json +++ b/tslint.json @@ -10,7 +10,8 @@ "no-var-requires": false, "prefer-const": false, "quotemark": [true, "single"], - "prefer-for-of": false + "prefer-for-of": false, + "triple-equals": false }, "rulesDirectory": [] }