@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
TypeScript
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>;
}