mysterium-vpn-js
Version:
Javascript SDK for Mysterium node
220 lines (219 loc) • 12.4 kB
TypeScript
/**
* Copyright (c) 2020 BlockDev AG
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import { MMNApiKeyResponse, MMNReportResponse } from './mmn/mmn';
import { IntercomIssue, Issue, IssueId, SupportIssueRequest, SupportIssueResponse } from './feedback/issue';
import { Config } from './config/config';
import { AccessPolicy } from './access-policy/access-policy';
import { ConnectionCancelRequest, ConnectionRequest } from './connection/request';
import { ConnectionInfo } from './connection/status';
import { IP } from './location/ip';
import { ConnectionStatistics } from './connection/statistics';
import { Location } from './location/location';
import { NodeHealthcheck } from './daemon/healthcheck';
import { Terms, TermsRequest } from './daemon/terms';
import { HttpInterface } from './http/interface';
import { IdentityBalanceResponse, Identity, IdentityRef } from './identity/identity';
import { IdentityRegisterRequest, IdentityRegistrationResponse } from './identity/registration';
import { IdentityBeneficiaryResponse } from './identity/beneficiary';
import { NatStatusResponse } from './nat/status';
import { NodeMonitoringStatusResponse } from './node/status';
import { Proposal, ProposalQuery } from './proposal/proposal';
import { ServiceInfo } from './provider/service-info';
import { ServiceListRequest, ServiceStartRequest } from './provider/service-request';
import { SessionListQuery, SessionListResponse, SessionQuery, SessionStatsAggregatedResponse, SessionStatsDailyResponse } from './session/session';
import { ChainSummary } from './transactor/chains';
import { Fees, FeesResponse } from './transactor/fees';
import { EligibilityResponse } from './transactor/registration';
import { SettleRequest, SettleWithBeneficiaryRequest, DecreaseStakeRequest, SettlementListQuery, SettlementListResponse, BeneficiaryTxStatus } from './transactor/settlement';
import { IdentityCurrentRequest } from './identity/selection';
import { AuthRequest, AuthResponse, ChangePasswordRequest } from './auth/auth';
import { Money, PaymentAPI } from './payment';
import { ReferralTokenResponse, ReferralTokenRewardsResponse } from './referral';
import { CurrentPricesResponse, CurrentPricesV2Response } from './prices';
import { Payout } from './identity/payout';
import { FilterPresetsResponse } from './proposal/filter-preset';
import { EntertainmentEstimateQuery, EntertainmentEstimateResponse } from './payment/entertainment';
import { NatTypeResponse } from './nat/type';
import { WithdrawRequest } from './transactor/withdraw';
import { ProviderAPI } from './provider';
export declare const TEQUILAPI_URL = "http://127.0.0.1:4050";
export declare const pathConfig = "config";
export declare const pathConfigUser = "config/user";
export declare const pathConfigDefault = "config/default";
export declare const pathInvoice = "/invoice";
export interface BaseTequilapiClient {
healthCheck(timeout?: number): Promise<NodeHealthcheck>;
natStatus(): Promise<NatStatusResponse>;
nodeMonitoringStatus(): Promise<NodeMonitoringStatusResponse>;
natType(): Promise<NatTypeResponse>;
stop(): Promise<void>;
location(timeout?: number): Promise<Location>;
terms(): Promise<Terms>;
termsUpdate(request: TermsRequest): Promise<void>;
config(): Promise<Config>;
defaultConfig(): Promise<Config>;
userConfig(): Promise<Config>;
updateUserConfig(config: Config): Promise<Config>;
identityList(): Promise<IdentityRef[]>;
identityCurrent(request: IdentityCurrentRequest): Promise<IdentityRef>;
identityCreate(passphrase: string): Promise<IdentityRef>;
identityUnlock(id: string, passphrase: string, timeout?: number): Promise<void>;
identityRegister(id: string, request?: IdentityRegisterRequest): Promise<void>;
identity(id: string): Promise<Identity>;
identityRegistration(id: string): Promise<IdentityRegistrationResponse>;
identityBeneficiary(id: string): Promise<IdentityBeneficiaryResponse>;
identityBalanceRefresh(id: string): Promise<IdentityBalanceResponse>;
payoutAddressSave(id: string, address: string): Promise<Payout>;
payoutAddressGet(id: string): Promise<Payout>;
authSetToken(token: string): void;
authAuthenticate(request: AuthRequest, useToken: true): Promise<AuthResponse>;
authLogin(request: AuthRequest): Promise<AuthResponse>;
authLogout(): Promise<void>;
authChangePassword(request: ChangePasswordRequest): Promise<void>;
findProposals(options?: ProposalQuery): Promise<Proposal[]>;
proposalFilterPresets(): Promise<FilterPresetsResponse>;
pricesCurrent(): Promise<CurrentPricesResponse>;
pricesCurrentV2(): Promise<CurrentPricesV2Response[]>;
reportIssueGithub(issue: Issue, timeout?: number): Promise<IssueId>;
reportIssueIntercom(issue: IntercomIssue, timeout?: number): Promise<void>;
reportIssueSupport(issue: SupportIssueRequest, timeout?: number): Promise<SupportIssueResponse>;
connectionCreate(request: ConnectionRequest, timeout?: number): Promise<ConnectionInfo>;
connectionStatus(): Promise<ConnectionInfo>;
connectionCancel(request?: ConnectionCancelRequest): Promise<void>;
connectionIp(timeout?: number): Promise<IP>;
connectionStatistics(): Promise<ConnectionStatistics>;
connectionLocation(): Promise<Location>;
serviceList(request?: ServiceListRequest): Promise<ServiceInfo[]>;
serviceGet(serviceId: string): Promise<ServiceInfo>;
serviceStart(request: ServiceStartRequest, timeout?: number): Promise<ServiceInfo>;
serviceStop(serviceId: string): Promise<void>;
/**
* @deprecated use ProviderAPI
*/
sessions(query?: SessionListQuery): Promise<SessionListResponse>;
/**
* @deprecated use ProviderAPI
*/
sessionStatsAggregated(query?: SessionQuery): Promise<SessionStatsAggregatedResponse>;
/**
* @deprecated use ProviderAPI
*/
sessionStatsDaily(query?: SessionQuery): Promise<SessionStatsDailyResponse>;
accessPolicies(): Promise<AccessPolicy[]>;
transactorFees(chainId?: number): Promise<Fees>;
settleSync(request: SettleRequest): Promise<void>;
settleAsync(request: SettleRequest): Promise<void>;
settleWithBeneficiary(request: SettleWithBeneficiaryRequest): Promise<void>;
settleIntoStakeSync(request: SettleRequest): Promise<void>;
settleIntoStakeAsync(request: SettleRequest): Promise<void>;
decreaseStake(request: DecreaseStakeRequest): Promise<void>;
settlementHistory(query?: SettlementListQuery): Promise<SettlementListResponse>;
beneficiaryTxStatus(id: string): Promise<BeneficiaryTxStatus>;
withdraw(request: WithdrawRequest): Promise<void>;
chainSummary(): Promise<ChainSummary>;
freeRegistrationEligibility(id: string): Promise<EligibilityResponse>;
freeProviderRegistrationEligibility(): Promise<EligibilityResponse>;
getMMNNodeReport(): Promise<MMNReportResponse>;
setMMNApiKey(apiKey: string): Promise<void>;
getMMNApiKey(): Promise<MMNApiKeyResponse>;
clearMMNApiKey(): Promise<void>;
exchangeRate(quoteCurrency?: string): Promise<Money>;
estimateEntertainment(query: EntertainmentEstimateQuery): Promise<EntertainmentEstimateResponse>;
getReferralToken(identity: string): Promise<ReferralTokenResponse>;
referralTokenRewards(token: string): Promise<ReferralTokenRewardsResponse>;
validateEthRPCL2(rpcUrls: string[], timeout?: number): Promise<void>;
}
declare class BaseHttpTequilapiClient implements BaseTequilapiClient {
http: HttpInterface;
readonly payment: PaymentAPI;
readonly provider: ProviderAPI;
constructor(http: HttpInterface);
healthCheck(timeout?: number): Promise<NodeHealthcheck>;
terms(): Promise<Terms>;
termsUpdate(request: TermsRequest): Promise<void>;
natStatus(): Promise<NatStatusResponse>;
nodeMonitoringStatus(): Promise<NodeMonitoringStatusResponse>;
natType(): Promise<NatTypeResponse>;
stop(): Promise<void>;
location(timeout?: number): Promise<Location>;
identityList(): Promise<IdentityRef[]>;
identity(id: string): Promise<Identity>;
identityCurrent(request: IdentityCurrentRequest): Promise<IdentityRef>;
identityCreate(passphrase: string): Promise<IdentityRef>;
identityUnlock(id: string, passphrase: string, timeout?: number): Promise<void>;
identityRegister(id: string, request?: IdentityRegisterRequest): Promise<void>;
identityRegistration(id: string): Promise<IdentityRegistrationResponse>;
identityBeneficiary(id: string): Promise<IdentityBeneficiaryResponse>;
identityBalanceRefresh(id: string): Promise<IdentityBalanceResponse>;
payoutAddressSave(id: string, address: string): Promise<Payout>;
payoutAddressGet(id: string): Promise<Payout>;
authSetToken(token: string): void;
authAuthenticate(request: AuthRequest, useToken?: boolean): Promise<AuthResponse>;
authLogin(request: AuthRequest): Promise<AuthResponse>;
authLogout(): Promise<void>;
authChangePassword(request: ChangePasswordRequest): Promise<void>;
findProposals(query?: ProposalQuery): Promise<Proposal[]>;
proposalFilterPresets(): Promise<FilterPresetsResponse>;
pricesCurrent(): Promise<CurrentPricesResponse>;
pricesCurrentV2(): Promise<CurrentPricesV2Response[]>;
connectionCreate(request: ConnectionRequest, timeout?: number | undefined): Promise<ConnectionInfo>;
connectionStatus(): Promise<ConnectionInfo>;
connectionCancel(request?: ConnectionCancelRequest): Promise<void>;
connectionIp(timeout?: number): Promise<IP>;
connectionLocation(): Promise<Location>;
connectionStatistics(): Promise<ConnectionStatistics>;
serviceList(request?: ServiceListRequest): Promise<ServiceInfo[]>;
serviceGet(id: string): Promise<ServiceInfo>;
serviceStart(request: ServiceStartRequest, timeout?: number | undefined): Promise<ServiceInfo>;
serviceStop(serviceId: string): Promise<void>;
sessions(query?: SessionListQuery): Promise<SessionListResponse>;
/**
* @deprecated use ProviderAPI
*/
sessionStatsAggregated(query?: SessionQuery): Promise<SessionStatsAggregatedResponse>;
/**
* @deprecated use ProviderAPI
*/
sessionStatsDaily(query?: SessionQuery): Promise<SessionStatsDailyResponse>;
accessPolicies(): Promise<AccessPolicy[]>;
config(): Promise<Config>;
defaultConfig(): Promise<Config>;
userConfig(): Promise<Config>;
updateUserConfig(config: Config): Promise<Config>;
reportIssueGithub(issue: Issue, timeout?: number): Promise<IssueId>;
/**
* @deprecated use reportIssueSupport
*/
reportIssueIntercom(issue: IntercomIssue, timeout?: number): Promise<void>;
reportIssueSupport(issue: SupportIssueRequest, timeout?: number): Promise<SupportIssueResponse>;
transactorFees(chainId?: number): Promise<Fees>;
transactorFeesV2(chainId?: number): Promise<FeesResponse>;
settleSync(request: SettleRequest): Promise<void>;
settleAsync(request: SettleRequest): Promise<void>;
settleWithBeneficiary(request: SettleWithBeneficiaryRequest): Promise<void>;
beneficiaryTxStatus(id: string): Promise<BeneficiaryTxStatus>;
chainSummary(): Promise<ChainSummary>;
freeRegistrationEligibility(id: string): Promise<EligibilityResponse>;
freeProviderRegistrationEligibility(): Promise<EligibilityResponse>;
withdraw(request: WithdrawRequest): Promise<void>;
settleIntoStakeSync(request: SettleRequest): Promise<void>;
settleIntoStakeAsync(request: SettleRequest): Promise<void>;
decreaseStake(request: DecreaseStakeRequest): Promise<void>;
settlementHistory(query?: SettlementListQuery): Promise<SettlementListResponse>;
getMMNNodeReport(): Promise<MMNReportResponse>;
setMMNApiKey(apiKey: string): Promise<void>;
getMMNApiKey(): Promise<MMNApiKeyResponse>;
clearMMNApiKey(): Promise<void>;
getReferralToken(identity: string): Promise<ReferralTokenResponse>;
exchangeRate(quoteCurrency?: string): Promise<Money>;
validateEthRPCL2(rpcUrls: string[], timeout?: number): Promise<void>;
estimateEntertainment(query: EntertainmentEstimateQuery): Promise<EntertainmentEstimateResponse>;
referralTokenRewards(token: string): Promise<ReferralTokenRewardsResponse>;
}
export declare class TequilapiClient extends BaseHttpTequilapiClient {
}
export {};