From 77d916f4cabfe51790f2207856ed59a5d2f62746 Mon Sep 17 00:00:00 2001 From: Davit Mandzikyan Date: Wed, 19 Nov 2025 15:05:50 +0400 Subject: [PATCH 1/2] Ensure correct lenght for commit id and hashlock. --- .../Extensions/StringExtensions.ts | 9 ++++++++- .../Activities/Helper/FuelEventTracker.ts | 9 +-------- .../Activities/Helper/StarknetEventTracker.ts | 16 ++++++++++------ 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/js/src/Blockchain/Blockchain.Abstraction/Extensions/StringExtensions.ts b/js/src/Blockchain/Blockchain.Abstraction/Extensions/StringExtensions.ts index eade5577..0bcdfc59 100644 --- a/js/src/Blockchain/Blockchain.Abstraction/Extensions/StringExtensions.ts +++ b/js/src/Blockchain/Blockchain.Abstraction/Extensions/StringExtensions.ts @@ -45,4 +45,11 @@ export function ensureHexPrefix(hexString: string): string { } return hexString; -} \ No newline at end of file +} + +export function ensureHexLength(hex: string, bytes: number): string { + // Remove 0x prefix if present + const cleanHex = hex.startsWith("0x") ? hex.slice(2) : hex; + // Pad to desired byte length (bytes → hex chars = bytes * 2) + return "0x" + cleanHex.padStart(bytes * 2, "0"); +} diff --git a/js/src/Blockchain/Blockchain.Fuel/Activities/Helper/FuelEventTracker.ts b/js/src/Blockchain/Blockchain.Fuel/Activities/Helper/FuelEventTracker.ts index 1d46a1a0..ae7b447b 100644 --- a/js/src/Blockchain/Blockchain.Fuel/Activities/Helper/FuelEventTracker.ts +++ b/js/src/Blockchain/Blockchain.Fuel/Activities/Helper/FuelEventTracker.ts @@ -159,11 +159,4 @@ export default async function TrackBlockEventsAsync( throw error; } -} - -function ensureHexLength(hex: string, bytes: number): string { - // Remove 0x prefix if present - const cleanHex = hex.startsWith("0x") ? hex.slice(2) : hex; - // Pad to desired byte length (bytes → hex chars = bytes * 2) - return "0x" + cleanHex.padStart(bytes * 2, "0"); -} +} \ No newline at end of file diff --git a/js/src/Blockchain/Blockchain.Starknet/Activities/Helper/StarknetEventTracker.ts b/js/src/Blockchain/Blockchain.Starknet/Activities/Helper/StarknetEventTracker.ts index 8c062b0c..2e5f213b 100644 --- a/js/src/Blockchain/Blockchain.Starknet/Activities/Helper/StarknetEventTracker.ts +++ b/js/src/Blockchain/Blockchain.Starknet/Activities/Helper/StarknetEventTracker.ts @@ -2,7 +2,7 @@ import { CallData, hash, num, Provider, events } from "starknet"; import trainAbi from '../ABIs/Train.json'; import { formatAddress } from "../StarknetBlockchainActivities"; import { HTLCBlockEventResponse, HTLCCommitEventMessage, HTLCLockEventMessage } from "../../../Blockchain.Abstraction/Models/EventModels/HTLCBlockEventResposne"; -import { BigIntToAscii, ensureHexPrefix, toHex } from "../../../Blockchain.Abstraction/Extensions/StringExtensions"; +import { BigIntToAscii, ensureHexLength, ensureHexPrefix, toHex } from "../../../Blockchain.Abstraction/Extensions/StringExtensions"; import { DetailedNetworkDto } from "../../../Blockchain.Abstraction/Models/DetailedNetworkDto"; import { TokenCommittedEvent, TokenLockedEvent } from "../../Models/EventModels"; @@ -58,11 +58,12 @@ export async function TrackBlockEventsAsync( const logEvent = rawEvents.find(x => x.transaction_hash === parsed.transaction_hash); - const dstAddress = ensureHexPrefix(logEvent.data[8]); - + const dstAddress = ensureHexPrefix(logEvent.data[8]); + const commitId = ensureHexLength(toHex(data.Id), 32); + const commitMsg: HTLCCommitEventMessage = { txId: parsed.transaction_hash, - commitId: toHex(data.Id), + commitId: commitId, amount: Number(data.amount).toString(), receiverAddress: receiverAddress, sourceNetwork: network.name, @@ -79,10 +80,13 @@ export async function TrackBlockEventsAsync( else if (eventName.endsWith("TokenLockAdded")) { const data = eventData as unknown as TokenLockedEvent; + const commitId = ensureHexLength(toHex(data.Id), 32); + const hashlock = ensureHexLength(toHex(data.hashlock), 32); + const lockMsg: HTLCLockEventMessage = { txId: parsed.transaction_hash, - commitId: toHex(data.Id), - hashLock: toHex(data.hashlock), + commitId: commitId, + hashLock: hashlock, timeLock: Number(data.timelock), }; From 8beda1897418fe83e86fe0acfd5251eed3bd88b0 Mon Sep 17 00:00:00 2001 From: Davit Mandzikyan Date: Wed, 19 Nov 2025 15:11:12 +0400 Subject: [PATCH 2/2] Fix. --- .../Blockchain.Fuel/Activities/Helper/FuelEventTracker.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/js/src/Blockchain/Blockchain.Fuel/Activities/Helper/FuelEventTracker.ts b/js/src/Blockchain/Blockchain.Fuel/Activities/Helper/FuelEventTracker.ts index ae7b447b..56ed8ae5 100644 --- a/js/src/Blockchain/Blockchain.Fuel/Activities/Helper/FuelEventTracker.ts +++ b/js/src/Blockchain/Blockchain.Fuel/Activities/Helper/FuelEventTracker.ts @@ -5,6 +5,7 @@ import { HTLCBlockEventResponse, HTLCCommitEventMessage, HTLCLockEventMessage } import { DetailedNetworkDto } from "../../../Blockchain.Abstraction/Models/DetailedNetworkDto"; import { FormatAddress } from "../FuelBlockchainActivities"; import { TokenCommittedEvent, TokenLockedEvent } from "../Models/EventModels"; +import { ensureHexLength } from "../../../Blockchain.Abstraction/Extensions/StringExtensions"; export default async function TrackBlockEventsAsync( network: DetailedNetworkDto,