@1delta/trade-sdk 0.1.6 → 0.1.8
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/README.md +7 -4
- package/dist/aggregator/fetchAggregatorTrade.d.ts +0 -1
- package/dist/aggregator/fetchAggregatorTrade.d.ts.map +1 -1
- package/dist/aggregator/fetchAggregatorTrade.js +88 -4
- package/dist/composedTrades/across/acrossWithSwap.d.ts +1 -1
- package/dist/composedTrades/across/acrossWithSwap.d.ts.map +1 -1
- package/dist/composedTrades/across/acrossWithSwap.js +3 -2
- 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 +6 -3
- 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 +3 -3
- package/dist/composedTrades/axelar/axelarWithSwap.d.ts.map +1 -1
- package/dist/composedTrades/axelar/axelarWithSwap.js +12 -11
- 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 +7 -4
- 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 +34 -6
- package/dist/composedTrades/utils/fetchBridgeAndGasTrade.d.ts +2 -2
- package/dist/composedTrades/utils/fetchBridgeAndGasTrade.d.ts.map +1 -1
- package/dist/composedTrades/utils/fetchBridgeAndGasTrade.js +10 -10
- 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 +2 -2
- package/dist/composedTrades/utils/multichainUtils.d.ts.map +1 -1
- package/dist/composedTrades/utils/multichainUtils.js +4 -17
- package/dist/core.d.ts +6 -2
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +29 -3
- package/dist/deltaCall/createDeltaCallsCalldata.d.ts +5 -1
- package/dist/deltaCall/createDeltaCallsCalldata.d.ts.map +1 -1
- package/dist/deltaCall/createDeltaCallsCalldata.js +46 -14
- package/dist/deltaCall/toComposerCall.d.ts +1 -1
- package/dist/deltaCall/toComposerCall.d.ts.map +1 -1
- package/dist/deltaCall/toComposerCall.js +75 -5
- package/dist/deltaCall/toForwarderCall.d.ts +2 -2
- package/dist/deltaCall/toForwarderCall.d.ts.map +1 -1
- package/dist/deltaCall/toForwarderCall.js +8 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/initialize.d.ts +14 -9
- package/dist/initialize.d.ts.map +1 -1
- package/dist/initialize.js +22 -18
- package/dist/registry/config.d.ts +7 -0
- package/dist/registry/config.d.ts.map +1 -0
- package/dist/registry/config.js +19 -0
- package/dist/registry/currency.d.ts +4 -0
- package/dist/registry/currency.d.ts.map +1 -0
- package/dist/registry/currency.js +19 -0
- package/dist/registry/index.d.ts +3 -6
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +3 -19
- package/dist/registry/price.d.ts +4 -0
- package/dist/registry/price.d.ts.map +1 -0
- package/dist/registry/price.js +23 -0
- package/dist/types/bridgeInput.d.ts +19 -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/dist/utils/utils.d.ts +2 -27
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +13 -27
- package/package.json +10 -9
- package/dist/types/deltaCall.d.ts +0 -62
- package/dist/types/deltaCall.d.ts.map +0 -1
- package/dist/types/deltaCall.js +0 -16
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { getAllAggregatorFetchers, registerFetcher, } from '@1delta/aggregators';
|
|
2
|
+
import { getAllBridgeConfigs } from '@1delta/bridge-configs';
|
|
3
|
+
import { registerConfig } from '@1delta/bridge-core';
|
|
4
|
+
export const registerDeltaConfigsAndFetchers = async (bridgeBlacklist, aggregatorBlacklist) => {
|
|
5
|
+
// Register delta configs, excluding any blacklisted ones
|
|
6
|
+
getAllBridgeConfigs()
|
|
7
|
+
.filter((bridge) => !bridgeBlacklist.includes(bridge.name))
|
|
8
|
+
.forEach(registerConfig);
|
|
9
|
+
// Register delta fetchers, excluding any blacklisted ones
|
|
10
|
+
getAllAggregatorFetchers()
|
|
11
|
+
.filter(([name, _]) => !aggregatorBlacklist.includes(name))
|
|
12
|
+
.forEach(([name, fetcher]) => registerFetcher(name, fetcher));
|
|
13
|
+
};
|
|
14
|
+
export const registerCustomConfigs = (customConfigs) => {
|
|
15
|
+
customConfigs.forEach(registerConfig);
|
|
16
|
+
};
|
|
17
|
+
export const registerCustomFetchers = (customFetchers) => {
|
|
18
|
+
customFetchers.forEach((fetcher, name) => registerFetcher(name, fetcher));
|
|
19
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../src/registry/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIlD,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,cAAc,QAEpE;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAkBlD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const registry = [];
|
|
2
|
+
export function registerCurrencyGetter(currencyGetter) {
|
|
3
|
+
registry.push(currencyGetter);
|
|
4
|
+
}
|
|
5
|
+
export function getCurrencyGetter() {
|
|
6
|
+
return (chainId, tokenAddress) => {
|
|
7
|
+
for (const currencyGetter of registry) {
|
|
8
|
+
try {
|
|
9
|
+
const result = currencyGetter(chainId, tokenAddress);
|
|
10
|
+
if (result)
|
|
11
|
+
return result;
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
console.warn('Currency getter failed for query', chainId, tokenAddress, ':', error);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
throw new Error('Currency not found');
|
|
18
|
+
};
|
|
19
|
+
}
|
package/dist/registry/index.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export declare const registerDeltaConfigsAndFetchers: (bridgeBlacklist: Bridge[], aggregatorBlacklist: TradeAggregator[]) => Promise<void>;
|
|
5
|
-
export declare const registerCustomConfigs: (customConfigs: CrossChainConfig[]) => void;
|
|
6
|
-
export declare const registerCustomFetchers: (customFetchers: Map<string, AggregatorFetcher>) => void;
|
|
1
|
+
export * from './config';
|
|
2
|
+
export * from './currency';
|
|
3
|
+
export * from './price';
|
|
7
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
|
package/dist/registry/index.js
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export const registerDeltaConfigsAndFetchers = async (bridgeBlacklist, aggregatorBlacklist) => {
|
|
5
|
-
// Register delta configs, excluding any blacklisted ones
|
|
6
|
-
getAllBridgeConfigs()
|
|
7
|
-
.filter((bridge) => !bridgeBlacklist.includes(bridge.name))
|
|
8
|
-
.forEach(registerConfig);
|
|
9
|
-
// Register delta fetchers, excluding any blacklisted ones
|
|
10
|
-
getAllAggregatorFetchers()
|
|
11
|
-
.filter(([name, _]) => !aggregatorBlacklist.includes(name))
|
|
12
|
-
.forEach(([name, fetcher]) => registerFetcher(name, fetcher));
|
|
13
|
-
};
|
|
14
|
-
export const registerCustomConfigs = (customConfigs) => {
|
|
15
|
-
customConfigs.forEach(registerConfig);
|
|
16
|
-
};
|
|
17
|
-
export const registerCustomFetchers = (customFetchers) => {
|
|
18
|
-
customFetchers.forEach((fetcher, name) => registerFetcher(name, fetcher));
|
|
19
|
-
};
|
|
1
|
+
export * from './config';
|
|
2
|
+
export * from './currency';
|
|
3
|
+
export * from './price';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../src/registry/price.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAI/C,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,QAE3D;AAED,wBAAgB,cAAc,IAAI,WAAW,CAiB5C"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const registry = [];
|
|
2
|
+
export function registerPriceGetter(priceGetter) {
|
|
3
|
+
registry.push(priceGetter);
|
|
4
|
+
}
|
|
5
|
+
export function getPriceGetter() {
|
|
6
|
+
return (priceQueries) => {
|
|
7
|
+
const results = priceQueries.map((query) => {
|
|
8
|
+
for (const priceGetter of registry) {
|
|
9
|
+
try {
|
|
10
|
+
const results = priceGetter([query]);
|
|
11
|
+
if (results && results.length > 0 && results[0] && results[0] > 0) {
|
|
12
|
+
return results[0];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
console.warn('Price getter failed for query', query, ':', error);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return 0;
|
|
20
|
+
});
|
|
21
|
+
return results;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
@@ -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 { PostDeltaCall, PreDeltaCall, RawCurrency, TradeType } from '@1delta/lib-utils';
|
|
4
3
|
export interface BaseBridgeInput {
|
|
5
4
|
slippage: number;
|
|
6
5
|
tradeType: TradeType;
|
|
@@ -17,18 +16,23 @@ export interface BaseBridgeInput {
|
|
|
17
16
|
interface WithGasInput {
|
|
18
17
|
payFeeWithNative?: boolean;
|
|
19
18
|
}
|
|
20
|
-
interface
|
|
21
|
-
|
|
19
|
+
interface PostCalls {
|
|
20
|
+
postCalls?: PostDeltaCall[];
|
|
22
21
|
}
|
|
23
|
-
interface
|
|
24
|
-
|
|
25
|
-
calls:
|
|
22
|
+
interface PostCallsWithGasLimit {
|
|
23
|
+
postCalls?: {
|
|
24
|
+
calls: PostDeltaCall[];
|
|
26
25
|
gasLimit?: bigint;
|
|
27
26
|
};
|
|
28
27
|
}
|
|
29
|
-
|
|
28
|
+
interface PreCalls {
|
|
29
|
+
preCalls?: PreDeltaCall[];
|
|
30
30
|
}
|
|
31
|
-
export interface
|
|
31
|
+
export interface AcrossBaseInput extends BaseBridgeInput, PostCalls, PreCalls {
|
|
32
|
+
}
|
|
33
|
+
export interface AxelarBaseInput extends BaseBridgeInput, PostCallsWithGasLimit, WithGasInput, PreCalls {
|
|
34
|
+
}
|
|
35
|
+
export interface SwapAggregatorInput extends BaseBridgeInput, PostCalls {
|
|
32
36
|
}
|
|
33
37
|
type AcrossInput = {
|
|
34
38
|
bridge: Bridge.ACROSS;
|
|
@@ -38,10 +42,14 @@ type AxelarInput = {
|
|
|
38
42
|
bridge: Bridge.AXELAR;
|
|
39
43
|
input: AxelarBaseInput;
|
|
40
44
|
};
|
|
45
|
+
type ZenlinkInput = {
|
|
46
|
+
bridge: Bridge.Zenlink;
|
|
47
|
+
input: SwapAggregatorInput;
|
|
48
|
+
};
|
|
41
49
|
interface DefaultBridgeInput extends BaseBridgeInput {
|
|
42
|
-
bridge: Exclude<Bridge, Bridge.AXELAR | Bridge.ACROSS>;
|
|
50
|
+
bridge: Exclude<Bridge, Bridge.AXELAR | Bridge.ACROSS | Bridge.Zenlink>;
|
|
43
51
|
input: BaseBridgeInput;
|
|
44
52
|
}
|
|
45
|
-
export type BridgeInput = AcrossInput | AxelarInput | DefaultBridgeInput;
|
|
53
|
+
export type BridgeInput = AcrossInput | AxelarInput | ZenlinkInput | DefaultBridgeInput;
|
|
46
54
|
export {};
|
|
47
55
|
//# 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,
|
|
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,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,SAAS,EACV,MAAM,mBAAmB,CAAA;AAE1B,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,SAAS;IACjB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;CAC5B;AAED,UAAU,qBAAqB;IAC7B,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,aAAa,EAAE,CAAA;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACF;AAED,UAAU,QAAQ;IAChB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe,EAAE,SAAS,EAAE,QAAQ;CAAG;AAEhF,MAAM,WAAW,eACf,SAAQ,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAAE,QAAQ;CAAG;AAE3E,MAAM,WAAW,mBAAoB,SAAQ,eAAe,EAAE,SAAS;CAAG;AAE1E,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/dist/utils/utils.d.ts
CHANGED
|
@@ -1,30 +1,5 @@
|
|
|
1
|
-
import { RawCurrency
|
|
2
|
-
export declare
|
|
3
|
-
chainId: string;
|
|
4
|
-
fromCurrency: undefined;
|
|
5
|
-
toCurrency: undefined;
|
|
6
|
-
swapAmount: string;
|
|
7
|
-
slippage: number;
|
|
8
|
-
caller: string;
|
|
9
|
-
receiver: string;
|
|
10
|
-
tradeType: TradeType;
|
|
11
|
-
flashSwap: boolean;
|
|
12
|
-
routerConfig: {};
|
|
13
|
-
};
|
|
14
|
-
export declare const emptyMultiSwapAggregatorInput: {
|
|
15
|
-
fromCurrencies: never[];
|
|
16
|
-
toCurrency: undefined;
|
|
17
|
-
swapAmounts: never[];
|
|
18
|
-
slippage: number;
|
|
19
|
-
caller: string;
|
|
20
|
-
receiver: string;
|
|
21
|
-
tradeType: TradeType;
|
|
22
|
-
flashSwap: boolean;
|
|
23
|
-
routerConfig: {};
|
|
24
|
-
parsedAmount: undefined;
|
|
25
|
-
destinationGasToSwap: bigint;
|
|
26
|
-
};
|
|
27
|
-
export declare function reverseQuote(currencyIn: RawCurrency, currencyOut: RawCurrency, amountOut: string | bigint, priceIn: number, priceOut: number): {
|
|
1
|
+
import { RawCurrency } from '@1delta/lib-utils';
|
|
2
|
+
export declare function reverseQuote(currencyIn: RawCurrency, currencyOut: RawCurrency, amountOut: string | bigint): {
|
|
28
3
|
currency: RawCurrency;
|
|
29
4
|
amount: bigint;
|
|
30
5
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,WAAW,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,WAAW,EAEZ,MAAM,mBAAmB,CAAA;AAK1B,wBAAgB,YAAY,CAC1B,UAAU,EAAE,WAAW,EACvB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,GAAG,MAAM;;;EAiB3B;AAkBD,wBAAgB,KAAK,CACnB,UAAU,EAAE,WAAW,EACvB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,MAAM,CAKR"}
|
package/dist/utils/utils.js
CHANGED
|
@@ -1,32 +1,18 @@
|
|
|
1
1
|
import { convertRawAmount, convertTokenAmount } from '@1delta/lib-utils';
|
|
2
|
-
import { CurrencyHandler, skimToBigNumber,
|
|
2
|
+
import { CurrencyHandler, skimToBigNumber, } from '@1delta/lib-utils';
|
|
3
3
|
import { formatUnits } from 'viem';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export const emptyMultiSwapAggregatorInput = {
|
|
17
|
-
fromCurrencies: [],
|
|
18
|
-
toCurrency: undefined,
|
|
19
|
-
swapAmounts: [],
|
|
20
|
-
slippage: 0.5,
|
|
21
|
-
caller: '',
|
|
22
|
-
receiver: '',
|
|
23
|
-
tradeType: TradeType.EXACT_INPUT,
|
|
24
|
-
flashSwap: false,
|
|
25
|
-
routerConfig: {},
|
|
26
|
-
parsedAmount: undefined,
|
|
27
|
-
destinationGasToSwap: 0n,
|
|
28
|
-
};
|
|
29
|
-
export function reverseQuote(currencyIn, currencyOut, amountOut, priceIn, priceOut) {
|
|
4
|
+
import { getPriceGetter } from '../registry';
|
|
5
|
+
export function reverseQuote(currencyIn, currencyOut, amountOut) {
|
|
6
|
+
const getPrice = getPriceGetter();
|
|
7
|
+
const [priceIn, priceOut] = getPrice([
|
|
8
|
+
{ chainId: currencyIn.chainId, tokenAddress: currencyIn.address },
|
|
9
|
+
{ chainId: currencyOut.chainId, tokenAddress: currencyOut.address },
|
|
10
|
+
]);
|
|
11
|
+
if (priceIn <= 0 || priceOut <= 0)
|
|
12
|
+
throw new Error('Invalid price');
|
|
13
|
+
return reverseQuoteInternal(currencyIn, currencyOut, amountOut, priceIn, priceOut);
|
|
14
|
+
}
|
|
15
|
+
function reverseQuoteInternal(currencyIn, currencyOut, amountOut, priceIn, priceOut) {
|
|
30
16
|
const mos = 0.003; // 30bps
|
|
31
17
|
const amOutNr = Number(formatUnits(BigInt(amountOut ?? 0), currencyOut.decimals));
|
|
32
18
|
const amIn = ((amOutNr * priceOut) / priceIn) * (1 + mos);
|
package/package.json
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1delta/trade-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
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",
|
|
7
7
|
"author": "1deltaDAO",
|
|
8
8
|
"license": "UNLICENSED",
|
|
9
9
|
"dependencies": {
|
|
10
|
+
"@1delta/calldata-sdk": "^0.0.132",
|
|
10
11
|
"@1delta/calldatalib": "^0.0.46",
|
|
11
|
-
"@1delta/data-sdk": "0.0.
|
|
12
|
-
"viem": "^2.
|
|
12
|
+
"@1delta/data-sdk": "0.0.11",
|
|
13
|
+
"viem": "^2.43.4",
|
|
13
14
|
"@1delta/aggregators": "0.1.6",
|
|
14
|
-
"@1delta/
|
|
15
|
-
"@1delta/
|
|
16
|
-
"@1delta/bridge-
|
|
15
|
+
"@1delta/lib-utils": "0.1.9",
|
|
16
|
+
"@1delta/bridge-core": "0.1.3",
|
|
17
|
+
"@1delta/bridge-configs": "0.1.8"
|
|
17
18
|
},
|
|
18
19
|
"devDependencies": {
|
|
19
|
-
"@types/node": "^
|
|
20
|
-
"tsx": "^4.
|
|
20
|
+
"@types/node": "^25.0.3",
|
|
21
|
+
"tsx": "^4.21.0",
|
|
21
22
|
"typescript": "^5.9.3",
|
|
22
|
-
"vite": "^7.
|
|
23
|
+
"vite": "^7.3.0",
|
|
23
24
|
"vite-plugin-dts": "^4.5.4"
|
|
24
25
|
},
|
|
25
26
|
"files": [
|
|
@@ -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];
|