Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
b544cf6
extend features flags config values
bogdan-rosianu May 6, 2025
07d9568
fixes after review + test fix
bogdan-rosianu May 6, 2025
db8c4b1
set more default configs to false
bogdan-rosianu May 15, 2025
9c92d90
Merge branch 'development' into extend-about-features-configs
bogdan-rosianu Jul 11, 2025
a89359d
fixes after merge
bogdan-rosianu Jul 11, 2025
b74ed09
Enhance error handling in GatewayProxyController for block retrieval …
cfaur09 Oct 15, 2025
fa1fe81
use EsdtType instead of hardcoded values (#1544)
cfaur09 Oct 15, 2025
0bb0a62
token service improvements (#1543)
cfaur09 Oct 15, 2025
2a9f59d
Websocket subscriptions (#1528)
stefangutica Oct 16, 2025
8e28b11
log instead of error for invalid legacy delegation contract (#1542)
bogdan-rosianu Oct 16, 2025
a9f35be
implement event logAddress filter (#1548)
cfaur09 Oct 23, 2025
2c4a6e8
Token market cap updates (#1550)
bogdan-rosianu Oct 28, 2025
99d9350
add support for timestampMs for account
stefangutica Oct 28, 2025
f638668
fix unit tests
stefangutica Oct 28, 2025
2574c70
Merge pull request #1551 from multiversx/support-timestampMs
stefangutica Oct 28, 2025
4c6f79d
improve token fetch price (#1549)
cfaur09 Oct 28, 2025
e2fe91c
Enhance NFT type support in cache warmer and collection services (#1552)
cfaur09 Nov 4, 2025
0215714
Refactor function filter application in ElasticIndexerHelper to enhan…
cfaur09 Nov 5, 2025
1aa92d4
apply supply info for all tokens (#1558)
cfaur09 Nov 13, 2025
c4eb6f0
added reserved field to blocks (#1560)
bogdan-rosianu Nov 14, 2025
e6425b9
add support for custom url custom headers (#1557)
cfaur09 Nov 19, 2025
e0d5956
Merge branch 'main' into development
bogdan-rosianu Nov 19, 2025
2617167
fix indentation
bogdan-rosianu Nov 19, 2025
bd8247c
API-741: staking v5 support
bogdan-rosianu Nov 19, 2025
b2c41af
bugfix
bogdan-rosianu Nov 19, 2025
581fdfb
fix lint
bogdan-rosianu Nov 19, 2025
24b2c2f
refactor
bogdan-rosianu Nov 19, 2025
b6d900d
fixes
bogdan-rosianu Nov 19, 2025
524a103
Merge pull request #1562 from multiversx/merge-main-into-dev-nov19
bogdan-rosianu Nov 19, 2025
ece9a62
try-catch for queue computing
bogdan-rosianu Nov 20, 2025
25e915e
hotfix disable snapshotless
bogdan-rosianu Nov 20, 2025
3198adc
revert
bogdan-rosianu Nov 20, 2025
d3d58b2
add staking v5 activation epoch feature
bogdan-rosianu Nov 20, 2025
113c468
added devnet config
bogdan-rosianu Nov 21, 2025
d66e071
small fix
bogdan-rosianu Nov 21, 2025
f5d37c8
added mainnet config
bogdan-rosianu Nov 24, 2025
b9d865f
add stakingv5 e2e configs
cfaur09 Nov 24, 2025
247633f
Merge pull request #1563 from multiversx/API-741-staking-v-5-api-support
bogdan-rosianu Nov 24, 2025
f5d613f
Deprecate relayed v1/v2 (#1564)
bogdan-rosianu Nov 27, 2025
961b50b
Add transaction reordering by nonce for account sent transactions
cfaur09 Nov 27, 2025
389367b
add relayed deprecation to transfers as well
bogdan-rosianu Nov 27, 2025
264dfc9
add relayed deprecation to transfers as well (#1567)
bogdan-rosianu Nov 27, 2025
1412ef0
Merge pull request #1566 from multiversx/API-756-fix-account-cross-sh…
bogdan-rosianu Nov 27, 2025
0da962c
add custom subscriptions
stefangutica Nov 28, 2025
b2ba2a9
fix lint
stefangutica Nov 28, 2025
9a7a160
fix lint & unit tests
stefangutica Nov 28, 2025
ad97aba
hardcode class fields
stefangutica Nov 28, 2025
19443b5
lint
stefangutica Nov 28, 2025
0caaeca
refactor
stefangutica Nov 28, 2025
cb8c107
add tests for room key generator
bogdan-rosianu Nov 28, 2025
967c108
iterate over round only if there are active subscriptions
stefangutica Nov 28, 2025
23011d7
improvements
stefangutica Dec 2, 2025
e85afe6
add support for unsubscribe
stefangutica Dec 2, 2025
e8b6dc9
lint
stefangutica Dec 2, 2025
391a74b
add support for events
stefangutica Dec 2, 2025
e6a532c
add support for timestampMs in ES
stefangutica Dec 3, 2025
310ba14
lint
stefangutica Dec 3, 2025
e4977be
hardcode timestamp supernova in the future
stefangutica Dec 3, 2025
3f11983
extra checks + clean code
stefangutica Dec 3, 2025
07699fe
fixes
stefangutica Dec 3, 2025
c1c7113
fixes
stefangutica Dec 3, 2025
5e520d4
typo
stefangutica Dec 4, 2025
ed46948
use latest chainsim
bogdan-rosianu Dec 4, 2025
aaacda7
fix
stefangutica Dec 4, 2025
6106830
add unit tests for transaction reordering by nonce for account sent t…
cfaur09 Dec 5, 2025
c513fd1
Merge pull request #1571 from multiversx/update-chainsimulator-latest
bogdan-rosianu Dec 5, 2025
6527c10
add chain simulator e2e tests
stefangutica Dec 5, 2025
f1a992a
lint
stefangutica Dec 5, 2025
3d37b85
fix
stefangutica Dec 5, 2025
aef1ca8
missing comma
stefangutica Dec 5, 2025
aae0fbf
fix
stefangutica Dec 5, 2025
36a79c5
Refactor account, NFT, and transaction services to improve concurrenc…
cfaur09 Dec 8, 2025
c8c7235
improve NFT bulk fetch + applyOwner
cfaur09 Dec 8, 2025
afa40b0
add no empty payload validator for custom subscriptions
stefangutica Dec 8, 2025
6b81940
add global subscription limiter
stefangutica Dec 8, 2025
0b0e99e
remove log
stefangutica Dec 8, 2025
18d3151
add e2e tests for events
stefangutica Dec 8, 2025
bd08586
lint
stefangutica Dec 8, 2025
de8f7cd
added metric per topics
bogdan-rosianu Dec 8, 2025
820466f
updates
bogdan-rosianu Dec 8, 2025
60aa783
Merge pull request #1574 from multiversx/add-ws-subscriptions-metrics
bogdan-rosianu Dec 8, 2025
cc700f4
implement ConcurrencyUtils in collection service
cfaur09 Dec 8, 2025
d8106d9
add tests for general subscriptions
stefangutica Dec 9, 2025
b795824
Merge branch 'ws-custom-subscriptions' of https://github.com/multiver…
stefangutica Dec 9, 2025
f5a598c
add newline
stefangutica Dec 9, 2025
000bdeb
Merge pull request #1570 from multiversx/elastic-search-by-timestampMs
stefangutica Dec 9, 2025
bd3a892
Merge branch 'development' into ws-custom-subscriptions
stefangutica Dec 9, 2025
eba5476
Merge branch 'development' into ws-custom-subscriptions
stefangutica Dec 9, 2025
f7a7803
use timestampMs
stefangutica Dec 9, 2025
de556b8
revert e2e mainnet config
stefangutica Dec 9, 2025
df9c5a5
custom verbose
stefangutica Dec 9, 2025
a0069ca
Merge branch 'main' into development
bogdan-rosianu Dec 9, 2025
f680cd2
Merge pull request #1575 from multiversx/merge-main-to-dev-dec09
bogdan-rosianu Dec 9, 2025
d4d0f42
use timestampMs on chain sim network
stefangutica Dec 10, 2025
6e35ee9
add subscription limits to config
stefangutica Dec 10, 2025
7b992d7
fix
stefangutica Dec 10, 2025
7f6e3e4
Merge pull request #1569 from multiversx/ws-custom-subscriptions
stefangutica Dec 10, 2025
1f235ca
Merge branch 'development' into extend-about-features-configs
bogdan-rosianu Dec 10, 2025
54643fe
update configs
stefangutica Dec 10, 2025
fa06f52
use barnard config
stefangutica Dec 10, 2025
40511c2
typo
stefangutica Dec 10, 2025
4e92ce4
added readme
bogdan-rosianu Dec 10, 2025
86c5b91
typo
stefangutica Dec 10, 2025
f6d7af5
Merge pull request #1492 from multiversx/extend-about-features-configs
bogdan-rosianu Dec 10, 2025
1ce7b7b
Merge pull request #1576 from multiversx/update-configs
bogdan-rosianu Dec 10, 2025
6a7b6a5
Merge branch 'development' into API-759-apply-no-filter-cache-for-acc…
bogdan-rosianu Dec 10, 2025
9184c89
add lock on subscriptions
stefangutica Dec 11, 2025
edf38a9
use same key for lock
stefangutica Dec 11, 2025
f15eec0
fix
stefangutica Dec 11, 2025
848e0db
add async mutex
stefangutica Dec 11, 2025
e325327
lint
stefangutica Dec 11, 2025
02163ad
return success status on stats
stefangutica Dec 11, 2025
29eda04
return unsubscribed status on stats
stefangutica Dec 11, 2025
209debe
config update
stefangutica Dec 11, 2025
97255ec
Merge pull request #1577 from multiversx/lock-subscriptions
bogdan-rosianu Dec 11, 2025
362c4c1
Merge branch 'development' into API-759-apply-no-filter-cache-for-acc…
bogdan-rosianu Dec 11, 2025
999b183
collection service improvments
cfaur09 Dec 11, 2025
0b41736
fix spec
cfaur09 Dec 11, 2025
9e220ab
fixes
cfaur09 Dec 11, 2025
d19f27a
fixes
cfaur09 Dec 11, 2025
4e743ce
add support for transfers subscription
stefangutica Dec 15, 2025
c20b71a
add support for token transfers subscriptions
stefangutica Dec 15, 2025
0db59c1
add ws transfers e2e tests
stefangutica Dec 16, 2025
edbf007
fix unit tests
cfaur09 Dec 17, 2025
c8e746a
fix transction filters cache
cfaur09 Dec 17, 2025
df774df
remove duplicate code
stefangutica Dec 17, 2025
375b47c
add new line
stefangutica Dec 17, 2025
6346420
encapsulate into variable
stefangutica Dec 17, 2025
d2f13c8
renaming
stefangutica Dec 17, 2025
3de2020
refactoring + skip unneeded iterations for duplicate keys
stefangutica Dec 17, 2025
308bdb2
explanation comments
stefangutica Dec 17, 2025
2bd7476
add unit test for disallowed field comb constraint
stefangutica Dec 17, 2025
f7c3c8d
Merge pull request #1578 from multiversx/transfers-ws-subscription
stefangutica Dec 17, 2025
29225a6
Merge branch 'development' into API-759-apply-no-filter-cache-for-acc…
stefangutica Dec 17, 2025
2bafe6a
fixes after review
cfaur09 Dec 18, 2025
6277753
add configurable broadcast interval
stefangutica Dec 19, 2025
1c0f6d2
add check keys present for transfers + events filtered
stefangutica Dec 19, 2025
9053064
remove async await
stefangutica Dec 19, 2025
0734a7a
fix
stefangutica Dec 19, 2025
073b6c2
fix nft attributes source
bogdan-rosianu Jan 8, 2026
cb7d4be
fix lint
bogdan-rosianu Jan 8, 2026
6d453e5
allow admins to trigger nft updates
bogdan-rosianu Jan 8, 2026
5b69e81
print
bogdan-rosianu Jan 8, 2026
dc044aa
revert log
bogdan-rosianu Jan 8, 2026
5f985ad
Merge pull request #1580 from multiversx/fix-nft-attributes-source
bogdan-rosianu Jan 9, 2026
256c4e2
Merge branch 'development' into API-759-apply-no-filter-cache-for-acc…
cfaur09 Jan 12, 2026
3124295
Merge pull request #1573 from multiversx/API-759-apply-no-filter-cach…
bogdan-rosianu Jan 12, 2026
8aa0423
Merge pull request #1579 from multiversx/custom-ws-broadcast-interval
bogdan-rosianu Jan 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@ It depends on the following optional external systems:
- events notifier rabbitmq: queue that pushes logs & events which are handled internally e.g. to trigger NFT media fetch
- data: provides EGLD price information for transactions
- xexchange: provides price information regarding various tokens listed on the xExchange
- nodes provider: fetch nodes data instead of self-computing (config: `features.nodesFetch`)
- staking providers fetcher: fetch staking providers data instead of self-computing (config: `features.providersFetch`)
- tokens provider: fetch tokens data instead of self-computing (config: `features.tokensFetch`)
- ipfs: ipfs gateway for fetching mainly NFT metadata & media files
- media: ipfs gateway which will be used as prefix for NFT media & metadata returned in the NFT details
- media internal: caching layer for ipfs data to fetch from a centralized system such as S3 for performance reasons
Expand Down
4 changes: 4 additions & 0 deletions config/config.devnet-old.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ features:
jwtSecret: ''
nodeEpochsLeft:
enabled: false
chainBarnard:
enabled: false
activationEpoch: 3964
activationTimestamp: 1751460236
image:
width: 600
height: 600
Expand Down
29 changes: 23 additions & 6 deletions config/config.devnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ features:
websocketSubscription:
enabled: false
port: 6002
maxSubscriptionsPerInstance: 10000
maxSubscriptionsPerClient: 10
broadcastIntervalMs: 6000
eventsNotifier:
enabled: false
port: 5674
Expand Down Expand Up @@ -54,7 +57,7 @@ features:
serviceUrl: 'https://devnet-data-api.multiversx.com'
assetsFetch:
enabled: true
assetesUrl: 'https://tools.multiversx.com/assets-cdn'
assetsUrl: 'https://tools.multiversx.com/assets-cdn'
auth:
enabled: false
maxExpirySeconds: 86400
Expand All @@ -64,12 +67,22 @@ features:
- ''
jwtSecret: ''
stakingV4:
enabled: false
enabled: true
cronExpression: '*/5 * * * * *'
activationEpoch: 1043
chainAndromeda:
enabled: true
activationEpoch: 4
stakingV5:
enabled: true
activationEpoch: 4817
chainBarnard:
enabled: true
activationEpoch: 3964
activationTimestamp: 1751460236
deprecatedRelayedV1V2:
enabled: true
activationEpoch: 4569
nodeEpochsLeft:
enabled: false
transactionProcessor:
Expand Down Expand Up @@ -110,13 +123,13 @@ features:
enabled: false
maxLookBehindNonces: 100
nodesFetch:
enabled: true
enabled: false
serviceUrl: 'https://devnet-api.multiversx.com'
tokensFetch:
enabled: true
enabled: false
serviceUrl: 'https://devnet-api.multiversx.com'
providersFetch:
enabled: true
enabled: false
serviceUrl: 'https://devnet-api.multiversx.com'
image:
width: 600
Expand Down Expand Up @@ -179,11 +192,15 @@ inflation:
- 1130177
- 924690
- 719203
stakingV5Inflation:
- 1069805
# november 2025 devnet supply: 24_433_152. first year rewards = 50% * (8.757% * supply) = 1_069_805
# TODO: calculate the inflation for upcoming years based on the inflation decay
nftProcess:
parallelism: 1
maxRetries: 3
compression:
enabled: true
level: 6
threshold: 1024
chunkSize: 16384
chunkSize: 16384
7 changes: 7 additions & 0 deletions config/config.e2e-mocked.mainnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ features:
websocketSubscription:
enabled: false
port: 6002
maxSubscriptionsPerInstance: 10000
maxSubscriptionsPerClient: 10
broadcastIntervalMs: 6000
dataApi:
enabled: false
serviceUrl: 'https://data-api.multiversx.com'
Expand All @@ -16,6 +19,10 @@ features:
maxExpirySeconds: 86400
acceptedOrigins:
- ''
chainBarnard:
enabled: true
activationEpoch: 1820
activationTimestamp: 1753376544
cron:
transactionProcessor: false
transactionProcessorMaxLookBehind: 1000
Expand Down
18 changes: 15 additions & 3 deletions config/config.e2e.mainnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,11 @@ flags:
collectionPropertiesFromGateway: false
features:
websocketSubscription:
enabled: false
enabled: true
port: 6002
maxSubscriptionsPerInstance: 10000
maxSubscriptionsPerClient: 10
broadcastIntervalMs: 6000
eventsNotifier:
enabled: false
port: 5674
Expand Down Expand Up @@ -68,6 +71,13 @@ features:
chainAndromeda:
enabled: true
activationEpoch: 4
stakingV5:
enabled: true
activationEpoch: 1951
chainBarnard:
enabled: true
activationEpoch: 1820
activationTimestamp: 1753376544
nodeEpochsLeft:
enabled: false
transactionProcessor:
Expand Down Expand Up @@ -121,7 +131,7 @@ features:
serviceUrl: 'https://api.multiversx.com'
assetsFetch:
enabled: false
assetesUrl: 'https://tools.multiversx.com/assets-cdn'
assetsUrl: 'https://tools.multiversx.com/assets-cdn'
image:
width: 600
height: 600
Expand Down Expand Up @@ -183,6 +193,8 @@ inflation:
- 1130177
- 924690
- 719203
stakingV5Inflation:
- 1262802
nftProcess:
parallelism: 1
maxRetries: 3
maxRetries: 3
25 changes: 21 additions & 4 deletions config/config.mainnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ features:
websocketSubscription:
enabled: false
port: 6002
maxSubscriptionsPerInstance: 10000
maxSubscriptionsPerClient: 10
broadcastIntervalMs: 6000
eventsNotifier:
enabled: false
port: 5674
Expand Down Expand Up @@ -68,6 +71,16 @@ features:
chainAndromeda:
enabled: true
activationEpoch: 1763
stakingV5:
enabled: true
activationEpoch: 1951
chainBarnard:
enabled: true
activationEpoch: 1820
activationTimestamp: 1753376544
deprecatedRelayedV1V2:
enabled: true
activationEpoch: 1918
nodeEpochsLeft:
enabled: false
transactionProcessor:
Expand Down Expand Up @@ -111,17 +124,17 @@ features:
enabled: false
maxLookBehindNonces: 100
nodesFetch:
enabled: true
enabled: false
serviceUrl: 'https://api.multiversx.com'
tokensFetch:
enabled: true
enabled: false
serviceUrl: 'https://api.multiversx.com'
providersFetch:
enabled: true
enabled: false
serviceUrl: 'https://api.multiversx.com'
assetsFetch:
enabled: true
assetesUrl: 'https://tools.multiversx.com/assets-cdn'
assetsUrl: 'https://tools.multiversx.com/assets-cdn'
image:
width: 600
height: 600
Expand Down Expand Up @@ -183,6 +196,10 @@ inflation:
- 1130177
- 924690
- 719203
stakingV5Inflation:
- 1262802
# december 2025 mainnet supply: 28_840_981. first year rewards = 50% * (8.75% * supply) = 1262802
# TODO: calculate the inflation for upcoming years based on the inflation decay
nftProcess:
parallelism: 1
maxRetries: 3
Expand Down
27 changes: 22 additions & 5 deletions config/config.testnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ features:
websocketSubscription:
enabled: false
port: 6002
maxSubscriptionsPerInstance: 10000
maxSubscriptionsPerClient: 10
broadcastIntervalMs: 6000
eventsNotifier:
enabled: false
port: 5674
Expand Down Expand Up @@ -61,12 +64,22 @@ features:
- ''
jwtSecret: ''
stakingV4:
enabled: false
enabled: true
cronExpression: '*/5 * * * * *'
activationEpoch: 1043
chainAndromeda:
enabled: true
activationEpoch: 4
stakingV5:
enabled: true
activationEpoch: 2519
chainBarnard:
enabled: false
activationEpoch: 2030
activationTimestamp: 1864749472
deprecatedRelayedV1V2:
enabled: true
activationEpoch: 2038
nodeEpochsLeft:
enabled: false
transactionProcessor:
Expand Down Expand Up @@ -110,17 +123,17 @@ features:
enabled: false
maxLookBehindNonces: 100
nodesFetch:
enabled: true
enabled: false
serviceUrl: 'https://testnet-api.multiversx.com'
tokensFetch:
enabled: true
enabled: false
serviceUrl: 'https://testnet-api.multiversx.com'
providersFetch:
enabled: true
enabled: false
serviceUrl: 'https://testnet-api.multiversx.com'
assetsFetch:
enabled: true
assetesUrl: 'https://tools.multiversx.com/assets-cdn'
assetsUrl: 'https://tools.multiversx.com/assets-cdn'
image:
width: 600
height: 600
Expand Down Expand Up @@ -182,6 +195,10 @@ inflation:
- 1130177
- 924690
- 719203
stakingV5Inflation:
- 930117
# november 2025 testnet supply: 21_242_828. first year rewards = 50% * (8.75% * supply) = 930117
# TODO: calculate the inflation for upcoming years based on the inflation decay
nftProcess:
parallelism: 1
maxRetries: 3
Expand Down
10 changes: 10 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@
"anchorme": "^3.0.8",
"apollo-server-core": "^3.13.0",
"apollo-server-express": "3.13.0",
"async-mutex": "^0.5.0",
"bignumber.js": "^9.0.2",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.2",
Expand Down Expand Up @@ -220,4 +221,4 @@
"node_modules"
]
}
}
}
Loading