Module PKPNFT

Module PKPNFT 

Source
Expand description

Generated by the following Solidity interface…

library IDiamond {
    type FacetCutAction is uint8;
    struct FacetCut {
        address facetAddress;
        FacetCutAction action;
        bytes4[] functionSelectors;
    }
}

library IDiamondLoupe {
    struct Facet {
        address facetAddress;
        bytes4[] functionSelectors;
    }
}

library IPubkeyRouter {
    struct Signature {
        bytes32 r;
        bytes32 s;
        uint8 v;
    }
}

interface PKPNFT {
    error CallerNotOwner();
    error CannotAddFunctionToDiamondThatAlreadyExists(bytes4 _selector);
    error CannotAddSelectorsToZeroAddress(bytes4[] _selectors);
    error CannotRemoveFunctionThatDoesNotExist(bytes4 _selector);
    error CannotRemoveImmutableFunction(bytes4 _selector);
    error CannotReplaceFunctionThatDoesNotExists(bytes4 _selector);
    error CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet(bytes4 _selector);
    error CannotReplaceFunctionsFromFacetWithZeroAddress(bytes4[] _selectors);
    error CannotReplaceImmutableFunction(bytes4 _selector);
    error IncorrectFacetCutAction(uint8 _action);
    error InitializationFunctionReverted(address _initializationContractAddress, bytes _calldata);
    error NoBytecodeAtAddress(address _contractAddress, string _message);
    error NoSelectorsProvidedForFacetForCut(address _facetAddress);
    error NotContractOwner(address _user, address _contractOwner);
    error RemoveFacetAddressMustBeZeroAddress(address _facetAddress);

    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
    event ContractResolverAddressSet(address newResolverAddress);
    event DiamondCut(IDiamond.FacetCut[] _diamondCut, address _init, bytes _calldata);
    event FreeMintSignerSet(address indexed newFreeMintSigner);
    event Initialized(uint8 version);
    event MintCostSet(uint256 newMintCost);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event PKPMinted(uint256 indexed tokenId, bytes pubkey);
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event TrustedForwarderSet(address newTrustedForwarder);
    event Withdrew(uint256 amount);

    function approve(address to, uint256 tokenId) external;
    function balanceOf(address owner) external view returns (uint256);
    function burn(uint256 tokenId) external;
    function claimAndMint(uint256 keyType, bytes32 derivedKeyId, IPubkeyRouter.Signature[] memory signatures, address stakingContractAddress) external payable returns (uint256);
    function diamondCut(IDiamond.FacetCut[] memory _diamondCut, address _init, bytes memory _calldata) external;
    function exists(uint256 tokenId) external view returns (bool);
    function facetAddress(bytes4 _functionSelector) external view returns (address facetAddress_);
    function facetAddresses() external view returns (address[] memory facetAddresses_);
    function facetFunctionSelectors(address _facet) external view returns (bytes4[] memory _facetFunctionSelectors);
    function facets() external view returns (IDiamondLoupe.Facet[] memory facets_);
    function freeMintSigner() external view returns (address);
    function getApproved(uint256 tokenId) external view returns (address);
    function getEthAddress(uint256 tokenId) external view returns (address);
    function getNextDerivedKeyId() external view returns (bytes32);
    function getPkpNftMetadataAddress() external view returns (address);
    function getPkpPermissionsAddress() external view returns (address);
    function getPubkey(uint256 tokenId) external view returns (bytes memory);
    function getRouterAddress() external view returns (address);
    function getStakingAddress() external view returns (address);
    function getTrustedForwarder() external view returns (address);
    function initialize() external;
    function isApprovedForAll(address owner, address operator) external view returns (bool);
    function mintCost() external view returns (uint256);
    function mintGrantAndBurnNext(uint256 keyType, bytes memory ipfsCID) external payable returns (uint256);
    function mintNext(uint256 keyType) external payable returns (uint256);
    function name() external view returns (string memory);
    function owner() external view returns (address owner_);
    function ownerOf(uint256 tokenId) external view returns (address);
    function prefixed(bytes32 hash) external pure returns (bytes32);
    function redeemedFreeMintIds(uint256 tokenId) external view returns (bool);
    function safeTransferFrom(address from, address to, uint256 tokenId) external;
    function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) external;
    function setApprovalForAll(address operator, bool approved) external;
    function setContractResolver(address newResolverAddress) external;
    function setFreeMintSigner(address newFreeMintSigner) external;
    function setMintCost(uint256 newMintCost) external;
    function setTrustedForwarder(address forwarder) external;
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
    function symbol() external view returns (string memory);
    function tokenByIndex(uint256 index) external view returns (uint256);
    function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256);
    function tokenURI(uint256 tokenId) external view returns (string memory);
    function totalSupply() external view returns (uint256);
    function transferFrom(address from, address to, uint256 tokenId) external;
    function transferOwnership(address _newOwner) external;
    function withdraw() external;
}

…which was generated by the following JSON ABI:

[
  {
    "type": "function",
    "name": "approve",
    "inputs": [
      {
        "name": "to",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "tokenId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "balanceOf",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "burn",
    "inputs": [
      {
        "name": "tokenId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "claimAndMint",
    "inputs": [
      {
        "name": "keyType",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "derivedKeyId",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "signatures",
        "type": "tuple[]",
        "internalType": "struct IPubkeyRouter.Signature[]",
        "components": [
          {
            "name": "r",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "s",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "v",
            "type": "uint8",
            "internalType": "uint8"
          }
        ]
      },
      {
        "name": "stakingContractAddress",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "diamondCut",
    "inputs": [
      {
        "name": "_diamondCut",
        "type": "tuple[]",
        "internalType": "struct IDiamond.FacetCut[]",
        "components": [
          {
            "name": "facetAddress",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "action",
            "type": "uint8",
            "internalType": "enum IDiamond.FacetCutAction"
          },
          {
            "name": "functionSelectors",
            "type": "bytes4[]",
            "internalType": "bytes4[]"
          }
        ]
      },
      {
        "name": "_init",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "_calldata",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "exists",
    "inputs": [
      {
        "name": "tokenId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "facetAddress",
    "inputs": [
      {
        "name": "_functionSelector",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ],
    "outputs": [
      {
        "name": "facetAddress_",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "facetAddresses",
    "inputs": [],
    "outputs": [
      {
        "name": "facetAddresses_",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "facetFunctionSelectors",
    "inputs": [
      {
        "name": "_facet",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "_facetFunctionSelectors",
        "type": "bytes4[]",
        "internalType": "bytes4[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "facets",
    "inputs": [],
    "outputs": [
      {
        "name": "facets_",
        "type": "tuple[]",
        "internalType": "struct IDiamondLoupe.Facet[]",
        "components": [
          {
            "name": "facetAddress",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "functionSelectors",
            "type": "bytes4[]",
            "internalType": "bytes4[]"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "freeMintSigner",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getApproved",
    "inputs": [
      {
        "name": "tokenId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getEthAddress",
    "inputs": [
      {
        "name": "tokenId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getNextDerivedKeyId",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getPkpNftMetadataAddress",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getPkpPermissionsAddress",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getPubkey",
    "inputs": [
      {
        "name": "tokenId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getRouterAddress",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getStakingAddress",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getTrustedForwarder",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "initialize",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "isApprovedForAll",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "operator",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "mintCost",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "mintGrantAndBurnNext",
    "inputs": [
      {
        "name": "keyType",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "ipfsCID",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "mintNext",
    "inputs": [
      {
        "name": "keyType",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "name",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "owner",
    "inputs": [],
    "outputs": [
      {
        "name": "owner_",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "ownerOf",
    "inputs": [
      {
        "name": "tokenId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "prefixed",
    "inputs": [
      {
        "name": "hash",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "redeemedFreeMintIds",
    "inputs": [
      {
        "name": "tokenId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "safeTransferFrom",
    "inputs": [
      {
        "name": "from",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "to",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "tokenId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "safeTransferFrom",
    "inputs": [
      {
        "name": "from",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "to",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "tokenId",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "data",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "setApprovalForAll",
    "inputs": [
      {
        "name": "operator",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "approved",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "setContractResolver",
    "inputs": [
      {
        "name": "newResolverAddress",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "setFreeMintSigner",
    "inputs": [
      {
        "name": "newFreeMintSigner",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "setMintCost",
    "inputs": [
      {
        "name": "newMintCost",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "setTrustedForwarder",
    "inputs": [
      {
        "name": "forwarder",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "supportsInterface",
    "inputs": [
      {
        "name": "interfaceId",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "symbol",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "tokenByIndex",
    "inputs": [
      {
        "name": "index",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "tokenOfOwnerByIndex",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "index",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "tokenURI",
    "inputs": [
      {
        "name": "tokenId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "totalSupply",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "transferFrom",
    "inputs": [
      {
        "name": "from",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "to",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "tokenId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "transferOwnership",
    "inputs": [
      {
        "name": "_newOwner",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "withdraw",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "event",
    "name": "Approval",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "approved",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "tokenId",
        "type": "uint256",
        "indexed": true,
        "internalType": "uint256"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "ApprovalForAll",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "operator",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "approved",
        "type": "bool",
        "indexed": false,
        "internalType": "bool"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "ContractResolverAddressSet",
    "inputs": [
      {
        "name": "newResolverAddress",
        "type": "address",
        "indexed": false,
        "internalType": "address"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "DiamondCut",
    "inputs": [
      {
        "name": "_diamondCut",
        "type": "tuple[]",
        "indexed": false,
        "internalType": "struct IDiamond.FacetCut[]",
        "components": [
          {
            "name": "facetAddress",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "action",
            "type": "uint8",
            "internalType": "enum IDiamond.FacetCutAction"
          },
          {
            "name": "functionSelectors",
            "type": "bytes4[]",
            "internalType": "bytes4[]"
          }
        ]
      },
      {
        "name": "_init",
        "type": "address",
        "indexed": false,
        "internalType": "address"
      },
      {
        "name": "_calldata",
        "type": "bytes",
        "indexed": false,
        "internalType": "bytes"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "FreeMintSignerSet",
    "inputs": [
      {
        "name": "newFreeMintSigner",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "Initialized",
    "inputs": [
      {
        "name": "version",
        "type": "uint8",
        "indexed": false,
        "internalType": "uint8"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "MintCostSet",
    "inputs": [
      {
        "name": "newMintCost",
        "type": "uint256",
        "indexed": false,
        "internalType": "uint256"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "OwnershipTransferred",
    "inputs": [
      {
        "name": "previousOwner",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "newOwner",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "PKPMinted",
    "inputs": [
      {
        "name": "tokenId",
        "type": "uint256",
        "indexed": true,
        "internalType": "uint256"
      },
      {
        "name": "pubkey",
        "type": "bytes",
        "indexed": false,
        "internalType": "bytes"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "Transfer",
    "inputs": [
      {
        "name": "from",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "to",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "tokenId",
        "type": "uint256",
        "indexed": true,
        "internalType": "uint256"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "TrustedForwarderSet",
    "inputs": [
      {
        "name": "newTrustedForwarder",
        "type": "address",
        "indexed": false,
        "internalType": "address"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "Withdrew",
    "inputs": [
      {
        "name": "amount",
        "type": "uint256",
        "indexed": false,
        "internalType": "uint256"
      }
    ],
    "anonymous": false
  },
  {
    "type": "error",
    "name": "CallerNotOwner",
    "inputs": []
  },
  {
    "type": "error",
    "name": "CannotAddFunctionToDiamondThatAlreadyExists",
    "inputs": [
      {
        "name": "_selector",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ]
  },
  {
    "type": "error",
    "name": "CannotAddSelectorsToZeroAddress",
    "inputs": [
      {
        "name": "_selectors",
        "type": "bytes4[]",
        "internalType": "bytes4[]"
      }
    ]
  },
  {
    "type": "error",
    "name": "CannotRemoveFunctionThatDoesNotExist",
    "inputs": [
      {
        "name": "_selector",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ]
  },
  {
    "type": "error",
    "name": "CannotRemoveImmutableFunction",
    "inputs": [
      {
        "name": "_selector",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ]
  },
  {
    "type": "error",
    "name": "CannotReplaceFunctionThatDoesNotExists",
    "inputs": [
      {
        "name": "_selector",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ]
  },
  {
    "type": "error",
    "name": "CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet",
    "inputs": [
      {
        "name": "_selector",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ]
  },
  {
    "type": "error",
    "name": "CannotReplaceFunctionsFromFacetWithZeroAddress",
    "inputs": [
      {
        "name": "_selectors",
        "type": "bytes4[]",
        "internalType": "bytes4[]"
      }
    ]
  },
  {
    "type": "error",
    "name": "CannotReplaceImmutableFunction",
    "inputs": [
      {
        "name": "_selector",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ]
  },
  {
    "type": "error",
    "name": "IncorrectFacetCutAction",
    "inputs": [
      {
        "name": "_action",
        "type": "uint8",
        "internalType": "uint8"
      }
    ]
  },
  {
    "type": "error",
    "name": "InitializationFunctionReverted",
    "inputs": [
      {
        "name": "_initializationContractAddress",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "_calldata",
        "type": "bytes",
        "internalType": "bytes"
      }
    ]
  },
  {
    "type": "error",
    "name": "NoBytecodeAtAddress",
    "inputs": [
      {
        "name": "_contractAddress",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "_message",
        "type": "string",
        "internalType": "string"
      }
    ]
  },
  {
    "type": "error",
    "name": "NoSelectorsProvidedForFacetForCut",
    "inputs": [
      {
        "name": "_facetAddress",
        "type": "address",
        "internalType": "address"
      }
    ]
  },
  {
    "type": "error",
    "name": "NotContractOwner",
    "inputs": [
      {
        "name": "_user",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "_contractOwner",
        "type": "address",
        "internalType": "address"
      }
    ]
  },
  {
    "type": "error",
    "name": "RemoveFacetAddressMustBeZeroAddress",
    "inputs": [
      {
        "name": "_facetAddress",
        "type": "address",
        "internalType": "address"
      }
    ]
  }
]

Structs§

Approval
Event with signature Approval(address,address,uint256) and selector 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
ApprovalForAll
Event with signature ApprovalForAll(address,address,bool) and selector 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
CallerNotOwner
Custom error with signature CallerNotOwner() and selector 0x5cd83192.
CannotAddFunctionToDiamondThatAlreadyExists
Custom error with signature CannotAddFunctionToDiamondThatAlreadyExists(bytes4) and selector 0xebbf5d07.
CannotAddSelectorsToZeroAddress
Custom error with signature CannotAddSelectorsToZeroAddress(bytes4[]) and selector 0x0ae3681c.
CannotRemoveFunctionThatDoesNotExist
Custom error with signature CannotRemoveFunctionThatDoesNotExist(bytes4) and selector 0x7a08a22d.
CannotRemoveImmutableFunction
Custom error with signature CannotRemoveImmutableFunction(bytes4) and selector 0x6fafeb08.
CannotReplaceFunctionThatDoesNotExists
Custom error with signature CannotReplaceFunctionThatDoesNotExists(bytes4) and selector 0x7479f939.
CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet
Custom error with signature CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet(bytes4) and selector 0x358d9d1a.
CannotReplaceFunctionsFromFacetWithZeroAddress
Custom error with signature CannotReplaceFunctionsFromFacetWithZeroAddress(bytes4[]) and selector 0xcd98a96f.
CannotReplaceImmutableFunction
Custom error with signature CannotReplaceImmutableFunction(bytes4) and selector 0x520300da.
ContractResolverAddressSet
Event with signature ContractResolverAddressSet(address) and selector 0x2760073c7cd8cac531d7f643becbfbb74d8b8156443eacf879622532dbbb3cd5.
DiamondCut
Event with signature DiamondCut((address,uint8,bytes4[])[],address,bytes) and selector 0x8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673.
FreeMintSignerSet
Event with signature FreeMintSignerSet(address) and selector 0x65d3e06a561c77a07da59b8b2ca10214ae08fe21cc2953a90db0ac8b5b7c4371.
IncorrectFacetCutAction
Custom error with signature IncorrectFacetCutAction(uint8) and selector 0x7fe9a41e.
InitializationFunctionReverted
Custom error with signature InitializationFunctionReverted(address,bytes) and selector 0x192105d7.
Initialized
Event with signature Initialized(uint8) and selector 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498.
MintCostSet
Event with signature MintCostSet(uint256) and selector 0x653b8b44976b2e5c016e082d134653d04dea9dbef92055038cca38c930070355.
NoBytecodeAtAddress
Custom error with signature NoBytecodeAtAddress(address,string) and selector 0x919834b9.
NoSelectorsProvidedForFacetForCut
Custom error with signature NoSelectorsProvidedForFacetForCut(address) and selector 0xe767f91f.
NotContractOwner
Custom error with signature NotContractOwner(address,address) and selector 0xff4127cb.
OwnershipTransferred
Event with signature OwnershipTransferred(address,address) and selector 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
PKPMinted
Event with signature PKPMinted(uint256,bytes) and selector 0x3b2cc0657d0387a736293d66389f78e4c8025e413c7a1ee67b7707d4418c46b8.
PKPNFTInstance
A PKPNFT instance.
RemoveFacetAddressMustBeZeroAddress
Custom error with signature RemoveFacetAddressMustBeZeroAddress(address) and selector 0xd091bc81.
Transfer
Event with signature Transfer(address,address,uint256) and selector 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
TrustedForwarderSet
Event with signature TrustedForwarderSet(address) and selector 0xd91237492a9e30cd2faf361fc103998a382ff0ec2b1b07dc1cbebb76ae2f1ea2.
Withdrew
Event with signature Withdrew(uint256) and selector 0xb6b476da71cea8275cac6b1720c04966afaff5e637472cedb6cbd32c43a23251.
approveCall
Function with signature approve(address,uint256) and selector 0x095ea7b3.
approveReturn
Container type for the return parameters of the approve(address,uint256) function.
balanceOfCall
Function with signature balanceOf(address) and selector 0x70a08231.
balanceOfReturn
Container type for the return parameters of the balanceOf(address) function.
burnCall
Function with signature burn(uint256) and selector 0x42966c68.
burnReturn
Container type for the return parameters of the burn(uint256) function.
claimAndMintCall
Function with signature claimAndMint(uint256,bytes32,(bytes32,bytes32,uint8)[],address) and selector 0x6b3a8924.
claimAndMintReturn
Container type for the return parameters of the claimAndMint(uint256,bytes32,(bytes32,bytes32,uint8)[],address) function.
diamondCutCall
Function with signature diamondCut((address,uint8,bytes4[])[],address,bytes) and selector 0x1f931c1c.
diamondCutReturn
Container type for the return parameters of the diamondCut((address,uint8,bytes4[])[],address,bytes) function.
existsCall
Function with signature exists(uint256) and selector 0x4f558e79.
existsReturn
Container type for the return parameters of the exists(uint256) function.
facetAddressCall
Function with signature facetAddress(bytes4) and selector 0xcdffacc6.
facetAddressReturn
Container type for the return parameters of the facetAddress(bytes4) function.
facetAddressesCall
Function with signature facetAddresses() and selector 0x52ef6b2c.
facetAddressesReturn
Container type for the return parameters of the facetAddresses() function.
facetFunctionSelectorsCall
Function with signature facetFunctionSelectors(address) and selector 0xadfca15e.
facetFunctionSelectorsReturn
Container type for the return parameters of the facetFunctionSelectors(address) function.
facetsCall
Function with signature facets() and selector 0x7a0ed627.
facetsReturn
Container type for the return parameters of the facets() function.
freeMintSignerCall
Function with signature freeMintSigner() and selector 0xb94a2102.
freeMintSignerReturn
Container type for the return parameters of the freeMintSigner() function.
getApprovedCall
Function with signature getApproved(uint256) and selector 0x081812fc.
getApprovedReturn
Container type for the return parameters of the getApproved(uint256) function.
getEthAddressCall
Function with signature getEthAddress(uint256) and selector 0xbd4986a0.
getEthAddressReturn
Container type for the return parameters of the getEthAddress(uint256) function.
getNextDerivedKeyIdCall
Function with signature getNextDerivedKeyId() and selector 0x72b1b859.
getNextDerivedKeyIdReturn
Container type for the return parameters of the getNextDerivedKeyId() function.
getPkpNftMetadataAddressCall
Function with signature getPkpNftMetadataAddress() and selector 0xb3464fd6.
getPkpNftMetadataAddressReturn
Container type for the return parameters of the getPkpNftMetadataAddress() function.
getPkpPermissionsAddressCall
Function with signature getPkpPermissionsAddress() and selector 0x3276558c.
getPkpPermissionsAddressReturn
Container type for the return parameters of the getPkpPermissionsAddress() function.
getPubkeyCall
Function with signature getPubkey(uint256) and selector 0xef6fd878.
getPubkeyReturn
Container type for the return parameters of the getPubkey(uint256) function.
getRouterAddressCall
Function with signature getRouterAddress() and selector 0xd54f7d5e.
getRouterAddressReturn
Container type for the return parameters of the getRouterAddress() function.
getStakingAddressCall
Function with signature getStakingAddress() and selector 0x0e9ed68b.
getStakingAddressReturn
Container type for the return parameters of the getStakingAddress() function.
getTrustedForwarderCall
Function with signature getTrustedForwarder() and selector 0xce1b815f.
getTrustedForwarderReturn
Container type for the return parameters of the getTrustedForwarder() function.
initializeCall
Function with signature initialize() and selector 0x8129fc1c.
initializeReturn
Container type for the return parameters of the initialize() function.
isApprovedForAllCall
Function with signature isApprovedForAll(address,address) and selector 0xe985e9c5.
isApprovedForAllReturn
Container type for the return parameters of the isApprovedForAll(address,address) function.
mintCostCall
Function with signature mintCost() and selector 0xbdb4b848.
mintCostReturn
Container type for the return parameters of the mintCost() function.
mintGrantAndBurnNextCall
Function with signature mintGrantAndBurnNext(uint256,bytes) and selector 0x66a306d7.
mintGrantAndBurnNextReturn
Container type for the return parameters of the mintGrantAndBurnNext(uint256,bytes) function.
mintNextCall
Function with signature mintNext(uint256) and selector 0x5d228b16.
mintNextReturn
Container type for the return parameters of the mintNext(uint256) function.
nameCall
Function with signature name() and selector 0x06fdde03.
nameReturn
Container type for the return parameters of the name() function.
ownerCall
Function with signature owner() and selector 0x8da5cb5b.
ownerOfCall
Function with signature ownerOf(uint256) and selector 0x6352211e.
ownerOfReturn
Container type for the return parameters of the ownerOf(uint256) function.
ownerReturn
Container type for the return parameters of the owner() function.
prefixedCall
Function with signature prefixed(bytes32) and selector 0x1f275713.
prefixedReturn
Container type for the return parameters of the prefixed(bytes32) function.
redeemedFreeMintIdsCall
Function with signature redeemedFreeMintIds(uint256) and selector 0x56e3a1ae.
redeemedFreeMintIdsReturn
Container type for the return parameters of the redeemedFreeMintIds(uint256) function.
safeTransferFrom_0Call
Function with signature safeTransferFrom(address,address,uint256) and selector 0x42842e0e.
safeTransferFrom_0Return
Container type for the return parameters of the safeTransferFrom(address,address,uint256) function.
safeTransferFrom_1Call
Function with signature safeTransferFrom(address,address,uint256,bytes) and selector 0xb88d4fde.
safeTransferFrom_1Return
Container type for the return parameters of the safeTransferFrom(address,address,uint256,bytes) function.
setApprovalForAllCall
Function with signature setApprovalForAll(address,bool) and selector 0xa22cb465.
setApprovalForAllReturn
Container type for the return parameters of the setApprovalForAll(address,bool) function.
setContractResolverCall
Function with signature setContractResolver(address) and selector 0xf95d71b1.
setContractResolverReturn
Container type for the return parameters of the setContractResolver(address) function.
setFreeMintSignerCall
Function with signature setFreeMintSigner(address) and selector 0x3b189852.
setFreeMintSignerReturn
Container type for the return parameters of the setFreeMintSigner(address) function.
setMintCostCall
Function with signature setMintCost(uint256) and selector 0x8545f4ea.
setMintCostReturn
Container type for the return parameters of the setMintCost(uint256) function.
setTrustedForwarderCall
Function with signature setTrustedForwarder(address) and selector 0xda742228.
setTrustedForwarderReturn
Container type for the return parameters of the setTrustedForwarder(address) function.
supportsInterfaceCall
Function with signature supportsInterface(bytes4) and selector 0x01ffc9a7.
supportsInterfaceReturn
Container type for the return parameters of the supportsInterface(bytes4) function.
symbolCall
Function with signature symbol() and selector 0x95d89b41.
symbolReturn
Container type for the return parameters of the symbol() function.
tokenByIndexCall
Function with signature tokenByIndex(uint256) and selector 0x4f6ccce7.
tokenByIndexReturn
Container type for the return parameters of the tokenByIndex(uint256) function.
tokenOfOwnerByIndexCall
Function with signature tokenOfOwnerByIndex(address,uint256) and selector 0x2f745c59.
tokenOfOwnerByIndexReturn
Container type for the return parameters of the tokenOfOwnerByIndex(address,uint256) function.
tokenURICall
Function with signature tokenURI(uint256) and selector 0xc87b56dd.
tokenURIReturn
Container type for the return parameters of the tokenURI(uint256) function.
totalSupplyCall
Function with signature totalSupply() and selector 0x18160ddd.
totalSupplyReturn
Container type for the return parameters of the totalSupply() function.
transferFromCall
Function with signature transferFrom(address,address,uint256) and selector 0x23b872dd.
transferFromReturn
Container type for the return parameters of the transferFrom(address,address,uint256) function.
transferOwnershipCall
Function with signature transferOwnership(address) and selector 0xf2fde38b.
transferOwnershipReturn
Container type for the return parameters of the transferOwnership(address) function.
withdrawCall
Function with signature withdraw() and selector 0x3ccfd60b.
withdrawReturn
Container type for the return parameters of the withdraw() function.

Enums§

PKPNFTCalls
Container for all the PKPNFT function calls.
PKPNFTErrors
Container for all the PKPNFT custom errors.
PKPNFTEvents
Container for all the PKPNFT events.

Statics§

BYTECODE
The creation / init bytecode of the contract.
DEPLOYED_BYTECODE
The runtime bytecode of the contract, as deployed on the network.

Functions§

deploy
Deploys this contract using the given provider and constructor arguments, if any.
deploy_builder
Creates a RawCallBuilder for deploying this contract using the given provider and constructor arguments, if any.
new
Creates a new wrapper around an on-chain PKPNFT contract instance.