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..1dd8d7fbe 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", diff --git a/src/tokens.spec.ts b/src/tokens.spec.ts index e9a29ef54..aa2cdb205 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 = "2065-65td7s"; + identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTicker); + assert.equal(identifier, "2065-65td7s"); + + const numericTokenTickerWithNonce = "2065-65td7s-01"; + identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTickerWithNonce); + assert.equal(identifier, "2065-65td7s"); + + const numericTokenTickerWithPrefix = "t0-2065-65td7s"; + identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTickerWithPrefix); + assert.equal(identifier, "t0-2065-65td7s"); + + const numericTokenTickerWithPrefixAndNonce = "t0-2065-65td7s"; + identifier = tokenComputer.extractIdentifierFromExtendedIdentifier(numericTokenTickerWithPrefixAndNonce); + assert.equal(identifier, "t0-2065-65td7s") }); 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"); - } } }