Ejemplo n.º 1
0
 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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
 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;
            }