@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.
Files changed (76) hide show
  1. package/README.md +7 -4
  2. package/dist/aggregator/fetchAggregatorTrade.d.ts +0 -1
  3. package/dist/aggregator/fetchAggregatorTrade.d.ts.map +1 -1
  4. package/dist/aggregator/fetchAggregatorTrade.js +88 -4
  5. package/dist/composedTrades/across/acrossWithSwap.d.ts +1 -1
  6. package/dist/composedTrades/across/acrossWithSwap.d.ts.map +1 -1
  7. package/dist/composedTrades/across/acrossWithSwap.js +3 -2
  8. package/dist/composedTrades/across/acrossWithSwaps.d.ts +2 -2
  9. package/dist/composedTrades/across/acrossWithSwaps.d.ts.map +1 -1
  10. package/dist/composedTrades/across/acrossWithSwaps.js +6 -3
  11. package/dist/composedTrades/across/calldata/createAcrossMessage.d.ts +1 -1
  12. package/dist/composedTrades/across/calldata/createAcrossMessage.d.ts.map +1 -1
  13. package/dist/composedTrades/axelar/axelarWithSwap.d.ts +3 -3
  14. package/dist/composedTrades/axelar/axelarWithSwap.d.ts.map +1 -1
  15. package/dist/composedTrades/axelar/axelarWithSwap.js +12 -11
  16. package/dist/composedTrades/axelar/axelarWithSwaps.d.ts +2 -2
  17. package/dist/composedTrades/axelar/axelarWithSwaps.d.ts.map +1 -1
  18. package/dist/composedTrades/axelar/axelarWithSwaps.js +7 -4
  19. package/dist/composedTrades/axelar/squid/createSquidPayload.d.ts +1 -1
  20. package/dist/composedTrades/axelar/squid/createSquidPayload.d.ts.map +1 -1
  21. package/dist/composedTrades/gaszip/gaszipWithSwaps.d.ts.map +1 -1
  22. package/dist/composedTrades/gaszip/gaszipWithSwaps.js +1 -0
  23. package/dist/composedTrades/utils/createSwapAndBridgeCalldata.d.ts +2 -2
  24. package/dist/composedTrades/utils/createSwapAndBridgeCalldata.d.ts.map +1 -1
  25. package/dist/composedTrades/utils/createSwapAndBridgeCalldata.js +34 -6
  26. package/dist/composedTrades/utils/fetchBridgeAndGasTrade.d.ts +2 -2
  27. package/dist/composedTrades/utils/fetchBridgeAndGasTrade.d.ts.map +1 -1
  28. package/dist/composedTrades/utils/fetchBridgeAndGasTrade.js +10 -10
  29. package/dist/composedTrades/utils/index.d.ts +2 -0
  30. package/dist/composedTrades/utils/index.d.ts.map +1 -1
  31. package/dist/composedTrades/utils/index.js +2 -0
  32. package/dist/composedTrades/utils/multichainUtils.d.ts +2 -2
  33. package/dist/composedTrades/utils/multichainUtils.d.ts.map +1 -1
  34. package/dist/composedTrades/utils/multichainUtils.js +4 -17
  35. package/dist/core.d.ts +6 -2
  36. package/dist/core.d.ts.map +1 -1
  37. package/dist/core.js +29 -3
  38. package/dist/deltaCall/createDeltaCallsCalldata.d.ts +5 -1
  39. package/dist/deltaCall/createDeltaCallsCalldata.d.ts.map +1 -1
  40. package/dist/deltaCall/createDeltaCallsCalldata.js +46 -14
  41. package/dist/deltaCall/toComposerCall.d.ts +1 -1
  42. package/dist/deltaCall/toComposerCall.d.ts.map +1 -1
  43. package/dist/deltaCall/toComposerCall.js +75 -5
  44. package/dist/deltaCall/toForwarderCall.d.ts +2 -2
  45. package/dist/deltaCall/toForwarderCall.d.ts.map +1 -1
  46. package/dist/deltaCall/toForwarderCall.js +8 -3
  47. package/dist/index.d.ts +4 -3
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +0 -1
  50. package/dist/initialize.d.ts +14 -9
  51. package/dist/initialize.d.ts.map +1 -1
  52. package/dist/initialize.js +22 -18
  53. package/dist/registry/config.d.ts +7 -0
  54. package/dist/registry/config.d.ts.map +1 -0
  55. package/dist/registry/config.js +19 -0
  56. package/dist/registry/currency.d.ts +4 -0
  57. package/dist/registry/currency.d.ts.map +1 -0
  58. package/dist/registry/currency.js +19 -0
  59. package/dist/registry/index.d.ts +3 -6
  60. package/dist/registry/index.d.ts.map +1 -1
  61. package/dist/registry/index.js +3 -19
  62. package/dist/registry/price.d.ts +4 -0
  63. package/dist/registry/price.d.ts.map +1 -0
  64. package/dist/registry/price.js +23 -0
  65. package/dist/types/bridgeInput.d.ts +19 -11
  66. package/dist/types/bridgeInput.d.ts.map +1 -1
  67. package/dist/types/index.d.ts +0 -1
  68. package/dist/types/index.d.ts.map +1 -1
  69. package/dist/types/index.js +0 -1
  70. package/dist/utils/utils.d.ts +2 -27
  71. package/dist/utils/utils.d.ts.map +1 -1
  72. package/dist/utils/utils.js +13 -27
  73. package/package.json +10 -9
  74. package/dist/types/deltaCall.d.ts +0 -62
  75. package/dist/types/deltaCall.d.ts.map +0 -1
  76. 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,4 @@
1
+ import { CurrencyGetter } from '@1delta/lib-utils';
2
+ export declare function registerCurrencyGetter(currencyGetter: CurrencyGetter): void;
3
+ export declare function getCurrencyGetter(): CurrencyGetter;
4
+ //# sourceMappingURL=currency.d.ts.map
@@ -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
+ }
@@ -1,7 +1,4 @@
1
- import { AggregatorFetcher, TradeAggregator } from '@1delta/aggregators';
2
- import { Bridge } from '@1delta/bridge-configs';
3
- import { CrossChainConfig } from '@1delta/bridge-core';
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,OAAO,EACL,iBAAiB,EAGjB,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAuB,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAkB,MAAM,qBAAqB,CAAA;AAEtE,eAAO,MAAM,+BAA+B,GAC1C,iBAAiB,MAAM,EAAE,EACzB,qBAAqB,eAAe,EAAE,KACrC,OAAO,CAAC,IAAI,CAYd,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,eAAe,gBAAgB,EAAE,KAChC,IAEF,CAAA;AAED,eAAO,MAAM,sBAAsB,GACjC,gBAAgB,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAC7C,IAEF,CAAA"}
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"}
@@ -1,19 +1,3 @@
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
- };
1
+ export * from './config';
2
+ export * from './currency';
3
+ export * from './price';
@@ -0,0 +1,4 @@
1
+ import { PriceGetter } from '@1delta/lib-utils';
2
+ export declare function registerPriceGetter(priceGetter: PriceGetter): void;
3
+ export declare function getPriceGetter(): PriceGetter;
4
+ //# sourceMappingURL=price.d.ts.map
@@ -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 AdditionalCalls {
21
- additionalCalls?: DeltaCall[];
19
+ interface PostCalls {
20
+ postCalls?: PostDeltaCall[];
22
21
  }
23
- interface AdditionalCallsWithGasLimit {
24
- additionalCalls?: {
25
- calls: DeltaCall[];
22
+ interface PostCallsWithGasLimit {
23
+ postCalls?: {
24
+ calls: PostDeltaCall[];
26
25
  gasLimit?: bigint;
27
26
  };
28
27
  }
29
- export interface AcrossBaseInput extends BaseBridgeInput, AdditionalCalls {
28
+ interface PreCalls {
29
+ preCalls?: PreDeltaCall[];
30
30
  }
31
- export interface AxelarBaseInput extends BaseBridgeInput, AdditionalCallsWithGasLimit, WithGasInput {
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,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,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,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,UAAU,kBAAmB,SAAQ,eAAe;IAClD,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IACtD,KAAK,EAAE,eAAe,CAAA;CACvB;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,kBAAkB,CAAA"}
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"}
@@ -1,5 +1,4 @@
1
1
  export * from './aggregatorInput';
2
2
  export * from './bridgeInput';
3
- export * from './deltaCall';
4
3
  export * from './destinationSwapData';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -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,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA"}
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"}
@@ -1,4 +1,3 @@
1
1
  export * from './aggregatorInput';
2
2
  export * from './bridgeInput';
3
- export * from './deltaCall';
4
3
  export * from './destinationSwapData';
@@ -1,30 +1,5 @@
1
- import { RawCurrency, TradeType } from '@1delta/lib-utils';
2
- export declare const emptyAggregatorInput: {
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,EAEX,SAAS,EACV,MAAM,mBAAmB,CAAA;AAG1B,eAAO,MAAM,oBAAoB;;;;;;;;;;;CAWhC,CAAA;AAED,eAAO,MAAM,6BAA6B;;;;;;;;;;;;CAYzC,CAAA;AAED,wBAAgB,YAAY,CAC1B,UAAU,EAAE,WAAW,EACvB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM;;;EASjB;AAED,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"}
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"}
@@ -1,32 +1,18 @@
1
1
  import { convertRawAmount, convertTokenAmount } from '@1delta/lib-utils';
2
- import { CurrencyHandler, skimToBigNumber, TradeType, } from '@1delta/lib-utils';
2
+ import { CurrencyHandler, skimToBigNumber, } from '@1delta/lib-utils';
3
3
  import { formatUnits } from 'viem';
4
- export const emptyAggregatorInput = {
5
- chainId: '0',
6
- fromCurrency: undefined,
7
- toCurrency: undefined,
8
- swapAmount: '0',
9
- slippage: 0.5,
10
- caller: '',
11
- receiver: '',
12
- tradeType: TradeType.EXACT_INPUT,
13
- flashSwap: false,
14
- routerConfig: {},
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.6",
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.10",
12
- "viem": "^2.40.3",
12
+ "@1delta/data-sdk": "0.0.11",
13
+ "viem": "^2.43.4",
13
14
  "@1delta/aggregators": "0.1.6",
14
- "@1delta/bridge-configs": "0.1.6",
15
- "@1delta/lib-utils": "0.1.6",
16
- "@1delta/bridge-core": "0.1.3"
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": "^24.10.1",
20
- "tsx": "^4.20.6",
20
+ "@types/node": "^25.0.3",
21
+ "tsx": "^4.21.0",
21
22
  "typescript": "^5.9.3",
22
- "vite": "^7.2.4",
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"}
@@ -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];