Skip to content

Commit

Permalink
GetHistoryForKey added to the chaincode-typescript
Browse files Browse the repository at this point in the history
Signed-off-by: Ajiths10 <ajithsnair10@gmail.com>
  • Loading branch information
ajiths10 committed Jun 19, 2024
1 parent 179bc96 commit a1b5f68
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions asset-transfer-basic/chaincode-typescript/src/assetTransfer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -170,4 +170,34 @@ export class AssetTransferContract extends Contract {
return JSON.stringify(allResults);
}

// GetHistoryForKey returns all assets history in the world state.
@Transaction(false)
@Returns("string")
public async GetHistoryForKey(ctx: Context, id: string): Promise<string> {
const results: string[] = [];
try {
const historyIterator = await ctx.stub.getHistoryForKey(id);
let result = await historyIterator.next();
if (result.done) {
const errorMessage = `Asset ${id} does not exist`;
console.log(errorMessage);
throw new Error(errorMessage);
}

while (!result.done) {
const iteratorValue = Buffer.from(
result.value.value.toString()
).toString("utf8");
results.push(iteratorValue);
console.log(iteratorValue);
result = await historyIterator.next();
}

await historyIterator.close();
} catch (error) {
console.log(error);
}
return JSON.stringify(results);
}

}

0 comments on commit a1b5f68

Please sign in to comment.