From a16b7ad47a7ff176760b808a4b3c297f148c486f Mon Sep 17 00:00:00 2001 From: elweyn Date: Wed, 10 Nov 2021 10:28:31 +0100 Subject: [PATCH] Changed the decode of context.pubKey so that it is stored in a buffer and transformed after in a Hex string. --- backend/src/graphql/resolver/BalanceResolver.ts | 3 ++- backend/src/graphql/resolver/GdtResolver.ts | 3 ++- backend/src/graphql/resolver/TransactionResolver.ts | 6 ++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/backend/src/graphql/resolver/BalanceResolver.ts b/backend/src/graphql/resolver/BalanceResolver.ts index e067b4d68..902e50b8b 100644 --- a/backend/src/graphql/resolver/BalanceResolver.ts +++ b/backend/src/graphql/resolver/BalanceResolver.ts @@ -18,7 +18,8 @@ export class BalanceResolver { const balanceRepository = getCustomRepository(BalanceRepository) const userRepository = getCustomRepository(UserRepository) - const userEntity = await userRepository.findByPubkeyHex(context.pubKey) + const pubKeyString = Buffer.from(context.pubKey).toString('hex') + const userEntity = await userRepository.findByPubkeyHex(pubKeyString) const balanceEntity = await balanceRepository.findByUser(userEntity.id) const now = new Date() diff --git a/backend/src/graphql/resolver/GdtResolver.ts b/backend/src/graphql/resolver/GdtResolver.ts index b4f9a512b..ba10d45bf 100644 --- a/backend/src/graphql/resolver/GdtResolver.ts +++ b/backend/src/graphql/resolver/GdtResolver.ts @@ -22,7 +22,8 @@ export class GdtResolver { ): Promise { // load user const userRepository = getCustomRepository(UserRepository) - const userEntity = await userRepository.findByPubkeyHex(context.pubKey) + const pubKeyString = Buffer.from(context.pubKey).toString('hex') + const userEntity = await userRepository.findByPubkeyHex(pubKeyString) const resultGDT = await apiGet( `${CONFIG.GDT_API_URL}/GdtEntries/listPerEmailApi/${userEntity.email}/${currentPage}/${pageSize}/${order}`, diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index 70dfdc505..b804c1af9 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -496,7 +496,8 @@ export class TransactionResolver { ): Promise { // load user const userRepository = getCustomRepository(UserRepository) - const userEntity = await userRepository.findByPubkeyHex(context.pubKey) + const pubKeyString = Buffer.from(context.pubKey).toString('hex') + const userEntity = await userRepository.findByPubkeyHex(pubKeyString) const transactions = await listTransactions(currentPage, pageSize, order, userEntity) @@ -531,7 +532,8 @@ export class TransactionResolver { // TODO this is subject to replay attacks // validate sender user (logged in) const userRepository = getCustomRepository(UserRepository) - const senderUser = await userRepository.findByPubkeyHex(context.pubKey) + const pubKeyString = Buffer.from(context.pubKey).toString('hex') + const senderUser = await userRepository.findByPubkeyHex(pubKeyString) if (senderUser.pubkey.length !== 32) { throw new Error('invalid sender public key') }