From 7ff7d8e245f84e1a5795f74ceb6073b36a471fb2 Mon Sep 17 00:00:00 2001 From: Felipe Fuerback Date: Wed, 21 Feb 2024 11:05:20 -0300 Subject: [PATCH] Remove param muteQueryLimitError and fix all the calls --- chaincode/src/__test__/TestGalaContract.ts | 2 +- chaincode/src/allowances/fetchAllowances.ts | 3 +-- chaincode/src/allowances/fullAllowanceCheck.ts | 6 ++---- chaincode/src/allowances/grantAllowance.ts | 9 +++------ chaincode/src/balances/fetchBalances.ts | 3 +-- chaincode/src/burns/fetchBurns.ts | 8 +------- chaincode/src/mint/validateMintRequest.ts | 3 +-- chaincode/src/utils/state.ts | 10 ++-------- 8 files changed, 12 insertions(+), 32 deletions(-) diff --git a/chaincode/src/__test__/TestGalaContract.ts b/chaincode/src/__test__/TestGalaContract.ts index 58e602c0ea..9e597c74cc 100644 --- a/chaincode/src/__test__/TestGalaContract.ts +++ b/chaincode/src/__test__/TestGalaContract.ts @@ -126,6 +126,6 @@ export default class TestGalaContract extends GalaContract { }) ); - return getObjectsByPartialCompositeKey(ctx, Superhero.INDEX_KEY, [], Superhero, false); + return getObjectsByPartialCompositeKey(ctx, Superhero.INDEX_KEY, [], Superhero); } } diff --git a/chaincode/src/allowances/fetchAllowances.ts b/chaincode/src/allowances/fetchAllowances.ts index ac2e825237..fcf93da694 100644 --- a/chaincode/src/allowances/fetchAllowances.ts +++ b/chaincode/src/allowances/fetchAllowances.ts @@ -49,8 +49,7 @@ export async function fetchAllowances( ctx, TokenAllowance.INDEX_KEY, queryParams, - TokenAllowance, - true // TODO: may lead to incomplete results + TokenAllowance ); const results = filterByGrantedBy(getObjectsResponse, data.grantedBy); diff --git a/chaincode/src/allowances/fullAllowanceCheck.ts b/chaincode/src/allowances/fullAllowanceCheck.ts index 43ce43c465..e7e242269f 100644 --- a/chaincode/src/allowances/fullAllowanceCheck.ts +++ b/chaincode/src/allowances/fullAllowanceCheck.ts @@ -45,8 +45,7 @@ export async function fullAllowanceCheck( ctx, TokenBalance.INDEX_KEY, queryParams, - TokenBalance, - true // TODO: may lead to incomplete results + TokenBalance ); // For each relevant balance, fetch relevant allowance(s) @@ -69,8 +68,7 @@ export async function fullAllowanceCheck( ctx, TokenAllowance.INDEX_KEY, allowanceParams, - TokenAllowance, - true // TODO: may lead to incomplete results + TokenAllowance ); const expiredAllowances = allowanceResults.filter((allowance) => { diff --git a/chaincode/src/allowances/grantAllowance.ts b/chaincode/src/allowances/grantAllowance.ts index 995ee4cc6d..c43a4a0eab 100644 --- a/chaincode/src/allowances/grantAllowance.ts +++ b/chaincode/src/allowances/grantAllowance.ts @@ -99,8 +99,7 @@ async function grantAllowanceByPartialKey( ctx, TokenAllowance.INDEX_KEY, allowanceQueryParamsForBalance, - TokenAllowance, - true // TODO: may lead to incomplete results + TokenAllowance ) ); } @@ -122,8 +121,7 @@ async function grantAllowanceByPartialKey( ctx, TokenAllowance.INDEX_KEY, allowanceQueryParamsForBalance, - TokenAllowance, - true // TODO: may lead to incomplete results + TokenAllowance ) ); } @@ -573,8 +571,7 @@ export async function preventDuplicateAllowance( ctx, TokenAllowance.INDEX_KEY, chainKeys, - TokenAllowance, - true // TODO: may lead to incomplete results + TokenAllowance ); for (const existingAllowance of results) { diff --git a/chaincode/src/balances/fetchBalances.ts b/chaincode/src/balances/fetchBalances.ts index ed3abee143..b0ef565955 100644 --- a/chaincode/src/balances/fetchBalances.ts +++ b/chaincode/src/balances/fetchBalances.ts @@ -43,8 +43,7 @@ export async function fetchBalances( ctx, TokenBalance.INDEX_KEY, queryParams, - TokenBalance, - true // TODO: may lead to incomplete results + TokenBalance ).catch((e) => { throw ChainError.map(e, ErrorCode.NOT_FOUND, new BalanceNotFoundError(ctx.callingUser)); }); diff --git a/chaincode/src/burns/fetchBurns.ts b/chaincode/src/burns/fetchBurns.ts index 1948e70fb1..74f3670432 100644 --- a/chaincode/src/burns/fetchBurns.ts +++ b/chaincode/src/burns/fetchBurns.ts @@ -47,13 +47,7 @@ export async function fetchBurns(ctx: GalaChainContext, data: FetchBurnParams): data.created?.toString() ); - let results = await getObjectsByPartialCompositeKey( - ctx, - TokenBurn.INDEX_KEY, - queryParams, - TokenBurn, - false - ); + let results = await getObjectsByPartialCompositeKey(ctx, TokenBurn.INDEX_KEY, queryParams, TokenBurn); // Sort the items ascending by date results = results.sort((a: TokenBurn, b: TokenBurn): number => (a.created < b.created ? -1 : 1)); diff --git a/chaincode/src/mint/validateMintRequest.ts b/chaincode/src/mint/validateMintRequest.ts index f59a2c8551..948f49fe73 100644 --- a/chaincode/src/mint/validateMintRequest.ts +++ b/chaincode/src/mint/validateMintRequest.ts @@ -84,8 +84,7 @@ export async function validateMintRequest( ctx, TokenAllowance.INDEX_KEY, queryParams, - TokenAllowance, - true // TODO may lead to incomplete results! + TokenAllowance ); results.sort((a: TokenAllowance, b: TokenAllowance): number => (a.created < b.created ? -1 : 1)); diff --git a/chaincode/src/utils/state.ts b/chaincode/src/utils/state.ts index 4c15a3cefe..98145dc802 100644 --- a/chaincode/src/utils/state.ts +++ b/chaincode/src/utils/state.ts @@ -66,8 +66,7 @@ export async function getObjectsByPartialCompositeKey( ctx: GalaChainContext, objectType: string, attributes: string[], - constructor: ClassConstructor>, - muteQueryLimitError: boolean + constructor: ClassConstructor> ): Promise> { const iterator = ctx.stub.getCachedStateByPartialCompositeKey(objectType, attributes); @@ -84,12 +83,7 @@ export async function getObjectsByPartialCompositeKey( `It means your results would be probably incomplete. ` + `Please narrow your query or use pagination.`; - if (muteQueryLimitError) { - ctx.logger.warn(message); - } else { - // why it is "forbidden" type of error: https://stackoverflow.com/a/15192643 - throw new ForbiddenError(message, { objectType, attributes }); - } + throw new ForbiddenError(message, { objectType, attributes }); } // iterator will be automatically closed on exit from the loop