@1delta/trade-sdk 0.1.5 → 0.1.7
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/aggregator/fetchAggregatorTrade.d.ts +0 -1
- package/dist/aggregator/fetchAggregatorTrade.d.ts.map +1 -1
- package/dist/aggregator/fetchAggregatorTrade.js +55 -2
- package/dist/composedTrades/across/acrossWithSwap.d.ts +2 -2
- package/dist/composedTrades/across/acrossWithSwap.d.ts.map +1 -1
- package/dist/composedTrades/across/acrossWithSwap.js +1 -0
- package/dist/composedTrades/across/acrossWithSwaps.d.ts +2 -2
- package/dist/composedTrades/across/acrossWithSwaps.d.ts.map +1 -1
- package/dist/composedTrades/across/acrossWithSwaps.js +1 -0
- package/dist/composedTrades/across/calldata/createAcrossMessage.d.ts +1 -1
- package/dist/composedTrades/across/calldata/createAcrossMessage.d.ts.map +1 -1
- package/dist/composedTrades/axelar/axelarWithSwap.d.ts +2 -2
- package/dist/composedTrades/axelar/axelarWithSwap.d.ts.map +1 -1
- package/dist/composedTrades/axelar/axelarWithSwap.js +13 -2
- package/dist/composedTrades/axelar/axelarWithSwaps.d.ts +2 -2
- package/dist/composedTrades/axelar/axelarWithSwaps.d.ts.map +1 -1
- package/dist/composedTrades/axelar/axelarWithSwaps.js +9 -2
- package/dist/composedTrades/axelar/squid/createSquidPayload.d.ts +1 -1
- package/dist/composedTrades/axelar/squid/createSquidPayload.d.ts.map +1 -1
- package/dist/composedTrades/gaszip/gaszipWithSwaps.d.ts.map +1 -1
- package/dist/composedTrades/gaszip/gaszipWithSwaps.js +1 -0
- package/dist/composedTrades/utils/createSwapAndBridgeCalldata.d.ts +2 -2
- package/dist/composedTrades/utils/createSwapAndBridgeCalldata.d.ts.map +1 -1
- package/dist/composedTrades/utils/createSwapAndBridgeCalldata.js +11 -3
- package/dist/composedTrades/utils/fetchBridgeAndGasTrade.d.ts.map +1 -1
- package/dist/composedTrades/utils/fetchBridgeAndGasTrade.js +18 -14
- package/dist/composedTrades/utils/index.d.ts +2 -0
- package/dist/composedTrades/utils/index.d.ts.map +1 -1
- package/dist/composedTrades/utils/index.js +2 -0
- package/dist/composedTrades/utils/multichainUtils.d.ts.map +1 -1
- package/dist/composedTrades/utils/multichainUtils.js +1 -0
- package/dist/deltaCall/createDeltaCallsCalldata.d.ts +5 -1
- package/dist/deltaCall/createDeltaCallsCalldata.d.ts.map +1 -1
- package/dist/deltaCall/createDeltaCallsCalldata.js +12 -8
- package/dist/deltaCall/toComposerCall.d.ts +1 -1
- package/dist/deltaCall/toComposerCall.d.ts.map +1 -1
- package/dist/deltaCall/toComposerCall.js +1 -1
- package/dist/deltaCall/toForwarderCall.d.ts +1 -1
- package/dist/deltaCall/toForwarderCall.d.ts.map +1 -1
- package/dist/deltaCall/toForwarderCall.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/types/bridgeInput.d.ts +23 -11
- package/dist/types/bridgeInput.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -1
- package/package.json +3 -3
- package/dist/types/deltaCall.d.ts +0 -62
- package/dist/types/deltaCall.d.ts.map +0 -1
- package/dist/types/deltaCall.js +0 -16
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from './fetchAggregatorTrade';
|
|
2
1
|
import { AggregatorApiInput, GenericTrade, OneDeltaInput } from '@1delta/lib-utils';
|
|
3
2
|
export declare const fetchAggregatorTrade: (aggregator: string, input: AggregatorApiInput | OneDeltaInput, controller?: AbortController) => Promise<GenericTrade | undefined>;
|
|
4
3
|
//# sourceMappingURL=fetchAggregatorTrade.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchAggregatorTrade.d.ts","sourceRoot":"","sources":["../../src/aggregator/fetchAggregatorTrade.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetchAggregatorTrade.d.ts","sourceRoot":"","sources":["../../src/aggregator/fetchAggregatorTrade.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kBAAkB,EAIlB,YAAY,EACZ,aAAa,EACd,MAAM,mBAAmB,CAAA;AAQ1B,eAAO,MAAM,oBAAoB,GAC/B,YAAY,MAAM,EAClB,OAAO,kBAAkB,GAAG,aAAa,EACzC,aAAa,eAAe,KAC3B,OAAO,CAAC,YAAY,GAAG,SAAS,CAclC,CAAA"}
|
|
@@ -1,8 +1,61 @@
|
|
|
1
|
-
export * from './fetchAggregatorTrade';
|
|
2
1
|
import { fetchAggregatorTrade as fetchAggregatorTradeWithoutConfigs, } from '@1delta/aggregators';
|
|
3
2
|
import { getSwapAggregators } from '@1delta/bridge-configs';
|
|
4
|
-
import {
|
|
3
|
+
import { ChainType, ChainUtils, } from '@1delta/lib-utils';
|
|
4
|
+
import { fetchBridgeTrade } from '../bridge/fetchBridgeTrade';
|
|
5
|
+
import { createSwapAndBridgeCalldata, requireDeltaContracts, } from '../composedTrades/utils';
|
|
5
6
|
export const fetchAggregatorTrade = async (aggregator, input, controller) => {
|
|
7
|
+
const needsAdditionalCalls = !!input.additionalCalls && input.additionalCalls.length > 0;
|
|
8
|
+
if (input.disableComposer) {
|
|
9
|
+
if (needsAdditionalCalls)
|
|
10
|
+
throw new Error(`Aggregator ${aggregator.toString()} does not support additional calls without composer`);
|
|
11
|
+
return fetchSwapTrade(aggregator, input, controller);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return fetchAggregatorWithComposerTrade(aggregator, input, controller);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const fetchAggregatorWithComposerTrade = async (aggregator, input, controller) => {
|
|
18
|
+
let trade = undefined;
|
|
19
|
+
const { forwarder, composer } = requireDeltaContracts(input.chainId);
|
|
20
|
+
trade = await fetchSwapTrade(aggregator, { ...input, caller: forwarder, receiver: forwarder }, controller);
|
|
21
|
+
if (!trade)
|
|
22
|
+
return undefined;
|
|
23
|
+
if (!trade.assemble)
|
|
24
|
+
throw new Error(`Aggregator ${aggregator.toString()} does not support composer`);
|
|
25
|
+
const assemble = async () => {
|
|
26
|
+
try {
|
|
27
|
+
const chainId = input.fromCurrency.chainId;
|
|
28
|
+
if (ChainUtils.isEvm(chainId)) {
|
|
29
|
+
const fundsToPull = [
|
|
30
|
+
{
|
|
31
|
+
address: trade.inputAmount.currency.address,
|
|
32
|
+
amount: trade.inputAmount.amount,
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
const tx = await createSwapAndBridgeCalldata([trade], input.caller, input.receiver, true, fundsToPull, false, true, input.additionalCalls);
|
|
36
|
+
return {
|
|
37
|
+
[ChainType.EVM]: {
|
|
38
|
+
calldata: tx.calldata,
|
|
39
|
+
value: tx.value.toString(),
|
|
40
|
+
to: tx.to,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
console.log(`cannot compose ${aggregator.toString()} swap tx:`, error);
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
...trade,
|
|
53
|
+
assemble,
|
|
54
|
+
approvalTarget: composer,
|
|
55
|
+
target: composer,
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
const fetchSwapTrade = async (aggregator, input, controller) => {
|
|
6
59
|
if (getSwapAggregators().includes(aggregator)) {
|
|
7
60
|
return await fetchBridgeTrade(aggregator, { ...input, order: 'CHEAPEST' }, controller);
|
|
8
61
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GenericTrade, RawCurrency } from '@1delta/lib-utils';
|
|
2
|
-
import {
|
|
3
|
-
export interface AcrossWithSwapInput extends
|
|
2
|
+
import { AcrossBaseInput } from '../../types';
|
|
3
|
+
export interface AcrossWithSwapInput extends AcrossBaseInput {
|
|
4
4
|
bridgeToCurrency: RawCurrency | undefined;
|
|
5
5
|
}
|
|
6
6
|
export declare const fetchAcrossTradeWithSwap: (input: AcrossWithSwapInput, controller?: AbortController) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acrossWithSwap.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/across/acrossWithSwap.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,EAKZ,WAAW,EAEZ,MAAM,mBAAmB,CAAA;AAG1B,OAAO,
|
|
1
|
+
{"version":3,"file":"acrossWithSwap.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/across/acrossWithSwap.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,EAKZ,WAAW,EAEZ,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,eAAe,EAAmB,MAAM,aAAa,CAAA;AAO9D,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,gBAAgB,EAAE,WAAW,GAAG,SAAS,CAAA;CAC1C;AAED,eAAO,MAAM,wBAAwB,GACnC,OAAO,mBAAmB,EAC1B,aAAa,eAAe,KAC3B,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAgD/D,CAAA;AAED,eAAe,wBAAwB,CAAA"}
|
|
@@ -82,6 +82,7 @@ const fetchAcrossTradeWithDestinationCalls = async (input, controller) => {
|
|
|
82
82
|
caller: getAcrossMulticallHandler(toChainId),
|
|
83
83
|
receiver: input.receiver,
|
|
84
84
|
flashSwap: undefined,
|
|
85
|
+
disableComposer: true,
|
|
85
86
|
};
|
|
86
87
|
const destinationSwapTrade = await fetchBestTrade(destinationSwapInput, controller);
|
|
87
88
|
if (!destinationSwapTrade || !destinationSwapTrade.assemble)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GenericTrade, RawCurrency } from '@1delta/lib-utils';
|
|
2
|
-
import {
|
|
3
|
-
export declare const fetchAcrossTradeWithSwaps: (input:
|
|
2
|
+
import { AcrossBaseInput } from '../../types';
|
|
3
|
+
export declare const fetchAcrossTradeWithSwaps: (input: AcrossBaseInput, getCurrency: (chainId: string | undefined, tokenAddress: string | undefined) => RawCurrency | undefined, controller?: AbortController) => Promise<GenericTrade | undefined>;
|
|
4
4
|
export default fetchAcrossTradeWithSwaps;
|
|
5
5
|
//# sourceMappingURL=acrossWithSwaps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acrossWithSwaps.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/across/acrossWithSwaps.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EAOZ,WAAW,EAGZ,MAAM,mBAAmB,CAAA;AAE1B,OAAO,
|
|
1
|
+
{"version":3,"file":"acrossWithSwaps.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/across/acrossWithSwaps.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EAOZ,WAAW,EAGZ,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,eAAe,EAAmB,MAAM,aAAa,CAAA;AAsB9D,eAAO,MAAM,yBAAyB,GACpC,OAAO,eAAe,EACtB,aAAa,CACX,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,YAAY,EAAE,MAAM,GAAG,SAAS,KAC7B,WAAW,GAAG,SAAS,EAC5B,aAAa,eAAe,KAC3B,OAAO,CAAC,YAAY,GAAG,SAAS,CAsKlC,CAAA;AAED,eAAe,yBAAyB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAcrossMessage.d.ts","sourceRoot":"","sources":["../../../../src/composedTrades/across/calldata/createAcrossMessage.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"createAcrossMessage.d.ts","sourceRoot":"","sources":["../../../../src/composedTrades/across/calldata/createAcrossMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAA+B,GAAG,EAAY,MAAM,MAAM,CAAA;AAGjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAGxE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,uBAAuB,EAAE,MAAM,EAC/B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,WAAW,EAAE,MAAM,EACnB,qBAAqB,EAAE,MAAM,EAC7B,eAAe,EAAE,SAAS,EAAE,EAC5B,mBAAmB,CAAC,EAAE,mBAAmB,GACxC,GAAG,CA4DL;AAED,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,mBAAmB,GACvC,UAAU,EAAE,CA8Bd;AAED,wBAAgB,wBAAwB,CACtC,uBAAuB,EAAE,MAAM,EAC/B,uBAAuB,EAAE,MAAM,EAC/B,aAAa,EAAE,MAAM,EAAE,GACtB,GAAG,CAWL"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GenericTrade, RawCurrency, useGeneralPricesCallbackType } from '@1delta/lib-utils';
|
|
2
|
-
import {
|
|
3
|
-
export interface AxelarWithSwapInput extends
|
|
2
|
+
import { AxelarBaseInput } from '../../types';
|
|
3
|
+
export interface AxelarWithSwapInput extends AxelarBaseInput {
|
|
4
4
|
bridgeToCurrency: RawCurrency | undefined;
|
|
5
5
|
}
|
|
6
6
|
export declare const fetchAxelarTradeWithSwap: (input: AxelarWithSwapInput, getPrices: useGeneralPricesCallbackType, controller?: AbortController) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axelarWithSwap.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/axelar/axelarWithSwap.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,YAAY,EAGZ,WAAW,EAEX,4BAA4B,EAC7B,MAAM,mBAAmB,CAAA;AAI1B,OAAO,
|
|
1
|
+
{"version":3,"file":"axelarWithSwap.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/axelar/axelarWithSwap.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,YAAY,EAGZ,WAAW,EAEX,4BAA4B,EAC7B,MAAM,mBAAmB,CAAA;AAI1B,OAAO,EAAmB,eAAe,EAAmB,MAAM,aAAa,CAAA;AAS/E,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,gBAAgB,EAAE,WAAW,GAAG,SAAS,CAAA;CAC1C;AAED,eAAO,MAAM,wBAAwB,GACnC,OAAO,mBAAmB,EAC1B,WAAW,4BAA4B,EACvC,aAAa,eAAe,KAC3B,OAAO,CAAC;IACT,KAAK,EAAE,YAAY,GAAG,SAAS,CAAA;IAC/B,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;CACjB,CA8CA,CAAA;AAED,eAAe,wBAAwB,CAAA"}
|
|
@@ -17,7 +17,7 @@ export const fetchAxelarTradeWithSwap = async (input, getPrices, controller) =>
|
|
|
17
17
|
if (!needDestinationCalls) {
|
|
18
18
|
// direct case
|
|
19
19
|
const message = createSquidPayload(input.receiver);
|
|
20
|
-
const bridgeAndGasTrade = await
|
|
20
|
+
const bridgeAndGasTrade = await fetchAxelarTrade(input.payFeeWithNative, { ...input, message }, getPrices, controller);
|
|
21
21
|
return {
|
|
22
22
|
trade: bridgeAndGasTrade?.bridgeTrade,
|
|
23
23
|
gasTrade: bridgeAndGasTrade?.gasTrade,
|
|
@@ -64,6 +64,7 @@ const fetchAxelarTradeWithDestinationCalls = async (input, getPrices, controller
|
|
|
64
64
|
caller: squidMulticall,
|
|
65
65
|
receiver: squidMulticall,
|
|
66
66
|
flashSwap: undefined,
|
|
67
|
+
disableComposer: true,
|
|
67
68
|
};
|
|
68
69
|
const destinationSwapTrade = await fetchBestTrade(destinationSwapInput, controller);
|
|
69
70
|
if (!destinationSwapTrade || !destinationSwapTrade.assemble)
|
|
@@ -99,7 +100,7 @@ const fetchAxelarTradeWithDestinationCalls = async (input, getPrices, controller
|
|
|
99
100
|
message: swap.message,
|
|
100
101
|
destinationGasLimit: swap.gasLimit,
|
|
101
102
|
};
|
|
102
|
-
const bridgeAndGasTrade = await
|
|
103
|
+
const bridgeAndGasTrade = await fetchAxelarTrade(input.payFeeWithNative, axelarInput, getPrices, controller);
|
|
103
104
|
if (!bridgeAndGasTrade)
|
|
104
105
|
return undefined;
|
|
105
106
|
const { bridgeTrade, gasTrade } = bridgeAndGasTrade;
|
|
@@ -134,3 +135,13 @@ const fetchAxelarTradeWithDestinationCalls = async (input, getPrices, controller
|
|
|
134
135
|
};
|
|
135
136
|
return { bridgeTrade: composedTrade, gasTrade };
|
|
136
137
|
};
|
|
138
|
+
const fetchAxelarTrade = async (payFeeWithNative, input, getPrices, controller) => {
|
|
139
|
+
if (payFeeWithNative) {
|
|
140
|
+
const bridgeTrade = await fetchBridgeTrade(Bridge.AXELAR, input, controller);
|
|
141
|
+
return bridgeTrade ? { bridgeTrade, gasTrade: undefined } : undefined;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
const bridgeAndGasTrade = await fetchBridgeAndGasTrade(Bridge.AXELAR, input, getPrices, controller);
|
|
145
|
+
return bridgeAndGasTrade;
|
|
146
|
+
}
|
|
147
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GenericTrade, RawCurrency, useGeneralPricesCallbackType } from '@1delta/lib-utils';
|
|
2
|
-
import {
|
|
3
|
-
export declare const fetchAxelarTradeWithSwaps: (input:
|
|
2
|
+
import { AxelarBaseInput } from '../../types';
|
|
3
|
+
export declare const fetchAxelarTradeWithSwaps: (input: AxelarBaseInput, getCurrency: (chainId: string | undefined, tokenAddress: string | undefined) => RawCurrency | undefined, getPrices: useGeneralPricesCallbackType, controller?: AbortController) => Promise<GenericTrade | undefined>;
|
|
4
4
|
export default fetchAxelarTradeWithSwaps;
|
|
5
5
|
//# sourceMappingURL=axelarWithSwaps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axelarWithSwaps.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/axelar/axelarWithSwaps.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EAMZ,WAAW,EAGX,4BAA4B,EAC7B,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAmB,
|
|
1
|
+
{"version":3,"file":"axelarWithSwaps.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/axelar/axelarWithSwaps.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EAMZ,WAAW,EAGX,4BAA4B,EAC7B,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAmB,eAAe,EAAE,MAAM,aAAa,CAAA;AAmB9D,eAAO,MAAM,yBAAyB,GACpC,OAAO,eAAe,EACtB,aAAa,CACX,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,YAAY,EAAE,MAAM,GAAG,SAAS,KAC7B,WAAW,GAAG,SAAS,EAC5B,WAAW,4BAA4B,EACvC,aAAa,eAAe,KAC3B,OAAO,CAAC,YAAY,GAAG,SAAS,CAsKlC,CAAA;AAED,eAAe,yBAAyB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { convertRawAmount } from '@1delta/lib-utils';
|
|
1
|
+
import { convertRawAmount, nativeOnChain } from '@1delta/lib-utils';
|
|
2
2
|
import { CurrencyHandler, getDeltaComposerProxyAddress, getForwarderAddress, getSafeChainId, minimumAmountOutFromTrade, splitSlippage, TradeType, } from '@1delta/lib-utils';
|
|
3
3
|
import { fetchBestTrade, increaseAmountBySlippage } from '../utils';
|
|
4
4
|
import { createSwapAndBridgeCalldata } from '../utils/createSwapAndBridgeCalldata';
|
|
@@ -47,6 +47,7 @@ export const fetchAxelarTradeWithSwaps = async (input, getCurrency, getPrices, c
|
|
|
47
47
|
caller: forwarder,
|
|
48
48
|
receiver: forwarder,
|
|
49
49
|
flashSwap: undefined,
|
|
50
|
+
disableComposer: true,
|
|
50
51
|
};
|
|
51
52
|
sourceSwapTrade = await fetchBestTrade(sourceSwapInput, controller);
|
|
52
53
|
}
|
|
@@ -80,6 +81,12 @@ export const fetchAxelarTradeWithSwaps = async (input, getCurrency, getPrices, c
|
|
|
80
81
|
amount: BigInt(input.swapAmount),
|
|
81
82
|
},
|
|
82
83
|
];
|
|
84
|
+
if (!gasTrade && bridgeTradeWithSwap.gasAmount) {
|
|
85
|
+
fundsToPull.push({
|
|
86
|
+
address: nativeOnChain(fromChainId).address,
|
|
87
|
+
amount: bridgeTradeWithSwap.gasAmount,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
83
90
|
const { calldata, value, to } = await createSwapAndBridgeCalldata(trades, input.caller, bridgeReceiver, true, fundsToPull, false, true);
|
|
84
91
|
return {
|
|
85
92
|
EVM: {
|
|
@@ -111,7 +118,7 @@ export const fetchAxelarTradeWithSwaps = async (input, getCurrency, getPrices, c
|
|
|
111
118
|
slippage: input.slippage,
|
|
112
119
|
assemble,
|
|
113
120
|
refresh,
|
|
114
|
-
gasAmount: undefined,
|
|
121
|
+
gasAmount: gasTrade ? undefined : bridgeTradeWithSwap.gasAmount,
|
|
115
122
|
};
|
|
116
123
|
};
|
|
117
124
|
export default fetchAxelarTradeWithSwaps;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { DeltaCall } from '@1delta/lib-utils';
|
|
1
2
|
import { Hex } from 'viem';
|
|
2
|
-
import { DeltaCall } from '../../../types/deltaCall';
|
|
3
3
|
import { DestinationSwapData } from '../../../types/destinationSwapData';
|
|
4
4
|
/**
|
|
5
5
|
* Creates the final `payload` for a complete cross-chain swap using Squid.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSquidPayload.d.ts","sourceRoot":"","sources":["../../../../src/composedTrades/axelar/squid/createSquidPayload.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"createSquidPayload.d.ts","sourceRoot":"","sources":["../../../../src/composedTrades/axelar/squid/createSquidPayload.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAA+B,GAAG,EAAyB,MAAM,MAAM,CAAA;AAG9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAyDxE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,WAAW,EAAE,MAAM,EACnB,qBAAqB,EAAE,MAAM,EAC7B,eAAe,EAAE,SAAS,EAAE,EAC5B,mBAAmB,CAAC,EAAE,mBAAmB,GACxC,GAAG,CA6DL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gaszipWithSwaps.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/gaszip/gaszipWithSwaps.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,YAAY,EASb,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAmB,eAAe,EAAE,MAAM,aAAa,CAAA;AAoB9D,eAAO,MAAM,yBAAyB,GACpC,OAAO,eAAe,EACtB,aAAa,eAAe,KAC3B,OAAO,CAAC,YAAY,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"gaszipWithSwaps.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/gaszip/gaszipWithSwaps.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,YAAY,EASb,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAmB,eAAe,EAAE,MAAM,aAAa,CAAA;AAoB9D,eAAO,MAAM,yBAAyB,GACpC,OAAO,eAAe,EACtB,aAAa,eAAe,KAC3B,OAAO,CAAC,YAAY,GAAG,SAAS,CAmJlC,CAAA;AAED,eAAe,yBAAyB,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { InternalTrade } from '@1delta/lib-utils';
|
|
1
|
+
import { DeltaCall, InternalTrade } from '@1delta/lib-utils';
|
|
2
2
|
export declare function createSwapAndBridgeCalldata(trades: InternalTrade[], account: string, bridgeReceiver: string, sweep: boolean, fundsToPull?: {
|
|
3
3
|
address: string;
|
|
4
4
|
amount: bigint;
|
|
5
|
-
}[], catchRevert?: boolean, sweepDust?: boolean): Promise<{
|
|
5
|
+
}[], catchRevert?: boolean, sweepDust?: boolean, additionalCalls?: DeltaCall[]): Promise<{
|
|
6
6
|
calldata: `0x${string}`;
|
|
7
7
|
value: bigint;
|
|
8
8
|
to: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSwapAndBridgeCalldata.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/utils/createSwapAndBridgeCalldata.ts"],"names":[],"mappings":"AAcA,OAAO,
|
|
1
|
+
{"version":3,"file":"createSwapAndBridgeCalldata.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/utils/createSwapAndBridgeCalldata.ts"],"names":[],"mappings":"AAcA,OAAO,EAGL,SAAS,EAKT,aAAa,EAKd,MAAM,mBAAmB,CAAA;AAK1B,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,aAAa,EAAE,EACvB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,OAAO,EACd,WAAW,GAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAO,EACvD,WAAW,GAAE,OAAc,EAC3B,SAAS,GAAE,OAAe,EAC1B,eAAe,GAAE,SAAS,EAAO;;;;GA2OlC"}
|
|
@@ -2,7 +2,8 @@ import { Bridge } from '@1delta/bridge-configs';
|
|
|
2
2
|
import { encodeAcrossBridgeNative, encodeAcrossBridgeToken, encodeApprove, encodeExternalCall, encodeGasZipEvmBridge, encodeSquidRouterCall, encodeStargateV2BridgeSimpleTaxi, encodeSweep, encodeTransferIn, encodeTryExternalCall, SweepType, } from '@1delta/calldatalib';
|
|
3
3
|
import { buildMetaSwapParams, CurrencyHandler, encodeComposerCompose, getDeltaComposerProxyAddress, getForwarderAddress, minimumAmountInFromAmount, packCommands, TradeUtils, } from '@1delta/lib-utils';
|
|
4
4
|
import { encodePacked, pad } from 'viem';
|
|
5
|
-
|
|
5
|
+
import { createDeltaCalls } from '../../deltaCall';
|
|
6
|
+
export async function createSwapAndBridgeCalldata(trades, account, bridgeReceiver, sweep, fundsToPull = [], catchRevert = true, sweepDust = false, additionalCalls = []) {
|
|
6
7
|
if (!trades || trades.length === 0 || !isSameSourceChainId(trades))
|
|
7
8
|
throw new Error(`Invalid trades array. Must have at least one trade and all trades must be on the same chain`);
|
|
8
9
|
const sourceChainId = trades[0].inputAmount.currency.chainId;
|
|
@@ -95,6 +96,7 @@ export async function createSwapAndBridgeCalldata(trades, account, bridgeReceive
|
|
|
95
96
|
sweepTokens.push(sweepOutputToken);
|
|
96
97
|
}
|
|
97
98
|
}
|
|
99
|
+
const sweepCommands = [];
|
|
98
100
|
if (sweep) {
|
|
99
101
|
const sameChainTrades = trades.filter((t) => t.inputAmount.currency.chainId === t.outputAmount.currency.chainId);
|
|
100
102
|
const currencyToAmount = TradeUtils.groupAmountByCurrency({
|
|
@@ -104,7 +106,7 @@ export async function createSwapAndBridgeCalldata(trades, account, bridgeReceive
|
|
|
104
106
|
});
|
|
105
107
|
for (const [currency, amount] of currencyToAmount.entries()) {
|
|
106
108
|
const sweepCall = encodeSweep(currency.address, account, sweepDust ? 0n : amount, SweepType.VALIDATE);
|
|
107
|
-
|
|
109
|
+
sweepCommands.push(sweepCall);
|
|
108
110
|
}
|
|
109
111
|
}
|
|
110
112
|
let value = 0n;
|
|
@@ -115,9 +117,15 @@ export async function createSwapAndBridgeCalldata(trades, account, bridgeReceive
|
|
|
115
117
|
else
|
|
116
118
|
transferInCommands.push(encodeTransferIn(address, forwarder, amount));
|
|
117
119
|
}
|
|
120
|
+
const { composerCommands, forwarderCommands } = createDeltaCalls(sourceChainId, additionalCalls);
|
|
118
121
|
const calldata = encodeComposerCompose(packCommands([
|
|
119
122
|
...transferInCommands,
|
|
120
|
-
|
|
123
|
+
...composerCommands,
|
|
124
|
+
encodeExternalCall(forwarder, value, false, packCommands([
|
|
125
|
+
...commands,
|
|
126
|
+
...forwarderCommands,
|
|
127
|
+
...sweepCommands,
|
|
128
|
+
])),
|
|
121
129
|
]));
|
|
122
130
|
return { calldata, value, to: composerProxy };
|
|
123
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchBridgeAndGasTrade.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/utils/fetchBridgeAndGasTrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAEL,YAAY,EAEZ,4BAA4B,EAC7B,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAG7C,eAAO,MAAM,sBAAsB,GACjC,YAAY,MAAM,EAClB,OAAO,eAAe,EACtB,WAAW,4BAA4B,EACvC,aAAa,eAAe,KAC3B,OAAO,CACR;IAAE,WAAW,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"fetchBridgeAndGasTrade.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/utils/fetchBridgeAndGasTrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAEL,YAAY,EAEZ,4BAA4B,EAC7B,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAG7C,eAAO,MAAM,sBAAsB,GACjC,YAAY,MAAM,EAClB,OAAO,eAAe,EACtB,WAAW,4BAA4B,EACvC,aAAa,eAAe,KAC3B,OAAO,CACR;IAAE,WAAW,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,CA4E9E,CAAA"}
|
|
@@ -18,24 +18,28 @@ export const fetchBridgeAndGasTrade = async (aggregator, input, getPrices, contr
|
|
|
18
18
|
const bridgeTokenIsNative = CurrencyHandler.isNative(input.fromCurrency);
|
|
19
19
|
if (bridgeTokenIsNative) {
|
|
20
20
|
const adjustedAmount = BigInt(input.swapAmount) - bridgeTrade.gasAmount;
|
|
21
|
-
const
|
|
21
|
+
const updatedTrade = await fetchBridgeTrade(aggregator, {
|
|
22
22
|
...input,
|
|
23
23
|
swapAmount: adjustedAmount.toString(),
|
|
24
24
|
}, controller);
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
bridgeTrade.gasAmount = undefined;
|
|
26
|
+
if (updatedTrade)
|
|
27
|
+
return { gasTrade: undefined, bridgeTrade: updatedTrade };
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
else {
|
|
30
|
+
const adjustedGasAmount = (bridgeTrade.gasAmount * 110n + BigInt(gasTradeSlippage)) / 100n; // increase by 10% + gas trade slippage
|
|
31
|
+
const gasTrade = await fetchGasTrade(adjustedGasAmount);
|
|
32
|
+
if (gasTrade) {
|
|
33
|
+
const adjustedAmount = BigInt(input.swapAmount) - gasTrade.inputAmount.amount;
|
|
34
|
+
const updatedTrade = await fetchBridgeTrade(aggregator, {
|
|
35
|
+
...input,
|
|
36
|
+
swapAmount: adjustedAmount.toString(),
|
|
37
|
+
}, controller);
|
|
38
|
+
bridgeTrade.gasAmount = undefined;
|
|
39
|
+
const isEnoughGas = gasTrade.outputAmount.amount >= (updatedTrade?.gasAmount ?? 0n);
|
|
40
|
+
if (isEnoughGas && updatedTrade)
|
|
41
|
+
return { gasTrade, bridgeTrade: updatedTrade };
|
|
42
|
+
}
|
|
39
43
|
}
|
|
40
44
|
return undefined;
|
|
41
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multichainUtils.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/utils/multichainUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,EACZ,aAAa,EAEb,WAAW,EAEX,4BAA4B,EAC7B,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAK7C,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,YAAY,CAAA;IACzB,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAA;CACnC;AAWD,wBAAsB,cAAc,CAClC,KAAK,EAAE,eAAe,EACtB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,YAAY,CAAC,CAyEvB;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,WAAW,EACvB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,4BAA4B,EACvC,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"multichainUtils.d.ts","sourceRoot":"","sources":["../../../src/composedTrades/utils/multichainUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,EACZ,aAAa,EAEb,WAAW,EAEX,4BAA4B,EAC7B,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAK7C,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,YAAY,CAAA;IACzB,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAA;CACnC;AAWD,wBAAsB,cAAc,CAClC,KAAK,EAAE,eAAe,EACtB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,YAAY,CAAC,CAyEvB;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,WAAW,EACvB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,4BAA4B,EACvC,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAyCpC;AAID,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CAKR"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { DeltaCall } from '@1delta/lib-utils';
|
|
1
2
|
import { Address, Hex } from 'viem';
|
|
2
|
-
import { DeltaCall } from '../types/deltaCall';
|
|
3
3
|
export declare const createDeltaCallsCalldata: (chainId: string, calls: DeltaCall[], sweepProps?: {
|
|
4
4
|
tokensToSweep: string[];
|
|
5
5
|
receiver: string;
|
|
@@ -7,4 +7,8 @@ export declare const createDeltaCallsCalldata: (chainId: string, calls: DeltaCal
|
|
|
7
7
|
calldata: Hex;
|
|
8
8
|
to: Address;
|
|
9
9
|
};
|
|
10
|
+
export declare const createDeltaCalls: (chainId: string, calls: DeltaCall[]) => {
|
|
11
|
+
composerCommands: Hex[];
|
|
12
|
+
forwarderCommands: Hex[];
|
|
13
|
+
};
|
|
10
14
|
//# sourceMappingURL=createDeltaCallsCalldata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDeltaCallsCalldata.d.ts","sourceRoot":"","sources":["../../src/deltaCall/createDeltaCallsCalldata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createDeltaCallsCalldata.d.ts","sourceRoot":"","sources":["../../src/deltaCall/createDeltaCallsCalldata.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,SAAS,EAGV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAMnC,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,OAAO,SAAS,EAAE,EAClB,aAAa;IACX,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;CACjB,KACA;IACD,QAAQ,EAAE,GAAG,CAAA;IACb,EAAE,EAAE,OAAO,CAAA;CAoCZ,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,SAAS,MAAM,EACf,OAAO,SAAS,EAAE,KACjB;IACD,gBAAgB,EAAE,GAAG,EAAE,CAAA;IACvB,iBAAiB,EAAE,GAAG,EAAE,CAAA;CAazB,CAAA"}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import { encodeExternalCall, encodeSweep, SweepType } from '@1delta/calldatalib';
|
|
2
|
-
import { encodeComposerCompose, packCommands } from '@1delta/lib-utils';
|
|
2
|
+
import { COMPOSER_CALL_TYPES, encodeComposerCompose, packCommands, } from '@1delta/lib-utils';
|
|
3
3
|
import { requireDeltaContracts } from '../composedTrades/utils/requireDeltaContracts';
|
|
4
|
-
import { COMPOSER_CALL_TYPES } from '../types/deltaCall';
|
|
5
4
|
import { toComposerCall } from './toComposerCall';
|
|
6
5
|
import { toForwarderCall } from './toForwarderCall';
|
|
7
6
|
export const createDeltaCallsCalldata = (chainId, calls, sweepProps) => {
|
|
8
7
|
const { forwarder, composer } = requireDeltaContracts(chainId);
|
|
9
|
-
const composerCommands = calls
|
|
10
|
-
.filter((call) => COMPOSER_CALL_TYPES.includes(call.callType))
|
|
11
|
-
.flatMap((call) => toComposerCall(call, forwarder));
|
|
12
|
-
const forwarderCommands = calls
|
|
13
|
-
.filter((call) => !COMPOSER_CALL_TYPES.includes(call.callType))
|
|
14
|
-
.map((call) => toForwarderCall(call));
|
|
8
|
+
const { composerCommands, forwarderCommands } = createDeltaCalls(chainId, calls);
|
|
15
9
|
// sweep tokens at the end
|
|
16
10
|
if (sweepProps) {
|
|
17
11
|
const { tokensToSweep, receiver } = sweepProps;
|
|
@@ -26,3 +20,13 @@ export const createDeltaCallsCalldata = (chainId, calls, sweepProps) => {
|
|
|
26
20
|
]));
|
|
27
21
|
return { calldata, to: composer };
|
|
28
22
|
};
|
|
23
|
+
export const createDeltaCalls = (chainId, calls) => {
|
|
24
|
+
const { forwarder } = requireDeltaContracts(chainId);
|
|
25
|
+
const composerCommands = calls
|
|
26
|
+
.filter((call) => COMPOSER_CALL_TYPES.includes(call.callType))
|
|
27
|
+
.flatMap((call) => toComposerCall(call, forwarder));
|
|
28
|
+
const forwarderCommands = calls
|
|
29
|
+
.filter((call) => !COMPOSER_CALL_TYPES.includes(call.callType))
|
|
30
|
+
.map((call) => toForwarderCall(call));
|
|
31
|
+
return { composerCommands, forwarderCommands };
|
|
32
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toComposerCall.d.ts","sourceRoot":"","sources":["../../src/deltaCall/toComposerCall.ts"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"toComposerCall.d.ts","sourceRoot":"","sources":["../../src/deltaCall/toComposerCall.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,SAAS,EAGV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAW,GAAG,EAAE,MAAM,MAAM,CAAA;AAEnC,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,EAAE,CAgDvE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { encodePermit, encodePermit2TransferFrom, encodeTransferIn, PermitIds, } from '@1delta/calldatalib';
|
|
2
|
-
import { DeltaCallPermitType, DeltaCallType, } from '
|
|
2
|
+
import { DeltaCallPermitType, DeltaCallType, } from '@1delta/lib-utils';
|
|
3
3
|
export function toComposerCall(call, receiver) {
|
|
4
4
|
switch (call.callType) {
|
|
5
5
|
case DeltaCallType.TRANSFER_IN: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toForwarderCall.d.ts","sourceRoot":"","sources":["../../src/deltaCall/toForwarderCall.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"toForwarderCall.d.ts","sourceRoot":"","sources":["../../src/deltaCall/toForwarderCall.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAiB,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAW,GAAG,EAAE,MAAM,MAAM,CAAA;AAEnC,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,GAAG,CA4CpD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { encodeApprove, encodeExternalCall, encodeExternalCallWithReplace, encodeSweep, SweepType, } from '@1delta/calldatalib';
|
|
2
|
-
import { DeltaCallType } from '
|
|
2
|
+
import { DeltaCallType } from '@1delta/lib-utils';
|
|
3
3
|
export function toForwarderCall(call) {
|
|
4
4
|
switch (call.callType) {
|
|
5
5
|
case DeltaCallType.FULL_TOKEN_BALANCE: {
|
package/dist/index.d.ts
CHANGED
|
@@ -3,10 +3,10 @@ export { fetchBridgeTrade as fetchBridgeTradeWithoutComposed } from './bridge';
|
|
|
3
3
|
export * from './core';
|
|
4
4
|
export { createDeltaCallsCalldata } from './deltaCall';
|
|
5
5
|
export * from './initialize';
|
|
6
|
-
export type { BridgeInput
|
|
6
|
+
export type { BridgeInput } from './types';
|
|
7
7
|
export { TradeAggregator } from '@1delta/aggregators';
|
|
8
8
|
export { Bridge, getBridges, getCowSwapSlippage, getSwapAggregators, } from '@1delta/bridge-configs';
|
|
9
9
|
export type { Params as BridgeParams, Status as BridgeStatus, } from '@1delta/bridge-core';
|
|
10
10
|
export { getBridgeIcon, getStatus as getBridgeStatus, } from '@1delta/bridge-core';
|
|
11
|
-
export type { AggregatorApiInput, useGeneralPricesCallbackType, } from '@1delta/lib-utils';
|
|
11
|
+
export type { AggregatorApiInput, DeltaCall, DeltaCallPermitType, DeltaCallType, useGeneralPricesCallbackType, } from '@1delta/lib-utils';
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,gBAAgB,IAAI,+BAA+B,EAAE,MAAM,UAAU,CAAA;AAC9E,cAAc,QAAQ,CAAA;AACtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,cAAc,cAAc,CAAA;AAC5B,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,gBAAgB,IAAI,+BAA+B,EAAE,MAAM,UAAU,CAAA;AAC9E,cAAc,QAAQ,CAAA;AACtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,cAAc,cAAc,CAAA;AAC5B,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EACL,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,MAAM,IAAI,YAAY,EACtB,MAAM,IAAI,YAAY,GACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,aAAa,EACb,SAAS,IAAI,eAAe,GAC7B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,kBAAkB,EAClB,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,4BAA4B,GAC7B,MAAM,mBAAmB,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Bridge } from '@1delta/bridge-configs';
|
|
2
|
-
import { RawCurrency, TradeType } from '@1delta/lib-utils';
|
|
3
|
-
import { DeltaCall } from './deltaCall';
|
|
2
|
+
import { DeltaCall, RawCurrency, TradeType } from '@1delta/lib-utils';
|
|
4
3
|
export interface BaseBridgeInput {
|
|
5
4
|
slippage: number;
|
|
6
5
|
tradeType: TradeType;
|
|
@@ -14,27 +13,40 @@ export interface BaseBridgeInput {
|
|
|
14
13
|
usePermit?: boolean;
|
|
15
14
|
destinationGasLimit?: bigint;
|
|
16
15
|
}
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
interface WithGasInput {
|
|
17
|
+
payFeeWithNative?: boolean;
|
|
19
18
|
}
|
|
20
|
-
|
|
19
|
+
interface AdditionalCalls {
|
|
20
|
+
additionalCalls?: DeltaCall[];
|
|
21
|
+
}
|
|
22
|
+
interface AdditionalCallsWithGasLimit {
|
|
21
23
|
additionalCalls?: {
|
|
22
24
|
calls: DeltaCall[];
|
|
23
25
|
gasLimit?: bigint;
|
|
24
26
|
};
|
|
25
27
|
}
|
|
26
|
-
|
|
28
|
+
export interface AcrossBaseInput extends BaseBridgeInput, AdditionalCalls {
|
|
29
|
+
}
|
|
30
|
+
export interface AxelarBaseInput extends BaseBridgeInput, AdditionalCallsWithGasLimit, WithGasInput {
|
|
31
|
+
}
|
|
32
|
+
export interface SwapAggregatorInput extends BaseBridgeInput, AdditionalCalls {
|
|
33
|
+
}
|
|
34
|
+
type AcrossInput = {
|
|
27
35
|
bridge: Bridge.ACROSS;
|
|
28
|
-
input:
|
|
36
|
+
input: AcrossBaseInput;
|
|
29
37
|
};
|
|
30
|
-
type
|
|
38
|
+
type AxelarInput = {
|
|
31
39
|
bridge: Bridge.AXELAR;
|
|
32
|
-
input:
|
|
40
|
+
input: AxelarBaseInput;
|
|
41
|
+
};
|
|
42
|
+
type ZenlinkInput = {
|
|
43
|
+
bridge: Bridge.Zenlink;
|
|
44
|
+
input: SwapAggregatorInput;
|
|
33
45
|
};
|
|
34
46
|
interface DefaultBridgeInput extends BaseBridgeInput {
|
|
35
|
-
bridge: Exclude<Bridge, Bridge.AXELAR | Bridge.ACROSS>;
|
|
47
|
+
bridge: Exclude<Bridge, Bridge.AXELAR | Bridge.ACROSS | Bridge.Zenlink>;
|
|
36
48
|
input: BaseBridgeInput;
|
|
37
49
|
}
|
|
38
|
-
export type BridgeInput =
|
|
50
|
+
export type BridgeInput = AcrossInput | AxelarInput | ZenlinkInput | DefaultBridgeInput;
|
|
39
51
|
export {};
|
|
40
52
|
//# sourceMappingURL=bridgeInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeInput.d.ts","sourceRoot":"","sources":["../../src/types/bridgeInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"bridgeInput.d.ts","sourceRoot":"","sources":["../../src/types/bridgeInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAErE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE,WAAW,GAAG,SAAS,CAAA;IACrC,UAAU,EAAE,WAAW,GAAG,SAAS,CAAA;IACnC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,UAAU,GAAG,SAAS,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,UAAU,YAAY;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,UAAU,eAAe;IACvB,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;CAC9B;AAED,UAAU,2BAA2B;IACnC,eAAe,CAAC,EAAE;QAChB,KAAK,EAAE,SAAS,EAAE,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACF;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe,EAAE,eAAe;CAAG;AAE5E,MAAM,WAAW,eACf,SAAQ,eAAe,EACrB,2BAA2B,EAC3B,YAAY;CAAG;AAEnB,MAAM,WAAW,mBAAoB,SAAQ,eAAe,EAAE,eAAe;CAAG;AAEhF,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;IACrB,KAAK,EAAE,eAAe,CAAA;CACvB,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;IACrB,KAAK,EAAE,eAAe,CAAA;CACvB,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAA;IACtB,KAAK,EAAE,mBAAmB,CAAA;CAC3B,CAAA;AAED,UAAU,kBAAmB,SAAQ,eAAe;IAClD,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IACvE,KAAK,EAAE,eAAe,CAAA;CACvB;AAED,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,WAAW,GACX,YAAY,GACZ,kBAAkB,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA"}
|
package/dist/types/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1delta/trade-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "1Delta Trade SDK for handling cross-chain swaps and bridges",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@1delta/calldatalib": "^0.0.46",
|
|
11
11
|
"@1delta/data-sdk": "0.0.10",
|
|
12
|
-
"viem": "^2.40.
|
|
12
|
+
"viem": "^2.40.3",
|
|
13
13
|
"@1delta/aggregators": "0.1.6",
|
|
14
14
|
"@1delta/bridge-configs": "0.1.6",
|
|
15
15
|
"@1delta/bridge-core": "0.1.3",
|
|
16
|
-
"@1delta/lib-utils": "0.1.
|
|
16
|
+
"@1delta/lib-utils": "0.1.7"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@types/node": "^24.10.1",
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Hex } from 'viem';
|
|
2
|
-
export declare enum DeltaCallType {
|
|
3
|
-
DEFAULT = 0,
|
|
4
|
-
FULL_TOKEN_BALANCE = 1,
|
|
5
|
-
FULL_NATIVE_BALANCE = 2,
|
|
6
|
-
SWEEP_WITH_VALIDATION = 3,
|
|
7
|
-
TRANSFER_IN = 4,
|
|
8
|
-
APPROVE = 5
|
|
9
|
-
}
|
|
10
|
-
export declare enum DeltaCallPermitType {
|
|
11
|
-
ERC20_PERMIT = 0,
|
|
12
|
-
PERMIT2 = 1,
|
|
13
|
-
NONE = 2
|
|
14
|
-
}
|
|
15
|
-
export declare const COMPOSER_CALL_TYPES: DeltaCallType[];
|
|
16
|
-
interface BaseCall {
|
|
17
|
-
target: string;
|
|
18
|
-
value?: bigint;
|
|
19
|
-
callData: Hex;
|
|
20
|
-
}
|
|
21
|
-
interface FullTokenBalanceCall extends BaseCall {
|
|
22
|
-
callType: DeltaCallType.FULL_TOKEN_BALANCE;
|
|
23
|
-
tokenAddress: string;
|
|
24
|
-
balanceOfInjectIndex: number;
|
|
25
|
-
}
|
|
26
|
-
interface FullNativeBalanceCall extends Omit<BaseCall, 'value'> {
|
|
27
|
-
callType: DeltaCallType.FULL_NATIVE_BALANCE;
|
|
28
|
-
}
|
|
29
|
-
interface SweepWithValidationCall {
|
|
30
|
-
callType: DeltaCallType.SWEEP_WITH_VALIDATION;
|
|
31
|
-
tokenAddress: string;
|
|
32
|
-
limit: bigint;
|
|
33
|
-
receiver: string;
|
|
34
|
-
}
|
|
35
|
-
interface BaseTransferInCall {
|
|
36
|
-
callType: DeltaCallType.TRANSFER_IN;
|
|
37
|
-
tokenAddress: string;
|
|
38
|
-
amount?: bigint;
|
|
39
|
-
}
|
|
40
|
-
interface NonePermitTransferInCall extends BaseTransferInCall {
|
|
41
|
-
permitType: DeltaCallPermitType.NONE;
|
|
42
|
-
}
|
|
43
|
-
interface ERC20PermitCall extends BaseTransferInCall {
|
|
44
|
-
permitType: DeltaCallPermitType.ERC20_PERMIT;
|
|
45
|
-
permitData: Hex;
|
|
46
|
-
}
|
|
47
|
-
interface Permit2Call extends BaseTransferInCall {
|
|
48
|
-
permitType: DeltaCallPermitType.PERMIT2;
|
|
49
|
-
permitData: Hex;
|
|
50
|
-
}
|
|
51
|
-
type TransferInCall = ERC20PermitCall | Permit2Call | NonePermitTransferInCall;
|
|
52
|
-
interface ApproveCall {
|
|
53
|
-
callType: DeltaCallType.APPROVE;
|
|
54
|
-
tokenAddress: string;
|
|
55
|
-
spender: string;
|
|
56
|
-
}
|
|
57
|
-
interface DefaultCall extends BaseCall {
|
|
58
|
-
callType: DeltaCallType.DEFAULT;
|
|
59
|
-
}
|
|
60
|
-
export type DeltaCall = FullTokenBalanceCall | FullNativeBalanceCall | SweepWithValidationCall | TransferInCall | ApproveCall | DefaultCall;
|
|
61
|
-
export {};
|
|
62
|
-
//# sourceMappingURL=deltaCall.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deltaCall.d.ts","sourceRoot":"","sources":["../../src/types/deltaCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAE1B,oBAAY,aAAa;IACvB,OAAO,IAAI;IACX,kBAAkB,IAAI;IACtB,mBAAmB,IAAI;IACvB,qBAAqB,IAAI;IACzB,WAAW,IAAI;IACf,OAAO,IAAI;CACZ;AAED,oBAAY,mBAAmB;IAC7B,YAAY,IAAI;IAChB,OAAO,IAAI;IACX,IAAI,IAAI;CACT;AAED,eAAO,MAAM,mBAAmB,iBAA8B,CAAA;AAE9D,UAAU,QAAQ;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,GAAG,CAAA;CACd;AAED,UAAU,oBAAqB,SAAQ,QAAQ;IAC7C,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAA;IAC1C,YAAY,EAAE,MAAM,CAAA;IACpB,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAED,UAAU,qBAAsB,SAAQ,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC7D,QAAQ,EAAE,aAAa,CAAC,mBAAmB,CAAA;CAC5C;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,aAAa,CAAC,qBAAqB,CAAA;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAA;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,wBAAyB,SAAQ,kBAAkB;IAC3D,UAAU,EAAE,mBAAmB,CAAC,IAAI,CAAA;CACrC;AAED,UAAU,eAAgB,SAAQ,kBAAkB;IAClD,UAAU,EAAE,mBAAmB,CAAC,YAAY,CAAA;IAC5C,UAAU,EAAE,GAAG,CAAA;CAChB;AAED,UAAU,WAAY,SAAQ,kBAAkB;IAC9C,UAAU,EAAE,mBAAmB,CAAC,OAAO,CAAA;IACvC,UAAU,EAAE,GAAG,CAAA;CAChB;AAED,KAAK,cAAc,GAAG,eAAe,GAAG,WAAW,GAAG,wBAAwB,CAAA;AAE9E,UAAU,WAAW;IACnB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,WAAY,SAAQ,QAAQ;IACpC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAA;CAChC;AAED,MAAM,MAAM,SAAS,GACjB,oBAAoB,GACpB,qBAAqB,GACrB,uBAAuB,GACvB,cAAc,GACd,WAAW,GACX,WAAW,CAAA"}
|
package/dist/types/deltaCall.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export var DeltaCallType;
|
|
2
|
-
(function (DeltaCallType) {
|
|
3
|
-
DeltaCallType[DeltaCallType["DEFAULT"] = 0] = "DEFAULT";
|
|
4
|
-
DeltaCallType[DeltaCallType["FULL_TOKEN_BALANCE"] = 1] = "FULL_TOKEN_BALANCE";
|
|
5
|
-
DeltaCallType[DeltaCallType["FULL_NATIVE_BALANCE"] = 2] = "FULL_NATIVE_BALANCE";
|
|
6
|
-
DeltaCallType[DeltaCallType["SWEEP_WITH_VALIDATION"] = 3] = "SWEEP_WITH_VALIDATION";
|
|
7
|
-
DeltaCallType[DeltaCallType["TRANSFER_IN"] = 4] = "TRANSFER_IN";
|
|
8
|
-
DeltaCallType[DeltaCallType["APPROVE"] = 5] = "APPROVE";
|
|
9
|
-
})(DeltaCallType || (DeltaCallType = {}));
|
|
10
|
-
export var DeltaCallPermitType;
|
|
11
|
-
(function (DeltaCallPermitType) {
|
|
12
|
-
DeltaCallPermitType[DeltaCallPermitType["ERC20_PERMIT"] = 0] = "ERC20_PERMIT";
|
|
13
|
-
DeltaCallPermitType[DeltaCallPermitType["PERMIT2"] = 1] = "PERMIT2";
|
|
14
|
-
DeltaCallPermitType[DeltaCallPermitType["NONE"] = 2] = "NONE";
|
|
15
|
-
})(DeltaCallPermitType || (DeltaCallPermitType = {}));
|
|
16
|
-
export const COMPOSER_CALL_TYPES = [DeltaCallType.TRANSFER_IN];
|