export type StakingProvider = 'kiln' | 'figment' | 'lido' | 'p2p' | 'blockdaemon' | 'galaxy' | 'pierTwo' | 'kraken'; export type CreateApiStakingProvidersProviderIdApproveTermsOfServiceArgs = {providerId: StakingProvider, 'Idempotency-Key'?: string | undefined}; export type CreateApiStakingProvidersProviderIdApproveTermsOfServiceOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; /** * Approve provider terms of service * * POST /staking/providers/{providerId}/approveTermsOfService */ export const createApiStakingProvidersProviderIdApproveTermsOfService = async (args: CreateApiStakingProvidersProviderIdApproveTermsOfServiceArgs, options?: CreateApiStakingProvidersProviderIdApproveTermsOfServiceOptions) => { const {baseUrl = "https://api.fireblocks.io/v1", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() if (args['Idempotency-Key'] != null) headers.set("Idempotency-Key", String(args['Idempotency-Key'])) const url = `${baseUrl.replace(/\/+$/, '')}/staking/providers/${encodeURIComponent(String(args.providerId))}/approveTermsOfService${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };