@shapeshiftoss/swapper 9.15.0 → 9.15.1

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 (66) hide show
  1. package/dist/manager/SwapperManager.js +3 -3
  2. package/dist/swappercli.js +8 -8
  3. package/dist/swappers/cow/CowSwapper.js +1 -1
  4. package/dist/swappers/cow/cowApprovalNeeded/cowApprovalNeeded.js +4 -4
  5. package/dist/swappers/cow/cowApproveInfinite/cowApproveInfinite.js +3 -3
  6. package/dist/swappers/cow/cowBuildTrade/cowBuildTrade.js +11 -11
  7. package/dist/swappers/cow/cowExecuteTrade/cowExecuteTrade.js +7 -7
  8. package/dist/swappers/cow/cowGetTradeTxs/cowGetTradeTxs.js +4 -4
  9. package/dist/swappers/cow/getCowSwapMinMax/getCowSwapMinMax.js +1 -1
  10. package/dist/swappers/cow/getCowSwapTradeQuote/getCowSwapTradeQuote.js +12 -12
  11. package/dist/swappers/cow/utils/blacklist.js +1 -1
  12. package/dist/swappers/cow/utils/cowService.js +2 -2
  13. package/dist/swappers/cow/utils/helpers/helpers.js +7 -7
  14. package/dist/swappers/osmosis/OsmosisSwapper.js +20 -20
  15. package/dist/swappers/osmosis/utils/helpers.d.ts +1 -1
  16. package/dist/swappers/osmosis/utils/helpers.js +35 -35
  17. package/dist/swappers/test/TestSwapper.js +2 -2
  18. package/dist/swappers/thorchain/ThorchainSwapper.js +13 -13
  19. package/dist/swappers/thorchain/buildThorTrade/buildThorTrade.d.ts +1 -1
  20. package/dist/swappers/thorchain/buildThorTrade/buildThorTrade.js +14 -14
  21. package/dist/swappers/thorchain/getThorTradeQuote/getTradeQuote.js +14 -14
  22. package/dist/swappers/thorchain/thorTradeApprovalNeeded/thorTradeApprovalNeeded.d.ts +1 -1
  23. package/dist/swappers/thorchain/thorTradeApprovalNeeded/thorTradeApprovalNeeded.js +7 -7
  24. package/dist/swappers/thorchain/thorTradeApproveInfinite/thorTradeApproveInfinite.d.ts +1 -1
  25. package/dist/swappers/thorchain/thorTradeApproveInfinite/thorTradeApproveInfinite.js +7 -7
  26. package/dist/swappers/thorchain/utils/bitcoin/utils/getThorTxData.js +5 -5
  27. package/dist/swappers/thorchain/utils/constants.js +1 -1
  28. package/dist/swappers/thorchain/utils/cosmos/cosmosTxData.js +6 -6
  29. package/dist/swappers/thorchain/utils/estimateTradeFee/estimateTradeFee.js +6 -6
  30. package/dist/swappers/thorchain/utils/ethereum/makeTradeTx.d.ts +1 -1
  31. package/dist/swappers/thorchain/utils/ethereum/makeTradeTx.js +6 -6
  32. package/dist/swappers/thorchain/utils/ethereum/utils/getThorTxData.js +5 -5
  33. package/dist/swappers/thorchain/utils/getLimit/getLimit.d.ts +1 -1
  34. package/dist/swappers/thorchain/utils/getLimit/getLimit.js +2 -2
  35. package/dist/swappers/thorchain/utils/getPriceRatio/getPriceRatio.js +3 -3
  36. package/dist/swappers/thorchain/utils/getTradeRate/getTradeRate.js +5 -5
  37. package/dist/swappers/thorchain/utils/getUsdRate/getUsdRate.d.ts +1 -1
  38. package/dist/swappers/thorchain/utils/getUsdRate/getUsdRate.js +4 -4
  39. package/dist/swappers/thorchain/utils/makeSwapMemo/makeSwapMemo.d.ts +1 -1
  40. package/dist/swappers/thorchain/utils/makeSwapMemo/makeSwapMemo.js +4 -4
  41. package/dist/swappers/thorchain/utils/test-data/midgardResponse.js +11 -11
  42. package/dist/swappers/thorchain/utils/test-data/setupThorswapDeps.js +9 -9
  43. package/dist/swappers/thorchain/utils/thorService.js +2 -2
  44. package/dist/swappers/thorchain/utils/txFeeHelpers/btcTxFees/getBtcTxFees.d.ts +1 -1
  45. package/dist/swappers/thorchain/utils/txFeeHelpers/btcTxFees/getBtcTxFees.js +4 -4
  46. package/dist/swappers/thorchain/utils/txFeeHelpers/ethTxFees/getEthTxFees.d.ts +1 -1
  47. package/dist/swappers/thorchain/utils/txFeeHelpers/ethTxFees/getEthTxFees.js +7 -7
  48. package/dist/swappers/utils/abi/erc20-abi.js +54 -54
  49. package/dist/swappers/utils/abi/erc20Allowance-abi.js +7 -7
  50. package/dist/swappers/utils/helpers/helpers.d.ts +4 -4
  51. package/dist/swappers/utils/helpers/helpers.js +13 -13
  52. package/dist/swappers/utils/test-data/assets.js +8 -8
  53. package/dist/swappers/utils/test-data/setupDeps.js +3 -3
  54. package/dist/swappers/utils/test-data/setupSwapQuote.js +3 -3
  55. package/dist/swappers/zrx/ZrxSwapper.js +2 -2
  56. package/dist/swappers/zrx/getZrxMinMax/getZrxMinMax.js +1 -1
  57. package/dist/swappers/zrx/getZrxTradeQuote/getZrxTradeQuote.js +7 -7
  58. package/dist/swappers/zrx/utils/blacklist.js +1 -1
  59. package/dist/swappers/zrx/utils/helpers/helpers.js +6 -6
  60. package/dist/swappers/zrx/utils/test-data/setupZrxSwapQuote.js +2 -2
  61. package/dist/swappers/zrx/utils/zrxService.js +2 -2
  62. package/dist/swappers/zrx/zrxApprovalNeeded/zrxApprovalNeeded.js +6 -6
  63. package/dist/swappers/zrx/zrxApprove/zrxApprove.js +6 -6
  64. package/dist/swappers/zrx/zrxBuildTrade/zrxBuildTrade.js +13 -11
  65. package/dist/swappers/zrx/zrxExecuteTrade/zrxExecuteTrade.js +6 -6
  66. package/package.json +1 -1
@@ -22,7 +22,7 @@ export declare const getRateInfo: (sellAsset: string, buyAsset: string, sellAmou
22
22
  buyAmount: string;
23
23
  }>;
24
24
  export declare const performIbcTransfer: (input: IbcTransferInput, adapter: CosmosSdkSupportedChainAdapters, wallet: HDWallet, blockBaseUrl: string, denom: string, sourceChannel: string, feeAmount: string, accountNumber: string, sequence: string, gas: string) => Promise<TradeResult>;
25
- export declare const buildTradeTx: ({ osmoAddress, adapter, buyAssetDenom, sellAssetDenom, sellAmount, gas, wallet }: {
25
+ export declare const buildTradeTx: ({ osmoAddress, adapter, buyAssetDenom, sellAssetDenom, sellAmount, gas, wallet, }: {
26
26
  osmoAddress: string;
27
27
  adapter: osmosis.ChainAdapter;
28
28
  buyAssetDenom: string;
@@ -15,7 +15,7 @@ const constants_1 = require("./constants");
15
15
  exports.symbolDenomMapping = {
16
16
  OSMO: 'uosmo',
17
17
  ATOM: 'ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2',
18
- USDC: 'ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858'
18
+ USDC: 'ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858',
19
19
  };
20
20
  const txStatus = async (txid, baseUrl) => {
21
21
  var _a, _b, _c;
@@ -44,7 +44,7 @@ const pollForComplete = async (txid, baseUrl) => {
44
44
  }
45
45
  else if (Date.now() - startTime > timeout) {
46
46
  reject(new index_1.SwapError(`Couldnt find tx ${txid}`, {
47
- code: index_1.SwapErrorTypes.RESPONSE_ERROR
47
+ code: index_1.SwapErrorTypes.RESPONSE_ERROR,
48
48
  }));
49
49
  }
50
50
  else {
@@ -62,7 +62,7 @@ const getAtomChannelBalance = async (address, osmoUrl) => {
62
62
  }
63
63
  catch (e) {
64
64
  throw new index_1.SwapError('failed to get balance', {
65
- code: index_1.SwapErrorTypes.RESPONSE_ERROR
65
+ code: index_1.SwapErrorTypes.RESPONSE_ERROR,
66
66
  });
67
67
  }
68
68
  })();
@@ -89,7 +89,7 @@ const pollForAtomChannelBalance = async (address, osmoUrl) => {
89
89
  }
90
90
  else if (Date.now() - startTime > timeout) {
91
91
  reject(new index_1.SwapError(`Couldnt find channel balance for ${address}`, {
92
- code: index_1.SwapErrorTypes.RESPONSE_ERROR
92
+ code: index_1.SwapErrorTypes.RESPONSE_ERROR,
93
93
  }));
94
94
  }
95
95
  else {
@@ -110,7 +110,7 @@ const findPool = async (sellAssetSymbol, buyAssetSymbol, osmoUrl) => {
110
110
  }
111
111
  catch (e) {
112
112
  throw new index_1.SwapError('failed to get pool', {
113
- code: index_1.SwapErrorTypes.POOL_NOT_FOUND
113
+ code: index_1.SwapErrorTypes.POOL_NOT_FOUND,
114
114
  });
115
115
  }
116
116
  })();
@@ -122,7 +122,7 @@ const findPool = async (sellAssetSymbol, buyAssetSymbol, osmoUrl) => {
122
122
  });
123
123
  if (!foundPool)
124
124
  throw new index_1.SwapError('could not find pool', {
125
- code: index_1.SwapErrorTypes.POOL_NOT_FOUND
125
+ code: index_1.SwapErrorTypes.POOL_NOT_FOUND,
126
126
  });
127
127
  const { sellAssetIndex, buyAssetIndex } = (() => {
128
128
  if (foundPool.poolAssets[0].token.denom === sellAssetDenom) {
@@ -151,7 +151,7 @@ const getInfoFromPool = (sellAmount, pool, sellAssetIndex, buyAssetIndex) => {
151
151
  rate,
152
152
  priceImpact,
153
153
  tradeFee,
154
- buyAmount
154
+ buyAmount,
155
155
  };
156
156
  };
157
157
  const getRateInfo = async (sellAsset, buyAsset, sellAmount, osmoUrl) => {
@@ -168,13 +168,13 @@ const performIbcTransfer = async (input, adapter, wallet, blockBaseUrl, denom, s
168
168
  }
169
169
  catch (e) {
170
170
  throw new index_1.SwapError('failed to get latest block', {
171
- code: index_1.SwapErrorTypes.RESPONSE_ERROR
171
+ code: index_1.SwapErrorTypes.RESPONSE_ERROR,
172
172
  });
173
173
  }
174
174
  })();
175
175
  const latestBlock = responseLatestBlock.data.block.header.height;
176
176
  const bip44Params = adapter.buildBIP44Params({
177
- accountNumber: 0 // TODO: Use real accountNumbers
177
+ accountNumber: 0, // TODO: Use real accountNumbers
178
178
  });
179
179
  const path = (0, chain_adapters_1.toPath)(bip44Params);
180
180
  const addressNList = (0, hdwallet_core_1.bip32ToAddressNList)(path);
@@ -184,10 +184,10 @@ const performIbcTransfer = async (input, adapter, wallet, blockBaseUrl, denom, s
184
184
  amount: [
185
185
  {
186
186
  amount: feeAmount.toString(),
187
- denom: 'uosmo'
188
- }
187
+ denom: 'uosmo',
188
+ },
189
189
  ],
190
- gas
190
+ gas,
191
191
  },
192
192
  signatures: null,
193
193
  msg: [
@@ -198,17 +198,17 @@ const performIbcTransfer = async (input, adapter, wallet, blockBaseUrl, denom, s
198
198
  source_channel: sourceChannel,
199
199
  token: {
200
200
  denom,
201
- amount
201
+ amount,
202
202
  },
203
203
  sender,
204
204
  receiver,
205
205
  timeout_height: {
206
206
  revision_number: '4',
207
- revision_height: String(Number(latestBlock) + 100)
208
- }
209
- }
210
- }
211
- ]
207
+ revision_height: String(Number(latestBlock) + 100),
208
+ },
209
+ },
210
+ },
211
+ ],
212
212
  };
213
213
  const signed = await adapter.signTransaction({
214
214
  txToSign: {
@@ -216,23 +216,23 @@ const performIbcTransfer = async (input, adapter, wallet, blockBaseUrl, denom, s
216
216
  addressNList,
217
217
  chain_id: caip_1.CHAIN_REFERENCE.OsmosisMainnet,
218
218
  account_number: accountNumber,
219
- sequence
219
+ sequence,
220
220
  },
221
- wallet
221
+ wallet,
222
222
  });
223
223
  const tradeId = await adapter.broadcastTransaction(signed);
224
224
  return {
225
- tradeId
225
+ tradeId,
226
226
  };
227
227
  };
228
228
  exports.performIbcTransfer = performIbcTransfer;
229
229
  // TODO: move to chain adapters
230
- const buildTradeTx = async ({ osmoAddress, adapter, buyAssetDenom, sellAssetDenom, sellAmount, gas, wallet }) => {
230
+ const buildTradeTx = async ({ osmoAddress, adapter, buyAssetDenom, sellAssetDenom, sellAmount, gas, wallet, }) => {
231
231
  const responseAccount = await adapter.getAccount(osmoAddress);
232
232
  const accountNumber = responseAccount.chainSpecific.accountNumber || '0';
233
233
  const sequence = responseAccount.chainSpecific.sequence || '0';
234
234
  const bip44Params = adapter.buildBIP44Params({
235
- accountNumber: 0 // TODO: Use real accountNumbers
235
+ accountNumber: 0, // TODO: Use real accountNumbers
236
236
  });
237
237
  const path = (0, chain_adapters_1.toPath)(bip44Params);
238
238
  const osmoAddressNList = (0, hdwallet_core_1.bip32ToAddressNList)(path);
@@ -242,10 +242,10 @@ const buildTradeTx = async ({ osmoAddress, adapter, buyAssetDenom, sellAssetDeno
242
242
  amount: [
243
243
  {
244
244
  amount: '0',
245
- denom: 'uosmo'
246
- }
245
+ denom: 'uosmo',
246
+ },
247
247
  ],
248
- gas
248
+ gas,
249
249
  },
250
250
  signatures: null,
251
251
  msg: [
@@ -256,17 +256,17 @@ const buildTradeTx = async ({ osmoAddress, adapter, buyAssetDenom, sellAssetDeno
256
256
  routes: [
257
257
  {
258
258
  poolId: '1',
259
- tokenOutDenom: buyAssetDenom
260
- }
259
+ tokenOutDenom: buyAssetDenom,
260
+ },
261
261
  ],
262
262
  tokenIn: {
263
263
  denom: sellAssetDenom,
264
- amount: sellAmount
264
+ amount: sellAmount,
265
265
  },
266
- tokenOutMinAmount: '1' // slippage tolerance
267
- }
268
- }
269
- ]
266
+ tokenOutMinAmount: '1', // slippage tolerance
267
+ },
268
+ },
269
+ ],
270
270
  };
271
271
  return {
272
272
  txToSign: {
@@ -274,9 +274,9 @@ const buildTradeTx = async ({ osmoAddress, adapter, buyAssetDenom, sellAssetDeno
274
274
  addressNList: osmoAddressNList,
275
275
  chain_id: caip_1.CHAIN_REFERENCE.OsmosisMainnet,
276
276
  account_number: accountNumber,
277
- sequence
277
+ sequence,
278
278
  },
279
- wallet
279
+ wallet,
280
280
  };
281
281
  };
282
282
  exports.buildTradeTx = buildTradeTx;
@@ -12,7 +12,7 @@ class TestSwapper {
12
12
  this.supportAssets = [
13
13
  'bip122:000000000019d6689c085ae165831e93/slip44:0',
14
14
  'cosmos:cosmoshub-4/slip44:118',
15
- 'eip155:1/erc20:0xc770eefad204b5180df6a14ee197d99d808ee52d'
15
+ 'eip155:1/erc20:0xc770eefad204b5180df6a14ee197d99d808ee52d',
16
16
  ];
17
17
  }
18
18
  // noop for test
@@ -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.SwapErrorTypes.RESPONSE_ERROR,
37
37
  });
38
38
  }
39
39
  filterBuyAssetsBySellAssetId(args) {
@@ -34,7 +34,7 @@ class ThorchainSwapper {
34
34
  [types_1.KnownChainIds.DogecoinMainnet]: true,
35
35
  [types_1.KnownChainIds.LitecoinMainnet]: true,
36
36
  [types_1.KnownChainIds.BitcoinCashMainnet]: true,
37
- [types_1.KnownChainIds.CosmosMainnet]: true
37
+ [types_1.KnownChainIds.CosmosMainnet]: true,
38
38
  };
39
39
  this.buySupportedChainIds = {
40
40
  [types_1.KnownChainIds.EthereumMainnet]: true,
@@ -42,7 +42,7 @@ class ThorchainSwapper {
42
42
  [types_1.KnownChainIds.DogecoinMainnet]: true,
43
43
  [types_1.KnownChainIds.LitecoinMainnet]: true,
44
44
  [types_1.KnownChainIds.BitcoinCashMainnet]: true,
45
- [types_1.KnownChainIds.CosmosMainnet]: true
45
+ [types_1.KnownChainIds.CosmosMainnet]: true,
46
46
  };
47
47
  this.supportedSellAssetIds = [];
48
48
  this.supportedBuyAssetIds = [];
@@ -69,7 +69,7 @@ class ThorchainSwapper {
69
69
  catch (e) {
70
70
  throw new api_1.SwapError('[thorchainInitialize]: initialize failed to set supportedAssetIds', {
71
71
  code: api_1.SwapErrorTypes.INITIALIZE_FAILED,
72
- cause: e
72
+ cause: e,
73
73
  });
74
74
  }
75
75
  }
@@ -87,7 +87,7 @@ class ThorchainSwapper {
87
87
  }
88
88
  async approveAmount() {
89
89
  throw new api_1.SwapError('ThorchainSwapper: approveAmount unimplemented', {
90
- code: api_1.SwapErrorTypes.RESPONSE_ERROR
90
+ code: api_1.SwapErrorTypes.RESPONSE_ERROR,
91
91
  });
92
92
  }
93
93
  filterBuyAssetsBySellAssetId(args) {
@@ -113,13 +113,13 @@ class ThorchainSwapper {
113
113
  throw new api_1.SwapError('[executeTrade]: no adapter for sell asset chain id', {
114
114
  code: api_1.SwapErrorTypes.SIGN_AND_BROADCAST_FAILED,
115
115
  details: { chainId: trade.sellAsset.chainId },
116
- fn: 'executeTrade'
116
+ fn: 'executeTrade',
117
117
  });
118
118
  const { chainNamespace } = (0, caip_1.fromAssetId)(trade.sellAsset.assetId);
119
119
  if (chainNamespace === caip_1.CHAIN_NAMESPACE.Ethereum) {
120
120
  const signedTx = await adapter.signTransaction({
121
121
  txToSign: trade.txData,
122
- wallet
122
+ wallet,
123
123
  });
124
124
  const txid = await adapter.broadcastTransaction(signedTx);
125
125
  return { tradeId: txid };
@@ -127,7 +127,7 @@ class ThorchainSwapper {
127
127
  else if (chainNamespace === caip_1.CHAIN_NAMESPACE.Bitcoin) {
128
128
  const signedTx = await adapter.signTransaction({
129
129
  txToSign: trade.txData,
130
- wallet
130
+ wallet,
131
131
  });
132
132
  const txid = await adapter.broadcastTransaction(signedTx);
133
133
  return { tradeId: txid };
@@ -135,7 +135,7 @@ class ThorchainSwapper {
135
135
  else if (chainNamespace === caip_1.CHAIN_NAMESPACE.Cosmos) {
136
136
  const signedTx = await adapter.signTransaction({
137
137
  txToSign: trade.txData,
138
- wallet
138
+ wallet,
139
139
  });
140
140
  const txid = await adapter.broadcastTransaction(signedTx);
141
141
  return { tradeId: txid };
@@ -143,7 +143,7 @@ class ThorchainSwapper {
143
143
  else {
144
144
  throw new api_1.SwapError('[executeTrade]: unsupported trade', {
145
145
  code: api_1.SwapErrorTypes.SIGN_AND_BROADCAST_FAILED,
146
- fn: 'executeTrade'
146
+ fn: 'executeTrade',
147
147
  });
148
148
  }
149
149
  }
@@ -152,7 +152,7 @@ class ThorchainSwapper {
152
152
  throw e;
153
153
  throw new api_1.SwapError('[executeTrade]: failed to sign or broadcast', {
154
154
  code: api_1.SwapErrorTypes.SIGN_AND_BROADCAST_FAILED,
155
- cause: e
155
+ cause: e,
156
156
  });
157
157
  }
158
158
  }
@@ -171,14 +171,14 @@ class ThorchainSwapper {
171
171
  ((_d = responseData === null || responseData === void 0 ? void 0 : responseData.actions[0]) === null || _d === void 0 ? void 0 : _d.type) !== 'swap')
172
172
  throw new api_1.SwapError('[getTradeTxs]: trade failed', {
173
173
  code: api_1.SwapErrorTypes.TRADE_FAILED,
174
- cause: responseData
174
+ cause: responseData,
175
175
  });
176
176
  const standardBuyTxid = ((_g = (_f = (_e = responseData === null || responseData === void 0 ? void 0 : responseData.actions[0]) === null || _e === void 0 ? void 0 : _e.out[0]) === null || _f === void 0 ? void 0 : _f.coins[0]) === null || _g === void 0 ? void 0 : _g.asset.startsWith('ETH.'))
177
177
  ? `0x${buyTxid}`
178
178
  : buyTxid;
179
179
  return {
180
180
  sellTxid: tradeResult.tradeId,
181
- buyTxid: standardBuyTxid.toLowerCase()
181
+ buyTxid: standardBuyTxid.toLowerCase(),
182
182
  };
183
183
  }
184
184
  catch (e) {
@@ -186,7 +186,7 @@ class ThorchainSwapper {
186
186
  throw e;
187
187
  throw new api_1.SwapError('[getTradeTxs]: error', {
188
188
  code: api_1.SwapErrorTypes.GET_TRADE_TXS_FAILED,
189
- cause: e
189
+ cause: e,
190
190
  });
191
191
  }
192
192
  }
@@ -1,7 +1,7 @@
1
1
  import { ChainId } from '@shapeshiftoss/caip';
2
2
  import { BuildTradeInput } from '../../../api';
3
3
  import { ThorchainSwapperDeps, ThorTrade } from '../types';
4
- export declare const buildTrade: ({ deps, input }: {
4
+ export declare const buildTrade: ({ deps, input, }: {
5
5
  deps: ThorchainSwapperDeps;
6
6
  input: BuildTradeInput;
7
7
  }) => Promise<ThorTrade<ChainId>>;
@@ -9,22 +9,22 @@ const getTradeQuote_1 = require("../getThorTradeQuote/getTradeQuote");
9
9
  const getThorTxData_1 = require("../utils/bitcoin/utils/getThorTxData");
10
10
  const cosmosTxData_1 = require("../utils/cosmos/cosmosTxData");
11
11
  const makeTradeTx_1 = require("../utils/ethereum/makeTradeTx");
12
- const buildTrade = async ({ deps, input }) => {
12
+ const buildTrade = async ({ deps, input, }) => {
13
13
  var _a, _b, _c, _d;
14
14
  try {
15
- const { buyAsset, sellAsset, sellAssetAccountNumber, sellAmount, wallet, slippage: slippageTolerance = constants_1.DEFAULT_SLIPPAGE, receiveAddress: destinationAddress } = input;
15
+ const { buyAsset, sellAsset, sellAssetAccountNumber, sellAmount, wallet, slippage: slippageTolerance = constants_1.DEFAULT_SLIPPAGE, receiveAddress: destinationAddress, } = input;
16
16
  const quote = await (0, getTradeQuote_1.getThorTradeQuote)({ 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
20
  code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
21
21
  fn: 'buildTrade',
22
- details: { sellAsset }
22
+ details: { sellAsset },
23
23
  });
24
24
  const { chainNamespace } = (0, caip_1.fromAssetId)(sellAsset.assetId);
25
25
  if (chainNamespace === caip_1.CHAIN_NAMESPACE.Ethereum) {
26
26
  const sellAssetBip44Params = sellAdapter.buildBIP44Params({
27
- accountNumber: sellAssetAccountNumber
27
+ accountNumber: sellAssetAccountNumber,
28
28
  });
29
29
  const ethTradeTx = await (0, makeTradeTx_1.makeTradeTx)({
30
30
  wallet,
@@ -38,13 +38,13 @@ const buildTrade = async ({ deps, input }) => {
38
38
  deps,
39
39
  gasPrice: (_b = (_a = quote.feeData.chainSpecific) === null || _a === void 0 ? void 0 : _a.gasPrice) !== null && _b !== void 0 ? _b : '0',
40
40
  gasLimit: (_d = (_c = quote.feeData.chainSpecific) === null || _c === void 0 ? void 0 : _c.estimatedGas) !== null && _d !== void 0 ? _d : '0',
41
- tradeFee: quote.feeData.tradeFee
41
+ tradeFee: quote.feeData.tradeFee,
42
42
  });
43
43
  return {
44
44
  chainId: types_1.KnownChainIds.EthereumMainnet,
45
45
  ...quote,
46
46
  receiveAddress: destinationAddress,
47
- txData: ethTradeTx.txToSign
47
+ txData: ethTradeTx.txToSign,
48
48
  };
49
49
  }
50
50
  else if (chainNamespace === caip_1.CHAIN_NAMESPACE.Bitcoin) {
@@ -58,7 +58,7 @@ const buildTrade = async ({ deps, input }) => {
58
58
  wallet,
59
59
  bip44Params: input.bip44Params,
60
60
  accountType: input.accountType,
61
- tradeFee: quote.feeData.tradeFee
61
+ tradeFee: quote.feeData.tradeFee,
62
62
  });
63
63
  const buildTxResponse = await sellAdapter.buildSendTransaction({
64
64
  value: sellAmount,
@@ -69,14 +69,14 @@ const buildTrade = async ({ deps, input }) => {
69
69
  accountType: input.accountType,
70
70
  satoshiPerByte: quote.feeData.chainSpecific
71
71
  .satsPerByte,
72
- opReturnData
73
- }
72
+ opReturnData,
73
+ },
74
74
  });
75
75
  return {
76
76
  chainId: sellAsset.chainId,
77
77
  ...quote,
78
78
  receiveAddress: destinationAddress,
79
- txData: buildTxResponse.txToSign
79
+ txData: buildTxResponse.txToSign,
80
80
  };
81
81
  }
82
82
  else if (chainNamespace === caip_1.CHAIN_NAMESPACE.Cosmos) {
@@ -90,20 +90,20 @@ const buildTrade = async ({ deps, input }) => {
90
90
  buyAsset,
91
91
  wallet,
92
92
  destinationAddress,
93
- quote: quote
93
+ quote: quote,
94
94
  });
95
95
  return {
96
96
  chainId: types_1.KnownChainIds.CosmosMainnet,
97
97
  ...quote,
98
98
  receiveAddress: destinationAddress,
99
- txData
99
+ txData,
100
100
  };
101
101
  }
102
102
  else {
103
103
  throw new api_1.SwapError('[buildTrade]: unsupported chain id', {
104
104
  code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
105
105
  fn: 'buildTrade',
106
- details: { sellAsset }
106
+ details: { sellAsset },
107
107
  });
108
108
  }
109
109
  }
@@ -112,7 +112,7 @@ const buildTrade = async ({ deps, input }) => {
112
112
  throw e;
113
113
  throw new api_1.SwapError('[buildTrade]: error building trade', {
114
114
  code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
115
- fn: 'buildTrade'
115
+ fn: 'buildTrade',
116
116
  });
117
117
  }
118
118
  };
@@ -13,10 +13,10 @@ const getTradeRate_1 = require("../utils/getTradeRate/getTradeRate");
13
13
  const getBtcTxFees_1 = require("../utils/txFeeHelpers/btcTxFees/getBtcTxFees");
14
14
  const getEthTxFees_1 = require("../utils/txFeeHelpers/ethTxFees/getEthTxFees");
15
15
  const getThorTradeQuote = async ({ deps, input }) => {
16
- const { sellAsset, buyAsset, sellAmount, sellAssetAccountNumber, wallet, chainId, receiveAddress } = input;
16
+ const { sellAsset, buyAsset, sellAmount, sellAssetAccountNumber, wallet, chainId, receiveAddress, } = input;
17
17
  if (!wallet)
18
18
  throw new api_1.SwapError('[getThorTradeQuote] - wallet is required', {
19
- code: api_1.SwapErrorTypes.VALIDATION_FAILED
19
+ code: api_1.SwapErrorTypes.VALIDATION_FAILED,
20
20
  });
21
21
  try {
22
22
  const { assetReference: sellAssetErc20Address } = (0, caip_1.fromAssetId)(sellAsset.assetId);
@@ -24,7 +24,7 @@ const getThorTradeQuote = async ({ deps, input }) => {
24
24
  if (!sellAdapter)
25
25
  throw new api_1.SwapError(`[getThorTradeQuote] - No chain adapter found for ${chainId}.`, {
26
26
  code: api_1.SwapErrorTypes.UNSUPPORTED_CHAIN,
27
- details: { chainId }
27
+ details: { chainId },
28
28
  });
29
29
  const rate = await (0, getTradeRate_1.getTradeRate)(sellAsset, buyAsset.assetId, sellAmount, deps);
30
30
  const buyAmount = (0, bignumber_1.toBaseUnit)((0, bignumber_1.bnOrZero)((0, bignumber_1.fromBaseUnit)(sellAmount, sellAsset.precision)).times(rate), buyAsset.precision);
@@ -42,7 +42,7 @@ const getThorTradeQuote = async ({ deps, input }) => {
42
42
  buyAsset,
43
43
  sellAsset,
44
44
  sellAssetAccountNumber,
45
- minimum
45
+ minimum,
46
46
  };
47
47
  const { chainNamespace } = (0, caip_1.fromAssetId)(sellAsset.assetId);
48
48
  switch (chainNamespace) {
@@ -55,17 +55,17 @@ const getThorTradeQuote = async ({ deps, input }) => {
55
55
  sellAmount,
56
56
  slippageTolerance: constants_1.DEFAULT_SLIPPAGE,
57
57
  destinationAddress: receiveAddress,
58
- tradeFee
58
+ tradeFee,
59
59
  });
60
60
  const feeData = await (0, getEthTxFees_1.getEthTxFees)({
61
61
  adapterManager: deps.adapterManager,
62
62
  sellAssetReference: sellAssetErc20Address,
63
- tradeFee
63
+ tradeFee,
64
64
  });
65
65
  return {
66
66
  ...commonQuoteFields,
67
67
  allowanceContract: router,
68
- feeData
68
+ feeData,
69
69
  };
70
70
  })();
71
71
  case caip_1.CHAIN_NAMESPACE.Bitcoin:
@@ -80,7 +80,7 @@ const getThorTradeQuote = async ({ deps, input }) => {
80
80
  wallet,
81
81
  bip44Params: input.bip44Params,
82
82
  accountType: input.accountType,
83
- tradeFee
83
+ tradeFee,
84
84
  });
85
85
  const feeData = await (0, getBtcTxFees_1.getBtcTxFees)({
86
86
  sellAmount,
@@ -88,12 +88,12 @@ const getThorTradeQuote = async ({ deps, input }) => {
88
88
  opReturnData,
89
89
  pubkey,
90
90
  sellAdapter: sellAdapter,
91
- tradeFee
91
+ tradeFee,
92
92
  });
93
93
  return {
94
94
  ...commonQuoteFields,
95
95
  allowanceContract: '0x0',
96
- feeData
96
+ feeData,
97
97
  };
98
98
  })();
99
99
  case caip_1.CHAIN_NAMESPACE.Cosmos:
@@ -105,14 +105,14 @@ const getThorTradeQuote = async ({ deps, input }) => {
105
105
  feeData: {
106
106
  fee: feeData.fast.txFee,
107
107
  tradeFee,
108
- chainSpecific: { estimatedGas: feeData.fast.chainSpecific.gasLimit }
109
- }
108
+ chainSpecific: { estimatedGas: feeData.fast.chainSpecific.gasLimit },
109
+ },
110
110
  };
111
111
  })();
112
112
  default:
113
113
  throw new api_1.SwapError('[getThorTradeQuote] - Asset chainId is not supported.', {
114
114
  code: api_1.SwapErrorTypes.UNSUPPORTED_CHAIN,
115
- details: { chainId }
115
+ details: { chainId },
116
116
  });
117
117
  }
118
118
  }
@@ -121,7 +121,7 @@ const getThorTradeQuote = async ({ deps, input }) => {
121
121
  throw e;
122
122
  throw new api_1.SwapError('[getThorTradeQuote]', {
123
123
  cause: e,
124
- code: api_1.SwapErrorTypes.TRADE_QUOTE_FAILED
124
+ code: api_1.SwapErrorTypes.TRADE_QUOTE_FAILED,
125
125
  });
126
126
  }
127
127
  };
@@ -1,7 +1,7 @@
1
1
  import { KnownChainIds } from '@shapeshiftoss/types';
2
2
  import { ApprovalNeededInput, ApprovalNeededOutput } from '../../../api';
3
3
  import { ThorchainSwapperDeps } from '../types';
4
- export declare const thorTradeApprovalNeeded: ({ deps, input }: {
4
+ export declare const thorTradeApprovalNeeded: ({ deps, input, }: {
5
5
  deps: ThorchainSwapperDeps;
6
6
  input: ApprovalNeededInput<KnownChainIds.EthereumMainnet>;
7
7
  }) => Promise<ApprovalNeededOutput>;
@@ -6,7 +6,7 @@ const api_1 = require("../../../api");
6
6
  const erc20Allowance_abi_1 = require("../../utils/abi/erc20Allowance-abi");
7
7
  const bignumber_1 = require("../../utils/bignumber");
8
8
  const helpers_1 = require("../../utils/helpers/helpers");
9
- const thorTradeApprovalNeeded = async ({ deps, input }) => {
9
+ const thorTradeApprovalNeeded = async ({ deps, input, }) => {
10
10
  var _a;
11
11
  try {
12
12
  const { quote, wallet } = input;
@@ -21,7 +21,7 @@ const thorTradeApprovalNeeded = async ({ deps, input }) => {
21
21
  if (!adapter)
22
22
  throw new api_1.SwapError(`[thorTradeApprovalNeeded] - no chain adapter found for chain Id: ${sellAsset.chainId}`, {
23
23
  code: api_1.SwapErrorTypes.UNSUPPORTED_CHAIN,
24
- details: { chainId: sellAsset.chainId }
24
+ details: { chainId: sellAsset.chainId },
25
25
  });
26
26
  // No approval needed for selling a fee asset
27
27
  if (sellAsset.assetId === adapter.getFeeAssetId()) {
@@ -32,7 +32,7 @@ const thorTradeApprovalNeeded = async ({ deps, input }) => {
32
32
  if (!quote.allowanceContract) {
33
33
  throw new api_1.SwapError('[thorTradeApprovalNeeded] - allowanceTarget is required', {
34
34
  code: api_1.SwapErrorTypes.VALIDATION_FAILED,
35
- details: { chainId: sellAsset.chainId }
35
+ details: { chainId: sellAsset.chainId },
36
36
  });
37
37
  }
38
38
  const allowanceResult = await (0, helpers_1.getERC20Allowance)({
@@ -40,16 +40,16 @@ const thorTradeApprovalNeeded = async ({ deps, input }) => {
40
40
  erc20AllowanceAbi: erc20Allowance_abi_1.erc20AllowanceAbi,
41
41
  sellAssetErc20Address,
42
42
  spenderAddress: quote.allowanceContract,
43
- ownerAddress: receiveAddress
43
+ ownerAddress: receiveAddress,
44
44
  });
45
45
  const allowanceOnChain = (0, bignumber_1.bnOrZero)(allowanceResult);
46
46
  if (!((_a = quote.feeData.chainSpecific) === null || _a === void 0 ? void 0 : _a.gasPrice))
47
47
  throw new api_1.SwapError('[thorTradeApprovalNeeded] - no gas price with quote', {
48
48
  code: api_1.SwapErrorTypes.RESPONSE_ERROR,
49
- details: { feeData: quote.feeData }
49
+ details: { feeData: quote.feeData },
50
50
  });
51
51
  return {
52
- approvalNeeded: allowanceOnChain.lte((0, bignumber_1.bnOrZero)(quote.sellAmount))
52
+ approvalNeeded: allowanceOnChain.lte((0, bignumber_1.bnOrZero)(quote.sellAmount)),
53
53
  };
54
54
  }
55
55
  catch (e) {
@@ -57,7 +57,7 @@ const thorTradeApprovalNeeded = async ({ deps, input }) => {
57
57
  throw e;
58
58
  throw new api_1.SwapError('[thorTradeApprovalNeeded]', {
59
59
  cause: e,
60
- code: api_1.SwapErrorTypes.CHECK_APPROVAL_FAILED
60
+ code: api_1.SwapErrorTypes.CHECK_APPROVAL_FAILED,
61
61
  });
62
62
  }
63
63
  };
@@ -1,7 +1,7 @@
1
1
  import { KnownChainIds } from '@shapeshiftoss/types';
2
2
  import { ApproveInfiniteInput } from '../../../api';
3
3
  import { ThorchainSwapperDeps } from '../types';
4
- export declare const thorTradeApproveInfinite: ({ deps, input }: {
4
+ export declare const thorTradeApproveInfinite: ({ deps, input, }: {
5
5
  deps: ThorchainSwapperDeps;
6
6
  input: ApproveInfiniteInput<KnownChainIds.EthereumMainnet>;
7
7
  }) => Promise<string>;
@@ -7,7 +7,7 @@ const erc20_abi_1 = require("../../utils/abi/erc20-abi");
7
7
  const constants_1 = require("../../utils/constants");
8
8
  const helpers_1 = require("../../utils/helpers/helpers");
9
9
  const constants_2 = require("../utils/constants");
10
- const thorTradeApproveInfinite = async ({ deps, input }) => {
10
+ const thorTradeApproveInfinite = async ({ deps, input, }) => {
11
11
  try {
12
12
  const { adapterManager, web3 } = deps;
13
13
  const { quote, wallet } = input;
@@ -20,23 +20,23 @@ const thorTradeApproveInfinite = async ({ deps, input }) => {
20
20
  ...quote.feeData.chainSpecific,
21
21
  // Thor approvals are cheaper than trades, but we don't have dynamic quote data for them.
22
22
  // Instead, we use a hardcoded gasLimit estimate in place of the estimatedGas in the Thor quote response.
23
- estimatedGas: constants_1.APPROVAL_GAS_LIMIT
24
- }
25
- }
23
+ estimatedGas: constants_1.APPROVAL_GAS_LIMIT,
24
+ },
25
+ },
26
26
  };
27
27
  const sellAssetChainId = approvalQuote.sellAsset.chainId;
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
31
  code: api_1.SwapErrorTypes.UNSUPPORTED_CHAIN,
32
- details: { sellAssetChainId }
32
+ details: { sellAssetChainId },
33
33
  });
34
34
  const allowanceGrantRequired = await (0, helpers_1.grantAllowance)({
35
35
  quote: approvalQuote,
36
36
  wallet,
37
37
  adapter,
38
38
  erc20Abi: erc20_abi_1.erc20Abi,
39
- web3
39
+ web3,
40
40
  });
41
41
  return allowanceGrantRequired;
42
42
  }
@@ -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.SwapErrorTypes.APPROVE_INFINITE_FAILED,
49
49
  });
50
50
  }
51
51
  };