myria-core-sdk
Version:
Latest version SDK
46 lines (45 loc) • 2.21 kB
TypeScript
import BN from "bn.js";
import { INativeMyriaClient } from "../clients/NativeMyriaClient";
import { AssetStarkKeyResponse, CommonPaginateDataTypes, ServerTime, SplitSignature, UserDataResponse, UserType } from "../types";
import { APIResponseType } from "../types/APIResponseType";
export declare const SIGN_MESSAGE = "Sign-in to your Myria L2 Wallet";
declare type SignatureOptions = {
r: BN;
s: BN;
};
export declare class NativeMobileModule {
private nativeMyriaClient;
private commonApi;
private userL2Api;
private assetMarketpApi;
constructor(nativeClient: INativeMyriaClient);
/**
* Get stark public key by wallet signature
* @param signature
* s
*/
getStarkPublicKey(signature: string): string;
serializeSignatureOptions(sig: SignatureOptions): string;
getServerTimestamp(): Promise<APIResponseType<ServerTime>>;
getWalletSignMessage(): string;
/**
* @private
* @description Allow to generate the signature for registration process with server time
* @param {string} serverTime milliseconds as string
* @returns {string} a string as the message for metamask's signing
*/
getRegisteredMessageWithTimestamp(serverTime: string): string;
checkIfWalletExisted(walletEthAddress: string): Promise<APIResponseType<UserDataResponse>>;
registerWalletL2(ethAddress: string, walletSignature: string, userType?: UserType, referrerId?: string): Promise<any | undefined>;
registerWalletAccount(registeredAccountSignature: string, walletSignature: string, signMessage: string, ethAddress: string, userType?: UserType, referrerId?: string): Promise<any>;
/**
* Get private stark key from the signature
* @param signature
* s
*/
getPrivateStarkKey(signature: string): string;
generateStarkSignature(walletSignature: string, msgHash: BN, myriaPrivateStarkKey?: string): SplitSignature;
generateStarkSerializeSignature(walletSignature: string, msgHash: BN, myriaPrivateStarkKey?: string): string;
getAssetsByStarkKey(starkKey: string, page?: number, limit?: number): Promise<APIResponseType<CommonPaginateDataTypes<AssetStarkKeyResponse[]>> | undefined>;
}
export {};