Skip to content
This repository has been archived by the owner on May 8, 2023. It is now read-only.

Commit

Permalink
Add function to get M&D initialization config
Browse files Browse the repository at this point in the history
  • Loading branch information
chmanie committed Feb 16, 2023
1 parent 1ce889f commit bede1ed
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 0 deletions.
17 changes: 17 additions & 0 deletions docs/api/classes/VotingReputation.md
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,23 @@ A transaction creator

___

### getInitializationOptions

**getInitializationOptions**(): `Promise`<{ `endVoteThreshold`: `BigNumber` ; `escalationPhaseDuration`: `BigNumber` ; `minimumUserStake`: `BigNumber` ; `requiredStake`: `BigNumber` ; `revealPhaseDuration`: `BigNumber` ; `stakePhaseDuration`: `BigNumber` ; `voterReward`: `BigNumber` ; `votingPhaseDuration`: `BigNumber` }\>

Get the initialized configuration options

Get the configuration options that were set when the extension was initialized.
For more information on the individual values see https://docs.colony.io/use/governance/motions-and-disputes/parameters

#### Returns

`Promise`<{ `endVoteThreshold`: `BigNumber` ; `escalationPhaseDuration`: `BigNumber` ; `minimumUserStake`: `BigNumber` ; `requiredStake`: `BigNumber` ; `revealPhaseDuration`: `BigNumber` ; `stakePhaseDuration`: `BigNumber` ; `voterReward`: `BigNumber` ; `votingPhaseDuration`: `BigNumber` }\>

The extensions configuration options

___

### getMinStake

**getMinStake**(`motion`, `vote`): `Promise`<`BigNumber`\>
Expand Down
42 changes: 42 additions & 0 deletions src/ColonyNetwork/VotingReputation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1031,4 +1031,46 @@ export class VotingReputation {
}),
);
}

/**
* Get the initialized configuration options
*
* Get the configuration options that were set when the extension was initialized.
* For more information on the individual values see https://docs.colony.io/use/governance/motions-and-disputes/parameters
*
* @returns The extensions configuration options
*/
async getInitializationOptions() {
const promises = [
this.votingReputationClient.getTotalStakeFraction(), // requiredStake
this.votingReputationClient.getVoterRewardFraction(), // voterReward
this.votingReputationClient.getUserMinStakeFraction(), // minimumUserStake
this.votingReputationClient.getMaxVoteFraction(), // endVoteThreshold
this.votingReputationClient.getStakePeriod(), // stakePhaseDuration
this.votingReputationClient.getSubmitPeriod(), // votingPhaseDuration
this.votingReputationClient.getRevealPeriod(), // revealPhaseDuration
this.votingReputationClient.getEscalationPeriod(), // escalationPhaseDuration
];
const [
requiredStake,
voterReward,
minimumUserStake,
endVoteThreshold,
stakePhaseDuration,
votingPhaseDuration,
revealPhaseDuration,
escalationPhaseDuration,
] = await Promise.all(promises);

return {
requiredStake,
voterReward,
minimumUserStake,
endVoteThreshold,
stakePhaseDuration,
votingPhaseDuration,
revealPhaseDuration,
escalationPhaseDuration,
};
}
}

0 comments on commit bede1ed

Please sign in to comment.