Skip to content
This repository has been archived by the owner on Sep 12, 2023. It is now read-only.

Releases: get10101/itchysats

0.7.0

30 Sep 05:55
902b276
Compare
Choose a tag to compare

Added

  • Support for /itchysats/rollover/3.0.0. This fixes a bug where inverse payout curves where capped at double the value of the initial price.
  • Support for /itchysats/collab-settlement/2.0.0. This fixes a bug where inverse payout curves where capped at double the value of the initial price.
  • Support for /itchysats/order/2.0.0. This fixes a bug where inverse payout curves where capped at double the value of the initial price.
  • Configurable peer id block list. Peer IDs can be added to blocked_peers.toml, stored in the data directory. The
    format is expected to be a simple TOML array of peer ID strings.

Changed

  • Breaking change: with bdk>0.20 key derivations will take into account the network, i.e. for mainnet it uses m/84'/0'/0' and for testnet/regtest it uses m/84'/1'/0'. This was caused by bitcoindevkit/bdk#585. If you want to withdraw your testnet funds make sure to use the withdraw functionality prior upgrading to a different wallet or return them to the faucet. Existing mainnet wallets are not affected.
  • Breaking change: Rename --umbrel-seed to --app-seed. Integration with Umbrel and other environments might be affected. This is unlikely to affect regular users, as this parameter is not used outside such environments.
  • Breaking change: Specify the maker port of libp2p connection instead of legacy connection (only relevant if port was specified manually; port should be incremented by 1)
  • Drop support for /itchysats/rollover/1.0.0.
  • Deprecate /itchysats/rollover/2.0.0.
  • Deprecate /itchysats/collab-settlement/1.0.0.
  • Deprecate /itchysats/order/1.0.0.

Added

  • Replaced basic-authentication with cookie-based authentication for taker-ui. The default password if no password is provided via the cli is weareallsatoshi. Once logged in, the user is requested to change the password.

0.6.1

01 Sep 11:29
18d4e6c
Compare
Choose a tag to compare

Fixed

  • An issue in the taker UI where tooltips where not properly displayed.
  • An issue where the taker logs were spammed with unnecessary error message on auto-rollover.
  • An issue where metrics on connected peers where not reported correctly.

0.6.0

31 Aug 15:01
ee2e71a
Compare
Choose a tag to compare

Added

  • Active support for the ETHUSD trading pair allowing users to open positions for both BTCUSD and ETHUSD
  • New /itchysats/offer/2.0.0 protocol, which supports any contract symbol.
  • New dynamic route for maker PUT /<contract_symbol>/offer/.
    This allows the creation of offers with <contract_symbol>.
  • Introducing a new field lot_size for offer: Lot Size (in number of contracts) is the minimum trading unit of a contract. Order quantity need to be a multiple of this.

Changed

  • Dropped support for all legacy network protocols.
  • Deprecate the /itchysats/offer/1.0.0 protocol.
    The taker will no longer support this version protocol and the maker will run it until at least the next application version.

Fixed

  • Prevent liquidation intervals from overlapping in qunato payout curves.
  • Ensure that the short liquidation interval of inverse payout curves goes up to the maximum price Olivia can attest to.
  • Do not monitor for mined-long-ago lock transactions after rolling over a CFD.

0.5.5

17 Aug 04:05
a237d65
Compare
Choose a tag to compare

Added

  • Drop connection to peer if we get a yamux::ConnectionError when opening a substream to them. Dropping the connection should lead to a reconnect on the taker, which should fix problems where the taker has a broken connection to the maker for a long time.

Fixed

  • Ensure that rollover data is saved to the database automically. This fixes bugs related to accessing rollover data that is incomplete, either because the insertion hadn't finished yet or because part of the insertion had failed.

0.5.4

05 Aug 13:51
fab3d39
Compare
Choose a tag to compare

Added

  • Add dynamic liquidation to the DLC, enabling the CFD to be unilaterally closed every hour by either party if the oracle attests to a price close to the ends of the payout curve's domain.

Changed

  • Replace intermediate confirmation step in rollover protocol for the maker with a configurable flag which can be updated during runtime using the new POST /rollover/config endpoint.
    On startup, rollovers are configured to be accepted by default.
  • Introduce the /itchysats/order/1.0.0 protocol, running over libp2p.
    It is used to place an order and immediately set up the CFD on chain.
    It replaces the previous mechanism, which ran over a bespoke network stack.
  • Introduce the /itchysats/id/1.0.0 protocol, running over libp2p.
    It allows a peer to share their contact details with others on request.
    It replaces a previous similar mechanism, which ran over a bespoke network stack.
  • Renamed trading_pair to contract_symbol in Http API.

0.5.3

01 Aug 12:57
0440ecc
Compare
Choose a tag to compare

Full Changelog: 0.5.2...0.5.3

  • Update xtra dependency to be able to ignore frequent trace spans added in 0.5.2

0.5.2

26 Jul 13:23
23b352d
Compare
Choose a tag to compare

Full Changelog: 0.5.1...0.5.2

Added:
Ignore frequent trace spans.

0.5.1

23 Jul 23:58
Compare
Choose a tag to compare

Changed

  • made position_margin_satoshis and position_margin_counterparty_satoshis metric symbol and position dependent
  • log important taker connection info on info
  • downgrade "Could not parse daemon_version" log to debug to spam less

0.5.0

21 Jul 09:36
f8b69d8
Compare
Choose a tag to compare

Changed

  • Update xtra to upstream. This involved re-implementing some of the features
    in comit-network's fork internally. Xtra message handler metrics were also
    removed in favour of the new instrumentation feature combined with
    Grafana Tempo's span metrics.
  • Allow rollovers from previous versions for takers to make the rollover protocol more resilient against the maker being ahead and avoid consecutive rollover failure.

Removed

  • The initial tour through ItchySats. The underlying library caused issues that could not be overcome.

Added

  • Add new argument to the maker: ignore-migration-errors. If enabled, the maker will start if an error occurred when opening the database, if not, it will fail fast. This can come handy to prevent accidentally creating a new empty database in case database migration was unsuccessful.
  • New metrics: the maker tracks how many offers have been sent (offer_messages_sent_total) and the taker tracks how many offers have been received (offer_messages_received_total).
  • Allow taker to provide extended private key as argument when starting. This key will be used to derive the internal wallet according to (Bip84)[https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki].
  • Support for tokio console for debugging. It can be activated with --tokio-console.
  • Show the daemon-version in the info box of the taker-ui.
  • Add support for instrumented traces for debugging. It can be activated with --instrumented.

Fixed

  • An issue where electrum-client caused high CPU load.
  • An issue where the pings were triggered too frequently and caused congestion in the endpoint.

0.4.22

15 Jul 08:43
156d3a5
Compare
Choose a tag to compare

Patch release for the maker only.

Fixes

  • An issue where a CFD that was collaboratively closed before the lock transaction was confirmed remains in open CFDs forever, because we don't monitor for the collab_close_tx confirmation in such a case.
  • Remove sorting the events by timestamp when loading from the database because it can lead to wrongly ordered events in cases where events have the same timestamp.