@1inch/fusion-sdk 2.1.9 → 2.1.10-rc.2

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 (43) hide show
  1. package/dist/cjs/amount-calculator/amount-calculator.js +23 -12
  2. package/dist/cjs/amount-calculator/amount-calculator.js.map +1 -1
  3. package/dist/cjs/amount-calculator/index.js +10 -0
  4. package/dist/cjs/amount-calculator/index.js.map +1 -0
  5. package/dist/cjs/api/quoter/quote/quote.js +17 -2
  6. package/dist/cjs/api/quoter/quote/quote.js.map +1 -1
  7. package/dist/cjs/api/quoter/quoter.request.js +3 -3
  8. package/dist/cjs/api/quoter/quoter.request.js.map +1 -1
  9. package/dist/cjs/api/quoter/types.js.map +1 -1
  10. package/dist/cjs/fusion-order/fusion-order.js +13 -10
  11. package/dist/cjs/fusion-order/fusion-order.js.map +1 -1
  12. package/dist/cjs/index.js +1 -1
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/sdk/sdk.js +5 -6
  15. package/dist/cjs/sdk/sdk.js.map +1 -1
  16. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  17. package/dist/esm/amount-calculator/amount-calculator.js +23 -12
  18. package/dist/esm/amount-calculator/amount-calculator.js.map +1 -1
  19. package/dist/esm/amount-calculator/index.js +4 -0
  20. package/dist/esm/amount-calculator/index.js.map +1 -0
  21. package/dist/esm/api/quoter/quote/quote.js +18 -3
  22. package/dist/esm/api/quoter/quote/quote.js.map +1 -1
  23. package/dist/esm/api/quoter/quoter.request.js +3 -3
  24. package/dist/esm/api/quoter/quoter.request.js.map +1 -1
  25. package/dist/esm/api/quoter/types.js.map +1 -1
  26. package/dist/esm/fusion-order/fusion-order.js +13 -10
  27. package/dist/esm/fusion-order/fusion-order.js.map +1 -1
  28. package/dist/esm/index.js +1 -1
  29. package/dist/esm/index.js.map +1 -1
  30. package/dist/esm/sdk/sdk.js +5 -6
  31. package/dist/esm/sdk/sdk.js.map +1 -1
  32. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  33. package/dist/types/src/amount-calculator/amount-calculator.d.ts +9 -6
  34. package/dist/types/src/amount-calculator/index.d.ts +3 -0
  35. package/dist/types/src/api/quoter/quote/quote.d.ts +2 -2
  36. package/dist/types/src/api/quoter/quote/types.d.ts +11 -1
  37. package/dist/types/src/api/quoter/quoter.request.d.ts +4 -3
  38. package/dist/types/src/api/quoter/types.d.ts +11 -2
  39. package/dist/types/src/fusion-order/fusion-order.d.ts +5 -4
  40. package/dist/types/src/index.d.ts +1 -1
  41. package/dist/types/src/sdk/types.d.ts +3 -7
  42. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  43. package/package.json +1 -1
@@ -7,10 +7,13 @@ export declare class AmountCalculator {
7
7
  private readonly feeCalculator?;
8
8
  constructor(auctionCalculator: AuctionCalculator, feeCalculator?: FeeCalculator | undefined);
9
9
  static fromExtension(ext: FusionExtension): AmountCalculator;
10
- getTakingAmount(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
11
- getMakingAmount(taker: Address, makingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
12
- getResolverFee(taker: Address, takingAmount: bigint): bigint;
13
- getIntegratorFee(taker: Address, takingAmount: bigint): bigint;
14
- getProtocolShareOfIntegratorFee(taker: Address, takingAmount: bigint): bigint;
15
- getProtocolFee(taker: Address, takingAmount: bigint): bigint;
10
+ getRequiredTakingAmount(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
11
+ getRequiredMakingAmount(taker: Address, makingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
12
+ getTotalFee(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
13
+ getUserTakingAmountAmount(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
14
+ getResolverFee(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
15
+ getIntegratorFee(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
16
+ getProtocolShareOfIntegratorFee(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
17
+ getProtocolFee(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
18
+ private getAuctionBumpedAmount;
16
19
  }
@@ -0,0 +1,3 @@
1
+ export * from './auction-calculator';
2
+ export { AmountCalculator } from './amount-calculator';
3
+ export { FeeCalculator } from '@1inch/limit-order-sdk/extensions/fee-taker';
@@ -1,5 +1,5 @@
1
1
  import { Address } from '@1inch/limit-order-sdk';
2
- import { FusionOrderParamsData } from './types';
2
+ import { FusionOrderParamsData, ResolverFeePreset } from './types';
3
3
  import { Cost, PresetEnum, QuoterResponse } from '../types';
4
4
  import { Preset } from '../preset';
5
5
  import { FusionOrder } from '../../../fusion-order';
@@ -8,7 +8,6 @@ export declare class Quote {
8
8
  private readonly params;
9
9
  readonly settlementAddress: Address;
10
10
  readonly fromTokenAmount: bigint;
11
- readonly feeToken: string;
12
11
  readonly presets: {
13
12
  [PresetEnum.fast]: Preset;
14
13
  [PresetEnum.slow]: Preset;
@@ -22,6 +21,7 @@ export declare class Quote {
22
21
  readonly whitelist: Address[];
23
22
  readonly quoteId: string | null;
24
23
  readonly slippage: number;
24
+ readonly resolverFeePreset: ResolverFeePreset;
25
25
  constructor(params: QuoterRequest, response: QuoterResponse);
26
26
  createFusionOrder(paramsData: Omit<FusionOrderParamsData, 'permit' | 'isPermit2'>): FusionOrder;
27
27
  getPreset(type?: PresetEnum): Preset;
@@ -1,4 +1,4 @@
1
- import { Address } from '@1inch/limit-order-sdk';
1
+ import { Address, Bps } from '@1inch/limit-order-sdk';
2
2
  import { PresetEnum } from '../types';
3
3
  import { NetworkEnum } from '../../../constants';
4
4
  export type FusionOrderParamsData = {
@@ -14,3 +14,13 @@ export type FusionOrderParamsData = {
14
14
  delayAuctionStartTimeBy?: bigint;
15
15
  orderExpirationDelay?: bigint;
16
16
  };
17
+ export type IntegratorFeeParams = {
18
+ receiver: Address;
19
+ value: Bps;
20
+ share: Bps;
21
+ };
22
+ export type ResolverFeePreset = {
23
+ receiver: Address;
24
+ bps: Bps;
25
+ whitelistDiscountPercent: Bps;
26
+ };
@@ -1,5 +1,6 @@
1
1
  import { Address } from '@1inch/limit-order-sdk';
2
- import { QuoterRequestParams } from './types';
2
+ import { QuoterRequestParams, QuoterRequestParamsRaw } from './types';
3
+ import { IntegratorFeeParams } from './quote';
3
4
  export declare class QuoterRequest {
4
5
  readonly fromTokenAddress: Address;
5
6
  readonly toTokenAddress: Address;
@@ -7,10 +8,10 @@ export declare class QuoterRequest {
7
8
  readonly walletAddress: Address;
8
9
  readonly enableEstimate: boolean;
9
10
  readonly permit: string | undefined;
10
- readonly fee: number | undefined;
11
+ readonly integratorFee?: IntegratorFeeParams;
11
12
  readonly source: string;
12
13
  readonly isPermit2: boolean;
13
14
  constructor(params: QuoterRequestParams);
14
15
  static new(params: QuoterRequestParams): QuoterRequest;
15
- build(): QuoterRequestParams;
16
+ build(): QuoterRequestParamsRaw;
16
17
  }
@@ -1,3 +1,4 @@
1
+ import { IntegratorFeeParams } from './quote';
1
2
  import { NetworkEnum } from '../../constants';
2
3
  export type QuoterRequestParams = {
3
4
  fromTokenAddress: string;
@@ -6,10 +7,13 @@ export type QuoterRequestParams = {
6
7
  walletAddress: string;
7
8
  enableEstimate?: boolean;
8
9
  permit?: string;
9
- fee?: number;
10
+ integratorFee?: IntegratorFeeParams;
10
11
  source?: string;
11
12
  isPermit2?: boolean;
12
13
  };
14
+ export type QuoterRequestParamsRaw = Omit<QuoterRequestParams, 'integratorFee'> & {
15
+ fee?: number;
16
+ };
13
17
  export type QuoterCustomPresetRequestParams = {
14
18
  customPreset: CustomPreset;
15
19
  };
@@ -20,7 +24,6 @@ export type QuoterApiConfig = {
20
24
  };
21
25
  export type QuoterResponse = {
22
26
  fromTokenAmount: string;
23
- feeToken: string;
24
27
  presets: QuoterPresets;
25
28
  recommended_preset: PresetEnum;
26
29
  toTokenAmount: string;
@@ -30,6 +33,7 @@ export type QuoterResponse = {
30
33
  whitelist: string[];
31
34
  quoteId: string | null;
32
35
  autoK: number;
36
+ fee: ResolverFeePresetRaw;
33
37
  };
34
38
  export type QuoterPresets = {
35
39
  fast: PresetData;
@@ -80,3 +84,8 @@ export type CustomPresetPoint = {
80
84
  toTokenAmount: string;
81
85
  delay: number;
82
86
  };
87
+ export type ResolverFeePresetRaw = {
88
+ receiver: string;
89
+ bps: number;
90
+ whitelistDiscountPercent: number;
91
+ };
@@ -56,10 +56,11 @@ export declare class FusionOrder {
56
56
  getTypedData(chainId: number): EIP712TypedData;
57
57
  getCalculator(): AuctionCalculator;
58
58
  calcTakingAmount(taker: Address, makingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
59
- getResolverFee(taker: Address, makingAmount?: bigint): bigint;
60
- getIntegratorFee(taker: Address, makingAmount?: bigint): bigint;
61
- getProtocolShareOfIntegratorFee(taker: Address, makingAmount?: bigint): bigint;
62
- getProtocolFee(taker: Address, makingAmount?: bigint): bigint;
59
+ getUserReceiveAmount(taker: Address, makingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
60
+ getResolverFee(taker: Address, time: bigint, blockBaseFee?: bigint, makingAmount?: bigint): bigint;
61
+ getIntegratorFee(taker: Address, time: bigint, blockBaseFee?: bigint, makingAmount?: bigint): bigint;
62
+ getProtocolShareOfIntegratorFee(taker: Address, time: bigint, blockBaseFee?: bigint, makingAmount?: bigint): bigint;
63
+ getProtocolFee(taker: Address, time: bigint, blockBaseFee?: bigint, makingAmount?: bigint): bigint;
63
64
  canExecuteAt(executor: Address, executionTime: bigint): boolean;
64
65
  isExpiredAt(time: bigint): boolean;
65
66
  isExclusiveResolver(wallet: Address): boolean;
@@ -1,6 +1,6 @@
1
1
  export { Address, LimitOrderV4Struct, Extension, randBigInt, getLimitOrderContract, Interaction, TakerTraits, ExtensionBuilder, AmountMode, getLimitOrderV4Domain, LimitOrderContract, OrderInfoData, EIP712TypedData, MakerTraits } from '@1inch/limit-order-sdk';
2
2
  export * from './fusion-order/index';
3
- export * from './amount-calculator/auction-calculator/index';
3
+ export * from './amount-calculator/';
4
4
  export * from './connector/index';
5
5
  export * from './sdk/index';
6
6
  export * from './constants';
@@ -1,7 +1,7 @@
1
1
  import { LimitOrderV4Struct } from '@1inch/limit-order-sdk';
2
2
  import { BlockchainProviderConnector, HttpProviderConnector } from '../connector';
3
3
  import { NetworkEnum } from '../constants';
4
- import { CustomPreset, PresetEnum } from '../api';
4
+ import { CustomPreset, IntegratorFeeParams, PresetEnum } from '../api';
5
5
  import { FusionOrder } from '../fusion-order';
6
6
  export type FusionSDKConfigParams = {
7
7
  url: string;
@@ -17,7 +17,7 @@ export type QuoteParams = {
17
17
  walletAddress?: string;
18
18
  enableEstimate?: boolean;
19
19
  permit?: string;
20
- takingFeeBps?: number;
20
+ integratorFee?: IntegratorFeeParams;
21
21
  source?: string;
22
22
  isPermit2?: boolean;
23
23
  };
@@ -33,17 +33,13 @@ export type OrderParams = {
33
33
  receiver?: string;
34
34
  preset?: PresetEnum;
35
35
  nonce?: bigint;
36
- fee?: TakingFeeInfo;
37
36
  source?: string;
38
37
  isPermit2?: boolean;
39
38
  customPreset?: CustomPreset;
40
39
  orderExpirationDelay?: bigint;
41
40
  allowPartialFills?: boolean;
42
41
  allowMultipleFills?: boolean;
43
- };
44
- export type TakingFeeInfo = {
45
- takingFeeBps: number;
46
- takingFeeReceiver: string;
42
+ integratorFee?: IntegratorFeeParams;
47
43
  };
48
44
  export type OrderInfo = {
49
45
  order: LimitOrderV4Struct;