All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
The stable General Availability release, also known as EAv2.
From this point on external adapters will manage their own versions and changelogs. Docker images for each EA will be published under a tag with its own semantic version.
docker pull public.ecr.aws/chainlink/adapters/1forge-adapter:1.0.0
RC.2 through RC.7 details are summarized below:
This release marks the fruition of our recent External Adapter efficiency efforts.
For more details see the public node operator guide here.
-
New performance improving middleware to the core EA framework:
- Cache-warming
- Rate-limiting
- Websockets
-
Metrics support
-
Added support for EOD close prices on Finage, IEX Cloud, Twelvedata, Tiingo and Unibit
-
New adapters:
expert-car-brokerto get car pricesbinanceto get binance market datasportsdataioto get sports data from sportsdata.iovesperto get TVL from Vesperlinear-financeto calculate indexes for Linear Finance
- Conflux adapter sending transaction optimization
- Improved time resolution from days to seconds and smooth-out the effect of added strikes for
crypto-volatility-indexadapter - Added a per-provider ratelimit reference
- Added Prometheus metrics
tradingeconomicswill now get stream data from TradingEconomics using a persistent WS connectionmakecommands are now TypeScript files that can be run through yarn scripts
- Removed custom
tradingeconomics-streamas WS support is not included intotradingeconomicsadapter - Removed serverless support (AWS Lambda & GPC Functions).
- New adapters:
agoricto push results to the Agoric blockchaintherundownto get sports score data from TheRundowntradingeconomics-streamto get stream data from TradingEconomicsblockstreamto get Bitcoin height and difficulty
- Basic prometheus metrics endpoint
- Remaining non-2-step adapters migrated to TS
- Updated support for
DIGG/BTCin Kaiko and Amberdata - Updated base URL for GeoDB
- CMC now uses preset IDs instead of preset slugs
- Added support for
tradermadeinoutlier-detectioncomposite adapter - Added support for
overridesparam in price adapters - Improved time resolution from days to seconds and smooth-out the effect of added strikes for
crypto-volatility-indexadapter
-
New adapters:
confluxto send conflux chain transactionxbtoto get BRN quotesiv-outlier-detectionto get IV values with outlier detectiontaapito get Trading Analysis datastasisto get Circulating Supply of EURSdefi-pulseto calculate an accurate price for the Defi Pulse Indexfinageto get Financial data from finage.co.ukcoincodexto get crypto prices from CoinCodexcoinrankingto get crypto prices from Coinrankingcrypto-volatility-indexto calculate the CVI (Crypto volatility index)btc.comto get on-chain balances from BTC.comsochainto get on-chain balances from SoChaindns-queryto query DNS over HTTPSdns-record-checkto check whether some record provided exists on DNSpaxosto get Paxos asset supply attestationsoutlier-detection: composite adapter to check for outlier values between multiple sets of data providersdydx-starkto sign the input price data with your private STARK key, and send it to the destination endpoint.apy-financeto calculate the TVL in APY Financetoken-allocationcomposite adapter to calculate the total price from a set of tokensbitcoin-json-rpc: composite adapter for querying bitcoin blockchain stats(difficulty, height) according to the existing conventioniex-cloudto get stock and crypto market data from IEX Cloudcfbenchmarksto get crypto benchmarks and indicesdxfeed-secondaryto handle secondary mappings for the TSLA symbolharmonyto write transactions to the Harmony blockchaintiingoto get end-of-day stock price data from Tiingogeodbto get location data from GeoDB
-
Added support for metadata in requests. This gives adapters access to the FM on-chain round state.
-
Moves re-usable test behaviors & testing utils to a new package -
@chainlink/adapter-test-helpers -
Added support for using query string parameters as input to adapters.
-
Add a package re-usable adapter factory implementations to -
@chainlink/ea-factories -
Added support for using multiple API Keys per-adapter
- CMC adapter price query fixed for currencies where multiple currencies have the same symbol
- Oilprice adapters now accept a common request for Brent crude oil:
{"market":"brent"} - Market closure is now a composite adapter, and now follows the build instructions for composite adapters. Market now also supports using metadata.
- Coinlore now accepts an optional environment variable to set the default API endpoint
- Migrates @chainlink/ea-bootstrap and @chainlink/external-adapter packages to TS.
- Updates the following adapters with a second endpoint for getting an account's on-chain balance
amberdatablockchaircryptoapis
- dxFeed now uses OTC feeds for FTSE and N225, rather than licensed data feeds
- Migrated to Typescript
kaikomarketstackmetalsapinikkeipoa-gaspricepolygonnomicsopenexchangeratescoinmarketcap
synth-indexadapter is now a composite adapter. Going forward there is only one instance ofsynth-indexadapter built, one that you configure with the underlying data provider you wish to use.- Removed
google-finance
- WTI Outlier detection and IV Outlier detection adapters are now covered in the Outlier detection composite adapter
- Cache key generator now ignores
'meta'metadata as default setting
- New adapters:
linkpoolto get ICE futures quotesonchainto get ICE futures quoteslcxto get BTC and ETH prices in USD or EUR
- Local in-memory cache got broken in the last release, and was reinitialized on every request.
amberdataadapter wasn't responding for some assets because they don't make cross-rates by default. Cross-rates are now included which enables this adapter to support markets likeBNB/USD, not just the actualBNB/USDT.
- Caching improvements:
- Request coalescing support to mitigate the issue of requests for data coming in bursts and missing the cache.
- Remote cache (Redis/ElastiCache) support, with adapter key grouping, to enable more efficient serverless deployments.
- Support for composite adapters:
composite/proof-of-reservesadapter combines multiple adapters to find total balance in custody for wBTC or renBTC protocols.
- New adapters:
wbtc-address-setto query wBTC custody address set.renvm-address-setto query renVM protocol custody address set.blockchain.comto fetch balances for a set of Bitcoin addresses.blockcypherto fetch balances for a set of Bitcoin addresses.reduceto reduce an array to a result. Different reducers are supported like:sum,product,average,median,min&max.trueusdto query supply and issuance data for TrueUSD.cryptoidto get chain difficulty measurement from different networks.blockchairto get chain difficulty measurement from different networks.bitsoto get last 24 hours volume weighted average price (vwap) for multiple markets.cryptomktto get last transaction price for multiple markets.satoshitangoto get last bid price for multiple markets.bitexto get volume weighted average price (vwap) for multiple markets.orchid-bandwidthto get available bandwidth from Chainlink as service provider.genesis-volatilityto get implied volatility of an asset.covid-trackerto query COVID-19 statistics.litionto query the price in Euros per MWh for Lition.coinloreto query the Bitcoin market dominance and market capitalization.messarito query the Bitcoin market dominance.
- Improved logs.
- Prettier logs in development environment.
- Replaced
alphavantage-sdrwithalphachainadapter
- CHANGELOG.md (this file), to keep track of changes between releases
- Gas adapters (
amberdata-gasprice,anyblock-gasprice,etherchain,ethgasstation&poa-gasprice) now do not requirespeedparam on input, but will use a sensible default.
- Kaiko adapter endpoint fix
Initial external adapter release!