UNPKG

@zkpass/transgate-js-sdk

Version:

<p align="center"> <img src="assets/logo.png" width="300" alt="transgate-js-sdk.js" /> </p>

60 lines (59 loc) 2.38 kB
import { Address } from 'web3'; import { Result, ProofVerifyParams, ChainType } from './types'; export default class TransgateConnect { readonly appid: string; readonly baseServer: string; transgateAvailable?: boolean; terminal?: boolean; removeModal?: () => void; constructor(appid: string); launch(schemaId: string, address?: Address): Promise<unknown>; launchWithSolana(schemaId: string, address: string): Promise<unknown>; launchWithTon(schemaId: string, address: string): Promise<unknown>; runTransgate({ schemaId, address, chainType, }: { schemaId: string; address?: Address; chainType?: ChainType; }): Promise<unknown>; private runWithTransgateApp; private runTransgateExtension; private launchTransgate; /** * request task info * @param {*} schemaId string schema id * @returns */ private requestTaskInfo; private requestConfig; /** * request schema detail info * @param schemaUrl */ private requestSchemaInfo; private getProofInfo; private getScanResult; handleIOSModal(): void; handleIOSApp(clipUrl: string): void; checkTaskInfo(chainType: ChainType, task: string, schema: string, validatorAddress: string, signature: string): boolean; checkTaskInfoForSolana(task: string, schema: string, validatorAddress: string, signature: string): boolean; checkTaskInfoForTon(task: string, schema: string, validatorAddress: string, signature: string): boolean; checkTaskInfoForEVM(task: string, schema: string, validatorAddress: string, signature: string): boolean; /** * check the proof result by chain type * @param chainType * @param schema * @param proofResult * @returns */ verifyProofMessageSignature(chainType: ChainType, schema: string, proofResult: Result): boolean; verifyEVMMessageSignature(taskId: string, schema: string, nullifier: string, publicFieldsHash: string, signature: string, originAddress: string, recipient?: string): boolean; /** * check signature is matched with task info * @param params * @returns */ verifyMessageSignatureForSolana(params: ProofVerifyParams): boolean; private buildResult; verifyMessageSignatureForTon(params: ProofVerifyParams): boolean; isTransgateAvailable(): Promise<boolean>; }