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.
- AxelarQueryAPI
- added
minGasPrice
parameter for theestimateGasFee
function.minGasPrice
is a floor set for the gas price in wei, used as override in case estimated gas price is below specified minimum.
- added
- AxelarGMPRecoveryAPI
- added
gasLimitBuffer
toEvmWalletDetails
object. Theexecute
function will now incorporate the use ofgasLimitBuffer
, providing an increased gas limit to the originally estimated gas value. As an example, if the estimated gas is300k
, with a gasLimitBuffer of100k
, the final gas limit will be400k
.
- added
- AxelarAssetTransfer
- (bugfix): normalize casing for chain ID and gas taken IDs
- AxelarQueryAPI
- fixed
getDenomFromSymbol
method that now erroneously returns native assets denom for erc20 input. bug was introduced when native assets were added to s3 asset configs
- fixed
- changed all method signatures to require chain IDs (as recognized by Axelar) instead of chain name. For example, in testnet, Ethereums (Goerli) is recognized as
ethereum-2
- added a chainId suggestion when passing wrong chainId e.g. chain name in
getTransferFee
api.
- added a chainId suggestion when passing wrong chainId e.g. chain name in
- AxelarQueryAPI
- added a query to retrieve all active chains on the network (
getActiveChain
) and updates all method implementations to ensure that invocations are only made to live chains - added
timeSpent
field to thequeryTransactionStatus
API. - added more possible values for
GMPStatus
enum. - added
getTransferLimit
query to retrieve the maximum transfer for an asset on a chain
- added a query to retrieve all active chains on the network (
getDepositAddress
updates:- update payload signature to accept a destructured object parameter. the method is still backwards compatible for previous invocations using regular parameters
- merged
getDepositAddressForNativeUnwrap
andgetDepositAddressForNativeWrap
method functionality intogetDepositAddress
method
- upgrade axelarjs-types dependency to
v0.27.0
- update default axelar rpc & lcd endpoints in testnet/mainnet from quickapi to imperator
- fix native gas estimates
- updated supported chains list
- updated
getDepositAddressForNativeUnwrap
to expose intermediary deposit address - removed salt argument from
getDepositAddressForNativeUnwrap
andgetDepositAddressForNativeWrap
- use bytes32
0x0
salt
- update
getDepositAddress
inAxelarAssetTransfer
to use chain identifiers - update
getDepositAddress
inAxelarAssetTransfer
to verify source & destination chain and provide suggestion - added chain identifiers list as object literal
- fixed destination address check bug
- added wrap/unwrap functionality
- [queryTransactionStatus] Changed error object type from
any
toGMPError
- [queryTransactionStatus] Fixed error object is undefined when "insufficient fee"
- [queryTransactionStatus] Added
approved
object for approval tx details
- update
queryTransactionStatus
inAxelarRecoveryApi
to include newexecuting
status. - update GET requests in
AxelarRecoveryApi
to disable cache. - fixed a regression issue caused in 0.11.0 in
AxelarAssetTransfer
, where thegetDepositAddress
method is no longer able to generate deposit addresses for cosmos-based destination chains, e.g. Axelar, Osmosis. Please update to this version if you are using this method. - [technical fix]: improving error messaging of REST responses.
- fixed a regression issue caused in 0.11.0 in
AxelarAssetTransfer
, where thegetDepositAddress
method is no longer able to generate deposit addresses for cosmos-based source chains, e.g. Axelar, Osmosis. Please update to this version if you are using this method. - added an additional default parameter in
estimateGasFee
onAxelarQueryAPI
to include a buffer to pad the calculated gas fee. this accounts for slippage that may occur throughout a tx's execution
- update to
queryTransactionStatus
method onAxelarRecoveryApi
to return additional optional fields forexecuted
andcallback
objects from the Axelarscan API response
- add
AxelarTransferAPI
to allow query transfer status for cross-chain transfer via deposit address or sendToken method. #154, addresses #143 - rename
axelarCachingServiceUrl
toaxelarGMPApiUrl
- Fixed an issue where the deposit address can be the same in the case of two parallel requests with different source chain names. #157
- UPDATE: this version caused a regression issue for deposit address generation for cosmos-based based source chains, e.g. Axelar, Osmosis, etc. Please update to 0.11.2
- updates
estimateGasFee
method to allow for input gastoken
- update the
AxelarGMPRecoveryAPI
to allow for rpc/lcd endpoint overrides in constructor for the API
- fixing a typo
estimateGasFee
method parameter forGasToken
symbol. It should beBNB
for Binance, previouslyBSC
.
- reduce testing time for
AxelarGMPRecoveryAPI.spec.ts
from about 3-4 mins to ~30s
- update AxelarGMPRecoveryAPI's
addGas
andaddNativeGas
methods to fetch gas receiver contract addresses remotely, replacing hard-coded values
- fix
execute
in AxelarGMPRecoveryAPI that returns wrong transaction status in some case. - accept
txLogIndex
(optional) toexecute
function to execute the right contract call which is needed when there're multipleContractCallWithToken
orContractCall
events emitted by Axelar Gateway contract associated with given transaction hash.
- add
getNativeGasBaseFee
to AxelarQueryAPI. This method gets the base fee in native token wei for a given source and destination chain combination. updateestimateGasFee
to add result ofgetNativeGasBaseFee
if native token is selected - fix
estimateGasFee
to handle decimal conversions, in cases where ERC20 token is selected as source token
- update
@axelar-network/axelarjs-types
dependency to v0.24.0. - add mainnet RPC endpoints for transaction recovery API, which can now toggle endpoints per environment
- add
getAssetConfigFromDenom
: axelarnetwork#124 - fix
getTransferFee
andgetFeeForChainAndAsset
inAxelarQueryAPI
to accept RPC endpoint override: axelarnetwork#141
- update
@axelar-network/axelarjs-types
dependency to v0.22.1.
changelog vs. 0.6.x. changelogs prior to 0.7.0 were not systematically captured, but they will be going forward.
- refactor to how chains and assets are instantiated. now fetches this list dynamically from a remote resource instead.
- in earlier versions, the list of chains and assets was hard-coded to the SDK version, meaning that any changes to chains or assets required a version bump in the SDK.
- any method that uses
loadChains
orloadAssets
changes to an asynchronous function that resolves to the expected response type, e.g.public getDenomFromSymbol(symbol: string, chainName: string): string
becomespublic getDenomFromSymbol(symbol: string, chainName: string): Promise<string>
. - Impacted methods:
AxelarQueryAPI
getDenomFromSymbol
getSymbolFromDenom
AxelarRecoveryAPI
getChainInfo
validateDestinationAddressByChainSymbol
andvalidateDestinationAddressByChainName
- refactor to LCD queries in
AxelarQueryAPI
to useaxelarjs-types
natively, rather than query params. - interfaces that were previously hard-coded in the SDK (such as
FeeInfoResponse
andTransferFeeResponse
) are now imported fromaxelarjs-types
- remove unused dependencies from package.json
- new axelarjs-types (based on axelar-core v20 upgrade): https://www.npmjs.com/package/@axelar-network/axelarjs-types/v/0.20.0
- Rest fetch error. resolves axelarnetwork#127
- Optimized build size. resolves axelarnetwork#116