@paraswap/dex-lib 2.28.7 → 2.28.9-take-surplus.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/build/dex/balancer-v2/balancer-v2.js +2 -0
  2. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  3. package/build/dex/balancer-v2/optimizer.js +51 -38
  4. package/build/dex/balancer-v2/optimizer.js.map +1 -1
  5. package/build/dex/balancer-v2/types.d.ts +4 -0
  6. package/build/dex/balancer-v2/types.js.map +1 -1
  7. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js +26 -1
  8. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js.map +1 -1
  9. package/build/dex/uniswap-v3/uniswap-v3.js +1 -1
  10. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  11. package/build/router/buy.d.ts +1 -1
  12. package/build/router/buy.js +3 -3
  13. package/build/router/buy.js.map +1 -1
  14. package/build/router/directswap.d.ts +1 -1
  15. package/build/router/directswap.js +3 -3
  16. package/build/router/directswap.js.map +1 -1
  17. package/build/router/irouter.d.ts +1 -1
  18. package/build/router/megaswap.d.ts +1 -1
  19. package/build/router/megaswap.js +3 -3
  20. package/build/router/megaswap.js.map +1 -1
  21. package/build/router/multiswap.d.ts +1 -1
  22. package/build/router/multiswap.js +3 -3
  23. package/build/router/multiswap.js.map +1 -1
  24. package/build/router/payload-encoder.d.ts +3 -3
  25. package/build/router/payload-encoder.js +6 -6
  26. package/build/router/payload-encoder.js.map +1 -1
  27. package/build/router/simpleswap.d.ts +2 -2
  28. package/build/router/simpleswap.js +3 -3
  29. package/build/router/simpleswap.js.map +1 -1
  30. package/build/router/simpleswapnft.d.ts +1 -1
  31. package/build/router/simpleswapnft.js +3 -3
  32. package/build/router/simpleswapnft.js.map +1 -1
  33. package/build/transaction-builder.d.ts +2 -2
  34. package/build/transaction-builder.js +2 -2
  35. package/build/transaction-builder.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/dex/balancer-v2/balancer-v2.ts +2 -0
  38. package/src/dex/balancer-v2/optimizer.ts +62 -49
  39. package/src/dex/balancer-v2/types.ts +4 -0
  40. package/src/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.ts +33 -1
  41. package/src/dex/uniswap-v3/uniswap-v3.ts +1 -1
  42. package/src/router/buy.ts +3 -7
  43. package/src/router/directswap.ts +3 -7
  44. package/src/router/irouter.ts +1 -1
  45. package/src/router/megaswap.ts +3 -7
  46. package/src/router/multiswap.ts +3 -7
  47. package/src/router/payload-encoder.ts +7 -7
  48. package/src/router/simpleswap.ts +4 -8
  49. package/src/router/simpleswapnft.ts +3 -7
  50. package/src/transaction-builder.ts +3 -3
@@ -10,6 +10,6 @@ export declare class MegaSwap extends PayloadEncoder implements IRouter<MegaSwap
10
10
  contractMethodName: string;
11
11
  constructor(dexAdapterService: DexAdapterService);
12
12
  getContractMethodName(): string;
13
- build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, positiveSlippageToUser: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): TxInfo<MegaSwapParam>;
13
+ build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): TxInfo<MegaSwapParam>;
14
14
  }
15
15
  export {};
@@ -18,7 +18,7 @@ class MegaSwap extends payload_encoder_1.PayloadEncoder {
18
18
  getContractMethodName() {
19
19
  return this.contractMethodName;
20
20
  }
21
- build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, beneficiary, permit, deadline, uuid) {
21
+ build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, beneficiary, permit, deadline, uuid) {
22
22
  const { megaSwapPaths, networkFee } = this.getMegaSwapPathsWithNetworkFee(priceRoute.bestRoute);
23
23
  const [partner, feePercent] = referrerAddress
24
24
  ? [referrerAddress, (0, payload_encoder_1.encodeFeePercentForReferrer)(constants_1.SwapSide.SELL)]
@@ -26,9 +26,9 @@ class MegaSwap extends payload_encoder_1.PayloadEncoder {
26
26
  (0, payload_encoder_1.encodePartnerAddressForFeeLogic)({
27
27
  partnerAddress,
28
28
  partnerFeePercent,
29
- positiveSlippageToUser,
29
+ takeSurplus,
30
30
  }),
31
- (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, constants_1.SwapSide.SELL),
31
+ (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, takeSurplus, constants_1.SwapSide.SELL),
32
32
  ];
33
33
  const sellData = {
34
34
  fromToken: priceRoute.srcToken,
@@ -1 +1 @@
1
- {"version":3,"file":"megaswap.js","sourceRoot":"","sources":["../../src/router/megaswap.ts"],"names":[],"mappings":";;;;;;AACA,uDAK2B;AAQ3B,2EAAiD;AACjD,4CAA+C;AAE/C,oCAAyC;AACzC,4CAAwC;AAIxC,MAAa,QAAS,SAAQ,gCAAc;IAK1C,YAAY,iBAAoC;QAC9C,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,eAAS,CAAC,wBAAY,CAAC,CAAC;QACrD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;IACvC,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,KAAK,CACH,UAAuB,EACvB,YAAoB,EACpB,WAAoB,EACpB,eAAoC,EACpC,cAAuB,EACvB,iBAAyB,EACzB,sBAA+B,EAC/B,WAAoB,EACpB,MAAc,EACd,QAAgB,EAChB,IAAY;QAEZ,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,8BAA8B,CACvE,UAAU,CAAC,SAAS,CACrB,CAAC;QAEF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,eAAe;YAC3C,CAAC,CAAC,CAAC,eAAe,EAAE,IAAA,6CAA2B,EAAC,oBAAQ,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAC;gBACE,IAAA,iDAA+B,EAAC;oBAC9B,cAAc;oBACd,iBAAiB;oBACjB,sBAAsB;iBACvB,CAAC;gBACF,IAAA,kCAAgB,EACd,iBAAiB,EACjB,sBAAsB,EACtB,oBAAQ,CAAC,IAAI,CACd;aACF,CAAC;QAEN,MAAM,QAAQ,GAA6B;YACzC,SAAS,EAAE,UAAU,CAAC,QAAQ;YAC9B,UAAU,EAAE,UAAU,CAAC,SAAS;YAChC,QAAQ,EAAE,YAAY;YACtB,cAAc,EAAE,UAAU,CAAC,UAAU;YACrC,WAAW;YACX,IAAI,EAAE,aAAa;YACnB,OAAO;YACP,UAAU;YACV,MAAM;YACN,QAAQ;YACR,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC;SAC1B,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,MAAa,EAAE,EAAE,CACnC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChE,wBAAwB;QACxB,OAAO;YACL,OAAO;YACP,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;SAClC,CAAC;IACJ,CAAC;;AApEH,4BAqEC;AApEQ,cAAK,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"megaswap.js","sourceRoot":"","sources":["../../src/router/megaswap.ts"],"names":[],"mappings":";;;;;;AACA,uDAK2B;AAQ3B,2EAAiD;AACjD,4CAA+C;AAE/C,oCAAyC;AACzC,4CAAwC;AAIxC,MAAa,QAAS,SAAQ,gCAAc;IAK1C,YAAY,iBAAoC;QAC9C,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,eAAS,CAAC,wBAAY,CAAC,CAAC;QACrD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;IACvC,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,KAAK,CACH,UAAuB,EACvB,YAAoB,EACpB,WAAoB,EACpB,eAAoC,EACpC,cAAuB,EACvB,iBAAyB,EACzB,WAAoB,EACpB,WAAoB,EACpB,MAAc,EACd,QAAgB,EAChB,IAAY;QAEZ,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,8BAA8B,CACvE,UAAU,CAAC,SAAS,CACrB,CAAC;QAEF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,eAAe;YAC3C,CAAC,CAAC,CAAC,eAAe,EAAE,IAAA,6CAA2B,EAAC,oBAAQ,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAC;gBACE,IAAA,iDAA+B,EAAC;oBAC9B,cAAc;oBACd,iBAAiB;oBACjB,WAAW;iBACZ,CAAC;gBACF,IAAA,kCAAgB,EAAC,iBAAiB,EAAE,WAAW,EAAE,oBAAQ,CAAC,IAAI,CAAC;aAChE,CAAC;QAEN,MAAM,QAAQ,GAA6B;YACzC,SAAS,EAAE,UAAU,CAAC,QAAQ;YAC9B,UAAU,EAAE,UAAU,CAAC,SAAS;YAChC,QAAQ,EAAE,YAAY;YACtB,cAAc,EAAE,UAAU,CAAC,UAAU;YACrC,WAAW;YACX,IAAI,EAAE,aAAa;YACnB,OAAO;YACP,UAAU;YACV,MAAM;YACN,QAAQ;YACR,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC;SAC1B,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,MAAa,EAAE,EAAE,CACnC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChE,wBAAwB;QACxB,OAAO;YACL,OAAO;YACP,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;SAClC,CAAC;IACJ,CAAC;;AAhEH,4BAiEC;AAhEQ,cAAK,GAAG,KAAK,CAAC"}
@@ -10,6 +10,6 @@ export declare class MultiSwap extends PayloadEncoder implements IRouter<MultiSw
10
10
  contractMethodName: string;
11
11
  constructor(dexAdapterService: DexAdapterService);
12
12
  getContractMethodName(): string;
13
- build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, positiveSlippageToUser: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): TxInfo<MultiSwapParam>;
13
+ build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): TxInfo<MultiSwapParam>;
14
14
  }
15
15
  export {};
@@ -18,7 +18,7 @@ class MultiSwap extends payload_encoder_1.PayloadEncoder {
18
18
  getContractMethodName() {
19
19
  return this.contractMethodName;
20
20
  }
21
- build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, beneficiary, permit, deadline, uuid) {
21
+ build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, beneficiary, permit, deadline, uuid) {
22
22
  if (priceRoute.bestRoute.length !== 1 ||
23
23
  priceRoute.bestRoute[0].percent !== 100)
24
24
  throw new Error(`Multiswap invalid bestRoute`);
@@ -29,9 +29,9 @@ class MultiSwap extends payload_encoder_1.PayloadEncoder {
29
29
  (0, payload_encoder_1.encodePartnerAddressForFeeLogic)({
30
30
  partnerAddress,
31
31
  partnerFeePercent,
32
- positiveSlippageToUser,
32
+ takeSurplus,
33
33
  }),
34
- (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, constants_1.SwapSide.SELL),
34
+ (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, takeSurplus, constants_1.SwapSide.SELL),
35
35
  ];
36
36
  const sellData = {
37
37
  fromToken: priceRoute.srcToken,
@@ -1 +1 @@
1
- {"version":3,"file":"multiswap.js","sourceRoot":"","sources":["../../src/router/multiswap.ts"],"names":[],"mappings":";;;;;;AACA,uDAK2B;AAQ3B,2EAAiD;AACjD,4CAA+C;AAE/C,oCAAyC;AACzC,4CAAwC;AAIxC,MAAa,SACX,SAAQ,gCAAc;IAOtB,YAAY,iBAAoC;QAC9C,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,eAAS,CAAC,wBAAY,CAAC,CAAC;QACrD,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;IACxC,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,KAAK,CACH,UAAuB,EACvB,YAAoB,EACpB,WAAoB,EACpB,eAAoC,EACpC,cAAuB,EACvB,iBAAyB,EACzB,sBAA+B,EAC/B,WAAoB,EACpB,MAAc,EACd,QAAgB,EAChB,IAAY;QAEZ,IACE,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACjC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG;YAEvC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,8BAA8B,CAC/D,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAC9B,CAAC;QAEF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,eAAe;YAC3C,CAAC,CAAC,CAAC,eAAe,EAAE,IAAA,6CAA2B,EAAC,oBAAQ,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAC;gBACE,IAAA,iDAA+B,EAAC;oBAC9B,cAAc;oBACd,iBAAiB;oBACjB,sBAAsB;iBACvB,CAAC;gBACF,IAAA,kCAAgB,EACd,iBAAiB,EACjB,sBAAsB,EACtB,oBAAQ,CAAC,IAAI,CACd;aACF,CAAC;QAEN,MAAM,QAAQ,GAAqB;YACjC,SAAS,EAAE,UAAU,CAAC,QAAQ;YAC9B,UAAU,EAAE,UAAU,CAAC,SAAS;YAChC,QAAQ,EAAE,YAAY;YACtB,cAAc,EAAE,UAAU,CAAC,UAAU;YACrC,WAAW;YACX,IAAI,EAAE,KAAK;YACX,OAAO;YACP,UAAU;YACV,MAAM;YACN,QAAQ;YACR,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC;SAC1B,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,MAAa,EAAE,EAAE,CACnC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO;YACP,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;SAClC,CAAC;IACJ,CAAC;;AA5EH,8BA6EC;AAzEQ,eAAK,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"multiswap.js","sourceRoot":"","sources":["../../src/router/multiswap.ts"],"names":[],"mappings":";;;;;;AACA,uDAK2B;AAQ3B,2EAAiD;AACjD,4CAA+C;AAE/C,oCAAyC;AACzC,4CAAwC;AAIxC,MAAa,SACX,SAAQ,gCAAc;IAOtB,YAAY,iBAAoC;QAC9C,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,eAAS,CAAC,wBAAY,CAAC,CAAC;QACrD,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;IACxC,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,KAAK,CACH,UAAuB,EACvB,YAAoB,EACpB,WAAoB,EACpB,eAAoC,EACpC,cAAuB,EACvB,iBAAyB,EACzB,WAAoB,EACpB,WAAoB,EACpB,MAAc,EACd,QAAgB,EAChB,IAAY;QAEZ,IACE,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACjC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG;YAEvC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,8BAA8B,CAC/D,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAC9B,CAAC;QAEF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,eAAe;YAC3C,CAAC,CAAC,CAAC,eAAe,EAAE,IAAA,6CAA2B,EAAC,oBAAQ,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAC;gBACE,IAAA,iDAA+B,EAAC;oBAC9B,cAAc;oBACd,iBAAiB;oBACjB,WAAW;iBACZ,CAAC;gBACF,IAAA,kCAAgB,EAAC,iBAAiB,EAAE,WAAW,EAAE,oBAAQ,CAAC,IAAI,CAAC;aAChE,CAAC;QAEN,MAAM,QAAQ,GAAqB;YACjC,SAAS,EAAE,UAAU,CAAC,QAAQ;YAC9B,UAAU,EAAE,UAAU,CAAC,SAAS;YAChC,QAAQ,EAAE,YAAY;YACtB,cAAc,EAAE,UAAU,CAAC,UAAU;YACrC,WAAW;YACX,IAAI,EAAE,KAAK;YACX,OAAO;YACP,UAAU;YACV,MAAM;YACN,QAAQ;YACR,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC;SAC1B,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,MAAa,EAAE,EAAE,CACnC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO;YACP,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;SAClC,CAAC;IACJ,CAAC;;AAxEH,8BAyEC;AArEQ,eAAK,GAAG,KAAK,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import { ContractRoute, ContractPath, ContractAdapter, OptimalSwap, OptimalRoute, ContractMegaSwapPath, OptimalSwapExchange, Address } from '../types';
2
2
  import { SwapSide } from '../constants';
3
3
  import { DexAdapterService } from '../dex';
4
- export declare function encodePartnerAddressForFeeLogic({ partnerAddress, partnerFeePercent, positiveSlippageToUser, }: {
4
+ export declare function encodePartnerAddressForFeeLogic({ partnerAddress, partnerFeePercent, takeSurplus, }: {
5
5
  partnerAddress: string;
6
6
  partnerFeePercent: string;
7
- positiveSlippageToUser: boolean;
7
+ takeSurplus: boolean;
8
8
  }): string;
9
- export declare function encodeFeePercent(partnerFeePercent: string, positiveSlippageToUser: boolean, side: SwapSide): string;
9
+ export declare function encodeFeePercent(partnerFeePercent: string, takeSurplus: boolean, side: SwapSide): string;
10
10
  export declare function encodeFeePercentForReferrer(side: SwapSide): string;
11
11
  export declare class PayloadEncoder {
12
12
  protected dexAdapterService: DexAdapterService;
@@ -12,8 +12,8 @@ const OneShift248 = 1n << 248n;
12
12
  // Set 16th bit to indicate referral program
13
13
  const REFERRER_FEE = 2500n | OneShift14 | OneShift16 | OneShift248;
14
14
  const HALF_SPLIT = '5000';
15
- function encodePartnerAddressForFeeLogic({ partnerAddress, partnerFeePercent, positiveSlippageToUser, }) {
16
- const isPartnerTakeNoFeeNoPos = +partnerFeePercent === 0 && positiveSlippageToUser == true;
15
+ function encodePartnerAddressForFeeLogic({ partnerAddress, partnerFeePercent, takeSurplus, }) {
16
+ const isPartnerTakeNoFeeNoPos = +partnerFeePercent === 0 && takeSurplus == false;
17
17
  // nullify partner address to fallback default circuit contract without partner/referrer (no harm as no fee taken at all)
18
18
  const partner = isPartnerTakeNoFeeNoPos ? constants_1.NULL_ADDRESS : partnerAddress;
19
19
  // invariant checks
@@ -23,8 +23,8 @@ function encodePartnerAddressForFeeLogic({ partnerAddress, partnerFeePercent, po
23
23
  return partner;
24
24
  }
25
25
  exports.encodePartnerAddressForFeeLogic = encodePartnerAddressForFeeLogic;
26
- function encodeFeePercent(partnerFeePercent, positiveSlippageToUser, side) {
27
- const isNoFeeAndPositiveSlippageToPartner = positiveSlippageToUser === false && BigInt(partnerFeePercent) === 0n;
26
+ function encodeFeePercent(partnerFeePercent, takeSurplus, side) {
27
+ const isNoFeeAndPositiveSlippageToPartner = takeSurplus === true && BigInt(partnerFeePercent) === 0n;
28
28
  let fee = isNoFeeAndPositiveSlippageToPartner
29
29
  ? BigInt(HALF_SPLIT)
30
30
  : BigInt(partnerFeePercent);
@@ -36,9 +36,9 @@ function encodeFeePercent(partnerFeePercent, positiveSlippageToUser, side) {
36
36
  fee |= OneShift16;
37
37
  fee |= OneShift17;
38
38
  }
39
- // Set 14th bit if positiveSlippageToUser is true
39
+ // Set 14th bit if takeSurplus is false
40
40
  // Upd: not used onchain anymore but better to keep to prevent collisions and ensure continuity of analytics
41
- if (positiveSlippageToUser)
41
+ if (!takeSurplus)
42
42
  fee |= OneShift14;
43
43
  // Set 15th bit to take fee from srcToken
44
44
  if (side === constants_1.SwapSide.BUY && !isNoFeeAndPositiveSlippageToPartner)
@@ -1 +1 @@
1
- {"version":3,"file":"payload-encoder.js","sourceRoot":"","sources":["../../src/router/payload-encoder.ts"],"names":[],"mappings":";;;AAWA,4CAAsD;AAEtD,oCAAgD;AAGhD,MAAM,UAAU,GAAG,EAAE,IAAI,GAAG,CAAC;AAC7B,MAAM,UAAU,GAAG,EAAE,IAAI,GAAG,CAAC;AAC7B,MAAM,UAAU,GAAG,EAAE,IAAI,GAAG,CAAC;AAC7B,MAAM,UAAU,GAAG,EAAE,IAAI,GAAG,CAAC;AAC7B,MAAM,WAAW,GAAG,EAAE,IAAI,IAAI,CAAC;AAE/B,yCAAyC;AACzC,4CAA4C;AAC5C,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;AAEnE,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,SAAgB,+BAA+B,CAAC,EAC9C,cAAc,EACd,iBAAiB,EACjB,sBAAsB,GAKvB;IACC,MAAM,uBAAuB,GAC3B,CAAC,iBAAiB,KAAK,CAAC,IAAI,sBAAsB,IAAI,IAAI,CAAC;IAE7D,yHAAyH;IACzH,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,wBAAY,CAAC,CAAC,CAAC,cAAc,CAAC;IAExE,mBAAmB;IACnB,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,OAAO,KAAK,cAAc,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AArBD,0EAqBC;AAED,SAAgB,gBAAgB,CAC9B,iBAAyB,EACzB,sBAA+B,EAC/B,IAAc;IAEd,MAAM,mCAAmC,GACvC,sBAAsB,KAAK,KAAK,IAAI,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IAEvE,IAAI,GAAG,GAAG,mCAAmC;QAC3C,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACpB,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE9B,IAAI,GAAG,GAAG,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAEtE,+EAA+E;IAC/E,+DAA+D;IAC/D,IAAI,mCAAmC,EAAE;QACvC,GAAG,IAAI,UAAU,CAAC;QAClB,GAAG,IAAI,UAAU,CAAC;KACnB;IAED,iDAAiD;IACjD,4GAA4G;IAC5G,IAAI,sBAAsB;QAAE,GAAG,IAAI,UAAU,CAAC;IAE9C,yCAAyC;IACzC,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG,IAAI,CAAC,mCAAmC;QAC/D,GAAG,IAAI,UAAU,CAAC;IAEpB,sCAAsC;IACtC,mBAAmB;IACnB,GAAG,IAAI,WAAW,CAAC;IAEnB,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAlCD,4CAkCC;AAED,SAAgB,2BAA2B,CAAC,IAAc;IACxD,IAAI,GAAG,GAAG,YAAY,CAAC;IAEvB,yCAAyC;IACzC,gGAAgG;IAEhG,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAPD,kEAOC;AAED,oDAAoD;AACpD,8BAA8B;AAC9B,MAAa,cAAc;IACzB,YAAsB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAC9D,2DAA2D;IAC3D,8BAA8B,CAAC,KAAoB;QAIjD,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAC/B,CAAC,CAAC,QAAQ,EACV,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,aAAa,CAChB,CAAC;YACF,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CACzC,CAAC,GAAW,EAAE,CAAkB,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,EAC/D,EAAE,CACH,CAAC;YACF,eAAe,IAAI,mBAAmB,CAAC;YACvC,OAAO;gBACL,EAAE,EAAE,CAAC,CAAC,SAAS;gBACf,eAAe,EAAE,mBAAmB,CAAC,QAAQ,EAAE;gBAC/C,QAAQ;aACT,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IAChD,CAAC;IAED,8BAA8B,CAAC,MAAsB;QAInD,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACnC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,8BAA8B,CAC/D,CAAC,CAAC,KAAK,CACR,CAAC;YACF,eAAe,IAAI,UAAU,CAAC;YAC9B,OAAO;gBACL,iBAAiB,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/C,IAAI,EAAE,KAAK;aACZ,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IACxD,CAAC;IAED,wBAAwB,CACtB,QAAiB,EACjB,SAAkB,EAClB,aAAyC,EACzC,SAAiB,EACjB,cAAsB;QAEtB,MAAM,kBAAkB,GAAG,IAAI,CAAC,4BAA4B,CAC1D,aAAa,EACb,oBAAQ,CAAC,GAAG,CACb,CAAC;QACF,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,KAAK,GAAoB,EAAE,CAAC;QAChC,aAAa,CAAC,OAAO,CAAC,CAAC,EAA4B,EAAE,EAAE;YACrD,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,GAC3B,kBAAkB,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAChD,OAAO,GAAG,cAAc,CAAC,CAAC,4CAA4C;YACtE,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB;iBACxC,oBAAoB,CAAC,EAAE,CAAC,QAAQ,CAAC;iBACjC,eAAe,CACd,QAAQ,EACR,SAAS,EACT,CACE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC1C,MAAM,CAAC,cAAc,CAAC,CACvB,CAAC,QAAQ,EAAE,EACZ,EAAE,CAAC,UAAU,EACb,EAAE,CAAC,IAAI,EACP,oBAAQ,CAAC,GAAG,CACb,CAAC;YACJ,UAAU,IAAI,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,YAAY;gBACf,KAAK;gBACL,OAAO,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACvC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACxC,CAAC;IAED,WAAW,CACT,QAAiB,EACjB,SAAkB,EAClB,aAAyC;QAEzC,MAAM,kBAAkB,GAAG,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,WAAW,GAA2C,EAAE,CAAC;QAC7D,aAAa,CAAC,OAAO,CAAC,CAAC,EAA4B,EAAE,EAAE;YACrD,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,GAC3B,kBAAkB,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,CAAC,cAAc,IAAI,WAAW,CAAC,EAAE;gBACpC,WAAW,CAAC,cAAc,CAAC,GAAG;oBAC5B,OAAO,EAAE,cAAc;oBACvB,OAAO,EAAE,GAAG;oBACZ,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;iBACV,CAAC;aACH;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB;iBACxC,oBAAoB,CAAC,EAAE,CAAC,QAAQ,CAAC;iBACjC,eAAe,CACd,QAAQ,EACR,SAAS,EACT,EAAE,CAAC,SAAS,EACZ,EAAE,CAAC,UAAU,EACb,EAAE,CAAC,IAAI,EACP,oBAAQ,CAAC,IAAI,CACd,CAAC;YACJ,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,GAAG,CACpC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;gBAC/C,EAAE,CAAC,OAAO,GAAG,GAAG,CACjB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,WAAW,CAAC,cAAc,CAAC,CAAC,UAAU,GAAG,CACvC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC;gBAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAChC,CAAC,QAAQ,EAAE,CAAC;YACb,WAAW,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBACrC,GAAG,YAAY;gBACf,KAAK;gBACL,OAAO,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACvC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACzC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,IAAA,4BAAoB,EAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC5D,CAAC,CAAC,OAAO,EAAE,CACZ,CAAC;YACF,MAAM,qBAAqB,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpD,GAAG,CAAC;gBACJ,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;aACzB,CAAC,CAAC,CAAC;YACJ,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gFAAgF;IAChF,2EAA2E;IAC3E,6EAA6E;IAC7E,4BAA4B,CAC1B,aAAyC,EACzC,OAAiB,oBAAQ,CAAC,IAAI;QAI9B,IAAI,CAAC,aAAa,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAErC,MAAM,aAAa,GAAkC,EAAE,CAAC;QACxD,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACnB,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxC,IAAI,CAAC,CAAC,OAAO,IAAI,aAAa,CAAC;oBAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5D,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC7D,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5C,CAAC;QACF,qCAAqC;QACrC,IAAI,eAAe,GAEf,EAAE,CAAC;QACP,MAAM,gBAAgB,GAA+B,EAAE,CAAC;QAExD,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACzB,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB;iBACzC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;iBAC7B,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,CAAC;YAChE,IAAI,aAAa,EAAE;gBACjB,eAAe,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG;oBAC3C,aAAa,CAAC,OAAO;oBACrB,aAAa,CAAC,KAAK;iBACpB,CAAC;aACH;iBAAM;gBACL,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;oBACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC/D,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;QACH,OAAO;YACL,GAAG,eAAe;YAClB,GAAG,IAAI,CAAC,4BAA4B,CAAC,gBAAgB,CAAC;SACvD,CAAC;IACJ,CAAC;CACF;AAlMD,wCAkMC"}
1
+ {"version":3,"file":"payload-encoder.js","sourceRoot":"","sources":["../../src/router/payload-encoder.ts"],"names":[],"mappings":"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"}
@@ -18,13 +18,13 @@ export declare abstract class SimpleRouterBase<RouterParam> implements IRouter<R
18
18
  partialContractSimpleData: PartialContractSimpleData;
19
19
  networkFee: string;
20
20
  }>;
21
- abstract build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, positiveSlippageToUser: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): Promise<TxInfo<RouterParam>>;
21
+ abstract build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): Promise<TxInfo<RouterParam>>;
22
22
  protected getDepositWithdrawWethCallData(srcAmountWeth: bigint, destAmountWeth: bigint): import("../dex/weth/types").DepositWithdrawReturn | undefined;
23
23
  }
24
24
  export declare abstract class SimpleRouter extends SimpleRouterBase<SimpleSwapParam> {
25
25
  constructor(dexAdapterService: DexAdapterService, side: SwapSide, contractMethodName: string);
26
26
  protected validateBestRoute(priceRoute: OptimalRate): boolean;
27
- build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, positiveSlippageToUser: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): Promise<TxInfo<SimpleSwapParam>>;
27
+ build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): Promise<TxInfo<SimpleSwapParam>>;
28
28
  }
29
29
  export declare class SimpleSwap extends SimpleRouter {
30
30
  static isBuy: boolean;
@@ -142,7 +142,7 @@ class SimpleRouter extends SimpleRouterBase {
142
142
  priceRoute.bestRoute[0].percent === 100 &&
143
143
  priceRoute.bestRoute[0].swaps.length === 1);
144
144
  }
145
- async build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, beneficiary, permit, deadline, uuid) {
145
+ async build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, beneficiary, permit, deadline, uuid) {
146
146
  if (!this.validateBestRoute(priceRoute))
147
147
  throw new Error(`${this.contractMethodName} invalid bestRoute`);
148
148
  const { partialContractSimpleData, networkFee } = await this.buildCalls(priceRoute, minMaxAmount);
@@ -152,9 +152,9 @@ class SimpleRouter extends SimpleRouterBase {
152
152
  (0, payload_encoder_1.encodePartnerAddressForFeeLogic)({
153
153
  partnerAddress,
154
154
  partnerFeePercent,
155
- positiveSlippageToUser,
155
+ takeSurplus,
156
156
  }),
157
- (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, this.side),
157
+ (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, takeSurplus, this.side),
158
158
  ];
159
159
  const sellData = {
160
160
  ...partialContractSimpleData,
@@ -1 +1 @@
1
- {"version":3,"file":"simpleswap.js","sourceRoot":"","sources":["../../src/router/simpleswap.ts"],"names":[],"mappings":";;;;;;AAQA,4CAAwC;AACxC,2EAAiD;AACjD,4CAA+C;AAC/C,oCAAuD;AACvD,2CAAwC;AAIxC,uDAI2B;AAS3B,MAAsB,gBAAgB;IAKpC,YACY,iBAAoC,EACpC,IAAc,EACd,qBAA6B,IAAI,KAAK,oBAAQ,CAAC,IAAI;QAC3D,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,WAAW;IAEf,mDAAmD;IACnD,gEAAgE;IACtD,wBAAwB,WAAI,CAAC,kBAAkB,CAAC,MAAM,CAE9D,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QAClB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAE,CAAC;QAfI,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,SAAI,GAAJ,IAAI,CAAU;QACd,uBAAkB,GAAlB,kBAAkB,CAEb;QAIL,0BAAqB,GAArB,qBAAqB,CAOzB;QAEN,IAAI,CAAC,iBAAiB,GAAG,IAAI,eAAS,CAAC,wBAAY,CAAC,CAAC;IACvD,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAEO,8BAA8B,CACpC,mBAAwC;QAExC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC;QAC9C,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;QAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YACtC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YAC3C,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAClD;QAED,OAAO;YACL,OAAO,EAAE,mBAAmB,CAAC,OAAO;YACpC,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,YAAY;YACZ,YAAY;SACb,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,UAAuB,EACvB,YAAoB;QAKpB,MAAM,WAAW,GACf,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;QAEzE,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CACxD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YACrE,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,IAAI,YAAY,GAAG,EAAE,CAAC;YAEtB,kGAAkG;YAClG,qFAAqF;YACrF,iCAAiC;YACjC,MAAM,UAAU,GACd,SAAS,GAAG,CAAC;gBACb,IAAI,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBAC3B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,OAAO;gBAC9D,CAAC,CAAC,EAAE,CAAC,SAAS;gBACd,CAAC,CAAC,CACE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;oBAC7C,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAC7B,CAAC,QAAQ,EAAE,CAAC;YAEnB,0DAA0D;YAC1D,0DAA0D;YAC1D,kDAAkD;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;YAEtE,IAAI,GAAG,CAAC,cAAc,EAAE;gBACtB,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAC/B,IAAI,SAAS,KAAK,CAAC,EAAE;wBACnB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;qBAC5D;oBACD,IAAI,GAAG,WAAW,CAAC;oBACnB,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;iBAClC;gBAED,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE;oBAChC,IAAI,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;qBAChE;oBACD,KAAK,GAAG,WAAW,CAAC;oBACpB,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;iBACpC;aACF;YAED,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,cAAc,CAC3C,IAAI,EACJ,KAAK,EACL,UAAU,EACV,WAAW,EACX,EAAE,CAAC,IAAI,EACP,IAAI,CAAC,IAAI,CACV,CAAC;YAEF,OAAO;gBACL,YAAY;gBACZ,WAAW;gBACX,YAAY;aACb,CAAC;QACJ,CAAC,CAAC,CACH,CACF,CAAC;QAEF,MAAM,EACJ,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,GACzB,GAAG,MAAM,eAAe,CAAC,MAAM,CAK9B,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;YACV,GAAG,CAAC,sBAAsB,IAAI,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;YACrD,GAAG,CAAC,wBAAwB,IAAI,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YACxD,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YACjD,OAAO,GAAG,CAAC;QACb,CAAC,EACD;YACE,sBAAsB,EAAE,EAAE;YAC1B,sBAAsB,EAAE,EAAE;YAC1B,wBAAwB,EAAE,EAAE;SAC7B,CACF,CAAC;QAEF,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,CAC1D,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACZ,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;YACvC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;YAC1C,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;YACpC,UAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;SACxE,CAAC,EACF,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAC3D,CAAC;QAEF,MAAM,iBAAiB,GAAG,IAAI,CAAC,8BAA8B,CAC3D,sBAAsB,EACtB,wBAAwB,CACzB,CAAC;QAEF,IAAI,iBAAiB,EAAE;YACrB,IAAI,iBAAiB,CAAC,OAAO,EAAE;gBAC7B,sBAAsB,CAAC,OAAO,CAAC,OAAO,CACpC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CACjC,CAAC;gBACF,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACvE,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CACrC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CACnC,CAAC;aACH;YACD,IAAI,iBAAiB,CAAC,QAAQ,EAAE;gBAC9B,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvE,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAClC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CACpC,CAAC;aACH;SACF;QAED,OAAO;YACL,yBAAyB,EAAE,IAAI,CAAC,8BAA8B,CAC5D,sBAAsB,CACvB;YACD,UAAU,EAAE,sBAAsB,CAAC,UAAU;SAC9C,CAAC;IACJ,CAAC;IAgBS,8BAA8B,CACtC,aAAqB,EACrB,cAAsB;QAEtB,IAAI,aAAa,KAAK,EAAE,IAAI,cAAc,KAAK,EAAE;YAAE,OAAO;QAE1D,OACE,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CACzC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAE7D,CAAC,uBAAuB,CACvB,aAAa,CAAC,QAAQ,EAAE,EACxB,cAAc,CAAC,QAAQ,EAAE,EACzB,IAAI,CAAC,IAAI,CACV,CAAC;IACJ,CAAC;CACF;AA3ND,4CA2NC;AAED,MAAsB,YAAa,SAAQ,gBAAiC;IAC1E,YACE,iBAAoC,EACpC,IAAc,EACd,kBAA0B;QAE1B,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAES,iBAAiB,CAAC,UAAuB;QACjD,OAAO,CACL,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACjC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG;YACvC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAC3C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,UAAuB,EACvB,YAAoB,EACpB,WAAoB,EACpB,eAAoC,EACpC,cAAuB,EACvB,iBAAyB,EACzB,sBAA+B,EAC/B,WAAoB,EACpB,MAAc,EACd,QAAgB,EAChB,IAAY;QAEZ,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,oBAAoB,CAAC,CAAC;QAElE,MAAM,EAAE,yBAAyB,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CACrE,UAAU,EACV,YAAY,CACb,CAAC;QAEF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,eAAe;YAC3C,CAAC,CAAC,CAAC,eAAe,EAAE,IAAA,6CAA2B,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC,CAAC;gBACE,IAAA,iDAA+B,EAAC;oBAC9B,cAAc;oBACd,iBAAiB;oBACjB,sBAAsB;iBACvB,CAAC;gBACF,IAAA,kCAAgB,EACd,iBAAiB,EACjB,sBAAsB,EACtB,IAAI,CAAC,IAAI,CACV;aACF,CAAC;QAEN,MAAM,QAAQ,GAAwB;YACpC,GAAG,yBAAyB;YAC5B,SAAS,EAAE,UAAU,CAAC,QAAQ;YAC9B,OAAO,EAAE,UAAU,CAAC,SAAS;YAC7B,UAAU,EACR,IAAI,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;YACnE,QAAQ,EACN,IAAI,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU;YACpE,cAAc,EACZ,IAAI,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBACzB,CAAC,CAAC,UAAU,CAAC,UAAU;gBACvB,CAAC,CAAC,UAAU,CAAC,SAAS;YAC1B,WAAW;YACX,OAAO;YACP,UAAU;YACV,MAAM;YACN,QAAQ;YACR,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC;SAC1B,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,GAAG,MAAa,EAAE,EAAE,CACnC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CACvC,IAAI,CAAC,kBAAkB,EACvB,MAAM,CACP,CAAC;QACJ,wBAAwB;QACxB,OAAO;YACL,OAAO;YACP,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,UAAU;SACX,CAAC;IACJ,CAAC;CACF;AArFD,oCAqFC;AAED,MAAa,UAAW,SAAQ,YAAY;IAE1C,YAAY,iBAAoC;QAC9C,KAAK,CAAC,iBAAiB,EAAE,oBAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACxD,CAAC;;AAJH,gCAKC;AAJQ,gBAAK,GAAG,KAAK,CAAC;AAMvB,MAAa,SAAU,SAAQ,YAAY;IAEzC,YAAY,iBAAoC;QAC9C,KAAK,CAAC,iBAAiB,EAAE,oBAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,qEAAqE;IACrE,8BAA8B;IACpB,iBAAiB,CAAC,UAAuB;QACjD,OAAO,CACL,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACjC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG;YACvC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBACzC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBACzC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAClD,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,kBAAkB,CACvD,CAAC,CAAC,CACR,CAAC;IACJ,CAAC;;AAlBH,8BAmBC;AAlBQ,eAAK,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"simpleswap.js","sourceRoot":"","sources":["../../src/router/simpleswap.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,6 @@ export declare class SimpleBuyNFT extends SimpleRouterBase<SimpleBuyNFTParam> {
6
6
  static isBuy: boolean;
7
7
  constructor(dexAdapterService: DexAdapterService);
8
8
  protected validateBestRoute(priceRoute: OptimalRate): boolean;
9
- build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, positiveSlippageToUser: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): Promise<TxInfo<SimpleBuyNFTParam>>;
9
+ build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): Promise<TxInfo<SimpleBuyNFTParam>>;
10
10
  }
11
11
  export {};
@@ -31,7 +31,7 @@ class SimpleBuyNFT extends simpleswap_1.SimpleRouterBase {
31
31
  !se.data.makerAssetId ||
32
32
  !se.data.takerAssetId))));
33
33
  }
34
- async build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, beneficiary, permit, deadline, uuid) {
34
+ async build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, beneficiary, permit, deadline, uuid) {
35
35
  if (!this.validateBestRoute(priceRoute))
36
36
  throw new Error(`${this.contractMethodName} invalid bestRoute`);
37
37
  const { partialContractSimpleData, networkFee } = await this.buildCalls(priceRoute, minMaxAmount);
@@ -62,9 +62,9 @@ class SimpleBuyNFT extends simpleswap_1.SimpleRouterBase {
62
62
  (0, payload_encoder_1.encodePartnerAddressForFeeLogic)({
63
63
  partnerAddress,
64
64
  partnerFeePercent,
65
- positiveSlippageToUser,
65
+ takeSurplus,
66
66
  }),
67
- (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, constants_1.SwapSide.BUY),
67
+ (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, takeSurplus, constants_1.SwapSide.BUY),
68
68
  ];
69
69
  const buyData = {
70
70
  ...partialContractSimpleData,
@@ -1 +1 @@
1
- {"version":3,"file":"simpleswapnft.js","sourceRoot":"","sources":["../../src/router/simpleswapnft.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAOvB,4CAAwC;AACxC,oCAAyC;AAEzC,uDAI2B;AAC3B,6CAA2E;AAC3E,0DAAmD;AAGnD,MAAM,6BAA6B,GAAG,EAAE,CAAC;AACzC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAC3C,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAE1C,MAAM,iCAAiC,GAAG,EAAE,IAAI,IAAI,CAAC;AACrD,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAI5C,MAAa,YAAa,SAAQ,6BAAmC;IAEnE,YAAY,iBAAoC;QAC9C,KAAK,CAAC,iBAAiB,EAAE,oBAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;IAES,iBAAiB,CAAC,UAAuB;QACjD,OAAO,CACL,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACjC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG;YACvC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAC1C,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAClD,EAAE,CAAC,EAAE,CACH,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,kBAAkB;oBAChD,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY;oBACrB,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CACxB,CAAC;gBACF,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBACzC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAClD,EAAE,CAAC,EAAE,CACH,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,kBAAkB;wBAChD,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY;wBACrB,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CACxB,CAAC,CAAC,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,UAAuB,EACvB,YAAoB,EACpB,WAAoB,EACpB,eAAoC,EACpC,cAAuB,EACvB,iBAAyB,EACzB,sBAA+B,EAC/B,WAAoB,EACpB,MAAc,EACd,QAAgB,EAChB,IAAY;QAEZ,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,oBAAoB,CAAC,CAAC;QAElE,MAAM,EAAE,yBAAyB,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CACrE,UAAU,EACV,YAAY,CACb,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,IAA0B,EAAE,EAAE;YACrD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,iBAAiB,GAAG,UAAU,GAAG,+BAAY,CAAC;YACpD,MAAM,YAAY,GAAG,UAAU,IAAI,IAAI,CAAC;YAExC,IAAI,cAAsB,CAAC;YAC3B,IAAI,YAAY,KAAK,+BAA+B,EAAE;gBACpD,cAAc,GAAG,iCAAiC,CAAC;aACpD;iBAAM,IAAI,YAAY,KAAK,8BAA8B,EAAE;gBAC1D,cAAc,GAAG,gCAAgC,CAAC;aACnD;iBAAM;gBACL,sBAAsB;gBACtB,MAAM,IAAI,KAAK,CAAC,wBAAwB,YAAY,UAAU,CAAC,CAAC;aACjE;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,iBAAiB,GAAG,cAAc,CAAC,CAAC,QAAQ,EAAE;gBACxD,SAAS,EAAE,IAAI,CAAC,YAAa;gBAC7B,QAAQ,EAAE,IAAI,CAAC,WAAW;aAC3B,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,eAAe;YAC3C,CAAC,CAAC,CAAC,eAAe,EAAE,IAAA,6CAA2B,EAAC,oBAAQ,CAAC,GAAG,CAAC,CAAC;YAC9D,CAAC,CAAC;gBACE,IAAA,iDAA+B,EAAC;oBAC9B,cAAc;oBACd,iBAAiB;oBACjB,sBAAsB;iBACvB,CAAC;gBACF,IAAA,kCAAgB,EACd,iBAAiB,EACjB,sBAAsB,EACtB,oBAAQ,CAAC,GAAG,CACb;aACF,CAAC;QAEN,MAAM,OAAO,GAA6B;YACxC,GAAG,yBAAyB;YAC5B,SAAS,EAAE,UAAU,CAAC,QAAQ;YAC9B,cAAc,EAAE,gBAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC,aAAa,CAAC,GAAG,CACtE,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,CAC/B;YACD,UAAU,EAAE,YAAY;YACxB,cAAc,EAAE,UAAU,CAAC,SAAS;YACpC,WAAW;YACX,OAAO;YACP,UAAU;YACV,MAAM;YACN,QAAQ;YACR,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC;SAC1B,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,GAAG,MAAa,EAAE,EAAE,CACnC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CACvC,IAAI,CAAC,kBAAkB,EACvB,MAAM,CACP,CAAC;QACJ,wBAAwB;QACxB,OAAO;YACL,OAAO;YACP,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,UAAU;SACX,CAAC;IACJ,CAAC;;AAhHH,oCAiHC;AAhHQ,kBAAK,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"simpleswapnft.js","sourceRoot":"","sources":["../../src/router/simpleswapnft.ts"],"names":[],"mappings":"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"}
@@ -5,14 +5,14 @@ export declare class TransactionBuilder {
5
5
  protected dexAdapterService: DexAdapterService;
6
6
  routerService: RouterService;
7
7
  constructor(dexAdapterService: DexAdapterService);
8
- build({ priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, gasPrice, maxFeePerGas, maxPriorityFeePerGas, permit, deadline, uuid, beneficiary, onlyParams, }: {
8
+ build({ priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, gasPrice, maxFeePerGas, maxPriorityFeePerGas, permit, deadline, uuid, beneficiary, onlyParams, }: {
9
9
  priceRoute: OptimalRate;
10
10
  minMaxAmount: string;
11
11
  userAddress: Address;
12
12
  referrerAddress?: Address;
13
13
  partnerAddress: Address;
14
14
  partnerFeePercent: string;
15
- positiveSlippageToUser?: boolean;
15
+ takeSurplus?: boolean;
16
16
  gasPrice?: string;
17
17
  maxFeePerGas?: string;
18
18
  maxPriorityFeePerGas?: string;
@@ -8,11 +8,11 @@ class TransactionBuilder {
8
8
  this.dexAdapterService = dexAdapterService;
9
9
  this.routerService = new router_1.RouterService(this.dexAdapterService);
10
10
  }
11
- async build({ priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, gasPrice, maxFeePerGas, maxPriorityFeePerGas, permit, deadline, uuid, beneficiary, onlyParams = false, }) {
11
+ async build({ priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, gasPrice, maxFeePerGas, maxPriorityFeePerGas, permit, deadline, uuid, beneficiary, onlyParams = false, }) {
12
12
  const _beneficiary = beneficiary || userAddress;
13
13
  const { encoder, params, networkFee } = await this.routerService
14
14
  .getRouterByContractMethod(priceRoute.contractMethod)
15
- .build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser ?? true, _beneficiary, permit || '0x', deadline, uuid);
15
+ .build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus ?? false, _beneficiary, permit || '0x', deadline, uuid);
16
16
  if (onlyParams)
17
17
  return params;
18
18
  const value = (priceRoute.srcToken.toLowerCase() === constants_1.ETHER_ADDRESS.toLowerCase()
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-builder.js","sourceRoot":"","sources":["../src/transaction-builder.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,qCAAyC;AAGzC,MAAa,kBAAkB;IAG7B,YAAsB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACxD,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,EACjB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,UAAU,GAAG,KAAK,GAiBnB;QACC,MAAM,YAAY,GAAG,WAAW,IAAI,WAAW,CAAC;QAChD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa;aAC7D,yBAAyB,CAAC,UAAU,CAAC,cAAc,CAAC;aACpD,KAAK,CACJ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,sBAAsB,IAAI,IAAI,EAC9B,YAAY,EACZ,MAAM,IAAI,IAAI,EACd,QAAQ,EACR,IAAI,CACL,CAAC;QAEJ,IAAI,UAAU;YAAE,OAAO,MAAM,CAAC;QAE9B,MAAM,KAAK,GAAG,CACZ,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,yBAAa,CAAC,WAAW,EAAE;YAC/D,CAAC,CAAC,MAAM,CACJ,UAAU,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBAC/B,CAAC,CAAC,UAAU,CAAC,SAAS;gBACtB,CAAC,CAAC,YAAY,CACjB,GAAG,MAAM,CAAC,UAAU,CAAC;YACxB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CACvB,CAAC,QAAQ,EAAE,CAAC;QAEb,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,UAAU,CAAC,eAAe;YAC9B,KAAK;YACL,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;YACjC,QAAQ;YACR,YAAY;YACZ,oBAAoB;SACrB,CAAC;IACJ,CAAC;CACF;AA/ED,gDA+EC"}
1
+ {"version":3,"file":"transaction-builder.js","sourceRoot":"","sources":["../src/transaction-builder.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,qCAAyC;AAGzC,MAAa,kBAAkB;IAG7B,YAAsB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACxD,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,EACjB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,UAAU,GAAG,KAAK,GAiBnB;QACC,MAAM,YAAY,GAAG,WAAW,IAAI,WAAW,CAAC;QAChD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa;aAC7D,yBAAyB,CAAC,UAAU,CAAC,cAAc,CAAC;aACpD,KAAK,CACJ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,WAAW,IAAI,KAAK,EACpB,YAAY,EACZ,MAAM,IAAI,IAAI,EACd,QAAQ,EACR,IAAI,CACL,CAAC;QAEJ,IAAI,UAAU;YAAE,OAAO,MAAM,CAAC;QAE9B,MAAM,KAAK,GAAG,CACZ,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,yBAAa,CAAC,WAAW,EAAE;YAC/D,CAAC,CAAC,MAAM,CACJ,UAAU,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBAC/B,CAAC,CAAC,UAAU,CAAC,SAAS;gBACtB,CAAC,CAAC,YAAY,CACjB,GAAG,MAAM,CAAC,UAAU,CAAC;YACxB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CACvB,CAAC,QAAQ,EAAE,CAAC;QAEb,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,UAAU,CAAC,eAAe;YAC9B,KAAK;YACL,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;YACjC,QAAQ;YACR,YAAY;YACZ,oBAAoB;SACrB,CAAC;IACJ,CAAC;CACF;AA/ED,gDA+EC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.28.7",
3
+ "version": "2.28.9-take-surplus.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -826,6 +826,8 @@ export class BalancerV2
826
826
  prices: resOut.prices,
827
827
  data: {
828
828
  poolId: pool.id,
829
+ tokenIn: _from.address.toLowerCase(),
830
+ tokenOut: _to.address.toLowerCase(),
829
831
  },
830
832
  poolAddresses: [poolAddress],
831
833
  exchange: this.dexKey,
@@ -1,70 +1,83 @@
1
- import { UnoptimizedRate, OptimalSwapExchange } from '../../types';
2
- import { BalancerSwapV2 } from './types';
1
+ import _ from 'lodash';
2
+ import { UnoptimizedRate } from '../../types';
3
3
  import { SwapSide } from '../../constants';
4
4
  import { BalancerConfig } from './config';
5
-
6
- const MAX_UINT256 =
7
- '115792089237316195423570985008687907853269984665640564039457584007913129639935';
8
-
9
- const AllBalancerV2Forks = Object.keys(BalancerConfig);
5
+ import { OptimalSwap } from '@paraswap/core';
10
6
 
11
7
  export function balancerV2Merge(or: UnoptimizedRate): UnoptimizedRate {
12
- const fixSwap = (
13
- rawSwap: OptimalSwapExchange<any>[],
14
- side: SwapSide,
15
- ): OptimalSwapExchange<any>[] => {
16
- const newBalancers: { [key: string]: OptimalSwapExchange<any> } = {};
17
- let optimizedSwap = new Array<OptimalSwapExchange<any>>();
18
- rawSwap.forEach((s: OptimalSwapExchange<any>) => {
19
- const exchangeKey = s.exchange.toLowerCase();
20
- if (AllBalancerV2Forks.some(d => d.toLowerCase() === exchangeKey)) {
21
- if (!(exchangeKey in newBalancers)) {
22
- newBalancers[exchangeKey] = {
23
- exchange: s.exchange,
24
- srcAmount: '0',
25
- destAmount: '0',
26
- percent: 0,
27
- poolAddresses: [],
28
- data: {
29
- swaps: new Array<BalancerSwapV2>(),
30
- gasUSD: '0',
31
- },
32
- };
33
- }
34
- newBalancers[exchangeKey].srcAmount = (
35
- BigInt(newBalancers[exchangeKey].srcAmount) + BigInt(s.srcAmount)
8
+ const balancerForksList = Object.keys(BalancerConfig).map(b =>
9
+ b.toLowerCase(),
10
+ );
11
+ const fixSwap = (rawRate: OptimalSwap[], side: SwapSide): OptimalSwap[] => {
12
+ let lastExchange: false | OptimalSwap = false;
13
+ let optimizedRate = new Array<OptimalSwap>();
14
+ rawRate.forEach((s: OptimalSwap) => {
15
+ if (
16
+ s.swapExchanges.length !== 1 ||
17
+ !balancerForksList.includes(s.swapExchanges[0].exchange.toLowerCase())
18
+ ) {
19
+ lastExchange = false;
20
+ optimizedRate.push(s);
21
+ } else if (
22
+ lastExchange &&
23
+ lastExchange.swapExchanges[0].exchange.toLowerCase() ===
24
+ s.swapExchanges[0].exchange.toLowerCase() &&
25
+ _.last(
26
+ <any[]>lastExchange.swapExchanges[0].data.swaps,
27
+ )!.tokenOut.toLowerCase() ===
28
+ s.swapExchanges[0].data.tokenIn.toLowerCase()
29
+ ) {
30
+ const [lastExchangeSwap] = lastExchange.swapExchanges;
31
+ const [currentSwap] = s.swapExchanges;
32
+ lastExchangeSwap.srcAmount = (
33
+ BigInt(lastExchangeSwap.srcAmount) + BigInt(currentSwap.srcAmount)
36
34
  ).toString();
37
35
 
38
- newBalancers[exchangeKey].destAmount = (
39
- BigInt(newBalancers[exchangeKey].destAmount) + BigInt(s.destAmount)
36
+ lastExchangeSwap.destAmount = (
37
+ BigInt(lastExchangeSwap.destAmount) + BigInt(currentSwap.destAmount)
40
38
  ).toString();
41
39
 
42
- newBalancers[exchangeKey].percent += s.percent;
43
- newBalancers[exchangeKey].data.exchangeProxy = s.data.exchangeProxy;
44
- newBalancers[exchangeKey].data.gasUSD = (
45
- parseFloat(newBalancers[exchangeKey].data.gasUSD) +
46
- parseFloat(s.data.gasUSD)
40
+ lastExchangeSwap.percent += currentSwap.percent;
41
+ lastExchangeSwap.data.gasUSD = (
42
+ parseFloat(lastExchangeSwap.data.gasUSD) +
43
+ parseFloat(currentSwap.data.gasUSD)
47
44
  ).toFixed(6);
48
45
 
49
- newBalancers[exchangeKey].data.swaps.push({
50
- poolId: s.data.poolId,
51
- amount: side === SwapSide.SELL ? s.srcAmount : s.destAmount,
46
+ lastExchangeSwap.data.swaps.push({
47
+ poolId: currentSwap.data.poolId,
48
+ amount:
49
+ side === SwapSide.SELL
50
+ ? currentSwap.srcAmount
51
+ : currentSwap.destAmount,
52
+ tokenIn: currentSwap.data.tokenIn,
53
+ tokenOut: currentSwap.data.tokenOut,
52
54
  });
53
- newBalancers[exchangeKey].poolAddresses!.push(s.poolAddresses![0]);
55
+ lastExchangeSwap.poolAddresses!.push(currentSwap.poolAddresses![0]);
54
56
  } else {
55
- optimizedSwap.push(s);
57
+ lastExchange = _.cloneDeep(s);
58
+ lastExchange.swapExchanges[0].data = {};
59
+ lastExchange.swapExchanges[0].data.gasUSD =
60
+ s.swapExchanges[0].data.gasUSD;
61
+ lastExchange.swapExchanges[0].data.swaps = [
62
+ {
63
+ poolId: s.swapExchanges[0].data.poolId,
64
+ amount:
65
+ side === SwapSide.SELL
66
+ ? s.swapExchanges[0].srcAmount
67
+ : s.swapExchanges[0].destAmount,
68
+ tokenIn: s.swapExchanges[0].data.tokenIn,
69
+ tokenOut: s.swapExchanges[0].data.tokenOut,
70
+ },
71
+ ];
72
+ optimizedRate.push(lastExchange);
56
73
  }
57
74
  });
58
- optimizedSwap = optimizedSwap.concat(Object.values(newBalancers));
59
- return optimizedSwap;
75
+ return optimizedRate;
60
76
  };
61
77
 
62
78
  or.bestRoute = or.bestRoute.map(r => ({
63
79
  ...r,
64
- swaps: r.swaps.map(s => ({
65
- ...s,
66
- swapExchanges: fixSwap(s.swapExchanges, or.side),
67
- })),
80
+ swaps: fixSwap(r.swaps, or.side),
68
81
  }));
69
82
  return or;
70
83
  }
@@ -82,6 +82,8 @@ export interface SubgraphPoolBase {
82
82
  export type BalancerSwapV2 = {
83
83
  poolId: string;
84
84
  amount: string;
85
+ tokenIn: string;
86
+ tokenOut: string;
85
87
  };
86
88
 
87
89
  export type OptimizedBalancerV2Data = {
@@ -139,6 +141,8 @@ export type BalancerV2DirectParam = [
139
141
 
140
142
  export type BalancerV2Data = {
141
143
  poolId: string;
144
+ tokenIn: string;
145
+ tokenOut: string;
142
146
  };
143
147
 
144
148
  export type DexParams = {
@@ -35,6 +35,38 @@ const customPlain3CoinThree: calc_token_amount = (
35
35
  return (diff * token_amount) / D0;
36
36
  };
37
37
 
38
+ const factoryPlain2Basic: calc_token_amount = (
39
+ self: IPoolContext,
40
+ state: PoolState,
41
+ amounts: bigint[],
42
+ is_deposit: boolean,
43
+ ) => {
44
+ const { N_COINS } = self.constants;
45
+ const amp = state.A;
46
+ const balances = [...state.balances];
47
+ const D0 = self.get_D(self, balances, amp);
48
+ for (const i of _.range(N_COINS)) {
49
+ if (is_deposit) balances[i] += amounts[i];
50
+ else balances[i] -= amounts[i];
51
+ }
52
+ const D1 = self.get_D(self, balances, amp);
53
+
54
+ if (state.totalSupply === undefined) {
55
+ throw new Error(
56
+ `${self.IMPLEMENTATION_NAME} customPlain3CoinThree: totalSupply is not provided`,
57
+ );
58
+ }
59
+
60
+ const token_amount = state.totalSupply;
61
+ let diff = 0n;
62
+ if (is_deposit) {
63
+ diff = D1 - D0;
64
+ } else {
65
+ diff = D0 - D1;
66
+ }
67
+ return (diff * token_amount) / D0;
68
+ };
69
+
38
70
  const customAvalanche3CoinLending: calc_token_amount = (
39
71
  self: IPoolContext,
40
72
  state: PoolState,
@@ -114,7 +146,7 @@ const implementations: Record<ImplementationNames, calc_token_amount> = {
114
146
  [ImplementationNames.FACTORY_META_USD_BALANCES_FRAX_USDC]: notImplemented,
115
147
 
116
148
  [ImplementationNames.FACTORY_PLAIN_2_BALANCES]: notImplemented,
117
- [ImplementationNames.FACTORY_PLAIN_2_BASIC]: notImplemented,
149
+ [ImplementationNames.FACTORY_PLAIN_2_BASIC]: factoryPlain2Basic,
118
150
  [ImplementationNames.FACTORY_PLAIN_2_ETH]: notImplemented,
119
151
  [ImplementationNames.FACTORY_PLAIN_2_OPTIMIZED]: notImplemented,
120
152
 
@@ -276,7 +276,7 @@ export class UniswapV3
276
276
  e,
277
277
  );
278
278
  } else {
279
- // on unkown error mark as failed and increase retryCount for retry init strategy
279
+ // on unknown error mark as failed and increase retryCount for retry init strategy
280
280
  // note: state would be null by default which allows to fallback
281
281
  this.logger.warn(
282
282
  `${this.dexKey}: Can not generate pool state for srcAddress=${srcAddress}, destAddress=${destAddress}, fee=${fee} pool fallback to rpc and retry every ${this.config.initRetryFrequency} times, initRetryAttemptCount=${pool.initRetryAttemptCount}`,
package/src/router/buy.ts CHANGED
@@ -42,7 +42,7 @@ export class Buy extends PayloadEncoder implements IRouter<BuyParam> {
42
42
  referrerAddress: Address | undefined,
43
43
  partnerAddress: Address,
44
44
  partnerFeePercent: string,
45
- positiveSlippageToUser: boolean,
45
+ takeSurplus: boolean,
46
46
  beneficiary: Address,
47
47
  permit: string,
48
48
  deadline: string,
@@ -69,13 +69,9 @@ export class Buy extends PayloadEncoder implements IRouter<BuyParam> {
69
69
  encodePartnerAddressForFeeLogic({
70
70
  partnerAddress,
71
71
  partnerFeePercent,
72
- positiveSlippageToUser,
72
+ takeSurplus,
73
73
  }),
74
- encodeFeePercent(
75
- partnerFeePercent,
76
- positiveSlippageToUser,
77
- SwapSide.BUY,
78
- ),
74
+ encodeFeePercent(partnerFeePercent, takeSurplus, SwapSide.BUY),
79
75
  ];
80
76
 
81
77
  const buyData: ContractBuyData = {