@shapeshiftoss/swapper 10.0.0 → 11.0.2

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.
@@ -116,7 +116,7 @@ class ThorchainSwapper {
116
116
  fn: 'executeTrade',
117
117
  });
118
118
  const { chainNamespace } = (0, caip_1.fromAssetId)(trade.sellAsset.assetId);
119
- if (chainNamespace === caip_1.CHAIN_NAMESPACE.Ethereum) {
119
+ if (chainNamespace === caip_1.CHAIN_NAMESPACE.Evm) {
120
120
  const signedTx = await adapter.signTransaction({
121
121
  txToSign: trade.txData,
122
122
  wallet,
@@ -132,7 +132,7 @@ class ThorchainSwapper {
132
132
  const txid = await adapter.broadcastTransaction(signedTx);
133
133
  return { tradeId: txid };
134
134
  }
135
- else if (chainNamespace === caip_1.CHAIN_NAMESPACE.Cosmos) {
135
+ else if (chainNamespace === caip_1.CHAIN_NAMESPACE.CosmosSdk) {
136
136
  const signedTx = await adapter.signTransaction({
137
137
  txToSign: trade.txData,
138
138
  wallet,
@@ -22,7 +22,7 @@ const buildTrade = async ({ deps, input, }) => {
22
22
  details: { sellAsset },
23
23
  });
24
24
  const { chainNamespace } = (0, caip_1.fromAssetId)(sellAsset.assetId);
25
- if (chainNamespace === caip_1.CHAIN_NAMESPACE.Ethereum) {
25
+ if (chainNamespace === caip_1.CHAIN_NAMESPACE.Evm) {
26
26
  const sellAssetBip44Params = sellAdapter.buildBIP44Params({
27
27
  accountNumber: sellAssetAccountNumber,
28
28
  });
@@ -77,7 +77,7 @@ const buildTrade = async ({ deps, input, }) => {
77
77
  txData: buildTxResponse.txToSign,
78
78
  };
79
79
  }
80
- else if (chainNamespace === caip_1.CHAIN_NAMESPACE.Cosmos) {
80
+ else if (chainNamespace === caip_1.CHAIN_NAMESPACE.CosmosSdk) {
81
81
  const txData = await (0, cosmosTxData_1.cosmosTxData)({
82
82
  deps,
83
83
  sellAdapter: sellAdapter,
@@ -10,8 +10,10 @@ const constants_2 = require("../utils/constants");
10
10
  const estimateTradeFee_1 = require("../utils/estimateTradeFee/estimateTradeFee");
11
11
  const getThorTxData_2 = require("../utils/ethereum/utils/getThorTxData");
12
12
  const getTradeRate_1 = require("../utils/getTradeRate/getTradeRate");
13
+ const getUsdRate_1 = require("../utils/getUsdRate/getUsdRate");
13
14
  const getBtcTxFees_1 = require("../utils/txFeeHelpers/btcTxFees/getBtcTxFees");
14
15
  const getEthTxFees_1 = require("../utils/txFeeHelpers/ethTxFees/getEthTxFees");
16
+ const MINIMUM_USD_TRADE_AMOUNT = (0, bignumber_1.bn)(1);
15
17
  const getThorTradeQuote = async ({ deps, input }) => {
16
18
  const { sellAsset, buyAsset, sellAmount, sellAssetAccountNumber, chainId, receiveAddress } = input;
17
19
  try {
@@ -24,7 +26,12 @@ const getThorTradeQuote = async ({ deps, input }) => {
24
26
  });
25
27
  const rate = await (0, getTradeRate_1.getTradeRate)(sellAsset, buyAsset.assetId, sellAmount, deps);
26
28
  const buyAmount = (0, bignumber_1.toBaseUnit)((0, bignumber_1.bnOrZero)((0, bignumber_1.fromBaseUnit)(sellAmount, sellAsset.precision)).times(rate), buyAsset.precision);
27
- const tradeFee = await (0, estimateTradeFee_1.estimateTradeFee)(deps, buyAsset);
29
+ const estimatedTradeFee = await (0, estimateTradeFee_1.estimateTradeFee)(deps, buyAsset);
30
+ const buyAssetUsdRate = await (0, getUsdRate_1.getUsdRate)({ deps, input: { assetId: buyAsset.assetId } });
31
+ const minTradeFeeAmount = MINIMUM_USD_TRADE_AMOUNT.div(buyAssetUsdRate);
32
+ const tradeFee = minTradeFeeAmount.gt(estimatedTradeFee)
33
+ ? minTradeFeeAmount.toString()
34
+ : estimatedTradeFee;
28
35
  const sellAssetTradeFee = (0, bignumber_1.bnOrZero)(tradeFee).dividedBy((0, bignumber_1.bnOrZero)(rate));
29
36
  // minimum is tradeFee padded by an amount to be sure they get something back
30
37
  // usually it will be slightly more than the amount because sellAssetTradeFee is already a high estimate
@@ -42,7 +49,7 @@ const getThorTradeQuote = async ({ deps, input }) => {
42
49
  };
43
50
  const { chainNamespace } = (0, caip_1.fromAssetId)(sellAsset.assetId);
44
51
  switch (chainNamespace) {
45
- case caip_1.CHAIN_NAMESPACE.Ethereum:
52
+ case caip_1.CHAIN_NAMESPACE.Evm:
46
53
  return (async () => {
47
54
  const { router } = await (0, getThorTxData_2.getThorTxInfo)({
48
55
  deps,
@@ -90,7 +97,7 @@ const getThorTradeQuote = async ({ deps, input }) => {
90
97
  feeData,
91
98
  };
92
99
  })();
93
- case caip_1.CHAIN_NAMESPACE.Cosmos:
100
+ case caip_1.CHAIN_NAMESPACE.CosmosSdk:
94
101
  return (async () => {
95
102
  const feeData = await sellAdapter.getFeeData({});
96
103
  return {
@@ -14,7 +14,7 @@ const thorTradeApprovalNeeded = async ({ deps, input, }) => {
14
14
  const { adapterManager, web3 } = deps;
15
15
  const { assetReference: sellAssetErc20Address } = (0, caip_1.fromAssetId)(sellAsset.assetId);
16
16
  const { chainNamespace } = (0, caip_1.fromChainId)(sellAsset.chainId);
17
- if (chainNamespace !== caip_1.CHAIN_NAMESPACE.Ethereum)
17
+ if (chainNamespace !== caip_1.CHAIN_NAMESPACE.Evm)
18
18
  return { approvalNeeded: false };
19
19
  const accountNumber = quote.sellAssetAccountNumber;
20
20
  const adapter = adapterManager.get(sellAsset.chainId);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapeshiftoss/swapper",
3
- "version": "10.0.0",
3
+ "version": "11.0.2",
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",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "peerDependencies": {
33
33
  "@shapeshiftoss/asset-service": "^7.1.0",
34
- "@shapeshiftoss/caip": "^6.7.0",
34
+ "@shapeshiftoss/caip": "^8.0.0",
35
35
  "@shapeshiftoss/chain-adapters": "^7.13.0",
36
36
  "@shapeshiftoss/errors": "^1.1.2",
37
37
  "@shapeshiftoss/hdwallet-core": "^1.27.0",
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "devDependencies": {
41
41
  "@shapeshiftoss/asset-service": "^7.1.0",
42
- "@shapeshiftoss/caip": "^6.7.0",
42
+ "@shapeshiftoss/caip": "^8.0.0",
43
43
  "@shapeshiftoss/chain-adapters": "^7.13.0",
44
44
  "@shapeshiftoss/errors": "^1.1.2",
45
45
  "@shapeshiftoss/hdwallet-core": "^1.27.0",