public IEnumerable <string> GetAddresses(IBcnCredentialsRecord wallet) { if (IsValidAddress(wallet.Address)) { yield return(wallet.AssetAddress); } }
private static async Task Migrate(IBlockchainWalletsRepository walletRepository, ISigningServiceApi signingServiceApi, IBlockchainSignFacadeClient blockchainSignFacade, ICqrsEngine cqrs, IBcnCredentialsRecord bcnCredentialsRecord) { var clientId = Guid.Parse(bcnCredentialsRecord.ClientId); var existingWallet = await walletRepository.TryGetAsync(BlockchainType, clientId); if (existingWallet != null) { return; } var address = bcnCredentialsRecord.AssetAddress; var privateKey = await GetPrivateKey(signingServiceApi, address); if (privateKey == null) { return; } await ImportWalletToSignFacade(blockchainSignFacade, privateKey, address); await walletRepository.AddAsync(BlockchainType, clientId, address, CreatorType.LykkeWallet); var @event = new WalletCreatedEvent { Address = address, AssetId = AssetId, BlockchainType = BlockchainType, IntegrationLayerId = BlockchainType, ClientId = clientId, CreatedBy = CreatorType.LykkeWallet }; cqrs.PublishEvent(@event, BlockchainWalletsBoundedContext.Name); }
public async Task DeleteIfExistAsync(IBcnCredentialsRecord credsRecord) { var byClientEntity = FirstGenerationBlockchainWalletEntity.FromBcnClientCredentials.ByClientId.Create(credsRecord); var byAssetAddressEntity = FirstGenerationBlockchainWalletEntity.FromBcnClientCredentials.ByAssetAddress.Create(credsRecord); await _bcnClientCredentialsWalletTable.DeleteIfExistAsync(byClientEntity.PartitionKey, byClientEntity.RowKey); await _bcnClientCredentialsWalletTable.DeleteIfExistAsync(byAssetAddressEntity.PartitionKey, byAssetAddressEntity.RowKey); }
public async Task SaveAsync(IBcnCredentialsRecord credsRecord) { var byClientEntity = BcnCredentialsRecordEntity.ByClientId.Create(credsRecord); var byAssetAddressEntity = BcnCredentialsRecordEntity.ByAssetAddress.Create(credsRecord); await _tableStorage.InsertAsync(byClientEntity); await _tableStorage.InsertAsync(byAssetAddressEntity); }
public async Task InsertOrReplaceAsync(IBcnCredentialsRecord credsRecord) { var byClientEntity = FirstGenerationBlockchainWalletEntity.FromBcnClientCredentials.ByClientId.Create(credsRecord); var byAssetAddressEntity = FirstGenerationBlockchainWalletEntity.FromBcnClientCredentials.ByAssetAddress.Create(credsRecord); await _bcnClientCredentialsWalletTable.InsertOrReplaceAsync(byClientEntity); await _bcnClientCredentialsWalletTable.InsertOrReplaceAsync(byAssetAddressEntity); }
public static BcnCredentialsRecordEntity Create(IBcnCredentialsRecord record) { return(new BcnCredentialsRecordEntity { Address = record.Address, AssetAddress = record.AssetAddress, AssetId = record.AssetId, ClientId = record.ClientId, EncodedKey = record.EncodedKey, PublicKey = record.PublicKey, PartitionKey = GeneratePartition(), RowKey = GenerateRowKey(record.AssetAddress) }); }
public static FromBcnClientCredentials Create(IBcnCredentialsRecord record) { return(new FromBcnClientCredentials { Address = record.Address, AssetAddress = record.AssetAddress, AssetId = record.AssetId, ClientId = record.ClientId, EncodedKey = record.EncodedKey, PublicKey = record.PublicKey, PartitionKey = GeneratePartition(record.ClientId), RowKey = GenerateRowKey(record.AssetId) }); }
public static BcnCredentialsRecordEntity Create(IBcnCredentialsRecord record) { return(new BcnCredentialsRecordEntity { Address = record.Address, AssetAddress = record.AssetAddress, AssetId = record.AssetId, ClientId = record.ClientId, EncodedKey = record.EncodedKey, PublicKey = record.PublicKey, PartitionKey = GeneratePartition(record.ClientId), RowKey = GenerateRowKey(record.AssetId) }); //var entity = Mapper.Map<BcnCredentialsRecordEntity>(record); //entity.PartitionKey = GeneratePartition(record.ClientId); //entity.RowKey = GenerateRowKey(record.AssetId); //return entity; }