{
    "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"
        }
    ]
}
