{
  "version": "0.1.0",
  "name": "strikr",
  "instructions": [
    {
      "name": "initializeStrikrCollection",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "strikrTreasury",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMint",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrCollectionTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "strikr_collection_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "strikrCollectionMasterEdition",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "strikr_collection_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "edition"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "tokenMetadataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "createPutOption",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "optionState",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "asset_nft_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "option-state"
              }
            ]
          }
        },
        {
          "name": "assetNftMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "strikrTreasury",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "signerAssetNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrAssetNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerPositionNftMint",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "buyerPositionNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerPositionNftMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "buyer_position_nft_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "buyerPositionNftMasterEdition",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "buyer_position_nft_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "edition"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "strikrCollectionMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "strikr_collection_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "strikrCollectionMasterEdition",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "strikr_collection_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "edition"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "tokenMetadataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "strikePrice",
          "type": "u64"
        },
        {
          "name": "duration",
          "type": "u64"
        },
        {
          "name": "premium",
          "type": "u64"
        },
        {
          "name": "isGraceIncluded",
          "type": "bool"
        }
      ]
    },
    {
      "name": "fillPutOption",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "optionState",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "asset_nft_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "option-state"
              }
            ]
          }
        },
        {
          "name": "assetNftMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "sellerPositionNftMint",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "sellerPositionNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerPositionNftMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "seller_position_nft_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "sellerPositionNftMasterEdition",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "seller_position_nft_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "edition"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "strikrCollectionMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "strikr_collection_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "strikrCollectionMasterEdition",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "strikr_collection_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "edition"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "strikrTreasury",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenMetadataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "exercisePutOption",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "optionState",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "asset_nft_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "option-state"
              }
            ]
          }
        },
        {
          "name": "assetNftMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "buyerPositionNftMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerPositionNftMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "buyer_position_nft_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "buyerPositionNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenMetadataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "closePutOptionBuyer",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "optionState",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "asset_nft_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "option-state"
              }
            ]
          }
        },
        {
          "name": "assetNftMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "buyerPositionNftMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerPositionNftMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "buyer_position_nft_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "buyerPositionNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "signerAssetNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrAssetNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenMetadataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "closePutOptionSeller",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "optionState",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "asset_nft_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "option-state"
              }
            ]
          }
        },
        {
          "name": "assetNftMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "sellerPositionNftMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerPositionNftMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "seller_position_nft_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "sellerPositionNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "signerAssetNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrAssetNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenMetadataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "closeOptionState",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "assetNftMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "optionState",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "asset_nft_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "option-state"
              }
            ]
          }
        },
        {
          "name": "strikrAssetNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "floorCreateCollectionIdentifier",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": false,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "collectionIdentifier",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "path": "collection_identifier_key"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "collection-identifier"
              }
            ]
          }
        },
        {
          "name": "collectionIdentifierKey",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "collectionMetadata",
          "type": {
            "defined": "CollectionMetadata"
          }
        }
      ]
    },
    {
      "name": "floorUpdateCollectionIdentifier",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": false,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "collectionIdentifier",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "path": "collection_identifier_key"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "collection-identifier"
              }
            ]
          }
        },
        {
          "name": "collectionIdentifierKey",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "collectionMetadata",
          "type": {
            "defined": "CollectionMetadata"
          }
        }
      ]
    },
    {
      "name": "floorSetCollectionTradeable",
      "accounts": [
        {
          "name": "signer",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "collectionIdentifier",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "path": "collection_identifier_key"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "collection-identifier"
              }
            ]
          }
        },
        {
          "name": "collectionIdentifierKey",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "flag",
          "type": "bool"
        }
      ]
    },
    {
      "name": "floorCreatePutOption",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "optionState",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "path": "option_key"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "option-state"
              }
            ]
          }
        },
        {
          "name": "optionKey",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "collectionIdentifier",
          "isMut": false,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "path": "collection_identifier_key"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "collection-identifier"
              }
            ]
          }
        },
        {
          "name": "collectionIdentifierKey",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "strikrTreasury",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerPositionNftMint",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "buyerPositionNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerPositionNftMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "buyer_position_nft_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "buyerPositionNftMasterEdition",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "buyer_position_nft_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "edition"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "strikrCollectionMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "strikr_collection_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "strikrCollectionMasterEdition",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "strikr_collection_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "edition"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "tokenMetadataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "strikePrice",
          "type": "u64"
        },
        {
          "name": "duration",
          "type": "u64"
        },
        {
          "name": "premium",
          "type": "u64"
        }
      ]
    },
    {
      "name": "floorFillPutOption",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "optionState",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "path": "option_key"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "option-state"
              }
            ]
          }
        },
        {
          "name": "optionKey",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "sellerPositionNftMint",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "sellerPositionNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerPositionNftMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "seller_position_nft_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "sellerPositionNftMasterEdition",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "seller_position_nft_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "edition"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "strikrCollectionMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "strikr_collection_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "strikrCollectionMasterEdition",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "strikr_collection_mint"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "edition"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "strikrTreasury",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenMetadataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "floorExercisePutOption",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "optionState",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "path": "option_key"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "option-state"
              }
            ]
          }
        },
        {
          "name": "optionKey",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "collectionIdentifier",
          "isMut": false,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "account": "FloorOptionState",
                "path": "option_state.collection_identifier_key"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "collection-identifier"
              }
            ]
          }
        },
        {
          "name": "collectionIdentifierKey",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "buyerPositionNftMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerPositionNftMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "buyer_position_nft_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "buyerPositionNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenMetadataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "floorDepositAssetBeforeExercise",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "optionState",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "path": "option_key"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "option-state"
              }
            ]
          }
        },
        {
          "name": "optionKey",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "collectionIdentifier",
          "isMut": false,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "account": "FloorOptionState",
                "path": "option_state.collection_identifier_key"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "collection-identifier"
              }
            ]
          }
        },
        {
          "name": "collectionIdentifierKey",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "assetNftMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "assetNftMetadata",
          "isMut": false,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "asset_nft_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "signerAssetNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrAssetNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenMetadataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "whitelistProof",
          "type": {
            "option": {
              "vec": {
                "array": [
                  "u8",
                  32
                ]
              }
            }
          }
        }
      ]
    },
    {
      "name": "floorClosePutOptionBuyer",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "optionState",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "path": "option_key"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "option-state"
              }
            ]
          }
        },
        {
          "name": "optionKey",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "buyerPositionNftMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerPositionNftMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "buyer_position_nft_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "buyerPositionNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenMetadataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "floorClosePutOptionSeller",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "optionState",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "path": "option_key"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "option-state"
              }
            ]
          }
        },
        {
          "name": "optionKey",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "sellerPositionNftMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerPositionNftMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "seller_position_nft_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "sellerPositionNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenMetadataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "floorCollectAssetOnExercise",
      "accounts": [
        {
          "name": "signer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "strikrAuthority",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "strikr-authority-seed"
              }
            ]
          }
        },
        {
          "name": "optionState",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "type": "publicKey",
                "path": "option_key"
              },
              {
                "kind": "const",
                "type": "string",
                "value": "option-state"
              }
            ]
          }
        },
        {
          "name": "optionKey",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "assetNftMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "sellerPositionNftMint",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerPositionNftMetadata",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "metadata"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "path": "token_metadata_program"
              },
              {
                "kind": "account",
                "type": "publicKey",
                "account": "Mint",
                "path": "seller_position_nft_mint"
              }
            ],
            "programId": {
              "kind": "account",
              "type": "publicKey",
              "path": "token_metadata_program"
            }
          }
        },
        {
          "name": "sellerPositionNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "signerAssetNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrAssetNftTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "strikrCollectionMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenMetadataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "associatedTokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    }
  ],
  "accounts": [
    {
      "name": "CollectionIdentifier",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "bump",
            "type": "u8"
          },
          {
            "name": "collectionIdentifierKey",
            "type": "publicKey"
          },
          {
            "name": "collectionMetadata",
            "type": {
              "defined": "CollectionMetadata"
            }
          },
          {
            "name": "isEnabled",
            "type": "bool"
          }
        ]
      }
    },
    {
      "name": "FloorOptionState",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "bump",
            "type": "u8"
          },
          {
            "name": "isExercised",
            "type": "bool"
          },
          {
            "name": "isCollateralDeposited",
            "type": "bool"
          },
          {
            "name": "isExpired",
            "type": "bool"
          },
          {
            "name": "isBuyerClosed",
            "type": "bool"
          },
          {
            "name": "isSellerClosed",
            "type": "bool"
          },
          {
            "name": "optionKey",
            "type": "publicKey"
          },
          {
            "name": "assetNftMint",
            "type": {
              "option": "publicKey"
            }
          },
          {
            "name": "collectionIdentifierKey",
            "type": "publicKey"
          },
          {
            "name": "buyerPositionNftMint",
            "type": "publicKey"
          },
          {
            "name": "sellerPositionNftMint",
            "type": {
              "option": "publicKey"
            }
          },
          {
            "name": "creationTimestamp",
            "type": "u64"
          },
          {
            "name": "fillTimestamp",
            "type": {
              "option": "u64"
            }
          },
          {
            "name": "exerciseTimestamp",
            "type": {
              "option": "u64"
            }
          },
          {
            "name": "optionType",
            "type": {
              "defined": "OptionType"
            }
          },
          {
            "name": "strikePrice",
            "type": "u64"
          },
          {
            "name": "duration",
            "type": "u64"
          },
          {
            "name": "premium",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "OptionState",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "bump",
            "type": "u8"
          },
          {
            "name": "isExercised",
            "type": "bool"
          },
          {
            "name": "isExpired",
            "type": "bool"
          },
          {
            "name": "isBuyerClosed",
            "type": "bool"
          },
          {
            "name": "isSellerClosed",
            "type": "bool"
          },
          {
            "name": "assetNftMint",
            "type": "publicKey"
          },
          {
            "name": "buyerPositionNftMint",
            "type": "publicKey"
          },
          {
            "name": "sellerPositionNftMint",
            "type": {
              "option": "publicKey"
            }
          },
          {
            "name": "creationTimestamp",
            "type": "u64"
          },
          {
            "name": "fillTimestamp",
            "type": {
              "option": "u64"
            }
          },
          {
            "name": "exerciseTimestamp",
            "type": {
              "option": "u64"
            }
          },
          {
            "name": "optionType",
            "type": {
              "defined": "OptionType"
            }
          },
          {
            "name": "strikePrice",
            "type": "u64"
          },
          {
            "name": "duration",
            "type": "u64"
          },
          {
            "name": "premium",
            "type": "u64"
          },
          {
            "name": "isGraceIncluded",
            "type": "bool"
          }
        ]
      }
    }
  ],
  "types": [
    {
      "name": "CollectionMetadata",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "V1",
            "fields": [
              {
                "name": "symbol",
                "type": "string"
              },
              {
                "name": "verified_creators",
                "type": {
                  "vec": "publicKey"
                }
              },
              {
                "name": "whitelist_root",
                "type": {
                  "array": [
                    "u8",
                    32
                  ]
                }
              }
            ]
          },
          {
            "name": "V2",
            "fields": [
              {
                "name": "collection_mint",
                "type": "publicKey"
              }
            ]
          }
        ]
      }
    },
    {
      "name": "OptionType",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Put"
          },
          {
            "name": "Call"
          }
        ]
      }
    }
  ],
  "events": [
    {
      "name": "CloseOptionStateEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "assetNftMint",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "ClosePutOptiontBuyerEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "assetNftMint",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "ClosePutOptionSellerEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "assetNftMint",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "CreatePutOptionEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "assetNftMint",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "ExercisePutOptionEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "assetNftMint",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "FillPutOptionEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "assetNftMint",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "ClosePutOptiontBuyerEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "optionState",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "ClosePutOptionSellerEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "optionState",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "CollectAssetOnExerciseEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "optionState",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "CreateCollectionIdentifierEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "collectionIdentifierKey",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "CreatePutOptionEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "optionState",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "DepositAssetBeforeExerciseEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "optionState",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "ExercisePutOptionEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "optionState",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "FillPutOptionEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "optionState",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "SetCollectionTradeableEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "collectionIdentifierKey",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "flag",
          "type": "bool",
          "index": false
        }
      ]
    },
    {
      "name": "UpdateCollectionIdentifierEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "collectionIdentifierKey",
          "type": "publicKey",
          "index": false
        }
      ]
    },
    {
      "name": "InitializeStrikrCollectionEvent",
      "fields": [
        {
          "name": "signer",
          "type": "publicKey",
          "index": false
        },
        {
          "name": "collectionMint",
          "type": "publicKey",
          "index": false
        }
      ]
    }
  ],
  "errors": [
    {
      "code": 6000,
      "name": "AdminAccessUnauthorized",
      "msg": "You do not have administrator access"
    },
    {
      "code": 6001,
      "name": "CollectionSymbolInvalid",
      "msg": "The NFT collection symbol you entered is invalid."
    },
    {
      "code": 6002,
      "name": "VerifiedCreatorsInvalid",
      "msg": "There should be 1 to 5 verified creators."
    },
    {
      "code": 6003,
      "name": "CollectionVerificationFailed",
      "msg": "Failed to verify if the NFT belongs to the collection."
    },
    {
      "code": 6004,
      "name": "StrikrCollectionNftInvalid",
      "msg": "Failed to verify the authenticity of the Strikr NFT collection"
    },
    {
      "code": 6005,
      "name": "StrikrCollectionDisabled",
      "msg": "Cannot create contracts on this NFT collection."
    },
    {
      "code": 6006,
      "name": "OptionInvalid",
      "msg": "Failed to verify if the option is valid in the given context"
    },
    {
      "code": 6007,
      "name": "OptionExpired",
      "msg": "The option has expired"
    },
    {
      "code": 6008,
      "name": "BuyerPositionUnauthorized",
      "msg": "You do not hold the buyer position NFT"
    },
    {
      "code": 6009,
      "name": "SellerPositionUnauthorized",
      "msg": "You do not hold the seller position NFT"
    },
    {
      "code": 6010,
      "name": "BuyerCloseInvalid",
      "msg": "The option cannot be closed if exercised."
    },
    {
      "code": 6011,
      "name": "SellerClosePremature",
      "msg": "Can not close a seller position before the option duration has passed"
    },
    {
      "code": 6012,
      "name": "OptionStateClosePremature",
      "msg": "Can not to close a OptionState account before the option is settled"
    }
  ]
}