Contract reference / ABI
FormationMarket
Complete compiled interface, including inherited methods.
Constructor 1
nonpayableconstructor(address, address, address, address, address, uint8, bool, uint256)
{
"type": "constructor",
"inputs": [
{
"name": "shook_",
"type": "address",
"internalType": "contract IProtocolToken"
},
{
"name": "liquidityVault_",
"type": "address",
"internalType": "contract ILiquidityVault"
},
{
"name": "stakingVault_",
"type": "address",
"internalType": "contract IStakingVault"
},
{
"name": "reserveVault_",
"type": "address",
"internalType": "contract IReserveVault"
},
{
"name": "creator_",
"type": "address",
"internalType": "address payable"
},
{
"name": "economicProfile_",
"type": "uint8",
"internalType": "enum FormationMath.EconomicProfile"
},
{
"name": "acceleratedTiming_",
"type": "bool",
"internalType": "bool"
},
{
"name": "opensAt_",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
}Functions 52
viewacceleratedTiming()
{
"type": "function",
"name": "acceleratedTiming",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
}nonpayableacceptCreator()
{
"type": "function",
"name": "acceptCreator",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
}viewactivityCheckpoint()
{
"type": "function",
"name": "activityCheckpoint",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewactivityEpoch()
{
"type": "function",
"name": "activityEpoch",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewBUY_CREATOR_FEE_BPS()
{
"type": "function",
"name": "BUY_CREATOR_FEE_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewBUY_RESERVE_FEE_BPS()
{
"type": "function",
"name": "BUY_RESERVE_FEE_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}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"
},
{
"name": "spentEth",
"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": "spentEth",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "payable"
}viewCAPACITY()
{
"type": "function",
"name": "CAPACITY",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewcirculatingSupply()
{
"type": "function",
"name": "circulatingSupply",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}nonpayableclaimCreator()
{
"type": "function",
"name": "claimCreator",
"inputs": [],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
}viewcreator()
{
"type": "function",
"name": "creator",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address payable"
}
],
"stateMutability": "view"
}viewcreatorAccrued()
{
"type": "function",
"name": "creatorAccrued",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewcreatorClaimed()
{
"type": "function",
"name": "creatorClaimed",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewcreatorContributionAccrued()
{
"type": "function",
"name": "creatorContributionAccrued",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewcreatorTradingFeesAccrued()
{
"type": "function",
"name": "creatorTradingFeesAccrued",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewcurrentTarget()
{
"type": "function",
"name": "currentTarget",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}vieweconomicProfile()
{
"type": "function",
"name": "economicProfile",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "enum FormationMath.EconomicProfile"
}
],
"stateMutability": "view"
}viewFULL_ACTIVITY()
{
"type": "function",
"name": "FULL_ACTIVITY",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewgracePeriod()
{
"type": "function",
"name": "gracePeriod",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewgraduated()
{
"type": "function",
"name": "graduated",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
}viewhighWaterMark()
{
"type": "function",
"name": "highWaterMark",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewliquidityShookAt(uint256)
{
"type": "function",
"name": "liquidityShookAt",
"inputs": [
{
"name": "supply",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewliquidityVault()
{
"type": "function",
"name": "liquidityVault",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract ILiquidityVault"
}
],
"stateMutability": "view"
}viewmarginalReservePriceAt(uint256)
{
"type": "function",
"name": "marginalReservePriceAt",
"inputs": [
{
"name": "supply",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewMINIMUM_TARGET()
{
"type": "function",
"name": "MINIMUM_TARGET",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewnextTargetReviewAt()
{
"type": "function",
"name": "nextTargetReviewAt",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}payablenotifyPermanentCreatorFees()
{
"type": "function",
"name": "notifyPermanentCreatorFees",
"inputs": [],
"outputs": [],
"stateMutability": "payable"
}viewopensAt()
{
"type": "function",
"name": "opensAt",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewPARTIAL_ACTIVITY()
{
"type": "function",
"name": "PARTIAL_ACTIVITY",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewPARTIAL_TARGET_STEP()
{
"type": "function",
"name": "PARTIAL_TARGET_STEP",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewpendingCreator()
{
"type": "function",
"name": "pendingCreator",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address payable"
}
],
"stateMutability": "view"
}nonpayableproposeCreator(address)
{
"type": "function",
"name": "proposeCreator",
"inputs": [
{
"name": "newCreator",
"type": "address",
"internalType": "address payable"
}
],
"outputs": [],
"stateMutability": "nonpayable"
}viewquoteBuyExactInput(uint256)
{
"type": "function",
"name": "quoteBuyExactInput",
"inputs": [
{
"name": "totalEth",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "shookOut",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "spentEth",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewquoteBuyExactOutput(uint256)
{
"type": "function",
"name": "quoteBuyExactOutput",
"inputs": [
{
"name": "shookOut",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "totalEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "reserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "creatorContributionEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "reserveFeeEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "creatorTradingFeeEth",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewquoteSellExactInput(uint256)
{
"type": "function",
"name": "quoteSellExactInput",
"inputs": [
{
"name": "shookIn",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "ethOut",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewquoteSellExactOutput(uint256)
{
"type": "function",
"name": "quoteSellExactOutput",
"inputs": [
{
"name": "ethOut",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "shookIn",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "grossCurveValueEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "creatorContributionEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "reserveFeeEth",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewRESERVE_NATIVE_FEES_STREAM()
{
"type": "function",
"name": "RESERVE_NATIVE_FEES_STREAM",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
}viewRESERVE_SURPLUS_STREAM()
{
"type": "function",
"name": "RESERVE_SURPLUS_STREAM",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
}viewreserveAt(uint256)
{
"type": "function",
"name": "reserveAt",
"inputs": [
{
"name": "supply",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewreserveFeesRouted()
{
"type": "function",
"name": "reserveFeesRouted",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewreservePrincipal()
{
"type": "function",
"name": "reservePrincipal",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewreserveVault()
{
"type": "function",
"name": "reserveVault",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IReserveVault"
}
],
"stateMutability": "view"
}viewSELL_CREATOR_CONTRIBUTION_BPS()
{
"type": "function",
"name": "SELL_CREATOR_CONTRIBUTION_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewSELL_RESERVE_FEE_BPS()
{
"type": "function",
"name": "SELL_RESERVE_FEE_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"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": "shookIn",
"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 IProtocolToken"
}
],
"stateMutability": "view"
}viewstakingVault()
{
"type": "function",
"name": "stakingVault",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IStakingVault"
}
],
"stateMutability": "view"
}nonpayablesyncFormation()
{
"type": "function",
"name": "syncFormation",
"inputs": [],
"outputs": [
{
"name": "target",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "completed",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
}viewTARGET_STEP()
{
"type": "function",
"name": "TARGET_STEP",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}viewtargetSupply()
{
"type": "function",
"name": "targetSupply",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}Events 10
eventCreatorClaimed(address, uint256)
{
"type": "event",
"name": "CreatorClaimed",
"inputs": [
{
"name": "receiver",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
}eventCreatorContributionAccrued(uint256, uint256)
{
"type": "event",
"name": "CreatorContributionAccrued",
"inputs": [
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "totalAccrued",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
}eventCreatorTradingFeeAccrued(uint256, uint256)
{
"type": "event",
"name": "CreatorTradingFeeAccrued",
"inputs": [
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "totalAccrued",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
}eventCreatorTransferProposed(address, address)
{
"type": "event",
"name": "CreatorTransferProposed",
"inputs": [
{
"name": "creator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "pendingCreator",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
}eventCreatorTransferred(address, address)
{
"type": "event",
"name": "CreatorTransferred",
"inputs": [
{
"name": "previousCreator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "creator",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
}eventFormationBuy(address, address, uint256, uint256, uint256, uint256, uint256, uint256, uint256)
{
"type": "event",
"name": "FormationBuy",
"inputs": [
{
"name": "payer",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "receiver",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "shookOut",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "totalEth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "reserveEth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "creatorContributionEth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "reserveFeeEth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "creatorTradingFeeEth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "circulatingSupply",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
}eventFormationGraduated(uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256)
{
"type": "event",
"name": "FormationGraduated",
"inputs": [
{
"name": "circulatingSupply",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "targetSupply",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "reserveEth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "liquidityShook",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "formationSurplusShook",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "liquiditySurplusShook",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "stakingRewardAllocation",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "timestamp",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
}eventFormationSell(address, address, uint256, uint256, uint256, uint256, uint256, uint256)
{
"type": "event",
"name": "FormationSell",
"inputs": [
{
"name": "seller",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "receiver",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "shookIn",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "grossCurveValueEth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "creatorContributionEth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "reserveFeeEth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "netEthOut",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "circulatingSupply",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
}eventFormationTargetUpdated(uint256, uint256, uint256, uint256, uint256)
{
"type": "event",
"name": "FormationTargetUpdated",
"inputs": [
{
"name": "previousTarget",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newTarget",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "reviewedEpochs",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "highWaterProgress",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "nextReviewAt",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
}eventReserveFeeRouted(uint256, uint256)
{
"type": "event",
"name": "ReserveFeeRouted",
"inputs": [
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "totalRouted",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
}Errors 20
errorDeadlineExpired()
{
"type": "error",
"name": "DeadlineExpired",
"inputs": []
}errorFormationComplete()
{
"type": "error",
"name": "FormationComplete",
"inputs": []
}errorFormationIncomplete()
{
"type": "error",
"name": "FormationIncomplete",
"inputs": []
}errorFormationNotOpen()
{
"type": "error",
"name": "FormationNotOpen",
"inputs": []
}errorFormationReady()
{
"type": "error",
"name": "FormationReady",
"inputs": []
}errorIncorrectToken()
{
"type": "error",
"name": "IncorrectToken",
"inputs": []
}errorInsufficientInventory()
{
"type": "error",
"name": "InsufficientInventory",
"inputs": []
}errorInvalidConfiguration()
{
"type": "error",
"name": "InvalidConfiguration",
"inputs": []
}errorInvalidCreator()
{
"type": "error",
"name": "InvalidCreator",
"inputs": []
}errorNativeTransferFailed()
{
"type": "error",
"name": "NativeTransferFailed",
"inputs": []
}errorOnlyCreator()
{
"type": "error",
"name": "OnlyCreator",
"inputs": []
}errorOnlyLiquidityVault()
{
"type": "error",
"name": "OnlyLiquidityVault",
"inputs": []
}errorOnlyPendingCreator()
{
"type": "error",
"name": "OnlyPendingCreator",
"inputs": []
}errorReentrancyGuardReentrantCall()
{
"type": "error",
"name": "ReentrancyGuardReentrantCall",
"inputs": []
}errorReserveInvariant()
{
"type": "error",
"name": "ReserveInvariant",
"inputs": []
}errorSafeERC20FailedOperation(address)
{
"type": "error",
"name": "SafeERC20FailedOperation",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
}errorSlippageExceeded()
{
"type": "error",
"name": "SlippageExceeded",
"inputs": []
}errorSupplyOutsideCurve()
{
"type": "error",
"name": "SupplyOutsideCurve",
"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 16
Supporting contracts, interfaces, and libraries imported by the sources above, including their dependencies.
Source fingerprint: 3aa777a77b99551fc33720bc204c6478a4fb635d09b135d6a09dced54b06a637. Download manifest.