Type alias Dsov

Dsov: {
    accounts: [{
        name: "optionChain";
        type: {
            fields: [{
                name: "nextSeriesId";
                type: "u16";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 14];
                };
            }, {
                name: "ownerAuthority";
                type: "publicKey";
            }, {
                name: "taskerAuthority";
                type: "publicKey";
            }, {
                name: "underlyingAssetMint";
                type: "publicKey";
            }, {
                name: "stableAssetMint";
                type: "publicKey";
            }, {
                name: "dataFeed";
                type: {
                    defined: "DataFeed";
                };
            }, {
                name: "reserved1";
                type: {
                    array: ["u128", 32];
                };
            }, {
                name: "euroMetaHistory";
                type: {
                    array: [{
                        defined: "EuroMetaHistory";
                    }, 100];
                };
            }, {
                name: "reserved2";
                type: {
                    array: ["u128", 256];
                };
            }, {
                name: "optionGroups";
                type: {
                    array: [{
                        defined: "OptionGroup";
                    }, 6];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "optionVault";
        type: {
            fields: [{
                name: "ownerAuthority";
                type: "publicKey";
            }, {
                name: "managerAuthority";
                type: "publicKey";
            }, {
                name: "taskerAuthority";
                type: "publicKey";
            }, {
                name: "underlyingAssetMint";
                type: "publicKey";
            }, {
                name: "stableAssetMint";
                type: "publicKey";
            }, {
                name: "lpTokenMint";
                type: "publicKey";
            }, {
                name: "optionChain";
                type: "publicKey";
            }, {
                name: "underlyingFeeAccount";
                type: "publicKey";
            }, {
                name: "stableFeeAccount";
                type: "publicKey";
            }, {
                name: "pendingUnderlyingAsset";
                type: "publicKey";
            }, {
                name: "pendingStableAsset";
                type: "publicKey";
            }, {
                name: "pendingLpToken";
                type: "publicKey";
            }, {
                name: "tradingUnderlyingTokenAccount";
                type: "publicKey";
            }, {
                name: "tradingStableTokenAccount";
                type: "publicKey";
            }, {
                name: "tradingParams";
                type: {
                    defined: "TradingParams";
                };
            }, {
                name: "feeParams";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "lpParams";
                type: {
                    defined: "LpParams";
                };
            }, {
                name: "uniqueSeed";
                type: "u16";
            }, {
                name: "vaultBump";
                type: "u8";
            }, {
                name: "status";
                type: "u8";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 12];
                };
            }, {
                name: "accountSummary";
                type: {
                    defined: "AccountSummary";
                };
            }];
            kind: "struct";
        };
    }, {
        name: "programAuthority";
        type: {
            fields: [{
                name: "ownerAuthority";
                type: "publicKey";
            }, {
                name: "tokenWhitelist";
                type: "publicKey";
            }, {
                name: "taskerAuthority";
                type: "publicKey";
            }, {
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "transferQueue";
        type: {
            fields: [{
                name: "optionVault";
                type: "publicKey";
            }, {
                name: "transferType";
                type: "u8";
            }, {
                name: "queueBump";
                type: "u8";
            }, {
                name: "totalUnderlyingAmount";
                type: "u64";
            }, {
                name: "totalStableAmount";
                type: "u64";
            }, {
                name: "totalLpTokenAmount";
                type: "u64";
            }, {
                name: "records";
                type: {
                    vec: "publicKey";
                };
            }];
            kind: "struct";
        };
    }, {
        name: "transferRecord";
        type: {
            fields: [{
                name: "owner";
                type: "publicKey";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "transferType";
                type: "u8";
            }, {
                name: "underlyingAmount";
                type: "u64";
            }, {
                name: "stableAmount";
                type: "u64";
            }, {
                name: "lpTokenAmount";
                type: "u64";
            }, {
                name: "modifiedAt";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "tokenWhitelist";
        type: {
            fields: [{
                name: "ownerAuthority";
                type: "publicKey";
            }, {
                name: "reserved1";
                type: {
                    array: ["u128", 32];
                };
            }, {
                name: "regularTokens";
                type: {
                    array: ["publicKey", 256];
                };
            }, {
                name: "euroMetaTokens";
                type: {
                    array: [{
                        defined: "ChainGroup";
                    }, 6];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "tradingAccount";
        type: {
            fields: [{
                name: "owner";
                type: "publicKey";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "uniqueSeed";
                type: "u16";
            }, {
                name: "tokenAccounts";
                type: {
                    vec: "publicKey";
                };
            }, {
                name: "assetGroups";
                type: {
                    vec: {
                        defined: "AssetGroup";
                    };
                };
            }, {
                name: "feeTier";
                type: "u8";
            }, {
                name: "accountType";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "volatilityFeed";
        type: {
            fields: [{
                name: "ownerAuthority";
                type: "publicKey";
            }, {
                name: "taskerAuthority";
                type: "publicKey";
            }, {
                name: "interestRateBps";
                type: "u16";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "uniqueSeed";
                type: "u16";
            }, {
                name: "volatilityInfo";
                type: {
                    vec: {
                        defined: "AssetVolatility";
                    };
                };
            }];
            kind: "struct";
        };
    }];
    errors: [{
        code: 6000;
        msg: "Unsupported Transfer Type";
        name: "UnsupportedTransferType";
    }, {
        code: 6001;
        msg: "Option Group already exists";
        name: "OptionGroupExists";
    }, {
        code: 6002;
        msg: "Option Group not found";
        name: "OptionGroupNotFound";
    }, {
        code: 6003;
        msg: "Expiration must be in the future";
        name: "ExpirationMustBeFuture";
    }, {
        code: 6004;
        msg: "Expiration Group already exists";
        name: "ExpirationGroupExists";
    }, {
        code: 6005;
        msg: "Option Series already exists";
        name: "OptionSeriesExists";
    }, {
        code: 6006;
        msg: "Asset Volatility already exists";
        name: "AssetVolatilityExists";
    }, {
        code: 6007;
        msg: "AssetVolatility not found";
        name: "AssetVolatilityNotFound";
    }, {
        code: 6008;
        msg: "Mismatch between transfer amount and transfer type";
        name: "TransferTypeMismatch";
    }, {
        code: 6009;
        msg: "Record not at front of queue";
        name: "RecordNotFront";
    }, {
        code: 6010;
        msg: "Token account already exists";
        name: "AccountAlreadyExists";
    }, {
        code: 6011;
        msg: "OracleResponseIssue";
        name: "OracleResponseIssue";
    }, {
        code: 6012;
        msg: "OracleExponentIssue";
        name: "OracleExponentIssue";
    }, {
        code: 6013;
        msg: "NumericalOverflow";
        name: "NumericalOverflow";
    }, {
        code: 6014;
        msg: "Expiration must be in the past";
        name: "ExpirationMustBePast";
    }, {
        code: 6015;
        msg: "Option Series Id must match associated EuroMeta";
        name: "SeriesIdMustMatchEuroMeta";
    }, {
        code: 6016;
        msg: "Option Token Account Needed";
        name: "OptionTokenAccountNeeded";
    }, {
        code: 6017;
        msg: "Writer Token Account Needed";
        name: "WriterTokenAccountNeeded";
    }, {
        code: 6018;
        msg: "Trading is not allowed";
        name: "TradingNotAllowed";
    }, {
        code: 6019;
        msg: "Waiting period for deposit or withdraw has not passed";
        name: "WaitingPeriodNotPassed";
    }, {
        code: 6020;
        msg: "Token is not whitelisted";
        name: "TokenNotWhitelisted";
    }, {
        code: 6021;
        msg: "Token already whitelisted";
        name: "TokenAlreadyWhitelisted";
    }, {
        code: 6022;
        msg: "Incorrect transfer type for record";
        name: "IncorrectTransferType";
    }, {
        code: 6023;
        msg: "Amounts cannot be zero";
        name: "AmountsCannotBeZero";
    }, {
        code: 6024;
        msg: "Current time must be before the future time";
        name: "InvalidFutureTime";
    }, {
        code: 6025;
        msg: "Max Net Asset Value allowed for Vault exceeded";
        name: "MaxNavExceeded";
    }, {
        code: 6026;
        msg: "Fee constraint violated";
        name: "FeeConstraintViolated";
    }, {
        code: 6027;
        msg: "LpParams constraint violated";
        name: "LpParamsConstraintViolated";
    }, {
        code: 6028;
        msg: "TradingParams constraint violated";
        name: "TradingParamsConstraintViolated";
    }, {
        code: 6029;
        msg: "PriceCurve constraint violated";
        name: "PriceCurveConstraintViolated";
    }, {
        code: 6030;
        msg: "Invalid fee tier";
        name: "InvalidFeeTier";
    }, {
        code: 6031;
        msg: "Cannot exceed max number of positions";
        name: "TooManyPositions";
    }, {
        code: 6032;
        msg: "Liquidity Pool deposit not allowed";
        name: "LpDepositNotAllowed";
    }, {
        code: 6033;
        msg: "Liquidity Pool withdraw not allowed";
        name: "LpWithdrawNotAllowed";
    }, {
        code: 6034;
        msg: "Invalid status";
        name: "InvalidStatus";
    }, {
        code: 6035;
        msg: "Invalid vec size";
        name: "InvalidVecSize";
    }, {
        code: 6036;
        msg: "Unauthorized signer";
        name: "UnauthorizedSigner";
    }, {
        code: 6037;
        msg: "Token balance must be zero";
        name: "NonZeroTokenBalance";
    }];
    events: [{
        fields: [{
            index: false;
            name: "underlyingPrice";
            type: "i128";
        }, {
            index: false;
            name: "markPrice";
            type: "i128";
        }, {
            index: false;
            name: "capitalUtilizationFee";
            type: "i128";
        }, {
            index: false;
            name: "newNormalizedGreeks";
            type: {
                array: ["i128", 4];
            };
        }, {
            index: false;
            name: "weightedMultiplier";
            type: "i128";
        }];
        name: "TradeHistoryEvent";
    }];
    instructions: [{
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "programAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "initProgramAuthority";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "newOwnerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "newTaskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "programAuthority";
        }];
        args: [];
        name: "updateProgramAuthority";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: true;
            isSigner: false;
            name: "programAuthority";
        }];
        args: [];
        name: "initTokenWhitelist";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "tokenWhitelist";
        }];
        args: [{
            name: "tokenMints";
            type: {
                array: ["publicKey", 5];
            };
        }];
        name: "addRegularTokens";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }];
        args: [{
            name: "tokenMints";
            type: {
                array: ["publicKey", 5];
            };
        }, {
            name: "euroMetaV2s";
            type: {
                array: ["publicKey", 5];
            };
        }];
        name: "addEuroMetaTokens";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroMetaV2";
        }, {
            isMut: false;
            isSigner: false;
            name: "mint";
        }];
        args: [];
        name: "removeEuroMetaToken";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "programAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }];
        args: [{
            name: "feeTier";
            type: "u8";
        }];
        name: "updateFeeTier";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }];
        args: [{
            name: "status";
            type: "u8";
        }];
        name: "updateVaultStatus";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }];
        args: [{
            name: "optionType";
            type: "u8";
        }, {
            name: "expiration";
            type: "i64";
        }, {
            name: "seriesIdToUpdate";
            type: {
                vec: "u16";
            };
        }, {
            name: "status";
            type: "u8";
        }];
        name: "updateSeriesStatus";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "managerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "lpTokenMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "underlyingAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "stableAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "uniqueSeed";
            type: "u16";
        }, {
            name: "lpTokenDecimals";
            type: "u8";
        }, {
            name: "feeParams";
            type: {
                defined: "Fees";
            };
        }, {
            name: "lpParams";
            type: {
                defined: "LpParams";
            };
        }];
        name: "initVault";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "keeper";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }];
        args: [];
        name: "toggleVaultForExpiry";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }];
        args: [{
            name: "tradingParams";
            type: {
                defined: "TradingParams";
            };
        }];
        name: "updateTradingParams";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "underlyingAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "stableAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "lpTokenMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "underlyingFeeAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "stableFeeAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingUnderlyingAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingStableAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingLpToken";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingUnderlyingTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingStableTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "initVaultDependencies";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferQueue";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "transferType";
            type: "u8";
        }];
        name: "initQueue";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "underlyingAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "stableAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "oracle";
        }, {
            isMut: false;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "oracleProviderId";
            type: "u8";
        }];
        name: "initOptionChain";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "optionType";
            type: "u8";
        }, {
            name: "expiration";
            type: "i64";
        }];
        name: "initExpirationGroup";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroMetaV2";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "skewBps";
            type: {
                vec: "u16";
            };
        }, {
            name: "coinLotSize";
            type: "u64";
        }];
        name: "initOptionSeries";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "uniqueSeed";
            type: "u16";
        }, {
            name: "interestRateBps";
            type: "u16";
        }];
        name: "initVolatilityFeed";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: false;
            isSigner: false;
            name: "assetMint";
        }];
        args: [{
            name: "markVolBps";
            type: "u32";
        }];
        name: "initAssetVolatility";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: false;
            isSigner: false;
            name: "assetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "interestRateBps";
            type: "u16";
        }, {
            name: "markVolBps";
            type: "u32";
        }];
        name: "updateMarkVol";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }];
        args: [{
            name: "optionType";
            type: "u8";
        }, {
            name: "expiration";
            type: "i64";
        }, {
            name: "seriesIdToUpdate";
            type: {
                vec: "u16";
            };
        }, {
            name: "newSkewBps";
            type: {
                vec: {
                    vec: "u16";
                };
            };
        }];
        name: "updateSkew";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "volatilityFeed";
        }];
        args: [];
        name: "updateFeedAuthority";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferRecord";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferQueue";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "underlyingAssetAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "stableAssetAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "lpTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingUnderlyingAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingStableAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingLpToken";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "underlyingAmount";
            type: "u64";
        }, {
            name: "stableAmount";
            type: "u64";
        }, {
            name: "lpTokenAmount";
            type: "u64";
        }];
        name: "initTransferRecord";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "keeper";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferRecord";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferQueue";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingUnderlyingAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingStableAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingUnderlyingTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingStableTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "keeperUnderlyingTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "keeperStableTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "receivingLpToken";
        }, {
            isMut: false;
            isSigner: false;
            name: "underlyingAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "stableAssetMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "lpTokenMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "priceOracle";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultTradingAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "processDeposit";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "keeper";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferRecord";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferQueue";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingLpToken";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingUnderlyingTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingStableTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "receivingUnderlying";
        }, {
            isMut: true;
            isSigner: false;
            name: "receivingStable";
        }, {
            isMut: false;
            isSigner: false;
            name: "underlyingAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "stableAssetMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "lpTokenMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "priceOracle";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultTradingAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "processWithdraw";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "newTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "mint";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "initTokenAccount";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "signer";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "mint";
        }, {
            isMut: false;
            isSigner: false;
            name: "programAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "closeTokenAccount";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "uniqueSeed";
            type: "u16";
        }];
        name: "initTradingAccount";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: false;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "sourceTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "receivingTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "mint";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "amount";
            type: "u64";
        }];
        name: "depositToTradingAccount";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: false;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "sourceTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "receivingTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "mint";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "amount";
            type: "u64";
        }];
        name: "withdrawFromTradingAccount";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "owner";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferRecord";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferQueue";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "underlyingAssetAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "stableAssetAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "lpTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingUnderlyingAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingStableAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingLpToken";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "cancelTransferRecord";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: true;
            isSigner: false;
            name: "buyerTradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultTradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroMeta";
        }, {
            isMut: true;
            isSigner: false;
            name: "collateralPool";
        }, {
            isMut: false;
            isSigner: false;
            name: "poolAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "writerMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "buyerCollateralTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingUnderlyingTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingStableTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultOptionTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultWriterTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "buyerOptionTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "buyerWriterTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "priceOracle";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradeFeeAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroPrimitiveProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "bumps";
            type: {
                defined: "BuyOptionBumps";
            };
        }, {
            name: "optionAmount";
            type: "u64";
        }, {
            name: "maxAmountToPay";
            type: "u64";
        }, {
            name: "seriesId";
            type: "u16";
        }];
        name: "buyOption";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: true;
            isSigner: false;
            name: "sellerTradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultTradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroMeta";
        }, {
            isMut: true;
            isSigner: false;
            name: "collateralPool";
        }, {
            isMut: false;
            isSigner: false;
            name: "poolAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "writerMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "sellerCollateralTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "sellerOptionTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "sellerWriterTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingUnderlyingTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingStableTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultOptionTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultWriterTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "priceOracle";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradeFeeAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroPrimitiveProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "bumps";
            type: {
                defined: "SellOptionBumps";
            };
        }, {
            name: "optionAmount";
            type: "u64";
        }, {
            name: "minAmountToReceive";
            type: "u64";
        }, {
            name: "seriesId";
            type: "u16";
        }];
        name: "sellOption";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "keeper";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroMetaV2";
        }, {
            isMut: false;
            isSigner: false;
            name: "expirationData";
        }, {
            isMut: false;
            isSigner: false;
            name: "poolAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "collateralPool";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "writerMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "collateralTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroPrimitiveProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "seriesId";
            type: "u16";
        }];
        name: "settleExpiredPosition";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }];
        args: [{
            name: "optionType";
            type: "u8";
        }, {
            name: "expiration";
            type: "i64";
        }];
        name: "removeExpirationGroup";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroMetaV2";
        }];
        args: [];
        name: "removeEuroMetaHistory";
    }];
    name: "dsov";
    types: [{
        name: "BuyOptionBumps";
        type: {
            fields: [{
                name: "buyerCollateralTokenAccount";
                type: "u8";
            }, {
                name: "vaultOptionTokenAccount";
                type: "u8";
            }, {
                name: "vaultWriterTokenAccount";
                type: "u8";
            }, {
                name: "buyerOptionTokenAccount";
                type: "u8";
            }, {
                name: "buyerWriterTokenAccount";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "SellOptionBumps";
        type: {
            fields: [{
                name: "sellerCollateralTokenAccount";
                type: "u8";
            }, {
                name: "sellerOptionTokenAccount";
                type: "u8";
            }, {
                name: "sellerWriterTokenAccount";
                type: "u8";
            }, {
                name: "vaultOptionTokenAccount";
                type: "u8";
            }, {
                name: "vaultWriterTokenAccount";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "DataFeed";
        type: {
            fields: [{
                name: "volatilityFeed";
                type: "publicKey";
            }, {
                name: "underlyingPriceOracle";
                type: "publicKey";
            }, {
                name: "oracleProviderId";
                type: "u8";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 15];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "OptionGroup";
        type: {
            fields: [{
                name: "expirationGroups";
                type: {
                    array: [{
                        defined: "ExpirationGroup";
                    }, 6];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "ExpirationGroup";
        type: {
            fields: [{
                name: "expiration";
                type: "i64";
            }, {
                name: "padding1";
                type: "u64";
            }, {
                name: "optionSeries";
                type: {
                    array: [{
                        defined: "OptionSeries";
                    }, 16];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "OptionSeries";
        type: {
            fields: [{
                name: "seriesId";
                type: "u16";
            }, {
                name: "status";
                type: "u8";
            }, {
                name: "reserved1";
                type: {
                    array: ["u8", 13];
                };
            }, {
                name: "coinLotSize";
                type: "u64";
            }, {
                name: "skewLastUpdated";
                type: "i64";
            }, {
                name: "skewBps";
                type: {
                    array: ["u16", 4];
                };
            }, {
                name: "reserved2";
                type: {
                    array: ["u64", 7];
                };
            }, {
                name: "euroMetaV2";
                type: "publicKey";
            }, {
                name: "strikePrices";
                type: {
                    array: ["u64", 4];
                };
            }, {
                name: "reserved3";
                type: {
                    array: ["u64", 2];
                };
            }, {
                name: "underlyingCollateralPerOption";
                type: "u64";
            }, {
                name: "stableCollateralPerOption";
                type: "u64";
            }, {
                name: "strikePriceDecimals";
                type: "u8";
            }, {
                name: "underlyingDecimals";
                type: "u8";
            }, {
                name: "stableDecimals";
                type: "u8";
            }, {
                name: "reserved4";
                type: {
                    array: ["u8", 13];
                };
            }, {
                name: "underlyingPrice";
                type: "i128";
            }, {
                name: "markPriceStable";
                type: "i128";
            }, {
                name: "markPriceUnderlying";
                type: "i128";
            }, {
                name: "greeks";
                type: {
                    defined: "Greeks";
                };
            }, {
                name: "lastRefreshed";
                type: "i64";
            }, {
                name: "reserved5";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "Greeks";
        type: {
            fields: [{
                name: "delta";
                type: "i128";
            }, {
                name: "theta";
                type: "i128";
            }, {
                name: "gamma";
                type: "i128";
            }, {
                name: "vega";
                type: "i128";
            }];
            kind: "struct";
        };
    }, {
        name: "EuroMetaHistory";
        type: {
            fields: [{
                name: "seriesId";
                type: "u16";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 14];
                };
            }, {
                name: "euroMetaV2";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        name: "Fees";
        type: {
            fields: [{
                name: "capitalUtilizationFeeBps";
                type: "u16";
            }, {
                name: "tradeFeeBps";
                type: "u16";
            }, {
                name: "underlyingFeeBps";
                type: "u16";
            }, {
                name: "withdrawalLpFeeBps";
                type: "u16";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 8];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "LpParams";
        type: {
            fields: [{
                name: "targetDelta";
                type: "i128";
            }, {
                name: "maxNavInStable";
                type: "i128";
            }, {
                name: "depositDelay";
                type: "i64";
            }, {
                name: "withdrawalDelay";
                type: "i64";
            }, {
                name: "reserved1";
                type: "u64";
            }, {
                name: "reserved2";
                type: "u64";
            }, {
                name: "slippageFactorBps";
                type: "u16";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 14];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "TradingParams";
        type: {
            fields: [{
                name: "haltDurationBeforeExpiry";
                type: "i64";
            }, {
                name: "reserved1";
                type: "u64";
            }, {
                name: "minDelta";
                type: "i128";
            }, {
                name: "maxDelta";
                type: "i128";
            }, {
                name: "minGamma";
                type: "i128";
            }, {
                name: "maxGamma";
                type: "i128";
            }, {
                name: "minVega";
                type: "i128";
            }, {
                name: "maxVega";
                type: "i128";
            }, {
                name: "minTheta";
                type: "i128";
            }, {
                name: "maxTheta";
                type: "i128";
            }, {
                name: "minFreeCapitalRatio";
                type: "i128";
            }, {
                name: "deltaCallPriceCurve";
                type: {
                    defined: "PriceCurveParams";
                };
            }, {
                name: "deltaPutPriceCurve";
                type: {
                    defined: "PriceCurveParams";
                };
            }, {
                name: "vegaPriceCurve";
                type: {
                    defined: "PriceCurveParams";
                };
            }, {
                name: "gammaPriceCurve";
                type: {
                    defined: "PriceCurveParams";
                };
            }, {
                name: "thetaPriceCurve";
                type: {
                    defined: "PriceCurveParams";
                };
            }, {
                name: "deltaWeightBps";
                type: "u16";
            }, {
                name: "vegaWeightBps";
                type: "u16";
            }, {
                name: "gammaWeightBps";
                type: "u16";
            }, {
                name: "thetaWeightBps";
                type: "u16";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 8];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "PriceCurveParams";
        type: {
            fields: [{
                name: "a";
                type: "i64";
            }, {
                name: "b";
                type: "i64";
            }, {
                name: "c";
                type: "i64";
            }, {
                name: "d";
                type: "i64";
            }, {
                name: "k";
                type: "i64";
            }, {
                name: "t";
                type: "i64";
            }, {
                name: "maxAsk";
                type: "i64";
            }, {
                name: "minAsk";
                type: "i64";
            }, {
                name: "maxBid";
                type: "i64";
            }, {
                name: "minBid";
                type: "i64";
            }, {
                name: "bidMultiplierAdjustment";
                type: "i64";
            }, {
                name: "reserved1";
                type: {
                    array: ["u8", 8];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AccountSummary";
        type: {
            fields: [{
                name: "totalCapitalInStable";
                type: "i128";
            }, {
                name: "freeCapitalInStable";
                type: "i128";
            }, {
                name: "navInStable";
                type: "i128";
            }, {
                name: "navInUnderlying";
                type: "i128";
            }, {
                name: "normalizedGreeks";
                type: {
                    defined: "Greeks";
                };
            }];
            kind: "struct";
        };
    }, {
        name: "ChainGroup";
        type: {
            fields: [{
                name: "optionChain";
                type: "publicKey";
            }, {
                name: "entries";
                type: {
                    array: [{
                        defined: "EuroMetaTokenEntry";
                    }, 256];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "EuroMetaTokenEntry";
        type: {
            fields: [{
                name: "mint";
                type: "publicKey";
            }, {
                name: "euroMetaV2";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        name: "AssetGroup";
        type: {
            fields: [{
                name: "summary";
                type: {
                    defined: "AssetGroupSummary";
                };
            }, {
                name: "optionChain";
                type: "publicKey";
            }, {
                name: "positions";
                type: {
                    vec: {
                        defined: "Position";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AssetGroupSummary";
        type: {
            fields: [{
                name: "cummulativeMarkUnderlying";
                type: "i128";
            }, {
                name: "cummulativeMarkStable";
                type: "i128";
            }, {
                name: "totalLockedStable";
                type: "i128";
            }, {
                name: "totalLockedUnderlying";
                type: "i128";
            }, {
                name: "cummulativeGreeks";
                type: {
                    defined: "Greeks";
                };
            }];
            kind: "struct";
        };
    }, {
        name: "Position";
        type: {
            fields: [{
                name: "seriesId";
                type: "u16";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 6];
                };
            }, {
                name: "contracts";
                type: "i64";
            }, {
                name: "cashflow";
                type: "i64";
            }, {
                name: "feesPaid";
                type: "u64";
            }, {
                name: "reserved1";
                type: "u64";
            }, {
                name: "reserved2";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AssetVolatility";
        type: {
            fields: [{
                name: "assetMint";
                type: "publicKey";
            }, {
                name: "lastUpdated";
                type: "i64";
            }, {
                name: "markVolBps";
                type: "u32";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 4];
                };
            }, {
                name: "reserved1";
                type: "u64";
            }, {
                name: "reserved2";
                type: "u64";
            }, {
                name: "reserved3";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "GreekType";
        type: {
            kind: "enum";
            variants: [{
                name: "Delta";
            }, {
                name: "Gamma";
            }, {
                name: "Theta";
            }, {
                name: "Vega";
            }];
        };
    }, {
        name: "TransferType";
        type: {
            kind: "enum";
            variants: [{
                name: "Deposit";
            }, {
                name: "Withdraw";
            }];
        };
    }, {
        name: "VaultStatus";
        type: {
            kind: "enum";
            variants: [{
                name: "Pending";
            }, {
                name: "Active";
            }, {
                name: "HaltedForExpiry";
            }, {
                name: "HaltedForTrading";
            }, {
                name: "HaltedForDeposits";
            }, {
                name: "HaltedForWithdraws";
            }, {
                name: "HaltedForAll";
            }];
        };
    }, {
        name: "SeriesStatus";
        type: {
            kind: "enum";
            variants: [{
                name: "Pending";
            }, {
                name: "Active";
            }, {
                name: "HaltedForBuying";
            }, {
                name: "HaltedForSelling";
            }, {
                name: "HaltedForAll";
            }];
        };
    }, {
        name: "FeeTier";
        type: {
            kind: "enum";
            variants: [{
                name: "Normal";
            }, {
                name: "VIP1";
            }, {
                name: "VIP2";
            }, {
                name: "VIP3";
            }, {
                name: "Maker";
            }];
        };
    }];
    version: "0.1.0";
}

Type declaration

  • accounts: [{
        name: "optionChain";
        type: {
            fields: [{
                name: "nextSeriesId";
                type: "u16";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 14];
                };
            }, {
                name: "ownerAuthority";
                type: "publicKey";
            }, {
                name: "taskerAuthority";
                type: "publicKey";
            }, {
                name: "underlyingAssetMint";
                type: "publicKey";
            }, {
                name: "stableAssetMint";
                type: "publicKey";
            }, {
                name: "dataFeed";
                type: {
                    defined: "DataFeed";
                };
            }, {
                name: "reserved1";
                type: {
                    array: ["u128", 32];
                };
            }, {
                name: "euroMetaHistory";
                type: {
                    array: [{
                        defined: "EuroMetaHistory";
                    }, 100];
                };
            }, {
                name: "reserved2";
                type: {
                    array: ["u128", 256];
                };
            }, {
                name: "optionGroups";
                type: {
                    array: [{
                        defined: "OptionGroup";
                    }, 6];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "optionVault";
        type: {
            fields: [{
                name: "ownerAuthority";
                type: "publicKey";
            }, {
                name: "managerAuthority";
                type: "publicKey";
            }, {
                name: "taskerAuthority";
                type: "publicKey";
            }, {
                name: "underlyingAssetMint";
                type: "publicKey";
            }, {
                name: "stableAssetMint";
                type: "publicKey";
            }, {
                name: "lpTokenMint";
                type: "publicKey";
            }, {
                name: "optionChain";
                type: "publicKey";
            }, {
                name: "underlyingFeeAccount";
                type: "publicKey";
            }, {
                name: "stableFeeAccount";
                type: "publicKey";
            }, {
                name: "pendingUnderlyingAsset";
                type: "publicKey";
            }, {
                name: "pendingStableAsset";
                type: "publicKey";
            }, {
                name: "pendingLpToken";
                type: "publicKey";
            }, {
                name: "tradingUnderlyingTokenAccount";
                type: "publicKey";
            }, {
                name: "tradingStableTokenAccount";
                type: "publicKey";
            }, {
                name: "tradingParams";
                type: {
                    defined: "TradingParams";
                };
            }, {
                name: "feeParams";
                type: {
                    defined: "Fees";
                };
            }, {
                name: "lpParams";
                type: {
                    defined: "LpParams";
                };
            }, {
                name: "uniqueSeed";
                type: "u16";
            }, {
                name: "vaultBump";
                type: "u8";
            }, {
                name: "status";
                type: "u8";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 12];
                };
            }, {
                name: "accountSummary";
                type: {
                    defined: "AccountSummary";
                };
            }];
            kind: "struct";
        };
    }, {
        name: "programAuthority";
        type: {
            fields: [{
                name: "ownerAuthority";
                type: "publicKey";
            }, {
                name: "tokenWhitelist";
                type: "publicKey";
            }, {
                name: "taskerAuthority";
                type: "publicKey";
            }, {
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "transferQueue";
        type: {
            fields: [{
                name: "optionVault";
                type: "publicKey";
            }, {
                name: "transferType";
                type: "u8";
            }, {
                name: "queueBump";
                type: "u8";
            }, {
                name: "totalUnderlyingAmount";
                type: "u64";
            }, {
                name: "totalStableAmount";
                type: "u64";
            }, {
                name: "totalLpTokenAmount";
                type: "u64";
            }, {
                name: "records";
                type: {
                    vec: "publicKey";
                };
            }];
            kind: "struct";
        };
    }, {
        name: "transferRecord";
        type: {
            fields: [{
                name: "owner";
                type: "publicKey";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "transferType";
                type: "u8";
            }, {
                name: "underlyingAmount";
                type: "u64";
            }, {
                name: "stableAmount";
                type: "u64";
            }, {
                name: "lpTokenAmount";
                type: "u64";
            }, {
                name: "modifiedAt";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "tokenWhitelist";
        type: {
            fields: [{
                name: "ownerAuthority";
                type: "publicKey";
            }, {
                name: "reserved1";
                type: {
                    array: ["u128", 32];
                };
            }, {
                name: "regularTokens";
                type: {
                    array: ["publicKey", 256];
                };
            }, {
                name: "euroMetaTokens";
                type: {
                    array: [{
                        defined: "ChainGroup";
                    }, 6];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "tradingAccount";
        type: {
            fields: [{
                name: "owner";
                type: "publicKey";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "uniqueSeed";
                type: "u16";
            }, {
                name: "tokenAccounts";
                type: {
                    vec: "publicKey";
                };
            }, {
                name: "assetGroups";
                type: {
                    vec: {
                        defined: "AssetGroup";
                    };
                };
            }, {
                name: "feeTier";
                type: "u8";
            }, {
                name: "accountType";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "volatilityFeed";
        type: {
            fields: [{
                name: "ownerAuthority";
                type: "publicKey";
            }, {
                name: "taskerAuthority";
                type: "publicKey";
            }, {
                name: "interestRateBps";
                type: "u16";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "uniqueSeed";
                type: "u16";
            }, {
                name: "volatilityInfo";
                type: {
                    vec: {
                        defined: "AssetVolatility";
                    };
                };
            }];
            kind: "struct";
        };
    }]
  • errors: [{
        code: 6000;
        msg: "Unsupported Transfer Type";
        name: "UnsupportedTransferType";
    }, {
        code: 6001;
        msg: "Option Group already exists";
        name: "OptionGroupExists";
    }, {
        code: 6002;
        msg: "Option Group not found";
        name: "OptionGroupNotFound";
    }, {
        code: 6003;
        msg: "Expiration must be in the future";
        name: "ExpirationMustBeFuture";
    }, {
        code: 6004;
        msg: "Expiration Group already exists";
        name: "ExpirationGroupExists";
    }, {
        code: 6005;
        msg: "Option Series already exists";
        name: "OptionSeriesExists";
    }, {
        code: 6006;
        msg: "Asset Volatility already exists";
        name: "AssetVolatilityExists";
    }, {
        code: 6007;
        msg: "AssetVolatility not found";
        name: "AssetVolatilityNotFound";
    }, {
        code: 6008;
        msg: "Mismatch between transfer amount and transfer type";
        name: "TransferTypeMismatch";
    }, {
        code: 6009;
        msg: "Record not at front of queue";
        name: "RecordNotFront";
    }, {
        code: 6010;
        msg: "Token account already exists";
        name: "AccountAlreadyExists";
    }, {
        code: 6011;
        msg: "OracleResponseIssue";
        name: "OracleResponseIssue";
    }, {
        code: 6012;
        msg: "OracleExponentIssue";
        name: "OracleExponentIssue";
    }, {
        code: 6013;
        msg: "NumericalOverflow";
        name: "NumericalOverflow";
    }, {
        code: 6014;
        msg: "Expiration must be in the past";
        name: "ExpirationMustBePast";
    }, {
        code: 6015;
        msg: "Option Series Id must match associated EuroMeta";
        name: "SeriesIdMustMatchEuroMeta";
    }, {
        code: 6016;
        msg: "Option Token Account Needed";
        name: "OptionTokenAccountNeeded";
    }, {
        code: 6017;
        msg: "Writer Token Account Needed";
        name: "WriterTokenAccountNeeded";
    }, {
        code: 6018;
        msg: "Trading is not allowed";
        name: "TradingNotAllowed";
    }, {
        code: 6019;
        msg: "Waiting period for deposit or withdraw has not passed";
        name: "WaitingPeriodNotPassed";
    }, {
        code: 6020;
        msg: "Token is not whitelisted";
        name: "TokenNotWhitelisted";
    }, {
        code: 6021;
        msg: "Token already whitelisted";
        name: "TokenAlreadyWhitelisted";
    }, {
        code: 6022;
        msg: "Incorrect transfer type for record";
        name: "IncorrectTransferType";
    }, {
        code: 6023;
        msg: "Amounts cannot be zero";
        name: "AmountsCannotBeZero";
    }, {
        code: 6024;
        msg: "Current time must be before the future time";
        name: "InvalidFutureTime";
    }, {
        code: 6025;
        msg: "Max Net Asset Value allowed for Vault exceeded";
        name: "MaxNavExceeded";
    }, {
        code: 6026;
        msg: "Fee constraint violated";
        name: "FeeConstraintViolated";
    }, {
        code: 6027;
        msg: "LpParams constraint violated";
        name: "LpParamsConstraintViolated";
    }, {
        code: 6028;
        msg: "TradingParams constraint violated";
        name: "TradingParamsConstraintViolated";
    }, {
        code: 6029;
        msg: "PriceCurve constraint violated";
        name: "PriceCurveConstraintViolated";
    }, {
        code: 6030;
        msg: "Invalid fee tier";
        name: "InvalidFeeTier";
    }, {
        code: 6031;
        msg: "Cannot exceed max number of positions";
        name: "TooManyPositions";
    }, {
        code: 6032;
        msg: "Liquidity Pool deposit not allowed";
        name: "LpDepositNotAllowed";
    }, {
        code: 6033;
        msg: "Liquidity Pool withdraw not allowed";
        name: "LpWithdrawNotAllowed";
    }, {
        code: 6034;
        msg: "Invalid status";
        name: "InvalidStatus";
    }, {
        code: 6035;
        msg: "Invalid vec size";
        name: "InvalidVecSize";
    }, {
        code: 6036;
        msg: "Unauthorized signer";
        name: "UnauthorizedSigner";
    }, {
        code: 6037;
        msg: "Token balance must be zero";
        name: "NonZeroTokenBalance";
    }]
  • events: [{
        fields: [{
            index: false;
            name: "underlyingPrice";
            type: "i128";
        }, {
            index: false;
            name: "markPrice";
            type: "i128";
        }, {
            index: false;
            name: "capitalUtilizationFee";
            type: "i128";
        }, {
            index: false;
            name: "newNormalizedGreeks";
            type: {
                array: ["i128", 4];
            };
        }, {
            index: false;
            name: "weightedMultiplier";
            type: "i128";
        }];
        name: "TradeHistoryEvent";
    }]
  • instructions: [{
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "programAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "initProgramAuthority";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "newOwnerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "newTaskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "programAuthority";
        }];
        args: [];
        name: "updateProgramAuthority";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: true;
            isSigner: false;
            name: "programAuthority";
        }];
        args: [];
        name: "initTokenWhitelist";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "tokenWhitelist";
        }];
        args: [{
            name: "tokenMints";
            type: {
                array: ["publicKey", 5];
            };
        }];
        name: "addRegularTokens";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }];
        args: [{
            name: "tokenMints";
            type: {
                array: ["publicKey", 5];
            };
        }, {
            name: "euroMetaV2s";
            type: {
                array: ["publicKey", 5];
            };
        }];
        name: "addEuroMetaTokens";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroMetaV2";
        }, {
            isMut: false;
            isSigner: false;
            name: "mint";
        }];
        args: [];
        name: "removeEuroMetaToken";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "programAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }];
        args: [{
            name: "feeTier";
            type: "u8";
        }];
        name: "updateFeeTier";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }];
        args: [{
            name: "status";
            type: "u8";
        }];
        name: "updateVaultStatus";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }];
        args: [{
            name: "optionType";
            type: "u8";
        }, {
            name: "expiration";
            type: "i64";
        }, {
            name: "seriesIdToUpdate";
            type: {
                vec: "u16";
            };
        }, {
            name: "status";
            type: "u8";
        }];
        name: "updateSeriesStatus";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "managerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "lpTokenMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "underlyingAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "stableAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "uniqueSeed";
            type: "u16";
        }, {
            name: "lpTokenDecimals";
            type: "u8";
        }, {
            name: "feeParams";
            type: {
                defined: "Fees";
            };
        }, {
            name: "lpParams";
            type: {
                defined: "LpParams";
            };
        }];
        name: "initVault";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "keeper";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }];
        args: [];
        name: "toggleVaultForExpiry";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }];
        args: [{
            name: "tradingParams";
            type: {
                defined: "TradingParams";
            };
        }];
        name: "updateTradingParams";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "underlyingAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "stableAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "lpTokenMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "underlyingFeeAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "stableFeeAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingUnderlyingAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingStableAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingLpToken";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingUnderlyingTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingStableTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "initVaultDependencies";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferQueue";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "transferType";
            type: "u8";
        }];
        name: "initQueue";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "underlyingAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "stableAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "oracle";
        }, {
            isMut: false;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "oracleProviderId";
            type: "u8";
        }];
        name: "initOptionChain";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "optionType";
            type: "u8";
        }, {
            name: "expiration";
            type: "i64";
        }];
        name: "initExpirationGroup";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroMetaV2";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "skewBps";
            type: {
                vec: "u16";
            };
        }, {
            name: "coinLotSize";
            type: "u64";
        }];
        name: "initOptionSeries";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "uniqueSeed";
            type: "u16";
        }, {
            name: "interestRateBps";
            type: "u16";
        }];
        name: "initVolatilityFeed";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: false;
            isSigner: false;
            name: "assetMint";
        }];
        args: [{
            name: "markVolBps";
            type: "u32";
        }];
        name: "initAssetVolatility";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: false;
            isSigner: false;
            name: "assetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "interestRateBps";
            type: "u16";
        }, {
            name: "markVolBps";
            type: "u32";
        }];
        name: "updateMarkVol";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }];
        args: [{
            name: "optionType";
            type: "u8";
        }, {
            name: "expiration";
            type: "i64";
        }, {
            name: "seriesIdToUpdate";
            type: {
                vec: "u16";
            };
        }, {
            name: "newSkewBps";
            type: {
                vec: {
                    vec: "u16";
                };
            };
        }];
        name: "updateSkew";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "ownerAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "volatilityFeed";
        }];
        args: [];
        name: "updateFeedAuthority";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferRecord";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferQueue";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "underlyingAssetAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "stableAssetAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "lpTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingUnderlyingAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingStableAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingLpToken";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "underlyingAmount";
            type: "u64";
        }, {
            name: "stableAmount";
            type: "u64";
        }, {
            name: "lpTokenAmount";
            type: "u64";
        }];
        name: "initTransferRecord";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "keeper";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferRecord";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferQueue";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingUnderlyingAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingStableAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingUnderlyingTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingStableTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "keeperUnderlyingTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "keeperStableTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "receivingLpToken";
        }, {
            isMut: false;
            isSigner: false;
            name: "underlyingAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "stableAssetMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "lpTokenMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "priceOracle";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultTradingAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "processDeposit";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "keeper";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferRecord";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferQueue";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingLpToken";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingUnderlyingTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingStableTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "receivingUnderlying";
        }, {
            isMut: true;
            isSigner: false;
            name: "receivingStable";
        }, {
            isMut: false;
            isSigner: false;
            name: "underlyingAssetMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "stableAssetMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "lpTokenMint";
        }, {
            isMut: false;
            isSigner: false;
            name: "priceOracle";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultTradingAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "processWithdraw";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "newTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "mint";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "initTokenAccount";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "signer";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "mint";
        }, {
            isMut: false;
            isSigner: false;
            name: "programAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "closeTokenAccount";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "payer";
        }, {
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "uniqueSeed";
            type: "u16";
        }];
        name: "initTradingAccount";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: false;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "sourceTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "receivingTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "mint";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "amount";
            type: "u64";
        }];
        name: "depositToTradingAccount";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: false;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "sourceTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "receivingTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenWhitelist";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "mint";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "amount";
            type: "u64";
        }];
        name: "withdrawFromTradingAccount";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "owner";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferRecord";
        }, {
            isMut: true;
            isSigner: false;
            name: "transferQueue";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "underlyingAssetAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "stableAssetAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "lpTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingUnderlyingAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingStableAsset";
        }, {
            isMut: true;
            isSigner: false;
            name: "pendingLpToken";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "cancelTransferRecord";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: true;
            isSigner: false;
            name: "buyerTradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultTradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroMeta";
        }, {
            isMut: true;
            isSigner: false;
            name: "collateralPool";
        }, {
            isMut: false;
            isSigner: false;
            name: "poolAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "writerMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "buyerCollateralTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingUnderlyingTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingStableTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultOptionTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultWriterTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "buyerOptionTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "buyerWriterTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "priceOracle";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradeFeeAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroPrimitiveProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "bumps";
            type: {
                defined: "BuyOptionBumps";
            };
        }, {
            name: "optionAmount";
            type: "u64";
        }, {
            name: "maxAmountToPay";
            type: "u64";
        }, {
            name: "seriesId";
            type: "u16";
        }];
        name: "buyOption";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "owner";
        }, {
            isMut: true;
            isSigner: false;
            name: "sellerTradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultTradingAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionVault";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "volatilityFeed";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroMeta";
        }, {
            isMut: true;
            isSigner: false;
            name: "collateralPool";
        }, {
            isMut: false;
            isSigner: false;
            name: "poolAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "writerMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "sellerCollateralTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "sellerOptionTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "sellerWriterTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingUnderlyingTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingStableTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultOptionTokenAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "vaultWriterTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "priceOracle";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradeFeeAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroPrimitiveProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "bumps";
            type: {
                defined: "SellOptionBumps";
            };
        }, {
            name: "optionAmount";
            type: "u64";
        }, {
            name: "minAmountToReceive";
            type: "u64";
        }, {
            name: "seriesId";
            type: "u16";
        }];
        name: "sellOption";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "keeper";
        }, {
            isMut: true;
            isSigner: false;
            name: "tradingAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroMetaV2";
        }, {
            isMut: false;
            isSigner: false;
            name: "expirationData";
        }, {
            isMut: false;
            isSigner: false;
            name: "poolAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "collateralPool";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "writerMint";
        }, {
            isMut: true;
            isSigner: false;
            name: "collateralTokenAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroPrimitiveProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "seriesId";
            type: "u16";
        }];
        name: "settleExpiredPosition";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }];
        args: [{
            name: "optionType";
            type: "u8";
        }, {
            name: "expiration";
            type: "i64";
        }];
        name: "removeExpirationGroup";
    }, {
        accounts: [{
            isMut: false;
            isSigner: true;
            name: "taskerAuthority";
        }, {
            isMut: true;
            isSigner: false;
            name: "optionChain";
        }, {
            isMut: false;
            isSigner: false;
            name: "euroMetaV2";
        }];
        args: [];
        name: "removeEuroMetaHistory";
    }]
  • name: "dsov"
  • types: [{
        name: "BuyOptionBumps";
        type: {
            fields: [{
                name: "buyerCollateralTokenAccount";
                type: "u8";
            }, {
                name: "vaultOptionTokenAccount";
                type: "u8";
            }, {
                name: "vaultWriterTokenAccount";
                type: "u8";
            }, {
                name: "buyerOptionTokenAccount";
                type: "u8";
            }, {
                name: "buyerWriterTokenAccount";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "SellOptionBumps";
        type: {
            fields: [{
                name: "sellerCollateralTokenAccount";
                type: "u8";
            }, {
                name: "sellerOptionTokenAccount";
                type: "u8";
            }, {
                name: "sellerWriterTokenAccount";
                type: "u8";
            }, {
                name: "vaultOptionTokenAccount";
                type: "u8";
            }, {
                name: "vaultWriterTokenAccount";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "DataFeed";
        type: {
            fields: [{
                name: "volatilityFeed";
                type: "publicKey";
            }, {
                name: "underlyingPriceOracle";
                type: "publicKey";
            }, {
                name: "oracleProviderId";
                type: "u8";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 15];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "OptionGroup";
        type: {
            fields: [{
                name: "expirationGroups";
                type: {
                    array: [{
                        defined: "ExpirationGroup";
                    }, 6];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "ExpirationGroup";
        type: {
            fields: [{
                name: "expiration";
                type: "i64";
            }, {
                name: "padding1";
                type: "u64";
            }, {
                name: "optionSeries";
                type: {
                    array: [{
                        defined: "OptionSeries";
                    }, 16];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "OptionSeries";
        type: {
            fields: [{
                name: "seriesId";
                type: "u16";
            }, {
                name: "status";
                type: "u8";
            }, {
                name: "reserved1";
                type: {
                    array: ["u8", 13];
                };
            }, {
                name: "coinLotSize";
                type: "u64";
            }, {
                name: "skewLastUpdated";
                type: "i64";
            }, {
                name: "skewBps";
                type: {
                    array: ["u16", 4];
                };
            }, {
                name: "reserved2";
                type: {
                    array: ["u64", 7];
                };
            }, {
                name: "euroMetaV2";
                type: "publicKey";
            }, {
                name: "strikePrices";
                type: {
                    array: ["u64", 4];
                };
            }, {
                name: "reserved3";
                type: {
                    array: ["u64", 2];
                };
            }, {
                name: "underlyingCollateralPerOption";
                type: "u64";
            }, {
                name: "stableCollateralPerOption";
                type: "u64";
            }, {
                name: "strikePriceDecimals";
                type: "u8";
            }, {
                name: "underlyingDecimals";
                type: "u8";
            }, {
                name: "stableDecimals";
                type: "u8";
            }, {
                name: "reserved4";
                type: {
                    array: ["u8", 13];
                };
            }, {
                name: "underlyingPrice";
                type: "i128";
            }, {
                name: "markPriceStable";
                type: "i128";
            }, {
                name: "markPriceUnderlying";
                type: "i128";
            }, {
                name: "greeks";
                type: {
                    defined: "Greeks";
                };
            }, {
                name: "lastRefreshed";
                type: "i64";
            }, {
                name: "reserved5";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "Greeks";
        type: {
            fields: [{
                name: "delta";
                type: "i128";
            }, {
                name: "theta";
                type: "i128";
            }, {
                name: "gamma";
                type: "i128";
            }, {
                name: "vega";
                type: "i128";
            }];
            kind: "struct";
        };
    }, {
        name: "EuroMetaHistory";
        type: {
            fields: [{
                name: "seriesId";
                type: "u16";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 14];
                };
            }, {
                name: "euroMetaV2";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        name: "Fees";
        type: {
            fields: [{
                name: "capitalUtilizationFeeBps";
                type: "u16";
            }, {
                name: "tradeFeeBps";
                type: "u16";
            }, {
                name: "underlyingFeeBps";
                type: "u16";
            }, {
                name: "withdrawalLpFeeBps";
                type: "u16";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 8];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "LpParams";
        type: {
            fields: [{
                name: "targetDelta";
                type: "i128";
            }, {
                name: "maxNavInStable";
                type: "i128";
            }, {
                name: "depositDelay";
                type: "i64";
            }, {
                name: "withdrawalDelay";
                type: "i64";
            }, {
                name: "reserved1";
                type: "u64";
            }, {
                name: "reserved2";
                type: "u64";
            }, {
                name: "slippageFactorBps";
                type: "u16";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 14];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "TradingParams";
        type: {
            fields: [{
                name: "haltDurationBeforeExpiry";
                type: "i64";
            }, {
                name: "reserved1";
                type: "u64";
            }, {
                name: "minDelta";
                type: "i128";
            }, {
                name: "maxDelta";
                type: "i128";
            }, {
                name: "minGamma";
                type: "i128";
            }, {
                name: "maxGamma";
                type: "i128";
            }, {
                name: "minVega";
                type: "i128";
            }, {
                name: "maxVega";
                type: "i128";
            }, {
                name: "minTheta";
                type: "i128";
            }, {
                name: "maxTheta";
                type: "i128";
            }, {
                name: "minFreeCapitalRatio";
                type: "i128";
            }, {
                name: "deltaCallPriceCurve";
                type: {
                    defined: "PriceCurveParams";
                };
            }, {
                name: "deltaPutPriceCurve";
                type: {
                    defined: "PriceCurveParams";
                };
            }, {
                name: "vegaPriceCurve";
                type: {
                    defined: "PriceCurveParams";
                };
            }, {
                name: "gammaPriceCurve";
                type: {
                    defined: "PriceCurveParams";
                };
            }, {
                name: "thetaPriceCurve";
                type: {
                    defined: "PriceCurveParams";
                };
            }, {
                name: "deltaWeightBps";
                type: "u16";
            }, {
                name: "vegaWeightBps";
                type: "u16";
            }, {
                name: "gammaWeightBps";
                type: "u16";
            }, {
                name: "thetaWeightBps";
                type: "u16";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 8];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "PriceCurveParams";
        type: {
            fields: [{
                name: "a";
                type: "i64";
            }, {
                name: "b";
                type: "i64";
            }, {
                name: "c";
                type: "i64";
            }, {
                name: "d";
                type: "i64";
            }, {
                name: "k";
                type: "i64";
            }, {
                name: "t";
                type: "i64";
            }, {
                name: "maxAsk";
                type: "i64";
            }, {
                name: "minAsk";
                type: "i64";
            }, {
                name: "maxBid";
                type: "i64";
            }, {
                name: "minBid";
                type: "i64";
            }, {
                name: "bidMultiplierAdjustment";
                type: "i64";
            }, {
                name: "reserved1";
                type: {
                    array: ["u8", 8];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AccountSummary";
        type: {
            fields: [{
                name: "totalCapitalInStable";
                type: "i128";
            }, {
                name: "freeCapitalInStable";
                type: "i128";
            }, {
                name: "navInStable";
                type: "i128";
            }, {
                name: "navInUnderlying";
                type: "i128";
            }, {
                name: "normalizedGreeks";
                type: {
                    defined: "Greeks";
                };
            }];
            kind: "struct";
        };
    }, {
        name: "ChainGroup";
        type: {
            fields: [{
                name: "optionChain";
                type: "publicKey";
            }, {
                name: "entries";
                type: {
                    array: [{
                        defined: "EuroMetaTokenEntry";
                    }, 256];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "EuroMetaTokenEntry";
        type: {
            fields: [{
                name: "mint";
                type: "publicKey";
            }, {
                name: "euroMetaV2";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        name: "AssetGroup";
        type: {
            fields: [{
                name: "summary";
                type: {
                    defined: "AssetGroupSummary";
                };
            }, {
                name: "optionChain";
                type: "publicKey";
            }, {
                name: "positions";
                type: {
                    vec: {
                        defined: "Position";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "AssetGroupSummary";
        type: {
            fields: [{
                name: "cummulativeMarkUnderlying";
                type: "i128";
            }, {
                name: "cummulativeMarkStable";
                type: "i128";
            }, {
                name: "totalLockedStable";
                type: "i128";
            }, {
                name: "totalLockedUnderlying";
                type: "i128";
            }, {
                name: "cummulativeGreeks";
                type: {
                    defined: "Greeks";
                };
            }];
            kind: "struct";
        };
    }, {
        name: "Position";
        type: {
            fields: [{
                name: "seriesId";
                type: "u16";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 6];
                };
            }, {
                name: "contracts";
                type: "i64";
            }, {
                name: "cashflow";
                type: "i64";
            }, {
                name: "feesPaid";
                type: "u64";
            }, {
                name: "reserved1";
                type: "u64";
            }, {
                name: "reserved2";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "AssetVolatility";
        type: {
            fields: [{
                name: "assetMint";
                type: "publicKey";
            }, {
                name: "lastUpdated";
                type: "i64";
            }, {
                name: "markVolBps";
                type: "u32";
            }, {
                name: "padding1";
                type: {
                    array: ["u8", 4];
                };
            }, {
                name: "reserved1";
                type: "u64";
            }, {
                name: "reserved2";
                type: "u64";
            }, {
                name: "reserved3";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "GreekType";
        type: {
            kind: "enum";
            variants: [{
                name: "Delta";
            }, {
                name: "Gamma";
            }, {
                name: "Theta";
            }, {
                name: "Vega";
            }];
        };
    }, {
        name: "TransferType";
        type: {
            kind: "enum";
            variants: [{
                name: "Deposit";
            }, {
                name: "Withdraw";
            }];
        };
    }, {
        name: "VaultStatus";
        type: {
            kind: "enum";
            variants: [{
                name: "Pending";
            }, {
                name: "Active";
            }, {
                name: "HaltedForExpiry";
            }, {
                name: "HaltedForTrading";
            }, {
                name: "HaltedForDeposits";
            }, {
                name: "HaltedForWithdraws";
            }, {
                name: "HaltedForAll";
            }];
        };
    }, {
        name: "SeriesStatus";
        type: {
            kind: "enum";
            variants: [{
                name: "Pending";
            }, {
                name: "Active";
            }, {
                name: "HaltedForBuying";
            }, {
                name: "HaltedForSelling";
            }, {
                name: "HaltedForAll";
            }];
        };
    }, {
        name: "FeeTier";
        type: {
            kind: "enum";
            variants: [{
                name: "Normal";
            }, {
                name: "VIP1";
            }, {
                name: "VIP2";
            }, {
                name: "VIP3";
            }, {
                name: "Maker";
            }];
        };
    }]
  • version: "0.1.0"

Generated using TypeDoc