ethereum-function-signature-registry
ethereum-function-signature-registry copied to clipboard
contract_abi: Could not validate ABI
- OS: linux
- Solc version 0.8.26
What is wrong?
error:
contract_abi: Could not validate ABI
abi input:
[
{
"type": "constructor",
"inputs": [
{
"name": "controllerGasLimit",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "MAX_TICK_SPACING",
"inputs": [],
"outputs": [
{
"name": "",
"type": "int24",
"internalType": "int24"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MIN_TICK_SPACING",
"inputs": [],
"outputs": [
{
"name": "",
"type": "int24",
"internalType": "int24"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "allowance",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "approve",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "balanceOf",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "burn",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "collectProtocolFees",
"inputs": [
{
"name": "recipient",
"type": "address",
"internalType": "address"
},
{
"name": "currency",
"type": "address",
"internalType": "Currency"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "amountCollected",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "donate",
"inputs": [
{
"name": "key",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "amount0",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amount1",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "hookData",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "delta",
"type": "int256",
"internalType": "BalanceDelta"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "extsload",
"inputs": [
{
"name": "slot",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "extsload",
"inputs": [
{
"name": "startSlot",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "nSlots",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "extsload",
"inputs": [
{
"name": "slots",
"type": "bytes32[]",
"internalType": "bytes32[]"
}
],
"outputs": [
{
"name": "",
"type": "bytes32[]",
"internalType": "bytes32[]"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "exttload",
"inputs": [
{
"name": "slots",
"type": "bytes32[]",
"internalType": "bytes32[]"
}
],
"outputs": [
{
"name": "",
"type": "bytes32[]",
"internalType": "bytes32[]"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "exttload",
"inputs": [
{
"name": "slot",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "initialize",
"inputs": [
{
"name": "key",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "sqrtPriceX96",
"type": "uint160",
"internalType": "uint160"
},
{
"name": "hookData",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "tick",
"type": "int24",
"internalType": "int24"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "isOperator",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "mint",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "modifyLiquidity",
"inputs": [
{
"name": "key",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "params",
"type": "tuple",
"internalType": "struct IPoolManager.ModifyLiquidityParams",
"components": [
{
"name": "tickLower",
"type": "int24",
"internalType": "int24"
},
{
"name": "tickUpper",
"type": "int24",
"internalType": "int24"
},
{
"name": "liquidityDelta",
"type": "int256",
"internalType": "int256"
},
{
"name": "salt",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "hookData",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "callerDelta",
"type": "int256",
"internalType": "BalanceDelta"
},
{
"name": "feesAccrued",
"type": "int256",
"internalType": "BalanceDelta"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "owner",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "protocolFeeController",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IProtocolFeeController"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "protocolFeesAccrued",
"inputs": [
{
"name": "currency",
"type": "address",
"internalType": "Currency"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "setOperator",
"inputs": [
{
"name": "operator",
"type": "address",
"internalType": "address"
},
{
"name": "approved",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setProtocolFee",
"inputs": [
{
"name": "key",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "newProtocolFee",
"type": "uint24",
"internalType": "uint24"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setProtocolFeeController",
"inputs": [
{
"name": "controller",
"type": "address",
"internalType": "contract IProtocolFeeController"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "settle",
"inputs": [
{
"name": "currency",
"type": "address",
"internalType": "Currency"
}
],
"outputs": [
{
"name": "paid",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "supportsInterface",
"inputs": [
{
"name": "interfaceId",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "swap",
"inputs": [
{
"name": "key",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "params",
"type": "tuple",
"internalType": "struct IPoolManager.SwapParams",
"components": [
{
"name": "zeroForOne",
"type": "bool",
"internalType": "bool"
},
{
"name": "amountSpecified",
"type": "int256",
"internalType": "int256"
},
{
"name": "sqrtPriceLimitX96",
"type": "uint160",
"internalType": "uint160"
}
]
},
{
"name": "hookData",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "swapDelta",
"type": "int256",
"internalType": "BalanceDelta"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "sync",
"inputs": [
{
"name": "currency",
"type": "address",
"internalType": "Currency"
}
],
"outputs": [
{
"name": "balance",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "take",
"inputs": [
{
"name": "currency",
"type": "address",
"internalType": "Currency"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "transfer",
"inputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "transferFrom",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
},
{
"name": "receiver",
"type": "address",
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "transferOwnership",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "unlock",
"inputs": [
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "result",
"type": "bytes",
"internalType": "bytes"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "updateDynamicLPFee",
"inputs": [
{
"name": "key",
"type": "tuple",
"internalType": "struct PoolKey",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
]
},
{
"name": "newDynamicLPFee",
"type": "uint24",
"internalType": "uint24"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "event",
"name": "Approval",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Initialize",
"inputs": [
{
"name": "id",
"type": "bytes32",
"indexed": false,
"internalType": "PoolId"
},
{
"name": "currency0",
"type": "address",
"indexed": true,
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"indexed": true,
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"indexed": false,
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"indexed": false,
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"indexed": false,
"internalType": "contract IHooks"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ModifyLiquidity",
"inputs": [
{
"name": "id",
"type": "bytes32",
"indexed": true,
"internalType": "PoolId"
},
{
"name": "sender",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "tickLower",
"type": "int24",
"indexed": false,
"internalType": "int24"
},
{
"name": "tickUpper",
"type": "int24",
"indexed": false,
"internalType": "int24"
},
{
"name": "liquidityDelta",
"type": "int256",
"indexed": false,
"internalType": "int256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OperatorSet",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "approved",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OwnershipTransferred",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ProtocolFeeControllerUpdated",
"inputs": [
{
"name": "protocolFeeController",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ProtocolFeeUpdated",
"inputs": [
{
"name": "id",
"type": "bytes32",
"indexed": true,
"internalType": "PoolId"
},
{
"name": "protocolFee",
"type": "uint24",
"indexed": false,
"internalType": "uint24"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Swap",
"inputs": [
{
"name": "id",
"type": "bytes32",
"indexed": true,
"internalType": "PoolId"
},
{
"name": "sender",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "amount0",
"type": "int128",
"indexed": false,
"internalType": "int128"
},
{
"name": "amount1",
"type": "int128",
"indexed": false,
"internalType": "int128"
},
{
"name": "sqrtPriceX96",
"type": "uint160",
"indexed": false,
"internalType": "uint160"
},
{
"name": "liquidity",
"type": "uint128",
"indexed": false,
"internalType": "uint128"
},
{
"name": "tick",
"type": "int24",
"indexed": false,
"internalType": "int24"
},
{
"name": "fee",
"type": "uint24",
"indexed": false,
"internalType": "uint24"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Transfer",
"inputs": [
{
"name": "caller",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "error",
"name": "AlreadyUnlocked",
"inputs": []
},
{
"type": "error",
"name": "CurrenciesOutOfOrderOrEqual",
"inputs": []
},
{
"type": "error",
"name": "CurrencyNotSettled",
"inputs": []
},
{
"type": "error",
"name": "DelegateCallNotAllowed",
"inputs": []
},
{
"type": "error",
"name": "InvalidCaller",
"inputs": []
},
{
"type": "error",
"name": "InvalidProtocolFee",
"inputs": []
},
{
"type": "error",
"name": "ManagerLocked",
"inputs": []
},
{
"type": "error",
"name": "NonZeroNativeValue",
"inputs": []
},
{
"type": "error",
"name": "PoolNotInitialized",
"inputs": []
},
{
"type": "error",
"name": "ProtocolFeeCannotBeFetched",
"inputs": []
},
{
"type": "error",
"name": "SwapAmountCannotBeZero",
"inputs": []
},
{
"type": "error",
"name": "TickSpacingTooLarge",
"inputs": []
},
{
"type": "error",
"name": "TickSpacingTooSmall",
"inputs": []
},
{
"type": "error",
"name": "UnauthorizedDynamicLPFeeUpdate",
"inputs": []
}
]
How can it be fixed
Probably solc added some new fields or types to the abi format that need to be supported.