Trading
- Trading Modes
- Assets & Contracts
- Trading Mechanics
- Risk Management
- Launchpad
- Trading View
MegaETH
Protocol Technical Reference
Contracts
Launchpad.sol
GTE Launchpad Contract
ABI
Copy
Ask AI
[
{
"type": "constructor",
"inputs": [
{ "name": "uniV2Router_", "type": "address", "internalType": "address" },
{ "name": "gteRouter_", "type": "address", "internalType": "address" },
{ "name": "clobFactory_", "type": "address", "internalType": "address" }
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "ABI_VERSION",
"inputs": [],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "BONDING_SUPPLY",
"inputs": [],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "TOTAL_SUPPLY",
"inputs": [],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "__unallocated_slot_0",
"inputs": [],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "__unallocated_slot_1",
"inputs": [],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "bondingCurve",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract ISimpleBondingCurve"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "buy",
"inputs": [
{ "name": "account", "type": "address", "internalType": "address" },
{ "name": "token", "type": "address", "internalType": "address" },
{ "name": "recipient", "type": "address", "internalType": "address" },
{ "name": "amountOutBase", "type": "uint256", "internalType": "uint256" },
{
"name": "maxAmountInQuote",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "amountOutBaseActual",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountInQuoteActual",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "cancelOwnershipHandover",
"inputs": [],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "completeOwnershipHandover",
"inputs": [
{ "name": "pendingOwner", "type": "address", "internalType": "address" }
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "eventNonce",
"inputs": [],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "gteRouter",
"inputs": [],
"outputs": [{ "name": "", "type": "address", "internalType": "address" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "initialize",
"inputs": [
{ "name": "owner_", "type": "address", "internalType": "address" },
{ "name": "quoteAsset_", "type": "address", "internalType": "address" },
{ "name": "bondingCurve_", "type": "address", "internalType": "address" },
{ "name": "virtualBase_", "type": "uint256", "internalType": "uint256" },
{ "name": "virtualQuote_", "type": "uint256", "internalType": "uint256" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "launch",
"inputs": [
{ "name": "name", "type": "string", "internalType": "string" },
{ "name": "symbol", "type": "string", "internalType": "string" },
{ "name": "mediaURI", "type": "string", "internalType": "string" }
],
"outputs": [
{ "name": "token", "type": "address", "internalType": "address" }
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "launchFee",
"inputs": [],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "launches",
"inputs": [
{ "name": "launchToken", "type": "address", "internalType": "address" }
],
"outputs": [
{
"name": "",
"type": "tuple",
"internalType": "struct SimpleLaunchpad.LaunchData",
"components": [
{ "name": "active", "type": "bool", "internalType": "bool" },
{
"name": "bondingCurve",
"type": "address",
"internalType": "contract ISimpleBondingCurve"
},
{ "name": "quote", "type": "address", "internalType": "address" },
{
"name": "__unallocated_field_0",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "__unallocated_field_1",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "baseSoldFromCurve",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "quoteBoughtByCurve",
"type": "uint256",
"internalType": "uint256"
}
]
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "owner",
"inputs": [],
"outputs": [
{ "name": "result", "type": "address", "internalType": "address" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "ownershipHandoverExpiresAt",
"inputs": [
{ "name": "pendingOwner", "type": "address", "internalType": "address" }
],
"outputs": [
{ "name": "result", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "pullFees",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "quoteAsset",
"inputs": [],
"outputs": [
{ "name": "", "type": "address", "internalType": "contract LaunchToken" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "quoteBaseForQuote",
"inputs": [
{ "name": "token", "type": "address", "internalType": "address" },
{ "name": "quoteAmount", "type": "uint256", "internalType": "uint256" },
{ "name": "isBuy", "type": "bool", "internalType": "bool" }
],
"outputs": [
{ "name": "baseAmount", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "quoteQuoteForBase",
"inputs": [
{ "name": "token", "type": "address", "internalType": "address" },
{ "name": "baseAmount", "type": "uint256", "internalType": "uint256" },
{ "name": "isBuy", "type": "bool", "internalType": "bool" }
],
"outputs": [
{ "name": "quoteAmount", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "renounceOwnership",
"inputs": [],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "requestOwnershipHandover",
"inputs": [],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "sell",
"inputs": [
{ "name": "account", "type": "address", "internalType": "address" },
{ "name": "token", "type": "address", "internalType": "address" },
{ "name": "recipient", "type": "address", "internalType": "address" },
{ "name": "amountInBase", "type": "uint256", "internalType": "uint256" },
{
"name": "minAmountOutQuote",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "amountInBaseActual",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountOutQuoteActual",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setVirtualReserves",
"inputs": [
{ "name": "virtualBase", "type": "uint256", "internalType": "uint256" },
{ "name": "virtualQuote", "type": "uint256", "internalType": "uint256" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "transferOwnership",
"inputs": [
{ "name": "newOwner", "type": "address", "internalType": "address" }
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "uniV2Router",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IUniswapV2RouterMinimal"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "updateBondingCurve",
"inputs": [
{
"name": "newBondingCurve",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "updateInitCodeHash",
"inputs": [{ "name": "newHash", "type": "bytes", "internalType": "bytes" }],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "updateLaunchFee",
"inputs": [
{ "name": "newLaunchFee", "type": "uint256", "internalType": "uint256" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "updateQuoteAsset",
"inputs": [
{ "name": "newQuoteAsset", "type": "address", "internalType": "address" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "event",
"name": "BondingCurveUpdated",
"inputs": [
{
"name": "oldCurve",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newCurve",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "eventNonce",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "BondingLocked",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "pairAddress",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "eventNonce",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Initialized",
"inputs": [
{
"name": "version",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "LaunchpadDeployed",
"inputs": [
{
"name": "quoteAsset",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "bondingCurve",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "router",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "eventNonce",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OwnershipHandoverCanceled",
"inputs": [
{
"name": "pendingOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OwnershipHandoverRequested",
"inputs": [
{
"name": "pendingOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OwnershipTransferred",
"inputs": [
{
"name": "oldOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "QuoteAssetUpdated",
"inputs": [
{
"name": "oldQuoteToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newQuoteToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newQuoteTokenDecimals",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "eventNonce",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Swap",
"inputs": [
{
"name": "buyer",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "baseDelta",
"type": "int256",
"indexed": false,
"internalType": "int256"
},
{
"name": "quoteDelta",
"type": "int256",
"indexed": false,
"internalType": "int256"
},
{
"name": "nextAmountSold",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newPrice",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "eventNonce",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "TokenLaunched",
"inputs": [
{
"name": "dev",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "quoteAsset",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "bondingCurve",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "timestamp",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "quoteScaling",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "eventNonce",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{ "type": "error", "name": "AlreadyInitialized", "inputs": [] },
{ "type": "error", "name": "BadLaunchFee", "inputs": [] },
{ "type": "error", "name": "BondingInactive", "inputs": [] },
{ "type": "error", "name": "DustAttackInvalid", "inputs": [] },
{ "type": "error", "name": "ETHTransferFailed", "inputs": [] },
{ "type": "error", "name": "InsufficientBaseSold", "inputs": [] },
{ "type": "error", "name": "InvalidCurve", "inputs": [] },
{ "type": "error", "name": "InvalidInitialization", "inputs": [] },
{ "type": "error", "name": "InvalidQuoteAsset", "inputs": [] },
{ "type": "error", "name": "InvalidQuoteScaling", "inputs": [] },
{ "type": "error", "name": "InvalidRecipient", "inputs": [] },
{ "type": "error", "name": "MissingCredits", "inputs": [] },
{ "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] },
{ "type": "error", "name": "NoHandoverRequest", "inputs": [] },
{ "type": "error", "name": "NotInitializing", "inputs": [] },
{ "type": "error", "name": "OperatorDoesNotHaveRole", "inputs": [] },
{ "type": "error", "name": "Reentrancy", "inputs": [] },
{ "type": "error", "name": "SlippageToleranceExceeded", "inputs": [] },
{ "type": "error", "name": "Unauthorized", "inputs": [] },
{ "type": "error", "name": "UninitializedCurve", "inputs": [] },
{ "type": "error", "name": "UninitializedQuote", "inputs": [] }
]
On this page
Assistant
Responses are generated using AI and may contain mistakes.