Contract reference / ABI
PermanentMarketRouter
Complete compiled interface, including inherited methods.
Constructor 1
nonpayableconstructor(address, address, address)
{
"type": "constructor",
"inputs": [
{
"name": "poolManager_",
"type": "address",
"internalType": "contract IPoolManager"
},
{
"name": "shook_",
"type": "address",
"internalType": "contract IERC20"
},
{
"name": "liquidityVault_",
"type": "address",
"internalType": "contract ILockedLiquidityPool"
}
],
"stateMutability": "nonpayable"
}Functions 8
payablebuyExactETHIn(uint256, address, uint256)
{
"type": "function",
"name": "buyExactETHIn",
"inputs": [
{
"name": "minShookOut",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "receiver",
"type": "address",
"internalType": "address"
},
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "shookOut",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "payable"
}payablebuyExactSHOOKOut(uint256, uint256, address, uint256)
{
"type": "function",
"name": "buyExactSHOOKOut",
"inputs": [
{
"name": "shookOut",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxETHIn",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "receiver",
"type": "address",
"internalType": "address"
},
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "ethSpent",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "payable"
}viewpoolKey()
{
"type": "function",
"name": "poolKey",
"inputs": [],
"outputs": [
{
"name": "",
"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"
}
]
}
],
"stateMutability": "view"
}viewpoolManager()
{
"type": "function",
"name": "poolManager",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IPoolManager"
}
],
"stateMutability": "view"
}nonpayablesellExactETHOut(uint256, uint256, address, uint256)
{
"type": "function",
"name": "sellExactETHOut",
"inputs": [
{
"name": "ethOut",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxShookIn",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "receiver",
"type": "address",
"internalType": "address payable"
},
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "shookSpent",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
}nonpayablesellExactSHOOKIn(uint256, uint256, address, uint256)
{
"type": "function",
"name": "sellExactSHOOKIn",
"inputs": [
{
"name": "shookIn",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "minETHOut",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "receiver",
"type": "address",
"internalType": "address payable"
},
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "ethOut",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
}viewshook()
{
"type": "function",
"name": "shook",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IERC20"
}
],
"stateMutability": "view"
}nonpayableunlockCallback(bytes)
{
"type": "function",
"name": "unlockCallback",
"inputs": [
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"stateMutability": "nonpayable"
}Events 1
eventPermanentSwap(address, address, bool, bool, uint256, uint256)
{
"type": "event",
"name": "PermanentSwap",
"inputs": [
{
"name": "payer",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "receiver",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "isBuy",
"type": "bool",
"indexed": true,
"internalType": "bool"
},
{
"name": "exactInput",
"type": "bool",
"indexed": false,
"internalType": "bool"
},
{
"name": "shookAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "ethAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
}Errors 13
errorDeadlineExpired()
{
"type": "error",
"name": "DeadlineExpired",
"inputs": []
}errorInvalidDelta()
{
"type": "error",
"name": "InvalidDelta",
"inputs": []
}errorInvalidPool()
{
"type": "error",
"name": "InvalidPool",
"inputs": []
}errorNativeTransferFailed()
{
"type": "error",
"name": "NativeTransferFailed",
"inputs": []
}errorNativeTransferRejected()
{
"type": "error",
"name": "NativeTransferRejected",
"inputs": []
}errorOnlyPoolManager()
{
"type": "error",
"name": "OnlyPoolManager",
"inputs": []
}errorReentrancyGuardReentrantCall()
{
"type": "error",
"name": "ReentrancyGuardReentrantCall",
"inputs": []
}errorSafeCastOverflowedIntToUint(int256)
{
"type": "error",
"name": "SafeCastOverflowedIntToUint",
"inputs": [
{
"name": "value",
"type": "int256",
"internalType": "int256"
}
]
}errorSafeCastOverflowedUintToInt(uint256)
{
"type": "error",
"name": "SafeCastOverflowedUintToInt",
"inputs": [
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
]
}errorSafeERC20FailedOperation(address)
{
"type": "error",
"name": "SafeERC20FailedOperation",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
}errorSlippageExceeded()
{
"type": "error",
"name": "SlippageExceeded",
"inputs": []
}errorZeroAddress()
{
"type": "error",
"name": "ZeroAddress",
"inputs": []
}errorZeroAmount()
{
"type": "error",
"name": "ZeroAmount",
"inputs": []
}Receive 1
payablereceive()
{
"type": "receive",
"stateMutability": "payable"
}Source and provenance
Imported source files 27
Supporting contracts, interfaces, and libraries imported by the sources above, including their dependencies.
Source fingerprint: 3aa777a77b99551fc33720bc204c6478a4fb635d09b135d6a09dced54b06a637. Download manifest.