public TransferRequest( VirtualAssetType virtualAssetType, TransferType transferType, string amount) { VirtualAssetType = virtualAssetType; TransferType = transferType; Amount = amount; }
public TransferReply( VirtualAssetType virtualAssetType, TransferType transferType, string amount, string destinationAddress) { VirtualAssetType = virtualAssetType; TransferType = transferType; Amount = amount; DestinationAddress = destinationAddress; }
public Transaction GenerateTransactionData( string originatorFullName, string originatorVaan, PlaceOfBirth originatorPlaceOfBirth, PostalAddress originatorPostalAddress, string beneficiaryFullName, string beneficiaryVaan, VirtualAssetType asset, decimal amount, NaturalPersonId[] naturalPersonIds, JuridicalPersonId[] juridicalPersonIds, string bic, TransactionType type) { var sanitizedBeneficiaryVaan = beneficiaryVaan.Replace(" ", ""); var sanitizedOriginatorVaan = originatorVaan.Replace(" ", ""); var transaction = new Transaction { Status = TransactionStatus.Created, OriginatorPostalAddress = originatorPostalAddress, OriginatorPlaceOfBirth = originatorPlaceOfBirth, Amount = amount, Asset = asset, Id = Guid.NewGuid().ToString(), CreationDateTime = DateTime.UtcNow, BeneficiaryVaan = sanitizedBeneficiaryVaan, OriginatorVaan = sanitizedOriginatorVaan, OriginatorFullName = originatorFullName, BeneficiaryFullName = beneficiaryFullName, OriginatorJuridicalPersonIds = juridicalPersonIds, OriginatorBic = bic, OriginatorNaturalPersonIds = naturalPersonIds, Type = type }; return(transaction); }
public void CreateSessionRequest( string beneficiaryName, string originatorName, PostalAddress originatorPostalAddress, PlaceOfBirth placeOfBirth, VirtualAssetType assetType, decimal transferAmount) { (VaspInformation vaspInfoPerson, VaspContractInfo vaspContractInfoPerson) = VaspInformationBuilder.CreateForNaturalPersonAsync( _ethereumRpc, _vaspSmartContractAddressPerson, _naturalPersonIds, placeOfBirth) .GetAwaiter() .GetResult(); VaspClient originator = VaspClient.Create( vaspInfoPerson, vaspContractInfoPerson, _personHandshakePrivateKeyHex, _personSignaturePrivateKeyHex, _ethereumRpc, _whisperRpc, _fakeEnsProvider, _signService, _transportClient); (VaspInformation vaspInfoJuridical, VaspContractInfo vaspContractInfoJuridical) = VaspInformationBuilder.CreateForJuridicalPersonAsync( _ethereumRpc, _vaspSmartContractAddressJuridical, _juridicalPersonIds) .GetAwaiter() .GetResult(); VaspClient beneficiary = VaspClient.Create( vaspInfoJuridical, vaspContractInfoJuridical, _juridicalHandshakePrivateKeyHex, _juridicalSignaturePrivateKeyHex, _ethereumRpc, _whisperRpc, _fakeEnsProvider, _signService, _transportClient); var originatorVaan = VirtualAssetssAccountNumber.Create(vaspInfoPerson.GetVaspCode(), "524ee3fb082809"); var beneficiaryVaan = VirtualAssetssAccountNumber.Create(vaspInfoJuridical.GetVaspCode(), "524ee3fb082809"); var vaspSession = new VaspSessionWrapper( beneficiaryName, originator, beneficiary); VaspSessions[vaspSession.Id] = vaspSession; var originatorDoc = Originator.CreateOriginatorForNaturalPerson( originatorName, originatorVaan, originatorPostalAddress, placeOfBirth, new NaturalPersonId[] { new NaturalPersonId("Id", NaturalIdentificationType.NationalIdentityNumber, Country.List["DE"]), }); vaspSession.StartSession(originatorDoc, beneficiaryVaan, assetType, transferAmount); }
public async Task <Core.Models.Transaction> CreateOutgoingTransactionAsync( string originatorFullName, string originatorVaan, Core.Models.PlaceOfBirth originatorPlaceOfBirth, Core.Models.PostalAddress originatorPostalAddress, string beneficiaryFullName, string beneficiaryVaan, VirtualAssetType asset, decimal amount) { var sanitizedBeneficiaryVaan = beneficiaryVaan.Replace(" ", ""); var sanitizedOriginatorVaan = originatorVaan.Replace(" ", ""); var beneficiaryVaspCode = sanitizedBeneficiaryVaan.Substring(0, 8); var beneficiaryCustomerSpecificNumber = sanitizedBeneficiaryVaan.Substring(8, 14); var transaction = new Core.Models.Transaction { Status = TransactionStatus.Created, OriginatorPostalAddress = originatorPostalAddress, OriginatorPlaceOfBirth = originatorPlaceOfBirth, Amount = amount, Asset = asset, Id = Guid.NewGuid().ToString(), CreationDateTime = DateTime.UtcNow, BeneficiaryVaan = sanitizedBeneficiaryVaan, OriginatorVaan = sanitizedOriginatorVaan, OriginatorFullName = originatorFullName, BeneficiaryFullName = beneficiaryFullName, SessionId = await _vaspSessionsManager.CreateSessionAsync( new Originator( originatorFullName, originatorVaan, new OpenVASP.Messaging.Messages.Entities.PostalAddress ( originatorPostalAddress.Street, originatorPostalAddress.Building, originatorPostalAddress.AddressLine, originatorPostalAddress.PostCode, originatorPostalAddress.Town, originatorPostalAddress.Country ), new OpenVASP.Messaging.Messages.Entities.PlaceOfBirth ( originatorPlaceOfBirth.Date, originatorPlaceOfBirth.Town, originatorPlaceOfBirth.Country ), null, null, null ), VirtualAssetsAccountNumber.Create(beneficiaryVaspCode, beneficiaryCustomerSpecificNumber)) }; transaction.Status = TransactionStatus.SessionRequested; lock (_outgoingTransactions) { _outgoingTransactions.Add(transaction); } return(transaction); }
public async Task TransferRequestAsync(string sessionId, string beneficiaryName, VirtualAssetType type, decimal amount) { await _originatorSessions[sessionId] .TransferRequestAsync( new TransferInstruction { VirtualAssetTransfer = new VirtualAssetTransfer { TransferType = TransferType.BlockchainTransfer, VirtualAssetType = type, TransferAmount = amount.ToString(CultureInfo.InvariantCulture) }, BeneficiaryName = beneficiaryName }); }