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-broker
to get car pricesbinance
to get binance market datasportsdataio
to get sports data from sportsdata.iovesper
to get TVL from Vesperlinear-finance
to 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-index
adapter - Added a per-provider ratelimit reference
- Added Prometheus metrics
tradingeconomics
will now get stream data from TradingEconomics using a persistent WS connectionmake
commands are now TypeScript files that can be run through yarn scripts
- Removed custom
tradingeconomics-stream
as WS support is not included intotradingeconomics
adapter - Removed serverless support (AWS Lambda & GPC Functions).
- New adapters:
agoric
to push results to the Agoric blockchaintherundown
to get sports score data from TheRundowntradingeconomics-stream
to get stream data from TradingEconomicsblockstream
to get Bitcoin height and difficulty
- Basic prometheus metrics endpoint
- Remaining non-2-step adapters migrated to TS
- Updated support for
DIGG/BTC
in Kaiko and Amberdata - Updated base URL for GeoDB
- CMC now uses preset IDs instead of preset slugs
- Added support for
tradermade
inoutlier-detection
composite adapter - Added support for
overrides
param in price adapters - Improved time resolution from days to seconds and smooth-out the effect of added strikes for
crypto-volatility-index
adapter
-
New adapters:
conflux
to send conflux chain transactionxbto
to get BRN quotesiv-outlier-detection
to get IV values with outlier detectiontaapi
to get Trading Analysis datastasis
to get Circulating Supply of EURSdefi-pulse
to calculate an accurate price for the Defi Pulse Indexfinage
to get Financial data from finage.co.ukcoincodex
to get crypto prices from CoinCodexcoinranking
to get crypto prices from Coinrankingcrypto-volatility-index
to calculate the CVI (Crypto volatility index)btc.com
to get on-chain balances from BTC.comsochain
to get on-chain balances from SoChaindns-query
to query DNS over HTTPSdns-record-check
to check whether some record provided exists on DNSpaxos
to get Paxos asset supply attestationsoutlier-detection
: composite adapter to check for outlier values between multiple sets of data providersdydx-stark
to sign the input price data with your private STARK key, and send it to the destination endpoint.apy-finance
to calculate the TVL in APY Financetoken-allocation
composite 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-cloud
to get stock and crypto market data from IEX Cloudcfbenchmarks
to get crypto benchmarks and indicesdxfeed-secondary
to handle secondary mappings for the TSLA symbolharmony
to write transactions to the Harmony blockchaintiingo
to get end-of-day stock price data from Tiingogeodb
to 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
amberdata
blockchair
cryptoapis
- dxFeed now uses OTC feeds for FTSE and N225, rather than licensed data feeds
- Migrated to Typescript
kaiko
marketstack
metalsapi
nikkei
poa-gasprice
polygon
nomics
openexchangerates
coinmarketcap
synth-index
adapter is now a composite adapter. Going forward there is only one instance ofsynth-index
adapter 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:
linkpool
to get ICE futures quotesonchain
to get ICE futures quoteslcx
to 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.
amberdata
adapter 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-reserves
adapter combines multiple adapters to find total balance in custody for wBTC or renBTC protocols.
- New adapters:
wbtc-address-set
to query wBTC custody address set.renvm-address-set
to query renVM protocol custody address set.blockchain.com
to fetch balances for a set of Bitcoin addresses.blockcypher
to fetch balances for a set of Bitcoin addresses.reduce
to reduce an array to a result. Different reducers are supported like:sum
,product
,average
,median
,min
&max
.trueusd
to query supply and issuance data for TrueUSD.cryptoid
to get chain difficulty measurement from different networks.blockchair
to get chain difficulty measurement from different networks.bitso
to get last 24 hours volume weighted average price (vwap) for multiple markets.cryptomkt
to get last transaction price for multiple markets.satoshitango
to get last bid price for multiple markets.bitex
to get volume weighted average price (vwap) for multiple markets.orchid-bandwidth
to get available bandwidth from Chainlink as service provider.genesis-volatility
to get implied volatility of an asset.covid-tracker
to query COVID-19 statistics.lition
to query the price in Euros per MWh for Lition.coinlore
to query the Bitcoin market dominance and market capitalization.messari
to query the Bitcoin market dominance.
- Improved logs.
- Prettier logs in development environment.
- Replaced
alphavantage-sdr
withalphachain
adapter
- CHANGELOG.md (this file), to keep track of changes between releases
- Gas adapters (
amberdata-gasprice
,anyblock-gasprice
,etherchain
,ethgasstation
&poa-gasprice
) now do not requirespeed
param on input, but will use a sensible default.
- Kaiko adapter endpoint fix
Initial external adapter release!