@shapeshiftoss/swapper 9.12.0 → 9.14.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.
package/dist/api.d.ts CHANGED
@@ -173,6 +173,7 @@ export declare enum SwapErrorTypes {
173
173
  RESPONSE_ERROR = "RESPONSE_ERROR",
174
174
  SIGN_AND_BROADCAST_FAILED = "SIGN_AND_BROADCAST_FAILED",
175
175
  TRADE_QUOTE_FAILED = "TRADE_QUOTE_FAILED",
176
+ TRADE_QUOTE_AMOUNT_TOO_SMALL = "TRADE_QUOTE_AMOUNT_TOO_SMALL",
176
177
  TRADE_QUOTE_INPUT_LOWER_THAN_FEES = "TRADE_QUOTE_INPUT_LOWER_THAN_FEES",
177
178
  UNSUPPORTED_PAIR = "UNSUPPORTED_PAIR",
178
179
  USD_RATE_FAILED = "USD_RATE_FAILED",
package/dist/api.js CHANGED
@@ -28,6 +28,7 @@ var SwapErrorTypes;
28
28
  SwapErrorTypes["RESPONSE_ERROR"] = "RESPONSE_ERROR";
29
29
  SwapErrorTypes["SIGN_AND_BROADCAST_FAILED"] = "SIGN_AND_BROADCAST_FAILED";
30
30
  SwapErrorTypes["TRADE_QUOTE_FAILED"] = "TRADE_QUOTE_FAILED";
31
+ SwapErrorTypes["TRADE_QUOTE_AMOUNT_TOO_SMALL"] = "TRADE_QUOTE_AMOUNT_TOO_SMALL";
31
32
  SwapErrorTypes["TRADE_QUOTE_INPUT_LOWER_THAN_FEES"] = "TRADE_QUOTE_INPUT_LOWER_THAN_FEES";
32
33
  SwapErrorTypes["UNSUPPORTED_PAIR"] = "UNSUPPORTED_PAIR";
33
34
  SwapErrorTypes["USD_RATE_FAILED"] = "USD_RATE_FAILED";
@@ -178,7 +178,6 @@ class OsmosisSwapper {
178
178
  const signTxInput = await (0, helpers_1.buildTradeTx)({
179
179
  osmoAddress,
180
180
  adapter: osmosisAdapter,
181
- trade,
182
181
  buyAssetDenom,
183
182
  sellAssetDenom,
184
183
  sellAmount: ibcSellAmount !== null && ibcSellAmount !== void 0 ? ibcSellAmount : sellAmount,
@@ -205,7 +204,7 @@ class OsmosisSwapper {
205
204
  // delay to ensure all nodes we interact with are up to date at this point
206
205
  // seeing intermittent bugs that suggest the balances and sequence numbers were sometimes off
207
206
  await new Promise((resolve) => setTimeout(resolve, 3000));
208
- await (0, helpers_1.performIbcTransfer)(transfer, osmosisAdapter, wallet, this.deps.cosmosUrl, buyAssetDenom, constants_1.OSMO_COSMO_CHANNEL, trade.feeData.fee, ibcAccountNumber, ibcSequence, gas);
207
+ await (0, helpers_1.performIbcTransfer)(transfer, osmosisAdapter, wallet, this.deps.cosmosUrl, buyAssetDenom, constants_1.OSMO_COSMO_CHANNEL, '0', ibcAccountNumber, ibcSequence, gas);
209
208
  }
210
209
  return { tradeId: tradeId || 'error' };
211
210
  }
@@ -1,7 +1,6 @@
1
- import { ChainId } from '@shapeshiftoss/caip';
2
1
  import { osmosis } from '@shapeshiftoss/chain-adapters';
3
2
  import { HDWallet } from '@shapeshiftoss/hdwallet-core';
4
- import { CosmosSdkSupportedChainAdapters, Trade, TradeResult } from '../../../index';
3
+ import { CosmosSdkSupportedChainAdapters, TradeResult } from '../../../index';
5
4
  import { IbcTransferInput } from './types';
6
5
  export interface SymbolDenomMapping {
7
6
  OSMO: string;
@@ -23,10 +22,9 @@ export declare const getRateInfo: (sellAsset: string, buyAsset: string, sellAmou
23
22
  buyAmount: string;
24
23
  }>;
25
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>;
26
- export declare const buildTradeTx: ({ osmoAddress, adapter, trade, buyAssetDenom, sellAssetDenom, sellAmount, gas, wallet }: {
25
+ export declare const buildTradeTx: ({ osmoAddress, adapter, buyAssetDenom, sellAssetDenom, sellAmount, gas, wallet }: {
27
26
  osmoAddress: string;
28
27
  adapter: osmosis.ChainAdapter;
29
- trade: Trade<ChainId>;
30
28
  buyAssetDenom: string;
31
29
  sellAssetDenom: string;
32
30
  sellAmount: string;
@@ -227,7 +227,7 @@ const performIbcTransfer = async (input, adapter, wallet, blockBaseUrl, denom, s
227
227
  };
228
228
  exports.performIbcTransfer = performIbcTransfer;
229
229
  // TODO: move to chain adapters
230
- const buildTradeTx = async ({ osmoAddress, adapter, trade, 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';
@@ -241,7 +241,7 @@ const buildTradeTx = async ({ osmoAddress, adapter, trade, buyAssetDenom, sellAs
241
241
  fee: {
242
242
  amount: [
243
243
  {
244
- amount: trade.feeData.fee.toString(),
244
+ amount: '0',
245
245
  denom: 'uosmo'
246
246
  }
247
247
  ],
@@ -26,11 +26,10 @@ const getThorTradeQuote = async ({ deps, input }) => {
26
26
  code: api_1.SwapErrorTypes.UNSUPPORTED_CHAIN,
27
27
  details: { chainId }
28
28
  });
29
- const tradeRate = await (0, getTradeRate_1.getTradeRate)(sellAsset, buyAsset.assetId, sellAmount, deps);
30
- const rate = (0, bignumber_1.bnOrZero)(1).div(tradeRate).toString();
31
- const buyAmount = (0, bignumber_1.toBaseUnit)((0, bignumber_1.bnOrZero)((0, bignumber_1.fromBaseUnit)(sellAmount, sellAsset.precision)).times(tradeRate), buyAsset.precision);
29
+ const rate = await (0, getTradeRate_1.getTradeRate)(sellAsset, buyAsset.assetId, sellAmount, deps);
30
+ const buyAmount = (0, bignumber_1.toBaseUnit)((0, bignumber_1.bnOrZero)((0, bignumber_1.fromBaseUnit)(sellAmount, sellAsset.precision)).times(rate), buyAsset.precision);
32
31
  const tradeFee = await (0, estimateTradeFee_1.estimateTradeFee)(deps, buyAsset);
33
- const sellAssetTradeFee = (0, bignumber_1.bnOrZero)(tradeFee).times((0, bignumber_1.bnOrZero)(rate));
32
+ const sellAssetTradeFee = (0, bignumber_1.bnOrZero)(tradeFee).dividedBy((0, bignumber_1.bnOrZero)(rate));
34
33
  // minimum is tradeFee padded by an amount to be sure they get something back
35
34
  // usually it will be slightly more than the amount because sellAssetTradeFee is already a high estimate
36
35
  const minimum = (0, bignumber_1.bnOrZero)(sellAssetTradeFee).times(constants_2.THOR_MINIMUM_PADDING).toString();
@@ -24,7 +24,7 @@ const getPriceRatio = async (deps, input) => {
24
24
  code: api_1.SwapErrorTypes.RESPONSE_ERROR,
25
25
  details: { buyPoolId, sellPoolId }
26
26
  });
27
- return (0, bignumber_1.bnOrZero)(buyUsdPrice).dividedBy(sellUsdPrice).toString();
27
+ return (0, bignumber_1.bnOrZero)(sellUsdPrice).dividedBy(buyUsdPrice).toString();
28
28
  }
29
29
  catch (e) {
30
30
  if (e instanceof api_1.SwapError)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapeshiftoss/swapper",
3
- "version": "9.12.0",
3
+ "version": "9.14.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",