@shapeshiftoss/swapper 20.1.1 → 20.3.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/cjs/.tsbuildinfo +1 -1
- package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +1 -2
- package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.js +4 -7
- package/dist/cjs/swappers/BebopSwapper/utils/getBebopSolanaTradeContext.js +0 -1
- package/dist/cjs/swappers/BobGatewaySwapper/BobGatewaySwapper.js +10 -1
- package/dist/cjs/swappers/BobGatewaySwapper/endpoints.js +2 -33
- package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.js +5 -8
- package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeRate.js +1 -2
- package/dist/cjs/swappers/BobGatewaySwapper/types.d.ts +3 -3
- package/dist/cjs/swappers/BobGatewaySwapper/utils/constants.d.ts +3 -2
- package/dist/cjs/swappers/BobGatewaySwapper/utils/constants.js +8 -5
- package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.d.ts +2 -2
- package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.js +30 -34
- package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.test.d.ts +1 -0
- package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.test.js +117 -0
- package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayTradeContext.js +1 -2
- package/dist/cjs/swappers/BobGatewaySwapper/utils/helpers.d.ts +8 -11
- package/dist/cjs/swappers/BobGatewaySwapper/utils/helpers.js +36 -31
- package/dist/cjs/swappers/ButterSwap/ButterSwap.js +0 -3
- package/dist/cjs/swappers/ButterSwap/endpoints.js +0 -3
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.js +2 -3
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.test.js +0 -51
- package/dist/cjs/swappers/ButterSwap/types.d.ts +3 -14
- package/dist/cjs/swappers/ButterSwap/utils/constants.d.ts +2 -0
- package/dist/cjs/swappers/ButterSwap/utils/constants.js +4 -1
- package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.d.ts +2 -3
- package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.js +42 -65
- package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.test.js +115 -73
- package/dist/cjs/swappers/ButterSwap/utils/helpers.js +1 -4
- package/dist/cjs/swappers/ButterSwap/xhr.js +3 -3
- package/dist/cjs/swappers/ChainflipSwapper/endpoints.js +3 -19
- package/dist/cjs/swappers/ChainflipSwapper/utils/getChainflipStepData.d.ts +1 -1
- package/dist/cjs/swappers/ChainflipSwapper/utils/getChainflipStepData.js +31 -12
- package/dist/cjs/swappers/NearIntentsSwapper/constants.d.ts +1 -0
- package/dist/cjs/swappers/NearIntentsSwapper/constants.js +3 -1
- package/dist/cjs/swappers/NearIntentsSwapper/utils/getNearIntentsStepData.js +10 -5
- package/dist/cjs/swappers/NearIntentsSwapper/utils/helpers.js +1 -1
- package/dist/cjs/swappers/RelaySwapper/constant.d.ts +1 -1
- package/dist/cjs/swappers/RelaySwapper/constant.js +3 -2
- package/dist/cjs/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +1 -2
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayAssetAddress.js +2 -1
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.d.ts +2 -3
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.js +46 -13
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.test.d.ts +1 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.test.js +139 -0
- package/dist/cjs/swappers/RelaySwapper/utils/helpers.js +1 -2
- package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAssetId.js +1 -1
- package/dist/cjs/swappers/RelaySwapper/utils/types.d.ts +1 -4
- package/dist/cjs/swappers/SunioSwapper/endpoints.js +3 -63
- package/dist/cjs/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.js +3 -4
- package/dist/cjs/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.js +7 -1
- package/dist/cjs/swappers/SunioSwapper/types.d.ts +0 -3
- package/dist/cjs/swappers/SunioSwapper/utils/buildSwapContractCall.d.ts +11 -6
- package/dist/cjs/swappers/SunioSwapper/utils/buildSwapContractCall.js +33 -30
- package/dist/cjs/swappers/SunioSwapper/utils/constants.d.ts +3 -3
- package/dist/cjs/swappers/SunioSwapper/utils/constants.js +5 -9
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.d.ts +8 -3
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.js +54 -20
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.test.d.ts +1 -0
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.test.js +177 -0
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioTradeContext.js +3 -2
- package/dist/cjs/swappers/SunioSwapper/utils/helpers.js +2 -1
- package/dist/cjs/swappers/ThorchainSwapper/endpoints.js +3 -4
- package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js +6 -1
- package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.js +15 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/assertValidLongtailTrade.js +7 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.js +0 -2
- package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.js +0 -2
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.d.ts +1 -1
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.js +17 -20
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.js +31 -0
- package/dist/cjs/types.d.ts +9 -8
- package/dist/cjs/utils/helpers.js +3 -0
- package/dist/cjs/utils/helpers.test.js +3 -0
- package/dist/cjs/utils/thorchain/getThorStepData.js +32 -49
- package/dist/cjs/utils/thorchain/getThorStepData.tron.test.d.ts +1 -0
- package/dist/cjs/utils/thorchain/getThorStepData.tron.test.js +93 -0
- package/dist/cjs/utils/thorchain/index.d.ts +0 -1
- package/dist/cjs/utils/thorchain/index.js +1 -14
- package/dist/cjs/utils/tron/constants.d.ts +1 -0
- package/dist/cjs/utils/tron/constants.js +5 -0
- package/dist/cjs/utils/tron/getTronNetworkFeeCryptoBaseUnit.d.ts +27 -0
- package/dist/cjs/utils/tron/getTronNetworkFeeCryptoBaseUnit.js +64 -0
- package/dist/cjs/utils/tron/getTronNetworkFeeCryptoBaseUnit.test.d.ts +1 -0
- package/dist/cjs/utils/tron/getTronNetworkFeeCryptoBaseUnit.test.js +157 -0
- package/dist/cjs/utils/tron/getUnsignedTronTransaction.d.ts +2 -1
- package/dist/cjs/utils/tron/getUnsignedTronTransaction.js +14 -48
- package/dist/cjs/utils/tron/getUnsignedTronTransaction.test.d.ts +1 -0
- package/dist/cjs/utils/tron/getUnsignedTronTransaction.test.js +76 -0
- package/dist/cjs/utils/tron/index.d.ts +2 -0
- package/dist/cjs/utils/tron/index.js +2 -0
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +1 -2
- package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.js +4 -7
- package/dist/esm/swappers/BebopSwapper/utils/getBebopSolanaTradeContext.js +0 -1
- package/dist/esm/swappers/BobGatewaySwapper/BobGatewaySwapper.js +11 -2
- package/dist/esm/swappers/BobGatewaySwapper/endpoints.js +5 -36
- package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.js +5 -8
- package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeRate.js +1 -2
- package/dist/esm/swappers/BobGatewaySwapper/types.d.ts +3 -3
- package/dist/esm/swappers/BobGatewaySwapper/utils/constants.d.ts +3 -2
- package/dist/esm/swappers/BobGatewaySwapper/utils/constants.js +8 -7
- package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.d.ts +2 -2
- package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.js +21 -25
- package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.test.d.ts +1 -0
- package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.test.js +115 -0
- package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayTradeContext.js +1 -2
- package/dist/esm/swappers/BobGatewaySwapper/utils/helpers.d.ts +8 -11
- package/dist/esm/swappers/BobGatewaySwapper/utils/helpers.js +13 -30
- package/dist/esm/swappers/ButterSwap/ButterSwap.js +0 -3
- package/dist/esm/swappers/ButterSwap/endpoints.js +0 -3
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.js +2 -3
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.test.js +1 -49
- package/dist/esm/swappers/ButterSwap/types.d.ts +3 -14
- package/dist/esm/swappers/ButterSwap/utils/constants.d.ts +2 -0
- package/dist/esm/swappers/ButterSwap/utils/constants.js +3 -0
- package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.d.ts +2 -3
- package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.js +42 -65
- package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.test.js +116 -74
- package/dist/esm/swappers/ButterSwap/utils/helpers.js +2 -5
- package/dist/esm/swappers/ButterSwap/xhr.js +3 -3
- package/dist/esm/swappers/ChainflipSwapper/endpoints.js +3 -19
- package/dist/esm/swappers/ChainflipSwapper/utils/getChainflipStepData.d.ts +1 -1
- package/dist/esm/swappers/ChainflipSwapper/utils/getChainflipStepData.js +32 -13
- package/dist/esm/swappers/NearIntentsSwapper/constants.d.ts +1 -0
- package/dist/esm/swappers/NearIntentsSwapper/constants.js +2 -0
- package/dist/esm/swappers/NearIntentsSwapper/utils/getNearIntentsStepData.js +10 -5
- package/dist/esm/swappers/NearIntentsSwapper/utils/helpers.js +2 -2
- package/dist/esm/swappers/RelaySwapper/constant.d.ts +1 -1
- package/dist/esm/swappers/RelaySwapper/constant.js +2 -1
- package/dist/esm/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +1 -2
- package/dist/esm/swappers/RelaySwapper/utils/getRelayAssetAddress.js +3 -2
- package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.d.ts +2 -3
- package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.js +46 -13
- package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.test.d.ts +1 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.test.js +137 -0
- package/dist/esm/swappers/RelaySwapper/utils/helpers.js +1 -2
- package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAssetId.js +3 -3
- package/dist/esm/swappers/RelaySwapper/utils/types.d.ts +1 -4
- package/dist/esm/swappers/SunioSwapper/endpoints.js +5 -65
- package/dist/esm/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.js +3 -4
- package/dist/esm/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.js +7 -1
- package/dist/esm/swappers/SunioSwapper/types.d.ts +0 -3
- package/dist/esm/swappers/SunioSwapper/utils/buildSwapContractCall.d.ts +11 -6
- package/dist/esm/swappers/SunioSwapper/utils/buildSwapContractCall.js +31 -28
- package/dist/esm/swappers/SunioSwapper/utils/constants.d.ts +3 -3
- package/dist/esm/swappers/SunioSwapper/utils/constants.js +4 -8
- package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.d.ts +8 -3
- package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.js +52 -18
- package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.test.d.ts +1 -0
- package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.test.js +175 -0
- package/dist/esm/swappers/SunioSwapper/utils/getSunioTradeContext.js +2 -1
- package/dist/esm/swappers/SunioSwapper/utils/helpers.js +3 -2
- package/dist/esm/swappers/ThorchainSwapper/endpoints.js +4 -5
- package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js +6 -1
- package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.js +15 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/assertValidLongtailTrade.js +7 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.js +0 -2
- package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.js +0 -2
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.d.ts +1 -1
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.js +17 -20
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.js +29 -1
- package/dist/esm/types.d.ts +9 -8
- package/dist/esm/utils/helpers.js +4 -1
- package/dist/esm/utils/helpers.test.js +3 -0
- package/dist/esm/utils/thorchain/getThorStepData.js +32 -49
- package/dist/esm/utils/thorchain/getThorStepData.tron.test.d.ts +1 -0
- package/dist/esm/utils/thorchain/getThorStepData.tron.test.js +91 -0
- package/dist/esm/utils/thorchain/index.d.ts +0 -1
- package/dist/esm/utils/thorchain/index.js +0 -1
- package/dist/esm/utils/tron/constants.d.ts +1 -0
- package/dist/esm/utils/tron/constants.js +2 -0
- package/dist/esm/utils/tron/getTronNetworkFeeCryptoBaseUnit.d.ts +27 -0
- package/dist/esm/utils/tron/getTronNetworkFeeCryptoBaseUnit.js +59 -0
- package/dist/esm/utils/tron/getTronNetworkFeeCryptoBaseUnit.test.d.ts +1 -0
- package/dist/esm/utils/tron/getTronNetworkFeeCryptoBaseUnit.test.js +155 -0
- package/dist/esm/utils/tron/getUnsignedTronTransaction.d.ts +2 -1
- package/dist/esm/utils/tron/getUnsignedTronTransaction.js +14 -48
- package/dist/esm/utils/tron/getUnsignedTronTransaction.test.d.ts +1 -0
- package/dist/esm/utils/tron/getUnsignedTronTransaction.test.js +74 -0
- package/dist/esm/utils/tron/index.d.ts +2 -0
- package/dist/esm/utils/tron/index.js +2 -0
- package/package.json +9 -9
- package/dist/cjs/swappers/ButterSwap/test-data/eth-btc.json +0 -461
- package/dist/cjs/swappers/SunioSwapper/utils/buildSwapRouteParameters.d.ts +0 -14
- package/dist/cjs/swappers/SunioSwapper/utils/buildSwapRouteParameters.js +0 -32
- package/dist/cjs/swappers/SunioSwapper/utils/estimateSunioNetworkFee.d.ts +0 -12
- package/dist/cjs/swappers/SunioSwapper/utils/estimateSunioNetworkFee.js +0 -78
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioTransactionFees.d.ts +0 -2
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioTransactionFees.js +0 -36
- package/dist/cjs/utils/thorchain/tron/getTronTransactionFees.d.ts +0 -2
- package/dist/cjs/utils/thorchain/tron/getTronTransactionFees.js +0 -68
- package/dist/cjs/utils/thorchain/tron/getUnsignedTronTransaction.d.ts +0 -3
- package/dist/cjs/utils/thorchain/tron/getUnsignedTronTransaction.js +0 -35
- package/dist/cjs/utils/thorchain/tron/index.d.ts +0 -2
- package/dist/cjs/utils/thorchain/tron/index.js +0 -18
- package/dist/esm/swappers/ButterSwap/test-data/eth-btc.json +0 -461
- package/dist/esm/swappers/SunioSwapper/utils/buildSwapRouteParameters.d.ts +0 -14
- package/dist/esm/swappers/SunioSwapper/utils/buildSwapRouteParameters.js +0 -28
- package/dist/esm/swappers/SunioSwapper/utils/estimateSunioNetworkFee.d.ts +0 -12
- package/dist/esm/swappers/SunioSwapper/utils/estimateSunioNetworkFee.js +0 -74
- package/dist/esm/swappers/SunioSwapper/utils/getSunioTransactionFees.d.ts +0 -2
- package/dist/esm/swappers/SunioSwapper/utils/getSunioTransactionFees.js +0 -32
- package/dist/esm/utils/thorchain/tron/getTronTransactionFees.d.ts +0 -2
- package/dist/esm/utils/thorchain/tron/getTronTransactionFees.js +0 -64
- package/dist/esm/utils/thorchain/tron/getUnsignedTronTransaction.d.ts +0 -3
- package/dist/esm/utils/thorchain/tron/getUnsignedTronTransaction.js +0 -31
- package/dist/esm/utils/thorchain/tron/index.d.ts +0 -2
- package/dist/esm/utils/thorchain/tron/index.js +0 -2
- /package/dist/cjs/swappers/SunioSwapper/utils/{fetchFromSunio.d.ts → fetchSunioQuote.d.ts} +0 -0
- /package/dist/cjs/swappers/SunioSwapper/utils/{fetchFromSunio.js → fetchSunioQuote.js} +0 -0
- /package/dist/esm/swappers/SunioSwapper/utils/{fetchFromSunio.d.ts → fetchSunioQuote.d.ts} +0 -0
- /package/dist/esm/swappers/SunioSwapper/utils/{fetchFromSunio.js → fetchSunioQuote.js} +0 -0
|
@@ -1,24 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.assertValidTrade = exports.getBobGatewayAllowanceContract = exports.parseBobGatewayQuote = exports.mapBobGatewayOrderStatusToTxStatus = exports.
|
|
26
|
+
exports.assertValidTrade = exports.getBobGatewayAllowanceContract = exports.parseBobGatewayQuote = exports.mapBobGatewayOrderStatusToTxStatus = exports.submitBobGatewayBtcDeposit = exports.createBobGatewayOrder = exports.getBobGatewayQuote = exports.getBobGatewayAffiliates = exports.assetIdToBobGatewayToken = exports.getBobGatewayClient = exports.dummyAddressForChainId = void 0;
|
|
4
27
|
const bob_sdk_1 = require("@gobob/bob-sdk");
|
|
28
|
+
const bitcoin = __importStar(require("@shapeshiftoss/bitcoinjs-lib"));
|
|
5
29
|
const caip_1 = require("@shapeshiftoss/caip");
|
|
6
30
|
const chain_adapters_1 = require("@shapeshiftoss/chain-adapters");
|
|
7
31
|
const unchained_client_1 = require("@shapeshiftoss/unchained-client");
|
|
8
32
|
const utils_1 = require("@shapeshiftoss/utils");
|
|
9
33
|
const monads_1 = require("@sniptt/monads");
|
|
10
|
-
const tronweb_1 = require("tronweb");
|
|
11
34
|
const viem_1 = require("viem");
|
|
12
35
|
const constants_1 = require("../../../constants");
|
|
13
36
|
const types_1 = require("../../../types");
|
|
14
37
|
const utils_2 = require("../../../utils");
|
|
15
38
|
const helpers_1 = require("../../../utils/helpers");
|
|
39
|
+
const tron_1 = require("../../../utils/tron");
|
|
16
40
|
const constants_2 = require("./constants");
|
|
17
41
|
const dummyAddressForChainId = (chainId) => {
|
|
18
42
|
if (chainId === caip_1.btcChainId)
|
|
19
43
|
return constants_2.DUMMY_BTC_ADDRESS;
|
|
20
44
|
if (chainId === caip_1.tronChainId)
|
|
21
|
-
return
|
|
45
|
+
return tron_1.TRON_PLACEHOLDER_ADDRESS;
|
|
22
46
|
return constants_2.DUMMY_EVM_ADDRESS;
|
|
23
47
|
};
|
|
24
48
|
exports.dummyAddressForChainId = dummyAddressForChainId;
|
|
@@ -26,14 +50,6 @@ const getBobGatewayClient = (config) => {
|
|
|
26
50
|
return new bob_sdk_1.GatewaySDK({ basePath: constants_2.BOB_GATEWAY_BASE_URL, apiKey: config.VITE_BOB_GATEWAY_API_KEY });
|
|
27
51
|
};
|
|
28
52
|
exports.getBobGatewayClient = getBobGatewayClient;
|
|
29
|
-
const toTronBase58 = (address) => {
|
|
30
|
-
if (address.startsWith('T'))
|
|
31
|
-
return address;
|
|
32
|
-
if (address.startsWith('0x'))
|
|
33
|
-
return tronweb_1.TronWeb.address.fromHex(address.slice(2));
|
|
34
|
-
return tronweb_1.TronWeb.address.fromHex(address);
|
|
35
|
-
};
|
|
36
|
-
exports.toTronBase58 = toTronBase58;
|
|
37
53
|
const assetIdToBobGatewayToken = (assetId) => {
|
|
38
54
|
// BOB Gateway uses the zero address as the token address for native assets
|
|
39
55
|
if (!(0, utils_1.isToken)(assetId))
|
|
@@ -62,7 +78,6 @@ const getBobGatewayQuote = async ({ config, sellAsset, buyAsset, sellChainName,
|
|
|
62
78
|
toUserAddress: recipient,
|
|
63
79
|
amount,
|
|
64
80
|
maxSlippage: Number(slippage),
|
|
65
|
-
ownerAddress: sellChainName === 'bitcoin' ? recipient : sender,
|
|
66
81
|
refundAddress,
|
|
67
82
|
affiliates: (0, exports.getBobGatewayAffiliates)(affiliateBps),
|
|
68
83
|
});
|
|
@@ -108,7 +123,7 @@ const getBobGatewayQuote = async ({ config, sellAsset, buyAsset, sellChainName,
|
|
|
108
123
|
exports.getBobGatewayQuote = getBobGatewayQuote;
|
|
109
124
|
const createBobGatewayOrder = async (config, quote) => {
|
|
110
125
|
try {
|
|
111
|
-
const order = await (0, exports.getBobGatewayClient)(config).api.
|
|
126
|
+
const order = await (0, exports.getBobGatewayClient)(config).api.createOrderV4({ gatewayQuoteV4: quote });
|
|
112
127
|
return (0, monads_1.Ok)(order);
|
|
113
128
|
}
|
|
114
129
|
catch (err) {
|
|
@@ -127,23 +142,13 @@ const createBobGatewayOrder = async (config, quote) => {
|
|
|
127
142
|
}
|
|
128
143
|
};
|
|
129
144
|
exports.createBobGatewayOrder = createBobGatewayOrder;
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
return { onramp: { orderId, bitcoinTxid: txHash } };
|
|
136
|
-
}
|
|
137
|
-
// EVM→BTC
|
|
138
|
-
if (constants_2.chainIdToBobGatewayChainName[buyAsset.chainId] === 'bitcoin') {
|
|
139
|
-
return { offramp: { orderId, srcChain: sellChainName, srcTxHash: txHash } };
|
|
140
|
-
}
|
|
141
|
-
// EVM→EVM
|
|
142
|
-
return { tokenSwap: { orderId, srcChain: sellChainName, srcTxHash: txHash } };
|
|
143
|
-
})();
|
|
144
|
-
await (0, exports.getBobGatewayClient)(config).api.registerTxV3({ registerTxV3 });
|
|
145
|
+
const submitBobGatewayBtcDeposit = async ({ config, orderId, bitcoinTxHex, }) => {
|
|
146
|
+
await (0, exports.getBobGatewayClient)(config).api.registerTxV4({
|
|
147
|
+
registerTxV4: { onramp: { orderId, bitcoinTxHex } },
|
|
148
|
+
});
|
|
149
|
+
return bitcoin.Transaction.fromHex(bitcoinTxHex).getId();
|
|
145
150
|
};
|
|
146
|
-
exports.
|
|
151
|
+
exports.submitBobGatewayBtcDeposit = submitBobGatewayBtcDeposit;
|
|
147
152
|
const mapBobGatewayOrderStatusToTxStatus = (status) => {
|
|
148
153
|
if ('inProgress' in status)
|
|
149
154
|
return unchained_client_1.TxStatus.Pending;
|
|
@@ -166,7 +171,7 @@ const bobGatewayFeeToAssetId = (fee) => {
|
|
|
166
171
|
return (0, caip_1.toAssetId)({
|
|
167
172
|
chainId,
|
|
168
173
|
assetNamespace: caip_1.ASSET_NAMESPACE.trc20,
|
|
169
|
-
assetReference:
|
|
174
|
+
assetReference: chain_adapters_1.tron.toTronBase58(fee.address),
|
|
170
175
|
});
|
|
171
176
|
}
|
|
172
177
|
return (0, caip_1.toAssetId)({
|
|
@@ -240,7 +245,7 @@ const getBobGatewayAllowanceContract = (quote, sellAsset) => {
|
|
|
240
245
|
if (!txTo)
|
|
241
246
|
return '';
|
|
242
247
|
if (isTron)
|
|
243
|
-
return
|
|
248
|
+
return chain_adapters_1.tron.toTronBase58(txTo);
|
|
244
249
|
return txTo;
|
|
245
250
|
};
|
|
246
251
|
exports.getBobGatewayAllowanceContract = getBobGatewayAllowanceContract;
|
|
@@ -6,7 +6,4 @@ exports.butterSwap = {
|
|
|
6
6
|
executeEvmTransaction: utils_1.executeEvmTransaction,
|
|
7
7
|
executeSolanaTransaction: utils_1.executeSolanaTransaction,
|
|
8
8
|
executeTronTransaction: utils_1.executeTronTransaction,
|
|
9
|
-
executeUtxoTransaction: (txToSign, { signAndBroadcastTransaction }) => {
|
|
10
|
-
return signAndBroadcastTransaction(txToSign);
|
|
11
|
-
},
|
|
12
9
|
};
|
|
@@ -5,7 +5,6 @@ const evm_1 = require("../../utils/evm");
|
|
|
5
5
|
const getSolanaTransactionFees_1 = require("../../utils/solana/getSolanaTransactionFees");
|
|
6
6
|
const getUnsignedSolanaTransaction_1 = require("../../utils/solana/getUnsignedSolanaTransaction");
|
|
7
7
|
const tron_1 = require("../../utils/tron");
|
|
8
|
-
const utxo_1 = require("../../utils/utxo");
|
|
9
8
|
const checkTradeStatus_1 = require("./swapperApi/checkTradeStatus");
|
|
10
9
|
const getTradeQuote_1 = require("./swapperApi/getTradeQuote");
|
|
11
10
|
const getTradeRate_1 = require("./swapperApi/getTradeRate");
|
|
@@ -15,8 +14,6 @@ exports.butterSwapApi = {
|
|
|
15
14
|
checkTradeStatus: checkTradeStatus_1.checkTradeStatus,
|
|
16
15
|
getEvmTransactionFees: evm_1.getEvmTransactionFees,
|
|
17
16
|
getUnsignedEvmTransaction: evm_1.getUnsignedEvmTransaction,
|
|
18
|
-
getUnsignedUtxoTransaction: utxo_1.getUnsignedUtxoTransaction,
|
|
19
|
-
getUtxoTransactionFees: utxo_1.getUtxoTransactionFees,
|
|
20
17
|
getUnsignedSolanaTransaction: getUnsignedSolanaTransaction_1.getUnsignedSolanaTransaction,
|
|
21
18
|
getSolanaTransactionFees: getSolanaTransactionFees_1.getSolanaTransactionFees,
|
|
22
19
|
getTronTransactionFees: tron_1.getTronTransactionFees,
|
|
@@ -59,7 +59,7 @@ const getTradeQuote = async (input, deps) => {
|
|
|
59
59
|
});
|
|
60
60
|
if (maybeStepData.isErr())
|
|
61
61
|
return (0, monads_1.Err)(maybeStepData.unwrapErr());
|
|
62
|
-
const { networkFeeCryptoBaseUnit, transactionData
|
|
62
|
+
const { networkFeeCryptoBaseUnit, transactionData } = maybeStepData.unwrap();
|
|
63
63
|
const tradeQuote = {
|
|
64
64
|
...tradeCommon,
|
|
65
65
|
quoteOrRate: 'quote',
|
|
@@ -69,10 +69,9 @@ const getTradeQuote = async (input, deps) => {
|
|
|
69
69
|
{
|
|
70
70
|
...stepCommon,
|
|
71
71
|
accountNumber,
|
|
72
|
-
// Tron
|
|
72
|
+
// Tron routes pull the sell token from the buildTx target
|
|
73
73
|
allowanceContract: sellAsset.chainId === caip_1.tronChainId ? buildTx.to : stepCommon.allowanceContract,
|
|
74
74
|
transactionData,
|
|
75
|
-
butterSwapTransactionMetadata,
|
|
76
75
|
feeData: { networkFeeCryptoBaseUnit, protocolFees },
|
|
77
76
|
},
|
|
78
77
|
],
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
const types_1 = require("@shapeshiftoss/types");
|
|
7
4
|
const utils_1 = require("@shapeshiftoss/utils");
|
|
8
5
|
const monads_1 = require("@sniptt/monads");
|
|
9
6
|
const vitest_1 = require("vitest");
|
|
10
7
|
const assets_1 = require("../../../utils/test-data/assets");
|
|
11
|
-
const eth_btc_json_1 = __importDefault(require("../test-data/eth-btc.json"));
|
|
12
8
|
const routeQuote_1 = require("../test-data/routeQuote");
|
|
13
9
|
const butterSwapService_1 = require("../utils/butterSwapService");
|
|
14
10
|
const getTradeRate_1 = require("./getTradeRate");
|
|
@@ -64,51 +60,4 @@ const mockEvmChainAdapter = {
|
|
|
64
60
|
const tradeRate = result.unwrap();
|
|
65
61
|
(0, vitest_1.expect)(tradeRate[0].rate).toBe('2296.409699');
|
|
66
62
|
});
|
|
67
|
-
(0, vitest_1.it)('should return a correct trade rate and steps for a multi-hop ETH->BTC route', async () => {
|
|
68
|
-
const deps = {
|
|
69
|
-
assetsById: { [assets_1.ETH.assetId]: assets_1.ETH, [assets_1.BTC.assetId]: assets_1.BTC },
|
|
70
|
-
assertGetChainAdapter: () => vitest_1.vi.fn(),
|
|
71
|
-
assertGetEvmChainAdapter: () => mockEvmChainAdapter,
|
|
72
|
-
assertGetUtxoChainAdapter: () => vitest_1.vi.fn(),
|
|
73
|
-
assertGetCosmosSdkChainAdapter: () => vitest_1.vi.fn(),
|
|
74
|
-
assertGetSolanaChainAdapter: () => vitest_1.vi.fn(),
|
|
75
|
-
assertGetTronChainAdapter: () => vitest_1.vi.fn(),
|
|
76
|
-
assertGetSuiChainAdapter: () => vitest_1.vi.fn(),
|
|
77
|
-
assertGetNearChainAdapter: () => vitest_1.vi.fn(),
|
|
78
|
-
assertGetStarknetChainAdapter: () => vitest_1.vi.fn(),
|
|
79
|
-
assertGetTonChainAdapter: () => vitest_1.vi.fn(),
|
|
80
|
-
config: {
|
|
81
|
-
VITE_BUTTERSWAP_CLIENT_ID: 'test',
|
|
82
|
-
},
|
|
83
|
-
mixPanel: undefined,
|
|
84
|
-
fetchIsSmartContractAddressQuery: vitest_1.vi.fn(),
|
|
85
|
-
};
|
|
86
|
-
const input = {
|
|
87
|
-
sellAsset: assets_1.ETH,
|
|
88
|
-
buyAsset: assets_1.BTC,
|
|
89
|
-
sellAmountIncludingProtocolFeesCryptoBaseUnit: (0, utils_1.bn)(1).shiftedBy(18).toString(),
|
|
90
|
-
affiliateBps: '0',
|
|
91
|
-
allowMultiHop: true,
|
|
92
|
-
receiveAddress: '0x123',
|
|
93
|
-
accountNumber: undefined,
|
|
94
|
-
quoteOrRate: 'rate',
|
|
95
|
-
chainId: types_1.KnownChainIds.EthereumMainnet,
|
|
96
|
-
supportsEIP1559: false,
|
|
97
|
-
};
|
|
98
|
-
// Use the first route in the eth-btc.json data
|
|
99
|
-
vitest_1.vi.mocked(butterSwapService_1.butterService.get).mockResolvedValue((0, monads_1.Ok)({ data: eth_btc_json_1.default }));
|
|
100
|
-
const result = await (0, getTradeRate_1.getTradeRate)(input, deps);
|
|
101
|
-
(0, vitest_1.expect)(result.isOk()).toBe(true);
|
|
102
|
-
const tradeRate = result.unwrap()[0];
|
|
103
|
-
(0, vitest_1.expect)(tradeRate).toBeDefined();
|
|
104
|
-
// The expected rate is dstChain.totalAmountOut / srcChain.totalAmountIn
|
|
105
|
-
(0, vitest_1.expect)(tradeRate.rate).toBe('0.02284418');
|
|
106
|
-
// Should have a single step
|
|
107
|
-
(0, vitest_1.expect)(tradeRate.steps).toBeDefined();
|
|
108
|
-
(0, vitest_1.expect)(tradeRate.steps.length).toBe(1);
|
|
109
|
-
// The step should have the correct rate
|
|
110
|
-
(0, vitest_1.expect)(tradeRate.steps[0]?.rate).toBe('0.02284418');
|
|
111
|
-
// The buyAmountAfterFeesCryptoBaseUnit of the step should match the output in base units
|
|
112
|
-
(0, vitest_1.expect)(tradeRate.steps[0]?.buyAmountAfterFeesCryptoBaseUnit).toBe('2284418'); // 0.02284418 BTC in base units
|
|
113
|
-
});
|
|
114
63
|
});
|
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
import type { Hex } from 'viem';
|
|
2
|
-
import type { GetEvmTradeQuoteInput, GetEvmTradeRateInput, GetSolanaTradeQuoteInput, GetSolanaTradeRateInput, GetTronTradeQuoteInput, GetTronTradeRateInput
|
|
3
|
-
export type ButterSwapTradeQuoteInput = GetEvmTradeQuoteInput |
|
|
4
|
-
export type ButterSwapTradeRateInput = GetEvmTradeRateInput |
|
|
5
|
-
export type ButterSwapTransactionMetadata = {
|
|
6
|
-
to: string;
|
|
7
|
-
data: string;
|
|
8
|
-
value: Hex;
|
|
9
|
-
method?: string;
|
|
10
|
-
args?: {
|
|
11
|
-
type: string;
|
|
12
|
-
value: unknown;
|
|
13
|
-
}[];
|
|
14
|
-
memo?: string;
|
|
15
|
-
};
|
|
2
|
+
import type { GetEvmTradeQuoteInput, GetEvmTradeRateInput, GetSolanaTradeQuoteInput, GetSolanaTradeRateInput, GetTronTradeQuoteInput, GetTronTradeRateInput } from '../../types';
|
|
3
|
+
export type ButterSwapTradeQuoteInput = GetEvmTradeQuoteInput | GetSolanaTradeQuoteInput | GetTronTradeQuoteInput;
|
|
4
|
+
export type ButterSwapTradeRateInput = GetEvmTradeRateInput | GetSolanaTradeRateInput | GetTronTradeRateInput;
|
|
16
5
|
export type ErrorType = {
|
|
17
6
|
errno: number;
|
|
18
7
|
message: string;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeButterSwapAffiliate = void 0;
|
|
3
|
+
exports.makeButterSwapAffiliate = exports.BUTTERSWAP_TRON_DEFAULT_BANDWIDTH_BYTES = exports.BUTTERSWAP_TRON_FALLBACK_SWAP_ENERGY = void 0;
|
|
4
4
|
const utils_1 = require("@shapeshiftoss/utils");
|
|
5
5
|
const BUTTERSWAP_AFFILIATE = 'shapeshift';
|
|
6
|
+
// The router's total energy per swap, before its deployer's share comes off
|
|
7
|
+
exports.BUTTERSWAP_TRON_FALLBACK_SWAP_ENERGY = '1000000';
|
|
8
|
+
exports.BUTTERSWAP_TRON_DEFAULT_BANDWIDTH_BYTES = 2400;
|
|
6
9
|
// Format is `<nickname>[:rate]`, where rate is in basis points (e.g. `shapeshift:60` = 0.6%).
|
|
7
10
|
const makeButterSwapAffiliate = (affiliateBps) => {
|
|
8
11
|
if ((0, utils_1.bnOrZero)(affiliateBps).lte(0))
|
|
@@ -2,7 +2,7 @@ import type { Asset } from '@shapeshiftoss/types';
|
|
|
2
2
|
import type { Result } from '@sniptt/monads';
|
|
3
3
|
import type { StepDataArgs, SwapErrorRight, TxBuildData } from '../../../types';
|
|
4
4
|
import type { SolanaComputeBudgetOptions } from '../../../utils/solana';
|
|
5
|
-
import type { BuildTxSuccessItem,
|
|
5
|
+
import type { BuildTxSuccessItem, RouteSuccessItem } from '../types';
|
|
6
6
|
export declare const BUTTERSWAP_SOLANA_COMPUTE_BUDGET: SolanaComputeBudgetOptions;
|
|
7
7
|
type BaseArgs = {
|
|
8
8
|
route: RouteSuccessItem;
|
|
@@ -19,8 +19,7 @@ type ButterSwapRateStepData = {
|
|
|
19
19
|
networkFeeCryptoBaseUnit: string;
|
|
20
20
|
};
|
|
21
21
|
type ButterSwapQuoteStepData = {
|
|
22
|
-
transactionData
|
|
23
|
-
butterSwapTransactionMetadata?: ButterSwapTransactionMetadata;
|
|
22
|
+
transactionData: TxBuildData;
|
|
24
23
|
networkFeeCryptoBaseUnit: string;
|
|
25
24
|
};
|
|
26
25
|
export declare function getButterSwapStepData(args: Extract<GetButterSwapStepDataArgs, {
|
|
@@ -10,7 +10,8 @@ const types_1 = require("../../../types");
|
|
|
10
10
|
const utils_2 = require("../../../utils");
|
|
11
11
|
const evm_1 = require("../../../utils/evm");
|
|
12
12
|
const solana_1 = require("../../../utils/solana");
|
|
13
|
-
const
|
|
13
|
+
const tron_1 = require("../../../utils/tron");
|
|
14
|
+
const constants_1 = require("./constants");
|
|
14
15
|
const helpers_1 = require("./helpers");
|
|
15
16
|
// Jupiter swap legs can consume more units than simulated when pool state moves between
|
|
16
17
|
// simulation and landing (CLMM tick crossings), 1.4 matches Jupiter's dynamicComputeUnitLimit margin
|
|
@@ -69,56 +70,6 @@ async function getButterSwapStepData(args) {
|
|
|
69
70
|
return (0, monads_1.Err)((0, utils_2.makeNetworkFeeEstimationFailedErr)('getButterSwapStepData', error));
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
|
-
case caip_1.CHAIN_NAMESPACE.Utxo: {
|
|
73
|
-
const adapter = deps.assertGetUtxoChainAdapter(sellAsset.chainId);
|
|
74
|
-
const pubkey = 'xpub' in input ? input.xpub : undefined;
|
|
75
|
-
if (args.type === 'rate') {
|
|
76
|
-
const networkFeeCryptoBaseUnit = await (async () => {
|
|
77
|
-
try {
|
|
78
|
-
const { networkFeeCryptoBaseUnit } = await (0, utxo_1.getUtxoNetworkFeeCryptoBaseUnit)({
|
|
79
|
-
adapter,
|
|
80
|
-
pubkey,
|
|
81
|
-
to: input.sendAddress ?? utxo_1.UTXO_PLACEHOLDER_ADDRESS,
|
|
82
|
-
value: sellAmountCryptoBaseUnit,
|
|
83
|
-
});
|
|
84
|
-
return networkFeeCryptoBaseUnit;
|
|
85
|
-
}
|
|
86
|
-
catch {
|
|
87
|
-
return (0, helpers_1.getProviderNetworkFeeCryptoBaseUnit)({ route, feeAsset });
|
|
88
|
-
}
|
|
89
|
-
})();
|
|
90
|
-
const stepData = { networkFeeCryptoBaseUnit };
|
|
91
|
-
return (0, monads_1.Ok)(stepData);
|
|
92
|
-
}
|
|
93
|
-
const { buildTx } = args;
|
|
94
|
-
// opReturnData routes the bridge for BTC deposits
|
|
95
|
-
if (!buildTx.memo) {
|
|
96
|
-
return (0, monads_1.Err)((0, utils_2.makeSwapErrorRight)({
|
|
97
|
-
message: '[getButterSwapStepData] Missing memo (opReturnData)',
|
|
98
|
-
code: types_1.TradeQuoteError.InvalidResponse,
|
|
99
|
-
}));
|
|
100
|
-
}
|
|
101
|
-
const transactionData = {
|
|
102
|
-
type: 'utxo',
|
|
103
|
-
to: buildTx.to,
|
|
104
|
-
opReturnData: buildTx.memo,
|
|
105
|
-
value: sellAmountCryptoBaseUnit,
|
|
106
|
-
};
|
|
107
|
-
try {
|
|
108
|
-
const { networkFeeCryptoBaseUnit } = await (0, utxo_1.getUtxoNetworkFeeCryptoBaseUnit)({
|
|
109
|
-
adapter,
|
|
110
|
-
pubkey,
|
|
111
|
-
to: transactionData.to,
|
|
112
|
-
value: transactionData.value,
|
|
113
|
-
opReturnData: transactionData.opReturnData,
|
|
114
|
-
});
|
|
115
|
-
const stepData = { transactionData, networkFeeCryptoBaseUnit };
|
|
116
|
-
return (0, monads_1.Ok)(stepData);
|
|
117
|
-
}
|
|
118
|
-
catch (error) {
|
|
119
|
-
return (0, monads_1.Err)((0, utils_2.makeNetworkFeeEstimationFailedErr)('getButterSwapStepData', error));
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
73
|
case caip_1.CHAIN_NAMESPACE.Solana: {
|
|
123
74
|
const adapter = deps.assertGetSolanaChainAdapter(sellAsset.chainId);
|
|
124
75
|
if (args.type === 'rate') {
|
|
@@ -168,26 +119,52 @@ async function getButterSwapStepData(args) {
|
|
|
168
119
|
return (0, monads_1.Err)((0, utils_2.makeTradeStepBuildFailedErr)('getButterSwapStepData', error));
|
|
169
120
|
}
|
|
170
121
|
}
|
|
171
|
-
// Not yet migrated to a TxBuildData variant - exec still builds from legacy metadata
|
|
172
122
|
case caip_1.CHAIN_NAMESPACE.Tron: {
|
|
173
|
-
const
|
|
123
|
+
const adapter = deps.assertGetTronChainAdapter(sellAsset.chainId);
|
|
174
124
|
if (args.type === 'rate') {
|
|
125
|
+
// Butter's gasFee is a fraction of what the router burns, so rates price the measured swap at the router's share
|
|
126
|
+
const networkFeeCryptoBaseUnit = await (async () => {
|
|
127
|
+
if (!route.contract)
|
|
128
|
+
return (0, helpers_1.getProviderNetworkFeeCryptoBaseUnit)({ route, feeAsset });
|
|
129
|
+
try {
|
|
130
|
+
return await (0, tron_1.getTronContractCallFallbackFeeCryptoBaseUnit)({
|
|
131
|
+
adapter,
|
|
132
|
+
energy: constants_1.BUTTERSWAP_TRON_FALLBACK_SWAP_ENERGY,
|
|
133
|
+
bandwidthBytes: constants_1.BUTTERSWAP_TRON_DEFAULT_BANDWIDTH_BYTES,
|
|
134
|
+
contractAddress: route.contract,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
return (0, helpers_1.getProviderNetworkFeeCryptoBaseUnit)({ route, feeAsset });
|
|
139
|
+
}
|
|
140
|
+
})();
|
|
175
141
|
const stepData = { networkFeeCryptoBaseUnit };
|
|
176
142
|
return (0, monads_1.Ok)(stepData);
|
|
177
143
|
}
|
|
178
|
-
const { buildTx } = args;
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
value: buildTx.value,
|
|
184
|
-
method: buildTx.method,
|
|
185
|
-
args: buildTx.args,
|
|
186
|
-
memo: buildTx.memo,
|
|
187
|
-
},
|
|
188
|
-
networkFeeCryptoBaseUnit,
|
|
144
|
+
const { buildTx, from } = args;
|
|
145
|
+
const call = {
|
|
146
|
+
to: buildTx.to,
|
|
147
|
+
data: buildTx.data,
|
|
148
|
+
value: (0, viem_1.fromHex)(buildTx.value, 'bigint').toString(),
|
|
189
149
|
};
|
|
190
|
-
|
|
150
|
+
try {
|
|
151
|
+
const stepData = {
|
|
152
|
+
transactionData: { type: 'tron', ...call },
|
|
153
|
+
networkFeeCryptoBaseUnit: await (0, tron_1.getTronContractCallNetworkFeeCryptoBaseUnit)({
|
|
154
|
+
adapter,
|
|
155
|
+
transactionData: call,
|
|
156
|
+
from,
|
|
157
|
+
sellAsset,
|
|
158
|
+
sellAmountCryptoBaseUnit,
|
|
159
|
+
spenderAddress: buildTx.to,
|
|
160
|
+
fallbackEnergy: constants_1.BUTTERSWAP_TRON_FALLBACK_SWAP_ENERGY,
|
|
161
|
+
}),
|
|
162
|
+
};
|
|
163
|
+
return (0, monads_1.Ok)(stepData);
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
return (0, monads_1.Err)((0, utils_2.makeNetworkFeeEstimationFailedErr)('getButterSwapStepData', error));
|
|
167
|
+
}
|
|
191
168
|
}
|
|
192
169
|
default:
|
|
193
170
|
return (0, monads_1.Err)((0, utils_2.makeSwapErrorRight)({
|