Skip to content

Handle meta esdt collection creation - #1635

Merged
stefangutica merged 2 commits into
developmentfrom
handle-meta-esdt-collection-creation
Sep 10, 2026
Merged

Handle meta esdt collection creation#1635
stefangutica merged 2 commits into
developmentfrom
handle-meta-esdt-collection-creation

Conversation

@stefangutica

@stefangutica stefangutica commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

Reasoning

  • MetaESDT collection properties are served from the cached all-tokens list, which is only rebuilt by the cache warmer every 2 minutes.
  • When a meta ESDT is requested for an account, its collection is looked up in that list, and the token is skipped entirely if the collection is not there yet.
  • As a result, a freshly created collection and its tokens stay invisible in the API for up to 2 minutes after the registration transaction is confirmed.

Proposed Changes

  • Track registerMetaESDT calls to the ESDT contract in the local pending cache, next to the existing issue flow, storing the originating function name.
  • Match the smart contract result back to the original transaction: ESDTTransfer@<identifier>@<amount> for issue, @6f6b@<identifier> ("ok") for registerMetaESDT, and resolve the identifier accordingly.
  • Extract the shared "fetch the token and append it to the cached token list" logic into a reusable method, with a distinct log line per flow.

How to test

  • Register a meta ESDT collection and a meta ESDT token, then immediately query GET /accounts/:address/tokens?includeMetaEsdt=true — the new token should be returned without waiting for the cache warmer.
  • GET /tokens/:identifier resolves for the newly registered collection, and the processor logs Detected metaESDT collection creation <identifier>.
  • Regression: issue a regular fungible token and confirm it still appears instantly, with the log Detected ESDT token issuance <identifier>.

@github-actions

github-actions Bot commented Sep 10, 2026

Copy link
Copy Markdown

k6 load testing comparison.
Base Commit Hash: e7e7203
Target Commit Hash: fa9af1c

Metric Base Target Diff
AvgMax9095AvgMax9095AvgMax9095
Mex24.08258.1435.7037.9646.83485.5959.5762.05+94.46% 🔴+88.11% 🔴+66.87% 🔴+63.46% 🔴
Nodes24.08261.8435.7538.0746.78423.4359.5562.08+94.28% 🔴+61.71% 🔴+66.58% 🔴+63.04% 🔴
Transactions28.511954.2036.1938.5058.332407.8660.8364.13+104.56% 🔴+23.21% 🔴+68.07% 🔴+66.57% 🔴
Accounts25.851030.1935.6437.9048.981408.0259.9462.20+89.47% 🔴+36.68% 🔴+68.17% 🔴+64.13% 🔴
Tokens24.09261.9135.7138.0646.75223.4559.7462.15+94.10% 🔴-14.68% ✅+67.29% 🔴+63.31% 🔴
Pool24.10262.3735.6337.9846.96446.0259.6562.08+94.85% 🔴+70.00% 🔴+67.39% 🔴+63.43% 🔴
Blocks29.69990.8736.4639.0158.721068.0760.9263.95+97.77% 🔴+7.79% 🔴+67.10% 🔴+63.93% 🔴
Test Run Duration60001.5260002.79

Legend: Avg - Average Response Time, Max - Maximum Response Time, 90 - 90th Percentile, 95 - 95th Percentile
All times are in milliseconds.

@stefangutica
stefangutica merged commit e99237e into development Sep 10, 2026
6 of 19 checks passed
@stefangutica
stefangutica deleted the handle-meta-esdt-collection-creation branch September 10, 2026 13:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants