• Share this text:
Report Abuse
Resolve Function - posted by guest on 25th November 2019 12:55:19 AM

function getReturnsForBonds(address addr, uint bondsReleased) public view returns(uint etherValue, uint mintedResolves, uint new_releaseTimeSum, uint new_releaseAmount, uint initialInput_ETH){

  uint output_ETH = getEtherForBonds(bondsReleased);

  uint input_ETH = average_ethSpent[addr] * bondsReleased / hodlBonds[addr];

  // hodl multiplier. because if you don't hodl at all, you shouldn't be rewarded resolves.

  // and the multiplier you get for hodling needs to be relative to the average hodl

  uint buyInTime = average_buyInTimeSum[addr] / average_ethSpent[addr];

  uint cashoutTime = NOW()*scaleFactor - buyInTime;

  uint releaseTimeSum = average_clockWeighted_releaseTimeSum + cashoutTime*input_ETH/scaleFactor/*to give new life more weight--->*/*buyInTime;

  uint releaseAmount = average_clockWeighted_releaseAmount + input_ETH/*to give new life more weight--->*/*buyInTime/scaleFactor;

  uint avgCashoutTime = releaseTimeSum/releaseAmount;

  return (output_ETH, input_ETH * cashoutTime / avgCashoutTime * input_ETH / output_ETH, releaseTimeSum, releaseAmount, input_ETH);

 }

Report Abuse

Login or Register to edit or copy and save this text. It's free.