From de75861d080214915d322844f882c1a058b8c2c7 Mon Sep 17 00:00:00 2001 From: Luca Nicola Debiasi <63785793+lucanicoladebiasi@users.noreply.github.com> Date: Fri, 6 Sep 2024 11:09:00 +0100 Subject: [PATCH] refactor: 1115 `Hash` implementations moved in `vcdm` (#1245) --- packages/core/src/certificate/certificate.ts | 2 +- packages/core/src/core.ts | 2 +- packages/core/src/hdkey/HDKey.ts | 2 +- .../core/src/keystore/cryptography/experimental/keystore.ts | 2 +- packages/core/src/secp256k1/secp256k1.ts | 2 +- packages/core/src/transaction/transaction.ts | 2 +- packages/core/src/vcdm/Address.ts | 2 +- packages/core/src/vcdm/BloomFilter.ts | 2 +- packages/core/src/{ => vcdm}/hash/Blake2b256.ts | 4 ++-- packages/core/src/vcdm/{ => hash}/Hash.ts | 0 packages/core/src/{ => vcdm}/hash/Keccak256.ts | 4 ++-- packages/core/src/{ => vcdm}/hash/Sha256.ts | 4 ++-- packages/core/src/{ => vcdm}/hash/index.ts | 1 + packages/core/src/vcdm/index.ts | 2 +- packages/core/tests/{ => vcdm}/hash/Blake2b256.unit.test.ts | 2 +- packages/core/tests/{ => vcdm}/hash/Keccak256.unit.test.ts | 2 +- packages/core/tests/{ => vcdm}/hash/Sha256.unit.test.ts | 2 +- packages/core/tests/{ => vcdm}/hash/fixture.ts | 2 +- 18 files changed, 20 insertions(+), 19 deletions(-) rename packages/core/src/{ => vcdm}/hash/Blake2b256.ts (95%) rename packages/core/src/vcdm/{ => hash}/Hash.ts (100%) rename packages/core/src/{ => vcdm}/hash/Keccak256.ts (95%) rename packages/core/src/{ => vcdm}/hash/Sha256.ts (95%) rename packages/core/src/{ => vcdm}/hash/index.ts (77%) rename packages/core/tests/{ => vcdm}/hash/Blake2b256.unit.test.ts (97%) rename packages/core/tests/{ => vcdm}/hash/Keccak256.unit.test.ts (97%) rename packages/core/tests/{ => vcdm}/hash/Sha256.unit.test.ts (97%) rename packages/core/tests/{ => vcdm}/hash/fixture.ts (80%) diff --git a/packages/core/src/certificate/certificate.ts b/packages/core/src/certificate/certificate.ts index 83174ff03..4d69e77d2 100644 --- a/packages/core/src/certificate/certificate.ts +++ b/packages/core/src/certificate/certificate.ts @@ -1,6 +1,6 @@ import { CertificateSignature } from '@vechain/sdk-errors'; import fastJsonStableStringify from 'fast-json-stable-stringify'; -import { Blake2b256 } from '../hash'; +import { Blake2b256 } from '../vcdm/hash/Blake2b256'; import { secp256k1 } from '../secp256k1'; import { Address, Hex, Txt } from '../vcdm'; import { type Certificate } from './types'; diff --git a/packages/core/src/core.ts b/packages/core/src/core.ts index 836b9dd71..d3647aa00 100644 --- a/packages/core/src/core.ts +++ b/packages/core/src/core.ts @@ -6,7 +6,7 @@ export * from './certificate'; export * from './clause'; export * from './contract'; export * from './encoding'; -export * from './hash'; +export * from './vcdm/hash/Hash'; export * from './hdkey'; export * from './keystore'; export * from './secp256k1'; diff --git a/packages/core/src/hdkey/HDKey.ts b/packages/core/src/hdkey/HDKey.ts index f44d91ebf..74a86ece6 100644 --- a/packages/core/src/hdkey/HDKey.ts +++ b/packages/core/src/hdkey/HDKey.ts @@ -9,7 +9,7 @@ import { InvalidSecp256k1PrivateKey } from '@vechain/sdk-errors'; import { HexUInt } from '../vcdm/HexUInt'; -import { Sha256 } from '../hash'; +import { Sha256 } from '../vcdm/hash/Sha256'; import { FPN } from '../vcdm'; /** diff --git a/packages/core/src/keystore/cryptography/experimental/keystore.ts b/packages/core/src/keystore/cryptography/experimental/keystore.ts index bb6de0f32..d24f29203 100644 --- a/packages/core/src/keystore/cryptography/experimental/keystore.ts +++ b/packages/core/src/keystore/cryptography/experimental/keystore.ts @@ -7,7 +7,7 @@ import { ctr } from '@noble/ciphers/aes'; import * as n_utils from '@noble/curves/abstract/utils'; import { scrypt } from '@noble/hashes/scrypt'; import { InvalidKeystoreParams, stringifyData } from '@vechain/sdk-errors'; -import { Keccak256 } from '../../../hash'; +import { Keccak256 } from '../../../vcdm/hash/Keccak256'; import { secp256k1 } from '../../../secp256k1'; import { Address, Hex } from '../../../vcdm'; import { type Keystore, type KeystoreAccount } from '../../types'; diff --git a/packages/core/src/secp256k1/secp256k1.ts b/packages/core/src/secp256k1/secp256k1.ts index 95f307c86..0630d53de 100644 --- a/packages/core/src/secp256k1/secp256k1.ts +++ b/packages/core/src/secp256k1/secp256k1.ts @@ -1,5 +1,5 @@ import * as n_utils from '@noble/curves/abstract/utils'; -import { Hex } from '../vcdm/Hex'; +import { Hex } from '../vcdm'; import { SIGNATURE_LENGTH } from '../utils'; import { randomBytes as _randomBytes } from '@noble/hashes/utils'; import { secp256k1 as n_secp256k1 } from '@noble/curves/secp256k1'; diff --git a/packages/core/src/transaction/transaction.ts b/packages/core/src/transaction/transaction.ts index 788345dcc..1848c5f84 100644 --- a/packages/core/src/transaction/transaction.ts +++ b/packages/core/src/transaction/transaction.ts @@ -5,7 +5,7 @@ import { UnavailableTransactionField } from '@vechain/sdk-errors'; import { type RLPValidObject } from '../encoding'; -import { Blake2b256 } from '../hash'; +import { Blake2b256 } from '../vcdm/hash/Blake2b256'; import { secp256k1 } from '../secp256k1'; import { BLOCK_REF_LENGTH, diff --git a/packages/core/src/vcdm/Address.ts b/packages/core/src/vcdm/Address.ts index b5de4214d..93c9a8b85 100644 --- a/packages/core/src/vcdm/Address.ts +++ b/packages/core/src/vcdm/Address.ts @@ -3,7 +3,7 @@ import { InvalidHDKey, InvalidSecp256k1PrivateKey } from '@vechain/sdk-errors'; -import { Keccak256 } from '../hash'; +import { Keccak256 } from './hash/Keccak256'; import { HDKey } from '../hdkey'; import { secp256k1 } from '../secp256k1'; import { Hex } from './Hex'; diff --git a/packages/core/src/vcdm/BloomFilter.ts b/packages/core/src/vcdm/BloomFilter.ts index bf3c2211f..b213d6fb2 100644 --- a/packages/core/src/vcdm/BloomFilter.ts +++ b/packages/core/src/vcdm/BloomFilter.ts @@ -1,5 +1,5 @@ import * as nc_utils from '@noble/curves/abstract/utils'; -import { Blake2b256 } from '../hash'; +import { Blake2b256 } from './hash/Blake2b256'; import { Hex } from './Hex'; import { InvalidDataType, InvalidOperation } from '@vechain/sdk-errors'; import { type VeChainDataModel } from './VeChainDataModel'; diff --git a/packages/core/src/hash/Blake2b256.ts b/packages/core/src/vcdm/hash/Blake2b256.ts similarity index 95% rename from packages/core/src/hash/Blake2b256.ts rename to packages/core/src/vcdm/hash/Blake2b256.ts index c6027f878..29a8be9a6 100644 --- a/packages/core/src/hash/Blake2b256.ts +++ b/packages/core/src/vcdm/hash/Blake2b256.ts @@ -1,7 +1,7 @@ import { blake2b as nh_blake2b } from '@noble/hashes/blake2b'; import { InvalidOperation } from '@vechain/sdk-errors'; -import { Hex, Txt, type Hash } from '../vcdm'; -import { HexUInt } from '../vcdm/HexUInt'; +import { Hex, Txt, type Hash } from '../index'; +import { HexUInt } from '../HexUInt'; /** * Represents the result of an [BLAKE](https://en.wikipedia.org/wiki/BLAKE_(hash_function)) [BlAKE2B 256](https://www.blake2.net/) hash operation. diff --git a/packages/core/src/vcdm/Hash.ts b/packages/core/src/vcdm/hash/Hash.ts similarity index 100% rename from packages/core/src/vcdm/Hash.ts rename to packages/core/src/vcdm/hash/Hash.ts diff --git a/packages/core/src/hash/Keccak256.ts b/packages/core/src/vcdm/hash/Keccak256.ts similarity index 95% rename from packages/core/src/hash/Keccak256.ts rename to packages/core/src/vcdm/hash/Keccak256.ts index e1f725452..2fa888e9a 100644 --- a/packages/core/src/hash/Keccak256.ts +++ b/packages/core/src/vcdm/hash/Keccak256.ts @@ -1,7 +1,7 @@ import { keccak_256 as nh_keccak_256 } from '@noble/hashes/sha3'; import { InvalidOperation } from '@vechain/sdk-errors'; -import { Hex, Txt, type Hash } from '../vcdm'; -import { HexUInt } from '../vcdm/HexUInt'; +import { Hex, Txt, type Hash } from '../index'; +import { HexUInt } from '../HexUInt'; /** * Represents the result of an [SHA-3](https://en.wikipedia.org/wiki/SHA-3) [KECCAK 256](https://keccak.team/keccak.html) hash operation. diff --git a/packages/core/src/hash/Sha256.ts b/packages/core/src/vcdm/hash/Sha256.ts similarity index 95% rename from packages/core/src/hash/Sha256.ts rename to packages/core/src/vcdm/hash/Sha256.ts index a8562f7dd..667d5d0a3 100644 --- a/packages/core/src/hash/Sha256.ts +++ b/packages/core/src/vcdm/hash/Sha256.ts @@ -1,7 +1,7 @@ import * as nh_sha256 from '@noble/hashes/sha256'; import { InvalidOperation } from '@vechain/sdk-errors'; -import { Hex, Txt, type Hash } from '../vcdm'; -import { HexUInt } from '../vcdm/HexUInt'; +import { Hex, Txt, type Hash } from '../index'; +import { HexUInt } from '../HexUInt'; /** * Represents the result of an [SHA256](https://en.wikipedia.org/wiki/SHA-2) hash operation. diff --git a/packages/core/src/hash/index.ts b/packages/core/src/vcdm/hash/index.ts similarity index 77% rename from packages/core/src/hash/index.ts rename to packages/core/src/vcdm/hash/index.ts index 61ae7e1ba..e1145286e 100644 --- a/packages/core/src/hash/index.ts +++ b/packages/core/src/vcdm/hash/index.ts @@ -1,3 +1,4 @@ export * from './Blake2b256'; +export * from './Hash'; export * from './Keccak256'; export * from './Sha256'; diff --git a/packages/core/src/vcdm/index.ts b/packages/core/src/vcdm/index.ts index 3bebf8499..9c3e79bb8 100644 --- a/packages/core/src/vcdm/index.ts +++ b/packages/core/src/vcdm/index.ts @@ -3,7 +3,7 @@ export * from './Address'; export * from './BloomFilter'; export * from './Currency'; export * from './FPN'; -export * from './Hash'; +export * from './hash'; export * from './Hex'; export * from './HexInt'; export * from './HexUInt'; diff --git a/packages/core/tests/hash/Blake2b256.unit.test.ts b/packages/core/tests/vcdm/hash/Blake2b256.unit.test.ts similarity index 97% rename from packages/core/tests/hash/Blake2b256.unit.test.ts rename to packages/core/tests/vcdm/hash/Blake2b256.unit.test.ts index e00266ab5..f86de49a1 100644 --- a/packages/core/tests/hash/Blake2b256.unit.test.ts +++ b/packages/core/tests/vcdm/hash/Blake2b256.unit.test.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from '@jest/globals'; import { bytesToHex } from '@noble/hashes/utils'; import { InvalidOperation } from '@vechain/sdk-errors'; -import { blake2b256, Blake2b256, Hex } from '../../src'; +import { blake2b256, Blake2b256, Hex } from '../../../src'; import { CONTENT, NO_CONTENT } from './fixture'; // Hex on purpose because it must be equal to the returned HexUInt hash. diff --git a/packages/core/tests/hash/Keccak256.unit.test.ts b/packages/core/tests/vcdm/hash/Keccak256.unit.test.ts similarity index 97% rename from packages/core/tests/hash/Keccak256.unit.test.ts rename to packages/core/tests/vcdm/hash/Keccak256.unit.test.ts index 0d5168aa0..ca88a99cf 100644 --- a/packages/core/tests/hash/Keccak256.unit.test.ts +++ b/packages/core/tests/vcdm/hash/Keccak256.unit.test.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from '@jest/globals'; import { bytesToHex } from '@noble/hashes/utils'; import { InvalidOperation } from '@vechain/sdk-errors'; -import { Hex, Keccak256, keccak256 } from '../../src'; +import { Hex, Keccak256, keccak256 } from '../../../src'; import { CONTENT, NO_CONTENT } from './fixture'; // Hex on purpose because it must be equal to the returned HexUInt hash. diff --git a/packages/core/tests/hash/Sha256.unit.test.ts b/packages/core/tests/vcdm/hash/Sha256.unit.test.ts similarity index 97% rename from packages/core/tests/hash/Sha256.unit.test.ts rename to packages/core/tests/vcdm/hash/Sha256.unit.test.ts index da9ae3d1c..ee6f8db03 100644 --- a/packages/core/tests/hash/Sha256.unit.test.ts +++ b/packages/core/tests/vcdm/hash/Sha256.unit.test.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from '@jest/globals'; import { bytesToHex } from '@noble/hashes/utils'; import { InvalidOperation } from '@vechain/sdk-errors'; -import { Hex, sha256, Sha256 } from '../../src'; +import { Hex, sha256, Sha256 } from '../../../src'; import { CONTENT, NO_CONTENT } from './fixture'; // Hex on purpose because it must be equal to the returned HexUInt hash. diff --git a/packages/core/tests/hash/fixture.ts b/packages/core/tests/vcdm/hash/fixture.ts similarity index 80% rename from packages/core/tests/hash/fixture.ts rename to packages/core/tests/vcdm/hash/fixture.ts index 00b4cbdfd..37805245e 100644 --- a/packages/core/tests/hash/fixture.ts +++ b/packages/core/tests/vcdm/hash/fixture.ts @@ -1,4 +1,4 @@ -import { Hex, Txt } from '../../src'; +import { Hex, Txt } from '../../../src'; const CONTENT = Hex.of( Txt.of('Hello world - Здравствуйте - こんにちは!').bytes