This repository has been archived by the owner on Sep 12, 2023. It is now read-only.
Releases: get10101/itchysats
Releases · get10101/itchysats
0.7.0
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 usesm/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
0.6.0
Added
- Active support for the
ETHUSD
trading pair allowing users to open positions for bothBTCUSD
andETHUSD
- 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
foroffer
: 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
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 thetaker
, which should fix problems where thetaker
has a broken connection to themaker
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
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
tocontract_symbol
in Http API.
0.5.3
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
Full Changelog: 0.5.1...0.5.2
Added:
Ignore frequent trace spans.
0.5.1
0.5.0
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 newinstrumentation
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
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 thecollab_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.