Skip to content

Commit 330581f

Browse files
ci(release): publish latest release
1 parent 514fb12 commit 330581f

6 files changed

Lines changed: 36 additions & 8 deletions

File tree

RELEASE

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
IPFS hash of the deployment:
2-
- CIDv0: `QmPQUVHTFsQws6n8tQXPgue61fVAmY2Tn9yiDCGPX7jGHZ`
3-
- CIDv1: `bafybeiap2z2aetdpkgxvcyqtqw3ocbowshw5asxshmjeyfgn7hyhzbnyrq`
2+
- CIDv0: `QmXgdNDbCqQWUQK8hSAMb9b5UoBL7Zitt4iBUeGoejLAsG`
3+
- CIDv1: `bafybeiek25d3hnl3wixmotajlx4lt5rals45etkdrzbmyoup7xinftsxl4`
44

55
The latest release is always mirrored at [app.uniswap.org](https://app.uniswap.org).
66

@@ -10,5 +10,5 @@ You can also access the Uniswap Interface from an IPFS gateway.
1010
Your Uniswap settings are never remembered across different URLs.
1111

1212
IPFS gateways:
13-
- https://bafybeiap2z2aetdpkgxvcyqtqw3ocbowshw5asxshmjeyfgn7hyhzbnyrq.ipfs.dweb.link/
14-
- [ipfs://QmPQUVHTFsQws6n8tQXPgue61fVAmY2Tn9yiDCGPX7jGHZ/](ipfs://QmPQUVHTFsQws6n8tQXPgue61fVAmY2Tn9yiDCGPX7jGHZ/)
13+
- https://bafybeiek25d3hnl3wixmotajlx4lt5rals45etkdrzbmyoup7xinftsxl4.ipfs.dweb.link/
14+
- [ipfs://QmXgdNDbCqQWUQK8hSAMb9b5UoBL7Zitt4iBUeGoejLAsG/](ipfs://QmXgdNDbCqQWUQK8hSAMb9b5UoBL7Zitt4iBUeGoejLAsG/)

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
web/5.141.10
1+
web/5.141.11

apps/web/src/components/Charts/ToucanChart/bidDistribution/controller/logic/zoom.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,20 @@ export function applyZoomFromState(params: {
101101
const leftEdge = clearingPriceDecimal - BID_DEMAND_INITIAL_ZOOM.ticksBelowClearingPrice * tickSizeDecimal
102102
// Right edge: end of concentration band + padding
103103
const fullTickCount = Math.max(1, Math.round((maxTick - minTick) / tickSizeDecimal))
104-
const padAfterTicks = Math.max(
104+
let padAfterTicks = Math.max(
105105
BID_DEMAND_INITIAL_ZOOM.minPadTicksAfter,
106106
Math.round(fullTickCount * BID_DEMAND_INITIAL_ZOOM.afterConcentrationPercentOfFullRange),
107107
)
108+
// Cap padding relative to concentration band width so outlier bids don't stretch the view.
109+
const concentrationTickCount = Math.max(
110+
1,
111+
Math.round((concentration.endTick - concentration.startTick) / tickSizeDecimal),
112+
)
113+
const maxPadTicks = Math.max(
114+
BID_DEMAND_INITIAL_ZOOM.minPadTicksAfter,
115+
concentrationTickCount * BID_DEMAND_INITIAL_ZOOM.maxPadConcentrationMultiplier,
116+
)
117+
padAfterTicks = Math.min(padAfterTicks, maxPadTicks)
108118
const rightEdge = concentration.endTick + padAfterTicks * tickSizeDecimal
109119
targetFrom = Math.round(Math.max(minTick, leftEdge) * priceScaleFactor)
110120
targetTo = Math.round(Math.min(maxTick, rightEdge) * priceScaleFactor)
@@ -132,6 +142,7 @@ export function applyZoomFromState(params: {
132142
beforePercentOfFullRange: BID_DISTRIBUTION_INITIAL_ZOOM.concentrationPadding.beforePercentOfFullRange,
133143
afterPercentOfFullRange: BID_DISTRIBUTION_INITIAL_ZOOM.concentrationPadding.afterPercentOfFullRange,
134144
minPadTicks: BID_DISTRIBUTION_INITIAL_ZOOM.concentrationPadding.minPadTicks,
145+
maxPadConcentrationMultiplier: BID_DISTRIBUTION_INITIAL_ZOOM.concentrationPadding.maxPadConcentrationMultiplier,
135146
})
136147
targetFrom = Math.round(padded.from * priceScaleFactor)
137148
targetTo = Math.round(padded.to * priceScaleFactor)

apps/web/src/components/Charts/ToucanChart/bidDistribution/utils/tickGrouping.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ export function computeTickGroupingConfig(params: {
7474
beforePercentOfFullRange: BID_DISTRIBUTION_INITIAL_ZOOM.concentrationPadding.beforePercentOfFullRange,
7575
afterPercentOfFullRange: BID_DISTRIBUTION_INITIAL_ZOOM.concentrationPadding.afterPercentOfFullRange,
7676
minPadTicks: BID_DISTRIBUTION_INITIAL_ZOOM.concentrationPadding.minPadTicks,
77+
maxPadConcentrationMultiplier: BID_DISTRIBUTION_INITIAL_ZOOM.concentrationPadding.maxPadConcentrationMultiplier,
7778
})
7879
: calculateInitialVisibleRange({
7980
clearingPrice: clearingPriceDecimal,

apps/web/src/components/Toucan/Auction/BidDistributionChart/utils/utils.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -930,6 +930,7 @@ export function getPaddedConcentrationRange(params: {
930930
beforePercentOfFullRange: number
931931
afterPercentOfFullRange: number
932932
minPadTicks: number
933+
maxPadConcentrationMultiplier?: number
933934
}): { from: number; to: number } {
934935
const {
935936
startTick,
@@ -940,12 +941,21 @@ export function getPaddedConcentrationRange(params: {
940941
beforePercentOfFullRange,
941942
afterPercentOfFullRange,
942943
minPadTicks,
944+
maxPadConcentrationMultiplier,
943945
} = params
944946

945947
// Full range expressed as ticks, clamped to at least 1 to keep padding sane.
946948
const fullTickCount = Math.max(1, Math.round((maxTick - minTick) / tickSizeDecimal))
947-
const padBeforeTicks = Math.max(minPadTicks, Math.round(fullTickCount * beforePercentOfFullRange))
948-
const padAfterTicks = Math.max(minPadTicks, Math.round(fullTickCount * afterPercentOfFullRange))
949+
let padBeforeTicks = Math.max(minPadTicks, Math.round(fullTickCount * beforePercentOfFullRange))
950+
let padAfterTicks = Math.max(minPadTicks, Math.round(fullTickCount * afterPercentOfFullRange))
951+
952+
// Cap padding relative to concentration band width so outlier bids don't stretch the view.
953+
if (maxPadConcentrationMultiplier != null) {
954+
const concentrationTickCount = Math.max(1, Math.round((endTick - startTick) / tickSizeDecimal))
955+
const maxPadTicks = Math.max(minPadTicks, concentrationTickCount * maxPadConcentrationMultiplier)
956+
padBeforeTicks = Math.min(padBeforeTicks, maxPadTicks)
957+
padAfterTicks = Math.min(padAfterTicks, maxPadTicks)
958+
}
949959

950960
const paddedFrom = startTick - padBeforeTicks * tickSizeDecimal
951961
const paddedTo = endTick + padAfterTicks * tickSizeDecimal

apps/web/src/components/Toucan/Auction/BidDistributionChart/zoomConfig.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ export const BID_DISTRIBUTION_INITIAL_ZOOM = {
2121
afterPercentOfFullRange: 0.02,
2222
/** Minimum padding in ticks on either side (prevents “too tight” zooms on small ranges). */
2323
minPadTicks: 2,
24+
/** Cap padding at this multiple of the concentration band width per side.
25+
* Prevents outlier bids from stretching the initial view far beyond the concentration band. */
26+
maxPadConcentrationMultiplier: 3,
2427
},
2528
} as const
2629

@@ -38,4 +41,7 @@ export const BID_DEMAND_INITIAL_ZOOM = {
3841
afterConcentrationPercentOfFullRange: 0.02,
3942
/** Minimum padding ticks on the right side */
4043
minPadTicksAfter: 2,
44+
/** Cap padding at this multiple of the concentration band width.
45+
* Prevents outlier bids from stretching the initial view far beyond the concentration band. */
46+
maxPadConcentrationMultiplier: 3,
4147
} as const

0 commit comments

Comments
 (0)