THORChain Announcements
1.41K subscribers
219 photos
14 videos
1 file
673 links
THORChain Announcements
Download Telegram
New Discord Announcement from THORChain Devs #🚨thornode-mainnet

<:alert:1143254456893456485> **THORNode Halted at 3.19.0 Upgrade Height β€” Action Required (Affected Validators)**

**NETWORK:** MAINNET
**TYPE:** Per-validator action (non-coordinated)
**URGENCY:** ASAP for affected nodes

These nodes are dead weight on consensus (network at ~89% signed) and block the recovery plan β€” keyverify (step 5) and the upcoming churn (step 7) need every active node healthy.

**Affected nodes:** `kwex` `0rde` `rsyj` `skf6` `nk4j` `vwj0` (thornode down, host up) and `69mz` (host fully unreachableβ€”operator must restore the machine first)

If you operate one of these, pull the latest node-launcher and re-deploy to pick up the 3.19.0 image:

```
make pull
```

```
make install
```

Your node will catch up the ~18k missed blocks in well under an hour. Once all 7 are signing again we can proceed with the keyverify ceremony and the rest of the recovery.

@everyone
New Discord Announcement from THORChain Devs #🚨thornode-mainnet

# THORNODE ❗ MAINNET ❗ SUCESSFUL CHURN - NEED 1 MORE VOTE β€” HALT CHURNING

We're at 2 of 3 operational votes to halt churning for the migration β€” need one more node to vote:

> This is to avoid any clashing while we migrate and test the new TSS changes that have been made

```
make mimir
```

key `HALTCHURNING` value `1`

@everyone
New Discord Announcement from THORChain Devs #🚨thornode-mainnet

# THORNODE ❗ MAINNET ❗ MIMIR VOTE β€” UNHALT SIGNING (GLOBAL)

**NETWORK:** MAINNET
**TYPE:** Coordinated
**URGENCY:** ASAP

The churn has rotated and the retiring vaults need to migrate funds into the new ones β€” that needs signing back on. Please vote to un-halt global signing. Operational mimir, so only the small quorum (3 nodes) is needed.

```
make mimir
```
key: `HALTSIGNING` value: `0`

@everyone
New Discord Announcement from THORChain Devs #🚨thornode-mainnet

# THORNODE ❗ MAINNET ❗ MIMIR VOTE β€” UN-HALT SECURED + ENABLE TRADE ASSETS

**NETWORK:** MAINNET
**TYPE:** Coordinated (operational mimir vote)
**URGENCY:** ASAP

Recovery step β€” re-opening secured-asset and trade-asset trading.

```
make mimir
```
key: `HALTSECUREDGLOBAL` value: `0`
key: `TRADEACCOUNTSENABLED` value: `1`

Both are operational mimirs β€” ~3 active-node votes each (vote the same value; land them together, votes purge on churn).

@everyone
New Discord Announcement from THORChain Devs #🚨thornode-mainnet

# THORNODE ❗ MAINNET ❗ MIMIR VOTE β€” UN-HALT GLOBAL TRADING

**NETWORK:** MAINNET
**TYPE:** Coordinated (mimir vote)
**URGENCY:** ASAP

Next recovery step β€” re-opening global trading. All per-chain trading halts are already 0, and secured + trade assets are enabled; the only remaining gate is the global HALTTRADING. Vote it to 0 to reopen swaps.

```
make mimir
```
key: `HALTTRADING` value: `0`

Operational mimir β€” ~3 active-node votes (vote the same value; votes purge on churn, so land them together).

@everyone
New Discord Announcement from THORChain Devs #🚨thornode-mainnet

## DISABLE BIFROST KEYVERIFY

**NETWORK:** MAINNET
**TYPE:** Non-coordinated
**URGENCY:** ASAP

ECDSA migration is complete β€” bifrost keyverify is no longer needed, and leaving it on only makes nodes periodically drop availability (~every 10 min) and risk extra slashing. Node-launcher now disables it by default; please pull the latest and redeploy to pick it up (restarts bifrost):

```
make pull
make install
```

Restart-required, local-only β€” it does NOT halt signing/observing or affect keyverify elsewhere. (To keep keyverify on, set `BIFROST_SIGNER_KEYVERIFY_DISABLED: "false"`.)

@everyone
New Discord Announcement from THORChain Devs #🚨thornode-mainnet

## MIMIR VOTE β€” UNHALT TCY CLAIMING

**NETWORK:** MAINNET
**TYPE:** Coordinated (mimir vote)
**URGENCY:** ASAP

TCY claiming has been halted (`TCYCLAIMINGHALT=1`) since the claiming fix landed; that patch has been live on mainnet since v3.18.0 (current mainnet 3.19.1), so claiming can safely resume. Vote to clear the halt:

```
make mimir
```
key: `TCYCLAIMINGHALT` value: `0`

Operational mimir β€” clears once ~3 active nodes vote `0` (operational quorum, not a full supermajority).

@everyone
New Discord Announcement from THORChain Devs #🚨thornode-mainnet

# THORNODE ❗ MAINNET ❗ BASE daemon β€” v1.1.1 (fork)

**NETWORK:** MAINNET
**TYPE:** Non-coordinated
**URGENCY:** ASAP

base-daemon is updated to **v1.1.1**. If you self-host a BASE daemon, pull node-launcher and redeploy:

```
make pull
make install
```

Base hardforked at L2 block **47806543** (~16:00 UTC today). Daemons not on v1.1.1 stall at that block and stop observing/signing BASE β€” update now to cross the fork. (Base release: github.com/base/node/releases/tag/v1.1.1)

@everyone
New Discord Announcement from THORChain Devs #🚨thornode-mainnet

# πŸ“’ Dynamic Fee Experiment Update & Expansion

I know we've had several announcements like this recently. We don't want to create churn for the community or node operators, but there has been a lot happening latelyβ€”which is both exciting and, at times, operationally challenging.

I wanted to provide a quick update on the Symbiosis experiment and announce that we're expanding the dynamic fee experiment to another affiliate: **ShapeShift** (`ss`).

---

## Symbiosis Update

We ran into an immediate issue with the Symbiosis rollout. Because we were receiving essentially **zero trading volume**, the dynamic fee mechanism never had an opportunity to "spin up."

This is a relatively small edge-case bug. Under normal conditions it isn't an issue, since it only takes a single swap for a given trading pair to initialize the feature. However, Symbiosis wasn't sending any swaps our way. We generally win larger trades ($50k–$100k+), which occur less frequently, so this left the experiment with no meaningful data.

While investigating, I also noticed an inefficiency in how Symbiosis routes swaps through THORChain that inflates our quoted price.

For example, for an **ETH β†’ BTC** swap, Symbiosis currently:
1. Swaps **ETH β†’ USDC** through Kyber or 0x.
2. Sends the resulting **USDC** to THORChain.
3. THORChain then swaps **USDC β†’ BTC**.

This results in an unnecessary extra swap before reaching THORChain.

A more efficient flow would be to send **ETH directly** to THORChain and allow THORChain to perform the native double swap internally. This reduces unnecessary overhead and produces a more competitive quote.

This isn't an issue for Chainflip since **USDC is their base asset**, meaning they only perform a single swap.

I've opened a pull request in the Symbiosis codebase to address this. There's no ETA yet on when it will be reviewed, merged, or deployed.

In the meantime, it makes sense to continue the experiment with another affiliate that has meaningful flow.

---

## ShapeShift

ShapeShift has consistently been a strong partner for THORChain. Their team is responsive, cooperative, and easy to work with.

During **June**, THORChain captured **5.8%** of ShapeShift's routing volume, compared to:

- **Chainflip:** 54%
- **NEAR:** 33.4%

There is clearly meaningful volume available for THORChain to compete for here.

I'd like to ask **three node operators** to enable ShapeShift for this experiment using the following operational Mimir:

```text
DYNAMICFEE-WHITELIST-SS = 1
```

Since this is an operational Mimir, we only need **three nodes** to enable it.

Once enabled, we'll begin collecting data and evaluate how the dynamic fee performs within this specific routing market.
New Discord Announcement from THORChain Devs #🚨thornode-mainnet

## Mimir Vote Request: `STREAMINGLIMITSWAPMAXAGE = 5256000`

Requesting **3 node operators** to cast an operational Mimir vote.

| Field | Value |
|---|---|
| **Key** | `STREAMINGLIMITSWAPMAXAGE` |
| **New value** | `5256000` (~1 year) |
| **Current default** | `43200` (~3 days) |
| **Votes needed** | 3 (`OperationalVotesMin`) |

### What it does

Raises the max lifetime of a limit swap from ~3 days to ~1 year. Long-dated limit orders are a frequently requested feature, and a 3-day ceiling is too short to be useful for most traders.

### Why it's safe now

The previous blocker was performance: `processExpiredLimitSwaps` scanned every height from `currentHeight - maxAge` forward on each block, so a 1-year TTL meant millions of KVStore lookups per block.

That was fixed β€” expiry entries are stored at their exact expiry height, so the handler now does a **single lookup for the current block**. Cost per block is constant regardless of how large this value is.

### No admin key or hard fork required

`StreamingLimitSwapMaxAge` is in the operational-mimir list, so three matching node votes activate it.

### How to vote

From your node-launcher directory:

```bash
make mimir

Enter when prompted:

- Key: STREAMINGLIMITSWAPMAXAGE
- Value: 5256000
```
New Discord Announcement from THORChain Devs #🚨thornode-mainnet

πŸ—³οΈ Node Vote Reminder: ADR-029

Reminder to vote on ADR-029, we currently have 48% of the notes voting and need another 20ish votes to pass rev-share.

```
make mimir
Key: ADR029
Values:
* 1 = Vote For
* 0 = Vote Against
```