@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
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { tronChainId } from '@shapeshiftoss/caip';
|
|
2
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
3
|
+
import { ETH } from '../test-data/assets.js';
|
|
4
|
+
import { getUnsignedTronTransaction } from './getUnsignedTronTransaction.js';
|
|
5
|
+
const USDT = 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t';
|
|
6
|
+
const TRX = { ...ETH, assetId: `${tronChainId}/slip44:195`, chainId: tronChainId };
|
|
7
|
+
const USDT_TRON = { ...ETH, assetId: `${tronChainId}/trc20:${USDT}`, chainId: tronChainId };
|
|
8
|
+
const FROM = 'TT2T17KZhoDu47i2E4FWxfG79zdkEWkU9N';
|
|
9
|
+
const TO = 'TCFNp179Lg46D16zKoumd4Poa2WFFdtqYj';
|
|
10
|
+
const makeArgs = (sellAsset, transactionData, feeData = {
|
|
11
|
+
networkFeeCryptoBaseUnit: '9000000',
|
|
12
|
+
}) => {
|
|
13
|
+
const adapter = {
|
|
14
|
+
buildCustomApiTx: vi.fn().mockResolvedValue('custom'),
|
|
15
|
+
buildSendApiTransaction: vi.fn().mockResolvedValue('send'),
|
|
16
|
+
};
|
|
17
|
+
const tradeQuote = {
|
|
18
|
+
quoteOrRate: 'quote',
|
|
19
|
+
steps: [{ accountNumber: 0, sellAsset, transactionData, feeData }],
|
|
20
|
+
};
|
|
21
|
+
return {
|
|
22
|
+
adapter,
|
|
23
|
+
args: {
|
|
24
|
+
tradeQuote,
|
|
25
|
+
stepIndex: 0,
|
|
26
|
+
from: FROM,
|
|
27
|
+
assertGetTronChainAdapter: () => adapter,
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
describe('getUnsignedTronTransaction', () => {
|
|
32
|
+
it('builds a contract call when data is present', async () => {
|
|
33
|
+
const { adapter, args } = makeArgs(TRX, {
|
|
34
|
+
type: 'tron',
|
|
35
|
+
to: TO,
|
|
36
|
+
data: '0xdeadbeef',
|
|
37
|
+
value: '1',
|
|
38
|
+
});
|
|
39
|
+
expect(await getUnsignedTronTransaction(args)).toBe('custom');
|
|
40
|
+
expect(adapter.buildCustomApiTx).toHaveBeenCalledWith({
|
|
41
|
+
from: FROM,
|
|
42
|
+
to: TO,
|
|
43
|
+
accountNumber: 0,
|
|
44
|
+
data: '0xdeadbeef',
|
|
45
|
+
value: '1',
|
|
46
|
+
feeLimit: 27_000_000,
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
it('uses the standard fee limit when the step carries no estimate', async () => {
|
|
50
|
+
const { adapter, args } = makeArgs(TRX, { type: 'tron', to: TO, data: '0xdeadbeef', value: '1' }, { networkFeeCryptoBaseUnit: undefined });
|
|
51
|
+
await getUnsignedTronTransaction(args);
|
|
52
|
+
expect(adapter.buildCustomApiTx).toHaveBeenCalledWith(expect.objectContaining({ feeLimit: 100_000_000 }));
|
|
53
|
+
});
|
|
54
|
+
it('builds a send of the sell asset when data is absent', async () => {
|
|
55
|
+
const { adapter, args } = makeArgs(USDT_TRON, {
|
|
56
|
+
type: 'tron',
|
|
57
|
+
to: TO,
|
|
58
|
+
value: '1',
|
|
59
|
+
memo: '=:ETH.ETH:0xabc',
|
|
60
|
+
});
|
|
61
|
+
expect(await getUnsignedTronTransaction(args)).toBe('send');
|
|
62
|
+
expect(adapter.buildSendApiTransaction).toHaveBeenCalledWith({
|
|
63
|
+
from: FROM,
|
|
64
|
+
to: TO,
|
|
65
|
+
accountNumber: 0,
|
|
66
|
+
value: '1',
|
|
67
|
+
chainSpecific: { contractAddress: USDT, memo: '=:ETH.ETH:0xabc', feeLimit: 27_000_000 },
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
it('throws without tron transactionData', () => {
|
|
71
|
+
const { args } = makeArgs(TRX, undefined);
|
|
72
|
+
expect(() => getUnsignedTronTransaction(args)).toThrow('Missing tron transactionData');
|
|
73
|
+
});
|
|
74
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapeshiftoss/swapper",
|
|
3
|
-
"version": "20.
|
|
3
|
+
"version": "20.3.0",
|
|
4
4
|
"repository": "https://github.com/shapeshift/web",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@coral-xyz/anchor": "0.29.0",
|
|
29
29
|
"@cowprotocol/app-data": "^2.3.0",
|
|
30
30
|
"@defuse-protocol/one-click-sdk-typescript": "^0.1.1-0.2",
|
|
31
|
-
"@gobob/bob-sdk": "
|
|
31
|
+
"@gobob/bob-sdk": "6.0.1",
|
|
32
32
|
"@mysten/sui": "^1.45.2",
|
|
33
33
|
"@shapeshiftoss/bitcoinjs-lib": "7.0.0-shapeshift.0",
|
|
34
34
|
"@sniptt/monads": "^0.5.10",
|
|
@@ -50,13 +50,13 @@
|
|
|
50
50
|
"retry-axios": "^2.6.0",
|
|
51
51
|
"uuid": "^9.0.0",
|
|
52
52
|
"viem": "2.55.11",
|
|
53
|
-
"@shapeshiftoss/caip": "^8.17.
|
|
54
|
-
"@shapeshiftoss/chain-adapters": "^11.
|
|
55
|
-
"@shapeshiftoss/
|
|
56
|
-
"@shapeshiftoss/
|
|
57
|
-
"@shapeshiftoss/types": "^9.0
|
|
58
|
-
"@shapeshiftoss/utils": "^1.
|
|
59
|
-
"@shapeshiftoss/
|
|
53
|
+
"@shapeshiftoss/caip": "^8.17.1",
|
|
54
|
+
"@shapeshiftoss/chain-adapters": "^11.6.0",
|
|
55
|
+
"@shapeshiftoss/hdwallet-core": "^1.62.41",
|
|
56
|
+
"@shapeshiftoss/contracts": "^1.1.0",
|
|
57
|
+
"@shapeshiftoss/types": "^9.1.0",
|
|
58
|
+
"@shapeshiftoss/utils": "^1.3.1",
|
|
59
|
+
"@shapeshiftoss/unchained-client": "^10.15.0"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@types/lodash": "^4.14.178",
|
|
@@ -1,461 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"errno": 0,
|
|
3
|
-
"message": "success",
|
|
4
|
-
"data": [
|
|
5
|
-
{
|
|
6
|
-
"diff": "0",
|
|
7
|
-
"bridgeFee": {
|
|
8
|
-
"amount": "0.000107378906528402",
|
|
9
|
-
"symbol": "BTC",
|
|
10
|
-
"address": "0xb877E3562a660C7861117c2f1361A26ABaF19bEB",
|
|
11
|
-
"chainId": 22776,
|
|
12
|
-
"in": {
|
|
13
|
-
"amount": "0.0",
|
|
14
|
-
"token": {
|
|
15
|
-
"address": "0x05aB928d446d8ce6761e368c8e7bE03C3168A9ec",
|
|
16
|
-
"decimals": 18,
|
|
17
|
-
"symbol": "ETH",
|
|
18
|
-
"icon": "https://s3.amazonaws.com/map-static-file/mapSwap/ethereum/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2/logo.png"
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
"out": {
|
|
22
|
-
"amount": "0.000107378906528402",
|
|
23
|
-
"token": {
|
|
24
|
-
"address": "0xb877E3562a660C7861117c2f1361A26ABaF19bEB",
|
|
25
|
-
"decimals": 18,
|
|
26
|
-
"symbol": "BTC",
|
|
27
|
-
"icon": "https://map-static-file.s3.amazonaws.com/mapSwap/merlin/0x0000000000000000000000000000000000000000.jpg"
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
"affiliate": {
|
|
31
|
-
"amount": "0.0",
|
|
32
|
-
"token": {
|
|
33
|
-
"address": "0x05aB928d446d8ce6761e368c8e7bE03C3168A9ec",
|
|
34
|
-
"decimals": 18,
|
|
35
|
-
"symbol": "ETH",
|
|
36
|
-
"icon": "https://s3.amazonaws.com/map-static-file/mapSwap/ethereum/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2/logo.png"
|
|
37
|
-
},
|
|
38
|
-
"list": [],
|
|
39
|
-
"data": "0x00"
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
"tradeType": 0,
|
|
43
|
-
"gasFee": {
|
|
44
|
-
"amount": "0.00016530333452",
|
|
45
|
-
"symbol": "ETH",
|
|
46
|
-
"inUSD": "0.40999865125232837"
|
|
47
|
-
},
|
|
48
|
-
"swapFee": {
|
|
49
|
-
"nativeFee": "0.0",
|
|
50
|
-
"tokenFee": "0.0"
|
|
51
|
-
},
|
|
52
|
-
"feeConfig": {
|
|
53
|
-
"feeType": 1,
|
|
54
|
-
"referrer": "0x51C700e5bE790C91F14D42F85ca90aed9f2D142e",
|
|
55
|
-
"rateOrNativeFee": 0
|
|
56
|
-
},
|
|
57
|
-
"gasEstimated": "170000",
|
|
58
|
-
"gasEstimatedTarget": "420000",
|
|
59
|
-
"timeEstimated": 120,
|
|
60
|
-
"hash": "0xebdd2bea8ffe00bbbc9f0f7d8a92ee9112cf5d2630fb14946c3f21726c3464f6",
|
|
61
|
-
"entrance": "butter+",
|
|
62
|
-
"timestamp": 1750912498065,
|
|
63
|
-
"hasLiquidity": true,
|
|
64
|
-
"srcChain": {
|
|
65
|
-
"chainId": "1",
|
|
66
|
-
"tokenIn": {
|
|
67
|
-
"address": "0x0000000000000000000000000000000000000000",
|
|
68
|
-
"name": "ETH",
|
|
69
|
-
"decimals": 18,
|
|
70
|
-
"symbol": "ETH",
|
|
71
|
-
"icon": "https://s3.amazonaws.com/map-static-file/mapSwap/ethereum/0x0000000000000000000000000000000000000000/logo.png"
|
|
72
|
-
},
|
|
73
|
-
"tokenOut": {
|
|
74
|
-
"address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
|
|
75
|
-
"name": "Wrapped Ether",
|
|
76
|
-
"decimals": 18,
|
|
77
|
-
"symbol": "WETH",
|
|
78
|
-
"icon": "https://s3.amazonaws.com/map-static-file/mapSwap/ethereum/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2/logo.png"
|
|
79
|
-
},
|
|
80
|
-
"totalAmountIn": "1.0",
|
|
81
|
-
"totalAmountOut": "1.0",
|
|
82
|
-
"route": [
|
|
83
|
-
{
|
|
84
|
-
"amountIn": "1.0",
|
|
85
|
-
"amountOut": "1.0",
|
|
86
|
-
"dexName": "",
|
|
87
|
-
"path": []
|
|
88
|
-
}
|
|
89
|
-
],
|
|
90
|
-
"totalAmountOutUSD": "2480.28058504",
|
|
91
|
-
"bridge": "Butter"
|
|
92
|
-
},
|
|
93
|
-
"bridgeChain": {
|
|
94
|
-
"chainId": "22776",
|
|
95
|
-
"tokenIn": {
|
|
96
|
-
"address": "0x05aB928d446d8ce6761e368c8e7bE03C3168A9ec",
|
|
97
|
-
"decimals": 18,
|
|
98
|
-
"symbol": "ETH",
|
|
99
|
-
"icon": "https://s3.amazonaws.com/map-static-file/mapSwap/ethereum/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2/logo.png"
|
|
100
|
-
},
|
|
101
|
-
"tokenOut": {
|
|
102
|
-
"address": "0xb877E3562a660C7861117c2f1361A26ABaF19bEB",
|
|
103
|
-
"decimals": 18,
|
|
104
|
-
"symbol": "BTC",
|
|
105
|
-
"icon": "https://map-static-file.s3.amazonaws.com/mapSwap/merlin/0x0000000000000000000000000000000000000000.jpg"
|
|
106
|
-
},
|
|
107
|
-
"totalAmountIn": "1.0",
|
|
108
|
-
"totalAmountOut": "0.022844183704832789",
|
|
109
|
-
"route": [
|
|
110
|
-
{
|
|
111
|
-
"amountIn": "1.0",
|
|
112
|
-
"amountOut": "0.022844183704832789",
|
|
113
|
-
"dexName": "FlashSwap",
|
|
114
|
-
"path": []
|
|
115
|
-
}
|
|
116
|
-
],
|
|
117
|
-
"bridge": "Butter"
|
|
118
|
-
},
|
|
119
|
-
"dstChain": {
|
|
120
|
-
"chainId": "1360095883558913",
|
|
121
|
-
"tokenIn": {
|
|
122
|
-
"address": "0x425443",
|
|
123
|
-
"name": "WBTC",
|
|
124
|
-
"decimals": 8,
|
|
125
|
-
"symbol": "WBTC",
|
|
126
|
-
"icon": "https://map-static-file.s3.amazonaws.com/mapSwap/merlin/0x0000000000000000000000000000000000000000.jpg"
|
|
127
|
-
},
|
|
128
|
-
"tokenOut": {
|
|
129
|
-
"address": "0x0000000000000000000000000000000000000000",
|
|
130
|
-
"name": "BTC",
|
|
131
|
-
"decimals": 8,
|
|
132
|
-
"symbol": "BTC",
|
|
133
|
-
"icon": "https://map-static-file.s3.amazonaws.com/mapSwap/merlin/0x0000000000000000000000000000000000000000.jpg"
|
|
134
|
-
},
|
|
135
|
-
"totalAmountIn": "0.02284418",
|
|
136
|
-
"totalAmountOut": "0.02284418",
|
|
137
|
-
"route": [
|
|
138
|
-
{
|
|
139
|
-
"amountIn": "0.02284418",
|
|
140
|
-
"amountOut": "0.02284418",
|
|
141
|
-
"dexName": "",
|
|
142
|
-
"path": []
|
|
143
|
-
}
|
|
144
|
-
],
|
|
145
|
-
"totalAmountOutUSD": "2465.5271044752394",
|
|
146
|
-
"bridge": "Butter"
|
|
147
|
-
},
|
|
148
|
-
"totalAmountInUSD": "2480.28058504",
|
|
149
|
-
"totalAmountOutUSD": "2465.5271044752394",
|
|
150
|
-
"contract": "0xEE030ec6F4307411607E55aCD08e628Ae6655B86",
|
|
151
|
-
"minAmountOut": {
|
|
152
|
-
"amount": "0.02250152",
|
|
153
|
-
"symbol": "BTC"
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
"diff": "0.00236384059309635977",
|
|
158
|
-
"bridgeFee": {
|
|
159
|
-
"amount": "0.000107377548232246",
|
|
160
|
-
"symbol": "BTC",
|
|
161
|
-
"address": "0xb877E3562a660C7861117c2f1361A26ABaF19bEB",
|
|
162
|
-
"chainId": 22776,
|
|
163
|
-
"in": {
|
|
164
|
-
"amount": "0.0",
|
|
165
|
-
"token": {
|
|
166
|
-
"address": "0x9f722b2cb30093f766221Fd0d37964949ed66918",
|
|
167
|
-
"decimals": 18,
|
|
168
|
-
"symbol": "USDC",
|
|
169
|
-
"icon": "https://s3.amazonaws.com/map-static-file/mapSwap/ethereum/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48/logo.png"
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
"out": {
|
|
173
|
-
"amount": "0.000107377548232246",
|
|
174
|
-
"token": {
|
|
175
|
-
"address": "0xb877E3562a660C7861117c2f1361A26ABaF19bEB",
|
|
176
|
-
"decimals": 18,
|
|
177
|
-
"symbol": "BTC",
|
|
178
|
-
"icon": "https://map-static-file.s3.amazonaws.com/mapSwap/merlin/0x0000000000000000000000000000000000000000.jpg"
|
|
179
|
-
}
|
|
180
|
-
},
|
|
181
|
-
"affiliate": {
|
|
182
|
-
"amount": "0.0",
|
|
183
|
-
"token": {
|
|
184
|
-
"address": "0x9f722b2cb30093f766221Fd0d37964949ed66918",
|
|
185
|
-
"decimals": 18,
|
|
186
|
-
"symbol": "USDC",
|
|
187
|
-
"icon": "https://s3.amazonaws.com/map-static-file/mapSwap/ethereum/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48/logo.png"
|
|
188
|
-
},
|
|
189
|
-
"list": [],
|
|
190
|
-
"data": "0x00"
|
|
191
|
-
}
|
|
192
|
-
},
|
|
193
|
-
"tradeType": 0,
|
|
194
|
-
"gasFee": {
|
|
195
|
-
"amount": "0.000797153938526468",
|
|
196
|
-
"symbol": "ETH",
|
|
197
|
-
"inUSD": "1.9771654370153682"
|
|
198
|
-
},
|
|
199
|
-
"swapFee": {
|
|
200
|
-
"nativeFee": "0.0",
|
|
201
|
-
"tokenFee": "0.0"
|
|
202
|
-
},
|
|
203
|
-
"feeConfig": {
|
|
204
|
-
"feeType": 1,
|
|
205
|
-
"referrer": "0x51C700e5bE790C91F14D42F85ca90aed9f2D142e",
|
|
206
|
-
"rateOrNativeFee": 0
|
|
207
|
-
},
|
|
208
|
-
"gasEstimated": "819803",
|
|
209
|
-
"gasEstimatedTarget": "420000",
|
|
210
|
-
"timeEstimated": 120,
|
|
211
|
-
"hash": "0x89959c9c0d91bceeeddcf3edb2c8164a8ea7bd3eb464214a58a49d061996d028",
|
|
212
|
-
"entrance": "butter+",
|
|
213
|
-
"timestamp": 1750912498065,
|
|
214
|
-
"hasLiquidity": true,
|
|
215
|
-
"srcChain": {
|
|
216
|
-
"chainId": "1",
|
|
217
|
-
"tokenIn": {
|
|
218
|
-
"address": "0x0000000000000000000000000000000000000000",
|
|
219
|
-
"name": "ETH",
|
|
220
|
-
"decimals": 18,
|
|
221
|
-
"symbol": "ETH",
|
|
222
|
-
"icon": "https://s3.amazonaws.com/map-static-file/mapSwap/ethereum/0x0000000000000000000000000000000000000000/logo.png"
|
|
223
|
-
},
|
|
224
|
-
"tokenOut": {
|
|
225
|
-
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
226
|
-
"name": "USD Coin",
|
|
227
|
-
"decimals": 6,
|
|
228
|
-
"symbol": "USDC",
|
|
229
|
-
"icon": "https://s3.amazonaws.com/map-static-file/mapSwap/ethereum/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48/logo.png"
|
|
230
|
-
},
|
|
231
|
-
"totalAmountIn": "1.0",
|
|
232
|
-
"totalAmountOut": "2479.119727",
|
|
233
|
-
"route": [
|
|
234
|
-
{
|
|
235
|
-
"amountIn": "1.0",
|
|
236
|
-
"amountOut": "2479.119727",
|
|
237
|
-
"dexName": "OpenOcean",
|
|
238
|
-
"path": [],
|
|
239
|
-
"extra": "0x90411a3200000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121000000000000000000000000aa301070448385cfaac5913a67b16c4392944a8f0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000008c60f25c0000000000000000000000000000000000000000000000000000000093c45d6f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200aee9ba7040d778922a763ce8a50948d61aff5000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000620000000000000000000000000000000000000000000000000000000000000088000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000e200000000000000000000000000000000000000000000000000000000000000f40000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000004d0e30db00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e5b07cdb000000000000000000000000e0554a476a092703abdb3ef35c80e0d76d32939f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef12100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002ec02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000064a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000004d0e30db00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e5b07cdb000000000000000000000000c7bbec68d12a0d1830360f8ec58fa599ba1b0e9b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000006ccd46763f1000000000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef12100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002ec02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000064dac17f958d2ee523a2206206994597c13d831ec700000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f865422000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f99000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000ce9874c42dce7fffbe5e48b026ff1182733266cb0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000084aa37e8aa000000000000000000000000ce9874c42dce7fffbe5e48b026ff1182733266cb000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef12100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003a451a74316000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064eb5625d9000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000006146be494fee4c73540cb1c5f87536abf14525000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006146be494fee4c73540cb1c5f87536abf14525000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000084c31b8d7a00000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef12100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000fffd8963efd1fc6a506488495d951d5263988d250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000648a6a1e85000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000922164bbbd36acf9e854acbbf32facc949fcaeef0000000000000000000000000000000000000000000000000000000093c45d6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f865422000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f99000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000aa301070448385cfaac5913a67b16c4392944a8f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
240
|
-
}
|
|
241
|
-
],
|
|
242
|
-
"totalAmountOutUSD": "2479.009901996094",
|
|
243
|
-
"bridge": "Butter"
|
|
244
|
-
},
|
|
245
|
-
"bridgeChain": {
|
|
246
|
-
"chainId": "22776",
|
|
247
|
-
"tokenIn": {
|
|
248
|
-
"address": "0x9f722b2cb30093f766221Fd0d37964949ed66918",
|
|
249
|
-
"decimals": 18,
|
|
250
|
-
"symbol": "USDC",
|
|
251
|
-
"icon": "https://s3.amazonaws.com/map-static-file/mapSwap/ethereum/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48/logo.png"
|
|
252
|
-
},
|
|
253
|
-
"tokenOut": {
|
|
254
|
-
"address": "0xb877E3562a660C7861117c2f1361A26ABaF19bEB",
|
|
255
|
-
"decimals": 18,
|
|
256
|
-
"symbol": "BTC",
|
|
257
|
-
"icon": "https://map-static-file.s3.amazonaws.com/mapSwap/merlin/0x0000000000000000000000000000000000000000.jpg"
|
|
258
|
-
},
|
|
259
|
-
"totalAmountIn": "2479.119727",
|
|
260
|
-
"totalAmountOut": "0.022843641744666255",
|
|
261
|
-
"route": [
|
|
262
|
-
{
|
|
263
|
-
"amountIn": "2479.119727",
|
|
264
|
-
"amountOut": "0.022843641744666255",
|
|
265
|
-
"dexName": "FlashSwap",
|
|
266
|
-
"path": []
|
|
267
|
-
}
|
|
268
|
-
],
|
|
269
|
-
"bridge": "Butter"
|
|
270
|
-
},
|
|
271
|
-
"dstChain": {
|
|
272
|
-
"chainId": "1360095883558913",
|
|
273
|
-
"tokenIn": {
|
|
274
|
-
"address": "0x425443",
|
|
275
|
-
"name": "WBTC",
|
|
276
|
-
"decimals": 8,
|
|
277
|
-
"symbol": "WBTC",
|
|
278
|
-
"icon": "https://map-static-file.s3.amazonaws.com/mapSwap/merlin/0x0000000000000000000000000000000000000000.jpg"
|
|
279
|
-
},
|
|
280
|
-
"tokenOut": {
|
|
281
|
-
"address": "0x0000000000000000000000000000000000000000",
|
|
282
|
-
"name": "BTC",
|
|
283
|
-
"decimals": 8,
|
|
284
|
-
"symbol": "BTC",
|
|
285
|
-
"icon": "https://map-static-file.s3.amazonaws.com/mapSwap/merlin/0x0000000000000000000000000000000000000000.jpg"
|
|
286
|
-
},
|
|
287
|
-
"totalAmountIn": "0.02284364",
|
|
288
|
-
"totalAmountOut": "0.02284364",
|
|
289
|
-
"route": [
|
|
290
|
-
{
|
|
291
|
-
"amountIn": "0.02284364",
|
|
292
|
-
"amountOut": "0.02284364",
|
|
293
|
-
"dexName": "",
|
|
294
|
-
"path": []
|
|
295
|
-
}
|
|
296
|
-
],
|
|
297
|
-
"totalAmountOutUSD": "2465.4688233447096",
|
|
298
|
-
"bridge": "Butter"
|
|
299
|
-
},
|
|
300
|
-
"totalAmountInUSD": "2480.28058504",
|
|
301
|
-
"totalAmountOutUSD": "2465.4688233447096",
|
|
302
|
-
"contract": "0xEE030ec6F4307411607E55aCD08e628Ae6655B86",
|
|
303
|
-
"minAmountOut": {
|
|
304
|
-
"amount": "0.02250099",
|
|
305
|
-
"symbol": "BTC"
|
|
306
|
-
}
|
|
307
|
-
},
|
|
308
|
-
{
|
|
309
|
-
"diff": "0.01514608972613593484",
|
|
310
|
-
"bridgeFee": {
|
|
311
|
-
"amount": "0.000107370229408362",
|
|
312
|
-
"symbol": "BTC",
|
|
313
|
-
"address": "0xb877E3562a660C7861117c2f1361A26ABaF19bEB",
|
|
314
|
-
"chainId": 22776,
|
|
315
|
-
"in": {
|
|
316
|
-
"amount": "0.0",
|
|
317
|
-
"token": {
|
|
318
|
-
"address": "0x33DAba9618a75a7AFf103e53AfE530FbAcF4A3DD",
|
|
319
|
-
"decimals": 18,
|
|
320
|
-
"symbol": "USDT",
|
|
321
|
-
"icon": "https://files.mapprotocol.io/bridge/usdt.png"
|
|
322
|
-
}
|
|
323
|
-
},
|
|
324
|
-
"out": {
|
|
325
|
-
"amount": "0.000107370229408362",
|
|
326
|
-
"token": {
|
|
327
|
-
"address": "0xb877E3562a660C7861117c2f1361A26ABaF19bEB",
|
|
328
|
-
"decimals": 18,
|
|
329
|
-
"symbol": "BTC",
|
|
330
|
-
"icon": "https://map-static-file.s3.amazonaws.com/mapSwap/merlin/0x0000000000000000000000000000000000000000.jpg"
|
|
331
|
-
}
|
|
332
|
-
},
|
|
333
|
-
"affiliate": {
|
|
334
|
-
"amount": "0.0",
|
|
335
|
-
"token": {
|
|
336
|
-
"address": "0x33DAba9618a75a7AFf103e53AfE530FbAcF4A3DD",
|
|
337
|
-
"decimals": 18,
|
|
338
|
-
"symbol": "USDT",
|
|
339
|
-
"icon": "https://files.mapprotocol.io/bridge/usdt.png"
|
|
340
|
-
},
|
|
341
|
-
"list": [],
|
|
342
|
-
"data": "0x00"
|
|
343
|
-
}
|
|
344
|
-
},
|
|
345
|
-
"tradeType": 0,
|
|
346
|
-
"gasFee": {
|
|
347
|
-
"amount": "0.00038404340285498",
|
|
348
|
-
"symbol": "ETH",
|
|
349
|
-
"inUSD": "0.9525353959139022"
|
|
350
|
-
},
|
|
351
|
-
"swapFee": {
|
|
352
|
-
"nativeFee": "0.0",
|
|
353
|
-
"tokenFee": "0.0"
|
|
354
|
-
},
|
|
355
|
-
"feeConfig": {
|
|
356
|
-
"feeType": 1,
|
|
357
|
-
"referrer": "0x51C700e5bE790C91F14D42F85ca90aed9f2D142e",
|
|
358
|
-
"rateOrNativeFee": 0
|
|
359
|
-
},
|
|
360
|
-
"gasEstimated": "394955",
|
|
361
|
-
"gasEstimatedTarget": "420000",
|
|
362
|
-
"timeEstimated": 120,
|
|
363
|
-
"hash": "0x43123b7bca6ac488bd74c7d056ac3fcddf41fdd1ddc12271b39e85ad889f91b6",
|
|
364
|
-
"entrance": "butter+",
|
|
365
|
-
"timestamp": 1750912498067,
|
|
366
|
-
"hasLiquidity": true,
|
|
367
|
-
"srcChain": {
|
|
368
|
-
"chainId": "1",
|
|
369
|
-
"tokenIn": {
|
|
370
|
-
"address": "0x0000000000000000000000000000000000000000",
|
|
371
|
-
"name": "ETH",
|
|
372
|
-
"decimals": 18,
|
|
373
|
-
"symbol": "ETH",
|
|
374
|
-
"icon": "https://s3.amazonaws.com/map-static-file/mapSwap/ethereum/0x0000000000000000000000000000000000000000/logo.png"
|
|
375
|
-
},
|
|
376
|
-
"tokenOut": {
|
|
377
|
-
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
378
|
-
"name": "Tether USD",
|
|
379
|
-
"decimals": 6,
|
|
380
|
-
"symbol": "USDT",
|
|
381
|
-
"icon": "https://files.mapprotocol.io/bridge/usdt.png"
|
|
382
|
-
},
|
|
383
|
-
"totalAmountIn": "1.0",
|
|
384
|
-
"totalAmountOut": "2477.604823",
|
|
385
|
-
"route": [
|
|
386
|
-
{
|
|
387
|
-
"amountIn": "1.0",
|
|
388
|
-
"amountOut": "2477.604823",
|
|
389
|
-
"dexName": "OpenOcean",
|
|
390
|
-
"path": [],
|
|
391
|
-
"extra": "0x90411a3200000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef121000000000000000000000000aa301070448385cfaac5913a67b16c4392944a8f0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000008c4afca50000000000000000000000000000000000000000000000000000000093ad3fd70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200aee9ba7040d778922a763ce8a50948d61aff50000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000004d0e30db00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e5b07cdb000000000000000000000000c7bbec68d12a0d1830360f8ec58fa599ba1b0e9b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000055877bd7f2ee37bde55ca4b271a3631f3a7ef12100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002ec02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000064dac17f958d2ee523a2206206994597c13d831ec700000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000648a6a1e85000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000922164bbbd36acf9e854acbbf32facc949fcaeef0000000000000000000000000000000000000000000000000000000093ad3fd700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f865422000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f99000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000aa301070448385cfaac5913a67b16c4392944a8f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
392
|
-
}
|
|
393
|
-
],
|
|
394
|
-
"totalAmountOutUSD": "2478.925361594611",
|
|
395
|
-
"bridge": "Butter"
|
|
396
|
-
},
|
|
397
|
-
"bridgeChain": {
|
|
398
|
-
"chainId": "22776",
|
|
399
|
-
"tokenIn": {
|
|
400
|
-
"address": "0x33DAba9618a75a7AFf103e53AfE530FbAcF4A3DD",
|
|
401
|
-
"decimals": 18,
|
|
402
|
-
"symbol": "USDT",
|
|
403
|
-
"icon": "https://files.mapprotocol.io/bridge/usdt.png"
|
|
404
|
-
},
|
|
405
|
-
"tokenOut": {
|
|
406
|
-
"address": "0xb877E3562a660C7861117c2f1361A26ABaF19bEB",
|
|
407
|
-
"decimals": 18,
|
|
408
|
-
"symbol": "BTC",
|
|
409
|
-
"icon": "https://map-static-file.s3.amazonaws.com/mapSwap/merlin/0x0000000000000000000000000000000000000000.jpg"
|
|
410
|
-
},
|
|
411
|
-
"totalAmountIn": "2477.604823",
|
|
412
|
-
"totalAmountOut": "0.022840721533936562",
|
|
413
|
-
"route": [
|
|
414
|
-
{
|
|
415
|
-
"amountIn": "2477.604823",
|
|
416
|
-
"amountOut": "0.022840721533936562",
|
|
417
|
-
"dexName": "FlashSwap",
|
|
418
|
-
"path": []
|
|
419
|
-
}
|
|
420
|
-
],
|
|
421
|
-
"bridge": "Butter"
|
|
422
|
-
},
|
|
423
|
-
"dstChain": {
|
|
424
|
-
"chainId": "1360095883558913",
|
|
425
|
-
"tokenIn": {
|
|
426
|
-
"address": "0x425443",
|
|
427
|
-
"name": "WBTC",
|
|
428
|
-
"decimals": 8,
|
|
429
|
-
"symbol": "WBTC",
|
|
430
|
-
"icon": "https://map-static-file.s3.amazonaws.com/mapSwap/merlin/0x0000000000000000000000000000000000000000.jpg"
|
|
431
|
-
},
|
|
432
|
-
"tokenOut": {
|
|
433
|
-
"address": "0x0000000000000000000000000000000000000000",
|
|
434
|
-
"name": "BTC",
|
|
435
|
-
"decimals": 8,
|
|
436
|
-
"symbol": "BTC",
|
|
437
|
-
"icon": "https://map-static-file.s3.amazonaws.com/mapSwap/merlin/0x0000000000000000000000000000000000000000.jpg"
|
|
438
|
-
},
|
|
439
|
-
"totalAmountIn": "0.02284072",
|
|
440
|
-
"totalAmountOut": "0.02284072",
|
|
441
|
-
"route": [
|
|
442
|
-
{
|
|
443
|
-
"amountIn": "0.02284072",
|
|
444
|
-
"amountOut": "0.02284072",
|
|
445
|
-
"dexName": "",
|
|
446
|
-
"path": []
|
|
447
|
-
}
|
|
448
|
-
],
|
|
449
|
-
"totalAmountOutUSD": "2465.153673527773",
|
|
450
|
-
"bridge": "Butter"
|
|
451
|
-
},
|
|
452
|
-
"totalAmountInUSD": "2480.28058504",
|
|
453
|
-
"totalAmountOutUSD": "2465.153673527773",
|
|
454
|
-
"contract": "0xEE030ec6F4307411607E55aCD08e628Ae6655B86",
|
|
455
|
-
"minAmountOut": {
|
|
456
|
-
"amount": "0.02249811",
|
|
457
|
-
"symbol": "BTC"
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
]
|
|
461
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { SunioRoute } from '../types';
|
|
2
|
-
export type SwapRouteParameters = {
|
|
3
|
-
path: string[];
|
|
4
|
-
poolVersion: string[];
|
|
5
|
-
versionLen: number[];
|
|
6
|
-
fees: number[];
|
|
7
|
-
swapData: {
|
|
8
|
-
amountIn: string;
|
|
9
|
-
amountOutMin: string;
|
|
10
|
-
recipient: string;
|
|
11
|
-
deadline: number;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
export declare const buildSwapRouteParameters: (route: SunioRoute, sellAmountCryptoBaseUnit: string, minBuyAmountCryptoBaseUnit: string, recipient: string, slippageTolerancePercentageDecimal: string) => SwapRouteParameters;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildSwapRouteParameters = void 0;
|
|
4
|
-
const utils_1 = require("@shapeshiftoss/utils");
|
|
5
|
-
const buildSwapRouteParameters = (route, sellAmountCryptoBaseUnit, minBuyAmountCryptoBaseUnit, recipient, slippageTolerancePercentageDecimal) => {
|
|
6
|
-
const path = route.tokens;
|
|
7
|
-
const poolVersion = route.poolVersions;
|
|
8
|
-
// The SmartExchangeRouter expects sum(versionLen) === path.length: the first
|
|
9
|
-
// pool segment consumes 2 tokens (input + output) and each subsequent pool
|
|
10
|
-
// reuses the previous output, consuming 1 new token. This relies on the Sun.io
|
|
11
|
-
// API returning poolVersions per-hop (poolVersions.length === tokens.length - 1),
|
|
12
|
-
// which it does — the router also accepts this un-collapsed form for same-version hops.
|
|
13
|
-
const versionLen = poolVersion.map((_, index) => (index === 0 ? 2 : 1));
|
|
14
|
-
const fees = route.poolFees.map(fee => Number(fee));
|
|
15
|
-
const amountOutWithSlippage = (0, utils_1.bn)(minBuyAmountCryptoBaseUnit)
|
|
16
|
-
.times((0, utils_1.bn)(1).minus(slippageTolerancePercentageDecimal))
|
|
17
|
-
.toFixed(0);
|
|
18
|
-
const swapData = {
|
|
19
|
-
amountIn: sellAmountCryptoBaseUnit,
|
|
20
|
-
amountOutMin: amountOutWithSlippage,
|
|
21
|
-
recipient,
|
|
22
|
-
deadline: Math.floor(Date.now() / 1000) + 60 * 20,
|
|
23
|
-
};
|
|
24
|
-
return {
|
|
25
|
-
path,
|
|
26
|
-
poolVersion,
|
|
27
|
-
versionLen,
|
|
28
|
-
fees,
|
|
29
|
-
swapData,
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
exports.buildSwapRouteParameters = buildSwapRouteParameters;
|