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