Trading
- Trading Modes
- Assets & Contracts
- Trading Mechanics
- Risk Management
- Launchpad
- Trading View
MegaETH
Protocol Technical Reference
Contracts
GTERouter.sol
GTE Router Contract
ABI
Copy
Ask AI
[
{
"type": "constructor",
"inputs": [
{ "name": "weth_", "type": "address", "internalType": "address payable" },
{ "name": "launchpad_", "type": "address", "internalType": "address" },
{ "name": "clobFactory_", "type": "address", "internalType": "address" },
{ "name": "uniV2Router_", "type": "address", "internalType": "address" },
{ "name": "permit2_", "type": "address", "internalType": "address" }
],
"stateMutability": "nonpayable"
},
{ "type": "receive", "stateMutability": "payable" },
{
"type": "function",
"name": "ABI_VERSION",
"inputs": [],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "clobCancel",
"inputs": [
{ "name": "clob", "type": "address", "internalType": "contract ICLOB" },
{
"name": "args",
"type": "tuple",
"internalType": "struct ICLOB.CancelArgs",
"components": [
{
"name": "orderIds",
"type": "uint256[]",
"internalType": "uint256[]"
},
{
"name": "settlement",
"type": "uint8",
"internalType": "enum ICLOB.Settlement"
}
]
},
{ "name": "isUnwrapping", "type": "bool", "internalType": "bool" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "clobDeposit",
"inputs": [
{ "name": "token", "type": "address", "internalType": "address" },
{ "name": "amount", "type": "uint256", "internalType": "uint256" },
{ "name": "fromRouter", "type": "bool", "internalType": "bool" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "clobFactory",
"inputs": [],
"outputs": [
{ "name": "", "type": "address", "internalType": "contract ICLOBManager" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "clobPostFillOrder",
"inputs": [
{ "name": "clob", "type": "address", "internalType": "contract ICLOB" },
{
"name": "args",
"type": "tuple",
"internalType": "struct ICLOB.PostFillOrderArgs",
"components": [
{ "name": "amount", "type": "uint256", "internalType": "uint256" },
{
"name": "priceLimit",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "side", "type": "uint8", "internalType": "enum Side" },
{ "name": "amountIsBase", "type": "bool", "internalType": "bool" },
{
"name": "fillOrderType",
"type": "uint8",
"internalType": "enum ICLOB.FillOrderType"
},
{
"name": "settlement",
"type": "uint8",
"internalType": "enum ICLOB.Settlement"
}
]
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "clobPostLimitOrder",
"inputs": [
{ "name": "clob", "type": "address", "internalType": "contract ICLOB" },
{
"name": "args",
"type": "tuple",
"internalType": "struct ICLOB.PostLimitOrderArgs",
"components": [
{
"name": "amountInBase",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "price", "type": "uint256", "internalType": "uint256" },
{
"name": "cancelTimestamp",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "side", "type": "uint8", "internalType": "enum Side" },
{
"name": "clientOrderId",
"type": "uint96",
"internalType": "uint96"
},
{
"name": "limitOrderType",
"type": "uint8",
"internalType": "enum ICLOB.LimitOrderType"
},
{
"name": "settlement",
"type": "uint8",
"internalType": "enum ICLOB.Settlement"
}
]
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "clobWithdraw",
"inputs": [
{ "name": "token", "type": "address", "internalType": "address" },
{ "name": "amount", "type": "uint256", "internalType": "uint256" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "executeRoute",
"inputs": [
{ "name": "tokenIn", "type": "address", "internalType": "address" },
{ "name": "amountIn", "type": "uint256", "internalType": "uint256" },
{ "name": "amountOutMin", "type": "uint256", "internalType": "uint256" },
{ "name": "deadline", "type": "uint256", "internalType": "uint256" },
{ "name": "isUnwrapping", "type": "bool", "internalType": "bool" },
{
"name": "settlementIn",
"type": "uint8",
"internalType": "enum ICLOB.Settlement"
},
{ "name": "hops", "type": "bytes[]", "internalType": "bytes[]" }
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "launchpad",
"inputs": [],
"outputs": [
{ "name": "", "type": "address", "internalType": "contract ILaunchpad" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "launchpadBuy",
"inputs": [
{ "name": "launchToken", "type": "address", "internalType": "address" },
{ "name": "amountOutBase", "type": "uint256", "internalType": "uint256" },
{ "name": "quoteToken", "type": "address", "internalType": "address" },
{
"name": "worstAmountInQuote",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{ "name": "baseBought", "type": "uint256", "internalType": "uint256" },
{ "name": "quoteSpent", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "launchpadBuyPermit2",
"inputs": [
{ "name": "launchToken", "type": "address", "internalType": "address" },
{ "name": "amountOutBase", "type": "uint256", "internalType": "uint256" },
{ "name": "quoteToken", "type": "address", "internalType": "address" },
{
"name": "worstAmountInQuote",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "permitSingle",
"type": "tuple",
"internalType": "struct IAllowanceTransfer.PermitSingle",
"components": [
{
"name": "details",
"type": "tuple",
"internalType": "struct IAllowanceTransfer.PermitDetails",
"components": [
{ "name": "token", "type": "address", "internalType": "address" },
{
"name": "amount",
"type": "uint160",
"internalType": "uint160"
},
{
"name": "expiration",
"type": "uint48",
"internalType": "uint48"
},
{ "name": "nonce", "type": "uint48", "internalType": "uint48" }
]
},
{ "name": "spender", "type": "address", "internalType": "address" },
{
"name": "sigDeadline",
"type": "uint256",
"internalType": "uint256"
}
]
},
{ "name": "signature", "type": "bytes", "internalType": "bytes" }
],
"outputs": [
{ "name": "baseBought", "type": "uint256", "internalType": "uint256" },
{ "name": "quoteSpent", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "launchpadSell",
"inputs": [
{ "name": "launchToken", "type": "address", "internalType": "address" },
{ "name": "amountInBase", "type": "uint256", "internalType": "uint256" },
{
"name": "worstAmountOutQuote",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "unwrapEth", "type": "bool", "internalType": "bool" }
],
"outputs": [
{ "name": "baseSpent", "type": "uint256", "internalType": "uint256" },
{ "name": "quoteBought", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "launchpadSellPermit2",
"inputs": [
{ "name": "launchToken", "type": "address", "internalType": "address" },
{ "name": "amountInBase", "type": "uint256", "internalType": "uint256" },
{
"name": "worstAmountOutQuote",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "unwrapEth", "type": "bool", "internalType": "bool" },
{
"name": "permitSingle",
"type": "tuple",
"internalType": "struct IAllowanceTransfer.PermitSingle",
"components": [
{
"name": "details",
"type": "tuple",
"internalType": "struct IAllowanceTransfer.PermitDetails",
"components": [
{ "name": "token", "type": "address", "internalType": "address" },
{
"name": "amount",
"type": "uint160",
"internalType": "uint160"
},
{
"name": "expiration",
"type": "uint48",
"internalType": "uint48"
},
{ "name": "nonce", "type": "uint48", "internalType": "uint48" }
]
},
{ "name": "spender", "type": "address", "internalType": "address" },
{
"name": "sigDeadline",
"type": "uint256",
"internalType": "uint256"
}
]
},
{ "name": "signature", "type": "bytes", "internalType": "bytes" }
],
"outputs": [
{ "name": "baseSpent", "type": "uint256", "internalType": "uint256" },
{ "name": "quoteBought", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "permit2",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IAllowanceTransfer"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "uniV2Router",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IUniswapV2Router01"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "uniV2SwapExactTokensForTokens",
"inputs": [
{ "name": "amountIn", "type": "uint256", "internalType": "uint256" },
{ "name": "amountOutMin", "type": "uint256", "internalType": "uint256" },
{ "name": "path", "type": "address[]", "internalType": "address[]" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "weth",
"inputs": [],
"outputs": [
{ "name": "", "type": "address", "internalType": "contract WETH" }
],
"stateMutability": "view"
},
{ "type": "error", "name": "DeadlineExceeded", "inputs": [] },
{
"type": "error",
"name": "EthRefundFailed",
"inputs": [
{ "name": "returnData", "type": "bytes", "internalType": "bytes" }
]
},
{ "type": "error", "name": "InvalidCLOBAddress", "inputs": [] },
{ "type": "error", "name": "InvalidCLOBAmountSide", "inputs": [] },
{ "type": "error", "name": "InvalidCLOBSide", "inputs": [] },
{ "type": "error", "name": "InvalidSettlementForWrap", "inputs": [] },
{ "type": "error", "name": "InvalidTokenRoute", "inputs": [] },
{
"type": "error",
"name": "InvalidUnwrapAndSettlementPreference",
"inputs": []
},
{ "type": "error", "name": "InvalidWrapAmount", "inputs": [] },
{ "type": "error", "name": "Permit2TransferAmountTooLarge", "inputs": [] },
{ "type": "error", "name": "Reentrancy", "inputs": [] },
{ "type": "error", "name": "SlippageToleranceExceeded", "inputs": [] },
{ "type": "error", "name": "UnsupportedSelector", "inputs": [] },
{ "type": "error", "name": "UnwrapWethOnly", "inputs": [] },
{ "type": "error", "name": "ValueSentWithoutWrap", "inputs": [] }
]
On this page
Assistant
Responses are generated using AI and may contain mistakes.