Files
tycho-protocol-sdk/substreams/ethereum-maverick-v2/abi/pool.json
2025-05-23 17:07:15 +02:00

1113 lines
29 KiB
JSON

[
{
"inputs": [
{
"internalType": "uint256",
"name": "binIdsLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountsLength",
"type": "uint256"
}
],
"name": "PoolBinIdsAmountsLengthMismatch",
"type": "error"
},
{
"inputs": [
{
"internalType": "int32",
"name": "startingTick",
"type": "int32"
}
],
"name": "PoolCurrentTickBeyondSwapLimit",
"type": "error"
},
{
"inputs": [],
"name": "PoolFunctionNotImplemented",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "deltaLpAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "accountBalance",
"type": "uint256"
}
],
"name": "PoolInsufficientBalance",
"type": "error"
},
{
"inputs": [],
"name": "PoolInvalidFee",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "kinds",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "kind",
"type": "uint256"
}
],
"name": "PoolKindNotSupported",
"type": "error"
},
{
"inputs": [],
"name": "PoolLocked",
"type": "error"
},
{
"inputs": [],
"name": "PoolMigrateBinFirst",
"type": "error"
},
{
"inputs": [],
"name": "PoolMinimumLiquidityNotMet",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "PoolReservesExceedMaximum",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender_",
"type": "address"
},
{
"internalType": "address",
"name": "accessor",
"type": "address"
}
],
"name": "PoolSenderNotAccessor",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender_",
"type": "address"
},
{
"internalType": "address",
"name": "accessor",
"type": "address"
}
],
"name": "PoolSenderNotFactory",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tick",
"type": "uint256"
}
],
"name": "PoolTickMaxExceeded",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "ticksLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountsLength",
"type": "uint256"
}
],
"name": "PoolTicksAmountsLengthMismatch",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
},
{
"internalType": "int256",
"name": "previousTick",
"type": "int256"
},
{
"internalType": "int256",
"name": "tick",
"type": "int256"
}
],
"name": "PoolTicksNotSorted",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "internalReserve",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokenBalance",
"type": "uint256"
},
{
"internalType": "contract IERC20",
"name": "token",
"type": "address"
}
],
"name": "PoolTokenNotSolvent",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "bits",
"type": "uint256"
}
],
"name": "PoolValueExceedsBits",
"type": "error"
},
{
"inputs": [],
"name": "PoolZeroLiquidityAdded",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "subaccount",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint8",
"name": "kind",
"type": "uint8"
},
{
"internalType": "int32[]",
"name": "ticks",
"type": "int32[]"
},
{
"internalType": "uint128[]",
"name": "amounts",
"type": "uint128[]"
}
],
"indexed": false,
"internalType": "struct IMaverickV2Pool.AddLiquidityParams",
"name": "params",
"type": "tuple"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokenAAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokenBAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint32[]",
"name": "binIds",
"type": "uint32[]"
}
],
"name": "PoolAddLiquidity",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint32",
"name": "binId",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint32",
"name": "maxRecursion",
"type": "uint32"
}
],
"name": "PoolMigrateBinsUpStack",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "subaccount",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint32[]",
"name": "binIds",
"type": "uint32[]"
},
{
"internalType": "uint128[]",
"name": "amounts",
"type": "uint128[]"
}
],
"indexed": false,
"internalType": "struct IMaverickV2Pool.RemoveLiquidityParams",
"name": "params",
"type": "tuple"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokenAOut",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokenBOut",
"type": "uint256"
}
],
"name": "PoolRemoveLiquidity",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "newFeeAIn",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newFeeBIn",
"type": "uint256"
}
],
"name": "PoolSetVariableFee",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"components": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "tokenAIn",
"type": "bool"
},
{
"internalType": "bool",
"name": "exactOutput",
"type": "bool"
},
{
"internalType": "int32",
"name": "tickLimit",
"type": "int32"
}
],
"indexed": false,
"internalType": "struct IMaverickV2Pool.SwapParams",
"name": "params",
"type": "tuple"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amountIn",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amountOut",
"type": "uint256"
}
],
"name": "PoolSwap",
"type": "event"
},
{
"inputs": [],
"name": "accessor",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "subaccount",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint8",
"name": "kind",
"type": "uint8"
},
{
"internalType": "int32[]",
"name": "ticks",
"type": "int32[]"
},
{
"internalType": "uint128[]",
"name": "amounts",
"type": "uint128[]"
}
],
"internalType": "struct IMaverickV2Pool.AddLiquidityParams",
"name": "params",
"type": "tuple"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "addLiquidity",
"outputs": [
{
"internalType": "uint256",
"name": "tokenAAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokenBAmount",
"type": "uint256"
},
{
"internalType": "uint32[]",
"name": "binIds",
"type": "uint32[]"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "subaccount",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "binId",
"type": "uint32"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint128",
"name": "lpToken",
"type": "uint128"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "int32",
"name": "tick",
"type": "int32"
},
{
"internalType": "uint256",
"name": "kind",
"type": "uint256"
}
],
"name": "binIdByTickKind",
"outputs": [
{
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "factory",
"outputs": [
{
"internalType": "contract IMaverickV2Factory",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "tokenAIn",
"type": "bool"
}
],
"name": "fee",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amountA",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountB",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "flashLoan",
"outputs": [
{
"internalType": "uint128",
"name": "lendingFeeA",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "lendingFeeB",
"type": "uint128"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "binId",
"type": "uint32"
}
],
"name": "getBin",
"outputs": [
{
"components": [
{
"internalType": "uint128",
"name": "mergeBinBalance",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "tickBalance",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "totalSupply",
"type": "uint128"
},
{
"internalType": "uint8",
"name": "kind",
"type": "uint8"
},
{
"internalType": "int32",
"name": "tick",
"type": "int32"
},
{
"internalType": "uint32",
"name": "mergeId",
"type": "uint32"
}
],
"internalType": "struct IMaverickV2Pool.BinState",
"name": "bin",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentTwa",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getState",
"outputs": [
{
"components": [
{
"internalType": "uint128",
"name": "reserveA",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "reserveB",
"type": "uint128"
},
{
"internalType": "int64",
"name": "lastTwaD8",
"type": "int64"
},
{
"internalType": "int64",
"name": "lastLogPriceD8",
"type": "int64"
},
{
"internalType": "uint40",
"name": "lastTimestamp",
"type": "uint40"
},
{
"internalType": "int32",
"name": "activeTick",
"type": "int32"
},
{
"internalType": "bool",
"name": "isLocked",
"type": "bool"
},
{
"internalType": "uint32",
"name": "binCounter",
"type": "uint32"
},
{
"internalType": "uint8",
"name": "protocolFeeRatioD3",
"type": "uint8"
}
],
"internalType": "struct IMaverickV2Pool.State",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "int32",
"name": "tick",
"type": "int32"
}
],
"name": "getTick",
"outputs": [
{
"components": [
{
"internalType": "uint128",
"name": "reserveA",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "reserveB",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "totalSupply",
"type": "uint128"
},
{
"internalType": "uint32[4]",
"name": "binIdsByTick",
"type": "uint32[4]"
}
],
"internalType": "struct IMaverickV2Pool.TickState",
"name": "tickState",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "kinds",
"outputs": [
{
"internalType": "uint8",
"name": "_kinds",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "lendingFeeRateD18",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "lookback",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "binId",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "maxRecursion",
"type": "uint32"
}
],
"name": "migrateBinUpStack",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "permissionedLiquidity",
"outputs": [
{
"internalType": "bool",
"name": "_permissionedLiquidity",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "permissionedPool",
"outputs": [
{
"internalType": "bool",
"name": "_permissionedPool",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "permissionedSwap",
"outputs": [
{
"internalType": "bool",
"name": "_permissionedSwap",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "protocolFeeA",
"outputs": [
{
"internalType": "uint128",
"name": "",
"type": "uint128"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "protocolFeeB",
"outputs": [
{
"internalType": "uint128",
"name": "",
"type": "uint128"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "subaccount",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint32[]",
"name": "binIds",
"type": "uint32[]"
},
{
"internalType": "uint128[]",
"name": "amounts",
"type": "uint128[]"
}
],
"internalType": "struct IMaverickV2Pool.RemoveLiquidityParams",
"name": "params",
"type": "tuple"
}
],
"name": "removeLiquidity",
"outputs": [
{
"internalType": "uint256",
"name": "tokenAOut",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokenBOut",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "newFeeAIn",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "newFeeBIn",
"type": "uint256"
}
],
"name": "setFee",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"components": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "tokenAIn",
"type": "bool"
},
{
"internalType": "bool",
"name": "exactOutput",
"type": "bool"
},
{
"internalType": "int32",
"name": "tickLimit",
"type": "int32"
}
],
"internalType": "struct IMaverickV2Pool.SwapParams",
"name": "params",
"type": "tuple"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "swap",
"outputs": [
{
"internalType": "uint256",
"name": "amountIn",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountOut",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "tickSpacing",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tokenA",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tokenAScale",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tokenB",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tokenBScale",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]