Skip to content

Inconsistency when using calculate_open_short and calculate_max_short together #185

@DannyDelott

Description

@DannyDelott

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

  1. Call calculate_max_short with a max uint256 budget to get the pool's max short (in bonds).
  2. Feed this bond amount into calculate_open_short to get the actual traderDeposit needed.
  3. 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.

image

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions