@paraswap/dex-lib 2.22.2 → 2.22.3-fix-nopartnerfee-noslippage.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/router/buy.js +7 -1
- package/build/router/buy.js.map +1 -1
- package/build/router/directswap.js +7 -1
- package/build/router/directswap.js.map +1 -1
- package/build/router/megaswap.js +7 -1
- package/build/router/megaswap.js.map +1 -1
- package/build/router/multiswap.js +7 -1
- package/build/router/multiswap.js.map +1 -1
- package/build/router/payload-encoder.d.ts +6 -0
- package/build/router/payload-encoder.js +21 -1
- package/build/router/payload-encoder.js.map +1 -1
- package/build/router/simpleswap.js +7 -1
- package/build/router/simpleswap.js.map +1 -1
- package/build/router/simpleswapnft.js +7 -1
- package/build/router/simpleswapnft.js.map +1 -1
- package/package.json +1 -1
- package/src/router/buy.ts +10 -1
- package/src/router/directswap.ts +9 -1
- package/src/router/megaswap.ts +10 -1
- package/src/router/multiswap.ts +10 -1
- package/src/router/payload-encoder.ts +36 -1
- package/src/router/simpleswap.ts +9 -1
- package/src/router/simpleswapnft.ts +9 -1
- package/.idea/aws.xml +0 -17
- package/.idea/codeStyles/Project.xml +0 -19
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/paraswap-dex-lib.iml +0 -9
- package/.idea/vcs.xml +0 -6
- package/build/dex/aave-v3/tokens/arbitrum.json +0 -50
- package/build/dex/aave-v3/tokens/avalanche.json +0 -74
- package/build/dex/aave-v3/tokens/fantom.json +0 -62
- package/build/dex/aave-v3/tokens/optimism.json +0 -50
- package/build/dex/aave-v3/tokens/polygon.json +0 -116
- package/build/dex/pancakeswap-v3/types.d.ts +0 -14
- package/build/dex/pancakeswap-v3/types.js +0 -3
- package/build/dex/pancakeswap-v3/types.js.map +0 -1
- package/build/dex/quickswap/thena-fusion.d.ts +0 -6
- package/build/dex/quickswap/thena-fusion.js +0 -19
- package/build/dex/quickswap/thena-fusion.js.map +0 -1
package/build/router/buy.js
CHANGED
|
@@ -25,6 +25,12 @@ class Buy extends payload_encoder_1.PayloadEncoder {
|
|
|
25
25
|
throw new Error(`buy invalid bestRoute`);
|
|
26
26
|
const swap = priceRoute.bestRoute[0].swaps[0];
|
|
27
27
|
const { adapter, route, networkFee } = this.getAdapterAndRouteForBuy(swap.srcToken, swap.destToken, swap.swapExchanges, minMaxAmount, priceRoute.srcAmount);
|
|
28
|
+
const partner = (0, payload_encoder_1.encodePartnerAddressForFeeLogic)({
|
|
29
|
+
partnerAddress,
|
|
30
|
+
referrerAddress,
|
|
31
|
+
partnerFeePercent,
|
|
32
|
+
positiveSlippageToUser,
|
|
33
|
+
});
|
|
28
34
|
const buyData = {
|
|
29
35
|
adapter,
|
|
30
36
|
fromToken: priceRoute.srcToken,
|
|
@@ -34,7 +40,7 @@ class Buy extends payload_encoder_1.PayloadEncoder {
|
|
|
34
40
|
expectedAmount: priceRoute.srcAmount,
|
|
35
41
|
beneficiary,
|
|
36
42
|
route,
|
|
37
|
-
partner
|
|
43
|
+
partner,
|
|
38
44
|
feePercent: referrerAddress
|
|
39
45
|
? (0, payload_encoder_1.encodeFeePercentForReferrer)(constants_1.SwapSide.BUY)
|
|
40
46
|
: (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, constants_1.SwapSide.BUY),
|
package/build/router/buy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buy.js","sourceRoot":"","sources":["../../src/router/buy.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
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,OAAO,GAAG,IAAA,iDAA+B,EAAC;YAC9C,cAAc;YACd,eAAe;YACf,iBAAiB;YACjB,sBAAsB;SACvB,CAAC,CAAC;QAEH,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,EAAE,eAAe;gBACzB,CAAC,CAAC,IAAA,6CAA2B,EAAC,oBAAQ,CAAC,GAAG,CAAC;gBAC3C,CAAC,CAAC,IAAA,kCAAgB,EACd,iBAAiB,EACjB,sBAAsB,EACtB,oBAAQ,CAAC,GAAG,CACb;YACL,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;;AA/EH,kBAgFC;AA/EQ,SAAK,GAAG,IAAI,CAAC"}
|
|
@@ -38,9 +38,15 @@ class DirectSwap {
|
|
|
38
38
|
const expectedAmount = priceRoute.side === constants_1.SwapSide.SELL
|
|
39
39
|
? priceRoute.destAmount
|
|
40
40
|
: priceRoute.srcAmount;
|
|
41
|
+
const partner = (0, payload_encoder_1.encodePartnerAddressForFeeLogic)({
|
|
42
|
+
partnerAddress,
|
|
43
|
+
referrerAddress,
|
|
44
|
+
partnerFeePercent,
|
|
45
|
+
positiveSlippageToUser,
|
|
46
|
+
});
|
|
41
47
|
return dex.getDirectParam(priceRoute.srcToken, priceRoute.destToken, srcAmount, destAmount, expectedAmount, swapExchange.data, priceRoute.side, permit, uuid, referrerAddress
|
|
42
48
|
? (0, payload_encoder_1.encodeFeePercentForReferrer)(priceRoute.side)
|
|
43
|
-
: (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, priceRoute.side), deadline,
|
|
49
|
+
: (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, priceRoute.side), deadline, partner, beneficiary, priceRoute.contractMethod);
|
|
44
50
|
}
|
|
45
51
|
}
|
|
46
52
|
exports.DirectSwap = DirectSwap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directswap.js","sourceRoot":"","sources":["../../src/router/directswap.ts"],"names":[],"mappings":";;;AAGA,4CAAwC;AAGxC,
|
|
1
|
+
{"version":3,"file":"directswap.js","sourceRoot":"","sources":["../../src/router/directswap.ts"],"names":[],"mappings":"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"}
|
package/build/router/megaswap.js
CHANGED
|
@@ -20,6 +20,12 @@ class MegaSwap extends payload_encoder_1.PayloadEncoder {
|
|
|
20
20
|
}
|
|
21
21
|
build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, positiveSlippageToUser, beneficiary, permit, deadline, uuid) {
|
|
22
22
|
const { megaSwapPaths, networkFee } = this.getMegaSwapPathsWithNetworkFee(priceRoute.bestRoute);
|
|
23
|
+
const partner = (0, payload_encoder_1.encodePartnerAddressForFeeLogic)({
|
|
24
|
+
partnerAddress,
|
|
25
|
+
referrerAddress,
|
|
26
|
+
partnerFeePercent,
|
|
27
|
+
positiveSlippageToUser,
|
|
28
|
+
});
|
|
23
29
|
const sellData = {
|
|
24
30
|
fromToken: priceRoute.srcToken,
|
|
25
31
|
fromAmount: priceRoute.srcAmount,
|
|
@@ -27,7 +33,7 @@ class MegaSwap extends payload_encoder_1.PayloadEncoder {
|
|
|
27
33
|
expectedAmount: priceRoute.destAmount,
|
|
28
34
|
beneficiary,
|
|
29
35
|
path: megaSwapPaths,
|
|
30
|
-
partner
|
|
36
|
+
partner,
|
|
31
37
|
feePercent: referrerAddress
|
|
32
38
|
? (0, payload_encoder_1.encodeFeePercentForReferrer)(constants_1.SwapSide.SELL)
|
|
33
39
|
: (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, constants_1.SwapSide.SELL),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"megaswap.js","sourceRoot":"","sources":["../../src/router/megaswap.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
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,OAAO,GAAG,IAAA,iDAA+B,EAAC;YAC9C,cAAc;YACd,eAAe;YACf,iBAAiB;YACjB,sBAAsB;SACvB,CAAC,CAAC;QAEH,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,EAAE,eAAe;gBACzB,CAAC,CAAC,IAAA,6CAA2B,EAAC,oBAAQ,CAAC,IAAI,CAAC;gBAC5C,CAAC,CAAC,IAAA,kCAAgB,EACd,iBAAiB,EACjB,sBAAsB,EACtB,oBAAQ,CAAC,IAAI,CACd;YACL,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;;AAlEH,4BAmEC;AAlEQ,cAAK,GAAG,KAAK,CAAC"}
|
|
@@ -23,6 +23,12 @@ class MultiSwap extends payload_encoder_1.PayloadEncoder {
|
|
|
23
23
|
priceRoute.bestRoute[0].percent !== 100)
|
|
24
24
|
throw new Error(`Multiswap invalid bestRoute`);
|
|
25
25
|
const { paths, networkFee } = this.getContractPathsWithNetworkFee(priceRoute.bestRoute[0].swaps);
|
|
26
|
+
const partner = (0, payload_encoder_1.encodePartnerAddressForFeeLogic)({
|
|
27
|
+
partnerAddress,
|
|
28
|
+
referrerAddress,
|
|
29
|
+
partnerFeePercent,
|
|
30
|
+
positiveSlippageToUser,
|
|
31
|
+
});
|
|
26
32
|
const sellData = {
|
|
27
33
|
fromToken: priceRoute.srcToken,
|
|
28
34
|
fromAmount: priceRoute.srcAmount,
|
|
@@ -30,7 +36,7 @@ class MultiSwap extends payload_encoder_1.PayloadEncoder {
|
|
|
30
36
|
expectedAmount: priceRoute.destAmount,
|
|
31
37
|
beneficiary,
|
|
32
38
|
path: paths,
|
|
33
|
-
partner
|
|
39
|
+
partner,
|
|
34
40
|
feePercent: referrerAddress
|
|
35
41
|
? (0, payload_encoder_1.encodeFeePercentForReferrer)(constants_1.SwapSide.SELL)
|
|
36
42
|
: (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, constants_1.SwapSide.SELL),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiswap.js","sourceRoot":"","sources":["../../src/router/multiswap.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
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,OAAO,GAAG,IAAA,iDAA+B,EAAC;YAC9C,cAAc;YACd,eAAe;YACf,iBAAiB;YACjB,sBAAsB;SACvB,CAAC,CAAC;QAEH,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,EAAE,eAAe;gBACzB,CAAC,CAAC,IAAA,6CAA2B,EAAC,oBAAQ,CAAC,IAAI,CAAC;gBAC5C,CAAC,CAAC,IAAA,kCAAgB,EACd,iBAAiB,EACjB,sBAAsB,EACtB,oBAAQ,CAAC,IAAI,CACd;YACL,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;;AA1EH,8BA2EC;AAvEQ,eAAK,GAAG,KAAK,CAAC"}
|
|
@@ -1,6 +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, referrerAddress, partnerFeePercent, positiveSlippageToUser, }: {
|
|
5
|
+
partnerAddress: string;
|
|
6
|
+
referrerAddress?: string;
|
|
7
|
+
partnerFeePercent: string;
|
|
8
|
+
positiveSlippageToUser: boolean;
|
|
9
|
+
}): string;
|
|
4
10
|
export declare function encodeFeePercent(partnerFeePercent: string, positiveSlippageToUser: boolean, side: SwapSide): string;
|
|
5
11
|
export declare function encodeFeePercentForReferrer(side: SwapSide): string;
|
|
6
12
|
export declare class PayloadEncoder {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PayloadEncoder = exports.encodeFeePercentForReferrer = exports.encodeFeePercent = void 0;
|
|
3
|
+
exports.PayloadEncoder = exports.encodeFeePercentForReferrer = exports.encodeFeePercent = exports.encodePartnerAddressForFeeLogic = void 0;
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
5
|
const utils_1 = require("../utils");
|
|
6
6
|
const OneShift14 = 1n << 14n;
|
|
@@ -12,6 +12,25 @@ 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, referrerAddress, partnerFeePercent, positiveSlippageToUser, }) {
|
|
16
|
+
const isPartnerTakeNoFeeNoPos = +partnerFeePercent === 0 && positiveSlippageToUser == true;
|
|
17
|
+
const partner = isPartnerTakeNoFeeNoPos
|
|
18
|
+
? constants_1.NULL_ADDRESS // nullify partner address to fallback default circuit contract without partner/referrer (no harm as no fee taken at all)
|
|
19
|
+
: referrerAddress || partnerAddress;
|
|
20
|
+
// invariant checks
|
|
21
|
+
if (referrerAddress) {
|
|
22
|
+
if (partner !== referrerAddress) {
|
|
23
|
+
throw new Error('logic error: referrer address be set ');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
if (+partnerFeePercent > 0 && partner !== partnerAddress) {
|
|
28
|
+
throw new Error('logic error: should return partner address if fee is set');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return partner;
|
|
32
|
+
}
|
|
33
|
+
exports.encodePartnerAddressForFeeLogic = encodePartnerAddressForFeeLogic;
|
|
15
34
|
function encodeFeePercent(partnerFeePercent, positiveSlippageToUser, side) {
|
|
16
35
|
const isNoFeeAndPositiveSlippageToPartner = positiveSlippageToUser === false && BigInt(partnerFeePercent) === 0n;
|
|
17
36
|
let fee = isNoFeeAndPositiveSlippageToPartner
|
|
@@ -26,6 +45,7 @@ function encodeFeePercent(partnerFeePercent, positiveSlippageToUser, side) {
|
|
|
26
45
|
fee |= OneShift17;
|
|
27
46
|
}
|
|
28
47
|
// Set 14th bit if positiveSlippageToUser is true
|
|
48
|
+
// Upd: not used onchain anymore but better to keep to prevent collisions and ensure continuity of analytics
|
|
29
49
|
if (positiveSlippageToUser)
|
|
30
50
|
fee |= OneShift14;
|
|
31
51
|
// Set 15th bit to take fee from srcToken
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-encoder.js","sourceRoot":"","sources":["../../src/router/payload-encoder.ts"],"names":[],"mappings":";;;AAWA,
|
|
1
|
+
{"version":3,"file":"payload-encoder.js","sourceRoot":"","sources":["../../src/router/payload-encoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -146,6 +146,12 @@ class SimpleRouter extends SimpleRouterBase {
|
|
|
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);
|
|
149
|
+
const partner = (0, payload_encoder_1.encodePartnerAddressForFeeLogic)({
|
|
150
|
+
partnerAddress,
|
|
151
|
+
referrerAddress,
|
|
152
|
+
partnerFeePercent,
|
|
153
|
+
positiveSlippageToUser,
|
|
154
|
+
});
|
|
149
155
|
const sellData = {
|
|
150
156
|
...partialContractSimpleData,
|
|
151
157
|
fromToken: priceRoute.srcToken,
|
|
@@ -156,7 +162,7 @@ class SimpleRouter extends SimpleRouterBase {
|
|
|
156
162
|
? priceRoute.destAmount
|
|
157
163
|
: priceRoute.srcAmount,
|
|
158
164
|
beneficiary,
|
|
159
|
-
partner
|
|
165
|
+
partner,
|
|
160
166
|
feePercent: referrerAddress
|
|
161
167
|
? (0, payload_encoder_1.encodeFeePercentForReferrer)(this.side)
|
|
162
168
|
: (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, this.side),
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"simpleswap.js","sourceRoot":"","sources":["../../src/router/simpleswap.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,12 @@ class SimpleBuyNFT extends simpleswap_1.SimpleRouterBase {
|
|
|
56
56
|
toAmount: data.makerAmount,
|
|
57
57
|
};
|
|
58
58
|
};
|
|
59
|
+
const partner = (0, payload_encoder_1.encodePartnerAddressForFeeLogic)({
|
|
60
|
+
partnerAddress,
|
|
61
|
+
referrerAddress,
|
|
62
|
+
partnerFeePercent,
|
|
63
|
+
positiveSlippageToUser,
|
|
64
|
+
});
|
|
59
65
|
const buyData = {
|
|
60
66
|
...partialContractSimpleData,
|
|
61
67
|
fromToken: priceRoute.srcToken,
|
|
@@ -63,7 +69,7 @@ class SimpleBuyNFT extends simpleswap_1.SimpleRouterBase {
|
|
|
63
69
|
fromAmount: minMaxAmount,
|
|
64
70
|
expectedAmount: priceRoute.srcAmount,
|
|
65
71
|
beneficiary,
|
|
66
|
-
partner
|
|
72
|
+
partner,
|
|
67
73
|
feePercent: referrerAddress
|
|
68
74
|
? (0, payload_encoder_1.encodeFeePercentForReferrer)(constants_1.SwapSide.BUY)
|
|
69
75
|
: (0, payload_encoder_1.encodeFeePercent)(partnerFeePercent, positiveSlippageToUser, constants_1.SwapSide.BUY),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpleswapnft.js","sourceRoot":"","sources":["../../src/router/simpleswapnft.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAOvB,4CAAwC;AACxC,oCAAyC;AAEzC,
|
|
1
|
+
{"version":3,"file":"simpleswapnft.js","sourceRoot":"","sources":["../../src/router/simpleswapnft.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/router/buy.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
PayloadEncoder,
|
|
4
4
|
encodeFeePercent,
|
|
5
5
|
encodeFeePercentForReferrer,
|
|
6
|
+
encodePartnerAddressForFeeLogic,
|
|
6
7
|
} from './payload-encoder';
|
|
7
8
|
import {
|
|
8
9
|
Address,
|
|
@@ -61,6 +62,14 @@ export class Buy extends PayloadEncoder implements IRouter<BuyParam> {
|
|
|
61
62
|
minMaxAmount,
|
|
62
63
|
priceRoute.srcAmount,
|
|
63
64
|
);
|
|
65
|
+
|
|
66
|
+
const partner = encodePartnerAddressForFeeLogic({
|
|
67
|
+
partnerAddress,
|
|
68
|
+
referrerAddress,
|
|
69
|
+
partnerFeePercent,
|
|
70
|
+
positiveSlippageToUser,
|
|
71
|
+
});
|
|
72
|
+
|
|
64
73
|
const buyData: ContractBuyData = {
|
|
65
74
|
adapter,
|
|
66
75
|
fromToken: priceRoute.srcToken,
|
|
@@ -70,7 +79,7 @@ export class Buy extends PayloadEncoder implements IRouter<BuyParam> {
|
|
|
70
79
|
expectedAmount: priceRoute.srcAmount,
|
|
71
80
|
beneficiary,
|
|
72
81
|
route,
|
|
73
|
-
partner
|
|
82
|
+
partner,
|
|
74
83
|
feePercent: referrerAddress
|
|
75
84
|
? encodeFeePercentForReferrer(SwapSide.BUY)
|
|
76
85
|
: encodeFeePercent(
|
package/src/router/directswap.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { assert } from 'ts-essentials';
|
|
|
7
7
|
import {
|
|
8
8
|
encodeFeePercent,
|
|
9
9
|
encodeFeePercentForReferrer,
|
|
10
|
+
encodePartnerAddressForFeeLogic,
|
|
10
11
|
} from './payload-encoder';
|
|
11
12
|
|
|
12
13
|
export class DirectSwap<DexDirectReturn> implements IRouter<DexDirectReturn> {
|
|
@@ -69,6 +70,13 @@ export class DirectSwap<DexDirectReturn> implements IRouter<DexDirectReturn> {
|
|
|
69
70
|
? priceRoute.destAmount
|
|
70
71
|
: priceRoute.srcAmount;
|
|
71
72
|
|
|
73
|
+
const partner = encodePartnerAddressForFeeLogic({
|
|
74
|
+
partnerAddress,
|
|
75
|
+
referrerAddress,
|
|
76
|
+
partnerFeePercent,
|
|
77
|
+
positiveSlippageToUser,
|
|
78
|
+
});
|
|
79
|
+
|
|
72
80
|
return dex.getDirectParam!(
|
|
73
81
|
priceRoute.srcToken,
|
|
74
82
|
priceRoute.destToken,
|
|
@@ -87,7 +95,7 @@ export class DirectSwap<DexDirectReturn> implements IRouter<DexDirectReturn> {
|
|
|
87
95
|
priceRoute.side,
|
|
88
96
|
),
|
|
89
97
|
deadline,
|
|
90
|
-
|
|
98
|
+
partner,
|
|
91
99
|
beneficiary,
|
|
92
100
|
priceRoute.contractMethod,
|
|
93
101
|
);
|
package/src/router/megaswap.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
PayloadEncoder,
|
|
4
4
|
encodeFeePercent,
|
|
5
5
|
encodeFeePercentForReferrer,
|
|
6
|
+
encodePartnerAddressForFeeLogic,
|
|
6
7
|
} from './payload-encoder';
|
|
7
8
|
import {
|
|
8
9
|
Address,
|
|
@@ -50,6 +51,14 @@ export class MegaSwap extends PayloadEncoder implements IRouter<MegaSwapParam> {
|
|
|
50
51
|
const { megaSwapPaths, networkFee } = this.getMegaSwapPathsWithNetworkFee(
|
|
51
52
|
priceRoute.bestRoute,
|
|
52
53
|
);
|
|
54
|
+
|
|
55
|
+
const partner = encodePartnerAddressForFeeLogic({
|
|
56
|
+
partnerAddress,
|
|
57
|
+
referrerAddress,
|
|
58
|
+
partnerFeePercent,
|
|
59
|
+
positiveSlippageToUser,
|
|
60
|
+
});
|
|
61
|
+
|
|
53
62
|
const sellData: ContractMegaSwapSellData = {
|
|
54
63
|
fromToken: priceRoute.srcToken,
|
|
55
64
|
fromAmount: priceRoute.srcAmount,
|
|
@@ -57,7 +66,7 @@ export class MegaSwap extends PayloadEncoder implements IRouter<MegaSwapParam> {
|
|
|
57
66
|
expectedAmount: priceRoute.destAmount,
|
|
58
67
|
beneficiary,
|
|
59
68
|
path: megaSwapPaths,
|
|
60
|
-
partner
|
|
69
|
+
partner,
|
|
61
70
|
feePercent: referrerAddress
|
|
62
71
|
? encodeFeePercentForReferrer(SwapSide.SELL)
|
|
63
72
|
: encodeFeePercent(
|
package/src/router/multiswap.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
PayloadEncoder,
|
|
4
4
|
encodeFeePercent,
|
|
5
5
|
encodeFeePercentForReferrer,
|
|
6
|
+
encodePartnerAddressForFeeLogic,
|
|
6
7
|
} from './payload-encoder';
|
|
7
8
|
import {
|
|
8
9
|
Address,
|
|
@@ -58,6 +59,14 @@ export class MultiSwap
|
|
|
58
59
|
const { paths, networkFee } = this.getContractPathsWithNetworkFee(
|
|
59
60
|
priceRoute.bestRoute[0].swaps,
|
|
60
61
|
);
|
|
62
|
+
|
|
63
|
+
const partner = encodePartnerAddressForFeeLogic({
|
|
64
|
+
partnerAddress,
|
|
65
|
+
referrerAddress,
|
|
66
|
+
partnerFeePercent,
|
|
67
|
+
positiveSlippageToUser,
|
|
68
|
+
});
|
|
69
|
+
|
|
61
70
|
const sellData: ContractSellData = {
|
|
62
71
|
fromToken: priceRoute.srcToken,
|
|
63
72
|
fromAmount: priceRoute.srcAmount,
|
|
@@ -65,7 +74,7 @@ export class MultiSwap
|
|
|
65
74
|
expectedAmount: priceRoute.destAmount,
|
|
66
75
|
beneficiary,
|
|
67
76
|
path: paths,
|
|
68
|
-
partner
|
|
77
|
+
partner,
|
|
69
78
|
feePercent: referrerAddress
|
|
70
79
|
? encodeFeePercentForReferrer(SwapSide.SELL)
|
|
71
80
|
: encodeFeePercent(
|
|
@@ -9,9 +9,10 @@ import {
|
|
|
9
9
|
Address,
|
|
10
10
|
Adapters,
|
|
11
11
|
} from '../types';
|
|
12
|
-
import { SwapSide } from '../constants';
|
|
12
|
+
import { NULL_ADDRESS, SwapSide } from '../constants';
|
|
13
13
|
import { DexAdapterService } from '../dex';
|
|
14
14
|
import { convertToBasisPoints } from '../utils';
|
|
15
|
+
import { assert } from 'ts-essentials';
|
|
15
16
|
|
|
16
17
|
const OneShift14 = 1n << 14n;
|
|
17
18
|
const OneShift15 = 1n << 15n;
|
|
@@ -25,6 +26,39 @@ const REFERRER_FEE = 2500n | OneShift14 | OneShift16 | OneShift248;
|
|
|
25
26
|
|
|
26
27
|
const HALF_SPLIT = '5000';
|
|
27
28
|
|
|
29
|
+
export function encodePartnerAddressForFeeLogic({
|
|
30
|
+
partnerAddress,
|
|
31
|
+
referrerAddress,
|
|
32
|
+
partnerFeePercent,
|
|
33
|
+
positiveSlippageToUser,
|
|
34
|
+
}: {
|
|
35
|
+
partnerAddress: string;
|
|
36
|
+
referrerAddress?: string;
|
|
37
|
+
partnerFeePercent: string;
|
|
38
|
+
positiveSlippageToUser: boolean;
|
|
39
|
+
}): string {
|
|
40
|
+
const isPartnerTakeNoFeeNoPos =
|
|
41
|
+
+partnerFeePercent === 0 && positiveSlippageToUser == true;
|
|
42
|
+
const partner = isPartnerTakeNoFeeNoPos
|
|
43
|
+
? NULL_ADDRESS // nullify partner address to fallback default circuit contract without partner/referrer (no harm as no fee taken at all)
|
|
44
|
+
: referrerAddress || partnerAddress;
|
|
45
|
+
|
|
46
|
+
// invariant checks
|
|
47
|
+
if (referrerAddress) {
|
|
48
|
+
if (partner !== referrerAddress) {
|
|
49
|
+
throw new Error('logic error: referrer address be set ');
|
|
50
|
+
}
|
|
51
|
+
} else {
|
|
52
|
+
if (+partnerFeePercent > 0 && partner !== partnerAddress) {
|
|
53
|
+
throw new Error(
|
|
54
|
+
'logic error: should return partner address if fee is set',
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return partner;
|
|
60
|
+
}
|
|
61
|
+
|
|
28
62
|
export function encodeFeePercent(
|
|
29
63
|
partnerFeePercent: string,
|
|
30
64
|
positiveSlippageToUser: boolean,
|
|
@@ -47,6 +81,7 @@ export function encodeFeePercent(
|
|
|
47
81
|
}
|
|
48
82
|
|
|
49
83
|
// Set 14th bit if positiveSlippageToUser is true
|
|
84
|
+
// Upd: not used onchain anymore but better to keep to prevent collisions and ensure continuity of analytics
|
|
50
85
|
if (positiveSlippageToUser) fee |= OneShift14;
|
|
51
86
|
|
|
52
87
|
// Set 15th bit to take fee from srcToken
|
package/src/router/simpleswap.ts
CHANGED
|
@@ -17,6 +17,7 @@ import { DexAdapterService } from '../dex';
|
|
|
17
17
|
import {
|
|
18
18
|
encodeFeePercent,
|
|
19
19
|
encodeFeePercentForReferrer,
|
|
20
|
+
encodePartnerAddressForFeeLogic,
|
|
20
21
|
} from './payload-encoder';
|
|
21
22
|
|
|
22
23
|
type SimpleSwapParam = [ConstractSimpleData];
|
|
@@ -285,6 +286,13 @@ export abstract class SimpleRouter extends SimpleRouterBase<SimpleSwapParam> {
|
|
|
285
286
|
minMaxAmount,
|
|
286
287
|
);
|
|
287
288
|
|
|
289
|
+
const partner = encodePartnerAddressForFeeLogic({
|
|
290
|
+
partnerAddress,
|
|
291
|
+
referrerAddress,
|
|
292
|
+
partnerFeePercent,
|
|
293
|
+
positiveSlippageToUser,
|
|
294
|
+
});
|
|
295
|
+
|
|
288
296
|
const sellData: ConstractSimpleData = {
|
|
289
297
|
...partialContractSimpleData,
|
|
290
298
|
fromToken: priceRoute.srcToken,
|
|
@@ -298,7 +306,7 @@ export abstract class SimpleRouter extends SimpleRouterBase<SimpleSwapParam> {
|
|
|
298
306
|
? priceRoute.destAmount
|
|
299
307
|
: priceRoute.srcAmount,
|
|
300
308
|
beneficiary,
|
|
301
|
-
partner
|
|
309
|
+
partner,
|
|
302
310
|
feePercent: referrerAddress
|
|
303
311
|
? encodeFeePercentForReferrer(this.side)
|
|
304
312
|
: encodeFeePercent(
|
|
@@ -11,6 +11,7 @@ import { DexAdapterService } from '../dex';
|
|
|
11
11
|
import {
|
|
12
12
|
encodeFeePercent,
|
|
13
13
|
encodeFeePercentForReferrer,
|
|
14
|
+
encodePartnerAddressForFeeLogic,
|
|
14
15
|
} from './payload-encoder';
|
|
15
16
|
import { PartialContractSimpleData, SimpleRouterBase } from './simpleswap';
|
|
16
17
|
import { BI_ADDR_MASK } from '../bigint-constants';
|
|
@@ -95,6 +96,13 @@ export class SimpleBuyNFT extends SimpleRouterBase<SimpleBuyNFTParam> {
|
|
|
95
96
|
};
|
|
96
97
|
};
|
|
97
98
|
|
|
99
|
+
const partner = encodePartnerAddressForFeeLogic({
|
|
100
|
+
partnerAddress,
|
|
101
|
+
referrerAddress,
|
|
102
|
+
partnerFeePercent,
|
|
103
|
+
positiveSlippageToUser,
|
|
104
|
+
});
|
|
105
|
+
|
|
98
106
|
const buyData: ContractSimpleBuyNFTData = {
|
|
99
107
|
...partialContractSimpleData,
|
|
100
108
|
fromToken: priceRoute.srcToken,
|
|
@@ -104,7 +112,7 @@ export class SimpleBuyNFT extends SimpleRouterBase<SimpleBuyNFTParam> {
|
|
|
104
112
|
fromAmount: minMaxAmount,
|
|
105
113
|
expectedAmount: priceRoute.srcAmount,
|
|
106
114
|
beneficiary,
|
|
107
|
-
partner
|
|
115
|
+
partner,
|
|
108
116
|
feePercent: referrerAddress
|
|
109
117
|
? encodeFeePercentForReferrer(SwapSide.BUY)
|
|
110
118
|
: encodeFeePercent(
|
package/.idea/aws.xml
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="accountSettings">
|
|
4
|
-
<option name="activeProfile" value="profile:default" />
|
|
5
|
-
<option name="activeRegion" value="us-east-1" />
|
|
6
|
-
<option name="recentlyUsedProfiles">
|
|
7
|
-
<list>
|
|
8
|
-
<option value="profile:default" />
|
|
9
|
-
</list>
|
|
10
|
-
</option>
|
|
11
|
-
<option name="recentlyUsedRegions">
|
|
12
|
-
<list>
|
|
13
|
-
<option value="us-east-1" />
|
|
14
|
-
</list>
|
|
15
|
-
</option>
|
|
16
|
-
</component>
|
|
17
|
-
</project>
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
<component name="ProjectCodeStyleConfiguration">
|
|
2
|
-
<code_scheme name="Project" version="173">
|
|
3
|
-
<ScalaCodeStyleSettings>
|
|
4
|
-
<option name="MULTILINE_STRING_CLOSING_QUOTES_ON_NEW_LINE" value="true" />
|
|
5
|
-
</ScalaCodeStyleSettings>
|
|
6
|
-
<TypeScriptCodeStyleSettings version="0">
|
|
7
|
-
<option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACKETS" value="true" />
|
|
8
|
-
<option name="USE_DOUBLE_QUOTES" value="false" />
|
|
9
|
-
<option name="SPACES_WITHIN_IMPORTS" value="true" />
|
|
10
|
-
</TypeScriptCodeStyleSettings>
|
|
11
|
-
<codeStyleSettings language="TypeScript">
|
|
12
|
-
<indentOptions>
|
|
13
|
-
<option name="INDENT_SIZE" value="2" />
|
|
14
|
-
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
15
|
-
<option name="TAB_SIZE" value="2" />
|
|
16
|
-
</indentOptions>
|
|
17
|
-
</codeStyleSettings>
|
|
18
|
-
</code_scheme>
|
|
19
|
-
</component>
|
package/.idea/misc.xml
DELETED
package/.idea/modules.xml
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="ProjectModuleManager">
|
|
4
|
-
<modules>
|
|
5
|
-
<module fileurl="file://$PROJECT_DIR$/.idea/paraswap-dex-lib.iml" filepath="$PROJECT_DIR$/.idea/paraswap-dex-lib.iml" />
|
|
6
|
-
</modules>
|
|
7
|
-
</component>
|
|
8
|
-
</project>
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<module type="JAVA_MODULE" version="4">
|
|
3
|
-
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
|
4
|
-
<exclude-output />
|
|
5
|
-
<content url="file://$MODULE_DIR$" />
|
|
6
|
-
<orderEntry type="inheritedJdk" />
|
|
7
|
-
<orderEntry type="sourceFolder" forTests="false" />
|
|
8
|
-
</component>
|
|
9
|
-
</module>
|
package/.idea/vcs.xml
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"aSymbol": "aArbDAI",
|
|
4
|
-
"aAddress": "0x82E64f49Ed5EC1bC6e43DAD4FC8Af9bb3A2312EE",
|
|
5
|
-
"address": "0xda10009cbd5d07dd0cecc66161fc93d7c9000da1",
|
|
6
|
-
"decimals": 18
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"aSymbol": "aArbEURS",
|
|
10
|
-
"aAddress": "0x6d80113e533a2C0fe82EaBD35f1875DcEA89Ea97",
|
|
11
|
-
"address": "0xd22a58f79e9481d1a88e00c343885a588b34b68b",
|
|
12
|
-
"decimals": 2
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"aSymbol": "aArbUSDC",
|
|
16
|
-
"aAddress": "0x625E7708f30cA75bfd92586e17077590C60eb4cD",
|
|
17
|
-
"address": "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
|
|
18
|
-
"decimals": 6
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"aSymbol": "aArbUSDT",
|
|
22
|
-
"aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
|
|
23
|
-
"address": "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",
|
|
24
|
-
"decimals": 6
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"aSymbol": "aArbAAVE",
|
|
28
|
-
"aAddress": "0xf329e36C7bF6E5E86ce2150875a84Ce77f477375",
|
|
29
|
-
"address": "0xba5ddd1f9d7f570dc94a51479a000e3bce967196",
|
|
30
|
-
"decimals": 18
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"aSymbol": "aArbLINK",
|
|
34
|
-
"aAddress": "0x191c10Aa4AF7C30e871E70C95dB0E4eb77237530",
|
|
35
|
-
"address": "0xf97f4df75117a78c1a5a0dbb814af92458539fb4",
|
|
36
|
-
"decimals": 18
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"aSymbol": "aArbWBTC",
|
|
40
|
-
"aAddress": "0x078f358208685046a11C85e8ad32895DED33A249",
|
|
41
|
-
"address": "0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f",
|
|
42
|
-
"decimals": 8
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"aSymbol": "aArbWETH",
|
|
46
|
-
"aAddress": "0xe50fA9b3c56FfB159cB0FCA61F5c9D750e8128c8",
|
|
47
|
-
"address": "0x82af49447d8a07e3bd95bd0d56f35241523fbab1",
|
|
48
|
-
"decimals": 18
|
|
49
|
-
}
|
|
50
|
-
]
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"aSymbol": "aAvaDAI",
|
|
4
|
-
"aAddress": "0x82e64f49ed5ec1bc6e43dad4fc8af9bb3a2312ee",
|
|
5
|
-
"address": "0xd586e7f844cea2f87f50152665bcbc2c279d8d70",
|
|
6
|
-
"decimals": 18
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"aSymbol": "aAvaFRAX",
|
|
10
|
-
"aAddress": "0xc45A479877e1e9Dfe9FcD4056c699575a1045dAA",
|
|
11
|
-
"address": "0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64",
|
|
12
|
-
"decimals": 18
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"aSymbol": "aAvaMAI",
|
|
16
|
-
"aAddress": "0x8Eb270e296023E9D92081fdF967dDd7878724424",
|
|
17
|
-
"address": "0x5c49b268c9841AFF1Cc3B0a418ff5c3442eE3F3b",
|
|
18
|
-
"decimals": 18
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"aSymbol": "aAvaUSDC",
|
|
22
|
-
"aAddress": "0x625e7708f30ca75bfd92586e17077590c60eb4cd",
|
|
23
|
-
"address": "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
|
|
24
|
-
"decimals": 6
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"aSymbol": "aAvaUSDT",
|
|
28
|
-
"aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
|
|
29
|
-
"address": "0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",
|
|
30
|
-
"decimals": 6
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"aSymbol": "aAvaAAVE",
|
|
34
|
-
"aAddress": "0xf329e36c7bf6e5e86ce2150875a84ce77f477375",
|
|
35
|
-
"address": "0x63a72806098bd3d9520cc43356dd78afe5d386d9",
|
|
36
|
-
"decimals": 18
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"aSymbol": "aAvaBTC.b",
|
|
40
|
-
"aAddress": "0x8ffDf2DE812095b1D19CB146E4c004587C0A0692",
|
|
41
|
-
"address": "0x152b9d0FdC40C096757F570A51E494bd4b943E50",
|
|
42
|
-
"decimals": 8
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"aSymbol": "aAvaLINK",
|
|
46
|
-
"aAddress": "0x191c10aa4af7c30e871e70c95db0e4eb77237530",
|
|
47
|
-
"address": "0x5947bb275c521040051d82396192181b413227a3",
|
|
48
|
-
"decimals": 18
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"aSymbol": "aAvaSAVAX",
|
|
52
|
-
"aAddress": "0x513c7E3a9c69cA3e22550eF58AC1C0088e918FFf",
|
|
53
|
-
"address": "0x2b2C81e08f1Af8835a78Bb2A90AE924ACE0eA4bE",
|
|
54
|
-
"decimals": 18
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"aSymbol": "aAvaWAVAX",
|
|
58
|
-
"aAddress": "0x6d80113e533a2C0fe82EaBD35f1875DcEA89Ea97",
|
|
59
|
-
"address": "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",
|
|
60
|
-
"decimals": 18
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"aSymbol": "aAvaWBTC",
|
|
64
|
-
"aAddress": "0x078f358208685046a11c85e8ad32895ded33a249",
|
|
65
|
-
"address": "0x50b7545627a5162f82a992c33b87adc75187b218",
|
|
66
|
-
"decimals": 8
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"aSymbol": "aAvaWETH",
|
|
70
|
-
"aAddress": "0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8",
|
|
71
|
-
"address": "0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab",
|
|
72
|
-
"decimals": 18
|
|
73
|
-
}
|
|
74
|
-
]
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"aSymbol": "aFanAAVE",
|
|
4
|
-
"aAddress": "0xf329e36c7bf6e5e86ce2150875a84ce77f477375",
|
|
5
|
-
"address": "0x6a07a792ab2965c72a5b8088d3a069a7ac3a993b",
|
|
6
|
-
"decimals": 18
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"aSymbol": "aFanDAI",
|
|
10
|
-
"aAddress": "0x82e64f49ed5ec1bc6e43dad4fc8af9bb3a2312ee",
|
|
11
|
-
"address": "0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e",
|
|
12
|
-
"decimals": 18
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"aSymbol": "aFanUSDT",
|
|
16
|
-
"aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
|
|
17
|
-
"address": "0x049d68029688eabf473097a2fc38ef61633a3c7a",
|
|
18
|
-
"decimals": 6
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"aSymbol": "aFanLINK",
|
|
22
|
-
"aAddress": "0x191c10aa4af7c30e871e70c95db0e4eb77237530",
|
|
23
|
-
"address": "0xb3654dc3d10ea7645f8319668e8f54d2574fbdc8",
|
|
24
|
-
"decimals": 18
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"aSymbol": "aFanWFTM",
|
|
28
|
-
"aAddress": "0x6d80113e533a2c0fe82eabd35f1875dcea89ea97",
|
|
29
|
-
"address": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83",
|
|
30
|
-
"decimals": 18
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"aSymbol": "aFanUSDC",
|
|
34
|
-
"aAddress": "0x625e7708f30ca75bfd92586e17077590c60eb4cd",
|
|
35
|
-
"address": "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
|
|
36
|
-
"decimals": 6
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"aSymbol": "aFanWBTC",
|
|
40
|
-
"aAddress": "0x078f358208685046a11c85e8ad32895ded33a249",
|
|
41
|
-
"address": "0x321162cd933e2be498cd2267a90534a804051b11",
|
|
42
|
-
"decimals": 8
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"aSymbol": "aFanWETH",
|
|
46
|
-
"aAddress": "0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8",
|
|
47
|
-
"address": "0x74b23882a30290451a17c44f4f05243b6b58c76d",
|
|
48
|
-
"decimals": 18
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"aSymbol": "aFanCRV",
|
|
52
|
-
"aAddress": "0x513c7e3a9c69ca3e22550ef58ac1c0088e918fff",
|
|
53
|
-
"address": "0x1e4f97b9f9f913c46f1632781732927b9019c68b",
|
|
54
|
-
"decimals": 18
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"aSymbol": "aFanSUSHI",
|
|
58
|
-
"aAddress": "0xc45a479877e1e9dfe9fcd4056c699575a1045daa",
|
|
59
|
-
"address": "0xae75a438b2e0cb8bb01ec1e1e376de11d44477cc",
|
|
60
|
-
"decimals": 18
|
|
61
|
-
}
|
|
62
|
-
]
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"aSymbol": "aOptDAI",
|
|
4
|
-
"aAddress": "0x82E64f49Ed5EC1bC6e43DAD4FC8Af9bb3A2312EE",
|
|
5
|
-
"address": "0xda10009cbd5d07dd0cecc66161fc93d7c9000da1",
|
|
6
|
-
"decimals": 18
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"aSymbol": "aOptSUSD",
|
|
10
|
-
"aAddress": "0x6d80113e533a2C0fe82EaBD35f1875DcEA89Ea97",
|
|
11
|
-
"address": "0x8c6f28f2f1a3c87f0f938b96d27520d9751ec8d9",
|
|
12
|
-
"decimals": 18
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"aSymbol": "aOptUSDC",
|
|
16
|
-
"aAddress": "0x625E7708f30cA75bfd92586e17077590C60eb4cD",
|
|
17
|
-
"address": "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
|
|
18
|
-
"decimals": 6
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"aSymbol": "aOptUSDT",
|
|
22
|
-
"aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
|
|
23
|
-
"address": "0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",
|
|
24
|
-
"decimals": 6
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"aSymbol": "aOptAAVE",
|
|
28
|
-
"aAddress": "0xf329e36C7bF6E5E86ce2150875a84Ce77f477375",
|
|
29
|
-
"address": "0x76fb31fb4af56892a25e32cfc43de717950c9278",
|
|
30
|
-
"decimals": 18
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"aSymbol": "aOptLINK",
|
|
34
|
-
"aAddress": "0x191c10Aa4AF7C30e871E70C95dB0E4eb77237530",
|
|
35
|
-
"address": "0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6",
|
|
36
|
-
"decimals": 18
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"aSymbol": "aOptWBTC",
|
|
40
|
-
"aAddress": "0x078f358208685046a11C85e8ad32895DED33A249",
|
|
41
|
-
"address": "0x68f180fcce6836688e9084f035309e29bf0a2095",
|
|
42
|
-
"decimals": 8
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"aSymbol": "aOptWETH",
|
|
46
|
-
"aAddress": "0xe50fA9b3c56FfB159cB0FCA61F5c9D750e8128c8",
|
|
47
|
-
"address": "0x4200000000000000000000000000000000000006",
|
|
48
|
-
"decimals": 18
|
|
49
|
-
}
|
|
50
|
-
]
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"aSymbol": "aPolAGEUR",
|
|
4
|
-
"aAddress": "0x8437d7c167dfb82ed4cb79cd44b7a32a1dd95c77",
|
|
5
|
-
"address": "0xe0b52e49357fd4daf2c15e02058dce6bc0057db4",
|
|
6
|
-
"decimals": 18
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"aSymbol": "aPolDAI",
|
|
10
|
-
"aAddress": "0x82e64f49ed5ec1bc6e43dad4fc8af9bb3a2312ee",
|
|
11
|
-
"address": "0x8f3cf7ad23cd3cadbd9735aff958023239c6a063",
|
|
12
|
-
"decimals": 18
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"aSymbol": "aPolEURS",
|
|
16
|
-
"aAddress": "0x38d693ce1df5aadf7bc62595a37d667ad57922e5",
|
|
17
|
-
"address": "0xe111178a87a3bff0c8d18decba5798827539ae99",
|
|
18
|
-
"decimals": 2
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"aSymbol": "aPolJEUR",
|
|
22
|
-
"aAddress": "0x6533afac2e7bccb20dca161449a13a32d391fb00",
|
|
23
|
-
"address": "0x4e3decbb3645551b8a19f0ea1678079fcb33fb4c",
|
|
24
|
-
"decimals": 18
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"aSymbol": "aPolMIMATIC",
|
|
28
|
-
"aAddress": "0xeBe517846d0F36eCEd99C735cbF6131e1fEB775D",
|
|
29
|
-
"address": "0xa3Fa99A148fA48D14Ed51d610c367C61876997F1",
|
|
30
|
-
"decimals": 18
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"aSymbol": "aPolUSDC",
|
|
34
|
-
"aAddress": "0x625e7708f30ca75bfd92586e17077590c60eb4cd",
|
|
35
|
-
"address": "0x2791bca1f2de4661ed88a30c99a7a9449aa84174",
|
|
36
|
-
"decimals": 6
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"aSymbol": "aPolUSDT",
|
|
40
|
-
"aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
|
|
41
|
-
"address": "0xc2132d05d31c914a87c6611c10748aeb04b58e8f",
|
|
42
|
-
"decimals": 6
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"aSymbol": "aPolAAVE",
|
|
46
|
-
"aAddress": "0xf329e36c7bf6e5e86ce2150875a84ce77f477375",
|
|
47
|
-
"address": "0xd6df932a45c0f255f85145f286ea0b292b21c90b",
|
|
48
|
-
"decimals": 18
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"aSymbol": "aPolBAL",
|
|
52
|
-
"aAddress": "0x8ffdf2de812095b1d19cb146e4c004587c0a0692",
|
|
53
|
-
"address": "0x9a71012b13ca4d3d0cdc72a177df3ef03b0e76a3",
|
|
54
|
-
"decimals": 18
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"aSymbol": "aPolCRV",
|
|
58
|
-
"aAddress": "0x513c7e3a9c69ca3e22550ef58ac1c0088e918fff",
|
|
59
|
-
"address": "0x172370d5cd63279efa6d502dab29171933a610af",
|
|
60
|
-
"decimals": 18
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"aSymbol": "aPolDPI",
|
|
64
|
-
"aAddress": "0x724dc807b04555b71ed48a6896b6f41593b8c637",
|
|
65
|
-
"address": "0x85955046df4668e1dd369d2de9f3aeb98dd2a369",
|
|
66
|
-
"decimals": 18
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"aSymbol": "aPolGHST",
|
|
70
|
-
"aAddress": "0x8eb270e296023e9d92081fdf967ddd7878724424",
|
|
71
|
-
"address": "0x385eeac5cb85a38a9a07a70c73e0a3271cfb54a7",
|
|
72
|
-
"decimals": 18
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
"aSymbol": "aPolLINK",
|
|
76
|
-
"aAddress": "0x191c10aa4af7c30e871e70c95db0e4eb77237530",
|
|
77
|
-
"address": "0x53e0bca35ec356bd5dddfebbd1fc0fd03fabad39",
|
|
78
|
-
"decimals": 18
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
"aSymbol": "aPolMATICX",
|
|
82
|
-
"aAddress": "0x80cA0d8C38d2e2BcbaB66aA1648Bd1C7160500FE",
|
|
83
|
-
"address": "0xfa68FB4628DFF1028CFEc22b4162FCcd0d45efb6",
|
|
84
|
-
"decimals": 18
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"aSymbol": "aPolSTMATIC",
|
|
88
|
-
"aAddress": "0xEA1132120ddcDDA2F119e99Fa7A27a0d036F7Ac9",
|
|
89
|
-
"address": "0x3A58a54C066FdC0f2D55FC9C89F0415C92eBf3C4",
|
|
90
|
-
"decimals": 18
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"aSymbol": "aPolSUSHI",
|
|
94
|
-
"aAddress": "0xc45a479877e1e9dfe9fcd4056c699575a1045daa",
|
|
95
|
-
"address": "0x0b3f868e0be5597d5db7feb59e1cadbb0fdda50a",
|
|
96
|
-
"decimals": 18
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
"aSymbol": "aPolWBTC",
|
|
100
|
-
"aAddress": "0x078f358208685046a11c85e8ad32895ded33a249",
|
|
101
|
-
"address": "0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6",
|
|
102
|
-
"decimals": 8
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
"aSymbol": "aPolWETH",
|
|
106
|
-
"aAddress": "0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8",
|
|
107
|
-
"address": "0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",
|
|
108
|
-
"decimals": 18
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
"aSymbol": "aPolWMATIC",
|
|
112
|
-
"aAddress": "0x6d80113e533a2c0fe82eabd35f1875dcea89ea97",
|
|
113
|
-
"address": "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",
|
|
114
|
-
"decimals": 18
|
|
115
|
-
}
|
|
116
|
-
]
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Address } from '../../types';
|
|
2
|
-
export declare type DexParams = {
|
|
3
|
-
router: Address;
|
|
4
|
-
quoter: Address;
|
|
5
|
-
factory: Address;
|
|
6
|
-
stateMulticall: Address;
|
|
7
|
-
uniswapMulticall: Address;
|
|
8
|
-
supportedFees: bigint[];
|
|
9
|
-
feeProtocols: bigint[];
|
|
10
|
-
chunksCount: number;
|
|
11
|
-
deployer?: Address;
|
|
12
|
-
subgraphURL: string;
|
|
13
|
-
initHash: string;
|
|
14
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/pancakeswap-v3/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ThenaFusion = void 0;
|
|
7
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
-
const config_1 = require("./config");
|
|
9
|
-
const quickswap_v3_1 = require("./quickswap-v3");
|
|
10
|
-
const config = lodash_1.default.pick(config_1.QuickSwapConfig, ['ThenaFusion']).ThenaFusion;
|
|
11
|
-
class ThenaFusion extends quickswap_v3_1.QuickSwapV3 {
|
|
12
|
-
// public static dexKeysWithNetwork
|
|
13
|
-
constructor(dexHelper) {
|
|
14
|
-
super(dexHelper, 'thenafusion', config[dexHelper.config.data.network].router);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.ThenaFusion = ThenaFusion;
|
|
18
|
-
ThenaFusion.dexKeys = ['thenafusion'];
|
|
19
|
-
//# sourceMappingURL=thena-fusion.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"thena-fusion.js","sourceRoot":"","sources":["../../../src/dex/quickswap/thena-fusion.ts"],"names":[],"mappings":";;;;;;AACA,oDAAuB;AACvB,qCAA2C;AAC3C,iDAA6C;AAE7C,MAAM,MAAM,GAAG,gBAAC,CAAC,IAAI,CAAC,wBAAe,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;AAEpE,MAAa,WAAY,SAAQ,0BAAW;IAG1C,mCAAmC;IACnC,YAAY,SAAqB;QAC/B,KAAK,CACH,SAAS,EACT,aAAa,EACb,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAC7C,CAAC;IACJ,CAAC;;AAVH,kCAWC;AAVQ,mBAAO,GAAG,CAAC,aAAa,CAAC,CAAC"}
|