import { provider } from "web3-core"; import { VASPContract, PrivateVASP, WhisperTransport, CallbackFunction } from "."; import { SessionRequest, SessionReply, SessionReplyCode, TransferRequest, OriginatorInformation, BeneficiaryInformation, Transfer, TransferReply, TransferReplyCode, TransferDispatch, TransferConfirmation, TransferConfirmationCode } from "./messages"; export declare class OpenVASP { myVASP: PrivateVASP; vaspContract: VASPContract; whisperTransport: WhisperTransport; constructor(_myVASP: PrivateVASP, _contractProvider: provider, _whisperProvider: provider); /** * Check MyVASP data against data stored on the contract * * @param fix Fix MyVASP data with contract data? * @returns Array of errors. */ checkMyVASP(fix: boolean): Promise>; /** * Send a Session Request * * @param _beneficiaryVASPAddress Address of the Beneficiary VASP * @param replyCallback Function to call when Session Reply arrives */ sessionRequest(_beneficiaryVASPAddress: string, topicAcallback: CallbackFunction): Promise<{ sessionRequest: SessionRequest; topicAwaitId: string; sharedKey: string; }>; /** * Waits for a Session Request * * @param requestCallback Function to call when Session Request arrives */ waitForSessionRequest(requestCallback: CallbackFunction): Promise; /** * Creates a handler for a session Request. * The handler authenticates the OriginatorVASP and sends a SessionReply. * Set the callback for the Topic messages (Transfer Requests) * * @param cb Callback when topic messages arrives */ handleSessionRequest(cb: any, storeSessionInfo: any): (err: Error, sessionRequest: SessionRequest) => Promise; /** * Send a Session Reply * * @param sessionRequest Request to be replied * @param sessionReplyCode Reply Answer * @param topicBcallback Function to call when messages arrives. */ sessionReply(sessionRequest: SessionRequest, sessionReplyCode: SessionReplyCode, topicBcallback: CallbackFunction): Promise<{ sessionReply: SessionReply; topicBwaitId: string | undefined; sharedKey: string; }>; /** * * Send a transfer request to a Beneficiary VASP * * @param session Session data * @param transferData Transfer data */ transferRequest(session: { id: string; topic: string; sharedKey: string; }, transferData: { originator: OriginatorInformation; beneficiary: BeneficiaryInformation; transfer: Transfer; }): Promise; /** * Send a Transfer Reply Message * * @param session * @param transferRequest * @param transferReplyCode */ transferReply(session: { topic: string; sharedKey: string; }, transferRequest: TransferRequest, transferReplyCode: TransferReplyCode, destination?: string): Promise; /** * Send a Transfer Dispatch Message * * @param session Session data * @param transferReply Transfer Reply Data * @param txData Tx Data */ transferDispatch(session: { id: string; topic: string; sharedKey: string; }, transferReply: TransferReply, txData: { txid?: string | undefined; datetime: string; sendingadr?: string | undefined; }): Promise; transferConfirmation(session: { topic: string; sharedKey: string; }, transferDispatch: TransferDispatch, transferConfirmationCode: TransferConfirmationCode): Promise; /** * Stop waiting for a topic * * @param _id */ stopWaiting(_id: string): Promise; }