Background
The sdk's calculate_max_short method takes a budget and returns a bond amount.
The calculate_open_short takes a bond amount and returns the trader deposit (ie: budget).
We expect that the outputs of one would reflect the inputs of the other, however the steps below show that this is not the case.
Steps to reproduce
- Call
calculate_max_short with a max uint256 budget to get the pool's max short (in bonds).
- Feed this bond amount into
calculate_open_short to get the actual traderDeposit needed.
- Feed the
traderDeposit back into calculate_max_short as the budget.
Expected
The bond amount returned from calculate_max_short should be the same as the bond amount we gave to calculate_open_short.
Actual
Feeding the traderDeposit back into calculate_max_short results in significantly fewer bonds shorted.
Usecase:
In the Open Short form, users can input either an amount to pay (budget) or the number of bonds to short.
Depending on which one they type into, either calculate_max_short or calculate_open_short will be called to update the form.

Background
The sdk's
calculate_max_shortmethod takes abudgetand returns a bond amount.The
calculate_open_shorttakes a bond amount and returns the trader deposit (ie:budget).We expect that the outputs of one would reflect the inputs of the other, however the steps below show that this is not the case.
Steps to reproduce
calculate_max_shortwith a max uint256 budget to get the pool's max short (in bonds).calculate_open_shortto get the actualtraderDepositneeded.traderDepositback intocalculate_max_shortas the budget.Expected
The bond amount returned from
calculate_max_shortshould be the same as the bond amount we gave tocalculate_open_short.Actual
Feeding the
traderDepositback intocalculate_max_shortresults in significantly fewer bonds shorted.Usecase:
In the Open Short form, users can input either an amount to pay (budget) or the number of bonds to short.
Depending on which one they type into, either
calculate_max_shortorcalculate_open_shortwill be called to update the form.