diff --git a/packages/web3-utils/src/converters.ts b/packages/web3-utils/src/converters.ts index 9bcad9e70c4..e1ca62930ff 100644 --- a/packages/web3-utils/src/converters.ts +++ b/packages/web3-utils/src/converters.ts @@ -367,7 +367,7 @@ export const toHex = ( return returnType ? 'bytes' : value; } if (isHex(value) && !isInt(value)) { - return returnType ? 'bytes' : value; + return returnType ? 'bytes' : `0x${value}`; } if (!Number.isFinite(value)) { diff --git a/packages/web3-utils/test/fixtures/converters.ts b/packages/web3-utils/test/fixtures/converters.ts index b99efa1baea..ed3f7bb9274 100644 --- a/packages/web3-utils/test/fixtures/converters.ts +++ b/packages/web3-utils/test/fixtures/converters.ts @@ -234,6 +234,7 @@ export const toHexValidData: [Numbers | Bytes | Address | boolean, [HexString, V ['0x72fdb1c1ddd4c67804f42b93de95cf6a8c51d2d1', 'address'], ], ['-0x01', ['-0x1', 'int256']], + ['123c', ['0x123c', 'bytes']], ]; export const toHexInvalidData: [any, string][] = [