UniversalUniswapV3Adapter
0x2a7f3d7486641c77600b9b9256132755c8aebb4f
Verification
Verified
v0.8.17+commit.8df45f5f
Type
Contract
3,055 bytes
ABI entries
21
3 read · 13 write
License
mit
Contract information
- Address
- 0x2a7f3d7486641c77600b9b9256132755c8aebb4f
- Chain
- Robinhood Chain (4663)
- Compiler
- v0.8.17+commit.8df45f5f
- Optimization
- Enabled
- Creator
- 0x399EfA78cA…Df9EFDf6Ad
- Creation tx
- 0x02c7bbc32d…86060685d6
Token
Not a token
This contract does not expose ERC-20 metadata.
Read contract (3)
MAX_SQRT_RATIO() → uint160
MIN_SQRT_RATIO() → uint160
WETH() → address
ABI
[
{
"inputs": [
{
"internalType": "address",
"name": "weth",
"type": "address"
},
{
"internalType": "uint160",
"name": "minSqrtRatio",
"type": "uint160"
},
{
"internalType": "uint160",
"name": "maxSqrtRatio",
"type": "uint160"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "InvalidAmount",
"type": "error"
},
{
"inputs": [],
"name": "InvalidPay",
"type": "error"
},
{
"inputs": [],
"name": "SafeTransferFailed",
"type": "error"
},
{
"stateMutability": "nonpayable",
"type": "fallback"
},
{
"inputs": [],
"name": "MAX_SQRT_RATIO",
"outputs": [
{
"internalType": "uint160",
"name": "",
"type": "uint160"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MIN_SQRT_RATIO",
"outputs": [
{
"internalType": "uint160",
"name": "",
"type": "uint160"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "WETH",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "int256",
"name": "amount0Delta",
"type": "int256"
},
{
"internalType": "int256",
"name": "amount1Delta",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "agniSwapCallback",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "int256",
"name": "amount0Delta",
"type": "int256"
},
{
"internalType": "int256",
"name": "amount1Delta",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "algebraSwapCallback",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "int256",
"name": "amount0Delta",
"type": "int256"
},
{
"internalType": "int256",
"name": "amount1Delta",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "dragonswapV2SwapCallback",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "int256",
"name": "amount0Delta",
"type": "int256"
},
{
"internalType": "int256",
"name": "amount1Delta",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "fireflyV3SwapCallback",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "int256",
"name": "amount0Delta",
"type": "int256"
},
{
"internalType": "int256",
"name": "amount1Delta",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "fusionXV3SwapCallback",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "int256",
"name": "amount0Delta",
"type": "int256"
},
{
"internalType": "int256",
"name": "amount1Delta",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "hyperswapV3SwapCallback",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "int256",
"name": "amount0Delta",
"type": "int256"
},
{
"internalType": "int256",
"name": "amount1Delta",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "pancakeV3SwapCallback",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "int256",
"name": "amount0Delta",
"type": "int256"
},
{
"internalType": "int256",
"name": "amount1Delta",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "ramsesV2SwapCallback",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "address",
"name": "pool",
"type": "address"
},
{
"internalType": "bytes",
"name": "moreInfo",
"type": "bytes"
}
],
"name": "sellBase",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "address",
"name": "pool",
"type": "address"
},
{
"internalType": "bytes",
"name": "moreInfo",
"type": "bytes"
}
],
"name": "sellQuote",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "int256",
"name": "amount0Delta",
"type": "int256"
},
{
"internalType": "int256",
"name": "amount1Delta",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "uniswapV3SwapCallback",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "int256",
"name": "amount0Delta",
"type": "int256"
},
{
"internalType": "int256",
"name": "amount1Delta",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "xeiV3SwapCallback",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "int256",
"name": "amount0Delta",
"type": "int256"
},
{
"internalType": "int256",
"name": "amount1Delta",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "zebraV3SwapCallback",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]Source code
// SPDX-License-Identifier: MIT
// solhint-disable
pragma solidity ^0.8.0;
import {BaseV3Adapter} from "@adapters/base/BaseV3Adapter.sol";
/// @title UniversalUniswapV3Adapter
/// @notice Single adapter covering multiple V3-like DEX protocols via named callbacks.
/// @dev Supported protocols:
/// - Uniswap V3, Sheepdex, Etherex (uniswapV3SwapCallback)
/// - Agni (agniSwapCallback)
/// - CamelotV3, KimV4, ThenaV2, Quickswapv3, HerculesV3, ZyberV3 (algebraSwapCallback)
/// - FusionX (fusionXV3SwapCallback)
/// - RamsesV2, NileCL (ramsesV2SwapCallback)
/// - Xei (xeiV3SwapCallback)
/// - PancakeV3 (pancakeV3SwapCallback)
/// - FireflyV3 (fireflyV3SwapCallback)
/// - ZebraV3 (zebraV3SwapCallback)
/// - DragonSwapV2 (dragonswapV2SwapCallback)
/// - HyperSwapV3 (hyperswapV3SwapCallback)
/// - Any other V3-like protocol is handled by the fallback() in BaseV3Adapter.
contract UniversalUniswapV3Adapter is BaseV3Adapter {
constructor(address weth, uint160 minSqrtRatio, uint160 maxSqrtRatio)
BaseV3Adapter(weth, minSqrtRatio, maxSqrtRatio)
{}
function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes calldata data) external {
_universalSwapCallback(amount0Delta, amount1Delta, data);
}
function agniSwapCallback(int256 amount0Delta, int256 amount1Delta, bytes calldata data) external {
_universalSwapCallback(amount0Delta, amount1Delta, data);
}
function algebraSwapCallback(int256 amount0Delta, int256 amount1Delta, bytes calldata data) external {
_universalSwapCallback(amount0Delta, amount1Delta, data);
}
function fusionXV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes calldata data) external {
_universalSwapCallback(amount0Delta, amount1Delta, data);
}
function ramsesV2SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes calldata data) external {
_universalSwapCallback(amount0Delta, amount1Delta, data);
}
function xeiV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes calldata data) external {
_universalSwapCallback(amount0Delta, amount1Delta, data);
}
function pancakeV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes calldata data) external {
_universalSwapCallback(amount0Delta, amount1Delta, data);
}
function fireflyV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes calldata data) external {
_universalSwapCallback(amount0Delta, amount1Delta, data);
}
function zebraV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes calldata data) external {
_universalSwapCallback(amount0Delta, amount1Delta, data);
}
function dragonswapV2SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes calldata data) external {
_universalSwapCallback(amount0Delta, amount1Delta, data);
}
function hyperswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes calldata data) external {
_universalSwapCallback(amount0Delta, amount1Delta, data);
}
}
Chain explorer6196msChain node77ms