- added: Add Unizen DEX
- added: Add SUI unique IDs
- changed: Upgrade Swapkit to v2 API
- changed: (SwapKit) Use
data
provided by quote endpoint instead of encoding it locally - fixed: Incorrect date timestamp for 0xGasless transactions.
- fixed: Rango amount metadata
- added: (Rango) Add Solana support
- added: (Lifi) Add RSK
- added: (SwapKit) Add Binance Smart Chain
- changed: Prevent Polygon USDC/USDC.e trading on CEX partners that don't support contract addresses
- added: (Exolix) Support Zcash buys
- changed: Add dynamic whitelisting to changehero, changenow, letsexchange, and sideshift plugins
- changed: Upgrade edge-core-js
- changed: Rename Thorchain DEX Aggregator to SwapKit
- added: Add TON unique IDs to swap partners
- changed: Use new info server variable for thornode server urls with chain name included
- fixed: Use unique info server cache for each Thorchain-based plugin
- added: 0xGasless swap fee
- added: (LI.FI) Added unique parent contract addresses
- fixed: Division precision for Thorchain
toExchangeAmount
- fixed: POL currency code transcriptions for
letsexchange
andchangenow
- fixed: POL currency code transcriptions for
letsexchange
andchangenow
- added: Add Maya Protocol
- changed: Separate thorchain and thorchainda initOptions and exchangeInfo cleaner
- added:
minReceiveAmount
passed inEdgeSwapQuotes
for lifi and rango
- fixed: Implemented max quotes for 0xGasless swap plugin
- fixed: Thorchain swap error caused by failing cleaner
- changed: Cap Exolix to 70k USD swaps
- fixed: Set avoidNativeFee on Rango to fix bridge failures
- fixed: Rango failed transactions
- added: 0x Gasless Swap plugin
- fixed: Rango failed transactions
- added: (Lifi) Add Solana
- added: Rango Exchange DEX aggregator
- changed: Return txid as orderId for DEX swaps when calling
approve()
- changed: Standardize DEX quotes to 5% slippage and estimate quote
- added: (Exolix) Add Piratechain
- added: (Velodrome) Check both v1 and v2 routers for best swap
- added: Special case Ripple and Stellar memo types
- added: Login info to testconfig for testpartners.ts
- changed: Change Lifi and Thorchain DA to use variable quotes
- fixed: Memo handling by DEX plugins
- fixed: Letsexchange orderUri
- fixed: Use proper
EdgeMemo
API onEdgeSpendInfo
- added: Support Cardano (ADA)
- changed: (Cosmos IBC) Limit swaps to like-kind assets
- changed: (Cosmos IBC) Validate send/receive address
- added: Cosmos IBC transfer plugin
- added: (Swapuz) Above limit response handling
- added: (ChangeNow) AVAX special mainnet case
- fixed: (Exolix) Correctly handle below limit errors for 'from' quotes
- fixed: (Godex/Swapuz) Fix conversion to native units
- added: Mainnet codes for Arbitrum, Axelar, Base, and Cosmos Hub
- changed: (CEX) Only allow quotes with known mainnet network codes
- fixed: Do not crash at load time if
BigInt
is not present.
- fixed: Error when swapping from tokens
- fixed: Fix parent asset Lifi swaps to use 0x000.. contract address
- fixed: Network fee transaction tagging
- fixed: Max swap of tokens with Lifi
- fixed: Properly set tokenId and currencyCode for makeTx transactions
- changed: Use core 2.0 types. Requires edge-core-js >2.0.0
- added: Support Pulsechain through ChangeNow
- added: Support BSC for Thorchain swaps
- fixed: Max swap when sending RUNE on Thorchain
- fixed: Return proper min amount error with Thorchain
- added: RUNE support for Thorchain swaps
- changed: Block Polygon USDC/USDC.e trading and fix codes, where necessary
- changed: (Godex) Block Zcash trading since they can't handle Unified Addresses
- fixed: Use appropriate send amount in spend targets for Uniswap-based providers
- fixed: XRP DEX swap error due to excessive decimals
- fixed: Check max spendable amount of source wallet in xrpdex quote
- fixed: Thorswap to use new server and apikey
- fixed: Properly report Thorchain quotes as isEstimate
- changed: Simplify our React Native integration.
- removed: Delete all rate plugins.
- changed: Thorchain quotes to estimate rate
- added: Enable Zcash receiving on Godex
- changed: Restrict ChangeHero trading to whitelisted plugins
- changed: Replace deprecated currency codes in
SwapCurrencyError
with requests
- changed: Throw
SwapCurrencyError
if Uniswap-based defi swap providers return zero foramountToSwap
orexpectedAmountOut
- fixed: Fix incorrect wrapped mainnet address in defi swaps
- changed: Update getInOutTokenAddresses to use EdgeTokens so it can be used for any token
- changed: Block VELO trading from providers that rely on
currencyCode
- changed: Add
fantom
pluginId check to spookySwap and tombSwap
- changed: Move EVM data from spendTarget
otherParams
tomemo
- fixed: `gasLimit`` param typo
- fixed: Fix 'to' quotes in Thorchain using incorrect denomination
- fixed: Uniswap plugin uses backup gasLimit in case estimateGas fails
- fixed: Thorchain failed quotes from ETH>BTC
- changed: Use RPC gas estimates for Uniswap plugin
- Fixed: Separate Thorchain volatility spreads between streaming and non-streaming
- Added: Thorchain streaming swaps
- Fixed: XRP DEX max swaps
- Fixed: LI.FI on-chain transactions no longer revert due to missing bridge fees
- added: XRP DEX support (Requires minimum of edge-currency-accountbased 1.5.0)
- Use
EdgeIo.fetchCors
for all requests
- Swapuz/LetsExchange: Disable MATH
- Fixed: Increased gas limit by 40% for all chains for LI.FI
- Fixed: Fix swapuz refund address
- Fixed: Prevent Thorchain swaps that would receive negative amount
- Changed: Update exolix to v2 api
- Lifi: Fix passing gasLimit as a float
- Fixed: Fix zkSync mainnet code transcription for LetsExchange.
- Fixed: Disable zkSync explicitly for Swapuz.
- Fixed: Lifi gasLimit calculation for ETH
- Changed: Transcribe zkSync mainnet code to ZKSYNC
- added: Add Velodrome DEX exchange
- Lifi: Use built-in gas limit estimator for Ethereum transactions and not Lifi's
- Lifi: Allow gas price lower than 1 gwei
- LetsExchange: Audit and add special case mainnet codes
- added: Add LI.FI DEX exchange.
- added: Add Optimism support across swap plugins
- added: Add default mainnet transcription map
- fixed: Send Ninerealms client-id when doing Thorchain queries
- fixed: Use Thornode servers instead of Midgard for inbound_addresses
- Godex: Check min amount before supported networks
- Add 'max' support across all swap plugins
- Remove legacy address fallback
- Godex: Add early exit for unsupported chains
- Remove Switchain
- Upgrade edge-core-js to v0.19.37
- Add: isDex and swapPlugType to plugins and quotes
- LetsExchange: Update asInfoReply cleaner to support numbers or strings
- Add BTC/ARRR tests
- LetsExchange: Fix max amount logic
- Fix: Transfer plugin throwing error
- Change: Allow per asset spreads to be specified by currency code
- Fix: Remove extra slash in path to Thorswap API to prevent 301 redirects
- Change: Limit Thorchain token approvals to amount needed for deposit
- Change: Add ability to tweak Thorchain volatility % based on asset pair via info server
- Upgrade edge-core-js -> 0.19.33
- TombSwap: Restrict token allowances to only what is needed for each smart contract call.
- ChangeHero: Re-enable 'to' quotes
- ChangeHero: Re-enable token swaps
- Thorchain DA: Update cleaners
- Deprecate FoxExchange
- Add Thorchain DEX aggregator
- ChangeHero: Prevent 'to' quotes due to over-precise amounts breaking data encoding.
- Sideshift: Update to API v2
- Add testing framework to run plugins in Node
- Exolix: Restrict all swaps on Polygon
- Use Midgard API to calculate Thorchain network fees
- Turn on remaining linting rules and fix issues
- Swapuz: Fix requestToExchangeAmount denomination
- Swapuz: Replace 'to' swap early exit with like kind asset check
- Block REPv1 trading across all partners
- Change helper function name and expand ability to accept currency code transcription map
- Fix missing 'to' identifiers on min/max errors
- Sideshift: Replace safeCurrencyCodes helper function with getCodesWithTranscription
- Fix requesting multiple quotes simultaneously giving incorrect quotes when Swapuz is enabled.
- Swapuz: Implement TO quotes for like-kind assets
- Thorchain: Fix minimum quotes
- Thorchain: Remove minAmount support
- ChangeHero: Reimplement restricted currency codes
- Swapuz: Fix returned native amount from quote
- Add Swapuz
- fixed: Do not allow swaps to Tezos using Fox Exchange or Switchain, which rely on dummy addresses.
- Fix Godex API by updating cleaners
- Thorchain: Reject swap quotes between the same assets
- Add AVAX support to Thorchain
- Update Changehero plugin to support arbitrary chains and tokens with reverse quoting
- Convert project to Typescript
- Upgrade edge-core-js to v0.19.29
- Plugins will receive metadata as part of their approve method in include in the tx object
- Fix Thorchain token transactions using duplicate nonce
- Fix Thorchain reverse quotes
- Add Thorchain
- Exolix: Disable reverse quotes
- ChangeHero: Prevent swapping currency codes could represent both a token and a mainnet currency
- Add ChangeHero
- Godex: Fix min amount currency display
- Exolix: Fix min amount currency display
- LetsExchange: Update apiKey config
- LetsExchange: Fix min amount currency display
- Upgrade edge-core-js to v0.19.23
- Deprecate Changelly plugin
- Changelly: Re-enable floating-rate swap support
- Changelly: Block KNC swaps
- Add new swap partner TombSwap
- Add new swap partner LetsExchange
- Coingecko: Add miMATIC (MAI)
- Transfer: Don't allow transfers if the currency code doesn't match
- Add SpookySwap exchange plugin
- Coingecko: Add TSHARE, TOMB, and MAI exchange rates
- Fix calling denomination methods from wrong wallet
- Re-enable BNB Beacon Chain
- Changelly: Add BNB Smart Chain support
- Disable BNB Beacon Chain in all swap plugins
- Use pluginIds instead of currency codes in transfer plugin
- Add Binance Smart Chain to swap partners
- Changenow: Fix corner case where standard flow was skipped
- Use pluginIds instead of currency code keys in transcription and invalid-code maps
- Add helper function and transcription maps for changing mainnet codes
- Exolix: Update plugin to use mainchain:tokencode values in requests
- Coingecko: Add Celo and Aave unique IDs
- Godex: Disable DGB selling
- Coingecko: Add BOO unique ID
- Nomics: Add BOO unique ID
- Coingecko: Add new tokens
- Coingecko: Fix BNT unique ID
- Add constant rates for AVAX wrapped tokens
- Godex: Restrict AVAX trading to the AVAXC network
- Godex: Re-enable FTM trading
- ChangeNow: Restore MATIC trading
- Prevent AVAX token trading on partners without mainnet identification
- ChangeNow: Upgrade to v2 API
- Coingecko: Add AVAX
- Sideshift: Fix currency code transcription
- Sideshift: Use lowercase currency codes in API requests
- Prevent MATIC ERC20 trading
- Move invalid code checking and currency code transcription into helper functions
- Add new swap partner Exolix
- Changelly: Disable estimated swaps (temporarily)
- Remove Totle
- Use the correct "to" currency code for the shapeshift's tx metadata
- Prevent ZEC purchases from partners who don't support sending to shielded addresses
- Changenow: Add Fantom mainnet support
- Godex: Disable Fantom trading
- Move edge-core-js to devDependencies
- Remove inactive swap plugins Faast and Coinswitch
- Coingecko: add HBAR
- Nomics: Fix error handling
- Disable FTM trading on all plugins that do not identify the version of FTM is supported (ERC20 or mainnet). Plugins will be updated as mainnet identification is added.
- Godex: Add support for RBTC network name
- Swap: Ensure all quotes expire in the future
- Currency Converter: Fix response cleaner
- Bitmax: Update url to ascendex.com
- Totle: Patch error response handling
- Totle: Fix error response handling
Godex: Add the mainnet currencycodes to the transaction request Fox: Check mainnet matches user's wallet
- ChangeNow: Add ERC20-only filter to prevent trading for mainnet tokens when only the ETH ERC20 token is available
- Add constant rate for fUSDT to USDT
- Convert Nomics, Coincap, and Currencyconverter API to use bulk requests
- Sideshift: Add refund address
- Sideshift: Move permission check after currency check
- Upgrade eslint-config-standard-kit to v0.15.1
- Upgrade to edge-core-js v0.17.29
- Upgrade to Webpack 5
- Move REPV2 to constantRate plugin
- Convert Coingecko to handle bulk queries
- Fix Sideshift error handling
- Coingecko: Add FIO
- Bitmax: Remove FIO fallback value
- Log issues with API responses as warnings
- Sideshift: Add order status URL
- Sideshift: Throw appropriate error messages instead of relying on cleaners
- Move aTokens to constantRate plugin
- Rename TBTC to TESTBTC
- Sideshift: add uniqueIdentifier to swaps
- Coingecko: Initialize
rates
in for-loop
- Add Aave tokens to Coingecko
- Add rates1 as a fiat/fiat exchange rate provider
- Fix Sideshift cleaner throws and formatting
- Update ChangeNow to save
amount
returned from order creation endpoints to metadata
- Add new swap partner SideShift
- Add ANT token to Coingecko
- Reduce Nomics queries by ignoring fiat/fiat pairs
- Add support for FIRO
- Fix CORS issue with Coincap
- Add support for rate hints. The exchange rate plugins will only return specific rate pairs requested from the core.
- Update Changelly to use getFixRateForAmount
- Fix debugging comment blocking broadcast
- Fix Fox Exchange parent fee display for token trades
- Fix CORS issues with Nomics
- Remove unused xagau and herc plugins
- Enable Changelly order status URL
- Pass last Totle tx as orderId
- Display parent currency and fiat fee for token swaps
- Add CoinGecko
- Copy REP exchange rate for REPV2
- ChangeNow - Add fallback to floating-rate if trade is outside fixed-rate min and max
- Add FIO rate via BitMax API
- Add Coinmonitor rate API support for BTC/ARS pair
- Add promoCode support to Switchain
- Force high fee when swapping from BTC
This version requires edge-core-js v0.17.3 or greater.
- Save swap metadata using the new, official edge-core-js API.
- Add WazirX exchange rate provider
- Fix Switchain metadata
- Fix Switchain ERC20 token sending issue
- Fix swapInfo orderUri variable name across all swap partners
- Changed FIO temporary fixed rate
- Add a Switchain swap plugin.
- Pass promo codes to Changelly, ChangeNow, and Godex.
- Fix ChangeNow on Android & add better logging.
- Upgrade to the new edge-core-js v0.17.0 API.
- Add a temporary $0.001 FIO exchange rate.
- Update Totle plugin to address API changes
- Increase number of returned rates from Coincap to 500
- Pass promo codes to ChangeNow.
- Expose
pluginId
, aspluginName
is being deprecated.
- Require edge-core-js v0.16.18 or greater.
- Remove our react-native-io module.
- Refactor Godex plugin
- Re-enable USDT for Godex
- Support Faast unique identifiers
- Support Totle fixed-rate quotes.
- Support CoinSwitch fixed-rate quotes.
- Update readme file.
- Disable Faa.st XRP swaps
- Include
apiKey
for Totle swaps - Peg WBTC to BTC as 1-to-1 rate
- Enable compound token exchange rates
- Re-enable USDT on ChangeNow and Changelly.
- Fix ChangeNow and Changelly issues with USDT
- Remove obsolete plugins (deprecated API's)
- Implement constantRate plugins for pegged currencies
- Fix GoDex unsupported currency error reporting
- Fix ShapeShift KYC error reporting
- Disable USDT as a GoDex source currency
- Fix GoDex quote URI
- Change GoDex transactions to fixed rate
- Add Coinswitch as swap partner
- Fix ShapeShift auth error logic.
- Fix ShapeShift quote expiration dates.
- Change display name for Fox Exchange
- Fix apiKey variable name for GoDex
- Integrate Fox and GoDex as swap partners
- Allow Totle transactions between wallets
- Set nativeAmount for outgoing Totle tx after broadcast
- Upgrade faa.st plugin.
- Fix crashes on old Android WebView versions.
- Implement currency-not-supported error for Totle transactions between different ETH wallets
- Add more info to readme
- Fix Totle unavailable swap pair case
- Enable HERC and AGLD exchange rate fix
- fix error when currency is temporarily disabled
- fix amount string instead of number error
- fixed upper case issue with currency code
- Changelly fixed rate quotes in both directions.
- ChangeNOW fixed quote amount displayed to user.
- ChangeNOW added catch for below minimum.
- Add
isEstimate
flags to swap quotes.
- Add Shapeshift and Faa.st swap plugins.
- Fix missing Nomics exchange rates issue
- Add Nomics exchange rates
- Add new HERC endpoint
- Add exchange rates from Coincap legacy API
- Upgrade to the coincap.io v2 API.
- Move ChangeNow into this repo for CORS reasons
- Migrate Coincap to new API
- Fix currencyconverterapi to use the production server, not the free server
- Fix CORS issues with currencyconverterapi
- Add an API key to currencyconverterapi
- Move changelly into this repo for CORS reasons
- Upgrade to the edge-core-js v0.15.0 and adapt to breaking changes.
- Upgrade to the edge-core-js v0.14.0 types
- Modernize the build system
- Add HERC exchange rate support
- Add currencyconverterapi.com plugin for IMP and IRR support only
- Switch to v2 of Coinbase API
- Add CoinCap support
- Initial release
- Coinbase & Shapeshift