[ { "type": "constructor", "inputs": [ { "name": "permitAuthority", "type": "address", "internalType": "address" }, { "name": "graphFactory", "type": "address", "internalType": "contract IProgrammableCreate2GraphDeployerV1" }, { "name": "poolManager", "type": "address", "internalType": "contract IPoolManager" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CHAIN_ID", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "GRAPH_FACTORY", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "contract IProgrammableCreate2GraphDeployerV1" } ], "stateMutability": "view" }, { "type": "function", "name": "GRAPH_FACTORY_RUNTIME_CODE_HASH", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "PERMIT_AUTHORITY", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "PERMIT_AUTHORITY_RUNTIME_CODE_HASH", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "POOL_MANAGER", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "contract IPoolManager" } ], "stateMutability": "view" }, { "type": "function", "name": "POOL_MANAGER_RUNTIME_CODE_HASH", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "componentRuntimeCodeHash", "inputs": [ { "name": "component", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "runtimeCodeHash", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "computeComponentSetHash", "inputs": [ { "name": "components", "type": "tuple[]", "internalType": "struct IProgrammableLaunchStampRouterV1.ComponentV1[]", "components": [ { "name": "resultIndex", "type": "uint8", "internalType": "uint8" }, { "name": "account", "type": "address", "internalType": "address" }, { "name": "runtimeCodeHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "kind", "type": "uint8", "internalType": "enum IProgrammableLaunchStampRouterV1.ComponentKindV1" }, { "name": "scope", "type": "uint8", "internalType": "enum IProgrammableLaunchStampRouterV1.ComponentScopeV1" } ] } ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "computePoolKeyHash", "inputs": [ { "name": "poolKey", "type": "tuple", "internalType": "struct PoolKey", "components": [ { "name": "currency0", "type": "address", "internalType": "Currency" }, { "name": "currency1", "type": "address", "internalType": "Currency" }, { "name": "fee", "type": "uint24", "internalType": "uint24" }, { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, { "name": "hooks", "type": "address", "internalType": "contract IHooks" } ] } ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "computeStampRequestHash", "inputs": [ { "name": "request", "type": "tuple", "internalType": "struct IProgrammableLaunchStampRouterV1.StampRequestV1", "components": [ { "name": "launchId", "type": "bytes32", "internalType": "bytes32" }, { "name": "token", "type": "address", "internalType": "address" }, { "name": "tokenRuntimeCodeHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "poolKey", "type": "tuple", "internalType": "struct PoolKey", "components": [ { "name": "currency0", "type": "address", "internalType": "Currency" }, { "name": "currency1", "type": "address", "internalType": "Currency" }, { "name": "fee", "type": "uint24", "internalType": "uint24" }, { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, { "name": "hooks", "type": "address", "internalType": "contract IHooks" } ] }, { "name": "hookRuntimeCodeHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "components", "type": "tuple[]", "internalType": "struct IProgrammableLaunchStampRouterV1.ComponentV1[]", "components": [ { "name": "resultIndex", "type": "uint8", "internalType": "uint8" }, { "name": "account", "type": "address", "internalType": "address" }, { "name": "runtimeCodeHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "kind", "type": "uint8", "internalType": "enum IProgrammableLaunchStampRouterV1.ComponentKindV1" }, { "name": "scope", "type": "uint8", "internalType": "enum IProgrammableLaunchStampRouterV1.ComponentScopeV1" } ] } ] } ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "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": "launchAndStampV1", "inputs": [ { "name": "permit", "type": "tuple", "internalType": "struct IProgrammableLaunchStampRouterV1.LaunchPermitV1", "components": [ { "name": "chainId", "type": "uint256", "internalType": "uint256" }, { "name": "router", "type": "address", "internalType": "address" }, { "name": "launchWallet", "type": "address", "internalType": "address" }, { "name": "kind", "type": "uint8", "internalType": "enum IProgrammableLaunchStampRouterV1.LaunchKindV1" }, { "name": "routePayloadHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "expectedResultHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "stampRequestHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "nonce", "type": "bytes32", "internalType": "bytes32" }, { "name": "validAfter", "type": "uint64", "internalType": "uint64" }, { "name": "deadline", "type": "uint64", "internalType": "uint64" }, { "name": "value", "type": "uint256", "internalType": "uint256" } ] }, { "name": "stampRequest", "type": "tuple", "internalType": "struct IProgrammableLaunchStampRouterV1.StampRequestV1", "components": [ { "name": "launchId", "type": "bytes32", "internalType": "bytes32" }, { "name": "token", "type": "address", "internalType": "address" }, { "name": "tokenRuntimeCodeHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "poolKey", "type": "tuple", "internalType": "struct PoolKey", "components": [ { "name": "currency0", "type": "address", "internalType": "Currency" }, { "name": "currency1", "type": "address", "internalType": "Currency" }, { "name": "fee", "type": "uint24", "internalType": "uint24" }, { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, { "name": "hooks", "type": "address", "internalType": "contract IHooks" } ] }, { "name": "hookRuntimeCodeHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "components", "type": "tuple[]", "internalType": "struct IProgrammableLaunchStampRouterV1.ComponentV1[]", "components": [ { "name": "resultIndex", "type": "uint8", "internalType": "uint8" }, { "name": "account", "type": "address", "internalType": "address" }, { "name": "runtimeCodeHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "kind", "type": "uint8", "internalType": "enum IProgrammableLaunchStampRouterV1.ComponentKindV1" }, { "name": "scope", "type": "uint8", "internalType": "enum IProgrammableLaunchStampRouterV1.ComponentScopeV1" } ] } ] }, { "name": "routePayload", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "stampHash", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "payable" }, { "type": "function", "name": "launchIdByComponent", "inputs": [ { "name": "component", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "launchId", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "launchIdByPool", "inputs": [ { "name": "poolManager", "type": "address", "internalType": "address" }, { "name": "poolId", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "launchIdByToken", "inputs": [ { "name": "token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "launchId", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "launchStamp", "inputs": [ { "name": "launchId", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "tuple", "internalType": "struct IProgrammableLaunchStampRouterV1.StampRecordV1", "components": [ { "name": "kind", "type": "uint8", "internalType": "enum IProgrammableLaunchStampRouterV1.LaunchKindV1" }, { "name": "launchWallet", "type": "address", "internalType": "address" }, { "name": "token", "type": "address", "internalType": "address" }, { "name": "hook", "type": "address", "internalType": "address" }, { "name": "poolManager", "type": "address", "internalType": "address" }, { "name": "poolId", "type": "bytes32", "internalType": "bytes32" }, { "name": "poolKeyHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "componentSetHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "routePayloadHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "routeLauncher", "type": "address", "internalType": "address" }, { "name": "routeLauncherRuntimeCodeHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "expectedResultHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "permitDigest", "type": "bytes32", "internalType": "bytes32" }, { "name": "stampHash", "type": "bytes32", "internalType": "bytes32" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "permitDigest", "inputs": [ { "name": "permit", "type": "tuple", "internalType": "struct IProgrammableLaunchStampRouterV1.LaunchPermitV1", "components": [ { "name": "chainId", "type": "uint256", "internalType": "uint256" }, { "name": "router", "type": "address", "internalType": "address" }, { "name": "launchWallet", "type": "address", "internalType": "address" }, { "name": "kind", "type": "uint8", "internalType": "enum IProgrammableLaunchStampRouterV1.LaunchKindV1" }, { "name": "routePayloadHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "expectedResultHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "stampRequestHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "nonce", "type": "bytes32", "internalType": "bytes32" }, { "name": "validAfter", "type": "uint64", "internalType": "uint64" }, { "name": "deadline", "type": "uint64", "internalType": "uint64" }, { "name": "value", "type": "uint256", "internalType": "uint256" } ] } ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "stampProof", "inputs": [ { "name": "component", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "launchId", "type": "bytes32", "internalType": "bytes32" }, { "name": "stampHash", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "event", "name": "EIP712DomainChanged", "inputs": [], "anonymous": false }, { "type": "event", "name": "ProgrammableComponentStampedV1", "inputs": [ { "name": "launchId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "component", "type": "address", "indexed": true, "internalType": "address" }, { "name": "kind", "type": "uint8", "indexed": true, "internalType": "enum IProgrammableLaunchStampRouterV1.ComponentKindV1" }, { "name": "runtimeCodeHash", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "ProgrammableLaunchRouteStampedV1", "inputs": [ { "name": "launchId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "kind", "type": "uint8", "indexed": true, "internalType": "enum IProgrammableLaunchStampRouterV1.LaunchKindV1" }, { "name": "routePayloadHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "expectedResultHash", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "permitDigest", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "ProgrammableLaunchStampedV1", "inputs": [ { "name": "launchId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "hook", "type": "address", "indexed": true, "internalType": "address" }, { "name": "poolManager", "type": "address", "indexed": false, "internalType": "address" }, { "name": "poolId", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "stampHash", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "error", "name": "ComponentAlreadyStamped", "inputs": [ { "name": "component", "type": "address", "internalType": "address" }, { "name": "launchId", "type": "bytes32", "internalType": "bytes32" } ] }, { "type": "error", "name": "DuplicateOrUnsortedComponent", "inputs": [ { "name": "previous", "type": "address", "internalType": "address" }, { "name": "current", "type": "address", "internalType": "address" } ] }, { "type": "error", "name": "FactoryResultMismatch", "inputs": [ { "name": "field", "type": "uint8", "internalType": "uint8" }, { "name": "index", "type": "uint256", "internalType": "uint256" } ] }, { "type": "error", "name": "InvalidArrayLength", "inputs": [ { "name": "field", "type": "uint8", "internalType": "uint8" }, { "name": "actual", "type": "uint256", "internalType": "uint256" }, { "name": "expected", "type": "uint256", "internalType": "uint256" } ] }, { "type": "error", "name": "InvalidBinding", "inputs": [ { "name": "field", "type": "uint8", "internalType": "uint8" } ] }, { "type": "error", "name": "InvalidComponent", "inputs": [ { "name": "component", "type": "address", "internalType": "address" }, { "name": "supplied", "type": "bytes32", "internalType": "bytes32" }, { "name": "actual", "type": "bytes32", "internalType": "bytes32" } ] }, { "type": "error", "name": "InvalidPermitSignature", "inputs": [] }, { "type": "error", "name": "InvalidShortString", "inputs": [] }, { "type": "error", "name": "LaunchAlreadyStamped", "inputs": [ { "name": "launchId", "type": "bytes32", "internalType": "bytes32" } ] }, { "type": "error", "name": "NonCanonicalRoutePayload", "inputs": [] }, { "type": "error", "name": "NonceAlreadyUsed", "inputs": [ { "name": "launchWallet", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "bytes32", "internalType": "bytes32" } ] }, { "type": "error", "name": "PermitAlreadyUsed", "inputs": [ { "name": "permitDigest", "type": "bytes32", "internalType": "bytes32" } ] }, { "type": "error", "name": "PermitOutsideValidityWindow", "inputs": [ { "name": "timestamp", "type": "uint256", "internalType": "uint256" }, { "name": "validAfter", "type": "uint256", "internalType": "uint256" }, { "name": "deadline", "type": "uint256", "internalType": "uint256" } ] }, { "type": "error", "name": "PoolAlreadyInitialized", "inputs": [ { "name": "poolManager", "type": "address", "internalType": "address" }, { "name": "poolId", "type": "bytes32", "internalType": "bytes32" } ] }, { "type": "error", "name": "PoolAlreadyStamped", "inputs": [ { "name": "poolManager", "type": "address", "internalType": "address" }, { "name": "poolId", "type": "bytes32", "internalType": "bytes32" }, { "name": "launchId", "type": "bytes32", "internalType": "bytes32" } ] }, { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] }, { "type": "error", "name": "ResidualLaunchValue", "inputs": [ { "name": "expected", "type": "uint256", "internalType": "uint256" }, { "name": "actual", "type": "uint256", "internalType": "uint256" } ] }, { "type": "error", "name": "StringTooLong", "inputs": [ { "name": "str", "type": "string", "internalType": "string" } ] }, { "type": "error", "name": "UnauthorizedLaunchWallet", "inputs": [ { "name": "caller", "type": "address", "internalType": "address" }, { "name": "launchWallet", "type": "address", "internalType": "address" } ] }, { "type": "error", "name": "UnsupportedLaunchKind", "inputs": [ { "name": "kind", "type": "uint8", "internalType": "enum IProgrammableLaunchStampRouterV1.LaunchKindV1" } ] } ]