cadcadconsolidate/convictionvoting.py

16 lines
596 B
Python

import numpy as np
def trigger_threshold(funds_requested, funding_pool, token_supply, max_proposal_request=0.2):
"""
funds_requested: funds requested by the proposal
funding_pool: the current size of the funding pool
token_supply: current token_supply
max_proposal_request: maximum fraction of the funding pool that a proposal can ever request
"""
rho = 0.5 * max_proposal_request**2
fraction = funds_requested/funding_pool
if fraction < max_proposal_request:
return rho*token_supply/(max_proposal_request-fraction)**2
else:
return np.inf