isExtensionEnabled

Checks whether the given ABI supports a given extension

function isExtensionEnabled(abi: Array<objectInputType<{ inputs: ZodDefault<ZodArray<ZodObject<extendShape<{ name: ZodDefault<ZodString>; type: ZodString }, { components: ZodOptional<ZodArray<ZodObject<..., ..., ..., ..., ...>, "many">>; stateMutability: ZodOptional<ZodString> }>, "strip", ZodAny, objectOutputType<extendShape<{ name: ZodDefault<ZodString>; type: ZodString }, { components: ZodOptional<ZodArray<..., ...>>; stateMutability: ZodOptional<ZodString> }>, ZodAny, "strip">, objectInputType<extendShape<{ name: ZodDefault<ZodString>; type: ZodString }, { components: ZodOptional<ZodArray<..., ...>>; stateMutability: ZodOptional<ZodString> }>, ZodAny, "strip">>, "many">>; name: ZodDefault<ZodString>; outputs: ZodDefault<ZodArray<ZodObject<extendShape<{ name: ZodDefault<ZodString>; type: ZodString }, { components: ZodOptional<ZodArray<ZodObject<..., ..., ..., ..., ...>, "many">>; stateMutability: ZodOptional<ZodString> }>, "strip", ZodAny, objectOutputType<extendShape<{ name: ZodDefault<ZodString>; type: ZodString }, { components: ZodOptional<ZodArray<..., ...>>; stateMutability: ZodOptional<ZodString> }>, ZodAny, "strip">, objectInputType<extendShape<{ name: ZodDefault<ZodString>; type: ZodString }, { components: ZodOptional<ZodArray<..., ...>>; stateMutability: ZodOptional<ZodString> }>, ZodAny, "strip">>, "many">>; type: ZodString }, ZodAny, "strip">>, featureName: "ERC1155" | "ERC721" | "ERC20ClaimConditionsV1" | "ERC20ClaimConditionsV2" | "ERC20ClaimPhasesV2" | "ERC20ClaimPhasesV1" | "ERC20Burnable" | "ERC20SignatureMintable" | "ERC20BatchMintable" | "ERC20Mintable" | "ERC20Permit" | "ERC20" | "ERC721Burnable" | "ERC721Revealable" | "ERC721TieredDrop" | "ERC721ClaimConditionsV1" | "ERC721ClaimConditionsV2" | "ERC721ClaimPhasesV1" | "ERC721ClaimPhasesV2" | "ERC721ClaimCustom" | "ERC721ClaimZora" | "ERC721LazyMintable" | "ERC721BatchMintable" | "ERC721Mintable" | "ERC721SignatureMintV2" | "ERC721SignatureMintV1" | "ERC721Enumerable" | "ERC721AQueryable" | "ERC721Supply" | "ERC721SharedMetadata" | "ERC721LoyaltyCard" | "ERC721UpdatableMetadata" | "ERC1155Burnable" | "ERC1155ClaimConditionsV1" | "ERC1155ClaimConditionsV2" | "ERC1155ClaimPhasesV2" | "ERC1155ClaimPhasesV1" | "ERC1155ClaimCustom" | "ERC1155Revealable" | "ERC1155LazyMintableV2" | "ERC1155LazyMintableV1" | "ERC1155SignatureMintable" | "ERC1155BatchMintable" | "ERC1155Mintable" | "ERC1155Enumerable" | "ERC1155UpdatableMetadata" | "ERC1155Supply" | "Royalty" | "PrimarySale" | "PlatformFee" | "PermissionsEnumerable" | "Permissions" | "ContractMetadata" | "AppURI" | "Ownable" | "Gasless" | "PackVRF" | "PluginRouter" | "DynamicContract" | "ModularCore" | "ModularModule" | "DirectListings" | "EnglishAuctions" | "Offers" | "AccountFactory" | "AccountPermissionsV1" | "AccountPermissions" | "Account" | "AirdropERC20" | "AirdropERC721" | "AirdropERC1155" | "Fallback", features: Record<string, FeatureWithEnabled>) : boolean

Parameters

The abi to check

Type

let abi: Array<objectInputType<{ inputs: ZodDefault<ZodArray<ZodObject<extendShape<{ name: ZodDefault<ZodString>; type: ZodString }, { components: ZodOptional<ZodArray<ZodObject<..., ..., ..., ..., ...>, "many">>; stateMutability: ZodOptional<ZodString> }>, "strip", ZodAny, objectOutputType<extendShape<{ name: ZodDefault<ZodString>; type: ZodString }, { components: ZodOptional<ZodArray<..., ...>>; stateMutability: ZodOptional<ZodString> }>, ZodAny, "strip">, objectInputType<extendShape<{ name: ZodDefault<ZodString>; type: ZodString }, { components: ZodOptional<ZodArray<..., ...>>; stateMutability: ZodOptional<ZodString> }>, ZodAny, "strip">>, "many">>; name: ZodDefault<ZodString>; outputs: ZodDefault<ZodArray<ZodObject<extendShape<{ name: ZodDefault<ZodString>; type: ZodString }, { components: ZodOptional<ZodArray<ZodObject<..., ..., ..., ..., ...>, "many">>; stateMutability: ZodOptional<ZodString> }>, "strip", ZodAny, objectOutputType<extendShape<{ name: ZodDefault<ZodString>; type: ZodString }, { components: ZodOptional<ZodArray<..., ...>>; stateMutability: ZodOptional<ZodString> }>, ZodAny, "strip">, objectInputType<extendShape<{ name: ZodDefault<ZodString>; type: ZodString }, { components: ZodOptional<ZodArray<..., ...>>; stateMutability: ZodOptional<ZodString> }>, ZodAny, "strip">>, "many">>; type: ZodString }, ZodAny, "strip">>

The feature name to check

Type

let featureName:
| "ERC1155"
| "ERC721"
| "ERC20ClaimConditionsV1"
| "ERC20ClaimConditionsV2"
| "ERC20ClaimPhasesV2"
| "ERC20ClaimPhasesV1"
| "ERC20Burnable"
| "ERC20SignatureMintable"
| "ERC20BatchMintable"
| "ERC20Mintable"
| "ERC20Permit"
| "ERC20"
| "ERC721Burnable"
| "ERC721Revealable"
| "ERC721TieredDrop"
| "ERC721ClaimConditionsV1"
| "ERC721ClaimConditionsV2"
| "ERC721ClaimPhasesV1"
| "ERC721ClaimPhasesV2"
| "ERC721ClaimCustom"
| "ERC721ClaimZora"
| "ERC721LazyMintable"
| "ERC721BatchMintable"
| "ERC721Mintable"
| "ERC721SignatureMintV2"
| "ERC721SignatureMintV1"
| "ERC721Enumerable"
| "ERC721AQueryable"
| "ERC721Supply"
| "ERC721SharedMetadata"
| "ERC721LoyaltyCard"
| "ERC721UpdatableMetadata"
| "ERC1155Burnable"
| "ERC1155ClaimConditionsV1"
| "ERC1155ClaimConditionsV2"
| "ERC1155ClaimPhasesV2"
| "ERC1155ClaimPhasesV1"
| "ERC1155ClaimCustom"
| "ERC1155Revealable"
| "ERC1155LazyMintableV2"
| "ERC1155LazyMintableV1"
| "ERC1155SignatureMintable"
| "ERC1155BatchMintable"
| "ERC1155Mintable"
| "ERC1155Enumerable"
| "ERC1155UpdatableMetadata"
| "ERC1155Supply"
| "Royalty"
| "PrimarySale"
| "PlatformFee"
| "PermissionsEnumerable"
| "Permissions"
| "ContractMetadata"
| "AppURI"
| "Ownable"
| "Gasless"
| "PackVRF"
| "PluginRouter"
| "DynamicContract"
| "ModularCore"
| "ModularModule"
| "DirectListings"
| "EnglishAuctions"
| "Offers"
| "AccountFactory"
| "AccountPermissionsV1"
| "AccountPermissions"
| "Account"
| "AirdropERC20"
| "AirdropERC721"
| "AirdropERC1155"
| "Fallback";

Type

let features: Record<string, FeatureWithEnabled>;

Returns

let returnType: boolean;