Releases: multiversx/mx-api-service
v1.3.0
What's Changed
Exciting New Features 🎉
- add support for transaction process status by @cfaur09 in #1091
- include price for Hatom tokens by @cfaur09 in #1100
- Apply ticker for contract address tokens by @tanghel in #1102
- add partial active state case by @cfaur09 in #1103
- Support for partially active mex pairs by @tanghel in #1104
- apply marketCap for Hatom tokens by @cfaur09 in #1105
- add operation search for transfers and add processTransaction by @cfaur09 in #1108
- add withLatestInfo parameter by @cfaur09 in #1110
- fetch numNodes using vmquery by @cfaur09 in #1111
- add support for token accounts assets by @cfaur09 in #1114
- add complexity to withLatestInfo filter by @cfaur09 in #1112
- add support for notStaked nodes and add support for multiple keys filter by @cfaur09 in #1084
- take token name from assets if exist by @cfaur09 in #1116
- add denominated supply by @cfaur09 in #1101
- add support for guardian info in username controller by @cfaur09 in #1118
- Add function attribute to smart contract results by @tanghel in #1119
- add recognizer for ESDTNFTBurn transaction by @cfaur09 in #1121
- add token timestamp by @cfaur09 in #1120
- add token value key for ESDTNFTBurn transaction by @cfaur09 in #1122
- add devnet2 configuration by @cfaur09 in #1123
- add token identifier into esdnft burn transaction action by @cfaur09 in #1128
- add support for dynamic pairLimit by @cfaur09 in #1137
- add support for codeHash for each contract upgrade by @cfaur09 in #1135
- add support for identifiers validation pipe by @cfaur09 in #1132
- add support for events topics by @cfaur09 in #1131
- transactions relayed v2 filter by @cfaur09 in #1107
- Sovereign chain support by @tanghel in #1138
- add devnet-old by @cfaur09 in #1142
- change lightwayGateway into snapshotlessGateway by @cfaur09 in #1148
- add support for account keys status filter by @cfaur09 in #1139
Bugfixes 🐛
- Event topics handle undefined by @tanghel in #1094
- Trim NFT url when hashing by @tanghel in #1099
- update API with latest sdk-nestjs version by @cfaur09 in #1125
- handle null address for ESDTRoleBurnForAll by @cfaur09 in #1136
- Node sync progress fixes by @tanghel in #1150
Other Notable Changes
- add hashes api query description by @cfaur09 in #1093
- add new test file for transactions batch by @cfaur09 in #1090
- remove withProcessStatus for transaction details by @cfaur09 in #1096
- Node status leaving fix by @tanghel in #1097
- handle situation when hex string is empty by @cfaur09 in #1115
- Removed getTotalActiveStake vm query by @tanghel in #1124
- add isSmartContract filter to be able to return a list of smart contr… by @cfaur09 in #1126
- Raw token image if not standard network by @tanghel in #1127
- Economics refactoring by @tanghel in #1129
- remove api urls servers config by @cfaur09 in #1130
- remove skipped tests by @cfaur09 in #1117
- update delegation contract by @cfaur09 in #1143
- update eGLD to EGLD token label by @cfaur09 in #1146
- avoid magic numbers for metaChainShardId by @cfaur09 in #1149
Full Changelog: v1.2.0...v1.3.0
v1.2.0-hf2
v1.2.0-hf1
v1.2.0
What's Changed
Exciting New Features 🎉
- Return prices for experimental DEX tokens by @tanghel in #1089
- add support for automaticActivation and checkCapOnRedelegate for providers by @cfaur09 in #1085
- add support for operation search by @cfaur09 in #1088
Bugfixes 🐛
- Node status leaving fix by @tanghel in #1082
- Account token identifier fix if smart contract by @tanghel in #1083
- fix required fields by @cfaur09 in #1086
- add check for undefined transaction by @cfaur09 in #1092
Full Changelog: v1.1.0...v1.2.0
v1.1.0
What's Changed
Exciting New Features 🎉
-
Merge elrond caching service with caching service by @florincoz in #1024
-
JWT or native auth for cache controllers by @tanghel in #976
-
add before and after query params for accounts history by @cfaur09 in #988
-
Provide token collection in account tokens endpoints if MetaESDT by @tanghel in #992
-
Provide token nonce in account tokens endpoints if meta esdt by @tanghel in #994
-
support for extra block info for transactions endpoint by @cfaur09 in #995
-
add block info fields when withBlockInfo = false by @cfaur09 in #996
-
add metrics for inter cluster checks by @florincoz in #1004
-
Account token history by collection / nft by @tanghel in #1009
-
Fetch token prices from data-api by @gabrielmatei in #1019
-
Latest block endpoint by @dragos-rebegea in #1025
-
support for guardian data in transaction details by @cfaur09 in #1037
-
Elasticsearch fallback when trie timeout by @tanghel in #1042
-
support for egld token filter in transfers endpoint by @cfaur09 in #1047
-
Owner invalidation in case of makeNewContractFromValidatorData function by @tanghel in #1048
-
support for invalid block in miniblocks type filter by @cfaur09 in #1057
-
Support for guardian in transaction batch endpoint by @tanghel in #1065
-
if address is staking provider, return owner from provider details by @cfaur09 in #1068
-
add support for remainingUnbondPeriod for account keys by @cfaur09 in #1079
-
Collection name fallback in transaction operation by @tanghel in #1081
Bugfixes 🐛
- fix required fields for upgrades endpoint by @cfaur09 in #977
- Update SDK Nestjs to latest version by @tanghel in #986
- Count token accounts in chunks by @tanghel in #993
- handle situations where token properties can be null by @tanghel in #999
- Delegation shard by @gfusee in #1002
- Fix WEGLD in mex tokens endpoint by @tanghel in #1008
- Search by proper field in accountsesdthistory index by @tanghel in #1010
- Fix account stake endpoint crash by @tanghel in #1012
- Improve ttl for extended attributes activation nonce by @tanghel in #1023
- Changed cache key for identity profile by @tanghel in #1030
- update swagger account endpoint by @cfaur09 in #1031
- add support for function filter on tokens transfers route by @cfaur09 in #1033
- Case insensitive search for collections by @tanghel in #1036
- ffmpeg generate waveform from audio file handle error by @tanghel in #1044
- Trim url when generating thumbnail by @tanghel in #1046
- Expose Websocket port only on public api instances by @tanghel in #1054
- Handle vm query error for getMetaData function by @tanghel in #1064
- fix winston imports by @florincoz in #1066
- When topUp is 0, topUpReturn = 0 by @cfaur09 in #1067
- return empty array if no upgrades are available for address by @cfaur09 in #1074
- Fix account token identifier if fetched from ElasticSearch by @tanghel in #1070
- Fix account transfers sender receiver by @CristianFodor in #1071
Other Notable Changes
- fix performance issue for auctions endpoint by @cfaur09 in #978
- fix transactions tests by @cfaur09 in #997
- update unit tests by @cfaur09 in #1032
- update token service tests by @cfaur09 in #1035
- update node service unit tests by @cfaur09 in #1039
- Small performance improvement by @CristianFodor in #1040
- split into multiple packages by @florincoz in #1049
- update miniblock unit test by @cfaur09 in #1060
- update unit tests by @cfaur09 in #1063
- Updated sdk nestjs by @tanghel in #1069
- add persistence unit tests by @cfaur09 in #1073
- add github service specs by @cfaur09 in #1075
- sort upgrades descending by timestamp by @cfaur09 in #1076
New Contributors
- @gfusee made their first contribution in #1001
- @dragos-rebegea made their first contribution in #1025
Config adjustments
Data API price fetching
Instead of relying on a plugin functionality, we fetch now the price information from the publicly available data API: https://data-api.multiversx.com
In this way, the integrators can safely fetch the price instead of implementing their own price fetcher.
features:
dataApi:
enabled: true
serviceUrl: 'https://data-api.multiversx.com'
Collection / token properties f...
v1.0.3-hf3
v1.0.3-hf2
v1.0.3-hf1
v1.0.3
What's Changed
Breaking Changes 🛠
Exciting New Features 🎉
- Show transaction prices by @gabrielmatei in #890
- integrate guest caching by @florincoz in #911
- account auctions endpoint by @CatalinFaurPaul in #892
- Integrate native auth v1 by @tanghel in #970
- Extract all token details from ES instead of performing vm queries on gateway by @tanghel in #957
- add unlock epoch for xmex by @florincoz in #926
- keybase lookup folder multiversx alongside elrond by @CatalinFaurPaul in #931
- account interactions with one address by @AlexandruPislariu in #932
- api status checker by @CatalinFaurPaul in #848
- update graphql service by @CatalinFaurPaul in #866
- Store keybase validations in database by @gabrielmatei in #872
- Auth setting allow native auth tokens by @tanghel in #934
- Hot swappable settings by @gabrielmatei in #874
- add owner attribute for providers by @CatalinFaurPaul in #936
- type safe interactions with gateway by @CatalinFaurPaul in #877
- change xexchange url in configs by @CatalinFaurPaul in #940
- Refresh token & account assets every 10 minutes by @tanghel in #941
- node sync progress percentage by @CatalinFaurPaul in #893
- explorer statistics next steps by @CatalinFaurPaul in #896
- add options to TransactionCreate by @mihaieremia in #901
- Use Lock decorator by @gabrielmatei in #899
- Integrate new indexer mappings by @tanghel in #947
- Add verification endpoint and isVerified attribute for smart contracts by @florincoz in #945
- Add support for multiPairSwap in transaction action by @florincoz in #929
- add nft name instead of collection name in transaction operation by @CatalinFaurPaul in #948
- change default nft rarity algorithm to openRarity by @johnykes in #950
- Stats endpoint real transactions by @tanghel in #953
- add deployTxHash attribute by @CatalinFaurPaul in #915
- Collection extra fields by @tanghel in #949
- include canAddSpecialRoles attribute in token response body by @CatalinFaurPaul in #921
- add provider missing fields from delegation api by @CatalinFaurPaul in #939
- Decorators for extracting performance metrics when performing db interactions by @florincoz in #886
- add supply to any non fungible esdt by @CatalinFaurPaul in #964
- apply supply also to NFTs and SFTs by @CatalinFaurPaul in #966
- Feature flag for exchange service by @tanghel in #971
- Proxify guardian data endpoint by @tanghel in #973
Bugfixes 🐛
- Handle Inactive node status by @tanghel in #918
- Account collection roles endpoint return also where owner by @tanghel in #919
- Token assets TTL fix by @tanghel in #922
- Fix XMEX / LKMEX decoding error by @tanghel in #938
- transaction operations field should select logs results by @CatalinFaurPaul in #905
- fix EGLD price ttl issue by @gabrielmatei in #942
- Fix account NFTs type filter by @tanghel in #944
- fix undefined price redis error by @gabrielmatei in #946
- Invalidate cache on
transferOwnership
event by @gabrielmatei in #912 - add function filter to transfers endpoint by @CatalinFaurPaul in #952
- fix provider extra fields by @CatalinFaurPaul in #962
- Use light gateway for VM queries by @tanghel in #963
- Handle economics attribute filter bug by @tanghel in #969
- nft marketplace auctions endpoint refactoring by @CatalinFaurPaul in #968
Other Notable Changes
- change code of conduct contact address by @CatalinFaurPaul in #925
- add codecov specific version by @CatalinFaurPaul in #895
- Upgrade @multiversx/sdk-nestjs by @AlexandruPislariu in #956
- update simple-git version by @CatalinFaurPaul in #961
Config adjustments
We have started a process of gradually migrating optional values from the config inside the features
element, to be able to keep the feature-related functionality together and to bring more consistency, especially with regard to explicitly activating / deactivating the feature using the enabled
attribute, as well as supporting extra parameters.
Exchange service feature
Implemented in PR #971
A backwards compatible feature that moves the enabling of the flag outside the plugins
section and inside the features
section
old:
plugins:
transaction-action:
mex:
microServiceUrl: 'https://graph.xexchange.com/graphql'
new:
features:
exchange:
enabled: true
serviceUrl: 'https://graph.xexchange.com/graphql'
Auth feature
Implemented in PR #970
A backwards compatible feature that groups the authentication-related functionality together inside the features
section. Added extra support for maxExpirySeconds
and acceptedOrigins
attributes, needed for the native auth implementation
old:
api:
auth: true
security:
admins:
- 'erd1...'
jwtSecret: '12345'
new:
features:
auth:
enabled: false
maxExpirySeconds: 86400
acceptedOrigins:
- 'https://xexchange.com'
admins:
- 'erd1...'
jwtSecret: '12345'
Guest caching feature
Implemented in PR #911
When activated, will proactively cache the results of certain endpoints if the number of api calls exceeds a specified threshold
features:
guestCaching:
enabled: false
hitsThreshold: 100
ttl: 12
Update collection extra details feature
Implemented in PR #949
When activated, will add extra attributes for collections in Elasticsearch, allowing a better sorting capability for collections by assets, holders, no. of nfts
features:
updateCollectionExtraDetails:
enabled: false
Marketplace feature
Implemented in PRs #892 and #968
When activated, the API will expose extra endpoints for extracting auction-related information globall, for a specific address or for a specific collection
features:
marketplace:
enabled: false
serviceUrl: 'https://nfts-graph.multiversx.com/graphql'
Self url
Implemented as part of the guest caching feature but can be used by other components as well. Defines a url that points to the service itself, allowing functionality such as guest caching to perform API calls towards the service itself.
Note: if the API is authenticated, the self requests will fail. This url must point to a non-authenticated api instance
urls:
self: 'https://api.multiversx.com'
Verifier url
Implemented in PR #945
If specified, verification information such as the source code that generated the bytecode behind a smart contract can be returned via API endpoints.
urls:
verifier: 'https://play-api.multiversx.com'
New Contributors
**Fu...
v1.0.2-hf1
What's Changed
Hotfixes 🔥
- rebrand api labels to multiversx by @CatalinFaurPaul in #928
Full Changelog: v1.0.2...v1.0.2-hf1