- e3c2e88: The Magic Protocol supplier codebase has been updated to work with version 2 of the Magic Protocol. The supplier is now compeletely segwit-native, allowing for greatly reduced fees.
-
1af9c4c: Better backoff and retry logic for some worker jobs:
- The balances job runs less often (now every 5 minutes)
- The
finalize
jobs retry every 10 minutes, and retry for more instances, to account for expected block times and confirmation delays
Various small fixes regarding code quality:
- Instead of checking for
undefined
withtypeof val === 'undefined'
, addedisNullish
andisNotNullish
helpers that check againstnull
andundefined
- Removed unused imports and variables
- dc465e5: Fixed an issue when redeeming an inbound HTLC when the BTC prevout index was non-zero
- a632272: Adds script for updating fees
- 09d8c13: Adds scripts for adding xBTC funds and revoking expired outbound swaps
- 09d8c13: Added better logging and logic to "finalize outbound swap" processor
- 929337c: Fixes fee estimation math
- 929337c: Throw full error when unable to redeem inbound
- 0c1f977: Fix to fetch transactions with unanchored state when processing events
- 0c1f977: Fixed a network-config issue when redeeming inbound HTLC
- 6583be1: Updates mainnet contract address
- bf5689c: Updates deployed testnet address
- f81cc9d: Adds a
consolidate
script, which can be run manually to consolidate UTXOs in the supplier's BTC wallet. - 0a40064: Adds dynamic fee rates for BTC transactions, using Electrum to estimate the appropriate fee rate.
- 32a47d0: Added robust error handling in the case where an outbound finalization transaction fails.
- bb75fb6: Adds an
stx-transfer
script - 18b2dc6: Added more explicit retry logic for finalizing inbound and outbound transactions.
- 8f3a252: Changed the logic for fetching recent bridge events to safely exit if it detects a chain-state change while fetching events. This prevents any race conditions from preventing the supplier from properly handling events.
- bb6047b: Added a 'maxSize' option to sending BTC. When sending BTC for an outbound swap, a max size of 1024 bytes is used to prevent sending BTC that isn't able to be confirmed by Clarity.
- 25d984d: Added a prompt to specify STX fee when registering supplier
- f999364: Added configuration for self-hosted Grafana and Loki to
render.yaml
- 05ae3b5: Refactored the main supplier workflow to work as a background job architecture. This allows for hosting the supplier server without allowing any incoming connections from external networks. Additionally, configuration is provided to easily host the supplier on Render.com with secure configuration.
- 05ae3b5: Updated internal config to support Magic on Mainnet! Now, use
SUPPLIER_NETWORK=mainnet
to launch the project in mainnet mode. - 05ae3b5: Fixed an issue where
yarn check-config
would fail ifSUPPLIER_ID
was not set
- Welcome to the first "version" of the Magic supplier server!