Skip to content

v0.9.0

Compare
Choose a tag to compare
@eoin-betdex eoin-betdex released this 26 May 07:47
· 182 commits to main since this release
e9402f2

This version includes support for two new features:

  • In-play markets with order creation delays
  • Voiding of markets.

There are a number of account structure changes included also in order to support these features:

* Market Account
 - Added
   * inplay_enabled: bool - Whether a market might go in play or not
   * inplay: bool - Whether a market is currently inplay
   * inplay_order_delay: u8 - Seconds of delay will orders have before being added to available liquidity
   * event_start_order_behaviour: MarketOrderBehaviour - What should happen to orders at event start
   * market_lock_order_behaviour: MarketOrderBehaviour -  (Not yet in use)
   * event_start_timestamp: i64 - UCT timestamp of when the event is expected to start
* MarketStatus Enum
 - Added
   * ReadyToVoid - A market is ready to be voided, voiding of orders and positions can occur
   * Voided - A market and all of its orders and positions have been voided
* MarketOrderBehaviour Enum
 - Added
   * None - Nothing
   * CancelUnmatched - Any unmatched liquidity will be refunded/cancelled and reset matching pools

* MarketMatchingPool Account
 - Added
   * market: Pubkey - The market public key that the pool relates to
   * inplay: bool - Whether the pool is in in-play mode
* Cirque Struct
 - Changed
   * items: Vec<QueueItem>
* QueueItem Struct
 - Added
   * order: Pubkey - PDA of an order
   * delay_expiration_timestamp: i64 - When the order's inplay delay should expire
   * liquidity_to_add: u64 - Liquidity that is yet to be added to the pool

* MarketPosition Account
 - Added
   * payer: Pubkey - Separate payer for account fees (Not yet in use)

* Order Account
 - Added
   * delay_expiration_timestamp: i64 - When the order's inplay delay should expire
   * payer: Pubkey - Separate payer for account fees (Not yet in use)
* OrderStatus Enum
 - Added
   * Voided - The order has been voided

What's Changed

  • chore: Upload 0.8.0 audit report and update README.md by @eoin-betdex in #48
  • feat: void markets by @stuartbetdex in #50
  • feat: void order by @obi-ewan in #51
  • feat: Add in-play support by @eoin-betdex in #52
  • chore: update versions to RC1 for 0.9.0 audit by @eoin-betdex in #53
  • fix: allow voided orders to be closed by @obi-ewan in #56
  • fix: client updates and fixes for inplay release by @obi-ewan in #55
  • fix: allow transfer surplus for voided markets by @obi-ewan in #58
  • fix: explicitly initialize market.inplay during creation by @eoin-betdex in #57
  • fix: clients don't filter markets by market type by @pawel-betdex in #60
  • fix: check event start is in the past when moving to inplay by @stuartbetdex in #59
  • chore: bump version to 0.9.0-rc3 with audit fixes by @eoin-betdex in #61
  • fix(client): add missing payer field to MarketPosition account type by @eoin-betdex in #62
  • fix(client): correct name type of market.inplayOrderDelay by @eoin-betdex in #63
  • fix: don't subtract an order's liquidity from MarketMatchingPool available liquidity on cancel if its not yet been added to the total by @eoin-betdex in #65
  • chore: bump version to 0.9.0-rc4 with audit fixes by @eoin-betdex in #66
  • chore: release version 0.9.0 by @eoin-betdex in #64

Full Changelog: v0.8.0...v0.9.0