UNPKG

hadeswap-sdk

Version:

HadeSwap SDK for interacting with protocol

3,823 lines 115 kB
export declare type Hadeswap = {
    "version": "0.1.0";
    "name": "hadeswap";
    "instructions": [
        {
            "name": "initializePair";
            "accounts": [
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "hadoMarket";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "pairAuthorityAdapterProgram";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK Custom authority adapter"
                    ];
                },
                {
                    "name": "partialAdapterProgram";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK Custom partial adapter"
                    ];
                },
                {
                    "name": "partialAssetReceiver";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK Custom partial asset receiver"
                    ];
                },
                {
                    "name": "feeSolVault";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "feeTokenAccount";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK Fee token account"
                    ];
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "fundsTokenAccount";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK Funds token account"
                    ];
                },
                {
                    "name": "assetReceiver";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol fee"
                    ];
                },
                {
                    "name": "assetReceiverTokenAccount";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK Asset Receiver"
                    ];
                },
                {
                    "name": "nftsOwner";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "bumps";
                    "type": {
                        "defined": "PairBumps";
                    };
                },
                {
                    "name": "params";
                    "type": {
                        "defined": "PairParams";
                    };
                },
                {
                    "name": "bondingCurveType";
                    "type": {
                        "defined": "BondingCurveType";
                    };
                },
                {
                    "name": "pairType";
                    "type": {
                        "defined": "PairType";
                    };
                }
            ];
        },
        {
            "name": "createClassicAuthorityAdapter";
            "accounts": [
                {
                    "name": "authorityAdapter";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "depositSolToPair";
            "accounts": [
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "amountOfOrders";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "validateNft";
            "accounts": [
                {
                    "name": "nftValidationAdapter";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "validationWhitelist";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "depositNftToPair";
            "accounts": [
                {
                    "name": "nftPairBox";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "nftValidationAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "nftsOwner";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "nftMint";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftUserTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "vaultTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "tokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "associatedTokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataInfo";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "editionInfo";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "ownerTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "destTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "instructions";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "authorizationRulesProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "proof";
                    "type": {
                        "vec": {
                            "array": [
                                "u8",
                                32
                            ];
                        };
                    };
                },
                {
                    "name": "authorizationData";
                    "type": {
                        "option": {
                            "defined": "AuthorizationDataLocal";
                        };
                    };
                }
            ];
        },
        {
            "name": "initializeHadoMarket";
            "accounts": [
                {
                    "name": "hadoMarket";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "validationAdapterProgram";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK Custom validation adapter"
                    ];
                },
                {
                    "name": "pairTokenMint";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK Custom token mint"
                    ];
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "finishHadoMarket";
            "accounts": [
                {
                    "name": "hadoMarket";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "addClassicWhitelistToMarket";
            "accounts": [
                {
                    "name": "validationWhitelist";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "hadoMarket";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "whitelistedAddress";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK Funds token account"
                    ];
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "whitelistType";
                    "type": {
                        "defined": "NftValidationWhitelistType";
                    };
                }
            ];
        },
        {
            "name": "depositLiquidityToPair";
            "accounts": [
                {
                    "name": "nftPairBox";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "nftValidationAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "nftsOwner";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "nftMint";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftUserTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "vaultTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "tokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "associatedTokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataInfo";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "editionInfo";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "ownerTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "destTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "instructions";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "authorizationRulesProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "proof";
                    "type": {
                        "vec": {
                            "array": [
                                "u8",
                                32
                            ];
                        };
                    };
                },
                {
                    "name": "authorizationData";
                    "type": {
                        "option": {
                            "defined": "AuthorizationDataLocal";
                        };
                    };
                }
            ];
        },
        {
            "name": "putPairOnMarket";
            "accounts": [
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "buyNftFromPair";
            "accounts": [
                {
                    "name": "nftPairBox";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "nftsOwner";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "feeSolVault";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftMint";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "vaultNftTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftUserTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "assetReceiver";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "editionInfo";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataInfo";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "ownerTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "destTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "instructions";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "authorizationRulesProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "protocolFeeReceiver";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "tokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "associatedTokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "maxAmountToPay";
                    "type": "u64";
                },
                {
                    "name": "skipFailed";
                    "type": "bool";
                },
                {
                    "name": "authorizationData";
                    "type": {
                        "option": {
                            "defined": "AuthorizationDataLocal";
                        };
                    };
                },
                {
                    "name": "payRoyalty";
                    "type": "bool";
                }
            ];
        },
        {
            "name": "sellNftToTokenToNftPair";
            "accounts": [
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftValidationAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "nftMint";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "assetReceiverTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftUserTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "assetReceiver";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "protocolFeeReceiver";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "tokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "associatedTokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataInfo";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "editionInfo";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "ownerTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "destTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "instructions";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "authorizationRulesProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "minAmountToGet";
                    "type": "u64";
                },
                {
                    "name": "skipFailed";
                    "type": "bool";
                },
                {
                    "name": "proof";
                    "type": {
                        "vec": {
                            "array": [
                                "u8",
                                32
                            ];
                        };
                    };
                },
                {
                    "name": "authorizationData";
                    "type": {
                        "option": {
                            "defined": "AuthorizationDataLocal";
                        };
                    };
                },
                {
                    "name": "payRoyalty";
                    "type": "bool";
                }
            ];
        },
        {
            "name": "sellNftToLiquidityPair";
            "accounts": [
                {
                    "name": "nftPairBox";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftValidationAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "nftMint";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftsOwner";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "feeSolVault";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "newVaultTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftUserTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "ownerTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "destTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "instructions";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "authorizationRulesProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "protocolFeeReceiver";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "tokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "associatedTokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataInfo";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "editionInfo";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "minAmountToGet";
                    "type": "u64";
                },
                {
                    "name": "skipFailed";
                    "type": "bool";
                },
                {
                    "name": "proof";
                    "type": {
                        "vec": {
                            "array": [
                                "u8",
                                32
                            ];
                        };
                    };
                },
                {
                    "name": "authorizationData";
                    "type": {
                        "option": {
                            "defined": "AuthorizationDataLocal";
                        };
                    };
                },
                {
                    "name": "payRoyalty";
                    "type": "bool";
                }
            ];
        },
        {
            "name": "withdrawSolFromPair";
            "accounts": [
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "quantityOfOrders";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "withdrawNftFromPair";
            "accounts": [
                {
                    "name": "nftPairBox";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "nftsOwner";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "nftMint";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "vaultNftTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftUserTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "editionInfo";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataInfo";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "ownerTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "destTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "instructions";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "authorizationRulesProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "tokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "associatedTokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "authorizationData";
                    "type": {
                        "option": {
                            "defined": "AuthorizationDataLocal";
                        };
                    };
                }
            ];
        },
        {
            "name": "withdrawLiquidityFromBalancedPair";
            "accounts": [
                {
                    "name": "nftPairBox";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "feeSolVault";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftsOwner";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "nftMint";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "vaultNftTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "editionInfo";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataInfo";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "ownerTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "destTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "instructions";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "authorizationRulesProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "nftUserTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "tokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "associatedTokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "authorizationData";
                    "type": {
                        "option": {
                            "defined": "AuthorizationDataLocal";
                        };
                    };
                }
            ];
        },
        {
            "name": "modifyPair";
            "accounts": [
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "params";
                    "type": {
                        "defined": "PairParams";
                    };
                }
            ];
        },
        {
            "name": "modifyPairByCurrentSpotPrice";
            "accounts": [
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "params";
                    "type": {
                        "defined": "PairParams";
                    };
                }
            ];
        },
        {
            "name": "withdrawLiquidityFromBuyOrdersPair";
            "accounts": [
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "feeSolVault";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "withdrawLiquidityFromSellOrdersPair";
            "accounts": [
                {
                    "name": "nftPairBoxFirst";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftMintFirst";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "vaultNftTokenAccountFirst";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftUserTokenAccountFirst";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftPairBoxSecond";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "editionInfoFirst";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataInfoFirst";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "ownerTokenRecordFirst";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "destTokenRecordFirst";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "editionInfoSecond";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataInfoSecond";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "ownerTokenRecordSecond";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "destTokenRecordSecond";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "instructions";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "authorizationRulesProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "nftMintSecond";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "vaultNftTokenAccountSecond";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftUserTokenAccountSecond";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "nftsOwner";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "feeSolVault";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "tokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "associatedTokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "withdrawLiquidityOrderVirtualFees";
            "accounts": [
                {
                    "name": "liquidityProvisionOrder";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "feeSolVault";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "closeVirtualNftSwapPair";
            "accounts": [
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "feeSolVault";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "withdrawVirtualFees";
            "accounts": [
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "feeSolVault";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "closeNftPairBox";
            "accounts": [
                {
                    "name": "nftPairBox";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "admin";
                    "isMut": true;
                    "isSigner": true;
                    "docs": [
                        "CHECK"
                    ];
                }
            ];
            "args": [];
        },
        {
            "name": "closeLiquidityProvisionOrder";
            "accounts": [
                {
                    "name": "liquidityProvisionOrder";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "admin";
                    "isMut": true;
                    "isSigner": true;
                    "docs": [
                        "CHECK"
                    ];
                }
            ];
            "args": [];
        },
        {
            "name": "customValidateNft";
            "accounts": [
                {
                    "name": "nftValidationAdapter";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "hadoMarket";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "pair";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK Not supported now"
                    ];
                },
                {
                    "name": "whitelistedAddress";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK Funds token account"
                    ];
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "adapterProgramSigner";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "duration";
                    "type": "u64";
                },
                {
                    "name": "nftValidationWhitelistType";
                    "type": {
                        "defined": "NftValidationWhitelistType";
                    };
                }
            ];
        },
        {
            "name": "modifyHadoMarket";
            "accounts": [
                {
                    "name": "hadoMarket";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "validationAdapterProgram";
                    "isMut": false;
                    "isSigner": false;
                    "docs": [
                        "CHECK Custom validation adapter"
                    ];
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [];
        },
        {
            "name": "addMerkleTreeWhitelist";
            "accounts": [
                {
                    "name": "nftValidationAdapter";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "hadoMarket";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "root";
                    "type": {
                        "array": [
                            "u8",
                            32
                        ];
                    };
                }
            ];
        },
        {
            "name": "closeNftValidationAdapter";
            "accounts": [
                {
                    "name": "nftValidationAdapter";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "admin";
                    "isMut": true;
                    "isSigner": true;
                    "docs": [
                        "CHECK"
                    ];
                }
            ];
            "args": [];
        },
        {
            "name": "closeClassicWhitelist";
            "accounts": [
                {
                    "name": "validationWhitelist";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "admin";
                    "isMut": true;
                    "isSigner": true;
                    "docs": [
                        "CHECK"
                    ];
                }
            ];
            "args": [];
        },
        {
            "name": "closeNftValidationAdapterV2";
            "accounts": [
                {
                    "name": "nftValidationAdapterV2";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "admin";
                    "isMut": true;
                    "isSigner": true;
                    "docs": [
                        "CHECK"
                    ];
                }
            ];
            "args": [];
        },
        {
            "name": "withdrawOutstandingTokensByAdmin";
            "accounts": [
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "nftsOwner";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "nftMint";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "vaultNftTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftUserTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "tokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "editionInfo";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataInfo";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "ownerTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "destTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "instructions";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "authorizationRulesProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "associatedTokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "authorizationData";
                    "type": {
                        "option": {
                            "defined": "AuthorizationDataLocal";
                        };
                    };
                }
            ];
        },
        {
            "name": "depositLiquidityOnlyBuyOrders";
            "accounts": [
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "quantityOfOrders";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "withdrawLiquidityOnlyBuyOrders";
            "accounts": [
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "feeSolVault";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "quantityOfOrders";
                    "type": "u64";
                }
            ];
        },
        {
            "name": "depositLiquiditySingleSellToPair";
            "accounts": [
                {
                    "name": "nftPairBox";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "nftValidationAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "nftsOwner";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "nftMint";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftUserTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "vaultTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "tokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "associatedTokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "ownerTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "destTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "instructions";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "authorizationRulesProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataInfo";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "editionInfo";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "proof";
                    "type": {
                        "vec": {
                            "array": [
                                "u8",
                                32
                            ];
                        };
                    };
                },
                {
                    "name": "authorizationData";
                    "type": {
                        "option": {
                            "defined": "AuthorizationDataLocal";
                        };
                    };
                }
            ];
        },
        {
            "name": "withdrawLiquiditySingleSellOrder";
            "accounts": [
                {
                    "name": "nftPairBox";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftMint";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "vaultNftTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "nftUserTokenAccount";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "authorityAdapter";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "pair";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "user";
                    "isMut": true;
                    "isSigner": true;
                },
                {
                    "name": "nftsOwner";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "feeSolVault";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "fundsSolVault";
                    "isMut": true;
                    "isSigner": false;
                    "docs": [
                        "CHECK vault for sol"
                    ];
                },
                {
                    "name": "editionInfo";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataInfo";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "ownerTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "destTokenRecord";
                    "isMut": true;
                    "isSigner": false;
                },
                {
                    "name": "instructions";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "authorizationRulesProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "tokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "associatedTokenProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "systemProgram";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "rent";
                    "isMut": false;
                    "isSigner": false;
                },
                {
                    "name": "metadataProgram";
                    "isMut": false;
                    "isSigner": false;
                }
            ];
            "args": [
                {
                    "name": "authorizationData";
                    "type": {
                        "option": {
                            "defined": "AuthorizationDataLocal";
                        };
                    };
                }
            ];
        }
    ];
    "accounts": [
        {
            "name": "adapterWhitelist";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "whitelistedAdapterProgram";
                        "type": "publicKey";
                    },
                    {
                        "name": "adapterType";
                        "type": {
                            "defined": "AdapterType";
                        };
                    }
                ];
            };
        },
        {
            "name": "authorityAdapter";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "pair";
                        "type": "publicKey";
                    },
                    {
                        "name": "authorityAdapterProgram";
                        "type": "publicKey";
                    },
                    {
                        "name": "authorityOwner";
                        "type": "publicKey";
                    },
                    {
                        "name": "authorityType";
                        "type": {
                            "defined": "AuthorityAdapterType";
                        };
                    },
                    {
                        "name": "expiringAt";
                        "type": "u64";
                    },
                    {
                        "name": "authorityState";
                        "type": {
                            "defined": "AuthorityState";
                        };
                    }
                ];
            };
        },
        {
            "name": "classicValidationWhitelist";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "hadoMarket";
                        "type": "publicKey";
                    },
                    {
                        "name": "pair";
                        "type": "publicKey";
                    },
                    {
                        "name": "whitelistType";
                        "type": {
                            "defined": "NftValidationWhitelistType";
                        };
                    },
                    {
                        "name": "whitelistedAddress";
                        "type": "publicKey";
                    }
                ];
            };
        },
        {
            "name": "hadoMarket";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "marketAuthority";
                        "type": "publicKey";
                    },
                    {
                        "name": "marketState";
                        "type": {
                            "defined": "MarketState";
                        };
                    },
                    {
                        "name": "marketTrustType";
                        "type": {
                            "defined": "MarketTrustType";
                        };
                    },
                    {
                        "name": "pairValidationType";
                        "type": {
                            "defined": "PairValidationType";
                        };
                    },
                    {
                        "name": "validationAdapterProgram";
                        "type": "publicKey";
                    },
                    {
                        "name": "pairTokenType";
                        "type": {
                            "defined": "PairTokenType";
                        };
                    },
                    {
                        "name": "pairTokenMint";
                        "type": "publicKey";
                    }
                ];
            };
        },
        {
            "name": "liquidityProvisionOrder";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "nftSwapPair";
                        "type": "publicKey";
                    },
                    {
                        "name": "lpOrderState";
                        "type": {
                            "defined": "LpOrderState";
                        };
                    },
                    {
                        "name": "orderACounter";
                        "type": "i64";
                    },
                    {
                        "name": "orderBCounter";
                        "type": "i64";
                    },
                    {
                        "name": "accumulatedFee";
                        "type": "u64";
                    },
                    {
                        "name": "lpTokenMint";
                        "type": "publicKey";
                    },
                    {
                        "name": "liquidityFeeBump";
                        "type": "u8";
                    },
                    {
                        "name": "createdAt";
                        "type": "u64";
                    }
                ];
            };
        },
        {
            "name": "nftPairBox";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "pair";
                        "type": "publicKey";
                    },
                    {
                        "name": "nftMint";
                        "type": "publicKey";
                    },
                    {
                        "name": "nftMetadata";
                        "type": "publicKey";
                    },
                    {
                        "name": "nftBoxType";
                        "type": {
                            "defined": "NftBoxType";
                        };
                    },
                    {
                        "name": "vaultTokenAccount";
                        "type": "publicKey";
                    },
                    {
                        "name": "status";
                        "type": {
                            "defined": "NftBoxState";
                        };
                    }
                ];
            };
        },
        {
            "name": "nftSwapPair";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "hadoMarket";
                        "type": "publicKey";
                    },
                    {
                        "name": "pairType";
                        "type": {
                            "defined": "PairType";
                        };
                    },
                    {
                        "name": "pairState";
                        "type": {
                            "defined": "PairState";
                        };
                    },
                    {
                        "name": "pairAuthorityType";
                        "type": {
                            "defined": "PairAuthorityType";
                        };
                    },
                    {
                        "name": "pairAuthorityAdapterProgram";
                        "type": "publicKey";
                    },
                    {
                        "name": "lpTokensMint";
                        "type": "publicKey";
                    },
                    {
                        "name": "lpTokensInCirculation";
                        "type": "u64";
                    },
                    {
                        "name": "bondingCurve";
                        "type": {
                            "defined": "BondingCurve";
                        };
                    },
                    {
                        "name": "baseSpotPrice";
                        "type": "u64";
                    },
                    {
                        "name": "fee";
                        "type": "u64";
                    },
                    {
                        "name": "mathCounter";
                        "type": "i64";
                    },
                    {
                        "name": "currentSpotPrice";
                        "type": "u64";
                    },
                    {
                        "name": "feeTokenAccount";
                        "type": "publicKey";
                    },
                    {
                        "name": "feeVaultSeed";
                        "type": "u8";
                    },
                    {
                        "name": "solOrTokenFeeAmount";
                        "type": "u64";
                    },
                    {
                        "name": "fundsTokenAccount";
                        "type": "publicKey";
                    },
                    {
                        "name": "fundsSolVaultSeed";
                        "type": "u8";
                    },
                    {
                        "name": "fundsSolOrTokenBalance";
                        "type": "u64";
                    },
                    {
                        "name": "initialFundsSolOrTokenBalance";
                        "type": "u64";
                    },
                    {
                        "name": "buyOrdersQuantity";
                        "type": "u64";
                    },
                    {
                        "name": "nftsSeed";
                        "type": "u8";
                    },
                    {
                        "name": "nftsCount";
                        "type": "u64";
                    },
                    {
                        "name": "lastTransactedAt";
                        "type": "u64";
                    },
                    {
                        "name": "concentrationIndex";
                        "type": "u64";
                    },
                    {
                        "name": "assetReceiver";
                        "type": "publicKey";
                    }
                ];
            };
        },
        {
            "name": "nftValidationAdapterV2";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "hadoMarket";
                        "type": "publicKey";
                    },
                    {
                        "name": "scopeType";
                        "type": {
                            "defined": "ScopeType";
                        };
                    },
                    {
                        "name": "pair";
                        "type": "publicKey";
                    },
                    {
                        "name": "nftValidationProgram";
                        "type": "publicKey";
                    },
                    {
                        "name": "nftValidationWhitelistType";
                        "type": {
                            "defined": "NftValidationWhitelistTypeV2";
                        };
                    },
                    {
                        "name": "whitelistedAddress";
                        "type": "publicKey";
                    },
                    {
                        "name": "root";
                        "type": {
                            "array": [
                                "u8",
                                32
                            ];
                        };
                    },
                    {
                        "name": "nftValidationDurationType";
                        "type": {
                            "defined": "NftValidationDurationType";
                        };
                    },
                    {
                        "name": "validUntil";
                        "type": "u64";
                    }
                ];
            };
        },
        {
            "name": "nftValidationAdapter";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "hadoMarket";
                        "type": "publicKey";
                    },
                    {
                        "name": "scopeType";
                        "type": {
                            "defined": "ScopeType";
                        };
                    },
                    {
                        "name": "pair";
                        "type": "publicKey";
                    },
                    {
                        "name": "nftValidationProgram";
                        "type": "publicKey";
                    },
                    {
                        "name": "nftValidationWhitelistType";
                        "type": {
                            "defined": "NftValidationWhitelistType";
                        };
                    },
                    {
                        "name": "whitelistedAddress";
                        "type": "publicKey";
                    },
                    {
                        "name": "nftValidationDurationType";
                        "type": {
                            "defined": "NftValidationDurationType";
                        };
                    },
                    {
                        "name": "validUntil";
                        "type": "u64";
                    }
                ];
            };
        },
        {
            "name": "pdaPlacoholder";
            "type": {
                "kind": "struct";
                "fields": [];
            };
        },
        {
            "name": "protocolAdminMultisig";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "protocolSettings";
                        "type": "publicKey";
                    },
                    {
                        "name": "admin";
                        "type": "publicKey";
                    },
                    {
                        "name": "weight";
                        "type": "u64";
                    }
                ];
            };
        },
        {
            "name": "protocolSettingsV1";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "protocolFee";
                        "type": "u64";
                    },
                    {
                        "name": "protocolFeeMultiplier";
                        "type": "u64";
                    },
                    {
                        "name": "maxFee";
                        "type": "u64";
                    },
                    {
                        "name": "protocolFeeReceiver";
                        "type": "publicKey";
                    },
                    {
                        "name": "adminThresholdAmountMultisig";
                        "type": "u64";
                    }
                ];
            };
        }
    ];
    "types": [
        {
            "name": "PairParams";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "delta";
                        "type": "u64";
                    },
                    {
                        "name": "spotPrice";
                        "type": "u64";
                    },
                    {
                        "name": "fee";
                        "type": "u64";
                    }
                ];
            };
        },
        {
            "name": "PairBumps";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "fundsSolVaultSeed";
                        "type": "u8";
                    },
                    {
                        "name": "feeVaultSeed";
                        "type": "u8";
                    },
                    {
                        "name": "nftsSeed";
                        "type": "u8";
                    }
                ];
            };
        },
        {
            "name": "BondingCurve";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "delta";
                        "type": "u64";
                    },
                    {
                        "name": "bondingType";
                        "type": {
                            "defined": "BondingCurveType";
                        };
                    }
                ];
            };
        },
        {
            "name": "AuthorizationDataLocal";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "payload";
                        "type": {
                            "vec": {
                                "defined": "TaggedPayload";
                            };
                        };
                    }
                ];
            };
        },
        {
            "name": "TaggedPayload";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "name";
                        "type": "string";
                    },
                    {
                        "name": "payload";
                        "type": {
                            "defined": "PayloadTypeLocal";
                        };
                    }
                ];
            };
        },
        {
            "name": "SeedsVecLocal";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "seeds";
                        "docs": [
                            "The vector of derivation seeds."
                        ];
                        "type": {
                            "vec": "bytes";
                        };
                    }
                ];
            };
        },
        {
            "name": "ProofInfoLocal";
            "type": {
                "kind": "struct";
                "fields": [
                    {
                        "name": "proof";
                        "docs": [
                            "The merkle proof."
                        ];
                        "type": {
                            "vec": {
                                "array": [
                                    "u8",
                                    32
                                ];
                            };
                        };
                    }
                ];
            };
        },
        {
            "name": "AdapterType";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Validation";
                    },
                    {
                        "name": "Authority";
                    },
                    {
                        "name": "Partial";
                    }
                ];
            };
        },
        {
            "name": "AuthorityAdapterType";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "OneTime";
                    },
                    {
                        "name": "Persistent";
                    }
                ];
            };
        },
        {
            "name": "AuthorityState";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Active";
                    },
                    {
                        "name": "Used";
                    },
                    {
                        "name": "Expired";
                    },
                    {
                        "name": "Revoked";
                    }
                ];
            };
        },
        {
            "name": "MarketTrustType";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Unverified";
                    },
                    {
                        "name": "Verified";
                    }
                ];
            };
        },
        {
            "name": "MarketState";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Initializing";
                    },
                    {
                        "name": "Available";
                    }
                ];
            };
        },
        {
            "name": "PairValidationType";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "ClassicValidation";
                    },
                    {
                        "name": "CustomValidation";
                    }
                ];
            };
        },
        {
            "name": "PairTokenType";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "NativeSol";
                    },
                    {
                        "name": "Spl";
                    }
                ];
            };
        },
        {
            "name": "LpOrderState";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Virtual";
                    },
                    {
                        "name": "Tokenized";
                    },
                    {
                        "name": "WithdrawnVirtual";
                    },
                    {
                        "name": "WithdrawnTokenized";
                    }
                ];
            };
        },
        {
            "name": "NftBoxState";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Closed";
                    },
                    {
                        "name": "Active";
                    }
                ];
            };
        },
        {
            "name": "NftBoxType";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Escrow";
                    },
                    {
                        "name": "Escrowless";
                    }
                ];
            };
        },
        {
            "name": "PairType";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "TokenForNft";
                    },
                    {
                        "name": "NftForToken";
                    },
                    {
                        "name": "LiquidityProvision";
                    }
                ];
            };
        },
        {
            "name": "PairState";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Initializing";
                    },
                    {
                        "name": "OnMarketVirtual";
                    },
                    {
                        "name": "OnMarketTokenized";
                    },
                    {
                        "name": "Frozen";
                    }
                ];
            };
        },
        {
            "name": "PairAuthorityType";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "ClassicAuthority";
                    },
                    {
                        "name": "CustomAuthority";
                    }
                ];
            };
        },
        {
            "name": "PartialSettings";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "None";
                    },
                    {
                        "name": "CustomPartial";
                    }
                ];
            };
        },
        {
            "name": "BondingCurveType";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Linear";
                    },
                    {
                        "name": "Exponential";
                    },
                    {
                        "name": "XYK";
                    }
                ];
            };
        },
        {
            "name": "NftValidationWhitelistTypeV2";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Creator";
                    },
                    {
                        "name": "Nft";
                    },
                    {
                        "name": "MerkleTree";
                    }
                ];
            };
        },
        {
            "name": "ScopeType";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Market";
                    },
                    {
                        "name": "Pair";
                    }
                ];
            };
        },
        {
            "name": "NftValidationDurationType";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Finite";
                    },
                    {
                        "name": "Infinite";
                    }
                ];
            };
        },
        {
            "name": "NftValidationWhitelistType";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Creator";
                    },
                    {
                        "name": "Nft";
                    },
                    {
                        "name": "CollectionId";
                    }
                ];
            };
        },
        {
            "name": "PayloadTypeLocal";
            "type": {
                "kind": "enum";
                "variants": [
                    {
                        "name": "Pubkey";
                        "fields": [
                            "publicKey"
                        ];
                    },
                    {
                        "name": "Seeds";
                        "fields": [
                            {
                                "defined": "SeedsVecLocal";
                            }
                        ];
                    },
                    {
                        "name": "MerkleProof";
                        "fields": [
                            {
                                "defined": "ProofInfoLocal";
                            }
                        ];
                    },
                    {
                        "name": "Number";
                        "fields": [
                            "u64"
                        ];
                    }
                ];
            };
        }
    ];
    "errors": [
        {
            "code": 6000;
            "name": "MetadataDoesntExist";
            "msg": "MetadataDoesntExist";
        },
        {
            "code": 6001;
            "name": "DerivedKeyInvalid";
            "msg": "DerivedKeyInvalid";
        },
        {
            "code": 6002;
            "name": "InvalidCollectionDetails";
            "msg": "InvalidCollectionDetails";
        },
        {
            "code": 6003;
            "name": "InvalidCollection";
            "msg": "InvalidCollection";
        },
        {
            "code": 6004;
            "name": "InvalidCollectionMint";
            "msg": "InvalidCollectionMint";
        },
        {
            "code": 6005;
            "name": "NftNotVerified";
            "msg": "NftNotVerified";
        },
        {
            "code": 6006;
            "name": "InvalidOwner";
            "msg": "InvalidOwner";
        },
        {
            "code": 6007;
            "name": "InvalidDelta";
            "msg": "InvalidDelta";
        },
        {
            "code": 6008;
            "name": "InvalidFee";
            "msg": "InvalidFee";
        },
        {
            "code": 6009;
            "name": "InvalidPairType";
            "msg": "InvalidPairType";
        },
        {
            "code": 6010;
            "name": "NotEnoughInTokenAccount";
            "msg": "NotEnoughInTokenAccount";
        },
        {
            "code": 6011;
            "name": "InvalidMint";
            "msg": "InvalidMint";
        },
        {
            "code": 6012;
            "name": "InvalidSolVault";
            "msg": "InvalidSolVault";
        },
        {
            "code": 6013;
            "name": "InvalidFundingAmount";
            "msg": "InvalidFundingAmount";
        },
        {
            "code": 6014;
            "name": "NotEnoughLamports";
            "msg": "NotEnoughLamports";
        },
        {
            "code": 6015;
            "name": "InvalidJpegOwner";
            "msg": "InvalidJpegOwner";
        },
        {
            "code": 6016;
            "name": "InvalidTokenAccount";
            "msg": "InvalidTokenAccount";
        },
        {
            "code": 6017;
            "name": "InvalidPayer";
            "msg": "InvalidPayer";
        },
        {
            "code": 6018;
            "name": "ShouldBeActive";
            "msg": "ShouldBeActive";
        },
        {
            "code": 6019;
            "name": "CantMakeZeroOrders";
            "msg": "Can't make 0 orders";
        },
        {
            "code": 6020;
            "name": "OnlyClassicAuthority";
            "msg": "OnlyClassicAuthority";
        },
        {
            "code": 6021;
            "name": "NotValidAuthorityAdapter";
            "msg": "NotValidAuthorityAdapter";
        },
        {
            "code": 6022;
            "name": "UserDoesntHaveAuthority";
            "msg": "UserDoesntHaveAuthority";
        },
        {
            "code": 6023;
            "name": "WrongSeed";
            "msg": "WrongSeed";
        },
        {
            "code": 6024;
            "name": "CanDepositSolOnlyToTokenToNft";
            "msg": "CanDepositSolOnlyToTokenToNft";
        },
        {
            "code": 6025;
            "name": "MaxAmountOfOrdersSucceeded";
            "msg": "MaxAmountOfOrdersSucceeded";
        },
        {
            "code": 6026;
            "name": "CanDepositNftOnlyToNftToToken";
            "msg": "CanDepositNftOnlyToNftToToken";
        },
        {
            "code": 6027;
            "name": "TokenAccountDoesntContainNft";
            "msg": "TokenAccountDoesntContainNft";
        },
        {
            "code": 6028;
            "name": "MarketAuthorityIncorrect";
            "msg": "MarketAuthorityIncorrect";
        },
        {
            "code": 6029;
            "name": "CanAddWhitelistOnlyToInitializingMarket";
            "msg": "CanAddWhitelistOnlyToInitializingMarket";
        },
        {
            "code": 6030;
            "name": "CanPutPairsOnlyToAvailableMarkets";
            "msg": "CanPutPairsOnlyToAvailableMarkets";
        },
        {
            "code": 6031;
            "name": "PairAndNftValidationMarketDoesntMatch";
            "msg": "PairAndNftValidationMarketDoesntMatch";
        },
        {
            "code": 6032;
            "name": "OnlyMarketScopeSupported";
            "msg": "OnlyMarketScopeSupported";
        },
        {
            "code": 6033;
            "name": "NotWhitelistedNftForThisMarket";
            "msg": "NotWhitelistedNftForThisMarket";
        },
        {
            "code": 6034;
            "name": "CanDepositOnlyToLiquidityProvision";
            "msg": "CanDepositOnlyToLiquidityProvision";
        },
        {
            "code": 6035;
            "name": "NftBoxDoesntMatchPair";
            "msg": "NftBoxDoesntMatchPair";
        },
        {
            "code": 6036;
            "name": "NftBoxShouldBeActive";
            "msg": "NftBoxShouldBeActive";
        },
        {
            "code": 6037;
            "name": "NftBoxDoesntMatchMint";
            "msg": "NftBoxDoesntMatchMint";
        },
        {
            "code": 6038;
            "name": "CantBuyNftFromTokenForNft";
            "msg": "CantBuyNftFromTokenForNft";
        },
        {
            "code": 6039;
            "name": "OnlyTokenForNftIsEligibleForThisSell";
            "msg": "OnlyTokenForNftIsEligibleForThisSell";
        },
        {
            "code": 6040;
            "name": "NoBuyOrdersOnThisPair";
            "msg": "NoBuyOrdersOnThisPair";
        },
        {
            "code": 6041;
            "name": "OnlyLiquidityProvisionIsEligibleForThisSell";
            "msg": "OnlyLiquidityProvisionIsEligibleForThisSell";
        },
        {
            "code": 6042;
            "name": "OnlyTokenForNftIsEligibleForThisWithdrawal";
            "msg": "OnlyTokenForNftIsEligibleForThisWithdrawal";
        },
        {
            "code": 6043;
            "name": "OnlyNftForTokenIsEligibleForThisWithdrawal";
            "msg": "OnlyNftForTokenIsEligibleForThisWithdrawal";
        },
        {
            "code": 6044;
            "name": "OnlyLiquidityProvisionIsEligibleForThisWithdrawal";
            "msg": "OnlyLiquidityProvisionIsEligibleForThisWithdrawal";
        },
        {
            "code": 6045;
            "name": "InstructionIsNotSupported";
            "msg": "InstructionIsNotSupported";
        },
        {
            "code": 6046;
            "name": "CanTradeOnlyWithPairsOnMarket";
            "msg": "CanTradeOnlyWithPairsOnMarket";
        },
        {
            "code": 6047;
            "name": "NoLiquidityFeesToWithdraw";
            "msg": "NoLiquidityFeesToWithdraw";
        },
        {
            "code": 6048;
            "name": "MaxAmountToPayExceeded";
            "msg": "MaxAmountToPayExceeded";
        },
        {
            "code": 6049;
            "name": "GettingLessThanMinAmountToGet";
            "msg": "GettingLessThanMinAmountToGet";
        },
        {
            "code": 6050;
            "name": "UserDoesntHaveHadomarketAuthority";
            "msg": "UserDoesntHaveHadomarketAuthority";
        },
        {
            "code": 6051;
            "name": "HadomarketAlreadyFinished";
            "msg": "HadomarketAlreadyFinished";
        },
        {
            "code": 6052;
            "name": "CanDepositLiqudityOnlyToVirtualOrInitializingPairs";
            "msg": "CanDepositLiqudityOnlyToVirtualOrInitializingPairs";
        },
        {
            "code": 6053;
            "name": "CanModifyOnlyToVirtualOrInitializingPairs";
            "msg": "CanModifyOnlyToVirtualOrInitializingPairs";
        },
        {
            "code": 6054;
            "name": "LiquidityProvisionOrderPairDoesntMatch";
            "msg": "LiquidityProvisionOrderPairDoesntMatch";
        },
        {
            "code": 6055;
            "name": "OnlyVirtualLpOrdersCanBeWithdrawnByThisFunction";
            "msg": "OnlyVirtualLpOrdersCanBeWithdrawnByThisFunction";
        },
        {
            "code": 6056;
            "name": "OnlyVirtualOrTokenizedLpOrdersCanBeReplacedByThisFunction";
            "msg": "OnlyVirtualOrTokenizedLpOrdersCanBeReplacedByThisFunction";
        },
        {
            "code": 6057;
            "name": "LiquidityProvisionOrderNotEdge";
            "msg": "LiquidityProvisionOrderNotEdge";
        },
        {
            "code": 6058;
            "name": "NftPairBoxNotParsingFromRemaining";
            "msg": "NftPairBoxNotParsingFromRemaining";
        },
        {
            "code": 6059;
            "name": "VaultNftTokenAccountNotParsingFromRemaining";
            "msg": "VaultNftTokenAccountNotParsingFromRemaining";
        },
        {
            "code": 6060;
            "name": "UserTokenAccountNotParsingFromRemaining";
            "msg": "UserTokenAccountNotParsingFromRemaining";
        },
        {
            "code": 6061;
            "name": "WithdrawingOnlyAtLeastOneBuyAndOneSellPairs";
            "msg": "WithdrawingOnlyAtLeastOneBuyAndOneSellPairs";
        },
        {
            "code": 6062;
            "name": "VaultDoesntMatchBox";
            "msg": "VaultDoesntMatchBox";
        },
        {
            "code": 6063;
            "name": "WithdrawingOnlyBuyOrdersPairs";
            "msg": "WithdrawingOnlyBuyOrdersPairs";
        },
        {
            "code": 6064;
            "name": "WithdrawingOnlySellOrdersPairs";
            "msg": "WithdrawingOnlySellOrdersPairs";
        },
        {
            "code": 6065;
            "name": "LiquidityProvisionOrderIsWithdrawn";
            "msg": "LiquidityProvisionOrderIsWithdrawn";
        },
        {
            "code": 6066;
            "name": "LiquidityProvisionOrderIsNotCorrectOrderForPair";
            "msg": "LiquidityProvisionOrderIsNotCorrectOrderForPair";
        },
        {
            "code": 6067;
            "name": "OnlyMarketVirtualPairsCanBeTokenized";
            "msg": "OnlyMarketVirtualPairsCanBeTokenized";
        },
        {
            "code": 6068;
            "name": "OnlyLiquidityProvisionPairsCanBeTokenized";
            "msg": "OnlyLiquidityProvisionPairsCanBeTokenized";
        },
        {
            "code": 6069;
            "name": "OnlyInitializingPairsCanBePutOnMarket";
            "msg": "OnlyInitializingPairsCanBePutOnMarket";
        },
        {
            "code": 6070;
            "name": "CanMakeLpOrderTokenizedOnlyFromTokenizedPair";
            "msg": "CanMakeLpOrderTokenizedOnlyFromTokenizedPair";
        },
        {
            "code": 6071;
            "name": "OnlyVirtualLpOrderCanBeTokenized";
            "msg": "OnlyVirtualLpOrderCanBeTokenized";
        },
        {
            "code": 6072;
            "name": "OnlyTokenizedLpOrdersCanWithdrawFees";
            "msg": "OnlyTokenizedLpOrdersCanWithdrawFees";
        },
        {
            "code": 6073;
            "name": "UserLpTokenAccountDoesntContainNft";
            "msg": "UserLpTokenAccountDoesntContainNft";
        },
        {
            "code": 6074;
            "name": "OnlyTokenizedLpOrdersCanBeWithdrawnByThisFunction";
            "msg": "OnlyTokenizedLpOrdersCanBeWithdrawnByThisFunction";
        },
        {
            "code": 6075;
            "name": "LpTokenMintDoesntMatchOrder";
            "msg": "LpTokenMintDoesntMatchOrder";
        },
        {
            "code": 6076;
            "name": "CanCloseVirtualPoolOnlyIfNoLiquidityLeft";
            "msg": "CanCloseVirtualPoolOnlyIfNoLiquidityLeft";
        },
        {
            "code": 6077;
            "name": "NftIsNotMasterEdition";
            "msg": "NftIsNotMasterEdition";
        },
        {
            "code": 6078;
            "name": "NftPairBoxNotClosed";
            "msg": "NftPairBoxNotClosed";
        },
        {
            "code": 6079;
            "name": "WrongAdmin";
            "msg": "WrongAdmin";
        },
        {
            "code": 6080;
            "name": "PairScopeValidationNotSupportedForNow";
            "msg": "PairScopeValidationNotSupportedForNow";
        },
        {
            "code": 6081;
            "name": "CustomValidationAdapterProgramDoesntMatchUser";
            "msg": "CustomValidationAdapterProgramDoesntMatchUser";
        },
        {
            "code": 6082;
            "name": "ClassicAuthorityWorksIfValidationProgramIsHadeswap";
            "msg": "ClassicAuthorityWorksIfValidationProgramIsHadeswap";
        },
        {
            "code": 6083;
            "name": "NftValidationAdapterV2CanWhitelistOnlyMerkleTree";
            "msg": "NftValidationAdapterV2CanWhitelistOnlyMerkleTree";
        },
        {
            "code": 6084;
            "name": "BadRuleSet";
            "msg": "BadRuleSet";
        },
        {
            "code": 6085;
            "name": "WrongCreatorInRemainingAccounts";
            "msg": "WrongCreatorInRemainingAccounts";
        },
        {
            "code": 6086;
            "name": "Debugger";
            "msg": "Debugger";
        }
    ];
};
export declare const IDL: Hadeswap;