///
///
///
///
import { AddGatewayV1 } from '@helium/transactions';
import { Cluster, PublicKey } from '@solana/web3.js';
import { DeviceType, HeightType, ManufacturedDeviceType, NetworkType, OutdoorManufacturedDeviceType, ProgressStep } from './types';
type AddToOnboardingServerOpts = {
authToken?: string;
batch?: string;
deviceType?: DeviceType;
heliumSerial?: string;
macEth0?: string;
macWlan0?: string;
rpiSerial?: string;
format?: 'legacy' | 'v0';
};
export default class MobileHotspotOnboarding {
private _configurationClient;
private _wifiClient?;
private _onboardingClient;
private _solanaOnboarding;
private _progressCallback?;
private _progressStep?;
private _progress;
private _errorCallback?;
private _logCallback?;
private _shouldMock;
private _cluster;
get cluster(): Cluster;
private _wifiBaseUrl?;
get wifiBaseUrl(): string | undefined;
private _onboardingClientUrl;
get onboardingClientUrl(): string;
private _wallet;
get wallet(): PublicKey;
private _rpcEndpoint;
get rpcEndpoint(): string;
constructor(opts: {
wifiBaseUrl?: string;
wifiApiVersion?: 'v2' | 'v1';
onboardingClientUrl: string;
shouldMock?: boolean;
wallet: PublicKey;
rpcEndpoint: string;
cluster: Cluster;
errorCallback?: (e: unknown) => void;
logCallback?: (message: string, data?: {
[key: string]: any;
}) => void;
progressCallback?: (progress: number, step?: ProgressStep) => void;
});
writeError: (error: unknown) => void;
writeLog: (message: string, data?: {
[key: string]: any;
} | undefined) => void;
private setProgressToStep;
private getWifiClient;
signGatewayAddTransaction: (deviceType: ManufacturedDeviceType, opts?: AddToOnboardingServerOpts) => Promise<{
txn: AddGatewayV1;
apiVersion: "v2" | "v1" | undefined;
}>;
checkFwValid: (minVersion?: string) => Promise;
getGpsLocation: (deviceType: OutdoorManufacturedDeviceType) => Promise<{
success: boolean;
error?: string | undefined;
data?: {
latitude: number;
longitude: number;
accuracy: number;
provider_type: string;
timestamp: number;
altitude: number;
altitude_type: "NONE" | "AGL" | "MSL" | "UNRECOGNIZED";
} | undefined;
code: number;
}>;
getApiVersion: () => "v2" | "v1" | undefined;
getUpdateMetaData: ({ gateway, elevation, location, networkType, azimuth, antenna, mechanicalDownTilt, electricalDownTilt, serial, format, }: {
azimuth?: number | undefined;
gateway: string;
elevation?: number | undefined;
location: string;
antenna?: number | undefined;
networkType: NetworkType;
decimalGain?: number | undefined;
mechanicalDownTilt?: number | undefined;
electricalDownTilt?: number | undefined;
serial?: string | undefined;
format?: "legacy" | "v0" | undefined;
}) => Promise<{
balances: {
hnt: import("bn.js");
dc: import("bn.js");
lamports: import("bn.js");
};
hasSufficientBalance: boolean;
hasSufficientSol: boolean;
hasSufficientDc: boolean;
hasSufficientHnt: boolean;
dcFee: import("bn.js");
dcNeeded: import("bn.js") | undefined;
isFree: boolean;
lamportFee: import("bn.js");
solanaTransactions: string[];
}>;
getMobileOnboardTxns: ({ hotspotAddress, azimuth, location, elevation, antenna, format, mechanicalDownTilt, electricalDownTilt, serial, }: {
hotspotAddress: string;
location?: string | undefined;
elevation?: number | undefined;
antenna?: number | undefined;
azimuth?: number | undefined;
format?: "legacy" | "v0" | undefined;
mechanicalDownTilt?: number | undefined;
electricalDownTilt?: number | undefined;
serial?: string | undefined;
}) => Promise;
createHotspot: ({ transaction, format, }: {
transaction: string;
format?: "legacy" | "v0" | undefined;
}) => Promise;
verifyHotspotCreated: (hotspotAddress: string) => Promise;
verifyMobileInfo: (hotspotAddress: string) => Promise<{
elevation?: number | undefined;
gain?: number | undefined;
location?: string | undefined;
isFullHotspot?: boolean | undefined;
numLocationAsserts?: number | undefined;
locationStakingFee?: import("bn.js") | undefined;
} | undefined>;
addToOnboardingServer: ({ authToken, hotspotAddress, batch, deviceType, heliumSerial, macEth0, macWlan0, rpiSerial, format, }: AddToOnboardingServerOpts & {
hotspotAddress: string;
}) => Promise;
createHotspotGetOnboardTxns: ({ addGatewayTxn, authToken, azimuth, location, elevation, antenna, mechanicalDownTilt, electricalDownTilt, serial, format, ...opts }: AddToOnboardingServerOpts & {
addGatewayTxn: string;
antenna?: number | undefined;
location?: string | undefined;
azimuth?: number | undefined;
elevation?: number | undefined;
mechanicalDownTilt?: number | undefined;
electricalDownTilt?: number | undefined;
serial?: string | undefined;
format?: "legacy" | "v0" | undefined;
}) => Promise;
getHotspotAssetKey: (hotspotAddress: string) => Promise;
onWifiHotspotCreated: (hotspotAddress: string) => Promise;
submitAndCompleteOnboarding: ({ hotspotAddress, signedTxns, deviceType, }: {
hotspotAddress: string;
signedTxns: Buffer[];
deviceType: DeviceType;
}) => Promise<{
txnIds: string[];
}>;
createTransferCompressedCollectableTxn: ({ newOwner, hotspotAddress, }: {
newOwner: string;
hotspotAddress: string;
}) => Promise;
createTransferInstructions: ({ newOwner, hotspotAddress, }: {
newOwner: string;
hotspotAddress: string;
}) => Promise;
createConfigurationMessage(opts: {
lat: number;
lng: number;
heightInMeters: number;
azimuth: number;
heightType: HeightType;
hotspotAddress: string;
antenna?: number;
}): Promise;
sendConfigurationMessage(opts: {
hotspotAddress: string;
originalMessage: Uint8Array;
signedMessage: Uint8Array;
token: string;
vendorSlug?: string;
}): Promise>;
}
export {};
//# sourceMappingURL=MobileHotspotOnboarding.d.ts.map