{"version":3,"file":"index.mjs","names":["localVarQueryParameter: Record<string, unknown>","localVarBodyParameter: Record<string, unknown>","_timeUnit: TimeUnit | undefined","localVarQueryParameter: Record<string, unknown>","localVarBodyParameter: Record<string, unknown>","_timeUnit: TimeUnit | undefined","localVarQueryParameter: Record<string, unknown>","localVarBodyParameter: Record<string, unknown>","_timeUnit: TimeUnit | undefined","localVarQueryParameter: Record<string, unknown>","localVarBodyParameter: Record<string, unknown>","_timeUnit: TimeUnit | undefined","STAKING_REST_API_PROD_URL"],"sources":["../package.json","../src/rest-api/modules/eth-staking-api.ts","../src/rest-api/modules/on-chain-yields-api.ts","../src/rest-api/modules/soft-staking-api.ts","../src/rest-api/modules/sol-staking-api.ts","../src/rest-api/rest-api.ts","../src/rest-api/index.ts","../src/staking.ts"],"sourcesContent":["{\n    \"name\": \"@binance/staking\",\n    \"description\": \"Official Binance Staking Connector - A lightweight library that provides a convenient interface to Binance's Staking REST API.\",\n    \"version\": \"8.0.7\",\n    \"main\": \"./dist/index.js\",\n    \"module\": \"./dist/index.mjs\",\n    \"types\": \"./dist/index.d.ts\",\n    \"exports\": {\n        \".\": {\n            \"require\": \"./dist/index.js\",\n            \"import\": \"./dist/index.mjs\"\n        }\n    },\n    \"scripts\": {\n        \"prepublishOnly\": \"npm run build\",\n        \"build\": \"npm run clean && tsdown\",\n        \"typecheck\": \"tsc --noEmit\",\n        \"clean\": \"rm -rf dist\",\n        \"test\": \"npx jest --maxWorkers=4 --bail\",\n        \"test:watch\": \"npx jest --watch\",\n        \"format\": \"npx prettier --ignore-path .prettierignore --write .\",\n        \"lint\": \"npx eslint '**/*.ts' --fix\"\n    },\n    \"keywords\": [\n        \"Binance\",\n        \"API\",\n        \"Staking\",\n        \"Connector\",\n        \"REST\",\n        \"Trading\"\n    ],\n    \"author\": \"Binance\",\n    \"license\": \"MIT\",\n    \"repository\": {\n        \"type\": \"git\",\n        \"url\": \"https://github.com/binance/binance-connector-js.git\"\n    },\n    \"bugs\": {\n        \"url\": \"https://github.com/binance/binance-connector-js/issues\"\n    },\n    \"homepage\": \"https://github.com/binance/binance-connector-js#readme\",\n    \"files\": [\n        \"dist\"\n    ],\n    \"devDependencies\": {\n        \"@types/jest\": \"^29.5.4\",\n        \"@types/node\": \"^20.17.24\",\n        \"eslint\": \"8.57.0\",\n        \"jest\": \"^29.6.4\",\n        \"json-with-bigint\": \"^3.4.4\",\n        \"prettier\": \"^3.3.3\",\n        \"ts-jest\": \"^29.1.1\",\n        \"ts-node\": \"^10.9.1\",\n        \"tsdown\": \"^0.16.5\",\n        \"typescript\": \"^5.7.2\",\n        \"typescript-eslint\": \"^8.24.0\"\n    },\n    \"dependencies\": {\n        \"@binance/common\": \"2.3.14\",\n        \"axios\": \"^1.7.4\"\n    }\n}\n","/**\n * Binance Staking REST API\n *\n * OpenAPI Specification for the Binance Staking REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    assertParamExists,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type {\n    EthStakingAccountResponse,\n    GetCurrentEthStakingQuotaResponse,\n    GetEthRedemptionHistoryResponse,\n    GetEthStakingHistoryResponse,\n    GetWbethRateHistoryResponse,\n    GetWbethRewardsHistoryResponse,\n    GetWbethUnwrapHistoryResponse,\n    GetWbethWrapHistoryResponse,\n    RedeemEthResponse,\n    SubscribeEthStakingResponse,\n    WrapBethResponse,\n} from '../types';\n\n/**\n * EthStakingApi - axios parameter creator\n */\nconst EthStakingApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * ETH Staking account\n         *\n         * Weight: 150\n         *\n         * @summary ETH Staking account(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        ethStakingAccount: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v2/eth-staking/account',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current ETH staking quota\n         *\n         * Weight: 150\n         *\n         * @summary Get current ETH staking quota(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getCurrentEthStakingQuota: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/eth/quota',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get ETH redemption history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get ETH redemption history(USER_DATA)\n         * @param {number | bigint} [redeemId]\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getEthRedemptionHistory: async (\n            redeemId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (redeemId !== undefined && redeemId !== null) {\n                localVarQueryParameter['redeemId'] = redeemId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/eth/history/redemptionHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get ETH staking history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get ETH staking history(USER_DATA)\n         * @param {number | bigint} [purchaseId]\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getEthStakingHistory: async (\n            purchaseId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (purchaseId !== undefined && purchaseId !== null) {\n                localVarQueryParameter['purchaseId'] = purchaseId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/eth/history/stakingHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get WBETH Rate History\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get WBETH Rate History(USER_DATA)\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getWbethRateHistory: async (\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/eth/history/rateHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get WBETH rewards history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get WBETH rewards history(USER_DATA)\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getWbethRewardsHistory: async (\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/eth/history/wbethRewardsHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get WBETH unwrap history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get WBETH unwrap history(USER_DATA)\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getWbethUnwrapHistory: async (\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/wbeth/history/unwrapHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get WBETH wrap history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get WBETH wrap history(USER_DATA)\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getWbethWrapHistory: async (\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/wbeth/history/wrapHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Redeem WBETH or BETH and get ETH\n         *\n         * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n         *\n         * Weight: 150\n         *\n         * @summary Redeem ETH(TRADE)\n         * @param {number} amount Amount in SOL.\n         * @param {string} [asset] WBETH or BETH, default to BETH\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        redeemEth: async (\n            amount: number,\n            asset?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('redeemEth', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/eth/redeem',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Subscribe ETH Staking\n         *\n         * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n         *\n         * Weight: 150\n         *\n         * @summary Subscribe ETH Staking(TRADE)\n         * @param {number} amount Amount in SOL.\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        subscribeEthStaking: async (\n            amount: number,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('subscribeEthStaking', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v2/eth-staking/eth/stake',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Wrap BETH\n         *\n         * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n         *\n         * Weight: 150\n         *\n         * @summary Wrap BETH(TRADE)\n         * @param {number} amount Amount in SOL.\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        wrapBeth: async (amount: number, recvWindow?: number | bigint): Promise<RequestArgs> => {\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('wrapBeth', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/wbeth/wrap',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * EthStakingApi - interface\n * @interface EthStakingApi\n */\nexport interface EthStakingApiInterface {\n    /**\n     * ETH Staking account\n     *\n     * Weight: 150\n     *\n     * @summary ETH Staking account(USER_DATA)\n     * @param {EthStakingAccountRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    ethStakingAccount(\n        requestParameters?: EthStakingAccountRequest\n    ): Promise<RestApiResponse<EthStakingAccountResponse>>;\n    /**\n     * Get current ETH staking quota\n     *\n     * Weight: 150\n     *\n     * @summary Get current ETH staking quota(USER_DATA)\n     * @param {GetCurrentEthStakingQuotaRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getCurrentEthStakingQuota(\n        requestParameters?: GetCurrentEthStakingQuotaRequest\n    ): Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>>;\n    /**\n     * Get ETH redemption history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get ETH redemption history(USER_DATA)\n     * @param {GetEthRedemptionHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getEthRedemptionHistory(\n        requestParameters?: GetEthRedemptionHistoryRequest\n    ): Promise<RestApiResponse<GetEthRedemptionHistoryResponse>>;\n    /**\n     * Get ETH staking history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get ETH staking history(USER_DATA)\n     * @param {GetEthStakingHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getEthStakingHistory(\n        requestParameters?: GetEthStakingHistoryRequest\n    ): Promise<RestApiResponse<GetEthStakingHistoryResponse>>;\n    /**\n     * Get WBETH Rate History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH Rate History(USER_DATA)\n     * @param {GetWbethRateHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getWbethRateHistory(\n        requestParameters?: GetWbethRateHistoryRequest\n    ): Promise<RestApiResponse<GetWbethRateHistoryResponse>>;\n    /**\n     * Get WBETH rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH rewards history(USER_DATA)\n     * @param {GetWbethRewardsHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getWbethRewardsHistory(\n        requestParameters?: GetWbethRewardsHistoryRequest\n    ): Promise<RestApiResponse<GetWbethRewardsHistoryResponse>>;\n    /**\n     * Get WBETH unwrap history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH unwrap history(USER_DATA)\n     * @param {GetWbethUnwrapHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getWbethUnwrapHistory(\n        requestParameters?: GetWbethUnwrapHistoryRequest\n    ): Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>>;\n    /**\n     * Get WBETH wrap history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH wrap history(USER_DATA)\n     * @param {GetWbethWrapHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getWbethWrapHistory(\n        requestParameters?: GetWbethWrapHistoryRequest\n    ): Promise<RestApiResponse<GetWbethWrapHistoryResponse>>;\n    /**\n     * Redeem WBETH or BETH and get ETH\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Redeem ETH(TRADE)\n     * @param {RedeemEthRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    redeemEth(requestParameters: RedeemEthRequest): Promise<RestApiResponse<RedeemEthResponse>>;\n    /**\n     * Subscribe ETH Staking\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Subscribe ETH Staking(TRADE)\n     * @param {SubscribeEthStakingRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    subscribeEthStaking(\n        requestParameters: SubscribeEthStakingRequest\n    ): Promise<RestApiResponse<SubscribeEthStakingResponse>>;\n    /**\n     * Wrap BETH\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Wrap BETH(TRADE)\n     * @param {WrapBethRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    wrapBeth(requestParameters: WrapBethRequest): Promise<RestApiResponse<WrapBethResponse>>;\n}\n\n/**\n * Request parameters for ethStakingAccount operation in EthStakingApi.\n * @interface EthStakingAccountRequest\n */\nexport interface EthStakingAccountRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiEthStakingAccount\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getCurrentEthStakingQuota operation in EthStakingApi.\n * @interface GetCurrentEthStakingQuotaRequest\n */\nexport interface GetCurrentEthStakingQuotaRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetCurrentEthStakingQuota\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getEthRedemptionHistory operation in EthStakingApi.\n * @interface GetEthRedemptionHistoryRequest\n */\nexport interface GetEthRedemptionHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetEthRedemptionHistory\n     */\n    readonly redeemId?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetEthRedemptionHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetEthRedemptionHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetEthRedemptionHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetEthRedemptionHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetEthRedemptionHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getEthStakingHistory operation in EthStakingApi.\n * @interface GetEthStakingHistoryRequest\n */\nexport interface GetEthStakingHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetEthStakingHistory\n     */\n    readonly purchaseId?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetEthStakingHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetEthStakingHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetEthStakingHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetEthStakingHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetEthStakingHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getWbethRateHistory operation in EthStakingApi.\n * @interface GetWbethRateHistoryRequest\n */\nexport interface GetWbethRateHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethRateHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethRateHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethRateHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethRateHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethRateHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getWbethRewardsHistory operation in EthStakingApi.\n * @interface GetWbethRewardsHistoryRequest\n */\nexport interface GetWbethRewardsHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethRewardsHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethRewardsHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethRewardsHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethRewardsHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethRewardsHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getWbethUnwrapHistory operation in EthStakingApi.\n * @interface GetWbethUnwrapHistoryRequest\n */\nexport interface GetWbethUnwrapHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethUnwrapHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethUnwrapHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethUnwrapHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethUnwrapHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethUnwrapHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getWbethWrapHistory operation in EthStakingApi.\n * @interface GetWbethWrapHistoryRequest\n */\nexport interface GetWbethWrapHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethWrapHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethWrapHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethWrapHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethWrapHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiGetWbethWrapHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for redeemEth operation in EthStakingApi.\n * @interface RedeemEthRequest\n */\nexport interface RedeemEthRequest {\n    /**\n     * Amount in SOL.\n     * @type {number}\n     * @memberof EthStakingApiRedeemEth\n     */\n    readonly amount: number;\n\n    /**\n     * WBETH or BETH, default to BETH\n     * @type {string}\n     * @memberof EthStakingApiRedeemEth\n     */\n    readonly asset?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiRedeemEth\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for subscribeEthStaking operation in EthStakingApi.\n * @interface SubscribeEthStakingRequest\n */\nexport interface SubscribeEthStakingRequest {\n    /**\n     * Amount in SOL.\n     * @type {number}\n     * @memberof EthStakingApiSubscribeEthStaking\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiSubscribeEthStaking\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for wrapBeth operation in EthStakingApi.\n * @interface WrapBethRequest\n */\nexport interface WrapBethRequest {\n    /**\n     * Amount in SOL.\n     * @type {number}\n     * @memberof EthStakingApiWrapBeth\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof EthStakingApiWrapBeth\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * EthStakingApi - object-oriented interface\n * @class EthStakingApi\n */\nexport class EthStakingApi implements EthStakingApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = EthStakingApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * ETH Staking account\n     *\n     * Weight: 150\n     *\n     * @summary ETH Staking account(USER_DATA)\n     * @param {EthStakingAccountRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<EthStakingAccountResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/account/ETH-Staking-account Binance API Documentation}\n     */\n    public async ethStakingAccount(\n        requestParameters: EthStakingAccountRequest = {}\n    ): Promise<RestApiResponse<EthStakingAccountResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.ethStakingAccount(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<EthStakingAccountResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current ETH staking quota\n     *\n     * Weight: 150\n     *\n     * @summary Get current ETH staking quota(USER_DATA)\n     * @param {GetCurrentEthStakingQuotaRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/account/Get-current-ETH-staking-quota Binance API Documentation}\n     */\n    public async getCurrentEthStakingQuota(\n        requestParameters: GetCurrentEthStakingQuotaRequest = {}\n    ): Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getCurrentEthStakingQuota(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetCurrentEthStakingQuotaResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get ETH redemption history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get ETH redemption history(USER_DATA)\n     * @param {GetEthRedemptionHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetEthRedemptionHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-redemption-history Binance API Documentation}\n     */\n    public async getEthRedemptionHistory(\n        requestParameters: GetEthRedemptionHistoryRequest = {}\n    ): Promise<RestApiResponse<GetEthRedemptionHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getEthRedemptionHistory(\n            requestParameters?.redeemId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetEthRedemptionHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get ETH staking history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get ETH staking history(USER_DATA)\n     * @param {GetEthStakingHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetEthStakingHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-staking-history Binance API Documentation}\n     */\n    public async getEthStakingHistory(\n        requestParameters: GetEthStakingHistoryRequest = {}\n    ): Promise<RestApiResponse<GetEthStakingHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getEthStakingHistory(\n            requestParameters?.purchaseId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetEthStakingHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get WBETH Rate History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH Rate History(USER_DATA)\n     * @param {GetWbethRateHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetWbethRateHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-BETH-Rate-History Binance API Documentation}\n     */\n    public async getWbethRateHistory(\n        requestParameters: GetWbethRateHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethRateHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getWbethRateHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetWbethRateHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get WBETH rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH rewards history(USER_DATA)\n     * @param {GetWbethRewardsHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetWbethRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-rewards-history Binance API Documentation}\n     */\n    public async getWbethRewardsHistory(\n        requestParameters: GetWbethRewardsHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethRewardsHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getWbethRewardsHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetWbethRewardsHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get WBETH unwrap history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH unwrap history(USER_DATA)\n     * @param {GetWbethUnwrapHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-unwrap-history Binance API Documentation}\n     */\n    public async getWbethUnwrapHistory(\n        requestParameters: GetWbethUnwrapHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getWbethUnwrapHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetWbethUnwrapHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get WBETH wrap history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH wrap history(USER_DATA)\n     * @param {GetWbethWrapHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetWbethWrapHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-wrap-history Binance API Documentation}\n     */\n    public async getWbethWrapHistory(\n        requestParameters: GetWbethWrapHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethWrapHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getWbethWrapHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetWbethWrapHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Redeem WBETH or BETH and get ETH\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Redeem ETH(TRADE)\n     * @param {RedeemEthRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<RedeemEthResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Redeem-ETH Binance API Documentation}\n     */\n    public async redeemEth(\n        requestParameters: RedeemEthRequest\n    ): Promise<RestApiResponse<RedeemEthResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.redeemEth(\n            requestParameters?.amount,\n            requestParameters?.asset,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<RedeemEthResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Subscribe ETH Staking\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Subscribe ETH Staking(TRADE)\n     * @param {SubscribeEthStakingRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SubscribeEthStakingResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Subscribe-ETH-Staking Binance API Documentation}\n     */\n    public async subscribeEthStaking(\n        requestParameters: SubscribeEthStakingRequest\n    ): Promise<RestApiResponse<SubscribeEthStakingResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.subscribeEthStaking(\n            requestParameters?.amount,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<SubscribeEthStakingResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Wrap BETH\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Wrap BETH(TRADE)\n     * @param {WrapBethRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<WrapBethResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Wrap-BETH Binance API Documentation}\n     */\n    public async wrapBeth(\n        requestParameters: WrapBethRequest\n    ): Promise<RestApiResponse<WrapBethResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.wrapBeth(\n            requestParameters?.amount,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<WrapBethResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n}\n","/**\n * Binance Staking REST API\n *\n * OpenAPI Specification for the Binance Staking REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    assertParamExists,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type {\n    GetOnChainYieldsLockedPersonalLeftQuotaResponse,\n    GetOnChainYieldsLockedProductListResponse,\n    GetOnChainYieldsLockedProductPositionResponse,\n    GetOnChainYieldsLockedRedemptionRecordResponse,\n    GetOnChainYieldsLockedRewardsHistoryResponse,\n    GetOnChainYieldsLockedSubscriptionPreviewResponse,\n    GetOnChainYieldsLockedSubscriptionRecordResponse,\n    OnChainYieldsAccountResponse,\n    RedeemOnChainYieldsLockedProductResponse,\n    SetOnChainYieldsLockedAutoSubscribeResponse,\n    SetOnChainYieldsLockedProductRedeemOptionResponse,\n    SubscribeOnChainYieldsLockedProductResponse,\n} from '../types';\n\n/**\n * OnChainYieldsApi - axios parameter creator\n */\nconst OnChainYieldsApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * Get On-chain Yields Locked Personal Left Quota\n         *\n         * Weight: 50\n         *\n         * @summary Get On-chain Yields Locked Personal Left Quota (USER_DATA)\n         * @param {string} projectId\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getOnChainYieldsLockedPersonalLeftQuota: async (\n            projectId: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'projectId' is not null or undefined\n            assertParamExists('getOnChainYieldsLockedPersonalLeftQuota', 'projectId', projectId);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (projectId !== undefined && projectId !== null) {\n                localVarQueryParameter['projectId'] = projectId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/onchain-yields/locked/personalLeftQuota',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get available On-chain Yields Locked product list\n         *\n         * Get available On-chain Yields Locked product list\n         *\n         * Weight: 50\n         *\n         * @summary Get On-chain Yields Locked Product List (USER_DATA)\n         * @param {string} [asset] WBETH or BETH, default to BETH\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getOnChainYieldsLockedProductList: async (\n            asset?: string,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/onchain-yields/locked/list',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get On-chain Yields Locked Product Position\n         *\n         * Weight: 50\n         *\n         * @summary Get On-chain Yields Locked Product Position (USER_DATA)\n         * @param {string} [asset] WBETH or BETH, default to BETH\n         * @param {number | bigint} [positionId]\n         * @param {string} [projectId]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getOnChainYieldsLockedProductPosition: async (\n            asset?: string,\n            positionId?: number | bigint,\n            projectId?: string,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (positionId !== undefined && positionId !== null) {\n                localVarQueryParameter['positionId'] = positionId;\n            }\n            if (projectId !== undefined && projectId !== null) {\n                localVarQueryParameter['projectId'] = projectId;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/onchain-yields/locked/position',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get On-chain Yields Locked Redemption Record\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 50\n         *\n         * @summary Get On-chain Yields Locked Redemption Record (USER_DATA)\n         * @param {number | bigint} [positionId]\n         * @param {string} [redeemId]\n         * @param {string} [asset] WBETH or BETH, default to BETH\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getOnChainYieldsLockedRedemptionRecord: async (\n            positionId?: number | bigint,\n            redeemId?: string,\n            asset?: string,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (positionId !== undefined && positionId !== null) {\n                localVarQueryParameter['positionId'] = positionId;\n            }\n            if (redeemId !== undefined && redeemId !== null) {\n                localVarQueryParameter['redeemId'] = redeemId;\n            }\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/onchain-yields/locked/history/redemptionRecord',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get On-chain Yields Locked Rewards History\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 50\n         *\n         * @summary Get On-chain Yields Locked Rewards History (USER_DATA)\n         * @param {string} [positionId]\n         * @param {string} [asset] WBETH or BETH, default to BETH\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getOnChainYieldsLockedRewardsHistory: async (\n            positionId?: string,\n            asset?: string,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (positionId !== undefined && positionId !== null) {\n                localVarQueryParameter['positionId'] = positionId;\n            }\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/onchain-yields/locked/history/rewardsRecord',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get On-chain Yields Locked Subscription Preview\n         *\n         * Weight: 50\n         *\n         * @summary Get On-chain Yields Locked Subscription Preview (USER_DATA)\n         * @param {string} projectId\n         * @param {number} amount Amount in SOL.\n         * @param {boolean} [autoSubscribe] true or false, default true.\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getOnChainYieldsLockedSubscriptionPreview: async (\n            projectId: string,\n            amount: number,\n            autoSubscribe?: boolean,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'projectId' is not null or undefined\n            assertParamExists('getOnChainYieldsLockedSubscriptionPreview', 'projectId', projectId);\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('getOnChainYieldsLockedSubscriptionPreview', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (projectId !== undefined && projectId !== null) {\n                localVarQueryParameter['projectId'] = projectId;\n            }\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n            if (autoSubscribe !== undefined && autoSubscribe !== null) {\n                localVarQueryParameter['autoSubscribe'] = autoSubscribe;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/onchain-yields/locked/subscriptionPreview',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get On-chain Yields Locked Subscription Record\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 50\n         *\n         * @summary Get On-chain Yields Locked Subscription Record (USER_DATA)\n         * @param {string} [purchaseId]\n         * @param {string} [clientId]\n         * @param {string} [asset] WBETH or BETH, default to BETH\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getOnChainYieldsLockedSubscriptionRecord: async (\n            purchaseId?: string,\n            clientId?: string,\n            asset?: string,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (purchaseId !== undefined && purchaseId !== null) {\n                localVarQueryParameter['purchaseId'] = purchaseId;\n            }\n            if (clientId !== undefined && clientId !== null) {\n                localVarQueryParameter['clientId'] = clientId;\n            }\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/onchain-yields/locked/history/subscriptionRecord',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * On-chain Yields Account query\n         *\n         * Weight: 50\n         *\n         * @summary On-chain Yields Account (USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        onChainYieldsAccount: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/onchain-yields/account',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Redeem On-chain Yields Locked Product\n         *\n         * You need to open `Enable Spot & Margin Trading` permission for the API Key which requests this endpoint.\n         *\n         * Weight: 1/3s per account\n         *\n         * @summary Redeem On-chain Yields Locked Product (TRADE)\n         * @param {string} positionId\n         * @param {string} [channelId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        redeemOnChainYieldsLockedProduct: async (\n            positionId: string,\n            channelId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'positionId' is not null or undefined\n            assertParamExists('redeemOnChainYieldsLockedProduct', 'positionId', positionId);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (positionId !== undefined && positionId !== null) {\n                localVarQueryParameter['positionId'] = positionId;\n            }\n            if (channelId !== undefined && channelId !== null) {\n                localVarQueryParameter['channelId'] = channelId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/onchain-yields/locked/redeem',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Set On-chain Yield locked auto subscribe\n         *\n         * Weight: 50\n         *\n         * @summary Set On-chain Yields Locked Auto Subscribe(USER_DATA)\n         * @param {string} positionId\n         * @param {boolean} autoSubscribe true or false\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        setOnChainYieldsLockedAutoSubscribe: async (\n            positionId: string,\n            autoSubscribe: boolean,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'positionId' is not null or undefined\n            assertParamExists('setOnChainYieldsLockedAutoSubscribe', 'positionId', positionId);\n            // verify required parameter 'autoSubscribe' is not null or undefined\n            assertParamExists(\n                'setOnChainYieldsLockedAutoSubscribe',\n                'autoSubscribe',\n                autoSubscribe\n            );\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (positionId !== undefined && positionId !== null) {\n                localVarQueryParameter['positionId'] = positionId;\n            }\n            if (autoSubscribe !== undefined && autoSubscribe !== null) {\n                localVarQueryParameter['autoSubscribe'] = autoSubscribe;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/onchain-yields/locked/setAutoSubscribe',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Set On-chain Yields redeem option for Locked product\n         *\n         * Weight: 50\n         *\n         * @summary Set On-chain Yields Locked Product Redeem Option(USER_DATA)\n         * @param {string} positionId\n         * @param {string} redeemTo 'SPOT','FLEXIBLE'\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        setOnChainYieldsLockedProductRedeemOption: async (\n            positionId: string,\n            redeemTo: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'positionId' is not null or undefined\n            assertParamExists(\n                'setOnChainYieldsLockedProductRedeemOption',\n                'positionId',\n                positionId\n            );\n            // verify required parameter 'redeemTo' is not null or undefined\n            assertParamExists('setOnChainYieldsLockedProductRedeemOption', 'redeemTo', redeemTo);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (positionId !== undefined && positionId !== null) {\n                localVarQueryParameter['positionId'] = positionId;\n            }\n            if (redeemTo !== undefined && redeemTo !== null) {\n                localVarQueryParameter['redeemTo'] = redeemTo;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/onchain-yields/locked/setRedeemOption',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Subscribe On-chain Yields Locked Product\n         *\n         * You need to open `Enable Spot & Margin Trading` permission for the API Key which requests this endpoint.\n         *\n         * Weight: 200\n         *\n         * @summary Subscribe On-chain Yields Locked Product(TRADE)\n         * @param {string} projectId\n         * @param {number} amount Amount in SOL.\n         * @param {boolean} [autoSubscribe] true or false, default true.\n         * @param {string} [sourceAccount] `SPOT`,`FUND`,`ALL`, default `SPOT`\n         * @param {string} [redeemTo] `SPOT`,`FLEXIBLE`, default `FLEXIBLE` Takes effect when Auto Subscribe is false\n         * @param {string} [channelId]\n         * @param {string} [clientId]\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        subscribeOnChainYieldsLockedProduct: async (\n            projectId: string,\n            amount: number,\n            autoSubscribe?: boolean,\n            sourceAccount?: string,\n            redeemTo?: string,\n            channelId?: string,\n            clientId?: string,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'projectId' is not null or undefined\n            assertParamExists('subscribeOnChainYieldsLockedProduct', 'projectId', projectId);\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('subscribeOnChainYieldsLockedProduct', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (projectId !== undefined && projectId !== null) {\n                localVarQueryParameter['projectId'] = projectId;\n            }\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n            if (autoSubscribe !== undefined && autoSubscribe !== null) {\n                localVarQueryParameter['autoSubscribe'] = autoSubscribe;\n            }\n            if (sourceAccount !== undefined && sourceAccount !== null) {\n                localVarQueryParameter['sourceAccount'] = sourceAccount;\n            }\n            if (redeemTo !== undefined && redeemTo !== null) {\n                localVarQueryParameter['redeemTo'] = redeemTo;\n            }\n            if (channelId !== undefined && channelId !== null) {\n                localVarQueryParameter['channelId'] = channelId;\n            }\n            if (clientId !== undefined && clientId !== null) {\n                localVarQueryParameter['clientId'] = clientId;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/onchain-yields/locked/subscribe',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * OnChainYieldsApi - interface\n * @interface OnChainYieldsApi\n */\nexport interface OnChainYieldsApiInterface {\n    /**\n     * Get On-chain Yields Locked Personal Left Quota\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Personal Left Quota (USER_DATA)\n     * @param {GetOnChainYieldsLockedPersonalLeftQuotaRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApiInterface\n     */\n    getOnChainYieldsLockedPersonalLeftQuota(\n        requestParameters: GetOnChainYieldsLockedPersonalLeftQuotaRequest\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedPersonalLeftQuotaResponse>>;\n    /**\n     * Get available On-chain Yields Locked product list\n     *\n     * Get available On-chain Yields Locked product list\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Product List (USER_DATA)\n     * @param {GetOnChainYieldsLockedProductListRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApiInterface\n     */\n    getOnChainYieldsLockedProductList(\n        requestParameters?: GetOnChainYieldsLockedProductListRequest\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedProductListResponse>>;\n    /**\n     * Get On-chain Yields Locked Product Position\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Product Position (USER_DATA)\n     * @param {GetOnChainYieldsLockedProductPositionRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApiInterface\n     */\n    getOnChainYieldsLockedProductPosition(\n        requestParameters?: GetOnChainYieldsLockedProductPositionRequest\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedProductPositionResponse>>;\n    /**\n     * Get On-chain Yields Locked Redemption Record\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Redemption Record (USER_DATA)\n     * @param {GetOnChainYieldsLockedRedemptionRecordRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApiInterface\n     */\n    getOnChainYieldsLockedRedemptionRecord(\n        requestParameters?: GetOnChainYieldsLockedRedemptionRecordRequest\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedRedemptionRecordResponse>>;\n    /**\n     * Get On-chain Yields Locked Rewards History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Rewards History (USER_DATA)\n     * @param {GetOnChainYieldsLockedRewardsHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApiInterface\n     */\n    getOnChainYieldsLockedRewardsHistory(\n        requestParameters?: GetOnChainYieldsLockedRewardsHistoryRequest\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedRewardsHistoryResponse>>;\n    /**\n     * Get On-chain Yields Locked Subscription Preview\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Subscription Preview (USER_DATA)\n     * @param {GetOnChainYieldsLockedSubscriptionPreviewRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApiInterface\n     */\n    getOnChainYieldsLockedSubscriptionPreview(\n        requestParameters: GetOnChainYieldsLockedSubscriptionPreviewRequest\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedSubscriptionPreviewResponse>>;\n    /**\n     * Get On-chain Yields Locked Subscription Record\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Subscription Record (USER_DATA)\n     * @param {GetOnChainYieldsLockedSubscriptionRecordRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApiInterface\n     */\n    getOnChainYieldsLockedSubscriptionRecord(\n        requestParameters?: GetOnChainYieldsLockedSubscriptionRecordRequest\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedSubscriptionRecordResponse>>;\n    /**\n     * On-chain Yields Account query\n     *\n     * Weight: 50\n     *\n     * @summary On-chain Yields Account (USER_DATA)\n     * @param {OnChainYieldsAccountRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApiInterface\n     */\n    onChainYieldsAccount(\n        requestParameters?: OnChainYieldsAccountRequest\n    ): Promise<RestApiResponse<OnChainYieldsAccountResponse>>;\n    /**\n     * Redeem On-chain Yields Locked Product\n     *\n     * You need to open `Enable Spot & Margin Trading` permission for the API Key which requests this endpoint.\n     *\n     * Weight: 1/3s per account\n     *\n     * @summary Redeem On-chain Yields Locked Product (TRADE)\n     * @param {RedeemOnChainYieldsLockedProductRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApiInterface\n     */\n    redeemOnChainYieldsLockedProduct(\n        requestParameters: RedeemOnChainYieldsLockedProductRequest\n    ): Promise<RestApiResponse<RedeemOnChainYieldsLockedProductResponse>>;\n    /**\n     * Set On-chain Yield locked auto subscribe\n     *\n     * Weight: 50\n     *\n     * @summary Set On-chain Yields Locked Auto Subscribe(USER_DATA)\n     * @param {SetOnChainYieldsLockedAutoSubscribeRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApiInterface\n     */\n    setOnChainYieldsLockedAutoSubscribe(\n        requestParameters: SetOnChainYieldsLockedAutoSubscribeRequest\n    ): Promise<RestApiResponse<SetOnChainYieldsLockedAutoSubscribeResponse>>;\n    /**\n     * Set On-chain Yields redeem option for Locked product\n     *\n     * Weight: 50\n     *\n     * @summary Set On-chain Yields Locked Product Redeem Option(USER_DATA)\n     * @param {SetOnChainYieldsLockedProductRedeemOptionRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApiInterface\n     */\n    setOnChainYieldsLockedProductRedeemOption(\n        requestParameters: SetOnChainYieldsLockedProductRedeemOptionRequest\n    ): Promise<RestApiResponse<SetOnChainYieldsLockedProductRedeemOptionResponse>>;\n    /**\n     * Subscribe On-chain Yields Locked Product\n     *\n     * You need to open `Enable Spot & Margin Trading` permission for the API Key which requests this endpoint.\n     *\n     * Weight: 200\n     *\n     * @summary Subscribe On-chain Yields Locked Product(TRADE)\n     * @param {SubscribeOnChainYieldsLockedProductRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApiInterface\n     */\n    subscribeOnChainYieldsLockedProduct(\n        requestParameters: SubscribeOnChainYieldsLockedProductRequest\n    ): Promise<RestApiResponse<SubscribeOnChainYieldsLockedProductResponse>>;\n}\n\n/**\n * Request parameters for getOnChainYieldsLockedPersonalLeftQuota operation in OnChainYieldsApi.\n * @interface GetOnChainYieldsLockedPersonalLeftQuotaRequest\n */\nexport interface GetOnChainYieldsLockedPersonalLeftQuotaRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedPersonalLeftQuota\n     */\n    readonly projectId: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedPersonalLeftQuota\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getOnChainYieldsLockedProductList operation in OnChainYieldsApi.\n * @interface GetOnChainYieldsLockedProductListRequest\n */\nexport interface GetOnChainYieldsLockedProductListRequest {\n    /**\n     * WBETH or BETH, default to BETH\n     * @type {string}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedProductList\n     */\n    readonly asset?: string;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedProductList\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedProductList\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedProductList\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getOnChainYieldsLockedProductPosition operation in OnChainYieldsApi.\n * @interface GetOnChainYieldsLockedProductPositionRequest\n */\nexport interface GetOnChainYieldsLockedProductPositionRequest {\n    /**\n     * WBETH or BETH, default to BETH\n     * @type {string}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedProductPosition\n     */\n    readonly asset?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedProductPosition\n     */\n    readonly positionId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedProductPosition\n     */\n    readonly projectId?: string;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedProductPosition\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedProductPosition\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedProductPosition\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getOnChainYieldsLockedRedemptionRecord operation in OnChainYieldsApi.\n * @interface GetOnChainYieldsLockedRedemptionRecordRequest\n */\nexport interface GetOnChainYieldsLockedRedemptionRecordRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRedemptionRecord\n     */\n    readonly positionId?: number | bigint;\n\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRedemptionRecord\n     */\n    readonly redeemId?: string;\n\n    /**\n     * WBETH or BETH, default to BETH\n     * @type {string}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRedemptionRecord\n     */\n    readonly asset?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRedemptionRecord\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRedemptionRecord\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRedemptionRecord\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRedemptionRecord\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRedemptionRecord\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getOnChainYieldsLockedRewardsHistory operation in OnChainYieldsApi.\n * @interface GetOnChainYieldsLockedRewardsHistoryRequest\n */\nexport interface GetOnChainYieldsLockedRewardsHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRewardsHistory\n     */\n    readonly positionId?: string;\n\n    /**\n     * WBETH or BETH, default to BETH\n     * @type {string}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRewardsHistory\n     */\n    readonly asset?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRewardsHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRewardsHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRewardsHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRewardsHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedRewardsHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getOnChainYieldsLockedSubscriptionPreview operation in OnChainYieldsApi.\n * @interface GetOnChainYieldsLockedSubscriptionPreviewRequest\n */\nexport interface GetOnChainYieldsLockedSubscriptionPreviewRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedSubscriptionPreview\n     */\n    readonly projectId: string;\n\n    /**\n     * Amount in SOL.\n     * @type {number}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedSubscriptionPreview\n     */\n    readonly amount: number;\n\n    /**\n     * true or false, default true.\n     * @type {boolean}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedSubscriptionPreview\n     */\n    readonly autoSubscribe?: boolean;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedSubscriptionPreview\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getOnChainYieldsLockedSubscriptionRecord operation in OnChainYieldsApi.\n * @interface GetOnChainYieldsLockedSubscriptionRecordRequest\n */\nexport interface GetOnChainYieldsLockedSubscriptionRecordRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedSubscriptionRecord\n     */\n    readonly purchaseId?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedSubscriptionRecord\n     */\n    readonly clientId?: string;\n\n    /**\n     * WBETH or BETH, default to BETH\n     * @type {string}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedSubscriptionRecord\n     */\n    readonly asset?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedSubscriptionRecord\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedSubscriptionRecord\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedSubscriptionRecord\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedSubscriptionRecord\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiGetOnChainYieldsLockedSubscriptionRecord\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for onChainYieldsAccount operation in OnChainYieldsApi.\n * @interface OnChainYieldsAccountRequest\n */\nexport interface OnChainYieldsAccountRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiOnChainYieldsAccount\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for redeemOnChainYieldsLockedProduct operation in OnChainYieldsApi.\n * @interface RedeemOnChainYieldsLockedProductRequest\n */\nexport interface RedeemOnChainYieldsLockedProductRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiRedeemOnChainYieldsLockedProduct\n     */\n    readonly positionId: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiRedeemOnChainYieldsLockedProduct\n     */\n    readonly channelId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiRedeemOnChainYieldsLockedProduct\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for setOnChainYieldsLockedAutoSubscribe operation in OnChainYieldsApi.\n * @interface SetOnChainYieldsLockedAutoSubscribeRequest\n */\nexport interface SetOnChainYieldsLockedAutoSubscribeRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiSetOnChainYieldsLockedAutoSubscribe\n     */\n    readonly positionId: string;\n\n    /**\n     * true or false\n     * @type {boolean}\n     * @memberof OnChainYieldsApiSetOnChainYieldsLockedAutoSubscribe\n     */\n    readonly autoSubscribe: boolean;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiSetOnChainYieldsLockedAutoSubscribe\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for setOnChainYieldsLockedProductRedeemOption operation in OnChainYieldsApi.\n * @interface SetOnChainYieldsLockedProductRedeemOptionRequest\n */\nexport interface SetOnChainYieldsLockedProductRedeemOptionRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiSetOnChainYieldsLockedProductRedeemOption\n     */\n    readonly positionId: string;\n\n    /**\n     * 'SPOT','FLEXIBLE'\n     * @type {string}\n     * @memberof OnChainYieldsApiSetOnChainYieldsLockedProductRedeemOption\n     */\n    readonly redeemTo: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiSetOnChainYieldsLockedProductRedeemOption\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for subscribeOnChainYieldsLockedProduct operation in OnChainYieldsApi.\n * @interface SubscribeOnChainYieldsLockedProductRequest\n */\nexport interface SubscribeOnChainYieldsLockedProductRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiSubscribeOnChainYieldsLockedProduct\n     */\n    readonly projectId: string;\n\n    /**\n     * Amount in SOL.\n     * @type {number}\n     * @memberof OnChainYieldsApiSubscribeOnChainYieldsLockedProduct\n     */\n    readonly amount: number;\n\n    /**\n     * true or false, default true.\n     * @type {boolean}\n     * @memberof OnChainYieldsApiSubscribeOnChainYieldsLockedProduct\n     */\n    readonly autoSubscribe?: boolean;\n\n    /**\n     * `SPOT`,`FUND`,`ALL`, default `SPOT`\n     * @type {string}\n     * @memberof OnChainYieldsApiSubscribeOnChainYieldsLockedProduct\n     */\n    readonly sourceAccount?: string;\n\n    /**\n     * `SPOT`,`FLEXIBLE`, default `FLEXIBLE` Takes effect when Auto Subscribe is false\n     * @type {string}\n     * @memberof OnChainYieldsApiSubscribeOnChainYieldsLockedProduct\n     */\n    readonly redeemTo?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiSubscribeOnChainYieldsLockedProduct\n     */\n    readonly channelId?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof OnChainYieldsApiSubscribeOnChainYieldsLockedProduct\n     */\n    readonly clientId?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof OnChainYieldsApiSubscribeOnChainYieldsLockedProduct\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * OnChainYieldsApi - object-oriented interface\n * @class OnChainYieldsApi\n */\nexport class OnChainYieldsApi implements OnChainYieldsApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = OnChainYieldsApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * Get On-chain Yields Locked Personal Left Quota\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Personal Left Quota (USER_DATA)\n     * @param {GetOnChainYieldsLockedPersonalLeftQuotaRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedPersonalLeftQuotaResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApi\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/account/Get-Onchain-Locked-Personal-Left-Quota Binance API Documentation}\n     */\n    public async getOnChainYieldsLockedPersonalLeftQuota(\n        requestParameters: GetOnChainYieldsLockedPersonalLeftQuotaRequest\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedPersonalLeftQuotaResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getOnChainYieldsLockedPersonalLeftQuota(\n                requestParameters?.projectId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetOnChainYieldsLockedPersonalLeftQuotaResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get available On-chain Yields Locked product list\n     *\n     * Get available On-chain Yields Locked product list\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Product List (USER_DATA)\n     * @param {GetOnChainYieldsLockedProductListRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedProductListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApi\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/account/ Binance API Documentation}\n     */\n    public async getOnChainYieldsLockedProductList(\n        requestParameters: GetOnChainYieldsLockedProductListRequest = {}\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedProductListResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getOnChainYieldsLockedProductList(\n                requestParameters?.asset,\n                requestParameters?.current,\n                requestParameters?.size,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetOnChainYieldsLockedProductListResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get On-chain Yields Locked Product Position\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Product Position (USER_DATA)\n     * @param {GetOnChainYieldsLockedProductPositionRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedProductPositionResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApi\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/account/Get-Onchain-Locked-Product-Position Binance API Documentation}\n     */\n    public async getOnChainYieldsLockedProductPosition(\n        requestParameters: GetOnChainYieldsLockedProductPositionRequest = {}\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedProductPositionResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getOnChainYieldsLockedProductPosition(\n                requestParameters?.asset,\n                requestParameters?.positionId,\n                requestParameters?.projectId,\n                requestParameters?.current,\n                requestParameters?.size,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetOnChainYieldsLockedProductPositionResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get On-chain Yields Locked Redemption Record\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Redemption Record (USER_DATA)\n     * @param {GetOnChainYieldsLockedRedemptionRecordRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedRedemptionRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApi\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/history/Get-Onchain-Locked-Redemption-Record Binance API Documentation}\n     */\n    public async getOnChainYieldsLockedRedemptionRecord(\n        requestParameters: GetOnChainYieldsLockedRedemptionRecordRequest = {}\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedRedemptionRecordResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getOnChainYieldsLockedRedemptionRecord(\n                requestParameters?.positionId,\n                requestParameters?.redeemId,\n                requestParameters?.asset,\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.current,\n                requestParameters?.size,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetOnChainYieldsLockedRedemptionRecordResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get On-chain Yields Locked Rewards History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Rewards History (USER_DATA)\n     * @param {GetOnChainYieldsLockedRewardsHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApi\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/history/Get-Onchain-Locked-Rewards-History Binance API Documentation}\n     */\n    public async getOnChainYieldsLockedRewardsHistory(\n        requestParameters: GetOnChainYieldsLockedRewardsHistoryRequest = {}\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedRewardsHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getOnChainYieldsLockedRewardsHistory(\n                requestParameters?.positionId,\n                requestParameters?.asset,\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.current,\n                requestParameters?.size,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetOnChainYieldsLockedRewardsHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get On-chain Yields Locked Subscription Preview\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Subscription Preview (USER_DATA)\n     * @param {GetOnChainYieldsLockedSubscriptionPreviewRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedSubscriptionPreviewResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApi\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/earn/ Binance API Documentation}\n     */\n    public async getOnChainYieldsLockedSubscriptionPreview(\n        requestParameters: GetOnChainYieldsLockedSubscriptionPreviewRequest\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedSubscriptionPreviewResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getOnChainYieldsLockedSubscriptionPreview(\n                requestParameters?.projectId,\n                requestParameters?.amount,\n                requestParameters?.autoSubscribe,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetOnChainYieldsLockedSubscriptionPreviewResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get On-chain Yields Locked Subscription Record\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Subscription Record (USER_DATA)\n     * @param {GetOnChainYieldsLockedSubscriptionRecordRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedSubscriptionRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApi\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/history/ Binance API Documentation}\n     */\n    public async getOnChainYieldsLockedSubscriptionRecord(\n        requestParameters: GetOnChainYieldsLockedSubscriptionRecordRequest = {}\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedSubscriptionRecordResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getOnChainYieldsLockedSubscriptionRecord(\n                requestParameters?.purchaseId,\n                requestParameters?.clientId,\n                requestParameters?.asset,\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.current,\n                requestParameters?.size,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetOnChainYieldsLockedSubscriptionRecordResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * On-chain Yields Account query\n     *\n     * Weight: 50\n     *\n     * @summary On-chain Yields Account (USER_DATA)\n     * @param {OnChainYieldsAccountRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<OnChainYieldsAccountResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApi\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/account/Onchain-Account Binance API Documentation}\n     */\n    public async onChainYieldsAccount(\n        requestParameters: OnChainYieldsAccountRequest = {}\n    ): Promise<RestApiResponse<OnChainYieldsAccountResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.onChainYieldsAccount(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<OnChainYieldsAccountResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Redeem On-chain Yields Locked Product\n     *\n     * You need to open `Enable Spot & Margin Trading` permission for the API Key which requests this endpoint.\n     *\n     * Weight: 1/3s per account\n     *\n     * @summary Redeem On-chain Yields Locked Product (TRADE)\n     * @param {RedeemOnChainYieldsLockedProductRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<RedeemOnChainYieldsLockedProductResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApi\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/earn/Redeem-Onchain-Locked-Product Binance API Documentation}\n     */\n    public async redeemOnChainYieldsLockedProduct(\n        requestParameters: RedeemOnChainYieldsLockedProductRequest\n    ): Promise<RestApiResponse<RedeemOnChainYieldsLockedProductResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.redeemOnChainYieldsLockedProduct(\n                requestParameters?.positionId,\n                requestParameters?.channelId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<RedeemOnChainYieldsLockedProductResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Set On-chain Yield locked auto subscribe\n     *\n     * Weight: 50\n     *\n     * @summary Set On-chain Yields Locked Auto Subscribe(USER_DATA)\n     * @param {SetOnChainYieldsLockedAutoSubscribeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SetOnChainYieldsLockedAutoSubscribeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApi\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/earn/Set-Onchain-Locked-Auto-Subscribe Binance API Documentation}\n     */\n    public async setOnChainYieldsLockedAutoSubscribe(\n        requestParameters: SetOnChainYieldsLockedAutoSubscribeRequest\n    ): Promise<RestApiResponse<SetOnChainYieldsLockedAutoSubscribeResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.setOnChainYieldsLockedAutoSubscribe(\n                requestParameters?.positionId,\n                requestParameters?.autoSubscribe,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<SetOnChainYieldsLockedAutoSubscribeResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Set On-chain Yields redeem option for Locked product\n     *\n     * Weight: 50\n     *\n     * @summary Set On-chain Yields Locked Product Redeem Option(USER_DATA)\n     * @param {SetOnChainYieldsLockedProductRedeemOptionRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SetOnChainYieldsLockedProductRedeemOptionResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApi\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/earn/Set-Onchain-Locked-Redeem-Option Binance API Documentation}\n     */\n    public async setOnChainYieldsLockedProductRedeemOption(\n        requestParameters: SetOnChainYieldsLockedProductRedeemOptionRequest\n    ): Promise<RestApiResponse<SetOnChainYieldsLockedProductRedeemOptionResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.setOnChainYieldsLockedProductRedeemOption(\n                requestParameters?.positionId,\n                requestParameters?.redeemTo,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<SetOnChainYieldsLockedProductRedeemOptionResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Subscribe On-chain Yields Locked Product\n     *\n     * You need to open `Enable Spot & Margin Trading` permission for the API Key which requests this endpoint.\n     *\n     * Weight: 200\n     *\n     * @summary Subscribe On-chain Yields Locked Product(TRADE)\n     * @param {SubscribeOnChainYieldsLockedProductRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SubscribeOnChainYieldsLockedProductResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof OnChainYieldsApi\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/earn/Subscribe-Onchain-Locked-Product Binance API Documentation}\n     */\n    public async subscribeOnChainYieldsLockedProduct(\n        requestParameters: SubscribeOnChainYieldsLockedProductRequest\n    ): Promise<RestApiResponse<SubscribeOnChainYieldsLockedProductResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.subscribeOnChainYieldsLockedProduct(\n                requestParameters?.projectId,\n                requestParameters?.amount,\n                requestParameters?.autoSubscribe,\n                requestParameters?.sourceAccount,\n                requestParameters?.redeemTo,\n                requestParameters?.channelId,\n                requestParameters?.clientId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<SubscribeOnChainYieldsLockedProductResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n}\n","/**\n * Binance Staking REST API\n *\n * OpenAPI Specification for the Binance Staking REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    assertParamExists,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type {\n    GetSoftStakingProductListResponse,\n    GetSoftStakingRewardsHistoryResponse,\n    SetSoftStakingResponse,\n} from '../types';\n\n/**\n * SoftStakingApi - axios parameter creator\n */\nconst SoftStakingApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * Get the available Soft Staking product list.\n         *\n         * Weight: 50\n         *\n         * @summary Get Soft Staking Product List (USER_DATA)\n         * @param {string} [asset] WBETH or BETH, default to BETH\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getSoftStakingProductList: async (\n            asset?: string,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/soft-staking/list',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 50\n         *\n         * @summary Get Soft Staking Rewards History(USER_DATA)\n         * @param {string} [asset] WBETH or BETH, default to BETH\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getSoftStakingRewardsHistory: async (\n            asset?: string,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/soft-staking/history/rewardsRecord',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Enable or disable Soft Staking.\n         *\n         * Weight: 50\n         *\n         * @summary Set Soft Staking (USER_DATA)\n         * @param {boolean} softStaking true or false\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        setSoftStaking: async (\n            softStaking: boolean,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'softStaking' is not null or undefined\n            assertParamExists('setSoftStaking', 'softStaking', softStaking);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (softStaking !== undefined && softStaking !== null) {\n                localVarQueryParameter['softStaking'] = softStaking;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/soft-staking/set',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * SoftStakingApi - interface\n * @interface SoftStakingApi\n */\nexport interface SoftStakingApiInterface {\n    /**\n     * Get the available Soft Staking product list.\n     *\n     * Weight: 50\n     *\n     * @summary Get Soft Staking Product List (USER_DATA)\n     * @param {GetSoftStakingProductListRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SoftStakingApiInterface\n     */\n    getSoftStakingProductList(\n        requestParameters?: GetSoftStakingProductListRequest\n    ): Promise<RestApiResponse<GetSoftStakingProductListResponse>>;\n    /**\n     * * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 50\n     *\n     * @summary Get Soft Staking Rewards History(USER_DATA)\n     * @param {GetSoftStakingRewardsHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SoftStakingApiInterface\n     */\n    getSoftStakingRewardsHistory(\n        requestParameters?: GetSoftStakingRewardsHistoryRequest\n    ): Promise<RestApiResponse<GetSoftStakingRewardsHistoryResponse>>;\n    /**\n     * Enable or disable Soft Staking.\n     *\n     * Weight: 50\n     *\n     * @summary Set Soft Staking (USER_DATA)\n     * @param {SetSoftStakingRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SoftStakingApiInterface\n     */\n    setSoftStaking(\n        requestParameters: SetSoftStakingRequest\n    ): Promise<RestApiResponse<SetSoftStakingResponse>>;\n}\n\n/**\n * Request parameters for getSoftStakingProductList operation in SoftStakingApi.\n * @interface GetSoftStakingProductListRequest\n */\nexport interface GetSoftStakingProductListRequest {\n    /**\n     * WBETH or BETH, default to BETH\n     * @type {string}\n     * @memberof SoftStakingApiGetSoftStakingProductList\n     */\n    readonly asset?: string;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof SoftStakingApiGetSoftStakingProductList\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof SoftStakingApiGetSoftStakingProductList\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SoftStakingApiGetSoftStakingProductList\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getSoftStakingRewardsHistory operation in SoftStakingApi.\n * @interface GetSoftStakingRewardsHistoryRequest\n */\nexport interface GetSoftStakingRewardsHistoryRequest {\n    /**\n     * WBETH or BETH, default to BETH\n     * @type {string}\n     * @memberof SoftStakingApiGetSoftStakingRewardsHistory\n     */\n    readonly asset?: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SoftStakingApiGetSoftStakingRewardsHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SoftStakingApiGetSoftStakingRewardsHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof SoftStakingApiGetSoftStakingRewardsHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof SoftStakingApiGetSoftStakingRewardsHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SoftStakingApiGetSoftStakingRewardsHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for setSoftStaking operation in SoftStakingApi.\n * @interface SetSoftStakingRequest\n */\nexport interface SetSoftStakingRequest {\n    /**\n     * true or false\n     * @type {boolean}\n     * @memberof SoftStakingApiSetSoftStaking\n     */\n    readonly softStaking: boolean;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SoftStakingApiSetSoftStaking\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * SoftStakingApi - object-oriented interface\n * @class SoftStakingApi\n */\nexport class SoftStakingApi implements SoftStakingApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = SoftStakingApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * Get the available Soft Staking product list.\n     *\n     * Weight: 50\n     *\n     * @summary Get Soft Staking Product List (USER_DATA)\n     * @param {GetSoftStakingProductListRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetSoftStakingProductListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SoftStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/soft-staking/ Binance API Documentation}\n     */\n    public async getSoftStakingProductList(\n        requestParameters: GetSoftStakingProductListRequest = {}\n    ): Promise<RestApiResponse<GetSoftStakingProductListResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getSoftStakingProductList(\n            requestParameters?.asset,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetSoftStakingProductListResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 50\n     *\n     * @summary Get Soft Staking Rewards History(USER_DATA)\n     * @param {GetSoftStakingRewardsHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetSoftStakingRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SoftStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/soft-staking/Get-Soft-Staking-Rewards-History Binance API Documentation}\n     */\n    public async getSoftStakingRewardsHistory(\n        requestParameters: GetSoftStakingRewardsHistoryRequest = {}\n    ): Promise<RestApiResponse<GetSoftStakingRewardsHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getSoftStakingRewardsHistory(\n            requestParameters?.asset,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetSoftStakingRewardsHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Enable or disable Soft Staking.\n     *\n     * Weight: 50\n     *\n     * @summary Set Soft Staking (USER_DATA)\n     * @param {SetSoftStakingRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SetSoftStakingResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SoftStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/soft-staking/Set-Soft-Staking Binance API Documentation}\n     */\n    public async setSoftStaking(\n        requestParameters: SetSoftStakingRequest\n    ): Promise<RestApiResponse<SetSoftStakingResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.setSoftStaking(\n            requestParameters?.softStaking,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<SetSoftStakingResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n}\n","/**\n * Binance Staking REST API\n *\n * OpenAPI Specification for the Binance Staking REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    assertParamExists,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type {\n    ClaimBoostRewardsResponse,\n    GetBnsolRateHistoryResponse,\n    GetBnsolRewardsHistoryResponse,\n    GetBoostRewardsHistoryResponse,\n    GetSolRedemptionHistoryResponse,\n    GetSolStakingHistoryResponse,\n    GetSolStakingQuotaDetailsResponse,\n    GetUnclaimedRewardsResponse,\n    RedeemSolResponse,\n    SolStakingAccountResponse,\n    SubscribeSolStakingResponse,\n} from '../types';\n\n/**\n * SolStakingApi - axios parameter creator\n */\nconst SolStakingApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * Claim Boost APR Airdrop Rewards\n         *\n         * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n         *\n         * Weight: 150\n         *\n         * @summary Claim Boost Rewards(TRADE)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        claimBoostRewards: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/claim',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get BNSOL Rate History\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get BNSOL Rate History(USER_DATA)\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getBnsolRateHistory: async (\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/history/rateHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get BNSOL rewards history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get BNSOL rewards history(USER_DATA)\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getBnsolRewardsHistory: async (\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/history/bnsolRewardsHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get Boost rewards history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get Boost Rewards History(USER_DATA)\n         * @param {string} type \"CLAIM\", \"DISTRIBUTE\", default \"CLAIM\"\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getBoostRewardsHistory: async (\n            type: string,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'type' is not null or undefined\n            assertParamExists('getBoostRewardsHistory', 'type', type);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (type !== undefined && type !== null) {\n                localVarQueryParameter['type'] = type;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/history/boostRewardsHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get SOL redemption history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get SOL redemption history(USER_DATA)\n         * @param {number | bigint} [redeemId]\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getSolRedemptionHistory: async (\n            redeemId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (redeemId !== undefined && redeemId !== null) {\n                localVarQueryParameter['redeemId'] = redeemId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/history/redemptionHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get SOL staking history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get SOL staking history(USER_DATA)\n         * @param {number | bigint} [purchaseId]\n         * @param {number | bigint} [startTime]\n         * @param {number | bigint} [endTime]\n         * @param {number | bigint} [current] Currently querying page. Start from 1. Default:1\n         * @param {number | bigint} [size] Default:10, Max:100\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getSolStakingHistory: async (\n            purchaseId?: number | bigint,\n            startTime?: number | bigint,\n            endTime?: number | bigint,\n            current?: number | bigint,\n            size?: number | bigint,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (purchaseId !== undefined && purchaseId !== null) {\n                localVarQueryParameter['purchaseId'] = purchaseId;\n            }\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/history/stakingHistory',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get SOL staking quota\n         *\n         * Weight: 150\n         *\n         * @summary Get SOL staking quota details(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getSolStakingQuotaDetails: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/quota',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get Unclaimed rewards\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get Unclaimed Rewards(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUnclaimedRewards: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/history/unclaimedRewards',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Redeem BNSOL get SOL\n         *\n         * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n         *\n         * Weight: 150\n         *\n         * @summary Redeem SOL(TRADE)\n         * @param {number} amount Amount in SOL.\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        redeemSol: async (amount: number, recvWindow?: number | bigint): Promise<RequestArgs> => {\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('redeemSol', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/redeem',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * SOL Staking account\n         *\n         * Weight: 150\n         *\n         * @summary SOL Staking account(USER_DATA)\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        solStakingAccount: async (recvWindow?: number | bigint): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/account',\n                method: 'GET',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Subscribe SOL Staking\n         *\n         * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n         *\n         * Weight: 150\n         *\n         * @summary Subscribe SOL Staking(TRADE)\n         * @param {number} amount Amount in SOL.\n         * @param {number | bigint} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        subscribeSolStaking: async (\n            amount: number,\n            recvWindow?: number | bigint\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('subscribeSolStaking', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n            const localVarBodyParameter: Record<string, unknown> = {};\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/stake',\n                method: 'POST',\n                queryParams: localVarQueryParameter,\n                bodyParams: localVarBodyParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * SolStakingApi - interface\n * @interface SolStakingApi\n */\nexport interface SolStakingApiInterface {\n    /**\n     * Claim Boost APR Airdrop Rewards\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Claim Boost Rewards(TRADE)\n     * @param {ClaimBoostRewardsRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    claimBoostRewards(\n        requestParameters?: ClaimBoostRewardsRequest\n    ): Promise<RestApiResponse<ClaimBoostRewardsResponse>>;\n    /**\n     * Get BNSOL Rate History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get BNSOL Rate History(USER_DATA)\n     * @param {GetBnsolRateHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getBnsolRateHistory(\n        requestParameters?: GetBnsolRateHistoryRequest\n    ): Promise<RestApiResponse<GetBnsolRateHistoryResponse>>;\n    /**\n     * Get BNSOL rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get BNSOL rewards history(USER_DATA)\n     * @param {GetBnsolRewardsHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getBnsolRewardsHistory(\n        requestParameters?: GetBnsolRewardsHistoryRequest\n    ): Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>>;\n    /**\n     * Get Boost rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get Boost Rewards History(USER_DATA)\n     * @param {GetBoostRewardsHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getBoostRewardsHistory(\n        requestParameters: GetBoostRewardsHistoryRequest\n    ): Promise<RestApiResponse<GetBoostRewardsHistoryResponse>>;\n    /**\n     * Get SOL redemption history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL redemption history(USER_DATA)\n     * @param {GetSolRedemptionHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getSolRedemptionHistory(\n        requestParameters?: GetSolRedemptionHistoryRequest\n    ): Promise<RestApiResponse<GetSolRedemptionHistoryResponse>>;\n    /**\n     * Get SOL staking history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL staking history(USER_DATA)\n     * @param {GetSolStakingHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getSolStakingHistory(\n        requestParameters?: GetSolStakingHistoryRequest\n    ): Promise<RestApiResponse<GetSolStakingHistoryResponse>>;\n    /**\n     * Get SOL staking quota\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL staking quota details(USER_DATA)\n     * @param {GetSolStakingQuotaDetailsRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getSolStakingQuotaDetails(\n        requestParameters?: GetSolStakingQuotaDetailsRequest\n    ): Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>>;\n    /**\n     * Get Unclaimed rewards\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get Unclaimed Rewards(USER_DATA)\n     * @param {GetUnclaimedRewardsRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getUnclaimedRewards(\n        requestParameters?: GetUnclaimedRewardsRequest\n    ): Promise<RestApiResponse<GetUnclaimedRewardsResponse>>;\n    /**\n     * Redeem BNSOL get SOL\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Redeem SOL(TRADE)\n     * @param {RedeemSolRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    redeemSol(requestParameters: RedeemSolRequest): Promise<RestApiResponse<RedeemSolResponse>>;\n    /**\n     * SOL Staking account\n     *\n     * Weight: 150\n     *\n     * @summary SOL Staking account(USER_DATA)\n     * @param {SolStakingAccountRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    solStakingAccount(\n        requestParameters?: SolStakingAccountRequest\n    ): Promise<RestApiResponse<SolStakingAccountResponse>>;\n    /**\n     * Subscribe SOL Staking\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Subscribe SOL Staking(TRADE)\n     * @param {SubscribeSolStakingRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    subscribeSolStaking(\n        requestParameters: SubscribeSolStakingRequest\n    ): Promise<RestApiResponse<SubscribeSolStakingResponse>>;\n}\n\n/**\n * Request parameters for claimBoostRewards operation in SolStakingApi.\n * @interface ClaimBoostRewardsRequest\n */\nexport interface ClaimBoostRewardsRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiClaimBoostRewards\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getBnsolRateHistory operation in SolStakingApi.\n * @interface GetBnsolRateHistoryRequest\n */\nexport interface GetBnsolRateHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBnsolRateHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBnsolRateHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBnsolRateHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBnsolRateHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBnsolRateHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getBnsolRewardsHistory operation in SolStakingApi.\n * @interface GetBnsolRewardsHistoryRequest\n */\nexport interface GetBnsolRewardsHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBnsolRewardsHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBnsolRewardsHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBnsolRewardsHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBnsolRewardsHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBnsolRewardsHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getBoostRewardsHistory operation in SolStakingApi.\n * @interface GetBoostRewardsHistoryRequest\n */\nexport interface GetBoostRewardsHistoryRequest {\n    /**\n     * \"CLAIM\", \"DISTRIBUTE\", default \"CLAIM\"\n     * @type {string}\n     * @memberof SolStakingApiGetBoostRewardsHistory\n     */\n    readonly type: string;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBoostRewardsHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBoostRewardsHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBoostRewardsHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBoostRewardsHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetBoostRewardsHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getSolRedemptionHistory operation in SolStakingApi.\n * @interface GetSolRedemptionHistoryRequest\n */\nexport interface GetSolRedemptionHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetSolRedemptionHistory\n     */\n    readonly redeemId?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetSolRedemptionHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetSolRedemptionHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetSolRedemptionHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetSolRedemptionHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetSolRedemptionHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getSolStakingHistory operation in SolStakingApi.\n * @interface GetSolStakingHistoryRequest\n */\nexport interface GetSolStakingHistoryRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetSolStakingHistory\n     */\n    readonly purchaseId?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetSolStakingHistory\n     */\n    readonly startTime?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetSolStakingHistory\n     */\n    readonly endTime?: number | bigint;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetSolStakingHistory\n     */\n    readonly current?: number | bigint;\n\n    /**\n     * Default:10, Max:100\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetSolStakingHistory\n     */\n    readonly size?: number | bigint;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetSolStakingHistory\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getSolStakingQuotaDetails operation in SolStakingApi.\n * @interface GetSolStakingQuotaDetailsRequest\n */\nexport interface GetSolStakingQuotaDetailsRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetSolStakingQuotaDetails\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for getUnclaimedRewards operation in SolStakingApi.\n * @interface GetUnclaimedRewardsRequest\n */\nexport interface GetUnclaimedRewardsRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiGetUnclaimedRewards\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for redeemSol operation in SolStakingApi.\n * @interface RedeemSolRequest\n */\nexport interface RedeemSolRequest {\n    /**\n     * Amount in SOL.\n     * @type {number}\n     * @memberof SolStakingApiRedeemSol\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiRedeemSol\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for solStakingAccount operation in SolStakingApi.\n * @interface SolStakingAccountRequest\n */\nexport interface SolStakingAccountRequest {\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiSolStakingAccount\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * Request parameters for subscribeSolStaking operation in SolStakingApi.\n * @interface SubscribeSolStakingRequest\n */\nexport interface SubscribeSolStakingRequest {\n    /**\n     * Amount in SOL.\n     * @type {number}\n     * @memberof SolStakingApiSubscribeSolStaking\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number | bigint}\n     * @memberof SolStakingApiSubscribeSolStaking\n     */\n    readonly recvWindow?: number | bigint;\n}\n\n/**\n * SolStakingApi - object-oriented interface\n * @class SolStakingApi\n */\nexport class SolStakingApi implements SolStakingApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = SolStakingApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * Claim Boost APR Airdrop Rewards\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Claim Boost Rewards(TRADE)\n     * @param {ClaimBoostRewardsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ClaimBoostRewardsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Claim-Boost-Rewards Binance API Documentation}\n     */\n    public async claimBoostRewards(\n        requestParameters: ClaimBoostRewardsRequest = {}\n    ): Promise<RestApiResponse<ClaimBoostRewardsResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.claimBoostRewards(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ClaimBoostRewardsResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get BNSOL Rate History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get BNSOL Rate History(USER_DATA)\n     * @param {GetBnsolRateHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetBnsolRateHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-Rate-History Binance API Documentation}\n     */\n    public async getBnsolRateHistory(\n        requestParameters: GetBnsolRateHistoryRequest = {}\n    ): Promise<RestApiResponse<GetBnsolRateHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getBnsolRateHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetBnsolRateHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get BNSOL rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get BNSOL rewards history(USER_DATA)\n     * @param {GetBnsolRewardsHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-rewards-history Binance API Documentation}\n     */\n    public async getBnsolRewardsHistory(\n        requestParameters: GetBnsolRewardsHistoryRequest = {}\n    ): Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getBnsolRewardsHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetBnsolRewardsHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get Boost rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get Boost Rewards History(USER_DATA)\n     * @param {GetBoostRewardsHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetBoostRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-Boost-Rewards-History Binance API Documentation}\n     */\n    public async getBoostRewardsHistory(\n        requestParameters: GetBoostRewardsHistoryRequest\n    ): Promise<RestApiResponse<GetBoostRewardsHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getBoostRewardsHistory(\n            requestParameters?.type,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetBoostRewardsHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get SOL redemption history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL redemption history(USER_DATA)\n     * @param {GetSolRedemptionHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetSolRedemptionHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-redemption-history Binance API Documentation}\n     */\n    public async getSolRedemptionHistory(\n        requestParameters: GetSolRedemptionHistoryRequest = {}\n    ): Promise<RestApiResponse<GetSolRedemptionHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getSolRedemptionHistory(\n            requestParameters?.redeemId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetSolRedemptionHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get SOL staking history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL staking history(USER_DATA)\n     * @param {GetSolStakingHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetSolStakingHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-staking-history Binance API Documentation}\n     */\n    public async getSolStakingHistory(\n        requestParameters: GetSolStakingHistoryRequest = {}\n    ): Promise<RestApiResponse<GetSolStakingHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getSolStakingHistory(\n            requestParameters?.purchaseId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetSolStakingHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get SOL staking quota\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL staking quota details(USER_DATA)\n     * @param {GetSolStakingQuotaDetailsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/account/Get-SOL-staking-quota-details Binance API Documentation}\n     */\n    public async getSolStakingQuotaDetails(\n        requestParameters: GetSolStakingQuotaDetailsRequest = {}\n    ): Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getSolStakingQuotaDetails(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetSolStakingQuotaDetailsResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get Unclaimed rewards\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get Unclaimed Rewards(USER_DATA)\n     * @param {GetUnclaimedRewardsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUnclaimedRewardsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-Unclaimed-Rewards Binance API Documentation}\n     */\n    public async getUnclaimedRewards(\n        requestParameters: GetUnclaimedRewardsRequest = {}\n    ): Promise<RestApiResponse<GetUnclaimedRewardsResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUnclaimedRewards(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUnclaimedRewardsResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Redeem BNSOL get SOL\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Redeem SOL(TRADE)\n     * @param {RedeemSolRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<RedeemSolResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Redeem-SOL Binance API Documentation}\n     */\n    public async redeemSol(\n        requestParameters: RedeemSolRequest\n    ): Promise<RestApiResponse<RedeemSolResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.redeemSol(\n            requestParameters?.amount,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<RedeemSolResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * SOL Staking account\n     *\n     * Weight: 150\n     *\n     * @summary SOL Staking account(USER_DATA)\n     * @param {SolStakingAccountRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SolStakingAccountResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/account/SOL-Staking-account Binance API Documentation}\n     */\n    public async solStakingAccount(\n        requestParameters: SolStakingAccountRequest = {}\n    ): Promise<RestApiResponse<SolStakingAccountResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.solStakingAccount(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<SolStakingAccountResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Subscribe SOL Staking\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Subscribe SOL Staking(TRADE)\n     * @param {SubscribeSolStakingRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SubscribeSolStakingResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Subscribe-SOL-Staking Binance API Documentation}\n     */\n    public async subscribeSolStaking(\n        requestParameters: SubscribeSolStakingRequest\n    ): Promise<RestApiResponse<SubscribeSolStakingResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.subscribeSolStaking(\n            requestParameters?.amount,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<SubscribeSolStakingResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.queryParams,\n            localVarAxiosArgs.bodyParams,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n}\n","/**\n * Binance Staking REST API\n *\n * OpenAPI Specification for the Binance Staking REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { ConfigurationRestAPI, RestApiResponse, sendRequest } from '@binance/common';\nimport { EthStakingApi } from './modules/eth-staking-api';\nimport { OnChainYieldsApi } from './modules/on-chain-yields-api';\nimport { SoftStakingApi } from './modules/soft-staking-api';\nimport { SolStakingApi } from './modules/sol-staking-api';\n\nimport type {\n    EthStakingAccountRequest,\n    GetCurrentEthStakingQuotaRequest,\n    GetEthRedemptionHistoryRequest,\n    GetEthStakingHistoryRequest,\n    GetWbethRateHistoryRequest,\n    GetWbethRewardsHistoryRequest,\n    GetWbethUnwrapHistoryRequest,\n    GetWbethWrapHistoryRequest,\n    RedeemEthRequest,\n    SubscribeEthStakingRequest,\n    WrapBethRequest,\n} from './modules/eth-staking-api';\nimport type {\n    GetOnChainYieldsLockedPersonalLeftQuotaRequest,\n    GetOnChainYieldsLockedProductListRequest,\n    GetOnChainYieldsLockedProductPositionRequest,\n    GetOnChainYieldsLockedRedemptionRecordRequest,\n    GetOnChainYieldsLockedRewardsHistoryRequest,\n    GetOnChainYieldsLockedSubscriptionPreviewRequest,\n    GetOnChainYieldsLockedSubscriptionRecordRequest,\n    OnChainYieldsAccountRequest,\n    RedeemOnChainYieldsLockedProductRequest,\n    SetOnChainYieldsLockedAutoSubscribeRequest,\n    SetOnChainYieldsLockedProductRedeemOptionRequest,\n    SubscribeOnChainYieldsLockedProductRequest,\n} from './modules/on-chain-yields-api';\nimport type {\n    GetSoftStakingProductListRequest,\n    GetSoftStakingRewardsHistoryRequest,\n    SetSoftStakingRequest,\n} from './modules/soft-staking-api';\nimport type {\n    ClaimBoostRewardsRequest,\n    GetBnsolRateHistoryRequest,\n    GetBnsolRewardsHistoryRequest,\n    GetBoostRewardsHistoryRequest,\n    GetSolRedemptionHistoryRequest,\n    GetSolStakingHistoryRequest,\n    GetSolStakingQuotaDetailsRequest,\n    GetUnclaimedRewardsRequest,\n    RedeemSolRequest,\n    SolStakingAccountRequest,\n    SubscribeSolStakingRequest,\n} from './modules/sol-staking-api';\n\nimport type {\n    EthStakingAccountResponse,\n    GetCurrentEthStakingQuotaResponse,\n    GetEthRedemptionHistoryResponse,\n    GetEthStakingHistoryResponse,\n    GetWbethRateHistoryResponse,\n    GetWbethRewardsHistoryResponse,\n    GetWbethUnwrapHistoryResponse,\n    GetWbethWrapHistoryResponse,\n    RedeemEthResponse,\n    SubscribeEthStakingResponse,\n    WrapBethResponse,\n} from './types';\nimport type {\n    GetOnChainYieldsLockedPersonalLeftQuotaResponse,\n    GetOnChainYieldsLockedProductListResponse,\n    GetOnChainYieldsLockedProductPositionResponse,\n    GetOnChainYieldsLockedRedemptionRecordResponse,\n    GetOnChainYieldsLockedRewardsHistoryResponse,\n    GetOnChainYieldsLockedSubscriptionPreviewResponse,\n    GetOnChainYieldsLockedSubscriptionRecordResponse,\n    OnChainYieldsAccountResponse,\n    RedeemOnChainYieldsLockedProductResponse,\n    SetOnChainYieldsLockedAutoSubscribeResponse,\n    SetOnChainYieldsLockedProductRedeemOptionResponse,\n    SubscribeOnChainYieldsLockedProductResponse,\n} from './types';\nimport type {\n    GetSoftStakingProductListResponse,\n    GetSoftStakingRewardsHistoryResponse,\n    SetSoftStakingResponse,\n} from './types';\nimport type {\n    ClaimBoostRewardsResponse,\n    GetBnsolRateHistoryResponse,\n    GetBnsolRewardsHistoryResponse,\n    GetBoostRewardsHistoryResponse,\n    GetSolRedemptionHistoryResponse,\n    GetSolStakingHistoryResponse,\n    GetSolStakingQuotaDetailsResponse,\n    GetUnclaimedRewardsResponse,\n    RedeemSolResponse,\n    SolStakingAccountResponse,\n    SubscribeSolStakingResponse,\n} from './types';\n\nexport class RestAPI {\n    private configuration: ConfigurationRestAPI;\n    private ethStakingApi: EthStakingApi;\n    private onChainYieldsApi: OnChainYieldsApi;\n    private softStakingApi: SoftStakingApi;\n    private solStakingApi: SolStakingApi;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.ethStakingApi = new EthStakingApi(configuration);\n        this.onChainYieldsApi = new OnChainYieldsApi(configuration);\n        this.softStakingApi = new SoftStakingApi(configuration);\n        this.solStakingApi = new SolStakingApi(configuration);\n    }\n\n    /**\n     * Generic function to send a request.\n     * @param endpoint - The API endpoint to call.\n     * @param method - HTTP method to use (GET, POST, DELETE, etc.).\n     * @param queryParams - Query parameters for the request.\n     * @param bodyParams - Body parameters for the request.\n     *\n     * @returns A promise resolving to the response data object.\n     */\n    sendRequest<T>(\n        endpoint: string,\n        method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH',\n        queryParams: Record<string, unknown> = {},\n        bodyParams: Record<string, unknown> = {}\n    ): Promise<RestApiResponse<T>> {\n        return sendRequest<T>(\n            this.configuration,\n            endpoint,\n            method,\n            queryParams,\n            bodyParams,\n            undefined\n        );\n    }\n\n    /**\n     * Generic function to send a signed request.\n     * @param endpoint - The API endpoint to call.\n     * @param method - HTTP method to use (GET, POST, DELETE, etc.).\n     * @param queryParams - Query parameters for the request.\n     * @param bodyParams - Body parameters for the request.\n     *\n     * @returns A promise resolving to the response data object.\n     */\n    sendSignedRequest<T>(\n        endpoint: string,\n        method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH',\n        queryParams: Record<string, unknown> = {},\n        bodyParams: Record<string, unknown> = {}\n    ): Promise<RestApiResponse<T>> {\n        return sendRequest<T>(\n            this.configuration,\n            endpoint,\n            method,\n            queryParams,\n            bodyParams,\n            undefined,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * ETH Staking account\n     *\n     * Weight: 150\n     *\n     * @summary ETH Staking account(USER_DATA)\n     * @param {EthStakingAccountRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<EthStakingAccountResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/account/ETH-Staking-account Binance API Documentation}\n     */\n    ethStakingAccount(\n        requestParameters: EthStakingAccountRequest = {}\n    ): Promise<RestApiResponse<EthStakingAccountResponse>> {\n        return this.ethStakingApi.ethStakingAccount(requestParameters);\n    }\n\n    /**\n     * Get current ETH staking quota\n     *\n     * Weight: 150\n     *\n     * @summary Get current ETH staking quota(USER_DATA)\n     * @param {GetCurrentEthStakingQuotaRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/account/Get-current-ETH-staking-quota Binance API Documentation}\n     */\n    getCurrentEthStakingQuota(\n        requestParameters: GetCurrentEthStakingQuotaRequest = {}\n    ): Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>> {\n        return this.ethStakingApi.getCurrentEthStakingQuota(requestParameters);\n    }\n\n    /**\n     * Get ETH redemption history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get ETH redemption history(USER_DATA)\n     * @param {GetEthRedemptionHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetEthRedemptionHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-redemption-history Binance API Documentation}\n     */\n    getEthRedemptionHistory(\n        requestParameters: GetEthRedemptionHistoryRequest = {}\n    ): Promise<RestApiResponse<GetEthRedemptionHistoryResponse>> {\n        return this.ethStakingApi.getEthRedemptionHistory(requestParameters);\n    }\n\n    /**\n     * Get ETH staking history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get ETH staking history(USER_DATA)\n     * @param {GetEthStakingHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetEthStakingHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-staking-history Binance API Documentation}\n     */\n    getEthStakingHistory(\n        requestParameters: GetEthStakingHistoryRequest = {}\n    ): Promise<RestApiResponse<GetEthStakingHistoryResponse>> {\n        return this.ethStakingApi.getEthStakingHistory(requestParameters);\n    }\n\n    /**\n     * Get WBETH Rate History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH Rate History(USER_DATA)\n     * @param {GetWbethRateHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetWbethRateHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-BETH-Rate-History Binance API Documentation}\n     */\n    getWbethRateHistory(\n        requestParameters: GetWbethRateHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethRateHistoryResponse>> {\n        return this.ethStakingApi.getWbethRateHistory(requestParameters);\n    }\n\n    /**\n     * Get WBETH rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH rewards history(USER_DATA)\n     * @param {GetWbethRewardsHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetWbethRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-rewards-history Binance API Documentation}\n     */\n    getWbethRewardsHistory(\n        requestParameters: GetWbethRewardsHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethRewardsHistoryResponse>> {\n        return this.ethStakingApi.getWbethRewardsHistory(requestParameters);\n    }\n\n    /**\n     * Get WBETH unwrap history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH unwrap history(USER_DATA)\n     * @param {GetWbethUnwrapHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-unwrap-history Binance API Documentation}\n     */\n    getWbethUnwrapHistory(\n        requestParameters: GetWbethUnwrapHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>> {\n        return this.ethStakingApi.getWbethUnwrapHistory(requestParameters);\n    }\n\n    /**\n     * Get WBETH wrap history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH wrap history(USER_DATA)\n     * @param {GetWbethWrapHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetWbethWrapHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-wrap-history Binance API Documentation}\n     */\n    getWbethWrapHistory(\n        requestParameters: GetWbethWrapHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethWrapHistoryResponse>> {\n        return this.ethStakingApi.getWbethWrapHistory(requestParameters);\n    }\n\n    /**\n     * Redeem WBETH or BETH and get ETH\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Redeem ETH(TRADE)\n     * @param {RedeemEthRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<RedeemEthResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Redeem-ETH Binance API Documentation}\n     */\n    redeemEth(requestParameters: RedeemEthRequest): Promise<RestApiResponse<RedeemEthResponse>> {\n        return this.ethStakingApi.redeemEth(requestParameters);\n    }\n\n    /**\n     * Subscribe ETH Staking\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Subscribe ETH Staking(TRADE)\n     * @param {SubscribeEthStakingRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<SubscribeEthStakingResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Subscribe-ETH-Staking Binance API Documentation}\n     */\n    subscribeEthStaking(\n        requestParameters: SubscribeEthStakingRequest\n    ): Promise<RestApiResponse<SubscribeEthStakingResponse>> {\n        return this.ethStakingApi.subscribeEthStaking(requestParameters);\n    }\n\n    /**\n     * Wrap BETH\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Wrap BETH(TRADE)\n     * @param {WrapBethRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<WrapBethResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Wrap-BETH Binance API Documentation}\n     */\n    wrapBeth(requestParameters: WrapBethRequest): Promise<RestApiResponse<WrapBethResponse>> {\n        return this.ethStakingApi.wrapBeth(requestParameters);\n    }\n\n    /**\n     * Get On-chain Yields Locked Personal Left Quota\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Personal Left Quota (USER_DATA)\n     * @param {GetOnChainYieldsLockedPersonalLeftQuotaRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedPersonalLeftQuotaResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/account/Get-Onchain-Locked-Personal-Left-Quota Binance API Documentation}\n     */\n    getOnChainYieldsLockedPersonalLeftQuota(\n        requestParameters: GetOnChainYieldsLockedPersonalLeftQuotaRequest\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedPersonalLeftQuotaResponse>> {\n        return this.onChainYieldsApi.getOnChainYieldsLockedPersonalLeftQuota(requestParameters);\n    }\n\n    /**\n     * Get available On-chain Yields Locked product list\n     *\n     * Get available On-chain Yields Locked product list\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Product List (USER_DATA)\n     * @param {GetOnChainYieldsLockedProductListRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedProductListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/account/ Binance API Documentation}\n     */\n    getOnChainYieldsLockedProductList(\n        requestParameters: GetOnChainYieldsLockedProductListRequest = {}\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedProductListResponse>> {\n        return this.onChainYieldsApi.getOnChainYieldsLockedProductList(requestParameters);\n    }\n\n    /**\n     * Get On-chain Yields Locked Product Position\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Product Position (USER_DATA)\n     * @param {GetOnChainYieldsLockedProductPositionRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedProductPositionResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/account/Get-Onchain-Locked-Product-Position Binance API Documentation}\n     */\n    getOnChainYieldsLockedProductPosition(\n        requestParameters: GetOnChainYieldsLockedProductPositionRequest = {}\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedProductPositionResponse>> {\n        return this.onChainYieldsApi.getOnChainYieldsLockedProductPosition(requestParameters);\n    }\n\n    /**\n     * Get On-chain Yields Locked Redemption Record\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Redemption Record (USER_DATA)\n     * @param {GetOnChainYieldsLockedRedemptionRecordRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedRedemptionRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/history/Get-Onchain-Locked-Redemption-Record Binance API Documentation}\n     */\n    getOnChainYieldsLockedRedemptionRecord(\n        requestParameters: GetOnChainYieldsLockedRedemptionRecordRequest = {}\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedRedemptionRecordResponse>> {\n        return this.onChainYieldsApi.getOnChainYieldsLockedRedemptionRecord(requestParameters);\n    }\n\n    /**\n     * Get On-chain Yields Locked Rewards History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Rewards History (USER_DATA)\n     * @param {GetOnChainYieldsLockedRewardsHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/history/Get-Onchain-Locked-Rewards-History Binance API Documentation}\n     */\n    getOnChainYieldsLockedRewardsHistory(\n        requestParameters: GetOnChainYieldsLockedRewardsHistoryRequest = {}\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedRewardsHistoryResponse>> {\n        return this.onChainYieldsApi.getOnChainYieldsLockedRewardsHistory(requestParameters);\n    }\n\n    /**\n     * Get On-chain Yields Locked Subscription Preview\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Subscription Preview (USER_DATA)\n     * @param {GetOnChainYieldsLockedSubscriptionPreviewRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedSubscriptionPreviewResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/earn/ Binance API Documentation}\n     */\n    getOnChainYieldsLockedSubscriptionPreview(\n        requestParameters: GetOnChainYieldsLockedSubscriptionPreviewRequest\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedSubscriptionPreviewResponse>> {\n        return this.onChainYieldsApi.getOnChainYieldsLockedSubscriptionPreview(requestParameters);\n    }\n\n    /**\n     * Get On-chain Yields Locked Subscription Record\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 50\n     *\n     * @summary Get On-chain Yields Locked Subscription Record (USER_DATA)\n     * @param {GetOnChainYieldsLockedSubscriptionRecordRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetOnChainYieldsLockedSubscriptionRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/history/ Binance API Documentation}\n     */\n    getOnChainYieldsLockedSubscriptionRecord(\n        requestParameters: GetOnChainYieldsLockedSubscriptionRecordRequest = {}\n    ): Promise<RestApiResponse<GetOnChainYieldsLockedSubscriptionRecordResponse>> {\n        return this.onChainYieldsApi.getOnChainYieldsLockedSubscriptionRecord(requestParameters);\n    }\n\n    /**\n     * On-chain Yields Account query\n     *\n     * Weight: 50\n     *\n     * @summary On-chain Yields Account (USER_DATA)\n     * @param {OnChainYieldsAccountRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<OnChainYieldsAccountResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/account/Onchain-Account Binance API Documentation}\n     */\n    onChainYieldsAccount(\n        requestParameters: OnChainYieldsAccountRequest = {}\n    ): Promise<RestApiResponse<OnChainYieldsAccountResponse>> {\n        return this.onChainYieldsApi.onChainYieldsAccount(requestParameters);\n    }\n\n    /**\n     * Redeem On-chain Yields Locked Product\n     *\n     * You need to open `Enable Spot & Margin Trading` permission for the API Key which requests this endpoint.\n     *\n     * Weight: 1/3s per account\n     *\n     * @summary Redeem On-chain Yields Locked Product (TRADE)\n     * @param {RedeemOnChainYieldsLockedProductRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<RedeemOnChainYieldsLockedProductResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/earn/Redeem-Onchain-Locked-Product Binance API Documentation}\n     */\n    redeemOnChainYieldsLockedProduct(\n        requestParameters: RedeemOnChainYieldsLockedProductRequest\n    ): Promise<RestApiResponse<RedeemOnChainYieldsLockedProductResponse>> {\n        return this.onChainYieldsApi.redeemOnChainYieldsLockedProduct(requestParameters);\n    }\n\n    /**\n     * Set On-chain Yield locked auto subscribe\n     *\n     * Weight: 50\n     *\n     * @summary Set On-chain Yields Locked Auto Subscribe(USER_DATA)\n     * @param {SetOnChainYieldsLockedAutoSubscribeRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<SetOnChainYieldsLockedAutoSubscribeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/earn/Set-Onchain-Locked-Auto-Subscribe Binance API Documentation}\n     */\n    setOnChainYieldsLockedAutoSubscribe(\n        requestParameters: SetOnChainYieldsLockedAutoSubscribeRequest\n    ): Promise<RestApiResponse<SetOnChainYieldsLockedAutoSubscribeResponse>> {\n        return this.onChainYieldsApi.setOnChainYieldsLockedAutoSubscribe(requestParameters);\n    }\n\n    /**\n     * Set On-chain Yields redeem option for Locked product\n     *\n     * Weight: 50\n     *\n     * @summary Set On-chain Yields Locked Product Redeem Option(USER_DATA)\n     * @param {SetOnChainYieldsLockedProductRedeemOptionRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<SetOnChainYieldsLockedProductRedeemOptionResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/earn/Set-Onchain-Locked-Redeem-Option Binance API Documentation}\n     */\n    setOnChainYieldsLockedProductRedeemOption(\n        requestParameters: SetOnChainYieldsLockedProductRedeemOptionRequest\n    ): Promise<RestApiResponse<SetOnChainYieldsLockedProductRedeemOptionResponse>> {\n        return this.onChainYieldsApi.setOnChainYieldsLockedProductRedeemOption(requestParameters);\n    }\n\n    /**\n     * Subscribe On-chain Yields Locked Product\n     *\n     * You need to open `Enable Spot & Margin Trading` permission for the API Key which requests this endpoint.\n     *\n     * Weight: 200\n     *\n     * @summary Subscribe On-chain Yields Locked Product(TRADE)\n     * @param {SubscribeOnChainYieldsLockedProductRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<SubscribeOnChainYieldsLockedProductResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/on-chain-yields/earn/Subscribe-Onchain-Locked-Product Binance API Documentation}\n     */\n    subscribeOnChainYieldsLockedProduct(\n        requestParameters: SubscribeOnChainYieldsLockedProductRequest\n    ): Promise<RestApiResponse<SubscribeOnChainYieldsLockedProductResponse>> {\n        return this.onChainYieldsApi.subscribeOnChainYieldsLockedProduct(requestParameters);\n    }\n\n    /**\n     * Get the available Soft Staking product list.\n     *\n     * Weight: 50\n     *\n     * @summary Get Soft Staking Product List (USER_DATA)\n     * @param {GetSoftStakingProductListRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetSoftStakingProductListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/soft-staking/ Binance API Documentation}\n     */\n    getSoftStakingProductList(\n        requestParameters: GetSoftStakingProductListRequest = {}\n    ): Promise<RestApiResponse<GetSoftStakingProductListResponse>> {\n        return this.softStakingApi.getSoftStakingProductList(requestParameters);\n    }\n\n    /**\n     * * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 50\n     *\n     * @summary Get Soft Staking Rewards History(USER_DATA)\n     * @param {GetSoftStakingRewardsHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetSoftStakingRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/soft-staking/Get-Soft-Staking-Rewards-History Binance API Documentation}\n     */\n    getSoftStakingRewardsHistory(\n        requestParameters: GetSoftStakingRewardsHistoryRequest = {}\n    ): Promise<RestApiResponse<GetSoftStakingRewardsHistoryResponse>> {\n        return this.softStakingApi.getSoftStakingRewardsHistory(requestParameters);\n    }\n\n    /**\n     * Enable or disable Soft Staking.\n     *\n     * Weight: 50\n     *\n     * @summary Set Soft Staking (USER_DATA)\n     * @param {SetSoftStakingRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<SetSoftStakingResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/soft-staking/Set-Soft-Staking Binance API Documentation}\n     */\n    setSoftStaking(\n        requestParameters: SetSoftStakingRequest\n    ): Promise<RestApiResponse<SetSoftStakingResponse>> {\n        return this.softStakingApi.setSoftStaking(requestParameters);\n    }\n\n    /**\n     * Claim Boost APR Airdrop Rewards\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Claim Boost Rewards(TRADE)\n     * @param {ClaimBoostRewardsRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<ClaimBoostRewardsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Claim-Boost-Rewards Binance API Documentation}\n     */\n    claimBoostRewards(\n        requestParameters: ClaimBoostRewardsRequest = {}\n    ): Promise<RestApiResponse<ClaimBoostRewardsResponse>> {\n        return this.solStakingApi.claimBoostRewards(requestParameters);\n    }\n\n    /**\n     * Get BNSOL Rate History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get BNSOL Rate History(USER_DATA)\n     * @param {GetBnsolRateHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetBnsolRateHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-Rate-History Binance API Documentation}\n     */\n    getBnsolRateHistory(\n        requestParameters: GetBnsolRateHistoryRequest = {}\n    ): Promise<RestApiResponse<GetBnsolRateHistoryResponse>> {\n        return this.solStakingApi.getBnsolRateHistory(requestParameters);\n    }\n\n    /**\n     * Get BNSOL rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get BNSOL rewards history(USER_DATA)\n     * @param {GetBnsolRewardsHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-rewards-history Binance API Documentation}\n     */\n    getBnsolRewardsHistory(\n        requestParameters: GetBnsolRewardsHistoryRequest = {}\n    ): Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>> {\n        return this.solStakingApi.getBnsolRewardsHistory(requestParameters);\n    }\n\n    /**\n     * Get Boost rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get Boost Rewards History(USER_DATA)\n     * @param {GetBoostRewardsHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetBoostRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-Boost-Rewards-History Binance API Documentation}\n     */\n    getBoostRewardsHistory(\n        requestParameters: GetBoostRewardsHistoryRequest\n    ): Promise<RestApiResponse<GetBoostRewardsHistoryResponse>> {\n        return this.solStakingApi.getBoostRewardsHistory(requestParameters);\n    }\n\n    /**\n     * Get SOL redemption history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL redemption history(USER_DATA)\n     * @param {GetSolRedemptionHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetSolRedemptionHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-redemption-history Binance API Documentation}\n     */\n    getSolRedemptionHistory(\n        requestParameters: GetSolRedemptionHistoryRequest = {}\n    ): Promise<RestApiResponse<GetSolRedemptionHistoryResponse>> {\n        return this.solStakingApi.getSolRedemptionHistory(requestParameters);\n    }\n\n    /**\n     * Get SOL staking history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL staking history(USER_DATA)\n     * @param {GetSolStakingHistoryRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetSolStakingHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-staking-history Binance API Documentation}\n     */\n    getSolStakingHistory(\n        requestParameters: GetSolStakingHistoryRequest = {}\n    ): Promise<RestApiResponse<GetSolStakingHistoryResponse>> {\n        return this.solStakingApi.getSolStakingHistory(requestParameters);\n    }\n\n    /**\n     * Get SOL staking quota\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL staking quota details(USER_DATA)\n     * @param {GetSolStakingQuotaDetailsRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/account/Get-SOL-staking-quota-details Binance API Documentation}\n     */\n    getSolStakingQuotaDetails(\n        requestParameters: GetSolStakingQuotaDetailsRequest = {}\n    ): Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>> {\n        return this.solStakingApi.getSolStakingQuotaDetails(requestParameters);\n    }\n\n    /**\n     * Get Unclaimed rewards\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get Unclaimed Rewards(USER_DATA)\n     * @param {GetUnclaimedRewardsRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<GetUnclaimedRewardsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-Unclaimed-Rewards Binance API Documentation}\n     */\n    getUnclaimedRewards(\n        requestParameters: GetUnclaimedRewardsRequest = {}\n    ): Promise<RestApiResponse<GetUnclaimedRewardsResponse>> {\n        return this.solStakingApi.getUnclaimedRewards(requestParameters);\n    }\n\n    /**\n     * Redeem BNSOL get SOL\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Redeem SOL(TRADE)\n     * @param {RedeemSolRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<RedeemSolResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Redeem-SOL Binance API Documentation}\n     */\n    redeemSol(requestParameters: RedeemSolRequest): Promise<RestApiResponse<RedeemSolResponse>> {\n        return this.solStakingApi.redeemSol(requestParameters);\n    }\n\n    /**\n     * SOL Staking account\n     *\n     * Weight: 150\n     *\n     * @summary SOL Staking account(USER_DATA)\n     * @param {SolStakingAccountRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<SolStakingAccountResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/account/SOL-Staking-account Binance API Documentation}\n     */\n    solStakingAccount(\n        requestParameters: SolStakingAccountRequest = {}\n    ): Promise<RestApiResponse<SolStakingAccountResponse>> {\n        return this.solStakingApi.solStakingAccount(requestParameters);\n    }\n\n    /**\n     * Subscribe SOL Staking\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Subscribe SOL Staking(TRADE)\n     * @param {SubscribeSolStakingRequest} requestParameters Request parameters.\n     *\n     * @returns {Promise<RestApiResponse<SubscribeSolStakingResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Subscribe-SOL-Staking Binance API Documentation}\n     */\n    subscribeSolStaking(\n        requestParameters: SubscribeSolStakingRequest\n    ): Promise<RestApiResponse<SubscribeSolStakingResponse>> {\n        return this.solStakingApi.subscribeSolStaking(requestParameters);\n    }\n}\n","/**\n * Binance Staking REST API\n *\n * OpenAPI Specification for the Binance Staking REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nexport * from './types';\nexport * from './modules';\nexport * from './rest-api';\n","import { buildUserAgent, ConfigurationRestAPI, STAKING_REST_API_PROD_URL } from '@binance/common';\nimport { name, version } from '../package.json';\nimport { RestAPI } from './rest-api';\n\nexport interface ConfigurationStaking {\n    configurationRestAPI?: ConfigurationRestAPI;\n}\n\nexport class Staking {\n    public restAPI!: RestAPI;\n\n    constructor(config: ConfigurationStaking) {\n        const userAgent = buildUserAgent(name, version);\n\n        if (config?.configurationRestAPI) {\n            const configRestAPI = new ConfigurationRestAPI(\n                config.configurationRestAPI\n            ) as ConfigurationRestAPI & {\n                baseOptions: Record<string, unknown>;\n            };\n            configRestAPI.basePath = configRestAPI.basePath || STAKING_REST_API_PROD_URL;\n            configRestAPI.baseOptions = configRestAPI.baseOptions || {};\n            configRestAPI.baseOptions.headers = {\n                ...(configRestAPI.baseOptions.headers || {}),\n                'User-Agent': userAgent,\n            };\n            this.restAPI = new RestAPI(configRestAPI);\n        }\n    }\n}\n"],"mappings":"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"}