sushi 6.6.3 → 6.6.4

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.
@@ -7,6 +7,7 @@ exports.NonfungiblePositionManager = void 0;
7
7
  const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
8
8
  const viem_1 = require("viem");
9
9
  const amount_js_1 = require("../../../../generic/currency/amount.js");
10
+ const fraction_js_1 = require("../../../../generic/math/fraction.js");
10
11
  const index_js_1 = require("../../../abi/nonfungiblePositionManagerAbi/index.js");
11
12
  const index_js_2 = require("../utils/index.js");
12
13
  const Multicall_js_1 = require("./Multicall.js");
@@ -109,7 +110,7 @@ class NonfungiblePositionManager {
109
110
  value,
110
111
  };
111
112
  }
112
- static encodeCollect(collectOptions) {
113
+ static encodeCollect(collectOptions, minimumAmountMultiplier) {
113
114
  const calldatas = [];
114
115
  const nativeBalancesByRecipient = new Map();
115
116
  const sweepBalancesByRecipient = new Map();
@@ -157,15 +158,27 @@ class NonfungiblePositionManager {
157
158
  }
158
159
  }
159
160
  for (const [recipient, nativeAmount,] of nativeBalancesByRecipient.entries()) {
160
- calldatas.push(Payments_js_1.Payments.encodeUnwrapWETH9(nativeAmount, recipient));
161
+ calldatas.push(Payments_js_1.Payments.encodeUnwrapWETH9(minimumAmountMultiplier
162
+ ? minimumAmountMultiplier.mul(nativeAmount).quotient
163
+ : nativeAmount, recipient));
161
164
  }
162
165
  for (const { token, amount, recipient, } of sweepBalancesByRecipient.values()) {
163
- calldatas.push(Payments_js_1.Payments.encodeSweepToken(token, amount, recipient));
166
+ calldatas.push(Payments_js_1.Payments.encodeSweepToken(token, minimumAmountMultiplier
167
+ ? minimumAmountMultiplier.mul(amount).quotient
168
+ : amount, recipient));
164
169
  }
165
170
  return calldatas;
166
171
  }
167
- static collectCallParameters(options) {
168
- const calldatas = NonfungiblePositionManager.encodeCollect(Array.isArray(options) ? options : [options]);
172
+ static collectCallParameters(options, callOptions = {}) {
173
+ if (callOptions.minimumAmountTolerance) {
174
+ (0, tiny_invariant_1.default)(callOptions.minimumAmountTolerance.denominator > 0n &&
175
+ callOptions.minimumAmountTolerance.gte(0n) &&
176
+ callOptions.minimumAmountTolerance.lte(1n), 'INVALID_MINIMUM_AMOUNT_TOLERANCE');
177
+ }
178
+ const minimumAmountMultiplier = callOptions.minimumAmountTolerance
179
+ ? new fraction_js_1.Fraction({ numerator: 1 }).sub(callOptions.minimumAmountTolerance)
180
+ : undefined;
181
+ const calldatas = NonfungiblePositionManager.encodeCollect(Array.isArray(options) ? options : [options], minimumAmountMultiplier);
169
182
  return {
170
183
  calldata: Multicall_js_1.Multicall.encodeMulticall(calldatas),
171
184
  value: (0, viem_1.toHex)(0),
@@ -1 +1 @@
1
- {"version":3,"file":"NonfungiblePositionManager.js","sourceRoot":"","sources":["../../../../../evm/pool/sushiswap-v3/entities/NonfungiblePositionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NonfungiblePositionManager.js","sourceRoot":"","sources":["../../../../../evm/pool/sushiswap-v3/entities/NonfungiblePositionManager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import invariant from 'tiny-invariant';
2
2
  import { encodeFunctionData, maxUint128, toHex, zeroAddress, } from 'viem';
3
3
  import { Amount } from '../../../../generic/currency/amount.js';
4
+ import { Fraction } from '../../../../generic/math/fraction.js';
4
5
  import { nonfungiblePositionManagerAbi_burn, nonfungiblePositionManagerAbi_collect, nonfungiblePositionManagerAbi_createAndInitializePoolIfNecessary, nonfungiblePositionManagerAbi_decreaseLiquidity, nonfungiblePositionManagerAbi_increaseLiquidity, nonfungiblePositionManagerAbi_mint, nonfungiblePositionManagerAbi_permit, nonfungiblePositionManagerAbi_safeTransferFrom, } from '../../../abi/nonfungiblePositionManagerAbi/index.js';
5
6
  import { validateAndParseAddress } from '../utils/index.js';
6
7
  import { Multicall } from './Multicall.js';
@@ -114,7 +115,7 @@ export class NonfungiblePositionManager {
114
115
  value,
115
116
  };
116
117
  }
117
- static encodeCollect(collectOptions) {
118
+ static encodeCollect(collectOptions, minimumAmountMultiplier) {
118
119
  const calldatas = [];
119
120
  const nativeBalancesByRecipient = new Map();
120
121
  const sweepBalancesByRecipient = new Map();
@@ -162,15 +163,27 @@ export class NonfungiblePositionManager {
162
163
  }
163
164
  }
164
165
  for (const [recipient, nativeAmount,] of nativeBalancesByRecipient.entries()) {
165
- calldatas.push(Payments.encodeUnwrapWETH9(nativeAmount, recipient));
166
+ calldatas.push(Payments.encodeUnwrapWETH9(minimumAmountMultiplier
167
+ ? minimumAmountMultiplier.mul(nativeAmount).quotient
168
+ : nativeAmount, recipient));
166
169
  }
167
170
  for (const { token, amount, recipient, } of sweepBalancesByRecipient.values()) {
168
- calldatas.push(Payments.encodeSweepToken(token, amount, recipient));
171
+ calldatas.push(Payments.encodeSweepToken(token, minimumAmountMultiplier
172
+ ? minimumAmountMultiplier.mul(amount).quotient
173
+ : amount, recipient));
169
174
  }
170
175
  return calldatas;
171
176
  }
172
- static collectCallParameters(options) {
173
- const calldatas = NonfungiblePositionManager.encodeCollect(Array.isArray(options) ? options : [options]);
177
+ static collectCallParameters(options, callOptions = {}) {
178
+ if (callOptions.minimumAmountTolerance) {
179
+ invariant(callOptions.minimumAmountTolerance.denominator > 0n &&
180
+ callOptions.minimumAmountTolerance.gte(0n) &&
181
+ callOptions.minimumAmountTolerance.lte(1n), 'INVALID_MINIMUM_AMOUNT_TOLERANCE');
182
+ }
183
+ const minimumAmountMultiplier = callOptions.minimumAmountTolerance
184
+ ? new Fraction({ numerator: 1 }).sub(callOptions.minimumAmountTolerance)
185
+ : undefined;
186
+ const calldatas = NonfungiblePositionManager.encodeCollect(Array.isArray(options) ? options : [options], minimumAmountMultiplier);
174
187
  return {
175
188
  calldata: Multicall.encodeMulticall(calldatas),
176
189
  value: toHex(0),
@@ -1 +1 @@
1
- {"version":3,"file":"NonfungiblePositionManager.js","sourceRoot":"","sources":["../../../../../evm/pool/sushiswap-v3/entities/NonfungiblePositionManager.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,EACL,kBAAkB,EAElB,UAAU,EACV,KAAK,EACL,WAAW,GACZ,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAA;AAG/D,OAAO,EACL,kCAAkC,EAClC,qCAAqC,EACrC,gEAAgE,EAChE,+CAA+C,EAC/C,+CAA+C,EAC/C,kCAAkC,EAClC,oCAAoC,EACpC,8CAA8C,GAC/C,MAAM,qDAAqD,CAAA;AAK5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAsB,UAAU,EAAE,MAAM,iBAAiB,CAAA;AA+EhE,aAAa;AACb,SAAS,MAAM,CAAC,OAA4B;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAA;AAC5D,CAAC;AAwED,MAAM,OAAgB,0BAA0B;IAC9C;;OAEG;IACH,gBAAuB,CAAC;IAEhB,MAAM,CAAC,YAAY,CAAC,IAAqB;QAC/C,OAAO,kBAAkB,CAAC;YACxB,GAAG,EAAE,gEAAgE;YACrE,YAAY,EAAE,oCAAoC;YAClD,IAAI,EAAE;gBACJ,IAAI,CAAC,MAAM,CAAC,OAAO;gBACnB,IAAI,CAAC,MAAM,CAAC,OAAO;gBACnB,IAAI,CAAC,GAAG;gBACR,IAAI,CAAC,YAAY;aAClB;SACF,CAAC,CAAA;IACJ,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,IAAqB;QACtD,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACjC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAChB,CAAA;IACH,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAC7B,QAAkB,EAClB,OAA4B;QAE5B,SAAS,CAAC,QAAQ,CAAC,SAAS,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAA;QAEpD,MAAM,SAAS,GAAU,EAAE,CAAA;QAE3B,cAAc;QACd,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,GACxD,QAAQ,CAAC,WAAW,CAAA;QAEtB,sBAAsB;QACtB,MAAM,cAAc,GAAG,QAAQ,CAAC,uBAAuB,CACrD,OAAO,CAAC,iBAAiB,CAC1B,CAAA;QACD,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAA;QACzC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAA;QAEzC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAEzC,wBAAwB;QACxB,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAClD,CAAC;QAED,uBAAuB;QACvB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,SAAS,CAAC,IAAI,CACZ,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CACpE,CAAA;QACH,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,SAAS,CAAC,IAAI,CACZ,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CACpE,CAAA;QACH,CAAC;QAED,OAAO;QACP,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAE5D,SAAS,CAAC,IAAI,CACZ,kBAAkB,CAAC;gBACjB,GAAG,EAAE,kCAAkC;gBACvC,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE;oBACJ;wBACE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;wBACpC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;wBACpC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;wBACtB,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,cAAc,EAAE,cAAc;wBAC9B,cAAc,EAAE,cAAc;wBAC9B,UAAU;wBACV,UAAU;wBACV,SAAS;wBACT,QAAQ;qBACT;iBACF;aACF,CAAC,CACH,CAAA;QACH,CAAC;aAAM,CAAC;YACN,WAAW;YACX,SAAS,CAAC,IAAI,CACZ,kBAAkB,CAAC;gBACjB,GAAG,EAAE,+CAA+C;gBACpD,YAAY,EAAE,mBAAmB;gBACjC,IAAI,EAAE;oBACJ;wBACE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;wBAChC,cAAc,EAAE,cAAc;wBAC9B,cAAc,EAAE,cAAc;wBAC9B,UAAU;wBACV,UAAU;wBACV,QAAQ;qBACT;iBACF;aACF,CAAC,CACH,CAAA;QACH,CAAC;QAED,IAAI,KAAK,GAAW,KAAK,CAAC,CAAC,CAAC,CAAA;QAE5B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;YACxC,SAAS,CACP,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EACtC,SAAS,CACV,CAAA;YAED,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;gBACvD,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,cAAc,CAAA;YAElB,uDAAuD;YACvD,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;gBACtB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAA;YAC5C,CAAC;YAED,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,CAAA;QAC7B,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC;YAC9C,KAAK;SACN,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,cAAgC;QAC3D,MAAM,SAAS,GAAU,EAAE,CAAA;QAC3B,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC3D,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAGrC,CAAA;QAEH,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YACvC,MAAM,WAAW,GACf,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBACxD,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAA;YAC1D,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAE5D,SAAS,CAAC,IAAI,CACZ,kBAAkB,CAAC;gBACjB,GAAG,EAAE,qCAAqC;gBAC1C,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE;oBACJ;wBACE,OAAO;wBACP,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;wBAChD,UAAU,EAAE,UAAU;wBACtB,UAAU,EAAE,UAAU;qBACvB;iBACF;aACF,CAAC,CACH,CAAA;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,SAAS,GACb,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;oBACtD,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM;oBACtC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAA;gBAC1C,MAAM,KAAK,GACT,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;oBACtD,CAAC,CAAE,OAAO,CAAC,qBAAqB,CAAC,QAAqB;oBACtD,CAAC,CAAE,OAAO,CAAC,qBAAqB,CAAC,QAAqB,CAAA;gBAC1D,MAAM,WAAW,GACf,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;oBACtD,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM;oBACtC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAA;gBAE1C,MAAM,oBAAoB,GACxB,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;gBAChD,yBAAyB,CAAC,GAAG,CAC3B,SAAS,EACT,oBAAoB,GAAG,SAAS,CACjC,CAAA;gBAED,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE,CAAA;gBAClD,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACnE,IAAI,kBAAkB,EAAE,CAAC;oBACvB,kBAAkB,CAAC,MAAM,IAAI,WAAW,CAAA;gBAC1C,CAAC;qBAAM,CAAC;oBACN,wBAAwB,CAAC,GAAG,CAAC,UAAU,EAAE;wBACvC,KAAK;wBACL,MAAM,EAAE,WAAW;wBACnB,SAAS;qBACV,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CACT,SAAS,EACT,YAAY,EACb,IAAI,yBAAyB,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,YAAY,EAAE,SAAgB,CAAC,CAAC,CAAA;QAC5E,CAAC;QAED,KAAK,MAAM,EACT,KAAK,EACL,MAAM,EACN,SAAS,GACV,IAAI,wBAAwB,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;QACrE,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAEM,MAAM,CAAC,qBAAqB,CACjC,OAA0C;QAE1C,MAAM,SAAS,GAAU,0BAA0B,CAAC,aAAa,CAC/D,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAC7C,CAAA;QAED,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC;YAC9C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAChB,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,oBAAoB,CAChC,QAAkB,EAClB,OAA+B;QAE/B,MAAM,SAAS,GAAU,EAAE,CAAA;QAE3B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAEvC,8DAA8D;QAC9D,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC;YACnC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,SAAS,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ;YACvE,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAA;QACF,SAAS,CAAC,eAAe,CAAC,SAAS,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAA;QAE3D,uCAAuC;QACvC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,GAChD,eAAe,CAAC,uBAAuB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,SAAS,CAAC,IAAI,CACZ,kBAAkB,CAAC;gBACjB,GAAG,EAAE,oCAAoC;gBACzC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE;oBACJ,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC/C,OAAO;oBACP,QAAQ;oBACR,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChB,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChB,OAAO,CAAC,MAAM,CAAC,CAAC;iBACjB;aACF,CAAC,CACH,CAAA;QACH,CAAC;QAED,mBAAmB;QACnB,SAAS,CAAC,IAAI,CACZ,kBAAkB,CAAC;YACjB,GAAG,EAAE,+CAA+C;YACpD,YAAY,EAAE,mBAAmB;YACjC,IAAI,EAAE;gBACJ;oBACE,OAAO;oBACP,SAAS,EAAE,eAAe,CAAC,SAAS;oBACpC,UAAU;oBACV,UAAU;oBACV,QAAQ;iBACT;aACF;SACF,CAAC,CACH,CAAA;QAED,MAAM,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,GAAG,IAAI,EAAE,GAC7D,OAAO,CAAC,cAAc,CAAA;QAExB,SAAS,CAAC,IAAI,CACZ,GAAG,0BAA0B,CAAC,aAAa,CAAC;YAC1C;gBACE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACvC,iEAAiE;gBACjE,qBAAqB,EAAE,qBAAqB,CAAC,GAAG,CAC9C,IAAI,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC,CACvD;gBACD,qBAAqB,EAAE,qBAAqB,CAAC,GAAG,CAC9C,IAAI,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC,CACvD;gBACD,GAAG,IAAI;aACR;SACF,CAAC,CACH,CAAA;QAED,IAAI,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,SAAS,CAAC,IAAI,CACZ,kBAAkB,CAAC;oBACjB,GAAG,EAAE,kCAAkC;oBACvC,YAAY,EAAE,MAAM;oBACpB,IAAI,EAAE,CAAC,OAAO,CAAC;iBAChB,CAAC,CACH,CAAA;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,aAAa,CAAC,CAAA;QACtD,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC;YAC9C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAChB,CAAA;IACH,CAAC;IAEM,MAAM,CAAC,0BAA0B,CACtC,OAA4B;QAE5B,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAC5D,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAEtD,IAAI,QAAgB,CAAA;QACpB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,QAAQ,GAAG,kBAAkB,CAAC;gBAC5B,GAAG,EAAE,8CAA8C;gBACnD,YAAY,EAAE,kBAAkB;gBAChC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC;aACjE,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,kBAAkB,CAAC;gBAC5B,GAAG,EAAE,8CAA8C;gBACnD,YAAY,EAAE,kBAAkB;gBAChC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aACnD,CAAC,CAAA;QACJ,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAChB,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"NonfungiblePositionManager.js","sourceRoot":"","sources":["../../../../../evm/pool/sushiswap-v3/entities/NonfungiblePositionManager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type Hex } from 'viem';
2
2
  import { Amount } from '../../../../generic/currency/amount.js';
3
+ import { Fraction } from '../../../../generic/math/fraction.js';
3
4
  import type { Percent } from '../../../../generic/math/percent.js';
4
5
  import type { BigintIsh } from '../../../../generic/types/bigintish.js';
5
6
  import type { EvmCurrency } from '../../../currency/currency.js';
@@ -88,6 +89,12 @@ export interface CollectOptions {
88
89
  */
89
90
  recipient: string;
90
91
  }
92
+ export interface CollectCallParametersOptions {
93
+ /**
94
+ * Reduces the unwrap and sweep minimums by the provided tolerance.
95
+ */
96
+ minimumAmountTolerance?: Fraction;
97
+ }
91
98
  export interface NFTPermitOptions {
92
99
  v: 0 | 1 | 27 | 28;
93
100
  r: Hex;
@@ -137,7 +144,7 @@ export declare abstract class NonfungiblePositionManager {
137
144
  static createCallParameters(pool: SushiSwapV3Pool): MethodParameters;
138
145
  static addCallParameters(position: Position, options: AddLiquidityOptions): MethodParameters;
139
146
  private static encodeCollect;
140
- static collectCallParameters(options: CollectOptions | CollectOptions[]): MethodParameters;
147
+ static collectCallParameters(options: CollectOptions | CollectOptions[], callOptions?: CollectCallParametersOptions): MethodParameters;
141
148
  /**
142
149
  * Produces the calldata for completely or partially exiting a position
143
150
  * @param position The position to exit
@@ -1 +1 @@
1
- {"version":3,"file":"NonfungiblePositionManager.d.ts","sourceRoot":"","sources":["../../../../../evm/pool/sushiswap-v3/entities/NonfungiblePositionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NonfungiblePositionManager.d.ts","sourceRoot":"","sources":["../../../../../evm/pool/sushiswap-v3/entities/NonfungiblePositionManager.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import {
8
8
  } from 'viem'
9
9
  import { describe, expect, it } from 'vitest'
10
10
  import { Amount } from '../../../../generic/currency/amount.js'
11
+ import { Fraction } from '../../../../generic/math/fraction.js'
11
12
  import { Percent } from '../../../../generic/math/percent.js'
12
13
  import { multicallAbi_multicall } from '../../../abi/multicallAbi/multicallAbi_multicall.js'
13
14
  import { nonfungiblePositionManagerAbi_collect } from '../../../abi/nonfungiblePositionManagerAbi/nonfungiblePositionManagerAbi_collect.js'
@@ -251,6 +252,105 @@ describe('NonfungiblePositionManager', () => {
251
252
  expect(value).toEqual('0x0')
252
253
  })
253
254
 
255
+ it('applies minimum amount tolerance to eth unwraps and token sweeps', () => {
256
+ const { calldata, value } =
257
+ NonfungiblePositionManager.collectCallParameters(
258
+ {
259
+ tokenId,
260
+ expectedCurrencyOwed0: new Amount(token1, 2000n),
261
+ expectedCurrencyOwed1: new Amount(EvmNative.fromChainId(1), 1000n),
262
+ recipient,
263
+ },
264
+ {
265
+ minimumAmountTolerance: new Fraction({
266
+ numerator: 1n,
267
+ denominator: 1000n,
268
+ }),
269
+ },
270
+ )
271
+
272
+ const [[, encodedUnwrapParams, encodedSweepParams]] = decodeAbiParameters(
273
+ multicallAbi_multicall[0].inputs,
274
+ `0x${calldata.slice(10)}`,
275
+ )
276
+
277
+ const unwrapParams = decodeUnwrapParams(encodedUnwrapParams)
278
+ const sweepParams = decodeSweepParams(encodedSweepParams)
279
+
280
+ expect(unwrapParams).toEqual([999n, recipient])
281
+ expect(sweepParams).toEqual([token1.address, 1998n, recipient])
282
+ expect(value).toEqual('0x0')
283
+ })
284
+
285
+ it('applies minimum amount tolerance after aggregating collections', () => {
286
+ const { calldata, value } =
287
+ NonfungiblePositionManager.collectCallParameters(
288
+ [1, 2, 3].map((tokenId) => ({
289
+ tokenId,
290
+ expectedCurrencyOwed0: new Amount(token1, 1n),
291
+ expectedCurrencyOwed1: new Amount(EvmNative.fromChainId(1), 1n),
292
+ recipient,
293
+ })),
294
+ {
295
+ minimumAmountTolerance: new Fraction({
296
+ numerator: 1n,
297
+ denominator: 1000n,
298
+ }),
299
+ },
300
+ )
301
+
302
+ const [[, , , encodedUnwrapParams, encodedSweepParams]] =
303
+ decodeAbiParameters(
304
+ multicallAbi_multicall[0].inputs,
305
+ `0x${calldata.slice(10)}`,
306
+ )
307
+
308
+ const unwrapParams = decodeUnwrapParams(encodedUnwrapParams)
309
+ const sweepParams = decodeSweepParams(encodedSweepParams)
310
+
311
+ expect(unwrapParams).toEqual([2n, recipient])
312
+ expect(sweepParams).toEqual([token1.address, 2n, recipient])
313
+ expect(value).toEqual('0x0')
314
+ })
315
+
316
+ it('throws when minimum amount tolerance is greater than 100%', () => {
317
+ expect(() =>
318
+ NonfungiblePositionManager.collectCallParameters(
319
+ {
320
+ tokenId,
321
+ expectedCurrencyOwed0: new Amount(token1, 2000n),
322
+ expectedCurrencyOwed1: new Amount(EvmNative.fromChainId(1), 1000n),
323
+ recipient,
324
+ },
325
+ {
326
+ minimumAmountTolerance: new Fraction({
327
+ numerator: 1001n,
328
+ denominator: 1000n,
329
+ }),
330
+ },
331
+ ),
332
+ ).toThrow('INVALID_MINIMUM_AMOUNT_TOLERANCE')
333
+ })
334
+
335
+ it('throws when minimum amount tolerance has a zero denominator', () => {
336
+ expect(() =>
337
+ NonfungiblePositionManager.collectCallParameters(
338
+ {
339
+ tokenId,
340
+ expectedCurrencyOwed0: new Amount(token1, 2000n),
341
+ expectedCurrencyOwed1: new Amount(EvmNative.fromChainId(1), 1000n),
342
+ recipient,
343
+ },
344
+ {
345
+ minimumAmountTolerance: new Fraction({
346
+ numerator: 0n,
347
+ denominator: 0n,
348
+ }),
349
+ },
350
+ ),
351
+ ).toThrow('INVALID_MINIMUM_AMOUNT_TOLERANCE')
352
+ })
353
+
254
354
  it('works with multiple collections', () => {
255
355
  const { calldata, value } =
256
356
  NonfungiblePositionManager.collectCallParameters([
@@ -7,6 +7,7 @@ import {
7
7
  zeroAddress,
8
8
  } from 'viem'
9
9
  import { Amount } from '../../../../generic/currency/amount.js'
10
+ import { Fraction } from '../../../../generic/math/fraction.js'
10
11
  import type { Percent } from '../../../../generic/math/percent.js'
11
12
  import type { BigintIsh } from '../../../../generic/types/bigintish.js'
12
13
  import {
@@ -133,6 +134,13 @@ export interface CollectOptions {
133
134
  recipient: string
134
135
  }
135
136
 
137
+ export interface CollectCallParametersOptions {
138
+ /**
139
+ * Reduces the unwrap and sweep minimums by the provided tolerance.
140
+ */
141
+ minimumAmountTolerance?: Fraction
142
+ }
143
+
136
144
  export interface NFTPermitOptions {
137
145
  v: 0 | 1 | 27 | 28
138
146
  r: Hex
@@ -318,7 +326,10 @@ export abstract class NonfungiblePositionManager {
318
326
  }
319
327
  }
320
328
 
321
- private static encodeCollect(collectOptions: CollectOptions[]): Hex[] {
329
+ private static encodeCollect(
330
+ collectOptions: CollectOptions[],
331
+ minimumAmountMultiplier?: Fraction,
332
+ ): Hex[] {
322
333
  const calldatas: Hex[] = []
323
334
  const nativeBalancesByRecipient = new Map<string, bigint>()
324
335
  const sweepBalancesByRecipient = new Map<
@@ -387,7 +398,14 @@ export abstract class NonfungiblePositionManager {
387
398
  recipient,
388
399
  nativeAmount,
389
400
  ] of nativeBalancesByRecipient.entries()) {
390
- calldatas.push(Payments.encodeUnwrapWETH9(nativeAmount, recipient as Hex))
401
+ calldatas.push(
402
+ Payments.encodeUnwrapWETH9(
403
+ minimumAmountMultiplier
404
+ ? minimumAmountMultiplier.mul(nativeAmount).quotient
405
+ : nativeAmount,
406
+ recipient as Hex,
407
+ ),
408
+ )
391
409
  }
392
410
 
393
411
  for (const {
@@ -395,7 +413,15 @@ export abstract class NonfungiblePositionManager {
395
413
  amount,
396
414
  recipient,
397
415
  } of sweepBalancesByRecipient.values()) {
398
- calldatas.push(Payments.encodeSweepToken(token, amount, recipient))
416
+ calldatas.push(
417
+ Payments.encodeSweepToken(
418
+ token,
419
+ minimumAmountMultiplier
420
+ ? minimumAmountMultiplier.mul(amount).quotient
421
+ : amount,
422
+ recipient,
423
+ ),
424
+ )
399
425
  }
400
426
 
401
427
  return calldatas
@@ -403,9 +429,24 @@ export abstract class NonfungiblePositionManager {
403
429
 
404
430
  public static collectCallParameters(
405
431
  options: CollectOptions | CollectOptions[],
432
+ callOptions: CollectCallParametersOptions = {},
406
433
  ): MethodParameters {
434
+ if (callOptions.minimumAmountTolerance) {
435
+ invariant(
436
+ callOptions.minimumAmountTolerance.denominator > 0n &&
437
+ callOptions.minimumAmountTolerance.gte(0n) &&
438
+ callOptions.minimumAmountTolerance.lte(1n),
439
+ 'INVALID_MINIMUM_AMOUNT_TOLERANCE',
440
+ )
441
+ }
442
+
443
+ const minimumAmountMultiplier = callOptions.minimumAmountTolerance
444
+ ? new Fraction({ numerator: 1 }).sub(callOptions.minimumAmountTolerance)
445
+ : undefined
446
+
407
447
  const calldatas: Hex[] = NonfungiblePositionManager.encodeCollect(
408
448
  Array.isArray(options) ? options : [options],
449
+ minimumAmountMultiplier,
409
450
  )
410
451
 
411
452
  return {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sushi",
3
3
  "description": "Sushi",
4
- "version": "6.6.3",
4
+ "version": "6.6.4",
5
5
  "type": "module",
6
6
  "main": "./_cjs/generic/index.js",
7
7
  "module": "./_esm/generic/index.js",