@paraswap/dex-lib 2.28.9-take-surplus.0 → 2.28.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/dex/algebra/algebra.js +5 -0
- package/build/dex/algebra/algebra.js.map +1 -1
- package/build/dex/algebra/config.js +1 -0
- package/build/dex/algebra/config.js.map +1 -1
- package/build/dex/algebra/types.d.ts +1 -0
- package/build/router/buy.d.ts +1 -1
- package/build/router/buy.js +3 -3
- package/build/router/buy.js.map +1 -1
- package/build/router/directswap.d.ts +1 -1
- package/build/router/directswap.js +3 -3
- package/build/router/directswap.js.map +1 -1
- package/build/router/irouter.d.ts +1 -1
- package/build/router/megaswap.d.ts +1 -1
- package/build/router/megaswap.js +3 -3
- package/build/router/megaswap.js.map +1 -1
- package/build/router/multiswap.d.ts +1 -1
- package/build/router/multiswap.js +3 -3
- package/build/router/multiswap.js.map +1 -1
- package/build/router/payload-encoder.d.ts +3 -3
- package/build/router/payload-encoder.js +6 -6
- package/build/router/payload-encoder.js.map +1 -1
- package/build/router/simpleswap.d.ts +2 -2
- package/build/router/simpleswap.js +3 -3
- package/build/router/simpleswap.js.map +1 -1
- package/build/router/simpleswapnft.d.ts +1 -1
- package/build/router/simpleswapnft.js +3 -3
- package/build/router/simpleswapnft.js.map +1 -1
- package/build/transaction-builder.d.ts +2 -2
- package/build/transaction-builder.js +2 -2
- package/build/transaction-builder.js.map +1 -1
- package/package.json +1 -1
- package/src/dex/algebra/algebra.ts +13 -0
- package/src/dex/algebra/config.ts +1 -0
- package/src/dex/algebra/types.ts +1 -0
- package/src/router/buy.ts +7 -3
- package/src/router/directswap.ts +7 -3
- package/src/router/irouter.ts +1 -1
- package/src/router/megaswap.ts +7 -3
- package/src/router/multiswap.ts +7 -3
- package/src/router/payload-encoder.ts +7 -7
- package/src/router/simpleswap.ts +8 -4
- package/src/router/simpleswapnft.ts +7 -3
- package/src/transaction-builder.ts +3 -3
|
@@ -274,6 +274,10 @@ class Algebra extends simple_exchange_1.SimpleExchange {
|
|
|
274
274
|
const pool = await this.getPool(_srcAddress, _destAddress, blockNumber);
|
|
275
275
|
if (!pool)
|
|
276
276
|
return null;
|
|
277
|
+
if (this.config.forceRPC) {
|
|
278
|
+
const rpcPrice = await this.getPricingFromRpc(_srcToken, _destToken, amounts, side, pool);
|
|
279
|
+
return rpcPrice;
|
|
280
|
+
}
|
|
277
281
|
let state = pool.getState(blockNumber);
|
|
278
282
|
if (state === null) {
|
|
279
283
|
if (this.network === constants_1.Network.ZKEVM) {
|
|
@@ -499,6 +503,7 @@ class Algebra extends simple_exchange_1.SimpleExchange {
|
|
|
499
503
|
initHash: this.config.initHash,
|
|
500
504
|
subgraphURL: this.config.subgraphURL,
|
|
501
505
|
version: this.config.version,
|
|
506
|
+
forceRPC: this.config.forceRPC,
|
|
502
507
|
};
|
|
503
508
|
return newConfig;
|
|
504
509
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"algebra.js","sourceRoot":"","sources":["../../../src/dex/algebra/algebra.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"algebra.js","sourceRoot":"","sources":["../../../src/dex/algebra/algebra.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAqD;AAGrD,sDAA+C;AAC/C,oDAAuB;AAWvB,+CAAkE;AAClE,2EAA6D;AAC7D,uCAA+E;AAI/E,wDAG4B;AAC5B,qCAAmD;AAEnD,4CAA6C;AAC7C,6GAA+E;AAC/E,sGAAwE;AACxE,uGAA2E;AAC3E,sHAAwF;AACxF,+CAI6B;AAC7B,mDAAgD;AAChD,2DAA2D;AAC3D,2DAA2D;AAO3D,MAAM,sCAAsC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,UAAU;AAC7E,MAAM,2CAA2C,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,qBAAqB;AACzF,MAAM,yBAAyB,GAAG,CAAC,CAAC;AACpC,MAAM,qBAAqB,GAAG,KAAM,CAAC,CAAC,SAAS;AAC/C,MAAM,0BAA0B,GAAG,KAAM,CAAC;AAC1C,MAAM,4BAA4B,GAAG,KAAM,CAAC;AAC5C,MAAM,sBAAsB,GAAG,OAAS,CAAC;AAEzC,MAAM,yBAAyB,GAAG;IAChC,CAAC,mBAAO,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,qBAAqB;CAC5C,CAAC;AAIF,MAAa,OAAQ,SAAQ,gCAAc;IAuBzC,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB,EACrB,WAAW,iBAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EACnC,cAAc,IAAI,iBAAS,CAAC,kCAAkB,CAAC,EAAE,wBAAwB;IACzE,cAAc,IAAI,iBAAS,CAAC,gCAAgB,CAAC,EAC5C,SAAS,sBAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;QAEjD,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QARf,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;QACrB,aAAQ,GAAR,QAAQ,CAA0B;QACnC,gBAAW,GAAX,WAAW,CAAoC;QAC/C,gBAAW,GAAX,WAAW,CAAkC;QAC5C,WAAM,GAAN,MAAM,CAAiC;QA7B1C,6BAAwB,GAAY,KAAK,CAAC;QACzC,eAAU,GAA6C,EAAE,CAAC;QAE3D,iCAA4B,GAAG,KAAK,CAAC;QACrC,mBAAc,GAAG,IAAI,CAAC;QA4B7B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAC9D,+BAA8B,EAC9B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC7B,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CACpE,wCAAqC,EACrC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAClC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;QAErD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAEnD,IAAI,CAAC,qBAAqB;YACxB,GAAG,wBAAY,IAAI,OAAO,IAAI,MAAM,yBAAyB,CAAC,WAAW,EAAE,CAAC;QAE9E,IAAI,CAAC,iBAAiB;YACpB,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,wCAAoB,CAAC,CAAC,CAAC,wCAAoB,CAAC;IAC5E,CAAC;IAED,WAAW,CAAC,IAAc;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IAED,iBAAiB,CAAC,UAAmB,EAAE,WAAoB;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3E,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE;YAClC,MAAM,gCAAgC,GAAG,KAAK,IAAI,EAAE;gBAClD,MAAM,YAAY,GAChB,IAAI,CAAC,GAAG,EAAE,GAAG,sCAAsC,CAAC;gBACtD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CACzC,IAAI,CAAC,qBAAqB,EAC1B,CAAC,EACD,YAAY,CACb,CAAC;YACJ,CAAC,CAAC;YAEF,IAAI,CAAC,YAAY,GAAG,WAAW,CAC7B,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,EAC3C,2CAA2C,CAC5C,CAAC;SACH;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CACX,UAAmB,EACnB,WAAoB,EACpB,WAAmB;QAEnB,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CACxB,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CACR,CAAC;QAE1C,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE/B,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAI,IAAI,CAAC,OAAO,KAAK,mBAAO,CAAC,KAAK;oBAAE,OAAO,IAAI,CAAC;gBAEhD,IACE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,IAAI;oBACnC,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE;wBACtC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EACzC;oBACA;;uBAEG;oBACH,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;iBACpC;gBAED,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,2FAA2F;gBAC3F,IACE,EAAE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB;oBAC7D,CAAC,EACD;oBACA,OAAO,IAAI,CAAC;iBACb;gBACD,yCAAyC;aAC1C;SACF;QAED,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEnE,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;QAEhD,6DAA6D;QAC7D,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAC5D,IAAI,CAAC,qBAAqB,EAC1B,GAAG,CACJ,CAAC;YAEF,MAAM,gBAAgB,GAAG,oBAAoB,KAAK,IAAI,CAAC;YAEvD,IAAI,gBAAgB,EAAE;gBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC;gBACxE,OAAO,IAAI,CAAC;aACb;YAED,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAC7B,IAAI,CAAC,SAAS,EACd,GAAG,EACH,IAAI,CAAC,SAAS,CAAC;gBACb,MAAM;gBACN,MAAM;aACP,CAAC,CACH,CAAC;SACH;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;QAC5D,IAAI;YACF,IAAI;gBACJ,IAAI,IAAI,CAAC,iBAAiB,CACxB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,MAAM,EACN,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CACrB,CAAC;QAEJ,IAAI;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;gBACjC,YAAY,EAAE,KAAK,CAAC,EAAE;oBACpB,iGAAiG;oBACjG,IAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC1C,IAAK,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC/B,IAAK,CAAC,UAAU,GAAG,KAAK,CAAC;oBACzB,IAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;gBAClC,CAAC;aACF,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;gBACnE,8EAA8E;gBAC9E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CACvB,IAAI,CAAC,qBAAqB,EAC1B,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EACjB,IAAI,CACL,CAAC;gBAEF,8DAA8D;gBAC9D,yCAAyC;gBACzC,IAAI,GAAG,IAAI,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,SAAS,sBAAsB,UAAU,iBAAiB,WAAW,YAAY,EACzF,CAAC,CACF,CAAC;aACH;iBAAM;gBACL,iFAAiF;gBACjF,gEAAgE;gBAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,gDAAgD,UAAU,iBAAiB,WAAW,wCAAwC,IAAI,CAAC,MAAM,CAAC,kBAAkB,iCAAiC,IAAI,CAAC,qBAAqB,EAAE,EACvO,CAAC,CACF,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;SACF;QAED,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4CAA4C,GAAG,uBAAuB,aAAa;gBACjF,iGAAiG;iBAChG,MAAM,CACL,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAC5C,CAAC,CACF,sBAAsB,aAAa,CAAC,MAAM,cAAc,CAC5D,CAAC;SACH;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,WAAmB;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,IAAI,CAAC,SAAS,IAAI,OAAO,EAAE,CAClE,CAAC;YACF,OAAO,KAAK,CAAC;SACd;QAED,MAAM,QAAQ,GAAkB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,MAAM,EACf,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAe,EACf,SAAgB,EAChB,IAAc,EACd,WAAmB;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE5D,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAC3D,SAAS,EACT,UAAU,CACX,CAAC;QAEF,IAAI,WAAW,KAAK,YAAY;YAAE,OAAO,EAAE,CAAC;QAE5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAW,EACX,EAAS,EACT,OAAiB,EACjB,IAAc,EACd,IAAuB;QAEvB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,uBAAuB,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,UAAU,CAC7F,CAAC;QAEF,MAAM,UAAU,GAAG,IAAA,oBAAY,EAC7B,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9C,CAAC;QAEF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE5D,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CACnD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAC/B,CACF,CAAC;QAEF,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,QAAQ,EAAE,sBAAsB;YAChC,QAAQ,EACN,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBACpB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,uBAAuB,EAAE;oBAC3D,IAAI,CAAC,OAAO;oBACZ,EAAE,CAAC,OAAO;oBACV,OAAO,CAAC,QAAQ,EAAE;oBAClB,CAAC,EAAE,mBAAmB;iBACvB,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,wBAAwB,EAAE;oBAC5D,IAAI,CAAC,OAAO;oBACZ,EAAE,CAAC,OAAO;oBACV,OAAO,CAAC,QAAQ,EAAE;oBAClB,CAAC,EAAE,mBAAmB;iBACvB,CAAC;SACT,CAAC,CAAC,CAAC;QAEJ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAExE,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAS,EAAU,EAAE;YACnC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAE5D,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,EAAE,CAAC;aACX;YACD,MAAM,OAAO,GAAG,qBAAe,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;YAChE,YAAY,IAAI,CAAC,OAAO,CAAC;YACzB,qBAAqB,EAAE,CAAC;YAExB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,qBAAqB;YAC3C,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,qBAAqB,CAAC,CAAC;QAErD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;QAE/B,MAAM,MAAM,GAAG,IAAA,mBAAW,EACxB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EACf,OAAO,EACP,IAAI,CACL,CAAC;QAEF,OAAO;YACL;gBACE,MAAM;gBACN,IAAI;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ;4BACE,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,QAAQ,EAAE,EAAE,CAAC,OAAO;yBACrB;qBACF;iBACF;gBACD,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;gBAChE,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBACzD,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;aAClC;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,QAAe,EACf,SAAgB,EAChB,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,UAAqB;QAErB,IAAI;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE5D,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAC3D,SAAS,EACT,UAAU,CACX,CAAC;YAEF,IAAI,WAAW,KAAK,YAAY;gBAAE,OAAO,IAAI,CAAC;YAE9C,IACE,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAExE,OAAO,IAAI,CAAC;YAEd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;YAExE,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEvB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC3C,SAAS,EACT,UAAU,EACV,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;gBAEF,OAAO,QAAQ,CAAC;aACjB;YAED,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEvC,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,IAAI,IAAI,CAAC,OAAO,KAAK,mBAAO,CAAC,KAAK,EAAE;oBAClC,IAAI,IAAI,CAAC,UAAU;wBAAE,OAAO,IAAI,CAAC;oBAEjC,IACE,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE;wBACxC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EACvC;wBACA,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,WAAW,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,IACzC,IAAI,CAAC,WACP,qEAAqE,WAAW,sBAAsB,IAAI,CAAC,mBAAmB,EAAE,EAAE,CACnI,CAAC;wBACF,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;qBAC9B;yBAAM;wBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,WAAW,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,uEAAuE,CACvI,CAAC;wBACF,OAAO,IAAI,CAAC,CAAC,oCAAoC;qBAClD;iBACF;qBAAM;oBACL,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC3C,SAAS,EACT,UAAU,EACV,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;oBAEF,OAAO,QAAQ,CAAC;iBACjB;aACF;YAED,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YAExB,MAAM,UAAU,GAAG,IAAA,oBAAY,EAC7B,IAAI,IAAI,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CACjE,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAE7D,MAAM,UAAU,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAEzD,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE;gBACzB,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE;oBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,iCAAiC,KAAK,CAAC,SAAS,oBAAoB,IAAI,CAAC,MAAM,EAAE,CACrI,CAAC;iBACH;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC3C,OAAO,IAAI,CAAC;aACb;YAED,MAAM,gBAAgB,GACpB,YAAY,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YAEjE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CACjC,KAAK,EACL,CAAC,UAAU,CAAC,EACZ,UAAU,EACV,IAAI,EACJ,gBAAgB,CACjB,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CACnC,KAAK,EACL,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,gBAAgB,CACjB,CAAC;YAEF,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC;aACb;YAED,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG;gBACd,CAAC;gBACD,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;oBACvC,IAAI,CAAC,IAAI,EAAE,EAAE;wBACX,OAAO,CAAC,CAAC;qBACV;yBAAM;wBACL,OAAO,CACL,4BAA4B;4BAC5B,0BAA0B;4BAC1B,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,qBAAqB,CACvD,CAAC;qBACH;gBACH,CAAC,CAAC;aACH,CAAC;YAEF,OAAO;gBACL;oBACE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC3B,MAAM;oBACN,IAAI,EAAE;wBACJ,IAAI,EAAE;4BACJ;gCACE,OAAO,EAAE,WAAW;gCACpB,QAAQ,EAAE,YAAY;6BACvB;yBACF;qBACF;oBACD,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;oBAChE,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,OAAO,EAAE,OAAO;oBAChB,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;iBAClC;aACF,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yBAAyB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,KAC1D,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,OAChC,KAAK,IAAI,GAAG,EACZ,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAiB,EACjB,IAAc;QAEd,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3C;YACE,YAAY,EAAE;gBACZ,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,SAAS;aACpB;SACF,EACD;YACE,IAAI;YACJ,QAAQ,EAAE,IAAA,uDAAqC,GAAE,EAAE,+DAA+D;SACnH,CACF,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAClC,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,UAAmC;QACpD,MAAM,OAAO,GACX,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,YAAY;YAC9B,sBAAsB;YACtB,iBAAiB,CAAC,YAAY;YAC9B,8BAA8B;YAC9B,iBAAiB,CAAC,YAAY;YAC9B,2BAA2B;YAC3B,iBAAiB,CAAC,SAAS;YAC3B,oDAAoD;YACpD,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,SAAS;YAC3B,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,EAAE,EAAE;gBACX,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAChB;iBAAM;gBACL,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAiB,EACjB,IAAc;QAEd,MAAM,YAAY,GAChB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC,0BAAkB,CAAC,UAAU;YAC/B,CAAC,CAAC,0BAAkB,CAAC,WAAW,CAAC;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,kBAAkB,GACtB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC;gBACE,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,QAAQ,EAAE,IAAA,uDAAqC,GAAE;gBACjD,QAAQ,EAAE,SAAS;gBACnB,gBAAgB,EAAE,UAAU;gBAC5B,IAAI;aACL;YACH,CAAC,CAAC;gBACE,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,QAAQ,EAAE,IAAA,uDAAqC,GAAE;gBACjD,SAAS,EAAE,UAAU;gBACrB,eAAe,EAAE,SAAS;gBAC1B,IAAI;aACL,CAAC;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACjE,kBAAkB;SACnB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,KAAa;QAEb,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAEjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CACnC;;;;;;;;;;;;;;;;;;;;;;;;;cAyBQ,EACR;YACE,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE,KAAK;SACb,CACF,CAAC;QAEF,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,SAAS,IAAI,CAAC,MAAM,uDAAuD,CAC5E,CAAC;YACF,OAAO,EAAE,CAAC;SACX;QAED,MAAM,MAAM,GAAG,gBAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;YAC9B,eAAe,EAAE;gBACf;oBACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE;oBACrC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACzC;aACF;YACD,YAAY,EACV,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,yBAAyB;SACnE,CAAC,CAAC,CAAC;QAEJ,MAAM,MAAM,GAAG,gBAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;YAC9B,eAAe,EAAE;gBACf;oBACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE;oBACrC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACzC;aACF;YACD,YAAY,EACV,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,yBAAyB;SACnE,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAAG,gBAAC,CAAC,KAAK,CACnB,gBAAC,CAAC,MAAM,CAAC,gBAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,EACpE,CAAC,EACD,KAAK,CACN,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,oBAAoB,CAAC,QAAe,EAAE,SAAgB;QAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,WAAW,CAAC,UAAmB,EAAE,WAAoB;QAC3D,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,6BAA6B;QACnC,wEAAwE;QACxE,MAAM,SAAS,GAAc;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;YACxC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;YACxC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;YAC1C,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE;YACtE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAClD,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAC9C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;YAC7C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SAC/B,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,WAAW,CACjB,KAAsC,EACtC,OAAiB,EACjB,UAAmB,EACnB,IAAc,EACd,gBAAwB;QAExB,IAAI;YACF,MAAM,aAAa,GAAG,yBAAW,CAAC,YAAY,CAC5C,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,CACL,CAAC;YAEF,IAAI,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE;gBAC1B,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE;oBAC/C,OAAO,IAAI,CAAC;iBACb;gBAED,WAAW;gBACX,IAAI,iBAAiB,GAAG,EAAE,CAAC;gBAC3B,IAAI,4BAA4B,GAAG,CAAC,CAAC;gBAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrD,oIAAoI;oBACpI,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE;wBACjC,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC7C,4BAA4B,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;qBAC5D;yBAAM;wBACL,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;wBAC7C,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC;qBAC5D;oBAED,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE;wBAC/C,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC9B,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;qBACjC;iBACF;aACF;iBAAM;gBACL,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE;oBACjC,OAAO,IAAI,CAAC;iBACb;gBAED,wEAAwE;gBACxE,2EAA2E;gBAC3E,gBAAgB;gBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACvC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE;wBACjC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC9B,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;qBACjC;iBACF;aACF;YAED,OAAO,aAAa,CAAC;SACtB;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,2DAA2D,EACzE,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,KAAa,EACb,SAAiB,EACjB,OAAO,GAAG,KAAK;QAEf,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAC/C,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,EAAE,KAAK,EAAE,SAAS,EAAE,EACpB,SAAS,EACT,EAAE,OAAO,EAAE,OAAO,EAAE,CACrB,CAAC;YACF,OAAO,GAAG,CAAC,IAAI,CAAC;SACjB;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,4BAA4B,EAAE,CAAC,CAAC,CAAC;YACjE,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAEO,WAAW,CACjB,IAGG,EACH,IAAc;QAEd,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAClC,CACE,EAAE,KAAK,EAAE,KAAK,EAAwC,EACtD,IAAI,EACJ,KAAK,EACiC,EAAE;YACxC,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,OAAO;oBACL,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;oBAC7B,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC;iBACrC,CAAC;aACH;iBAAM;gBACL,OAAO;oBACL,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;oBAC5B,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;iBACjC,CAAC;aACH;QACH,CAAC,EACD,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzB,CAAC;QAEF,OAAO,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAC1B,CAAC,CAAC,IAAA,eAAI,EAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YACxC,CAAC,CAAC,IAAA,eAAI,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YACnC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;SAC/B;IACH,CAAC;;AA11BH,0BA21BC;AAl1Be,0BAAkB,GAC9B,IAAA,6BAAqB,EAAC,sBAAa,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/algebra/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,aAAa,GAA4B;IACpD,WAAW,EAAE;QACX,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;YACtB,qBAAqB,EAAE,4CAA4C;YACnE,WAAW,EACT,+DAA+D;YACjE,gBAAgB,EAAE,4CAA4C;YAC9D,QAAQ,EAAE,4CAA4C;YACtD,OAAO,EAAE,MAAM;SAChB;QACD,CAAC,mBAAO,CAAC,KAAK,CAAC,EAAE;YACf,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,CAAC;YACd,kBAAkB,EAAE,EAAE;YACtB,qBAAqB,EAAE,4CAA4C;YACnE,WAAW,EACT,mEAAmE;YACrE,gBAAgB,EAAE,4CAA4C;YAC9D,QAAQ,EAAE,4CAA4C;YACtD,OAAO,EAAE,MAAM;SAChB;KACF;IACD,WAAW,EAAE;QACX,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;YACtB,qBAAqB,EAAE,4CAA4C;YACnE,WAAW,EACT,kEAAkE;YACpE,gBAAgB,EAAE,4CAA4C;YAC9D,QAAQ,EAAE,4CAA4C;YACtD,OAAO,EAAE,MAAM;SAChB;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;YACtB,qBAAqB,EAAE,4CAA4C;YACnE,WAAW,EACT,8EAA8E;YAChF,gBAAgB,EAAE,4CAA4C;YAC9D,QAAQ,EAAE,4CAA4C;YACtD,OAAO,EAAE,MAAM;SAChB;KACF;IACD,SAAS,EAAE;QACT,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,4CAA4C;YACpD,MAAM,EAAE,4CAA4C;YACpD,QAAQ,EACN,oEAAoE;YACtE,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;YACtB,qBAAqB,EAAE,4CAA4C;YACnE,WAAW,EACT,oEAAoE;YACtE,gBAAgB,EAAE,4CAA4C;YAC9D,QAAQ,EAAE,4CAA4C;YACtD,OAAO,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/algebra/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,7 @@ export declare type DexParams = {
|
|
|
65
65
|
subgraphURL: string;
|
|
66
66
|
initHash: string;
|
|
67
67
|
version: 'v1.1' | 'v1.9';
|
|
68
|
+
forceRPC?: boolean;
|
|
68
69
|
};
|
|
69
70
|
export declare type IAlgebraPoolState = PoolStateV1_1 | PoolState_v1_9;
|
|
70
71
|
export declare type TickBitMapMappingsWithBigNumber = {
|
package/build/router/buy.d.ts
CHANGED
|
@@ -10,6 +10,6 @@ export declare class Buy extends PayloadEncoder implements IRouter<BuyParam> {
|
|
|
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,
|
|
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<BuyParam>;
|
|
14
14
|
}
|
|
15
15
|
export {};
|
package/build/router/buy.js
CHANGED
|
@@ -18,7 +18,7 @@ class Buy extends payload_encoder_1.PayloadEncoder {
|
|
|
18
18
|
getContractMethodName() {
|
|
19
19
|
return this.contractMethodName;
|
|
20
20
|
}
|
|
21
|
-
build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent,
|
|
21
|
+
build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, beneficiary, permit, deadline, uuid) {
|
|
22
22
|
if (priceRoute.bestRoute.length !== 1 ||
|
|
23
23
|
priceRoute.bestRoute[0].percent !== 100 ||
|
|
24
24
|
priceRoute.bestRoute[0].swaps.length !== 1)
|
|
@@ -31,9 +31,9 @@ class Buy extends payload_encoder_1.PayloadEncoder {
|
|
|
31
31
|
(0, payload_encoder_1.encodePartnerAddressForFeeLogic)({
|
|
32
32
|
partnerAddress,
|
|
33
33
|
partnerFeePercent,
|
|
34
|
-
|
|
34
|
+
positiveSlippageToUser,
|
|
35
35
|
}),
|
|
36
|
-
(0, payload_encoder_1.encodeFeePercent)(partnerFeePercent,
|
|
36
|
+
(0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, constants_1.SwapSide.BUY),
|
|
37
37
|
];
|
|
38
38
|
const buyData = {
|
|
39
39
|
adapter,
|
package/build/router/buy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buy.js","sourceRoot":"","sources":["../../src/router/buy.ts"],"names":[],"mappings":";;;;;;AACA,uDAK2B;AAQ3B,2EAAiD;AACjD,4CAA+C;AAE/C,oCAAyC;AACzC,4CAAwC;AAIxC,MAAa,GAAI,SAAQ,gCAAc;IAKrC,YAAY,iBAAoC;QAC9C,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,eAAS,CAAC,wBAAY,CAAC,CAAC;QACrD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,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,
|
|
1
|
+
{"version":3,"file":"buy.js","sourceRoot":"","sources":["../../src/router/buy.ts"],"names":[],"mappings":";;;;;;AACA,uDAK2B;AAQ3B,2EAAiD;AACjD,4CAA+C;AAE/C,oCAAyC;AACzC,4CAAwC;AAIxC,MAAa,GAAI,SAAQ,gCAAc;IAKrC,YAAY,iBAAoC;QAC9C,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,eAAS,CAAC,wBAAY,CAAC,CAAC;QACrD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,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;YACvC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAE1C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAClE,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,YAAY,EACZ,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,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,GAAoB;YAC/B,OAAO;YACP,SAAS,EAAE,UAAU,CAAC,QAAQ;YAC9B,OAAO,EAAE,UAAU,CAAC,SAAS;YAC7B,UAAU,EAAE,YAAY;YACxB,QAAQ,EAAE,UAAU,CAAC,UAAU;YAC/B,cAAc,EAAE,UAAU,CAAC,SAAS;YACpC,WAAW;YACX,KAAK;YACL,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,KAAK,EAAE,MAAM,CAAC,CAAC;QAE3D,OAAO;YACL,OAAO;YACP,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;SAClC,CAAC;IACJ,CAAC;;AAjFH,kBAkFC;AAjFQ,SAAK,GAAG,IAAI,CAAC"}
|
|
@@ -6,5 +6,5 @@ export declare class DirectSwap<DexDirectReturn> implements IRouter<DexDirectRet
|
|
|
6
6
|
contractMethodName: string;
|
|
7
7
|
constructor(dexAdapterService: DexAdapterService);
|
|
8
8
|
getContractMethodName(): string;
|
|
9
|
-
build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string,
|
|
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): TxInfo<DexDirectReturn>;
|
|
10
10
|
}
|
|
@@ -14,7 +14,7 @@ class DirectSwap {
|
|
|
14
14
|
getContractMethodName() {
|
|
15
15
|
return this.contractMethodName;
|
|
16
16
|
}
|
|
17
|
-
build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent,
|
|
17
|
+
build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, beneficiary, permit, deadline, uuid) {
|
|
18
18
|
// TODO: add checks for src and dest amounts
|
|
19
19
|
if (priceRoute.bestRoute.length !== 1 ||
|
|
20
20
|
priceRoute.bestRoute[0].percent !== 100 ||
|
|
@@ -44,9 +44,9 @@ class DirectSwap {
|
|
|
44
44
|
(0, payload_encoder_1.encodePartnerAddressForFeeLogic)({
|
|
45
45
|
partnerAddress,
|
|
46
46
|
partnerFeePercent,
|
|
47
|
-
|
|
47
|
+
positiveSlippageToUser,
|
|
48
48
|
}),
|
|
49
|
-
(0, payload_encoder_1.encodeFeePercent)(partnerFeePercent,
|
|
49
|
+
(0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, priceRoute.side),
|
|
50
50
|
];
|
|
51
51
|
return dex.getDirectParam(priceRoute.srcToken, priceRoute.destToken, srcAmount, destAmount, expectedAmount, swapExchange.data, priceRoute.side, permit, uuid, feePercent, deadline, partner, beneficiary, priceRoute.contractMethod);
|
|
52
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directswap.js","sourceRoot":"","sources":["../../src/router/directswap.ts"],"names":[],"mappings":";;;AAGA,4CAAwC;AAGxC,uDAI2B;AAE3B,MAAa,UAAU;IAMrB,YAAoB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;QALxD,6CAA6C;QAC7C,0CAA0C;QAC1C,oBAAoB;QACpB,uBAAkB,GAAW,YAAY,CAAC;IAEiB,CAAC;IAE5D,qBAAqB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,KAAK,CACH,UAAuB,EACvB,YAAoB,EACpB,WAAoB,EACpB,eAAoC,EACpC,cAAuB,EACvB,iBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"directswap.js","sourceRoot":"","sources":["../../src/router/directswap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OptimalRate, Address, TxInfo } from '../types';
|
|
2
2
|
import { AsyncOrSync } from 'ts-essentials';
|
|
3
3
|
export interface IRouter<RouterParam> {
|
|
4
|
-
build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partner: Address, partnerFeePercent: string,
|
|
4
|
+
build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partner: Address, partnerFeePercent: string, positiveSlippageToUser: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): AsyncOrSync<TxInfo<RouterParam>>;
|
|
5
5
|
getContractMethodName(): string;
|
|
6
6
|
}
|
|
@@ -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,
|
|
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>;
|
|
14
14
|
}
|
|
15
15
|
export {};
|
package/build/router/megaswap.js
CHANGED
|
@@ -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,
|
|
21
|
+
build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, 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
|
-
|
|
29
|
+
positiveSlippageToUser,
|
|
30
30
|
}),
|
|
31
|
-
(0, payload_encoder_1.encodeFeePercent)(partnerFeePercent,
|
|
31
|
+
(0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, 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,
|
|
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"}
|
|
@@ -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,
|
|
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>;
|
|
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,
|
|
21
|
+
build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, 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
|
-
|
|
32
|
+
positiveSlippageToUser,
|
|
33
33
|
}),
|
|
34
|
-
(0, payload_encoder_1.encodeFeePercent)(partnerFeePercent,
|
|
34
|
+
(0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, 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,
|
|
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,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,
|
|
4
|
+
export declare function encodePartnerAddressForFeeLogic({ partnerAddress, partnerFeePercent, positiveSlippageToUser, }: {
|
|
5
5
|
partnerAddress: string;
|
|
6
6
|
partnerFeePercent: string;
|
|
7
|
-
|
|
7
|
+
positiveSlippageToUser: boolean;
|
|
8
8
|
}): string;
|
|
9
|
-
export declare function encodeFeePercent(partnerFeePercent: string,
|
|
9
|
+
export declare function encodeFeePercent(partnerFeePercent: string, positiveSlippageToUser: 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,
|
|
16
|
-
const isPartnerTakeNoFeeNoPos = +partnerFeePercent === 0 &&
|
|
15
|
+
function encodePartnerAddressForFeeLogic({ partnerAddress, partnerFeePercent, positiveSlippageToUser, }) {
|
|
16
|
+
const isPartnerTakeNoFeeNoPos = +partnerFeePercent === 0 && positiveSlippageToUser == true;
|
|
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, ta
|
|
|
23
23
|
return partner;
|
|
24
24
|
}
|
|
25
25
|
exports.encodePartnerAddressForFeeLogic = encodePartnerAddressForFeeLogic;
|
|
26
|
-
function encodeFeePercent(partnerFeePercent,
|
|
27
|
-
const isNoFeeAndPositiveSlippageToPartner =
|
|
26
|
+
function encodeFeePercent(partnerFeePercent, positiveSlippageToUser, side) {
|
|
27
|
+
const isNoFeeAndPositiveSlippageToPartner = positiveSlippageToUser === false && BigInt(partnerFeePercent) === 0n;
|
|
28
28
|
let fee = isNoFeeAndPositiveSlippageToPartner
|
|
29
29
|
? BigInt(HALF_SPLIT)
|
|
30
30
|
: BigInt(partnerFeePercent);
|
|
@@ -36,9 +36,9 @@ function encodeFeePercent(partnerFeePercent, takeSurplus, side) {
|
|
|
36
36
|
fee |= OneShift16;
|
|
37
37
|
fee |= OneShift17;
|
|
38
38
|
}
|
|
39
|
-
// Set 14th bit if
|
|
39
|
+
// Set 14th bit if positiveSlippageToUser is true
|
|
40
40
|
// Upd: not used onchain anymore but better to keep to prevent collisions and ensure continuity of analytics
|
|
41
|
-
if (
|
|
41
|
+
if (positiveSlippageToUser)
|
|
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,
|
|
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"}
|
|
@@ -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,
|
|
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>>;
|
|
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,
|
|
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>>;
|
|
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,
|
|
145
|
+
async build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, 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
|
-
|
|
155
|
+
positiveSlippageToUser,
|
|
156
156
|
}),
|
|
157
|
-
(0, payload_encoder_1.encodeFeePercent)(partnerFeePercent,
|
|
157
|
+
(0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, 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,
|
|
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,
|
|
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>>;
|
|
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,
|
|
34
|
+
async build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, 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
|
-
|
|
65
|
+
positiveSlippageToUser,
|
|
66
66
|
}),
|
|
67
|
-
(0, payload_encoder_1.encodeFeePercent)(partnerFeePercent,
|
|
67
|
+
(0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, 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,
|
|
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"}
|
|
@@ -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,
|
|
8
|
+
build({ priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, 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
|
-
|
|
15
|
+
positiveSlippageToUser?: 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,
|
|
11
|
+
async build({ priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, 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,
|
|
15
|
+
.build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser ?? true, _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,
|
|
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"}
|
package/package.json
CHANGED
|
@@ -446,6 +446,18 @@ export class Algebra extends SimpleExchange implements IDex<AlgebraData> {
|
|
|
446
446
|
|
|
447
447
|
if (!pool) return null;
|
|
448
448
|
|
|
449
|
+
if (this.config.forceRPC) {
|
|
450
|
+
const rpcPrice = await this.getPricingFromRpc(
|
|
451
|
+
_srcToken,
|
|
452
|
+
_destToken,
|
|
453
|
+
amounts,
|
|
454
|
+
side,
|
|
455
|
+
pool,
|
|
456
|
+
);
|
|
457
|
+
|
|
458
|
+
return rpcPrice;
|
|
459
|
+
}
|
|
460
|
+
|
|
449
461
|
let state = pool.getState(blockNumber);
|
|
450
462
|
|
|
451
463
|
if (state === null) {
|
|
@@ -773,6 +785,7 @@ export class Algebra extends SimpleExchange implements IDex<AlgebraData> {
|
|
|
773
785
|
initHash: this.config.initHash,
|
|
774
786
|
subgraphURL: this.config.subgraphURL,
|
|
775
787
|
version: this.config.version,
|
|
788
|
+
forceRPC: this.config.forceRPC,
|
|
776
789
|
};
|
|
777
790
|
return newConfig;
|
|
778
791
|
}
|
package/src/dex/algebra/types.ts
CHANGED
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
|
-
|
|
45
|
+
positiveSlippageToUser: boolean,
|
|
46
46
|
beneficiary: Address,
|
|
47
47
|
permit: string,
|
|
48
48
|
deadline: string,
|
|
@@ -69,9 +69,13 @@ export class Buy extends PayloadEncoder implements IRouter<BuyParam> {
|
|
|
69
69
|
encodePartnerAddressForFeeLogic({
|
|
70
70
|
partnerAddress,
|
|
71
71
|
partnerFeePercent,
|
|
72
|
-
|
|
72
|
+
positiveSlippageToUser,
|
|
73
73
|
}),
|
|
74
|
-
encodeFeePercent(
|
|
74
|
+
encodeFeePercent(
|
|
75
|
+
partnerFeePercent,
|
|
76
|
+
positiveSlippageToUser,
|
|
77
|
+
SwapSide.BUY,
|
|
78
|
+
),
|
|
75
79
|
];
|
|
76
80
|
|
|
77
81
|
const buyData: ContractBuyData = {
|
package/src/router/directswap.ts
CHANGED
|
@@ -29,7 +29,7 @@ export class DirectSwap<DexDirectReturn> implements IRouter<DexDirectReturn> {
|
|
|
29
29
|
referrerAddress: Address | undefined,
|
|
30
30
|
partnerAddress: Address,
|
|
31
31
|
partnerFeePercent: string,
|
|
32
|
-
|
|
32
|
+
positiveSlippageToUser: boolean,
|
|
33
33
|
beneficiary: Address,
|
|
34
34
|
permit: string,
|
|
35
35
|
deadline: string,
|
|
@@ -76,9 +76,13 @@ export class DirectSwap<DexDirectReturn> implements IRouter<DexDirectReturn> {
|
|
|
76
76
|
encodePartnerAddressForFeeLogic({
|
|
77
77
|
partnerAddress,
|
|
78
78
|
partnerFeePercent,
|
|
79
|
-
|
|
79
|
+
positiveSlippageToUser,
|
|
80
80
|
}),
|
|
81
|
-
encodeFeePercent(
|
|
81
|
+
encodeFeePercent(
|
|
82
|
+
partnerFeePercent,
|
|
83
|
+
positiveSlippageToUser,
|
|
84
|
+
priceRoute.side,
|
|
85
|
+
),
|
|
82
86
|
];
|
|
83
87
|
|
|
84
88
|
return dex.getDirectParam!(
|
package/src/router/irouter.ts
CHANGED
package/src/router/megaswap.ts
CHANGED
|
@@ -42,7 +42,7 @@ export class MegaSwap extends PayloadEncoder implements IRouter<MegaSwapParam> {
|
|
|
42
42
|
referrerAddress: Address | undefined,
|
|
43
43
|
partnerAddress: Address,
|
|
44
44
|
partnerFeePercent: string,
|
|
45
|
-
|
|
45
|
+
positiveSlippageToUser: boolean,
|
|
46
46
|
beneficiary: Address,
|
|
47
47
|
permit: string,
|
|
48
48
|
deadline: string,
|
|
@@ -58,9 +58,13 @@ export class MegaSwap extends PayloadEncoder implements IRouter<MegaSwapParam> {
|
|
|
58
58
|
encodePartnerAddressForFeeLogic({
|
|
59
59
|
partnerAddress,
|
|
60
60
|
partnerFeePercent,
|
|
61
|
-
|
|
61
|
+
positiveSlippageToUser,
|
|
62
62
|
}),
|
|
63
|
-
encodeFeePercent(
|
|
63
|
+
encodeFeePercent(
|
|
64
|
+
partnerFeePercent,
|
|
65
|
+
positiveSlippageToUser,
|
|
66
|
+
SwapSide.SELL,
|
|
67
|
+
),
|
|
64
68
|
];
|
|
65
69
|
|
|
66
70
|
const sellData: ContractMegaSwapSellData = {
|
package/src/router/multiswap.ts
CHANGED
|
@@ -45,7 +45,7 @@ export class MultiSwap
|
|
|
45
45
|
referrerAddress: Address | undefined,
|
|
46
46
|
partnerAddress: Address,
|
|
47
47
|
partnerFeePercent: string,
|
|
48
|
-
|
|
48
|
+
positiveSlippageToUser: boolean,
|
|
49
49
|
beneficiary: Address,
|
|
50
50
|
permit: string,
|
|
51
51
|
deadline: string,
|
|
@@ -66,9 +66,13 @@ export class MultiSwap
|
|
|
66
66
|
encodePartnerAddressForFeeLogic({
|
|
67
67
|
partnerAddress,
|
|
68
68
|
partnerFeePercent,
|
|
69
|
-
|
|
69
|
+
positiveSlippageToUser,
|
|
70
70
|
}),
|
|
71
|
-
encodeFeePercent(
|
|
71
|
+
encodeFeePercent(
|
|
72
|
+
partnerFeePercent,
|
|
73
|
+
positiveSlippageToUser,
|
|
74
|
+
SwapSide.SELL,
|
|
75
|
+
),
|
|
72
76
|
];
|
|
73
77
|
|
|
74
78
|
const sellData: ContractSellData = {
|
|
@@ -29,14 +29,14 @@ const HALF_SPLIT = '5000';
|
|
|
29
29
|
export function encodePartnerAddressForFeeLogic({
|
|
30
30
|
partnerAddress,
|
|
31
31
|
partnerFeePercent,
|
|
32
|
-
|
|
32
|
+
positiveSlippageToUser,
|
|
33
33
|
}: {
|
|
34
34
|
partnerAddress: string;
|
|
35
35
|
partnerFeePercent: string;
|
|
36
|
-
|
|
36
|
+
positiveSlippageToUser: boolean;
|
|
37
37
|
}): string {
|
|
38
38
|
const isPartnerTakeNoFeeNoPos =
|
|
39
|
-
+partnerFeePercent === 0 &&
|
|
39
|
+
+partnerFeePercent === 0 && positiveSlippageToUser == true;
|
|
40
40
|
|
|
41
41
|
// nullify partner address to fallback default circuit contract without partner/referrer (no harm as no fee taken at all)
|
|
42
42
|
const partner = isPartnerTakeNoFeeNoPos ? NULL_ADDRESS : partnerAddress;
|
|
@@ -51,11 +51,11 @@ export function encodePartnerAddressForFeeLogic({
|
|
|
51
51
|
|
|
52
52
|
export function encodeFeePercent(
|
|
53
53
|
partnerFeePercent: string,
|
|
54
|
-
|
|
54
|
+
positiveSlippageToUser: boolean,
|
|
55
55
|
side: SwapSide,
|
|
56
56
|
) {
|
|
57
57
|
const isNoFeeAndPositiveSlippageToPartner =
|
|
58
|
-
|
|
58
|
+
positiveSlippageToUser === false && BigInt(partnerFeePercent) === 0n;
|
|
59
59
|
|
|
60
60
|
let fee = isNoFeeAndPositiveSlippageToPartner
|
|
61
61
|
? BigInt(HALF_SPLIT)
|
|
@@ -70,9 +70,9 @@ export function encodeFeePercent(
|
|
|
70
70
|
fee |= OneShift17;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
// Set 14th bit if
|
|
73
|
+
// Set 14th bit if positiveSlippageToUser is true
|
|
74
74
|
// Upd: not used onchain anymore but better to keep to prevent collisions and ensure continuity of analytics
|
|
75
|
-
if (
|
|
75
|
+
if (positiveSlippageToUser) fee |= OneShift14;
|
|
76
76
|
|
|
77
77
|
// Set 15th bit to take fee from srcToken
|
|
78
78
|
if (side === SwapSide.BUY && !isNoFeeAndPositiveSlippageToPartner)
|
package/src/router/simpleswap.ts
CHANGED
|
@@ -223,7 +223,7 @@ export abstract class SimpleRouterBase<RouterParam>
|
|
|
223
223
|
referrerAddress: Address | undefined,
|
|
224
224
|
partnerAddress: Address,
|
|
225
225
|
partnerFeePercent: string,
|
|
226
|
-
|
|
226
|
+
positiveSlippageToUser: boolean,
|
|
227
227
|
beneficiary: Address,
|
|
228
228
|
permit: string,
|
|
229
229
|
deadline: string,
|
|
@@ -272,7 +272,7 @@ export abstract class SimpleRouter extends SimpleRouterBase<SimpleSwapParam> {
|
|
|
272
272
|
referrerAddress: Address | undefined,
|
|
273
273
|
partnerAddress: Address,
|
|
274
274
|
partnerFeePercent: string,
|
|
275
|
-
|
|
275
|
+
positiveSlippageToUser: boolean,
|
|
276
276
|
beneficiary: Address,
|
|
277
277
|
permit: string,
|
|
278
278
|
deadline: string,
|
|
@@ -292,9 +292,13 @@ export abstract class SimpleRouter extends SimpleRouterBase<SimpleSwapParam> {
|
|
|
292
292
|
encodePartnerAddressForFeeLogic({
|
|
293
293
|
partnerAddress,
|
|
294
294
|
partnerFeePercent,
|
|
295
|
-
|
|
295
|
+
positiveSlippageToUser,
|
|
296
296
|
}),
|
|
297
|
-
encodeFeePercent(
|
|
297
|
+
encodeFeePercent(
|
|
298
|
+
partnerFeePercent,
|
|
299
|
+
positiveSlippageToUser,
|
|
300
|
+
this.side,
|
|
301
|
+
),
|
|
298
302
|
];
|
|
299
303
|
|
|
300
304
|
const sellData: ConstractSimpleData = {
|
|
@@ -60,7 +60,7 @@ export class SimpleBuyNFT extends SimpleRouterBase<SimpleBuyNFTParam> {
|
|
|
60
60
|
referrerAddress: Address | undefined,
|
|
61
61
|
partnerAddress: Address,
|
|
62
62
|
partnerFeePercent: string,
|
|
63
|
-
|
|
63
|
+
positiveSlippageToUser: boolean,
|
|
64
64
|
beneficiary: Address,
|
|
65
65
|
permit: string,
|
|
66
66
|
deadline: string,
|
|
@@ -102,9 +102,13 @@ export class SimpleBuyNFT extends SimpleRouterBase<SimpleBuyNFTParam> {
|
|
|
102
102
|
encodePartnerAddressForFeeLogic({
|
|
103
103
|
partnerAddress,
|
|
104
104
|
partnerFeePercent,
|
|
105
|
-
|
|
105
|
+
positiveSlippageToUser,
|
|
106
106
|
}),
|
|
107
|
-
encodeFeePercent(
|
|
107
|
+
encodeFeePercent(
|
|
108
|
+
partnerFeePercent,
|
|
109
|
+
positiveSlippageToUser,
|
|
110
|
+
SwapSide.BUY,
|
|
111
|
+
),
|
|
108
112
|
];
|
|
109
113
|
|
|
110
114
|
const buyData: ContractSimpleBuyNFTData = {
|
|
@@ -17,7 +17,7 @@ export class TransactionBuilder {
|
|
|
17
17
|
referrerAddress,
|
|
18
18
|
partnerAddress,
|
|
19
19
|
partnerFeePercent,
|
|
20
|
-
|
|
20
|
+
positiveSlippageToUser,
|
|
21
21
|
gasPrice,
|
|
22
22
|
maxFeePerGas,
|
|
23
23
|
maxPriorityFeePerGas,
|
|
@@ -33,7 +33,7 @@ export class TransactionBuilder {
|
|
|
33
33
|
referrerAddress?: Address;
|
|
34
34
|
partnerAddress: Address;
|
|
35
35
|
partnerFeePercent: string;
|
|
36
|
-
|
|
36
|
+
positiveSlippageToUser?: boolean;
|
|
37
37
|
gasPrice?: string; // // @TODO: improve types? so that either gasPrice or ALL of max.*FeePerGas MUST be returned?
|
|
38
38
|
maxFeePerGas?: string;
|
|
39
39
|
maxPriorityFeePerGas?: string;
|
|
@@ -53,7 +53,7 @@ export class TransactionBuilder {
|
|
|
53
53
|
referrerAddress,
|
|
54
54
|
partnerAddress,
|
|
55
55
|
partnerFeePercent,
|
|
56
|
-
|
|
56
|
+
positiveSlippageToUser ?? true,
|
|
57
57
|
_beneficiary,
|
|
58
58
|
permit || '0x',
|
|
59
59
|
deadline,
|