From 4ce9c43a8cc7710365d0e7229eac404cc6d21b13 Mon Sep 17 00:00:00 2001 From: danielailie Date: Thu, 13 Feb 2025 12:21:59 +0200 Subject: [PATCH 1/5] Update token ticker validatio rules --- src/tokens.spec.ts | 16 ++++++++++++++++ src/tokens.ts | 6 +----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/tokens.spec.ts b/src/tokens.spec.ts index e9a29ef54..3d50e29cb 100644 --- a/src/tokens.spec.ts +++ b/src/tokens.spec.ts @@ -46,6 +46,22 @@ describe("test tokens and token computer", async () => { const fungibleTokenIdentifier = "FNG-123456"; identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(fungibleTokenIdentifier); assert.equal(identifier, "FNG-123456"); + + const numericTokenTicker = "2024-45a190"; + identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTicker); + assert.equal(identifier, "2024-45a190"); + + const numericTokenTickerWithNonce = "2024-45a190-01"; + identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTickerWithNonce); + assert.equal(identifier, "2024-45a190"); + + const numericTokenTickerWithPrefix = "t0-2024-45a190"; + identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTickerWithPrefix); + assert.equal(identifier, "t0-2024-45a190"); + + const numericTokenTickerWithPrefixAndNonce = "t0-2024-45a190"; + identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTickerWithPrefixAndNonce); + assert.equal(identifier, "t0-2024-45a190") }); it("should fail if prefix longer than expected", async () => { diff --git a/src/tokens.ts b/src/tokens.ts index b01c5edfc..57f21bf16 100644 --- a/src/tokens.ts +++ b/src/tokens.ts @@ -273,7 +273,7 @@ export class TokenComputer { } private splitIdentifierIntoComponents(parts: string[]): { prefix: any; ticker: any; randomSequence: any } { - if (this.isLowercaseAlphanumeric(parts[0])) { + if (parts.length >= 3 && parts[2].length === this.TOKEN_RANDOM_SEQUENCE_LENGTH) { return { prefix: parts[0], ticker: parts[1], randomSequence: parts[2] }; } @@ -329,10 +329,6 @@ export class TokenComputer { if (!ticker.match(/^[a-zA-Z0-9]+$/)) { throw new ErrInvalidTokenIdentifier("The token ticker should only contain alphanumeric characters"); } - - if (!(ticker == ticker.toUpperCase())) { - throw new ErrInvalidTokenIdentifier("The token ticker should be upper case"); - } } } From 3b05643e2f13721d5d6c7cad6ab2d312514d14e7 Mon Sep 17 00:00:00 2001 From: danielailie Date: Thu, 13 Feb 2025 12:24:26 +0200 Subject: [PATCH 2/5] Bump version --- package-lock.json | 4 ++-- package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 28ac6bdd1..16bc74ae8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@multiversx/sdk-core", - "version": "13.17.1", + "version": "13.17.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@multiversx/sdk-core", - "version": "13.17.1", + "version": "13.17.2", "license": "MIT", "dependencies": { "@multiversx/sdk-transaction-decoder": "1.0.2", diff --git a/package.json b/package.json index fa4d76b4a..f2f7cd106 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@multiversx/sdk-core", - "version": "13.17.1", + "version": "13.17.2", "description": "MultiversX SDK for JavaScript and TypeScript", "author": "MultiversX", "homepage": "https://multiversx.com", @@ -81,4 +81,4 @@ "@multiversx/sdk-bls-wasm": "0.3.5", "bip39": "3.1.0" } -} +} \ No newline at end of file From fb508efef7c0165c5eb8a07b02e3e167ed9e36aa Mon Sep 17 00:00:00 2001 From: danielailie Date: Thu, 13 Feb 2025 12:46:35 +0200 Subject: [PATCH 3/5] Add empty line --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f2f7cd106..1dd8d7fbe 100644 --- a/package.json +++ b/package.json @@ -81,4 +81,4 @@ "@multiversx/sdk-bls-wasm": "0.3.5", "bip39": "3.1.0" } -} \ No newline at end of file +} From a21362df5f7b6af3239352b6efee5376459c96c9 Mon Sep 17 00:00:00 2001 From: danielailie Date: Thu, 13 Feb 2025 13:04:46 +0200 Subject: [PATCH 4/5] Update test data --- src/tokens.spec.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/tokens.spec.ts b/src/tokens.spec.ts index 3d50e29cb..e79b7e344 100644 --- a/src/tokens.spec.ts +++ b/src/tokens.spec.ts @@ -47,21 +47,21 @@ describe("test tokens and token computer", async () => { identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(fungibleTokenIdentifier); assert.equal(identifier, "FNG-123456"); - const numericTokenTicker = "2024-45a190"; + const numericTokenTicker = "2065-65td7s"; identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTicker); - assert.equal(identifier, "2024-45a190"); + assert.equal(identifier, "2065-65td7s"); - const numericTokenTickerWithNonce = "2024-45a190-01"; + const numericTokenTickerWithNonce = "2065-65td7s-01"; identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTickerWithNonce); - assert.equal(identifier, "2024-45a190"); + assert.equal(identifier, "2065-65td7s"); - const numericTokenTickerWithPrefix = "t0-2024-45a190"; + const numericTokenTickerWithPrefix = "t0-2065-65td7s"; identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTickerWithPrefix); - assert.equal(identifier, "t0-2024-45a190"); + assert.equal(identifier, "t0-2065-45a190"); - const numericTokenTickerWithPrefixAndNonce = "t0-2024-45a190"; + const numericTokenTickerWithPrefixAndNonce = "t0-2065-65td7s"; identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTickerWithPrefixAndNonce); - assert.equal(identifier, "t0-2024-45a190") + assert.equal(identifier, "t0-2065-65td7s") }); it("should fail if prefix longer than expected", async () => { From df49bdcca96d68ec88108a115da5a63b23f031bc Mon Sep 17 00:00:00 2001 From: danielailie Date: Thu, 13 Feb 2025 13:15:47 +0200 Subject: [PATCH 5/5] Fix test --- src/tokens.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tokens.spec.ts b/src/tokens.spec.ts index e79b7e344..aa2cdb205 100644 --- a/src/tokens.spec.ts +++ b/src/tokens.spec.ts @@ -57,7 +57,7 @@ describe("test tokens and token computer", async () => { const numericTokenTickerWithPrefix = "t0-2065-65td7s"; identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTickerWithPrefix); - assert.equal(identifier, "t0-2065-45a190"); + assert.equal(identifier, "t0-2065-65td7s"); const numericTokenTickerWithPrefixAndNonce = "t0-2065-65td7s"; identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTickerWithPrefixAndNonce);