Breaking changes
Removed search parameter for everything transaction & transfer-related
Because the search
parameter in transactions
or transfers
endpoint uses the wildcard condition, it does not benefit of elasticsearch's indexing feature, making the search very inefficient, thus allowing the resources of the ES to be easily drained... in consequence we removed the search
parameter.
New Features
Show transaction prices #890
Besides value, a USD price would be very helpful to be attached to the transaction operations, so that in situations like metabonding claim rewards, a total USD value of the claimed rewards can be estimated. Therefore we:
- removed dependency to
data.elrond.com
- use the plugin to extract token prices, which internally fetches historical price information.
- ESDT prices are supported only for the tokens listed on xExchange and Jungle DEX
Integrate guest caching #911
We've integrated guest caching from sdk-nestjs
because it is a powerful feature that allows proactive caching of certain endpoints that are in high usage.
Account actions endpoint #892
Since the marketplace service plays a central role in aggregating auctions from various marketplaces, a logical next step is to provide this information in a unified way inside the REST API. So that's why we added support for some of the endpoints available in the marketplace service, which as used on https://xspotlight.com.
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:
Unknown block type "codeSnippet", specify a component for it in the `components.types` option
New:
Unknown block type "codeSnippet", specify a component for it in the `components.types` option
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:
Unknown block type "codeSnippet", specify a component for it in the `components.types` option
New:
Unknown block type "codeSnippet", specify a component for it in the `components.types` option
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
Unknown block type "codeSnippet", specify a component for it in the `components.types` option
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, number of NFTs
Unknown block type "codeSnippet", specify a component for it in the `components.types` option
Marketplace feature
Implemented in PRs #892 and #968
When activated, the API will expose extra endpoints for extracting auction-related information global, for a specific address or for a specific collection
Unknown block type "codeSnippet", specify a component for it in the `components.types` option
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
Unknown block type "codeSnippet", specify a component for it in the `components.types` option
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.
Unknown block type "codeSnippet", specify a component for it in the `components.types` option
Full Github Link: https://github.com/multiversx/mx-api-service/releases/tag/v1.0.3
We'd like to invite you joining us on Discord, where you can connect with other builders and developers, stay up-to-date on all things happening behind the scenes, and receive support from the community.