Skip to main content

Activation notice: block 13,350,001

This page records what changed on chain 114514 at block 13,350,001.

info

In effect since block 13,350,001. Node 0.8.9 swapped in at block 13,350,000, and every rule below turned on one block later. The page records what changed at that boundary, because a client written against the older behavior breaks on the rows below.

{"type":"account_state","address":"0x…"} returns the current height. Use it to check where the chain is.

Eleven behaviors move at one height, so the chain gains one boundary, not eleven. The rows below are the ones a caller can observe. The rest of the release changes no request, response or rejection that you can see.

The pin is one block above the swap. The outgoing binary commits block 13,350,000 and then halts, so that block still runs the old rules. A pin at the swap height itself would make the running chain and a replay of it disagree about that block.

New rejections​

SurfaceBehaviour
Any signed actionA nonce more than 24 hours above the chain's own clock is refused. See below. This row is the most likely to break a working client.
An isolated position that EXTENDSThe extend now posts margin. An extend that the account cannot fund is refused where it previously succeeded.

The future-nonce ceiling​

Read this section even if you skip the rest. Below the height, the chain accepts any nonce above the replay window of the account. That nonce becomes the new high-water mark. One action with an absurd value pins the window forever, and every honest nonce afterwards reads as too old.

At and above the height, the chain refuses a nonce that exceeds the last EVM block timestamp by more than 24 hours.

A working client can hit this ceiling in two ways:

  • The clock is more than a day fast. The nonce convention is unix milliseconds, so a machine with a fast clock signs ahead. Fix the clock. Nothing else helps, because the chain refuses every action that the machine signs.
  • The client uses a different time unit. A client that signs microseconds or nanoseconds is a thousand or a million times above the ceiling, and the chain refuses every action. Send milliseconds.

An account whose window a past action pushed above the ceiling repairs itself. Its next accepted action re-seeds the window, and the account is not locked out. This case needs no support request.

Changed behavior​

SurfaceBefore 13,350,001Now
twap_order slicesA slice's synthesized price and size miss the market's grid, so no slice has ever filled. Every fill in the archive carries a null twapId.Slices snap to the grid and FILL. Fills begin to carry the parent's twapId.
A twap_order slice with no usable markPrices off the raw mark, ignoring the oracle-presence, staleness and band checks the rest of the engine applies.The slice PARKS: it does not fire and does not count against the schedule.
cancel_all_orders, and the dead-man schedule_cancelWalks the resting books only. A swept account keeps its TWAP schedule running and its parked auction orders active.The sweep also retires TWAP parents and parked auction orders.
A full position closeThe row survives with its margin_mode. A later CROSS re-open then settles against the stale isolated bucket.The flat row is pruned, so a re-open starts clean.
An EVM block whose declared gas exceeds the block limitEvery committed transaction executes, so one oversized payload stalls the round.The block admits the prefix that fits, defers the next transaction to a later block, and drops the rest. A transaction may take an extra block to execute.
Governance force_close_position, partialLeaves the full entry notional, open interest and isolated margin on the residual.Settles the residual.
The fee buybackOne fire spends the whole available balance.One fire spends one slice.

New votes​

Four vote_global kinds ship in this release. A node below this release does not know the names. It answers a cast for one of them in the same way as for a name that never existed.

kind_nameWhat it sets
set_funding_ema_decayThe funding EMA decay. The fold keeps reading the compiled default until this height.
set_target_block_interval_msThe proposer's own pacing period. Needs no activation height of its own.
set_mtf_asset_idBinds the canonical MTF spot asset. Refused below this height, because one fire below it spends the whole accrued pool in a single buy.
set_buyback_slice_usdcThe per-fire buyback slice.

Read surface​

Nothing on the public read surface changes. The chain records the drip state as buyback_status.drip_active. It is false until 13,350,001 and true after. No read serves that record. See deleted reads.

Unchanged​

The spot lane for twap_order, scale_order and chase_order stays OFF. These three actions refuse a spot pair id at every height in this release.