@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 +1 -0
- package/dist/api.js +1 -0
- package/dist/swappers/osmosis/OsmosisSwapper.js +1 -2
- package/dist/swappers/osmosis/utils/helpers.d.ts +2 -4
- package/dist/swappers/osmosis/utils/helpers.js +2 -2
- package/dist/swappers/thorchain/getThorTradeQuote/getTradeQuote.js +3 -4
- package/dist/swappers/thorchain/utils/getPriceRatio/getPriceRatio.js +1 -1
- package/package.json +1 -1
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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:
|
|
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
|
|
30
|
-
const
|
|
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).
|
|
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)(
|
|
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