@shapeshiftoss/swapper 9.15.0 → 9.16.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 (69) hide show
  1. package/dist/manager/SwapperManager.js +3 -3
  2. package/dist/swappercli.js +8 -8
  3. package/dist/swappers/cow/CowSwapper.d.ts +2 -2
  4. package/dist/swappers/cow/CowSwapper.js +4 -6
  5. package/dist/swappers/cow/cowApprovalNeeded/cowApprovalNeeded.js +4 -4
  6. package/dist/swappers/cow/{cowApproveInfinite/cowApproveInfinite.d.ts → cowApprove/cowApprove.d.ts} +2 -1
  7. package/dist/swappers/cow/cowApprove/cowApprove.js +56 -0
  8. package/dist/swappers/cow/cowBuildTrade/cowBuildTrade.js +11 -11
  9. package/dist/swappers/cow/cowExecuteTrade/cowExecuteTrade.js +7 -7
  10. package/dist/swappers/cow/cowGetTradeTxs/cowGetTradeTxs.js +4 -4
  11. package/dist/swappers/cow/getCowSwapMinMax/getCowSwapMinMax.js +1 -1
  12. package/dist/swappers/cow/getCowSwapTradeQuote/getCowSwapTradeQuote.js +12 -12
  13. package/dist/swappers/cow/utils/blacklist.js +1 -1
  14. package/dist/swappers/cow/utils/cowService.js +2 -2
  15. package/dist/swappers/cow/utils/helpers/helpers.js +7 -7
  16. package/dist/swappers/osmosis/OsmosisSwapper.js +20 -20
  17. package/dist/swappers/osmosis/utils/helpers.d.ts +1 -1
  18. package/dist/swappers/osmosis/utils/helpers.js +35 -35
  19. package/dist/swappers/test/TestSwapper.js +2 -2
  20. package/dist/swappers/thorchain/ThorchainSwapper.js +13 -13
  21. package/dist/swappers/thorchain/buildThorTrade/buildThorTrade.d.ts +1 -1
  22. package/dist/swappers/thorchain/buildThorTrade/buildThorTrade.js +14 -14
  23. package/dist/swappers/thorchain/getThorTradeQuote/getTradeQuote.js +14 -14
  24. package/dist/swappers/thorchain/thorTradeApprovalNeeded/thorTradeApprovalNeeded.d.ts +1 -1
  25. package/dist/swappers/thorchain/thorTradeApprovalNeeded/thorTradeApprovalNeeded.js +7 -7
  26. package/dist/swappers/thorchain/thorTradeApproveInfinite/thorTradeApproveInfinite.d.ts +1 -1
  27. package/dist/swappers/thorchain/thorTradeApproveInfinite/thorTradeApproveInfinite.js +7 -7
  28. package/dist/swappers/thorchain/utils/bitcoin/utils/getThorTxData.js +5 -5
  29. package/dist/swappers/thorchain/utils/constants.js +1 -1
  30. package/dist/swappers/thorchain/utils/cosmos/cosmosTxData.js +6 -6
  31. package/dist/swappers/thorchain/utils/estimateTradeFee/estimateTradeFee.js +6 -6
  32. package/dist/swappers/thorchain/utils/ethereum/makeTradeTx.d.ts +1 -1
  33. package/dist/swappers/thorchain/utils/ethereum/makeTradeTx.js +6 -6
  34. package/dist/swappers/thorchain/utils/ethereum/utils/getThorTxData.js +5 -5
  35. package/dist/swappers/thorchain/utils/getLimit/getLimit.d.ts +1 -1
  36. package/dist/swappers/thorchain/utils/getLimit/getLimit.js +2 -2
  37. package/dist/swappers/thorchain/utils/getPriceRatio/getPriceRatio.js +3 -3
  38. package/dist/swappers/thorchain/utils/getTradeRate/getTradeRate.js +5 -5
  39. package/dist/swappers/thorchain/utils/getUsdRate/getUsdRate.d.ts +1 -1
  40. package/dist/swappers/thorchain/utils/getUsdRate/getUsdRate.js +4 -4
  41. package/dist/swappers/thorchain/utils/makeSwapMemo/makeSwapMemo.d.ts +1 -1
  42. package/dist/swappers/thorchain/utils/makeSwapMemo/makeSwapMemo.js +4 -4
  43. package/dist/swappers/thorchain/utils/test-data/midgardResponse.js +11 -11
  44. package/dist/swappers/thorchain/utils/test-data/setupThorswapDeps.js +9 -9
  45. package/dist/swappers/thorchain/utils/thorService.js +2 -2
  46. package/dist/swappers/thorchain/utils/txFeeHelpers/btcTxFees/getBtcTxFees.d.ts +1 -1
  47. package/dist/swappers/thorchain/utils/txFeeHelpers/btcTxFees/getBtcTxFees.js +4 -4
  48. package/dist/swappers/thorchain/utils/txFeeHelpers/ethTxFees/getEthTxFees.d.ts +1 -1
  49. package/dist/swappers/thorchain/utils/txFeeHelpers/ethTxFees/getEthTxFees.js +7 -7
  50. package/dist/swappers/utils/abi/erc20-abi.js +54 -54
  51. package/dist/swappers/utils/abi/erc20Allowance-abi.js +7 -7
  52. package/dist/swappers/utils/helpers/helpers.d.ts +4 -4
  53. package/dist/swappers/utils/helpers/helpers.js +13 -13
  54. package/dist/swappers/utils/test-data/assets.js +8 -8
  55. package/dist/swappers/utils/test-data/setupDeps.js +3 -3
  56. package/dist/swappers/utils/test-data/setupSwapQuote.js +3 -3
  57. package/dist/swappers/zrx/ZrxSwapper.js +2 -2
  58. package/dist/swappers/zrx/getZrxMinMax/getZrxMinMax.js +1 -1
  59. package/dist/swappers/zrx/getZrxTradeQuote/getZrxTradeQuote.js +7 -7
  60. package/dist/swappers/zrx/utils/blacklist.js +1 -1
  61. package/dist/swappers/zrx/utils/helpers/helpers.js +6 -6
  62. package/dist/swappers/zrx/utils/test-data/setupZrxSwapQuote.js +2 -2
  63. package/dist/swappers/zrx/utils/zrxService.js +2 -2
  64. package/dist/swappers/zrx/zrxApprovalNeeded/zrxApprovalNeeded.js +6 -6
  65. package/dist/swappers/zrx/zrxApprove/zrxApprove.js +6 -6
  66. package/dist/swappers/zrx/zrxBuildTrade/zrxBuildTrade.js +13 -11
  67. package/dist/swappers/zrx/zrxExecuteTrade/zrxExecuteTrade.js +6 -6
  68. package/package.json +1 -1
  69. package/dist/swappers/cow/cowApproveInfinite/cowApproveInfinite.js +0 -31
@@ -18,7 +18,7 @@ class OsmosisSwapper {
18
18
  async getTradeTxs(tradeResult) {
19
19
  return {
20
20
  sellTxid: tradeResult.tradeId,
21
- buyTxid: tradeResult.tradeId
21
+ buyTxid: tradeResult.tradeId,
22
22
  };
23
23
  }
24
24
  async getUsdRate(input) {
@@ -40,7 +40,7 @@ class OsmosisSwapper {
40
40
  const maximum = constants_1.MAX_SWAPPER_SELL;
41
41
  return {
42
42
  minimum,
43
- maximum
43
+ maximum,
44
44
  };
45
45
  }
46
46
  async approvalNeeded() {
@@ -48,12 +48,12 @@ class OsmosisSwapper {
48
48
  }
49
49
  async approveInfinite() {
50
50
  throw new api_1.SwapError('OsmosisSwapper: approveInfinite unimplemented', {
51
- code: api_1.SwapErrorTypes.RESPONSE_ERROR
51
+ code: api_1.SwapErrorTypes.RESPONSE_ERROR,
52
52
  });
53
53
  }
54
54
  async approveAmount() {
55
55
  throw new api_1.SwapError('Osmosis: approveAmount unimplemented', {
56
- code: api_1.SwapErrorTypes.RESPONSE_ERROR
56
+ code: api_1.SwapErrorTypes.RESPONSE_ERROR,
57
57
  });
58
58
  }
59
59
  filterBuyAssetsBySellAssetId(args) {
@@ -69,7 +69,7 @@ class OsmosisSwapper {
69
69
  const { sellAsset, buyAsset, sellAmount, receiveAddress } = args;
70
70
  if (!sellAmount) {
71
71
  throw new api_1.SwapError('sellAmount is required', {
72
- code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED
72
+ code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
73
73
  });
74
74
  }
75
75
  const { tradeFee, rate, buyAmount } = await (0, helpers_1.getRateInfo)(sellAsset.symbol, buyAsset.symbol, sellAmount !== '0' ? sellAmount : '1', this.deps.osmoUrl);
@@ -78,7 +78,7 @@ class OsmosisSwapper {
78
78
  const osmosisAdapter = this.deps.adapterManager.get(caip_1.osmosisChainId);
79
79
  if (!osmosisAdapter)
80
80
  throw new api_1.SwapError('Failed to get Osmosis adapter', {
81
- code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED
81
+ code: api_1.SwapErrorTypes.BUILD_TRADE_FAILED,
82
82
  });
83
83
  const feeData = await osmosisAdapter.getFeeData({});
84
84
  const fee = feeData.fast.txFee;
@@ -91,14 +91,14 @@ class OsmosisSwapper {
91
91
  sellAmount: amountBaseSell,
92
92
  sellAsset,
93
93
  sellAssetAccountNumber: 0,
94
- sources: [{ name: 'Osmosis', proportion: '100' }]
94
+ sources: [{ name: 'Osmosis', proportion: '100' }],
95
95
  };
96
96
  }
97
97
  async getTradeQuote(input) {
98
98
  const { sellAsset, buyAsset, sellAmount } = input;
99
99
  if (!sellAmount) {
100
100
  throw new api_1.SwapError('sellAmount is required', {
101
- code: api_1.SwapErrorTypes.RESPONSE_ERROR
101
+ code: api_1.SwapErrorTypes.RESPONSE_ERROR,
102
102
  });
103
103
  }
104
104
  const { tradeFee, rate, buyAmount } = await (0, helpers_1.getRateInfo)(sellAsset.symbol, buyAsset.symbol, sellAmount !== '0' ? sellAmount : '1', this.deps.osmoUrl);
@@ -106,7 +106,7 @@ class OsmosisSwapper {
106
106
  const osmosisAdapter = this.deps.adapterManager.get(caip_1.osmosisChainId);
107
107
  if (!osmosisAdapter)
108
108
  throw new api_1.SwapError('Failed to get Osmosis adapter', {
109
- code: api_1.SwapErrorTypes.TRADE_QUOTE_FAILED
109
+ code: api_1.SwapErrorTypes.TRADE_QUOTE_FAILED,
110
110
  });
111
111
  const feeData = await osmosisAdapter.getFeeData({});
112
112
  const fee = feeData.fast.txFee;
@@ -121,7 +121,7 @@ class OsmosisSwapper {
121
121
  sellAmount,
122
122
  buyAmount,
123
123
  sources: constants_1.DEFAULT_SOURCE,
124
- allowanceContract: ''
124
+ allowanceContract: '',
125
125
  };
126
126
  }
127
127
  async executeTrade({ trade, wallet }) {
@@ -134,7 +134,7 @@ class OsmosisSwapper {
134
134
  const cosmosAdapter = this.deps.adapterManager.get(caip_1.cosmosChainId);
135
135
  if (!cosmosAdapter || !osmosisAdapter) {
136
136
  throw new api_1.SwapError('Failed to get adapters', {
137
- code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED
137
+ code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED,
138
138
  });
139
139
  }
140
140
  let sellAddress;
@@ -142,17 +142,17 @@ class OsmosisSwapper {
142
142
  const gas = feeData.fast.chainSpecific.gasLimit;
143
143
  if (!isFromOsmo) {
144
144
  const sellBip44Params = cosmosAdapter.buildBIP44Params({
145
- accountNumber: Number(sellAssetAccountNumber)
145
+ accountNumber: Number(sellAssetAccountNumber),
146
146
  });
147
147
  sellAddress = await cosmosAdapter.getAddress({ wallet, bip44Params: sellBip44Params });
148
148
  if (!sellAddress)
149
149
  throw new api_1.SwapError('Failed to get address', {
150
- code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED
150
+ code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED,
151
151
  });
152
152
  const transfer = {
153
153
  sender: sellAddress,
154
154
  receiver: receiveAddress,
155
- amount: sellAmount
155
+ amount: sellAmount,
156
156
  };
157
157
  const responseAccount = await cosmosAdapter.getAccount(sellAddress);
158
158
  const accountNumber = responseAccount.chainSpecific.accountNumber || '0';
@@ -162,7 +162,7 @@ class OsmosisSwapper {
162
162
  const pollResult = await (0, helpers_1.pollForComplete)(tradeId, this.deps.cosmosUrl);
163
163
  if (pollResult !== 'success')
164
164
  throw new api_1.SwapError('ibc transfer failed', {
165
- code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED
165
+ code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED,
166
166
  });
167
167
  ibcSellAmount = await (0, helpers_1.pollForAtomChannelBalance)(receiveAddress, this.deps.osmoUrl);
168
168
  // delay to ensure all nodes we interact with are up to date at this point
@@ -171,12 +171,12 @@ class OsmosisSwapper {
171
171
  }
172
172
  else {
173
173
  const sellBip44Params = osmosisAdapter.buildBIP44Params({
174
- accountNumber: Number(sellAssetAccountNumber)
174
+ accountNumber: Number(sellAssetAccountNumber),
175
175
  });
176
176
  sellAddress = await osmosisAdapter.getAddress({ wallet, bip44Params: sellBip44Params });
177
177
  if (!sellAddress)
178
178
  throw new api_1.SwapError('failed to get osmoAddress', {
179
- code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED
179
+ code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED,
180
180
  });
181
181
  }
182
182
  const osmoAddress = isFromOsmo ? sellAddress : receiveAddress;
@@ -187,7 +187,7 @@ class OsmosisSwapper {
187
187
  sellAssetDenom,
188
188
  sellAmount: ibcSellAmount !== null && ibcSellAmount !== void 0 ? ibcSellAmount : sellAmount,
189
189
  gas,
190
- wallet
190
+ wallet,
191
191
  });
192
192
  const signed = await osmosisAdapter.signTransaction(signTxInput);
193
193
  const tradeId = await osmosisAdapter.broadcastTransaction(signed);
@@ -195,13 +195,13 @@ class OsmosisSwapper {
195
195
  const pollResult = await (0, helpers_1.pollForComplete)(tradeId, this.deps.osmoUrl);
196
196
  if (pollResult !== 'success')
197
197
  throw new api_1.SwapError('osmo swap failed', {
198
- code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED
198
+ code: api_1.SwapErrorTypes.EXECUTE_TRADE_FAILED,
199
199
  });
200
200
  const amount = await (0, helpers_1.pollForAtomChannelBalance)(sellAddress, this.deps.osmoUrl);
201
201
  const transfer = {
202
202
  sender: sellAddress,
203
203
  receiver: receiveAddress,
204
- amount
204
+ amount,
205
205
  };
206
206
  const ibcResponseAccount = await osmosisAdapter.getAccount(sellAddress);
207
207
  const ibcAccountNumber = ibcResponseAccount.chainSpecific.accountNumber || '0';
@@ -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
  };