Skip to content

Instantly share code, notes, and snippets.

@dalechyn
Last active March 22, 2025 12:53
Show Gist options
  • Select an option

  • Save dalechyn/9f96382e295b2d43b5975dab4fb8ce94 to your computer and use it in GitHub Desktop.

Select an option

Save dalechyn/9f96382e295b2d43b5975dab4fb8ce94 to your computer and use it in GitHub Desktop.
abi.ts
const abi = [
{
"type": "constructor",
"inputs": [
{
"name": "_router",
"type": "address",
"internalType": "contract IUniswapV2Router02"
},
{
"name": "_weth9",
"type": "address",
"internalType": "address"
},
{
"name": "_uniswapV4PositionManager",
"type": "address",
"internalType": "contract IPositionManager"
},
{
"name": "_permit2",
"type": "address",
"internalType": "contract IAllowanceTransfer"
},
{
"name": "_uniswapV3Factory",
"type": "address",
"internalType": "contract IUniswapV3Factory"
},
{
"name": "_uniswapV3PositionManager",
"type": "address",
"internalType": "contract INonfungiblePositionManager"
},
{
"name": "_beliefUniswapV3LPManager",
"type": "address",
"internalType": "contract BeliefUniswapV3LPManager"
},
{
"name": "_beliefUniswapV4LPManager",
"type": "address",
"internalType": "contract BeliefUniswapV4LPManager"
}
],
"stateMutability": "nonpayable"
},
{
"type": "receive",
"stateMutability": "payable"
},
{
"type": "function",
"name": "ANTI_SPIPE_TYPEHASH",
"inputs": [
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MAX_SUPPLY",
"inputs": [
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "WETH9",
"inputs": [
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "__BeliefProtocol_init",
"inputs": [
{
"name": "_owner",
"type": "address",
"internalType": "address"
},
{
"name": "_proxyAdminAddress",
"type": "address",
"internalType": "address"
},
{
"name": "_airdopControllerAddress",
"type": "address",
"internalType": "address"
},
{
"name": "_transactionControllerAddress",
"type": "address",
"internalType": "address"
},
{
"name": "_claimableRewardsControllerAddress",
"type": "address",
"internalType": "address"
},
{
"name": "_initialProtocolFeePercent",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_initialProtocolFeeDestination",
"type": "address",
"internalType": "address"
},
{
"name": "_initialAffiliateFeePercent",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_referralControllerAddress",
"type": "address",
"internalType": "address"
},
{
"name": "_seederAddress",
"type": "address",
"internalType": "address"
},
{
"name": "_referrerFees",
"type": "tuple",
"internalType": "struct Referrals.ReferrerFees",
"components": [
{
"name": "referrerFee",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "referrerOfReferrerFee",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "premiumReferrerFee",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "premiumReferrerOfReferrerFee",
"type": "uint16",
"internalType": "uint16"
}
]
},
{
"name": "_beliefDeployer",
"type": "address",
"internalType": "address"
}
],
"outputs": [
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "__BeliefProtocol_reinitialize_external_deployer",
"inputs": [
{
"name": "_beliefDeployer",
"type": "address",
"internalType": "address"
}
],
"outputs": [
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "__recoverySeedUniswapV3",
"inputs": [
{
"name": "_params",
"type": "tuple",
"internalType": "struct IBeliefProtocol.SeedParams",
"components": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "lpRewardsDonation",
"type": "tuple",
"internalType": "struct LPRewardsDonation",
"components": [
{
"name": "destination",
"type": "address",
"internalType": "address"
},
{
"name": "percentage",
"type": "uint24",
"internalType": "uint24"
}
]
},
{
"name": "beneficiaries",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "shares",
"type": "uint24[]",
"internalType": "uint24[]"
},
{
"name": "hookData",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "lockerData",
"type": "bytes",
"internalType": "bytes"
}
]
},
{
"name": "_lpFee",
"type": "uint24",
"internalType": "uint24"
}
],
"outputs": [
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "beliefUniswapV3LPManager",
"inputs": [
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract BeliefUniswapV3LPManager"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "beliefUniswapV4LPManager",
"inputs": [
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract BeliefUniswapV4LPManager"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "burn",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "buyExactTokensForEth",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "amountOutToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "affiliate",
"type": "address",
"internalType": "address"
},
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "antiSnipeNonce",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "v",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "r",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "s",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "buyTokensForExactEth",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "amountOutTokenMin",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "affiliate",
"type": "address",
"internalType": "address"
},
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "antiSnipeNonce",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "v",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "r",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "s",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
],
"stateMutability": "payable"
},
{
"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": "createAndBuyETHForExactTokens",
"inputs": [
{
"name": "salt_",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "tokenAddress_",
"type": "address",
"internalType": "address"
},
{
"name": "tokenCreator_",
"type": "address",
"internalType": "address"
},
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "creationParameters_",
"type": "tuple",
"internalType": "struct Token.CreationParameters",
"components": [
{
"name": "initialVirtualReserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "initialVirtualReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountToAddLiquidityEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountToAddLiquidityToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "airdropWaves",
"type": "tuple[]",
"internalType": "struct Token.MintableData[]",
"components": [
{
"name": "id",
"type": "string",
"internalType": "string"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "____UNUSED_SLOT",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "postUpgradeCreationParameters_",
"type": "tuple",
"internalType": "struct Token.PostUpgradeCreationParameters",
"components": [
{
"name": "v1",
"type": "tuple",
"internalType": "struct Token.CreationParametersV1Upgrade",
"components": [
{
"name": "rewardsMerkleRoot",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amountToDistributeClaimableRewards",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "v2",
"type": "tuple",
"internalType": "struct Token.CreationParametersV2Upgrade",
"components": [
{
"name": "enableSniping",
"type": "bool",
"internalType": "bool"
},
{
"name": "maxAmountTotalBuyToken",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "v3",
"type": "tuple",
"internalType": "struct Token.CreationParametersV3Upgrade",
"components": [
{
"name": "targetDex",
"type": "uint8",
"internalType": "enum Token.TargetDex"
},
{
"name": "uniswapV4Hook",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "locker",
"type": "address",
"internalType": "contract IBeliefCurveTokensLocker"
},
{
"name": "initialTokenSupply",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "amountOutToken_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "v",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "r",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "s",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "createAndBuyExactETHForTokens",
"inputs": [
{
"name": "salt_",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "tokenAddress_",
"type": "address",
"internalType": "address"
},
{
"name": "tokenCreator_",
"type": "address",
"internalType": "address"
},
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "creationParameters_",
"type": "tuple",
"internalType": "struct Token.CreationParameters",
"components": [
{
"name": "initialVirtualReserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "initialVirtualReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountToAddLiquidityEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountToAddLiquidityToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "airdropWaves",
"type": "tuple[]",
"internalType": "struct Token.MintableData[]",
"components": [
{
"name": "id",
"type": "string",
"internalType": "string"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "____UNUSED_SLOT",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "postUpgradeCreationParameters_",
"type": "tuple",
"internalType": "struct Token.PostUpgradeCreationParameters",
"components": [
{
"name": "v1",
"type": "tuple",
"internalType": "struct Token.CreationParametersV1Upgrade",
"components": [
{
"name": "rewardsMerkleRoot",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amountToDistributeClaimableRewards",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "v2",
"type": "tuple",
"internalType": "struct Token.CreationParametersV2Upgrade",
"components": [
{
"name": "enableSniping",
"type": "bool",
"internalType": "bool"
},
{
"name": "maxAmountTotalBuyToken",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "v3",
"type": "tuple",
"internalType": "struct Token.CreationParametersV3Upgrade",
"components": [
{
"name": "targetDex",
"type": "uint8",
"internalType": "enum Token.TargetDex"
},
{
"name": "uniswapV4Hook",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "locker",
"type": "address",
"internalType": "contract IBeliefCurveTokensLocker"
},
{
"name": "initialTokenSupply",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "amountOutTokenMin_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "v",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "r",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "s",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "createToken",
"inputs": [
{
"name": "salt_",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "creator_",
"type": "address",
"internalType": "address"
},
{
"name": "parameters_",
"type": "tuple",
"internalType": "struct Token.CreationParameters",
"components": [
{
"name": "initialVirtualReserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "initialVirtualReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountToAddLiquidityEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountToAddLiquidityToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "airdropWaves",
"type": "tuple[]",
"internalType": "struct Token.MintableData[]",
"components": [
{
"name": "id",
"type": "string",
"internalType": "string"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "____UNUSED_SLOT",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "postUpgradeParameters_",
"type": "tuple",
"internalType": "struct Token.PostUpgradeCreationParameters",
"components": [
{
"name": "v1",
"type": "tuple",
"internalType": "struct Token.CreationParametersV1Upgrade",
"components": [
{
"name": "rewardsMerkleRoot",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amountToDistributeClaimableRewards",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "v2",
"type": "tuple",
"internalType": "struct Token.CreationParametersV2Upgrade",
"components": [
{
"name": "enableSniping",
"type": "bool",
"internalType": "bool"
},
{
"name": "maxAmountTotalBuyToken",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "v3",
"type": "tuple",
"internalType": "struct Token.CreationParametersV3Upgrade",
"components": [
{
"name": "targetDex",
"type": "uint8",
"internalType": "enum Token.TargetDex"
},
{
"name": "uniswapV4Hook",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "locker",
"type": "address",
"internalType": "contract IBeliefCurveTokensLocker"
},
{
"name": "initialTokenSupply",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "expectedTokenAddress_",
"type": "address",
"internalType": "address"
},
{
"name": "v",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "r",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "s",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "eip712Domain",
"inputs": [
],
"outputs": [
{
"name": "fields",
"type": "bytes1",
"internalType": "bytes1"
},
{
"name": "name",
"type": "string",
"internalType": "string"
},
{
"name": "version",
"type": "string",
"internalType": "string"
},
{
"name": "chainId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "verifyingContract",
"type": "address",
"internalType": "address"
},
{
"name": "salt",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "extensions",
"type": "uint256[]",
"internalType": "uint256[]"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getBuyAmountInEth",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "amountOutToken",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "amountInEth",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getBuyAmountOutToken",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "amountInEth",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "amountOutToken",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getEIP712DomainSeparator",
"inputs": [
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getFee",
"inputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getImplicitFee",
"inputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getInvertedFee",
"inputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getReferrer",
"inputs": [
{
"name": "user_",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "tuple",
"internalType": "struct Referrals.Referrer",
"components": [
{
"name": "user",
"type": "address",
"internalType": "address"
},
{
"name": "isPremium",
"type": "bytes1",
"internalType": "bytes1"
}
]
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getSellAmountInToken",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "amountOutEth",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "amountInToken",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getSellAmountOutEth",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "amountInToken",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "amountOutEth",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getTokenBoughtAmount",
"inputs": [
{
"name": "token_",
"type": "address",
"internalType": "address"
},
{
"name": "user_",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getTokenData",
"inputs": [
{
"name": "_token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "tuple",
"internalType": "struct Token.Data",
"components": [
{
"name": "creationParameters",
"type": "tuple",
"internalType": "struct Token.CreationParameters",
"components": [
{
"name": "initialVirtualReserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "initialVirtualReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountToAddLiquidityEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountToAddLiquidityToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "airdropWaves",
"type": "tuple[]",
"internalType": "struct Token.MintableData[]",
"components": [
{
"name": "id",
"type": "string",
"internalType": "string"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "____UNUSED_SLOT",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "state",
"type": "tuple",
"internalType": "struct Token.State",
"components": [
{
"name": "virtualReserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "virtualReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realReserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "locked",
"type": "bool",
"internalType": "bool"
},
{
"name": "poolAddress",
"type": "address",
"internalType": "address"
},
{
"name": "usesConcentratedLiquidity",
"type": "bool",
"internalType": "bool"
}
]
},
{
"name": "postUpgradeCreationParameters",
"type": "tuple",
"internalType": "struct Token.PostUpgradeCreationParameters",
"components": [
{
"name": "v1",
"type": "tuple",
"internalType": "struct Token.CreationParametersV1Upgrade",
"components": [
{
"name": "rewardsMerkleRoot",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amountToDistributeClaimableRewards",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "v2",
"type": "tuple",
"internalType": "struct Token.CreationParametersV2Upgrade",
"components": [
{
"name": "enableSniping",
"type": "bool",
"internalType": "bool"
},
{
"name": "maxAmountTotalBuyToken",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "v3",
"type": "tuple",
"internalType": "struct Token.CreationParametersV3Upgrade",
"components": [
{
"name": "targetDex",
"type": "uint8",
"internalType": "enum Token.TargetDex"
},
{
"name": "uniswapV4Hook",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "locker",
"type": "address",
"internalType": "contract IBeliefCurveTokensLocker"
},
{
"name": "initialTokenSupply",
"type": "uint256",
"internalType": "uint256"
}
]
}
]
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "grantRoles",
"inputs": [
{
"name": "user",
"type": "address",
"internalType": "address"
},
{
"name": "roles",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "hasAllRoles",
"inputs": [
{
"name": "user",
"type": "address",
"internalType": "address"
},
{
"name": "roles",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "hasAnyRole",
"inputs": [
{
"name": "user",
"type": "address",
"internalType": "address"
},
{
"name": "roles",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "isAirdropController",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "isClaimableRewardsController",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "isTokenExists",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"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": "permit2",
"inputs": [
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IAllowanceTransfer"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "positionManager",
"inputs": [
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IPositionManager"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "predictDeterministicTokenAddress",
"inputs": [
{
"name": "salt_",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "protocolFeePercent",
"inputs": [
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "proxiableUUID",
"inputs": [
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "renounceOwnership",
"inputs": [
],
"outputs": [
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "renounceRoles",
"inputs": [
{
"name": "roles",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "requestOwnershipHandover",
"inputs": [
],
"outputs": [
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "revokeRoles",
"inputs": [
{
"name": "user",
"type": "address",
"internalType": "address"
},
{
"name": "roles",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "rolesOf",
"inputs": [
{
"name": "user",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "roles",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "router",
"inputs": [
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IUniswapV2Router02"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "seed",
"inputs": [
{
"name": "_params",
"type": "tuple",
"internalType": "struct IBeliefProtocol.SeedParams",
"components": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "lpRewardsDonation",
"type": "tuple",
"internalType": "struct LPRewardsDonation",
"components": [
{
"name": "destination",
"type": "address",
"internalType": "address"
},
{
"name": "percentage",
"type": "uint24",
"internalType": "uint24"
}
]
},
{
"name": "beneficiaries",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "shares",
"type": "uint24[]",
"internalType": "uint24[]"
},
{
"name": "hookData",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "lockerData",
"type": "bytes",
"internalType": "bytes"
}
]
}
],
"outputs": [
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "sellExactTokensForEth",
"inputs": [
{
"name": "token_",
"type": "address",
"internalType": "address"
},
{
"name": "amountInToken_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountOutMinEth_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "affiliate_",
"type": "address",
"internalType": "address"
},
{
"name": "deadline_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "antiSnipeNonce_",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "v",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "r",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "s",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "sellTokensForExactEth",
"inputs": [
{
"name": "token_",
"type": "address",
"internalType": "address"
},
{
"name": "amountOutEth_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountInTokenMax_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "affiliate_",
"type": "address",
"internalType": "address"
},
{
"name": "deadline_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "antiSnipeNonce_",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "v",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "r",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "s",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setAffiliateFeePercent",
"inputs": [
{
"name": "feePercent",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setFeeDestination",
"inputs": [
{
"name": "feeDestination",
"type": "address",
"internalType": "address"
}
],
"outputs": [
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setProtocolFeePercent",
"inputs": [
{
"name": "feePercent",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setReferrer",
"inputs": [
{
"name": "user_",
"type": "address",
"internalType": "address"
},
{
"name": "referrer_",
"type": "address",
"internalType": "address"
},
{
"name": "isPremium_",
"type": "bytes1",
"internalType": "bytes1"
}
],
"outputs": [
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setReferrerFees",
"inputs": [
{
"name": "referrerFees_",
"type": "tuple",
"internalType": "struct Referrals.ReferrerFees",
"components": [
{
"name": "referrerFee",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "referrerOfReferrerFee",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "premiumReferrerFee",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "premiumReferrerOfReferrerFee",
"type": "uint16",
"internalType": "uint16"
}
]
}
],
"outputs": [
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "transferOwnership",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "uniswapV3Factory",
"inputs": [
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IUniswapV3Factory"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "uniswapV3PositionManager",
"inputs": [
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract INonfungiblePositionManager"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "upgradeToAndCall",
"inputs": [
{
"name": "newImplementation",
"type": "address",
"internalType": "address"
},
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
],
"stateMutability": "payable"
},
{
"type": "event",
"name": "BeliefProtocol_Buy",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amountToken",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "amountEth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "fee",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "state",
"type": "tuple",
"indexed": false,
"internalType": "struct Token.State",
"components": [
{
"name": "virtualReserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "virtualReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realReserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "locked",
"type": "bool",
"internalType": "bool"
},
{
"name": "poolAddress",
"type": "address",
"internalType": "address"
},
{
"name": "usesConcentratedLiquidity",
"type": "bool",
"internalType": "bool"
}
]
},
{
"name": "affiliate",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "affiliateFee",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "BeliefProtocol_Create",
"inputs": [
{
"name": "creator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "name",
"type": "string",
"indexed": false,
"internalType": "string"
},
{
"name": "symbol",
"type": "string",
"indexed": false,
"internalType": "string"
},
{
"name": "data",
"type": "tuple",
"indexed": false,
"internalType": "struct Token.Data",
"components": [
{
"name": "creationParameters",
"type": "tuple",
"internalType": "struct Token.CreationParameters",
"components": [
{
"name": "initialVirtualReserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "initialVirtualReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountToAddLiquidityEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountToAddLiquidityToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "airdropWaves",
"type": "tuple[]",
"internalType": "struct Token.MintableData[]",
"components": [
{
"name": "id",
"type": "string",
"internalType": "string"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "____UNUSED_SLOT",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "state",
"type": "tuple",
"internalType": "struct Token.State",
"components": [
{
"name": "virtualReserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "virtualReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realReserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "locked",
"type": "bool",
"internalType": "bool"
},
{
"name": "poolAddress",
"type": "address",
"internalType": "address"
},
{
"name": "usesConcentratedLiquidity",
"type": "bool",
"internalType": "bool"
}
]
},
{
"name": "postUpgradeCreationParameters",
"type": "tuple",
"internalType": "struct Token.PostUpgradeCreationParameters",
"components": [
{
"name": "v1",
"type": "tuple",
"internalType": "struct Token.CreationParametersV1Upgrade",
"components": [
{
"name": "rewardsMerkleRoot",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "amountToDistributeClaimableRewards",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "v2",
"type": "tuple",
"internalType": "struct Token.CreationParametersV2Upgrade",
"components": [
{
"name": "enableSniping",
"type": "bool",
"internalType": "bool"
},
{
"name": "maxAmountTotalBuyToken",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "v3",
"type": "tuple",
"internalType": "struct Token.CreationParametersV3Upgrade",
"components": [
{
"name": "targetDex",
"type": "uint8",
"internalType": "enum Token.TargetDex"
},
{
"name": "uniswapV4Hook",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "locker",
"type": "address",
"internalType": "contract IBeliefCurveTokensLocker"
},
{
"name": "initialTokenSupply",
"type": "uint256",
"internalType": "uint256"
}
]
}
]
}
],
"anonymous": false
},
{
"type": "event",
"name": "BeliefProtocol_Lock",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "BeliefProtocol_Seed",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "poolAddress",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "BeliefProtocol_Seed_UniswapV4",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "poolId",
"type": "bytes32",
"indexed": false,
"internalType": "bytes32"
}
],
"anonymous": false
},
{
"type": "event",
"name": "BeliefProtocol_Sell",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amountToken",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "amountEth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "fee",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "state",
"type": "tuple",
"indexed": false,
"internalType": "struct Token.State",
"components": [
{
"name": "virtualReserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "virtualReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realReserveEth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "realReserveToken",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "locked",
"type": "bool",
"internalType": "bool"
},
{
"name": "poolAddress",
"type": "address",
"internalType": "address"
},
{
"name": "usesConcentratedLiquidity",
"type": "bool",
"internalType": "bool"
}
]
},
{
"name": "affiliate",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "affiliateFee",
"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": "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": "RolesUpdated",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "roles",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Upgraded",
"inputs": [
{
"name": "implementation",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "error",
"name": "AlreadyInitialized",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_AlreadySeeded",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_AntiSnipeNonceUsed",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_CurveTokensLockerDataRequired",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_DeterministicTokenAddressMismatch",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_Expired",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_FeatureNotSupported",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_InputTooLarge",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_InsufficientInputAmount",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_InsufficientLiquidity",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_InsufficientOutputAmount",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_InsufficientPayment",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_InvalidTargetDex",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_InvalidTransactionControllerSignature",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_LargeSlippage",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_Locked",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_MaxAmountTotalBuyTokenAmountExceeded",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_NotAirdropController",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_NotLocked",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_NotTransactionController",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_ReferrerAlreadySet",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_UniswapV3PoolCreationFailed",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_UniswapV4HooksNotSet",
"inputs": [
]
},
{
"type": "error",
"name": "BeliefProtocol_UnsupportedTargetDex",
"inputs": [
]
},
{
"type": "error",
"name": "FeePercentIsTooHigh",
"inputs": [
]
},
{
"type": "error",
"name": "InvalidAffiliateFeePercent",
"inputs": [
]
},
{
"type": "error",
"name": "InvalidFeeDestination",
"inputs": [
]
},
{
"type": "error",
"name": "InvalidInitialization",
"inputs": [
]
},
{
"type": "error",
"name": "NewOwnerIsZeroAddress",
"inputs": [
]
},
{
"type": "error",
"name": "NoHandoverRequest",
"inputs": [
]
},
{
"type": "error",
"name": "NotInitializing",
"inputs": [
]
},
{
"type": "error",
"name": "Unauthorized",
"inputs": [
]
},
{
"type": "error",
"name": "UnauthorizedCallContext",
"inputs": [
]
},
{
"type": "error",
"name": "UpgradeFailed",
"inputs": [
]
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment