public BeneficiarySession( VaspContractInfo beneficiaryVaspContractInfo, VaspInformation beneficiaryVasp, string sessionId, string counterpartyTopic, string counterPartyPubSigningKey, string sharedKey, string privateSigningKey, IWhisperRpc whisperRpc, IVaspMessageHandler vaspMessageHandler, ITransportClient transportClient, ISignService signService) : base( beneficiaryVaspContractInfo, beneficiaryVasp, counterPartyPubSigningKey, sharedKey, privateSigningKey, whisperRpc, transportClient, signService) { this.SessionId = sessionId; this.CounterPartyTopic = counterpartyTopic; this._vaspMessageHandler = vaspMessageHandler; _messageHandlerResolverBuilder.AddHandler(typeof(TransferRequestMessage), new TransferRequestMessageHandler( async(message, cancellationToken) => { await _vaspMessageHandler.TransferRequestHandlerAsync(message, this); })); _messageHandlerResolverBuilder.AddHandler(typeof(TransferDispatchMessage), new TransferDispatchMessageHandler( async(message, cancellationToken) => { await _vaspMessageHandler.TransferDispatchHandlerAsync(message, this); })); _messageHandlerResolverBuilder.AddHandler(typeof(TerminationMessage), new TerminationMessageHandler(async(message, token) => { _hasReceivedTerminationMessage = true; await TerminateAsync(message.GetMessageCode()); })); }
public VaspSession( VaspContractInfo vaspContractInfo, VaspInformation vaspInfo, string counterPartyPubSigningKey, string sharedEncryptionKey, string privateSigningKey, IWhisperRpc whisperRpc, ITransportClient transportClient, ISignService signService) { this._vaspInfo = vaspInfo; this._vaspContractInfo = vaspContractInfo; this._sessionTopic = TopicGenerator.GenerateSessionTopic(); this._cancellationTokenSource = new CancellationTokenSource(); this._whisperRpc = whisperRpc; this._sharedKey = sharedEncryptionKey; this._privateSigningKey = privateSigningKey; this._counterPartyPubSigningKey = counterPartyPubSigningKey; this._messageHandlerResolverBuilder = new MessageHandlerResolverBuilder(); this._transportClient = transportClient; this._signService = signService; }
public OriginatorSession( Originator originator, VaspContractInfo originatorVaspContractInfo, VaspInformation originatorVasp, VirtualAssetsAccountNumber beneficiaryVaan, string beneficiaryPubSigningKey, string beneficiaryPubHandshakeKey, string sharedEncryptionKey, string pubEncryptionKey, string privateSigningKey, IWhisperRpc whisperRpc, ITransportClient transportClient, ISignService signService, IOriginatorVaspCallbacks originatorVaspCallbacks) //IEnsProvider ensProvider) : base( originatorVaspContractInfo, originatorVasp, beneficiaryPubSigningKey, sharedEncryptionKey, privateSigningKey, whisperRpc, transportClient, signService) { this._beneficiaryVaan = beneficiaryVaan; this.SessionId = Guid.NewGuid().ToString(); this._beneficiaryPubHandshakeKey = beneficiaryPubHandshakeKey; this._pubEncryptionKey = pubEncryptionKey; this._originatorVaspCallbacks = originatorVaspCallbacks; //this._ensProvider = ensProvider; this._originator = originator; _messageHandlerResolverBuilder.AddHandler(typeof(SessionReplyMessage), new SessionReplyMessageHandler((sessionReplyMessage, token) => { this.CounterPartyTopic = sessionReplyMessage.HandShake.TopicB; return(_originatorVaspCallbacks.SessionReplyMessageHandlerAsync(sessionReplyMessage, this)); })); _messageHandlerResolverBuilder.AddHandler(typeof(TransferReplyMessage), new TransferReplyMessageHandler((transferReplyMessage, token) => { return(_originatorVaspCallbacks.TransferReplyMessageHandlerAsync(transferReplyMessage, this)); })); _messageHandlerResolverBuilder.AddHandler(typeof(TransferConfirmationMessage), new TransferConfirmationMessageHandler((transferDispatchMessage, token) => { return(_originatorVaspCallbacks.TransferConfirmationMessageHandlerAsync(transferDispatchMessage, this)); })); _messageHandlerResolverBuilder.AddHandler(typeof(TerminationMessage), new TerminationMessageHandler(async(message, token) => { _hasReceivedTerminationMessage = true; await TerminateAsync(message.GetMessageCode()); })); }