@shapeshiftoss/swapper 15.2.1 → 15.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/api.d.ts +1 -1
  2. package/dist/api.js +29 -29
  3. package/dist/manager/SwapperManager.js +3 -3
  4. package/dist/swappers/cow/cowApprovalNeeded/cowApprovalNeeded.js +2 -2
  5. package/dist/swappers/cow/cowApprove/cowApprove.js +2 -2
  6. package/dist/swappers/cow/cowBuildTrade/cowBuildTrade.js +3 -3
  7. package/dist/swappers/cow/cowExecuteTrade/cowExecuteTrade.js +3 -3
  8. package/dist/swappers/cow/cowGetTradeTxs/cowGetTradeTxs.js +1 -1
  9. package/dist/swappers/cow/getCowSwapMinMax/getCowSwapMinMax.js +2 -2
  10. package/dist/swappers/cow/getCowSwapTradeQuote/getCowSwapTradeQuote.js +4 -4
  11. package/dist/swappers/cow/utils/helpers/helpers.js +3 -3
  12. package/dist/swappers/index.d.ts +1 -0
  13. package/dist/swappers/index.js +3 -0
  14. package/dist/swappers/osmosis/OsmosisSwapper.js +12 -12
  15. package/dist/swappers/osmosis/utils/helpers.js +6 -6
  16. package/dist/swappers/test/TestSwapper.js +1 -1
  17. package/dist/swappers/thorchain/ThorchainSwapper.js +7 -7
  18. package/dist/swappers/thorchain/buildThorTrade/buildThorTrade.js +3 -3
  19. package/dist/swappers/thorchain/getThorTradeQuote/getTradeQuote.js +3 -3
  20. package/dist/swappers/thorchain/thorTradeApprovalNeeded/thorTradeApprovalNeeded.js +4 -4
  21. package/dist/swappers/thorchain/thorTradeApproveInfinite/thorTradeApproveInfinite.js +2 -2
  22. package/dist/swappers/thorchain/utils/bitcoin/utils/getThorTxData.js +2 -2
  23. package/dist/swappers/thorchain/utils/cosmos/getCosmosTxData.js +2 -2
  24. package/dist/swappers/thorchain/utils/evm/makeTradeTx.js +1 -1
  25. package/dist/swappers/thorchain/utils/evm/utils/getThorTxData.js +2 -2
  26. package/dist/swappers/thorchain/utils/getInboundAddressDataForChain.d.ts +1 -1
  27. package/dist/swappers/thorchain/utils/getInboundAddressDataForChain.js +2 -2
  28. package/dist/swappers/thorchain/utils/getLimit/getLimit.js +2 -2
  29. package/dist/swappers/thorchain/utils/getPriceRatio/getPriceRatio.js +5 -5
  30. package/dist/swappers/thorchain/utils/getTradeRate/getTradeRate.js +4 -4
  31. package/dist/swappers/thorchain/utils/getUsdRate/getUsdRate.js +5 -5
  32. package/dist/swappers/thorchain/utils/makeSwapMemo/makeSwapMemo.js +3 -3
  33. package/dist/swappers/thorchain/utils/txFeeHelpers/evmTxFees/getEvmTxFees.js +1 -1
  34. package/dist/swappers/thorchain/utils/txFeeHelpers/utxoTxFees/getUtxoTxFees.js +1 -1
  35. package/dist/swappers/utils/helpers/helpers.js +4 -4
  36. package/dist/swappers/zrx/ZrxSwapper.js +1 -1
  37. package/dist/swappers/zrx/getZrxMinMax/getZrxMinMax.js +2 -2
  38. package/dist/swappers/zrx/getZrxTradeQuote/getZrxTradeQuote.js +2 -2
  39. package/dist/swappers/zrx/utils/helpers/helpers.js +4 -4
  40. package/dist/swappers/zrx/zrxApprovalNeeded/zrxApprovalNeeded.js +4 -4
  41. package/dist/swappers/zrx/zrxApprove/zrxApprove.js +2 -2
  42. package/dist/swappers/zrx/zrxBuildTrade/zrxBuildTrade.js +2 -2
  43. package/dist/swappers/zrx/zrxExecuteTrade/zrxExecuteTrade.js +2 -2
  44. package/package.json +1 -1
package/dist/api.d.ts CHANGED
@@ -177,7 +177,7 @@ export declare type TradeTxs = {
177
177
  sellTxid: string;
178
178
  buyTxid?: string;
179
179
  };
180
- export declare enum SwapErrorTypes {
180
+ export declare enum SwapErrorType {
181
181
  ALLOWANCE_REQUIRED_FAILED = "ALLOWANCE_REQUIRED_FAILED",
182
182
  APPROVE_INFINITE_FAILED = "APPROVE_INFINITE_FAILED",
183
183
  APPROVE_AMOUNT_FAILED = "APPROVE_AMOUNT_FAILED",
package/dist/api.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SwapErrorTypes = exports.SwapperType = exports.SwapperName = exports.SwapError = void 0;
3
+ exports.SwapErrorType = exports.SwapperType = exports.SwapperName = exports.SwapError = void 0;
4
4
  const errors_1 = require("@shapeshiftoss/errors");
5
5
  const types_1 = require("@shapeshiftoss/types");
6
6
  exports.SwapError = (0, errors_1.createErrorClass)('SwapError');
@@ -22,31 +22,31 @@ var SwapperType;
22
22
  SwapperType["Test"] = "Test";
23
23
  })(SwapperType = exports.SwapperType || (exports.SwapperType = {}));
24
24
  // Swap Errors
25
- var SwapErrorTypes;
26
- (function (SwapErrorTypes) {
27
- SwapErrorTypes["ALLOWANCE_REQUIRED_FAILED"] = "ALLOWANCE_REQUIRED_FAILED";
28
- SwapErrorTypes["APPROVE_INFINITE_FAILED"] = "APPROVE_INFINITE_FAILED";
29
- SwapErrorTypes["APPROVE_AMOUNT_FAILED"] = "APPROVE_AMOUNT_FAILED";
30
- SwapErrorTypes["BUILD_TRADE_FAILED"] = "BUILD_TRADE_FAILED";
31
- SwapErrorTypes["CHECK_APPROVAL_FAILED"] = "CHECK_APPROVAL_FAILED";
32
- SwapErrorTypes["EXECUTE_TRADE_FAILED"] = "EXECUTE_TRADE_FAILED";
33
- SwapErrorTypes["GRANT_ALLOWANCE_FAILED"] = "GRANT_ALLOWANCE_FAILED";
34
- SwapErrorTypes["INITIALIZE_FAILED"] = "INITIALIZE_FAILED";
35
- SwapErrorTypes["MANAGER_ERROR"] = "MANAGER_ERROR";
36
- SwapErrorTypes["MIN_MAX_FAILED"] = "MIN_MAX_FAILED";
37
- SwapErrorTypes["RESPONSE_ERROR"] = "RESPONSE_ERROR";
38
- SwapErrorTypes["SIGN_AND_BROADCAST_FAILED"] = "SIGN_AND_BROADCAST_FAILED";
39
- SwapErrorTypes["TRADE_QUOTE_FAILED"] = "TRADE_QUOTE_FAILED";
40
- SwapErrorTypes["TRADE_QUOTE_AMOUNT_TOO_SMALL"] = "TRADE_QUOTE_AMOUNT_TOO_SMALL";
41
- SwapErrorTypes["TRADE_QUOTE_INPUT_LOWER_THAN_FEES"] = "TRADE_QUOTE_INPUT_LOWER_THAN_FEES";
42
- SwapErrorTypes["UNSUPPORTED_PAIR"] = "UNSUPPORTED_PAIR";
43
- SwapErrorTypes["USD_RATE_FAILED"] = "USD_RATE_FAILED";
44
- SwapErrorTypes["UNSUPPORTED_CHAIN"] = "UNSUPPORTED_CHAIN";
45
- SwapErrorTypes["UNSUPPORTED_NAMESPACE"] = "UNSUPPORTED_NAMESPACE";
46
- SwapErrorTypes["VALIDATION_FAILED"] = "VALIDATION_FAILED";
47
- SwapErrorTypes["MAKE_MEMO_FAILED"] = "MAKE_MEMO_FAILED";
48
- SwapErrorTypes["PRICE_RATIO_FAILED"] = "PRICE_RATIO_FAILED";
49
- SwapErrorTypes["POOL_NOT_FOUND"] = "POOL_NOT_FOUND";
50
- SwapErrorTypes["GET_TRADE_TXS_FAILED"] = "GET_TRADE_TXS_FAILED";
51
- SwapErrorTypes["TRADE_FAILED"] = "TRADE_FAILED";
52
- })(SwapErrorTypes = exports.SwapErrorTypes || (exports.SwapErrorTypes = {}));
25
+ var SwapErrorType;
26
+ (function (SwapErrorType) {
27
+ SwapErrorType["ALLOWANCE_REQUIRED_FAILED"] = "ALLOWANCE_REQUIRED_FAILED";
28
+ SwapErrorType["APPROVE_INFINITE_FAILED"] = "APPROVE_INFINITE_FAILED";
29
+ SwapErrorType["APPROVE_AMOUNT_FAILED"] = "APPROVE_AMOUNT_FAILED";
30
+ SwapErrorType["BUILD_TRADE_FAILED"] = "BUILD_TRADE_FAILED";
31
+ SwapErrorType["CHECK_APPROVAL_FAILED"] = "CHECK_APPROVAL_FAILED";
32
+ SwapErrorType["EXECUTE_TRADE_FAILED"] = "EXECUTE_TRADE_FAILED";
33
+ SwapErrorType["GRANT_ALLOWANCE_FAILED"] = "GRANT_ALLOWANCE_FAILED";
34
+ SwapErrorType["INITIALIZE_FAILED"] = "INITIALIZE_FAILED";
35
+ SwapErrorType["MANAGER_ERROR"] = "MANAGER_ERROR";
36
+ SwapErrorType["MIN_MAX_FAILED"] = "MIN_MAX_FAILED";
37
+ SwapErrorType["RESPONSE_ERROR"] = "RESPONSE_ERROR";
38
+ SwapErrorType["SIGN_AND_BROADCAST_FAILED"] = "SIGN_AND_BROADCAST_FAILED";
39
+ SwapErrorType["TRADE_QUOTE_FAILED"] = "TRADE_QUOTE_FAILED";
40
+ SwapErrorType["TRADE_QUOTE_AMOUNT_TOO_SMALL"] = "TRADE_QUOTE_AMOUNT_TOO_SMALL";
41
+ SwapErrorType["TRADE_QUOTE_INPUT_LOWER_THAN_FEES"] = "TRADE_QUOTE_INPUT_LOWER_THAN_FEES";
42
+ SwapErrorType["UNSUPPORTED_PAIR"] = "UNSUPPORTED_PAIR";
43
+ SwapErrorType["USD_RATE_FAILED"] = "USD_RATE_FAILED";
44
+ SwapErrorType["UNSUPPORTED_CHAIN"] = "UNSUPPORTED_CHAIN";
45
+ SwapErrorType["UNSUPPORTED_NAMESPACE"] = "UNSUPPORTED_NAMESPACE";
46
+ SwapErrorType["VALIDATION_FAILED"] = "VALIDATION_FAILED";
47
+ SwapErrorType["MAKE_MEMO_FAILED"] = "MAKE_MEMO_FAILED";
48
+ SwapErrorType["PRICE_RATIO_FAILED"] = "PRICE_RATIO_FAILED";
49
+ SwapErrorType["POOL_NOT_FOUND"] = "POOL_NOT_FOUND";
50
+ SwapErrorType["GET_TRADE_TXS_FAILED"] = "GET_TRADE_TXS_FAILED";
51
+ SwapErrorType["TRADE_FAILED"] = "TRADE_FAILED";
52
+ })(SwapErrorType = exports.SwapErrorType || (exports.SwapErrorType = {}));
@@ -12,7 +12,7 @@ const utils_1 = require("./utils");
12
12
  function validateSwapper(swapper) {
13
13
  if (!(typeof swapper === 'object' && typeof swapper.getType === 'function'))
14
14
  throw new api_1.SwapError('[validateSwapper] - invalid swapper instance', {
15
- code: api_1.SwapErrorTypes.MANAGER_ERROR,
15
+ code: api_1.SwapErrorType.MANAGER_ERROR,
16
16
  });
17
17
  }
18
18
  // TODO: remove me
@@ -40,7 +40,7 @@ class SwapperManager {
40
40
  const swapper = this.swappers.get(swapperType);
41
41
  if (!swapper)
42
42
  throw new api_1.SwapError('[getSwapper] - swapperType doesnt exist', {
43
- code: api_1.SwapErrorTypes.MANAGER_ERROR,
43
+ code: api_1.SwapErrorType.MANAGER_ERROR,
44
44
  details: { swapperType },
45
45
  });
46
46
  return swapper;
@@ -54,7 +54,7 @@ class SwapperManager {
54
54
  const swapper = this.swappers.get(swapperType);
55
55
  if (!swapper)
56
56
  throw new api_1.SwapError('[removeSwapper] - swapperType doesnt exist', {
57
- code: api_1.SwapErrorTypes.MANAGER_ERROR,
57
+ code: api_1.SwapErrorType.MANAGER_ERROR,
58
58
  details: { swapperType },
59
59
  });
60
60
  this.swappers.delete(swapperType);
@@ -13,7 +13,7 @@ async function cowApprovalNeeded({ adapter, web3 }, { quote, wallet }) {
13
13
  try {
14
14
  if (assetNamespace !== 'erc20') {
15
15
  throw new api_1.SwapError('[cowApprovalNeeded] - unsupported asset namespace', {
16
- code: api_1.SwapErrorTypes.UNSUPPORTED_NAMESPACE,
16
+ code: api_1.SwapErrorType.UNSUPPORTED_NAMESPACE,
17
17
  details: { assetNamespace },
18
18
  });
19
19
  }
@@ -36,7 +36,7 @@ async function cowApprovalNeeded({ adapter, web3 }, { quote, wallet }) {
36
36
  throw e;
37
37
  throw new api_1.SwapError('[cowApprovalNeeded]', {
38
38
  cause: e,
39
- code: api_1.SwapErrorTypes.CHECK_APPROVAL_FAILED,
39
+ code: api_1.SwapErrorType.CHECK_APPROVAL_FAILED,
40
40
  });
41
41
  }
42
42
  }
@@ -24,7 +24,7 @@ async function cowApproveInfinite({ adapter, web3 }, { quote, wallet }) {
24
24
  throw e;
25
25
  throw new api_1.SwapError('[cowApproveInfinite]', {
26
26
  cause: e,
27
- code: api_1.SwapErrorTypes.APPROVE_INFINITE_FAILED,
27
+ code: api_1.SwapErrorType.APPROVE_INFINITE_FAILED,
28
28
  });
29
29
  }
30
30
  }
@@ -49,7 +49,7 @@ async function cowApproveAmount({ adapter, web3 }, { quote, wallet, amount }) {
49
49
  throw e;
50
50
  throw new api_1.SwapError('[cowApproveAmount]', {
51
51
  cause: e,
52
- code: api_1.SwapErrorTypes.APPROVE_AMOUNT_FAILED,
52
+ code: api_1.SwapErrorType.APPROVE_AMOUNT_FAILED,
53
53
  });
54
54
  }
55
55
  }
@@ -18,13 +18,13 @@ async function cowBuildTrade(deps, input) {
18
18
  const { assetReference: buyAssetErc20Address, chainId: buyAssetChainId } = (0, caip_1.fromAssetId)(buyAsset.assetId);
19
19
  if (sellAssetNamespace !== 'erc20') {
20
20
  throw new api_1.SwapError('[cowBuildTrade] - Sell asset needs to be ERC-20 to use CowSwap', {
21
- code: api_1.SwapErrorTypes.UNSUPPORTED_PAIR,
21
+ code: api_1.SwapErrorType.UNSUPPORTED_PAIR,
22
22
  details: { sellAssetNamespace },
23
23
  });
24
24
  }
25
25
  if (buyAssetChainId !== types_1.KnownChainIds.EthereumMainnet) {
26
26
  throw new api_1.SwapError('[cowBuildTrade] - Buy asset needs to be on ETH mainnet to use CowSwap', {
27
- code: api_1.SwapErrorTypes.UNSUPPORTED_PAIR,
27
+ code: api_1.SwapErrorType.UNSUPPORTED_PAIR,
28
28
  details: { buyAssetChainId },
29
29
  });
30
30
  }
@@ -117,7 +117,7 @@ async function cowBuildTrade(deps, input) {
117
117
  throw e;
118
118
  throw new api_1.SwapError('[cowBuildTrade]', {
119
119
  cause: e,
120
- code: api_1.SwapErrorTypes.TRADE_QUOTE_FAILED,
120
+ code: api_1.SwapErrorType.TRADE_QUOTE_FAILED,
121
121
  });
122
122
  }
123
123
  }
@@ -16,13 +16,13 @@ async function cowExecuteTrade({ apiUrl, adapter }, { trade, wallet }) {
16
16
  const { assetReference: buyAssetErc20Address, chainId: buyAssetChainId } = (0, caip_1.fromAssetId)(buyAsset.assetId);
17
17
  if (sellAssetNamespace !== 'erc20') {
18
18
  throw new api_1.SwapError('[cowExecuteTrade] - Sell asset needs to be ERC-20 to use CowSwap', {
19
- code: api_1.SwapErrorTypes.UNSUPPORTED_PAIR,
19
+ code: api_1.SwapErrorType.UNSUPPORTED_PAIR,
20
20
  details: { sellAssetNamespace },
21
21
  });
22
22
  }
23
23
  if (buyAssetChainId !== types_1.KnownChainIds.EthereumMainnet) {
24
24
  throw new api_1.SwapError('[cowExecuteTrade] - Buy asset needs to be on ETH mainnet to use CowSwap', {
25
- code: api_1.SwapErrorTypes.UNSUPPORTED_PAIR,
25
+ code: api_1.SwapErrorType.UNSUPPORTED_PAIR,
26
26
  details: { buyAssetChainId },
27
27
  });
28
28
  }
@@ -91,7 +91,7 @@ async function cowExecuteTrade({ apiUrl, adapter }, { trade, wallet }) {
91
91
  throw e;
92
92
  throw new api_1.SwapError('[cowExecuteTrade]', {
93
93
  cause: e,
94
- code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED,
94
+ code: api_1.SwapErrorType.EXECUTE_TRADE_FAILED,
95
95
  });
96
96
  }
97
97
  }
@@ -24,7 +24,7 @@ async function cowGetTradeTxs(deps, input) {
24
24
  throw e;
25
25
  throw new api_1.SwapError('[cowGetTradeTxs]', {
26
26
  cause: e,
27
- code: api_1.SwapErrorTypes.GET_TRADE_TXS_FAILED,
27
+ code: api_1.SwapErrorType.GET_TRADE_TXS_FAILED,
28
28
  });
29
29
  }
30
30
  }
@@ -12,7 +12,7 @@ const getCowSwapMinMax = async (deps, sellAsset, buyAsset) => {
12
12
  const { assetNamespace: sellAssetNamespace } = (0, caip_1.fromAssetId)(sellAsset.assetId);
13
13
  const { chainId: buyAssetChainId } = (0, caip_1.fromAssetId)(buyAsset.assetId);
14
14
  if (sellAssetNamespace !== 'erc20' || buyAssetChainId !== types_1.KnownChainIds.EthereumMainnet) {
15
- throw new api_1.SwapError('[getCowSwapMinMax]', { code: api_1.SwapErrorTypes.UNSUPPORTED_PAIR });
15
+ throw new api_1.SwapError('[getCowSwapMinMax]', { code: api_1.SwapErrorType.UNSUPPORTED_PAIR });
16
16
  }
17
17
  const usdRate = await (0, helpers_1.getUsdRate)(deps, sellAsset);
18
18
  const minimum = (0, bignumber_1.bn)(constants_1.MIN_COWSWAP_VALUE_USD).dividedBy((0, bignumber_1.bnOrZero)(usdRate)).toString(); // $10 worth of the sell token.
@@ -25,7 +25,7 @@ const getCowSwapMinMax = async (deps, sellAsset, buyAsset) => {
25
25
  catch (e) {
26
26
  if (e instanceof api_1.SwapError)
27
27
  throw e;
28
- throw new api_1.SwapError('[getCowSwapMinMax]', { cause: e, code: api_1.SwapErrorTypes.MIN_MAX_FAILED });
28
+ throw new api_1.SwapError('[getCowSwapMinMax]', { cause: e, code: api_1.SwapErrorType.MIN_MAX_FAILED });
29
29
  }
30
30
  };
31
31
  exports.getCowSwapMinMax = getCowSwapMinMax;
@@ -23,13 +23,13 @@ async function getCowSwapTradeQuote(deps, input) {
23
23
  const { assetReference: buyAssetErc20Address, chainId: buyAssetChainId } = (0, caip_1.fromAssetId)(buyAsset.assetId);
24
24
  if (sellAssetNamespace !== 'erc20') {
25
25
  throw new api_1.SwapError('[getCowSwapTradeQuote] - Sell asset needs to be ERC-20 to use CowSwap', {
26
- code: api_1.SwapErrorTypes.UNSUPPORTED_PAIR,
26
+ code: api_1.SwapErrorType.UNSUPPORTED_PAIR,
27
27
  details: { sellAssetNamespace },
28
28
  });
29
29
  }
30
30
  if (buyAssetChainId !== types_1.KnownChainIds.EthereumMainnet) {
31
31
  throw new api_1.SwapError('[getCowSwapTradeQuote] - Buy asset needs to be on ETH mainnet to use CowSwap', {
32
- code: api_1.SwapErrorTypes.UNSUPPORTED_PAIR,
32
+ code: api_1.SwapErrorType.UNSUPPORTED_PAIR,
33
33
  details: { buyAssetChainId },
34
34
  });
35
35
  }
@@ -125,14 +125,14 @@ async function getCowSwapTradeQuote(deps, input) {
125
125
  'SellAmountDoesNotCoverFee') {
126
126
  throw new api_1.SwapError('[getCowSwapTradeQuote]', {
127
127
  cause: e,
128
- code: api_1.SwapErrorTypes.TRADE_QUOTE_INPUT_LOWER_THAN_FEES,
128
+ code: api_1.SwapErrorType.TRADE_QUOTE_INPUT_LOWER_THAN_FEES,
129
129
  });
130
130
  }
131
131
  if (e instanceof api_1.SwapError)
132
132
  throw e;
133
133
  throw new api_1.SwapError('[getCowSwapTradeQuote]', {
134
134
  cause: e,
135
- code: api_1.SwapErrorTypes.TRADE_QUOTE_FAILED,
135
+ code: api_1.SwapErrorType.TRADE_QUOTE_FAILED,
136
136
  });
137
137
  }
138
138
  }
@@ -36,7 +36,7 @@ const getUsdRate = async ({ apiUrl }, input) => {
36
36
  const { assetReference: erc20Address, assetNamespace } = (0, caip_1.fromAssetId)(asset.assetId);
37
37
  if (assetNamespace !== 'erc20') {
38
38
  throw new api_1.SwapError('[getUsdRate] - unsupported asset namespace', {
39
- code: api_1.SwapErrorTypes.USD_RATE_FAILED,
39
+ code: api_1.SwapErrorType.USD_RATE_FAILED,
40
40
  details: { assetNamespace },
41
41
  });
42
42
  }
@@ -79,7 +79,7 @@ const getUsdRate = async ({ apiUrl }, input) => {
79
79
  const sellAmountCryptoPrecision = (0, bignumber_1.bn)(sellAmountCryptoBaseUnit).div((0, bignumber_1.bn)(10).exponentiatedBy(asset.precision));
80
80
  if (!sellAmountCryptoPrecision.gt(0))
81
81
  throw new api_1.SwapError('[getUsdRate] - Failed to get sell token amount', {
82
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
82
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
83
83
  });
84
84
  // dividing $1000 by amount of sell token received
85
85
  return (0, bignumber_1.bn)(buyAmountInDollars).div(sellAmountCryptoPrecision).toString();
@@ -89,7 +89,7 @@ const getUsdRate = async ({ apiUrl }, input) => {
89
89
  throw e;
90
90
  throw new api_1.SwapError('[getUsdRate]', {
91
91
  cause: e,
92
- code: api_1.SwapErrorTypes.USD_RATE_FAILED,
92
+ code: api_1.SwapErrorType.USD_RATE_FAILED,
93
93
  });
94
94
  }
95
95
  };
@@ -1,5 +1,6 @@
1
1
  export * from './zrx/ZrxSwapper';
2
2
  export * from './thorchain/ThorchainSwapper';
3
+ export { getInboundAddressDataForChain } from './thorchain/utils/getInboundAddressDataForChain';
3
4
  export * from './test/TestSwapper';
4
5
  export * from './osmosis/OsmosisSwapper';
5
6
  export * from './cow/CowSwapper';
@@ -14,8 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getInboundAddressDataForChain = void 0;
17
18
  __exportStar(require("./zrx/ZrxSwapper"), exports);
18
19
  __exportStar(require("./thorchain/ThorchainSwapper"), exports);
20
+ var getInboundAddressDataForChain_1 = require("./thorchain/utils/getInboundAddressDataForChain");
21
+ Object.defineProperty(exports, "getInboundAddressDataForChain", { enumerable: true, get: function () { return getInboundAddressDataForChain_1.getInboundAddressDataForChain; } });
19
22
  __exportStar(require("./test/TestSwapper"), exports);
20
23
  __exportStar(require("./osmosis/OsmosisSwapper"), exports);
21
24
  __exportStar(require("./cow/CowSwapper"), exports);
@@ -20,7 +20,7 @@ class OsmosisSwapper {
20
20
  const cosmosAdapter = this.deps.adapterManager.get(caip_1.cosmosChainId);
21
21
  if (!cosmosAdapter)
22
22
  throw new api_1.SwapError('OsmosisSwapper: couldnt get cosmos adapter', {
23
- code: api_1.SwapErrorTypes.GET_TRADE_TXS_FAILED,
23
+ code: api_1.SwapErrorType.GET_TRADE_TXS_FAILED,
24
24
  });
25
25
  const cosmosTxHistory = await cosmosAdapter.getTxHistory({
26
26
  pubkey: tradeResult.cosmosAddress,
@@ -69,12 +69,12 @@ class OsmosisSwapper {
69
69
  }
70
70
  async approveInfinite() {
71
71
  throw new api_1.SwapError('OsmosisSwapper: approveInfinite unimplemented', {
72
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
72
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
73
73
  });
74
74
  }
75
75
  async approveAmount() {
76
76
  throw new api_1.SwapError('Osmosis: approveAmount unimplemented', {
77
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
77
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
78
78
  });
79
79
  }
80
80
  filterBuyAssetsBySellAssetId(args) {
@@ -90,7 +90,7 @@ class OsmosisSwapper {
90
90
  const { sellAsset, buyAsset, sellAmountBeforeFeesCryptoBaseUnit: sellAmountCryptoBaseUnit, receiveAddress, accountNumber, } = args;
91
91
  if (!sellAmountCryptoBaseUnit) {
92
92
  throw new api_1.SwapError('sellAmountCryptoPrecision is required', {
93
- code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
93
+ code: api_1.SwapErrorType.BUILD_TRADE_FAILED,
94
94
  });
95
95
  }
96
96
  const { buyAssetTradeFeeUsd, rate, buyAmountCryptoBaseUnit } = await (0, helpers_1.getRateInfo)(sellAsset.symbol, buyAsset.symbol, sellAmountCryptoBaseUnit !== '0' ? sellAmountCryptoBaseUnit : '1', this.deps.osmoUrl);
@@ -99,7 +99,7 @@ class OsmosisSwapper {
99
99
  const osmosisAdapter = this.deps.adapterManager.get(caip_1.osmosisChainId);
100
100
  if (!osmosisAdapter)
101
101
  throw new api_1.SwapError('Failed to get Osmosis adapter', {
102
- code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
102
+ code: api_1.SwapErrorType.BUILD_TRADE_FAILED,
103
103
  });
104
104
  const feeData = await osmosisAdapter.getFeeData({});
105
105
  const fee = feeData.fast.txFee;
@@ -123,7 +123,7 @@ class OsmosisSwapper {
123
123
  const { accountNumber, sellAsset, buyAsset, sellAmountBeforeFeesCryptoBaseUnit: sellAmountCryptoBaseUnit, } = input;
124
124
  if (!sellAmountCryptoBaseUnit) {
125
125
  throw new api_1.SwapError('sellAmount is required', {
126
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
126
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
127
127
  });
128
128
  }
129
129
  const { buyAssetTradeFeeUsd, rate, buyAmountCryptoBaseUnit } = await (0, helpers_1.getRateInfo)(sellAsset.symbol, buyAsset.symbol, sellAmountCryptoBaseUnit !== '0' ? sellAmountCryptoBaseUnit : '1', this.deps.osmoUrl);
@@ -131,7 +131,7 @@ class OsmosisSwapper {
131
131
  const osmosisAdapter = this.deps.adapterManager.get(caip_1.osmosisChainId);
132
132
  if (!osmosisAdapter)
133
133
  throw new api_1.SwapError('Failed to get Osmosis adapter', {
134
- code: api_1.SwapErrorTypes.TRADE_QUOTE_FAILED,
134
+ code: api_1.SwapErrorType.TRADE_QUOTE_FAILED,
135
135
  });
136
136
  const feeData = await osmosisAdapter.getFeeData({});
137
137
  const fee = feeData.fast.txFee;
@@ -164,7 +164,7 @@ class OsmosisSwapper {
164
164
  const cosmosAdapter = this.deps.adapterManager.get(caip_1.cosmosChainId);
165
165
  if (!cosmosAdapter || !osmosisAdapter) {
166
166
  throw new api_1.SwapError('Failed to get adapters', {
167
- code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED,
167
+ code: api_1.SwapErrorType.EXECUTE_TRADE_FAILED,
168
168
  });
169
169
  }
170
170
  const feeData = await osmosisAdapter.getFeeData({});
@@ -175,7 +175,7 @@ class OsmosisSwapper {
175
175
  sellAddress = await cosmosAdapter.getAddress({ wallet, accountNumber });
176
176
  if (!sellAddress)
177
177
  throw new api_1.SwapError('Failed to get address', {
178
- code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED,
178
+ code: api_1.SwapErrorType.EXECUTE_TRADE_FAILED,
179
179
  });
180
180
  const transfer = {
181
181
  sender: sellAddress,
@@ -190,7 +190,7 @@ class OsmosisSwapper {
190
190
  const pollResult = await (0, helpers_1.pollForComplete)(tradeId, this.deps.cosmosUrl);
191
191
  if (pollResult !== 'success')
192
192
  throw new api_1.SwapError('ibc transfer failed', {
193
- code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED,
193
+ code: api_1.SwapErrorType.EXECUTE_TRADE_FAILED,
194
194
  });
195
195
  ibcSellAmount = await (0, helpers_1.pollForAtomChannelBalance)(receiveAddress, this.deps.osmoUrl);
196
196
  // delay to ensure all nodes we interact with are up to date at this point
@@ -201,7 +201,7 @@ class OsmosisSwapper {
201
201
  sellAddress = await osmosisAdapter.getAddress({ wallet, accountNumber });
202
202
  if (!sellAddress)
203
203
  throw new api_1.SwapError('failed to get osmoAddress', {
204
- code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED,
204
+ code: api_1.SwapErrorType.EXECUTE_TRADE_FAILED,
205
205
  });
206
206
  }
207
207
  const osmoAddress = isFromOsmo ? sellAddress : receiveAddress;
@@ -222,7 +222,7 @@ class OsmosisSwapper {
222
222
  const pollResult = await (0, helpers_1.pollForComplete)(tradeId, this.deps.osmoUrl);
223
223
  if (pollResult !== 'success')
224
224
  throw new api_1.SwapError('osmo swap failed', {
225
- code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED,
225
+ code: api_1.SwapErrorType.EXECUTE_TRADE_FAILED,
226
226
  });
227
227
  const amount = await (0, helpers_1.pollForAtomChannelBalance)(sellAddress, this.deps.osmoUrl);
228
228
  const transfer = {
@@ -43,7 +43,7 @@ const pollForComplete = async (txid, baseUrl) => {
43
43
  }
44
44
  else if (Date.now() - startTime > timeout) {
45
45
  reject(new api_1.SwapError(`Couldnt find tx ${txid}`, {
46
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
46
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
47
47
  }));
48
48
  }
49
49
  else {
@@ -61,7 +61,7 @@ const getAtomChannelBalance = async (address, osmoUrl) => {
61
61
  }
62
62
  catch (e) {
63
63
  throw new api_1.SwapError('failed to get balance', {
64
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
64
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
65
65
  });
66
66
  }
67
67
  })();
@@ -88,7 +88,7 @@ const pollForAtomChannelBalance = async (address, osmoUrl) => {
88
88
  }
89
89
  else if (Date.now() - startTime > timeout) {
90
90
  reject(new api_1.SwapError(`Couldnt find channel balance for ${address}`, {
91
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
91
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
92
92
  }));
93
93
  }
94
94
  else {
@@ -109,7 +109,7 @@ const findPool = async (sellAssetSymbol, buyAssetSymbol, osmoUrl) => {
109
109
  }
110
110
  catch (e) {
111
111
  throw new api_1.SwapError('failed to get pool', {
112
- code: api_1.SwapErrorTypes.POOL_NOT_FOUND,
112
+ code: api_1.SwapErrorType.POOL_NOT_FOUND,
113
113
  });
114
114
  }
115
115
  })();
@@ -121,7 +121,7 @@ const findPool = async (sellAssetSymbol, buyAssetSymbol, osmoUrl) => {
121
121
  });
122
122
  if (!foundPool)
123
123
  throw new api_1.SwapError('could not find pool', {
124
- code: api_1.SwapErrorTypes.POOL_NOT_FOUND,
124
+ code: api_1.SwapErrorType.POOL_NOT_FOUND,
125
125
  });
126
126
  const { sellAssetIndex, buyAssetIndex } = (() => {
127
127
  if (foundPool.pool_assets[0].token.denom === sellAssetDenom) {
@@ -169,7 +169,7 @@ const performIbcTransfer = async (input, adapter, wallet, blockBaseUrl, denom, s
169
169
  }
170
170
  catch (e) {
171
171
  throw new api_1.SwapError('failed to get latest block', {
172
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
172
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
173
173
  });
174
174
  }
175
175
  })();
@@ -33,7 +33,7 @@ class TestSwapper {
33
33
  }
34
34
  async approveAmount() {
35
35
  throw new api_1.SwapError('TestSwapper: approveAmount unimplemented', {
36
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
36
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
37
37
  });
38
38
  }
39
39
  filterBuyAssetsBySellAssetId(args) {
@@ -71,7 +71,7 @@ class ThorchainSwapper {
71
71
  }
72
72
  catch (e) {
73
73
  throw new api_1.SwapError('[thorchainInitialize]: initialize failed to set supportedAssetIds', {
74
- code: api_1.SwapErrorTypes.INITIALIZE_FAILED,
74
+ code: api_1.SwapErrorType.INITIALIZE_FAILED,
75
75
  cause: e,
76
76
  });
77
77
  }
@@ -90,7 +90,7 @@ class ThorchainSwapper {
90
90
  }
91
91
  async approveAmount() {
92
92
  throw new api_1.SwapError('ThorchainSwapper: approveAmount unimplemented', {
93
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
93
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
94
94
  });
95
95
  }
96
96
  filterBuyAssetsBySellAssetId(args) {
@@ -114,7 +114,7 @@ class ThorchainSwapper {
114
114
  const adapter = this.deps.adapterManager.get(trade.sellAsset.chainId);
115
115
  if (!adapter)
116
116
  throw new api_1.SwapError('[executeTrade]: no adapter for sell asset chain id', {
117
- code: api_1.SwapErrorTypes.SIGN_AND_BROADCAST_FAILED,
117
+ code: api_1.SwapErrorType.SIGN_AND_BROADCAST_FAILED,
118
118
  details: { chainId: trade.sellAsset.chainId },
119
119
  fn: 'executeTrade',
120
120
  });
@@ -148,7 +148,7 @@ class ThorchainSwapper {
148
148
  }
149
149
  else {
150
150
  throw new api_1.SwapError('[executeTrade]: unsupported trade', {
151
- code: api_1.SwapErrorTypes.SIGN_AND_BROADCAST_FAILED,
151
+ code: api_1.SwapErrorType.SIGN_AND_BROADCAST_FAILED,
152
152
  fn: 'executeTrade',
153
153
  });
154
154
  }
@@ -157,7 +157,7 @@ class ThorchainSwapper {
157
157
  if (e instanceof api_1.SwapError)
158
158
  throw e;
159
159
  throw new api_1.SwapError('[executeTrade]: failed to sign or broadcast', {
160
- code: api_1.SwapErrorTypes.SIGN_AND_BROADCAST_FAILED,
160
+ code: api_1.SwapErrorType.SIGN_AND_BROADCAST_FAILED,
161
161
  cause: e,
162
162
  });
163
163
  }
@@ -178,7 +178,7 @@ class ThorchainSwapper {
178
178
  // This will detect all the errors I have seen.
179
179
  if (((_c = data === null || data === void 0 ? void 0 : data.actions[0]) === null || _c === void 0 ? void 0 : _c.status) === 'success' && ((_d = data === null || data === void 0 ? void 0 : data.actions[0]) === null || _d === void 0 ? void 0 : _d.type) !== 'swap')
180
180
  throw new api_1.SwapError('[getTradeTxs]: trade failed', {
181
- code: api_1.SwapErrorTypes.TRADE_FAILED,
181
+ code: api_1.SwapErrorType.TRADE_FAILED,
182
182
  cause: data,
183
183
  });
184
184
  const standardBuyTxid = (() => {
@@ -196,7 +196,7 @@ class ThorchainSwapper {
196
196
  if (e instanceof api_1.SwapError)
197
197
  throw e;
198
198
  throw new api_1.SwapError('[getTradeTxs]: error', {
199
- code: api_1.SwapErrorTypes.GET_TRADE_TXS_FAILED,
199
+ code: api_1.SwapErrorType.GET_TRADE_TXS_FAILED,
200
200
  cause: e,
201
201
  });
202
202
  }
@@ -17,7 +17,7 @@ const buildTrade = async ({ deps, input }) => {
17
17
  const sellAdapter = deps.adapterManager.get(sellAsset.chainId);
18
18
  if (!sellAdapter)
19
19
  throw new api_1.SwapError('[buildTrade]: unsupported sell asset', {
20
- code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
20
+ code: api_1.SwapErrorType.BUILD_TRADE_FAILED,
21
21
  fn: 'buildTrade',
22
22
  details: { sellAsset },
23
23
  });
@@ -98,7 +98,7 @@ const buildTrade = async ({ deps, input }) => {
98
98
  }
99
99
  else {
100
100
  throw new api_1.SwapError('[buildTrade]: unsupported chain id', {
101
- code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
101
+ code: api_1.SwapErrorType.BUILD_TRADE_FAILED,
102
102
  fn: 'buildTrade',
103
103
  details: { sellAsset },
104
104
  });
@@ -108,7 +108,7 @@ const buildTrade = async ({ deps, input }) => {
108
108
  if (e instanceof api_1.SwapError)
109
109
  throw e;
110
110
  throw new api_1.SwapError('[buildTrade]: error building trade', {
111
- code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
111
+ code: api_1.SwapErrorType.BUILD_TRADE_FAILED,
112
112
  fn: 'buildTrade',
113
113
  cause: e,
114
114
  });
@@ -24,7 +24,7 @@ const getThorTradeQuote = async ({ deps, input }) => {
24
24
  const buyAdapter = deps.adapterManager.get(buyAssetChainId);
25
25
  if (!sellAdapter || !buyAdapter)
26
26
  throw new api_1.SwapError(`[getThorTradeQuote] - No chain adapter found for ${chainId} or ${buyAssetChainId}.`, {
27
- code: api_1.SwapErrorTypes.UNSUPPORTED_CHAIN,
27
+ code: api_1.SwapErrorType.UNSUPPORTED_CHAIN,
28
28
  details: { sellAssetChainId: chainId, buyAssetChainId },
29
29
  });
30
30
  const rate = await (0, getTradeRate_1.getTradeRate)(sellAsset, buyAsset.assetId, sellAmountCryptoBaseUnit, deps);
@@ -129,7 +129,7 @@ const getThorTradeQuote = async ({ deps, input }) => {
129
129
  })();
130
130
  default:
131
131
  throw new api_1.SwapError('[getThorTradeQuote] - Asset chainId is not supported.', {
132
- code: api_1.SwapErrorTypes.UNSUPPORTED_CHAIN,
132
+ code: api_1.SwapErrorType.UNSUPPORTED_CHAIN,
133
133
  details: { chainId },
134
134
  });
135
135
  }
@@ -139,7 +139,7 @@ const getThorTradeQuote = async ({ deps, input }) => {
139
139
  throw e;
140
140
  throw new api_1.SwapError('[getThorTradeQuote]', {
141
141
  cause: e,
142
- code: api_1.SwapErrorTypes.TRADE_QUOTE_FAILED,
142
+ code: api_1.SwapErrorType.TRADE_QUOTE_FAILED,
143
143
  });
144
144
  }
145
145
  };
@@ -19,7 +19,7 @@ const thorTradeApprovalNeeded = async ({ deps, input, }) => {
19
19
  const adapter = adapterManager.get(sellAsset.chainId);
20
20
  if (!adapter)
21
21
  throw new api_1.SwapError(`[thorTradeApprovalNeeded] - no chain adapter found for chain Id: ${sellAsset.chainId}`, {
22
- code: api_1.SwapErrorTypes.UNSUPPORTED_CHAIN,
22
+ code: api_1.SwapErrorType.UNSUPPORTED_CHAIN,
23
23
  details: { chainId: sellAsset.chainId },
24
24
  });
25
25
  // No approval needed for selling a fee asset
@@ -29,7 +29,7 @@ const thorTradeApprovalNeeded = async ({ deps, input, }) => {
29
29
  const receiveAddress = await adapter.getAddress({ wallet, accountNumber });
30
30
  if (!quote.allowanceContract) {
31
31
  throw new api_1.SwapError('[thorTradeApprovalNeeded] - allowanceTarget is required', {
32
- code: api_1.SwapErrorTypes.VALIDATION_FAILED,
32
+ code: api_1.SwapErrorType.VALIDATION_FAILED,
33
33
  details: { chainId: sellAsset.chainId },
34
34
  });
35
35
  }
@@ -43,7 +43,7 @@ const thorTradeApprovalNeeded = async ({ deps, input, }) => {
43
43
  const allowanceOnChain = (0, bignumber_1.bnOrZero)(allowanceResult);
44
44
  if (!((_a = quote.feeData.chainSpecific) === null || _a === void 0 ? void 0 : _a.gasPriceCryptoBaseUnit))
45
45
  throw new api_1.SwapError('[thorTradeApprovalNeeded] - no gas price with quote', {
46
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
46
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
47
47
  details: { feeData: quote.feeData },
48
48
  });
49
49
  return {
@@ -55,7 +55,7 @@ const thorTradeApprovalNeeded = async ({ deps, input, }) => {
55
55
  throw e;
56
56
  throw new api_1.SwapError('[thorTradeApprovalNeeded]', {
57
57
  cause: e,
58
- code: api_1.SwapErrorTypes.CHECK_APPROVAL_FAILED,
58
+ code: api_1.SwapErrorType.CHECK_APPROVAL_FAILED,
59
59
  });
60
60
  }
61
61
  };
@@ -28,7 +28,7 @@ const thorTradeApproveInfinite = async ({ deps, input, }) => {
28
28
  const adapter = adapterManager.get(types_1.KnownChainIds.EthereumMainnet);
29
29
  if (!adapter)
30
30
  throw new api_1.SwapError(`[thorTradeApproveInfinite] - No chain adapter found for ${sellAssetChainId}.`, {
31
- code: api_1.SwapErrorTypes.UNSUPPORTED_CHAIN,
31
+ code: api_1.SwapErrorType.UNSUPPORTED_CHAIN,
32
32
  details: { sellAssetChainId },
33
33
  });
34
34
  const allowanceGrantRequired = await (0, helpers_1.grantAllowance)({
@@ -45,7 +45,7 @@ const thorTradeApproveInfinite = async ({ deps, input, }) => {
45
45
  throw e;
46
46
  throw new api_1.SwapError('[zrxApproveInfinite]', {
47
47
  cause: e,
48
- code: api_1.SwapErrorTypes.APPROVE_INFINITE_FAILED,
48
+ code: api_1.SwapErrorType.APPROVE_INFINITE_FAILED,
49
49
  });
50
50
  }
51
51
  };
@@ -11,7 +11,7 @@ const getThorTxInfo = async ({ deps, sellAsset, buyAsset, sellAmountCryptoBaseUn
11
11
  const vault = inboundAddress === null || inboundAddress === void 0 ? void 0 : inboundAddress.address;
12
12
  if (!vault)
13
13
  throw new api_1.SwapError(`[getThorTxInfo]: vault not found for asset`, {
14
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
14
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
15
15
  details: { inboundAddress, sellAsset },
16
16
  });
17
17
  const limit = await (0, getLimit_1.getLimit)({
@@ -36,7 +36,7 @@ const getThorTxInfo = async ({ deps, sellAsset, buyAsset, sellAmountCryptoBaseUn
36
36
  catch (e) {
37
37
  if (e instanceof api_1.SwapError)
38
38
  throw e;
39
- throw new api_1.SwapError('[getThorTxInfo]', { cause: e, code: api_1.SwapErrorTypes.TRADE_QUOTE_FAILED });
39
+ throw new api_1.SwapError('[getThorTxInfo]', { cause: e, code: api_1.SwapErrorType.TRADE_QUOTE_FAILED });
40
40
  }
41
41
  };
42
42
  exports.getThorTxInfo = getThorTxInfo;
@@ -14,7 +14,7 @@ const getCosmosTxData = async (input) => {
14
14
  const vault = gaiaAddressData === null || gaiaAddressData === void 0 ? void 0 : gaiaAddressData.address;
15
15
  if (!vault && !fromThorAsset)
16
16
  throw new api_1.SwapError('[buildTrade]: no vault for chain', {
17
- code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
17
+ code: api_1.SwapErrorType.BUILD_TRADE_FAILED,
18
18
  fn: 'buildTrade',
19
19
  details: { chainId: input.chainId },
20
20
  });
@@ -47,7 +47,7 @@ const getCosmosTxData = async (input) => {
47
47
  default:
48
48
  if (!vault)
49
49
  throw new api_1.SwapError('[buildTrade]: no vault for chain', {
50
- code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
50
+ code: api_1.SwapErrorType.BUILD_TRADE_FAILED,
51
51
  fn: 'buildTrade',
52
52
  details: { chainId: input.chainId },
53
53
  });
@@ -34,7 +34,7 @@ const makeTradeTx = async ({ wallet, accountNumber, sellAmountCryptoBaseUnit, bu
34
34
  if (e instanceof api_1.SwapError)
35
35
  throw e;
36
36
  throw new api_1.SwapError('[makeTradeTx]: error making trade tx', {
37
- code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
37
+ code: api_1.SwapErrorType.BUILD_TRADE_FAILED,
38
38
  cause: e,
39
39
  });
40
40
  }
@@ -16,7 +16,7 @@ const getThorTxInfo = async ({ deps, sellAsset, buyAsset, sellAmountCryptoBaseUn
16
16
  const vault = inboundAddress === null || inboundAddress === void 0 ? void 0 : inboundAddress.address;
17
17
  if (!inboundAddress || !router || !vault)
18
18
  throw new api_1.SwapError(`[getPriceRatio]: inboundAddress not found for ETH`, {
19
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
19
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
20
20
  details: { inboundAddress },
21
21
  });
22
22
  const limit = await (0, getLimit_1.getLimit)({
@@ -38,7 +38,7 @@ const getThorTxInfo = async ({ deps, sellAsset, buyAsset, sellAmountCryptoBaseUn
38
38
  catch (e) {
39
39
  if (e instanceof api_1.SwapError)
40
40
  throw e;
41
- throw new api_1.SwapError('[getThorTxInfo]', { cause: e, code: api_1.SwapErrorTypes.TRADE_QUOTE_FAILED });
41
+ throw new api_1.SwapError('[getThorTxInfo]', { cause: e, code: api_1.SwapErrorType.TRADE_QUOTE_FAILED });
42
42
  }
43
43
  };
44
44
  exports.getThorTxInfo = getThorTxInfo;
@@ -1,3 +1,3 @@
1
1
  import { AssetId } from '@shapeshiftoss/caip';
2
2
  import type { InboundAddressResponse } from '../types';
3
- export declare const getInboundAddressDataForChain: (daemonUrl: string, assetId: AssetId | undefined) => Promise<InboundAddressResponse | undefined>;
3
+ export declare const getInboundAddressDataForChain: (daemonUrl: string, assetId: AssetId | undefined, excludeHalted?: boolean) => Promise<InboundAddressResponse | undefined>;
@@ -3,13 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getInboundAddressDataForChain = void 0;
4
4
  const caip_1 = require("@shapeshiftoss/caip");
5
5
  const thorService_1 = require("./thorService");
6
- const getInboundAddressDataForChain = async (daemonUrl, assetId) => {
6
+ const getInboundAddressDataForChain = async (daemonUrl, assetId, excludeHalted = true) => {
7
7
  if (!assetId)
8
8
  return undefined;
9
9
  const assetPoolId = caip_1.adapters.assetIdToPoolAssetId({ assetId });
10
10
  const assetChainSymbol = assetPoolId === null || assetPoolId === void 0 ? void 0 : assetPoolId.slice(0, assetPoolId.indexOf('.'));
11
11
  const { data: inboundAddresses } = await thorService_1.thorService.get(`${daemonUrl}/lcd/thorchain/inbound_addresses`);
12
12
  const activeInboundAddresses = inboundAddresses.filter((a) => !a.halted);
13
- return activeInboundAddresses.find((inbound) => inbound.chain === assetChainSymbol);
13
+ return (excludeHalted ? activeInboundAddresses : inboundAddresses).find((inbound) => inbound.chain === assetChainSymbol);
14
14
  };
15
15
  exports.getInboundAddressDataForChain = getInboundAddressDataForChain;
@@ -23,7 +23,7 @@ const getLimit = async ({ sellAsset, buyAssetId, sellAmountCryptoBaseUnit, deps,
23
23
  .get((0, caip_1.fromAssetId)(buyAssetId).chainId)) === null || _b === void 0 ? void 0 : _b.getFeeAssetId();
24
24
  if (!sellAssetChainFeeAssetId || !buyAssetChainFeeAssetId) {
25
25
  throw new api_1.SwapError('[getLimit]: no sellAssetChainFeeAsset or buyAssetChainFeeAssetId', {
26
- code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
26
+ code: api_1.SwapErrorType.BUILD_TRADE_FAILED,
27
27
  details: { sellAssetChainFeeAssetId, buyAssetChainFeeAssetId },
28
28
  });
29
29
  }
@@ -33,7 +33,7 @@ const getLimit = async ({ sellAsset, buyAssetId, sellAmountCryptoBaseUnit, deps,
33
33
  const isValidSlippageRange = (0, bignumber_1.bnOrZero)(slippageTolerance).gte(0) && (0, bignumber_1.bnOrZero)(slippageTolerance).lte(1);
34
34
  if ((0, bignumber_1.bnOrZero)(expectedBuyAmountCryptoPrecision8).lt(0) || !isValidSlippageRange)
35
35
  throw new api_1.SwapError('[getLimit]: bad expected buy amount or bad slippage tolerance', {
36
- code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
36
+ code: api_1.SwapErrorType.BUILD_TRADE_FAILED,
37
37
  details: { expectedBuyAmountCryptoPrecision8, slippageTolerance },
38
38
  });
39
39
  const buyAssetTradeFeeCryptoPrecision8 = (0, bignumber_1.toBaseUnit)((0, bignumber_1.bnOrZero)(buyAssetTradeFeeUsd).div(buyAssetUsdRate), constants_3.THORCHAIN_FIXED_PRECISION);
@@ -13,14 +13,14 @@ const getPriceRatio = async (deps, input) => {
13
13
  const sellPoolId = caip_1.adapters.assetIdToPoolAssetId({ assetId: sellAssetId });
14
14
  if (!buyPoolId && !(0, isRune_1.isRune)(buyAssetId)) {
15
15
  throw new api_1.SwapError(`[getPriceRatio]: No buyPoolId found for asset ${buyAssetId}`, {
16
- code: api_1.SwapErrorTypes.POOL_NOT_FOUND,
16
+ code: api_1.SwapErrorType.POOL_NOT_FOUND,
17
17
  fn: 'getPriceRatio',
18
18
  details: { buyAssetId },
19
19
  });
20
20
  }
21
21
  if (!sellPoolId && !(0, isRune_1.isRune)(sellAssetId)) {
22
22
  throw new api_1.SwapError(`[getPriceRatio]: No sellPoolId found for asset ${sellAssetId}`, {
23
- code: api_1.SwapErrorTypes.POOL_NOT_FOUND,
23
+ code: api_1.SwapErrorType.POOL_NOT_FOUND,
24
24
  fn: 'getPriceRatio',
25
25
  details: { sellAssetId },
26
26
  });
@@ -49,7 +49,7 @@ const getPriceRatio = async (deps, input) => {
49
49
  }
50
50
  if (!buyPool || !sellPool) {
51
51
  throw new api_1.SwapError(`[getPriceRatio]: pools not found`, {
52
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
52
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
53
53
  details: { buyPoolId, sellPoolId },
54
54
  });
55
55
  }
@@ -57,7 +57,7 @@ const getPriceRatio = async (deps, input) => {
57
57
  const sellPrice = (0, bignumber_1.bn)(sellPool.balance_rune).dividedBy(sellPool.balance_asset);
58
58
  if (!buyPrice.gt(0) || !sellPrice.gt(0)) {
59
59
  throw new api_1.SwapError(`[getPriceRatio]: invalid pool price`, {
60
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
60
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
61
61
  details: { buyPrice, sellPrice },
62
62
  });
63
63
  }
@@ -67,7 +67,7 @@ const getPriceRatio = async (deps, input) => {
67
67
  if (e instanceof api_1.SwapError)
68
68
  throw e;
69
69
  throw new api_1.SwapError('[getPriceRatio]: Thorchain getPriceRatio failed', {
70
- code: api_1.SwapErrorTypes.PRICE_RATIO_FAILED,
70
+ code: api_1.SwapErrorType.PRICE_RATIO_FAILED,
71
71
  cause: e,
72
72
  });
73
73
  }
@@ -44,14 +44,14 @@ const getTradeRate = async (sellAsset, buyAssetId, sellAmountCryptoPrecision, de
44
44
  const sellPoolId = caip_1.adapters.assetIdToPoolAssetId({ assetId: sellAsset.assetId });
45
45
  if (!buyPoolId && !(0, isRune_1.isRune)(buyAssetId)) {
46
46
  throw new api_1.SwapError(`[getTradeRate]: No buyPoolId for asset ${buyAssetId}`, {
47
- code: api_1.SwapErrorTypes.POOL_NOT_FOUND,
47
+ code: api_1.SwapErrorType.POOL_NOT_FOUND,
48
48
  fn: 'getTradeRate',
49
49
  details: { buyAssetId },
50
50
  });
51
51
  }
52
52
  if (!sellPoolId && !(0, isRune_1.isRune)(sellAsset.assetId)) {
53
53
  throw new api_1.SwapError(`[getTradeRate]: No sellPoolId for asset ${sellAsset.assetId}`, {
54
- code: api_1.SwapErrorTypes.POOL_NOT_FOUND,
54
+ code: api_1.SwapErrorType.POOL_NOT_FOUND,
55
55
  fn: 'getTradeRate',
56
56
  details: { sellAsset: sellAsset.assetId },
57
57
  });
@@ -61,14 +61,14 @@ const getTradeRate = async (sellAsset, buyAssetId, sellAmountCryptoPrecision, de
61
61
  const sellPool = sellPoolId ? data.find((response) => response.asset === sellPoolId) : null;
62
62
  if (!buyPool && !(0, isRune_1.isRune)(buyAssetId)) {
63
63
  throw new api_1.SwapError(`[getTradeRate]: no pools found`, {
64
- code: api_1.SwapErrorTypes.POOL_NOT_FOUND,
64
+ code: api_1.SwapErrorType.POOL_NOT_FOUND,
65
65
  fn: 'getTradeRate',
66
66
  details: { buyPoolId, sellPoolId },
67
67
  });
68
68
  }
69
69
  if (!sellPool && !(0, isRune_1.isRune)(sellAsset.assetId)) {
70
70
  throw new api_1.SwapError(`[getTradeRate]: no pools found`, {
71
- code: api_1.SwapErrorTypes.POOL_NOT_FOUND,
71
+ code: api_1.SwapErrorType.POOL_NOT_FOUND,
72
72
  fn: 'getTradeRate',
73
73
  details: { buyPoolId, sellPoolId },
74
74
  });
@@ -30,7 +30,7 @@ const getRuneUsdPrice = async (daemonUrl) => {
30
30
  }, { aggregatedRuneUsdPrice: (0, bignumber_1.bn)(0), numPools: 0 });
31
31
  if (!numPools) {
32
32
  throw new api_1.SwapError('[getUsdRate]: no available usd pools', {
33
- code: api_1.SwapErrorTypes.USD_RATE_FAILED,
33
+ code: api_1.SwapErrorType.USD_RATE_FAILED,
34
34
  });
35
35
  }
36
36
  // aggregatedRuneUsdPrice / numPools = averageRuneUsdPrice
@@ -45,20 +45,20 @@ const getUsdRate = async (daemonUrl, assetId) => {
45
45
  const poolId = caip_1.adapters.assetIdToPoolAssetId({ assetId });
46
46
  if (!poolId) {
47
47
  throw new api_1.SwapError(`[getUsdRate]: no pool found for assetId: ${assetId}`, {
48
- code: api_1.SwapErrorTypes.USD_RATE_FAILED,
48
+ code: api_1.SwapErrorType.USD_RATE_FAILED,
49
49
  });
50
50
  }
51
51
  const { data } = await thorService_1.thorService.get(`${daemonUrl}/lcd/thorchain/pool/${poolId}`);
52
52
  if (data.status !== 'Available') {
53
53
  throw new api_1.SwapError('[getUsdRate]: pool is no longer available', {
54
- code: api_1.SwapErrorTypes.USD_RATE_FAILED,
54
+ code: api_1.SwapErrorType.USD_RATE_FAILED,
55
55
  });
56
56
  }
57
57
  const assetBalance = (0, bignumber_1.bnOrZero)(data.balance_asset);
58
58
  const runeBalance = (0, bignumber_1.bnOrZero)(data.balance_rune);
59
59
  if (assetBalance.isZero() || runeBalance.isZero()) {
60
60
  throw new api_1.SwapError('[getUsdRate]: pool has a zero balance', {
61
- code: api_1.SwapErrorTypes.USD_RATE_FAILED,
61
+ code: api_1.SwapErrorType.USD_RATE_FAILED,
62
62
  });
63
63
  }
64
64
  const runeUsdPrice = await getRuneUsdPrice(daemonUrl);
@@ -71,7 +71,7 @@ const getUsdRate = async (daemonUrl, assetId) => {
71
71
  if (e instanceof api_1.SwapError)
72
72
  throw e;
73
73
  throw new api_1.SwapError('[getUsdRate]: Thorchain getUsdRate failed', {
74
- code: api_1.SwapErrorTypes.USD_RATE_FAILED,
74
+ code: api_1.SwapErrorType.USD_RATE_FAILED,
75
75
  cause: e,
76
76
  });
77
77
  }
@@ -17,7 +17,7 @@ const makeSwapMemo = ({ buyAssetId, destinationAddress, limit, }) => {
17
17
  const thorId = isRune ? runeThorId : caip_1.adapters.assetIdToPoolAssetId({ assetId: buyAssetId });
18
18
  if (!thorId)
19
19
  throw new api_1.SwapError('[makeSwapMemo] - undefined thorId for given buyAssetId', {
20
- code: api_1.SwapErrorTypes.MAKE_MEMO_FAILED,
20
+ code: api_1.SwapErrorType.MAKE_MEMO_FAILED,
21
21
  details: { buyAssetId },
22
22
  });
23
23
  // bch hack
@@ -33,13 +33,13 @@ const makeSwapMemo = ({ buyAssetId, destinationAddress, limit, }) => {
33
33
  const abbreviationAmount = memo.length - MAX_LENGTH;
34
34
  if (abbreviationAmount > 39)
35
35
  throw new api_1.SwapError('[makeSwapMemo] - too much abbreviation for accurate matching', {
36
- code: api_1.SwapErrorTypes.MAKE_MEMO_FAILED,
36
+ code: api_1.SwapErrorType.MAKE_MEMO_FAILED,
37
37
  });
38
38
  // delimeter between ticker and id allowing us to abbreviate the id: https://dev.thorchain.org/thorchain-dev/memos#asset-notation
39
39
  const delimeterIndex = memo.indexOf('-') + 1;
40
40
  if (!delimeterIndex) {
41
41
  throw new api_1.SwapError('[makeSwapMemo] - unable to abbreviate asset, no delimeter found', {
42
- code: api_1.SwapErrorTypes.MAKE_MEMO_FAILED,
42
+ code: api_1.SwapErrorType.MAKE_MEMO_FAILED,
43
43
  });
44
44
  }
45
45
  return memo.replace(memo.slice(delimeterIndex, delimeterIndex + abbreviationAmount), '');
@@ -40,7 +40,7 @@ const getEvmTxFees = async ({ adapter, sellAssetReference, buyAssetTradeFeeUsd,
40
40
  catch (e) {
41
41
  if (e instanceof api_1.SwapError)
42
42
  throw e;
43
- throw new api_1.SwapError('[getThorTxInfo]', { cause: e, code: api_1.SwapErrorTypes.TRADE_QUOTE_FAILED });
43
+ throw new api_1.SwapError('[getThorTxInfo]', { cause: e, code: api_1.SwapErrorType.TRADE_QUOTE_FAILED });
44
44
  }
45
45
  };
46
46
  exports.getEvmTxFees = getEvmTxFees;
@@ -38,7 +38,7 @@ const getUtxoTxFees = async ({ opReturnData, vault, sellAmountCryptoBaseUnit, se
38
38
  catch (e) {
39
39
  if (e instanceof api_1.SwapError)
40
40
  throw e;
41
- throw new api_1.SwapError('[getUtxoTxFees]', { cause: e, code: api_1.SwapErrorTypes.TRADE_QUOTE_FAILED });
41
+ throw new api_1.SwapError('[getUtxoTxFees]', { cause: e, code: api_1.SwapErrorType.TRADE_QUOTE_FAILED });
42
42
  }
43
43
  };
44
44
  exports.getUtxoTxFees = getUtxoTxFees;
@@ -30,7 +30,7 @@ const isApprovalRequired = async ({ adapter, receiveAddress, allowanceContract,
30
30
  if (!allowanceOnChain) {
31
31
  throw new api_1.SwapError(`[isApprovalRequired] - No allowance data`, {
32
32
  details: { allowanceContract, receiveAddress },
33
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
33
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
34
34
  });
35
35
  }
36
36
  if ((0, bignumber_1.bn)(allowanceOnChain).isZero())
@@ -43,7 +43,7 @@ const isApprovalRequired = async ({ adapter, receiveAddress, allowanceContract,
43
43
  throw e;
44
44
  throw new api_1.SwapError('[isApprovalRequired]', {
45
45
  cause: e,
46
- code: api_1.SwapErrorTypes.ALLOWANCE_REQUIRED_FAILED,
46
+ code: api_1.SwapErrorType.ALLOWANCE_REQUIRED_FAILED,
47
47
  });
48
48
  }
49
49
  };
@@ -86,7 +86,7 @@ const grantAllowance = async ({ quote, wallet, adapter, erc20Abi, web3, }) => {
86
86
  }
87
87
  else {
88
88
  throw new api_1.SwapError('[grantAllowance] - invalid HDWallet config', {
89
- code: api_1.SwapErrorTypes.SIGN_AND_BROADCAST_FAILED,
89
+ code: api_1.SwapErrorType.SIGN_AND_BROADCAST_FAILED,
90
90
  });
91
91
  }
92
92
  }
@@ -95,7 +95,7 @@ const grantAllowance = async ({ quote, wallet, adapter, erc20Abi, web3, }) => {
95
95
  throw e;
96
96
  throw new api_1.SwapError('[grantAllowance]', {
97
97
  cause: e,
98
- code: api_1.SwapErrorTypes.GRANT_ALLOWANCE_FAILED,
98
+ code: api_1.SwapErrorType.GRANT_ALLOWANCE_FAILED,
99
99
  });
100
100
  }
101
101
  };
@@ -24,7 +24,7 @@ class ZrxSwapper {
24
24
  return api_1.SwapperType.ZrxAvalanche;
25
25
  default:
26
26
  throw new api_1.SwapError('[getType]', {
27
- code: api_1.SwapErrorTypes.UNSUPPORTED_CHAIN,
27
+ code: api_1.SwapErrorType.UNSUPPORTED_CHAIN,
28
28
  });
29
29
  }
30
30
  }
@@ -11,7 +11,7 @@ const getZrxMinMax = async (sellAsset, buyAsset) => {
11
11
  if (!((0, chain_adapters_1.isEvmChainId)(sellAsset.chainId) &&
12
12
  (0, chain_adapters_1.isEvmChainId)(buyAsset.chainId) &&
13
13
  buyAsset.chainId === sellAsset.chainId)) {
14
- throw new api_1.SwapError('[getZrxMinMax]', { code: api_1.SwapErrorTypes.UNSUPPORTED_PAIR });
14
+ throw new api_1.SwapError('[getZrxMinMax]', { code: api_1.SwapErrorType.UNSUPPORTED_PAIR });
15
15
  }
16
16
  const usdRate = await (0, helpers_1.getUsdRate)({ ...sellAsset });
17
17
  const minimum = (0, bignumber_1.bn)(1).dividedBy((0, bignumber_1.bnOrZero)(usdRate)).toString(); // $1 worth of the sell token.
@@ -24,7 +24,7 @@ const getZrxMinMax = async (sellAsset, buyAsset) => {
24
24
  catch (e) {
25
25
  if (e instanceof api_1.SwapError)
26
26
  throw e;
27
- throw new api_1.SwapError('[getZrxMinMax]', { cause: e, code: api_1.SwapErrorTypes.MIN_MAX_FAILED });
27
+ throw new api_1.SwapError('[getZrxMinMax]', { cause: e, code: api_1.SwapErrorType.MIN_MAX_FAILED });
28
28
  }
29
29
  };
30
30
  exports.getZrxMinMax = getZrxMinMax;
@@ -15,7 +15,7 @@ async function getZrxTradeQuote(input) {
15
15
  const { sellAsset, buyAsset, sellAmountBeforeFeesCryptoBaseUnit: sellAmountCryptoBaseUnit, accountNumber, } = input;
16
16
  if (buyAsset.chainId !== input.chainId || sellAsset.chainId !== input.chainId) {
17
17
  throw new api_1.SwapError('[getZrxTradeQuote] - Both assets need to be on the same supported EVM chain to use Zrx', {
18
- code: api_1.SwapErrorTypes.UNSUPPORTED_PAIR,
18
+ code: api_1.SwapErrorType.UNSUPPORTED_PAIR,
19
19
  details: { buyAssetChainId: buyAsset.chainId, sellAssetChainId: sellAsset.chainId },
20
20
  });
21
21
  }
@@ -82,7 +82,7 @@ async function getZrxTradeQuote(input) {
82
82
  catch (e) {
83
83
  if (e instanceof api_1.SwapError)
84
84
  throw e;
85
- throw new api_1.SwapError('[getZrxTradeQuote]', { cause: e, code: api_1.SwapErrorTypes.TRADE_QUOTE_FAILED });
85
+ throw new api_1.SwapError('[getZrxTradeQuote]', { cause: e, code: api_1.SwapErrorType.TRADE_QUOTE_FAILED });
86
86
  }
87
87
  }
88
88
  exports.getZrxTradeQuote = getZrxTradeQuote;
@@ -15,7 +15,7 @@ const baseUrlFromChainId = (chainId) => {
15
15
  return 'https://avalanche.api.0x.org/';
16
16
  default:
17
17
  throw new api_1.SwapError(`baseUrlFromChainId] - Unsupported chainId: ${chainId}`, {
18
- code: api_1.SwapErrorTypes.UNSUPPORTED_CHAIN,
18
+ code: api_1.SwapErrorType.UNSUPPORTED_CHAIN,
19
19
  });
20
20
  }
21
21
  };
@@ -29,7 +29,7 @@ const usdcContractFromChainId = (chainId) => {
29
29
  return '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e';
30
30
  default:
31
31
  throw new api_1.SwapError(`usdcContractFromChainId] - Unsupported chainId: ${chainId}`, {
32
- code: api_1.SwapErrorTypes.UNSUPPORTED_CHAIN,
32
+ code: api_1.SwapErrorType.UNSUPPORTED_CHAIN,
33
33
  });
34
34
  }
35
35
  };
@@ -65,7 +65,7 @@ const getUsdRate = async (asset) => {
65
65
  const price = (0, bignumber_1.bnOrZero)(rateResponse.data.price);
66
66
  if (!price.gt(0))
67
67
  throw new api_1.SwapError('[getUsdRate] - Failed to get price data', {
68
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
68
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
69
69
  });
70
70
  return (0, bignumber_1.bn)(1).dividedBy(price).toString();
71
71
  }
@@ -74,7 +74,7 @@ const getUsdRate = async (asset) => {
74
74
  throw e;
75
75
  throw new api_1.SwapError('[getUsdRate]', {
76
76
  cause: e,
77
- code: api_1.SwapErrorTypes.USD_RATE_FAILED,
77
+ code: api_1.SwapErrorType.USD_RATE_FAILED,
78
78
  });
79
79
  }
80
80
  };
@@ -13,7 +13,7 @@ async function zrxApprovalNeeded({ adapter, web3 }, { quote, wallet }) {
13
13
  try {
14
14
  if (sellAsset.chainId !== adapter.getChainId()) {
15
15
  throw new api_1.SwapError('[zrxApprovalNeeded] - sellAsset chainId is not supported', {
16
- code: api_1.SwapErrorTypes.UNSUPPORTED_CHAIN,
16
+ code: api_1.SwapErrorType.UNSUPPORTED_CHAIN,
17
17
  details: { chainId: sellAsset.chainId },
18
18
  });
19
19
  }
@@ -25,7 +25,7 @@ async function zrxApprovalNeeded({ adapter, web3 }, { quote, wallet }) {
25
25
  const receiveAddress = await adapter.getAddress({ accountNumber, wallet });
26
26
  if (!quote.allowanceContract) {
27
27
  throw new api_1.SwapError('[zrxApprovalNeeded] - allowanceTarget is required', {
28
- code: api_1.SwapErrorTypes.VALIDATION_FAILED,
28
+ code: api_1.SwapErrorType.VALIDATION_FAILED,
29
29
  details: { chainId: sellAsset.chainId },
30
30
  });
31
31
  }
@@ -39,7 +39,7 @@ async function zrxApprovalNeeded({ adapter, web3 }, { quote, wallet }) {
39
39
  const allowanceOnChain = (0, bignumber_1.bnOrZero)(allowanceResult);
40
40
  if (!((_a = quote.feeData.chainSpecific) === null || _a === void 0 ? void 0 : _a.gasPriceCryptoBaseUnit))
41
41
  throw new api_1.SwapError('[zrxApprovalNeeded] - no gas price with quote', {
42
- code: api_1.SwapErrorTypes.RESPONSE_ERROR,
42
+ code: api_1.SwapErrorType.RESPONSE_ERROR,
43
43
  details: { feeData: quote.feeData },
44
44
  });
45
45
  return {
@@ -51,7 +51,7 @@ async function zrxApprovalNeeded({ adapter, web3 }, { quote, wallet }) {
51
51
  throw e;
52
52
  throw new api_1.SwapError('[zrxApprovalNeeded]', {
53
53
  cause: e,
54
- code: api_1.SwapErrorTypes.CHECK_APPROVAL_FAILED,
54
+ code: api_1.SwapErrorType.CHECK_APPROVAL_FAILED,
55
55
  });
56
56
  }
57
57
  }
@@ -41,7 +41,7 @@ async function zrxApproveAmount(deps, args) {
41
41
  throw e;
42
42
  throw new api_1.SwapError('[zrxApproveAmount]', {
43
43
  cause: e,
44
- code: api_1.SwapErrorTypes.APPROVE_AMOUNT_FAILED,
44
+ code: api_1.SwapErrorType.APPROVE_AMOUNT_FAILED,
45
45
  });
46
46
  }
47
47
  }
@@ -55,7 +55,7 @@ async function zrxApproveInfinite(deps, args) {
55
55
  throw e;
56
56
  throw new api_1.SwapError('[zrxApproveInfinite]', {
57
57
  cause: e,
58
- code: api_1.SwapErrorTypes.APPROVE_INFINITE_FAILED,
58
+ code: api_1.SwapErrorType.APPROVE_INFINITE_FAILED,
59
59
  });
60
60
  }
61
61
  }
@@ -45,7 +45,7 @@ async function zrxBuildTrade({ adapter, web3 }, input) {
45
45
  const adapterChainId = adapter.getChainId();
46
46
  if (buyAsset.chainId !== adapterChainId) {
47
47
  throw new api_1.SwapError(`[zrxBuildTrade] - buyAsset must be on chainId ${adapterChainId}`, {
48
- code: api_1.SwapErrorTypes.VALIDATION_FAILED,
48
+ code: api_1.SwapErrorType.VALIDATION_FAILED,
49
49
  details: { chainId: sellAsset.chainId },
50
50
  });
51
51
  }
@@ -133,7 +133,7 @@ async function zrxBuildTrade({ adapter, web3 }, input) {
133
133
  if (e instanceof api_1.SwapError)
134
134
  throw e;
135
135
  throw new api_1.SwapError('[zrxBuildTrade]', {
136
- code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
136
+ code: api_1.SwapErrorType.BUILD_TRADE_FAILED,
137
137
  });
138
138
  }
139
139
  }
@@ -38,7 +38,7 @@ async function zrxExecuteTrade({ adapter }, { trade, wallet }) {
38
38
  }
39
39
  else {
40
40
  throw new api_1.SwapError('[zrxExecuteTrade]', {
41
- code: api_1.SwapErrorTypes.SIGN_AND_BROADCAST_FAILED,
41
+ code: api_1.SwapErrorType.SIGN_AND_BROADCAST_FAILED,
42
42
  });
43
43
  }
44
44
  }
@@ -47,7 +47,7 @@ async function zrxExecuteTrade({ adapter }, { trade, wallet }) {
47
47
  throw e;
48
48
  throw new api_1.SwapError('[zrxExecuteTrade]', {
49
49
  cause: e,
50
- code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED,
50
+ code: api_1.SwapErrorType.EXECUTE_TRADE_FAILED,
51
51
  });
52
52
  }
53
53
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapeshiftoss/swapper",
3
- "version": "15.2.1",
3
+ "version": "15.3.0",
4
4
  "description": "An interface and implementations to trade coins via various protocols",
5
5
  "repository": "https://github.com/shapeshift/lib",
6
6
  "license": "MIT",