@heliofi/common 0.2.316 → 0.2.318

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/src/domain/constants/index.d.ts +1 -0
  2. package/dist/src/domain/constants/index.js +1 -0
  3. package/dist/src/domain/constants/index.js.map +1 -1
  4. package/dist/src/domain/constants/refundRecipientErrorType.d.ts +10 -0
  5. package/dist/src/domain/constants/refundRecipientErrorType.js +15 -0
  6. package/dist/src/domain/constants/refundRecipientErrorType.js.map +1 -0
  7. package/dist/src/domain/model/deposit/dtos/updateDepositActivity.dto.d.ts +1 -0
  8. package/dist/src/domain/model/deposit/dtos/updateDepositActivity.dto.js +7 -0
  9. package/dist/src/domain/model/deposit/dtos/updateDepositActivity.dto.js.map +1 -1
  10. package/dist/src/domain/model/deposit-management/dtos/GlideRefund.dto.d.ts +5 -0
  11. package/dist/src/domain/model/deposit-management/dtos/GlideRefund.dto.js +32 -0
  12. package/dist/src/domain/model/deposit-management/dtos/GlideRefund.dto.js.map +1 -0
  13. package/dist/src/domain/model/deposit-management/dtos/index.d.ts +1 -0
  14. package/dist/src/domain/model/deposit-management/dtos/index.js +1 -0
  15. package/dist/src/domain/model/deposit-management/dtos/index.js.map +1 -1
  16. package/dist/src/domain/services/PublicKeyService.d.ts +11 -1
  17. package/dist/src/domain/services/PublicKeyService.js +109 -0
  18. package/dist/src/domain/services/PublicKeyService.js.map +1 -1
  19. package/dist/src/domain/services/StringService.d.ts +4 -0
  20. package/dist/src/domain/services/StringService.js +41 -0
  21. package/dist/src/domain/services/StringService.js.map +1 -0
  22. package/dist/src/domain/services/index.d.ts +1 -0
  23. package/dist/src/domain/services/index.js +1 -0
  24. package/dist/src/domain/services/index.js.map +1 -1
  25. package/dist/tsconfig.tsbuildinfo +1 -1
  26. package/package.json +2 -2
@@ -32,3 +32,4 @@ export * from './deposits';
32
32
  export * from './IncomingTransactionStatus';
33
33
  export * from './hypercoreTokens';
34
34
  export * from './hypercoreEip712';
35
+ export * from './refundRecipientErrorType';
@@ -48,4 +48,5 @@ __exportStar(require("./deposits"), exports);
48
48
  __exportStar(require("./IncomingTransactionStatus"), exports);
49
49
  __exportStar(require("./hypercoreTokens"), exports);
50
50
  __exportStar(require("./hypercoreEip712"), exports);
51
+ __exportStar(require("./refundRecipientErrorType"), exports);
51
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA6B;AAC7B,mDAAiC;AACjC,qDAAmC;AACnC,8CAA4B;AAC5B,qEAAmD;AACnD,mDAAiC;AACjC,gDAA8B;AAC9B,2CAAyB;AACzB,2CAAyB;AACzB,kDAAgC;AAChC,4DAA0C;AAC1C,yDAAuC;AACvC,6CAA2B;AAC3B,2CAAyB;AACzB,uDAAqC;AACrC,6CAA2B;AAC3B,6DAA2C;AAE3C,oDAAkC;AAClC,6CAA2B;AAC3B,kDAAgC;AAChC,gDAA8B;AAC9B,0CAAwB;AACxB,4CAA0B;AAC1B,6DAA2C;AAC3C,4DAA0C;AAC1C,oDAAkC;AAClC,6CAA2B;AAC3B,8DAA4C;AAC5C,oDAAkC;AAClC,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA6B;AAC7B,mDAAiC;AACjC,qDAAmC;AACnC,8CAA4B;AAC5B,qEAAmD;AACnD,mDAAiC;AACjC,gDAA8B;AAC9B,2CAAyB;AACzB,2CAAyB;AACzB,kDAAgC;AAChC,4DAA0C;AAC1C,yDAAuC;AACvC,6CAA2B;AAC3B,2CAAyB;AACzB,uDAAqC;AACrC,6CAA2B;AAC3B,6DAA2C;AAE3C,oDAAkC;AAClC,6CAA2B;AAC3B,kDAAgC;AAChC,gDAA8B;AAC9B,0CAAwB;AACxB,4CAA0B;AAC1B,6DAA2C;AAC3C,4DAA0C;AAC1C,oDAAkC;AAClC,6CAA2B;AAC3B,8DAA4C;AAC5C,oDAAkC;AAClC,oDAAkC;AAClC,6DAA2C"}
@@ -0,0 +1,10 @@
1
+ export declare enum RefundRecipientErrorType {
2
+ REFUND_SOL_OFF_CURVE = "REFUND_SOL_OFF_CURVE",
3
+ REFUND_EVM_BAD_CHECKSUM = "REFUND_EVM_BAD_CHECKSUM",
4
+ REFUND_BTC_INVALID = "REFUND_BTC_INVALID",
5
+ REFUND_WRONG_NETWORK = "REFUND_WRONG_NETWORK",
6
+ REFUND_ZERO_ADDRESS = "REFUND_ZERO_ADDRESS",
7
+ REFUND_SAME_WALLET = "REFUND_SAME_WALLET",
8
+ REFUND_LOOKALIKE = "REFUND_LOOKALIKE",
9
+ REFUND_CONTRACT_DESTINATION = "REFUND_CONTRACT_DESTINATION"
10
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RefundRecipientErrorType = void 0;
4
+ var RefundRecipientErrorType;
5
+ (function (RefundRecipientErrorType) {
6
+ RefundRecipientErrorType["REFUND_SOL_OFF_CURVE"] = "REFUND_SOL_OFF_CURVE";
7
+ RefundRecipientErrorType["REFUND_EVM_BAD_CHECKSUM"] = "REFUND_EVM_BAD_CHECKSUM";
8
+ RefundRecipientErrorType["REFUND_BTC_INVALID"] = "REFUND_BTC_INVALID";
9
+ RefundRecipientErrorType["REFUND_WRONG_NETWORK"] = "REFUND_WRONG_NETWORK";
10
+ RefundRecipientErrorType["REFUND_ZERO_ADDRESS"] = "REFUND_ZERO_ADDRESS";
11
+ RefundRecipientErrorType["REFUND_SAME_WALLET"] = "REFUND_SAME_WALLET";
12
+ RefundRecipientErrorType["REFUND_LOOKALIKE"] = "REFUND_LOOKALIKE";
13
+ RefundRecipientErrorType["REFUND_CONTRACT_DESTINATION"] = "REFUND_CONTRACT_DESTINATION";
14
+ })(RefundRecipientErrorType || (exports.RefundRecipientErrorType = RefundRecipientErrorType = {}));
15
+ //# sourceMappingURL=refundRecipientErrorType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refundRecipientErrorType.js","sourceRoot":"","sources":["../../../../src/domain/constants/refundRecipientErrorType.ts"],"names":[],"mappings":";;;AAOA,IAAY,wBAiBX;AAjBD,WAAY,wBAAwB;IAElC,yEAA6C,CAAA;IAE7C,+EAAmD,CAAA;IAEnD,qEAAyC,CAAA;IAEzC,yEAA6C,CAAA;IAE7C,uEAA2C,CAAA;IAE3C,qEAAyC,CAAA;IAEzC,iEAAqC,CAAA;IAErC,uFAA2D,CAAA;AAC7D,CAAC,EAjBW,wBAAwB,wCAAxB,wBAAwB,QAiBnC"}
@@ -1,3 +1,4 @@
1
1
  export declare class UpdateDepositActivityDto {
2
2
  currencyId?: string;
3
+ wallets?: string[];
3
4
  }
@@ -19,4 +19,11 @@ __decorate([
19
19
  (0, class_validator_1.IsMongoId)(),
20
20
  __metadata("design:type", String)
21
21
  ], UpdateDepositActivityDto.prototype, "currencyId", void 0);
22
+ __decorate([
23
+ (0, class_validator_1.IsOptional)(),
24
+ (0, class_validator_1.IsArray)(),
25
+ (0, class_validator_1.IsString)({ each: true }),
26
+ (0, class_validator_1.ArrayMinSize)(1),
27
+ __metadata("design:type", Array)
28
+ ], UpdateDepositActivityDto.prototype, "wallets", void 0);
22
29
  //# sourceMappingURL=updateDepositActivity.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateDepositActivity.dto.js","sourceRoot":"","sources":["../../../../../../src/domain/model/deposit/dtos/updateDepositActivity.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAwD;AAExD,MAAa,wBAAwB;CAMpC;AAND,4DAMC;AADC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;4DACQ"}
1
+ {"version":3,"file":"updateDepositActivity.dto.js","sourceRoot":"","sources":["../../../../../../src/domain/model/deposit/dtos/updateDepositActivity.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAMyB;AAEzB,MAAa,wBAAwB;CAcpC;AAdD,4DAcC;AATC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;4DACQ;AAQpB;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,8BAAY,EAAC,CAAC,CAAC;;yDACG"}
@@ -0,0 +1,5 @@
1
+ export declare class GlideRefundDto {
2
+ depositWalletId: string;
3
+ currencyId: string;
4
+ refundAddress: string;
5
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GlideRefundDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class GlideRefundDto {
15
+ }
16
+ exports.GlideRefundDto = GlideRefundDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ (0, class_validator_1.IsNotEmpty)(),
20
+ __metadata("design:type", String)
21
+ ], GlideRefundDto.prototype, "depositWalletId", void 0);
22
+ __decorate([
23
+ (0, class_validator_1.IsString)(),
24
+ (0, class_validator_1.IsNotEmpty)(),
25
+ __metadata("design:type", String)
26
+ ], GlideRefundDto.prototype, "currencyId", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsString)(),
29
+ (0, class_validator_1.IsNotEmpty)(),
30
+ __metadata("design:type", String)
31
+ ], GlideRefundDto.prototype, "refundAddress", void 0);
32
+ //# sourceMappingURL=GlideRefund.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlideRefund.dto.js","sourceRoot":"","sources":["../../../../../../src/domain/model/deposit-management/dtos/GlideRefund.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuD;AAEvD,MAAa,cAAc;CAY1B;AAZD,wCAYC;AATC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;uDACW;AAIxB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;kDACM;AAInB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;qDACS"}
@@ -1,4 +1,5 @@
1
1
  export * from './GetIncomingTransactions.dto';
2
+ export * from './GlideRefund.dto';
2
3
  export * from './RefundTransaction.dto';
3
4
  export * from './sanctionedDepositQuery.dto';
4
5
  export * from './Sweep.dto';
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./GetIncomingTransactions.dto"), exports);
18
+ __exportStar(require("./GlideRefund.dto"), exports);
18
19
  __exportStar(require("./RefundTransaction.dto"), exports);
19
20
  __exportStar(require("./sanctionedDepositQuery.dto"), exports);
20
21
  __exportStar(require("./Sweep.dto"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/domain/model/deposit-management/dtos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,0DAAwC;AACxC,+DAA6C;AAC7C,8CAA4B;AAC5B,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/domain/model/deposit-management/dtos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,oDAAkC;AAClC,0DAAwC;AACxC,+DAA6C;AAC7C,8CAA4B;AAC5B,sDAAoC"}
@@ -1,4 +1,4 @@
1
- import { GeneralNetwork } from '../constants';
1
+ import { GeneralNetwork, RefundRecipientErrorType } from '../constants';
2
2
  import { BlockchainEngineType } from '../model/blockchainEngine';
3
3
  export declare class PublicKeyService {
4
4
  private static readonly EVM_ADDRESS_REGEX;
@@ -17,4 +17,14 @@ export declare class PublicKeyService {
17
17
  private static crc16Ccitt;
18
18
  static validateDOGEAddress(address: string, _generalNetwork: GeneralNetwork): boolean;
19
19
  static validateBTCAddress(address: string, generalNetwork: GeneralNetwork): boolean;
20
+ private static readonly EVM_FAMILY_ENGINES;
21
+ private static readonly EVM_ZERO_ADDRESS_REGEX;
22
+ static isSolAddressOnCurve(address: string): boolean;
23
+ static toChecksumAddress(address: string): string;
24
+ static validateEvmAddressChecksummed(address: string): boolean;
25
+ static isZeroEvmAddress(address: string): boolean;
26
+ private static normalizeTonAddressKey;
27
+ static isSameWallet(engine: BlockchainEngineType, a: string, b: string): boolean;
28
+ static validateRefundRecipientForEngine(engine: BlockchainEngineType, address: string, generalNetwork: GeneralNetwork): RefundRecipientErrorType | null;
29
+ static isValidRefundRecipientForEngine(engine: BlockchainEngineType, address: string, generalNetwork: GeneralNetwork): boolean;
20
30
  }
@@ -161,6 +161,109 @@ class PublicKeyService {
161
161
  return false;
162
162
  }
163
163
  }
164
+ static isSolAddressOnCurve(address) {
165
+ try {
166
+ const bytes = new web3_js_1.PublicKey(address).toBytes();
167
+ if (bytes.length !== 32) {
168
+ return false;
169
+ }
170
+ return web3_js_1.PublicKey.isOnCurve(bytes);
171
+ }
172
+ catch {
173
+ return false;
174
+ }
175
+ }
176
+ static toChecksumAddress(address) {
177
+ const lower = address.toLowerCase().replace(/^0x/, '');
178
+ const hash = (0, js_sha3_1.keccak256)(lower);
179
+ let result = '0x';
180
+ for (let i = 0; i < lower.length; i++) {
181
+ result += parseInt(hash[i], 16) >= 8 ? lower[i].toUpperCase() : lower[i];
182
+ }
183
+ return result;
184
+ }
185
+ static validateEvmAddressChecksummed(address) {
186
+ if (!this.EVM_ADDRESS_REGEX.test(address)) {
187
+ return false;
188
+ }
189
+ return address === this.toChecksumAddress(address);
190
+ }
191
+ static isZeroEvmAddress(address) {
192
+ return this.EVM_ZERO_ADDRESS_REGEX.test(address);
193
+ }
194
+ static normalizeTonAddressKey(address) {
195
+ if (this.TON_RAW_ADDRESS_REGEX.test(address)) {
196
+ const [workchain, hash] = address.split(':');
197
+ return `${parseInt(workchain, 10)}:${hash.toLowerCase()}`;
198
+ }
199
+ if (!this.TON_FRIENDLY_ADDRESS_REGEX.test(address)) {
200
+ return null;
201
+ }
202
+ const bytes = Buffer.from(address.replace(/-/g, '+').replace(/_/g, '/'), 'base64');
203
+ if (bytes.length !== 36) {
204
+ return null;
205
+ }
206
+ const workchain = bytes[1] === 0xff ? -1 : 0;
207
+ const hash = Buffer.from(bytes.subarray(2, 34)).toString('hex');
208
+ return `${workchain}:${hash}`;
209
+ }
210
+ static isSameWallet(engine, a, b) {
211
+ if (!a || !b) {
212
+ return false;
213
+ }
214
+ if (this.EVM_FAMILY_ENGINES.has(engine)) {
215
+ return a.toLowerCase() === b.toLowerCase();
216
+ }
217
+ if (engine === blockchainEngine_1.BlockchainEngineType.TON) {
218
+ const keyA = this.normalizeTonAddressKey(a);
219
+ const keyB = this.normalizeTonAddressKey(b);
220
+ if (keyA !== null && keyB !== null) {
221
+ return keyA === keyB;
222
+ }
223
+ }
224
+ return a === b;
225
+ }
226
+ static validateRefundRecipientForEngine(engine, address, generalNetwork) {
227
+ switch (engine) {
228
+ case blockchainEngine_1.BlockchainEngineType.SOL:
229
+ return this.isSolAddressOnCurve(address)
230
+ ? null
231
+ : constants_1.RefundRecipientErrorType.REFUND_SOL_OFF_CURVE;
232
+ case blockchainEngine_1.BlockchainEngineType.EVM:
233
+ case blockchainEngine_1.BlockchainEngineType.HYPERCORE:
234
+ case blockchainEngine_1.BlockchainEngineType.SEISMIC:
235
+ return this.validateEvmAddressChecksummed(address)
236
+ ? null
237
+ : constants_1.RefundRecipientErrorType.REFUND_EVM_BAD_CHECKSUM;
238
+ case blockchainEngine_1.BlockchainEngineType.BTC:
239
+ return this.validateBTCAddress(address, generalNetwork)
240
+ ? null
241
+ : constants_1.RefundRecipientErrorType.REFUND_BTC_INVALID;
242
+ case blockchainEngine_1.BlockchainEngineType.TRON:
243
+ return this.validateTronAddress(address)
244
+ ? null
245
+ : constants_1.RefundRecipientErrorType.REFUND_WRONG_NETWORK;
246
+ case blockchainEngine_1.BlockchainEngineType.DOGE:
247
+ if (generalNetwork !== constants_1.GeneralNetwork.MAINNET) {
248
+ return constants_1.RefundRecipientErrorType.REFUND_WRONG_NETWORK;
249
+ }
250
+ return this.validateDOGEAddress(address, generalNetwork)
251
+ ? null
252
+ : constants_1.RefundRecipientErrorType.REFUND_WRONG_NETWORK;
253
+ case blockchainEngine_1.BlockchainEngineType.TON:
254
+ return this.validateTonAddress(address)
255
+ ? null
256
+ : constants_1.RefundRecipientErrorType.REFUND_WRONG_NETWORK;
257
+ default: {
258
+ const exhaustive = engine;
259
+ return exhaustive;
260
+ }
261
+ }
262
+ }
263
+ static isValidRefundRecipientForEngine(engine, address, generalNetwork) {
264
+ return (this.validateRefundRecipientForEngine(engine, address, generalNetwork) ===
265
+ null);
266
+ }
164
267
  }
165
268
  exports.PublicKeyService = PublicKeyService;
166
269
  PublicKeyService.EVM_ADDRESS_REGEX = /^0x[0-9a-fA-F]{40}$/;
@@ -176,4 +279,10 @@ PublicKeyService.TON_RAW_ADDRESS_REGEX = /^(-1|0):[0-9a-fA-F]{64}$/;
176
279
  PublicKeyService.TON_FRIENDLY_ADDRESS_REGEX = /^[A-Za-z0-9+/_-]{48}$/;
177
280
  PublicKeyService.TON_MAINNET_TAGS = new Set([0x11, 0x51]);
178
281
  PublicKeyService.TON_WORKCHAIN_BYTES = new Set([0x00, 0xff]);
282
+ PublicKeyService.EVM_FAMILY_ENGINES = new Set([
283
+ blockchainEngine_1.BlockchainEngineType.EVM,
284
+ blockchainEngine_1.BlockchainEngineType.HYPERCORE,
285
+ blockchainEngine_1.BlockchainEngineType.SEISMIC,
286
+ ]);
287
+ PublicKeyService.EVM_ZERO_ADDRESS_REGEX = /^0x0{40}$/i;
179
288
  //# sourceMappingURL=PublicKeyService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublicKeyService.js","sourceRoot":"","sources":["../../../../src/domain/services/PublicKeyService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PublicKeyService.js","sourceRoot":"","sources":["../../../../src/domain/services/PublicKeyService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class StringService {
2
+ static levenshtein(a: string, b: string): number;
3
+ static isNearDuplicate(a: string, b: string, maxDistance?: number): boolean;
4
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringService = void 0;
4
+ class StringService {
5
+ static levenshtein(a, b) {
6
+ if (a === b) {
7
+ return 0;
8
+ }
9
+ if (a.length === 0) {
10
+ return b.length;
11
+ }
12
+ if (b.length === 0) {
13
+ return a.length;
14
+ }
15
+ const prev = [];
16
+ const curr = [];
17
+ for (let j = 0; j <= b.length; j++) {
18
+ prev[j] = j;
19
+ }
20
+ for (let i = 1; i <= a.length; i++) {
21
+ curr[0] = i;
22
+ for (let j = 1; j <= b.length; j++) {
23
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
24
+ curr[j] = Math.min(curr[j - 1] + 1, prev[j] + 1, prev[j - 1] + cost);
25
+ }
26
+ for (let j = 0; j <= b.length; j++) {
27
+ prev[j] = curr[j];
28
+ }
29
+ }
30
+ return prev[b.length];
31
+ }
32
+ static isNearDuplicate(a, b, maxDistance = 2) {
33
+ if (!a || !b || a === b) {
34
+ return false;
35
+ }
36
+ const distance = this.levenshtein(a, b);
37
+ return distance >= 1 && distance <= maxDistance;
38
+ }
39
+ }
40
+ exports.StringService = StringService;
41
+ //# sourceMappingURL=StringService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringService.js","sourceRoot":"","sources":["../../../../src/domain/services/StringService.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IAExB,MAAM,CAAC,WAAW,CAAC,CAAS,EAAE,CAAS;QACrC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC,MAAM,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAChB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EACf,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CACnB,CAAC;YACJ,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAMD,MAAM,CAAC,eAAe,CAAC,CAAS,EAAE,CAAS,EAAE,WAAW,GAAG,CAAC;QAC1D,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,OAAO,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,WAAW,CAAC;IAClD,CAAC;CACF;AAhDD,sCAgDC"}
@@ -15,3 +15,4 @@ export * from './PublicKeyService';
15
15
  export * from './SolanaSerializationService';
16
16
  export * from './BlockchainExplorerService';
17
17
  export * from './SeismicExplorerService';
18
+ export * from './StringService';
@@ -31,4 +31,5 @@ __exportStar(require("./PublicKeyService"), exports);
31
31
  __exportStar(require("./SolanaSerializationService"), exports);
32
32
  __exportStar(require("./BlockchainExplorerService"), exports);
33
33
  __exportStar(require("./SeismicExplorerService"), exports);
34
+ __exportStar(require("./StringService"), exports);
34
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,0DAAwC;AACxC,mDAAiC;AACjC,mDAAiC;AACjC,+CAA6B;AAC7B,iEAA+C;AAC/C,2DAAyC;AACzC,uDAAqC;AACrC,2DAAyC;AACzC,6DAA2C;AAC3C,iDAA+B;AAC/B,kDAAgC;AAChC,mDAAiC;AACjC,qDAAmC;AACnC,+DAA6C;AAC7C,8DAA4C;AAC5C,2DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,0DAAwC;AACxC,mDAAiC;AACjC,mDAAiC;AACjC,+CAA6B;AAC7B,iEAA+C;AAC/C,2DAAyC;AACzC,uDAAqC;AACrC,2DAAyC;AACzC,6DAA2C;AAC3C,iDAA+B;AAC/B,kDAAgC;AAChC,mDAAiC;AACjC,qDAAmC;AACnC,+DAA6C;AAC7C,8DAA4C;AAC5C,2DAAyC;AACzC,kDAAgC"}