Spark's Operational Facilitator has placed a proposal into the voting system on behalf of nested contributor Phoenix Labs.
The Spark community can hereby express support or opposition to the following changes, as described by the author of the proposal:
[Ethereum] Spark Liquidity Layer - Upgrade ALM Controller to v1.9.0
We propose to upgrade the Ethereum ALM Controller to version 1.9.0. This upgrade adds functionality to be able to integrate Uniswap v4 pools for liquidity provision (including single tick ranges that serve as limit orders) and swaps. We plan to upgrade the foreign chain controllers to the new version in a future spell.
Parameter Summary:
- Upgrade Ethereum ALM Controller to Version 1.9.0
[Ethereum] Spark Liquidity Layer - Onboard Uniswap v4 PYUSD/USDS Pool
Uniswap v4 offers greater control liquidity vs alternative DEXes, allowing for placing liquidity into configurable ranges rather than having liquidity distributed across a single protocol defined curve. This opens up new capabilities for SLL, including placing single sided liquidity, single tick liquidity that effectively serve as onchain limit orders, and narrow ranges that optimize for capital efficiency.
We plan to continue to use Curve as a core liquidity provision venue. However, we will also add capabilities to deposit into a Uniswap v4 PYUSD/USDS pool as an additional option. We plan to use this pool for limit orders as part of our inventory rebalancing strategy (minimizing execution cost and the expense of speed), and also enabling us to place bids for USDS to meet ASC requirements and backstop the USDS peg.
Key parameters for Uniswap v4 integrations include the following: min lower tick and max upper tick limits are the lowest and highest tick where liquidity can be placed into the pool via deposit transactions, max tick width is the largest width of a single position, max slippage is the highest deviation from 1:1 price that we will accept for swap transactions, and maxAmount and slope parameters have the same meaning as for other SLL integrations. Note that min and max tick are scaled based on the difference in decimal precision of the included stablecoins; USDS uses 18 decimals while PYUSD and USDT use 6 decimals, meaning there is a scaling factor of 10E12 between them which is incorporated to determine the min and max tick. We also note the deviation from 1:1 price peg for simplicity and readability.
We consider the SLL relayer system to be untrusted, so we calculate the maximum potential loss over time if the relayer was compromised. For the Uniswap v4 integration, maximum losses are estimated as the volume of deposit and swap transactions that can be initiated until the system is recovered (eg via the freezer multisig blocking the compromised relayer), multiplied by the difference between market price and min/max tick limit or the max slippage respectively. With the below parameter configuration, we estimate a maximum potential loss from a compromised relayer of $90,000 assuming 12 hours time to recovery, which is within our risk tolerance and justified by the utility value of the integration.
Parameter summary:
- Uniswap v4 PYUSD/USDS Pool details
- Pool: 0xe63e32b2ae40601662f760d6bf5d771057324fbd97784fe1d3717069f7b75d45
- Swap fee: 0.0005%
- SLL parameters
- Min lower tick limit: 276,314 (-0.1%)
- Max upper tick limit: 276,334 (+0.1%)
- Max tick width: 10 ticks
- Max slippage: 0.1%
- Deposits
- maxAmount: 10 million
- slope: 100 million per day
- Withdrawals
- maxAmount: 50 million
- slope: 200 million per day
- Swaps
- maxAmount: 5 million
- slope: 50 million per day
[Ethereum] Spark Liquidity Layer - Onboard Uniswap v4 USDT/USDS Pool
Similar to above, we propose to onboard the USDT/USDS Uniswap v4 pool to enable limit orders and ASC management. Because USDT is more volatile than PYUSD or most other onshore stablecoins (on account of Tether’s mint and redeem fees), we may also be able to generate revenue through opportunistic limit orders and trading activity (stink bids, etc).
With the below parameter configuration, we estimate a maximum potential loss from a compromised relayer of $120,000 assuming 12 hours time to recovery, which is within our risk tolerance and justified by the utility value of the integration.
Parameter summary:
- Uniswap v4 USDT/USDS Pool details
- Pool: 0x3b1b1f2e775a6db1664f8e7d59ad568605ea2406312c11aef03146c0cf89d5b9
- Swap fee: 0.0005%
- SLL parameters
- Min lower tick limit: 276,304 (-0.2%)
- Max upper tick limit: 276,344 (+0.2%)
- Max tick width: 10 ticks
- Max slippage: 0.2%
- Deposits
- maxAmount: 5 million
- slope: 50 million per day
- Withdrawals
- maxAmount: 50 million
- slope: 200 million per day
- Swaps
- maxAmount: 5 million
- slope: 50 million per day
The proposed Spark Artifact changes can be found in the following pull request: https://github.com/sky-ecosystem/next-gen-atlas/pull/166