@paraswap/dex-lib 3.5.4-v6.2.1 → 3.5.4-v6.2.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/constants.d.ts +2 -0
- package/build/constants.js +3 -1
- package/build/constants.js.map +1 -1
- package/build/generic-swap-transaction-builder.d.ts +5 -3
- package/build/generic-swap-transaction-builder.js +22 -7
- package/build/generic-swap-transaction-builder.js.map +1 -1
- package/package.json +1 -1
- package/src/constants.ts +2 -0
- package/src/generic-swap-transaction-builder.ts +40 -0
package/build/constants.d.ts
CHANGED
|
@@ -34,6 +34,8 @@ export declare const DEST_TOKEN_PARASWAP_TRANSFERS = 1;
|
|
|
34
34
|
export declare const DEST_TOKEN_DEX_TRANSFERS = 1;
|
|
35
35
|
export declare const BPS_MAX_VALUE = 10000n;
|
|
36
36
|
export declare const FEE_PERCENT_IN_BASIS_POINTS_MASK: BigNumber;
|
|
37
|
+
export declare const IS_USER_SURPLUS_MASK: BigNumber;
|
|
38
|
+
export declare const IS_DIRECT_TRANSFER_MASK: BigNumber;
|
|
37
39
|
export declare const IS_CAP_SURPLUS_MASK: BigNumber;
|
|
38
40
|
export declare const IS_SKIP_BLACKLIST_MASK: BigNumber;
|
|
39
41
|
export declare const IS_REFERRAL_MASK: BigNumber;
|
package/build/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IS_TAKE_SURPLUS_MASK = exports.IS_REFERRAL_MASK = exports.IS_SKIP_BLACKLIST_MASK = exports.IS_CAP_SURPLUS_MASK = exports.FEE_PERCENT_IN_BASIS_POINTS_MASK = exports.BPS_MAX_VALUE = exports.DEST_TOKEN_DEX_TRANSFERS = exports.DEST_TOKEN_PARASWAP_TRANSFERS = exports.SRC_TOKEN_DEX_TRANSFERS = exports.SRC_TOKEN_PARASWAP_TRANSFERS = exports.LIMIT_ORDER_PROVIDERS = exports.SUBGRAPH_TIMEOUT = exports.Network = exports.STATEFUL_EVENT_SUBSCRIBER_LOG_BATCH_PERIOD = exports.FETCH_POOL_PRICES_TIMEOUT = exports.FETCH_POOL_IDENTIFIER_TIMEOUT = exports.SETUP_RETRY_TIMEOUT = exports.MAX_BLOCKS_HISTORY = exports.MIN_INT = exports.MAX_INT = exports.MAX_UINT = exports.CACHE_PREFIX = exports.NULL_ADDRESS = exports.ETHER_ADDRESS = exports.PORT_TEST_SERVER = exports.ContractMethod = exports.SwapSide = void 0;
|
|
3
|
+
exports.IS_TAKE_SURPLUS_MASK = exports.IS_REFERRAL_MASK = exports.IS_SKIP_BLACKLIST_MASK = exports.IS_CAP_SURPLUS_MASK = exports.IS_DIRECT_TRANSFER_MASK = exports.IS_USER_SURPLUS_MASK = exports.FEE_PERCENT_IN_BASIS_POINTS_MASK = exports.BPS_MAX_VALUE = exports.DEST_TOKEN_DEX_TRANSFERS = exports.DEST_TOKEN_PARASWAP_TRANSFERS = exports.SRC_TOKEN_DEX_TRANSFERS = exports.SRC_TOKEN_PARASWAP_TRANSFERS = exports.LIMIT_ORDER_PROVIDERS = exports.SUBGRAPH_TIMEOUT = exports.Network = exports.STATEFUL_EVENT_SUBSCRIBER_LOG_BATCH_PERIOD = exports.FETCH_POOL_PRICES_TIMEOUT = exports.FETCH_POOL_IDENTIFIER_TIMEOUT = exports.SETUP_RETRY_TIMEOUT = exports.MAX_BLOCKS_HISTORY = exports.MIN_INT = exports.MAX_INT = exports.MAX_UINT = exports.CACHE_PREFIX = exports.NULL_ADDRESS = exports.ETHER_ADDRESS = exports.PORT_TEST_SERVER = exports.ContractMethod = exports.SwapSide = void 0;
|
|
4
4
|
const ethers_1 = require("ethers");
|
|
5
5
|
var core_1 = require("@paraswap/core");
|
|
6
6
|
Object.defineProperty(exports, "SwapSide", { enumerable: true, get: function () { return core_1.SwapSide; } });
|
|
@@ -47,6 +47,8 @@ exports.DEST_TOKEN_PARASWAP_TRANSFERS = 1;
|
|
|
47
47
|
exports.DEST_TOKEN_DEX_TRANSFERS = 1;
|
|
48
48
|
exports.BPS_MAX_VALUE = 10000n;
|
|
49
49
|
exports.FEE_PERCENT_IN_BASIS_POINTS_MASK = ethers_1.BigNumber.from('0x3FFF');
|
|
50
|
+
exports.IS_USER_SURPLUS_MASK = ethers_1.BigNumber.from('1').shl(90);
|
|
51
|
+
exports.IS_DIRECT_TRANSFER_MASK = ethers_1.BigNumber.from('1').shl(91);
|
|
50
52
|
exports.IS_CAP_SURPLUS_MASK = ethers_1.BigNumber.from('1').shl(92);
|
|
51
53
|
exports.IS_SKIP_BLACKLIST_MASK = ethers_1.BigNumber.from('1').shl(93);
|
|
52
54
|
exports.IS_REFERRAL_MASK = ethers_1.BigNumber.from('1').shl(94);
|
package/build/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,uCAA0D;AAAjD,gGAAA,QAAQ,OAAA;AAAE,sGAAA,cAAc,OAAA;AAEpB,QAAA,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;AAEzC,QAAA,aAAa,GACxB,4CAA4C,CAAC,WAAW,EAAE,CAAC;AAEhD,QAAA,YAAY,GAAG,4CAA4C,CAAC;AAE5D,QAAA,YAAY,GAAG,IAAI,CAAC;AAEpB,QAAA,QAAQ,GACnB,gFAAgF,CAAC;AAEtE,QAAA,OAAO,GAClB,+EAA+E,CAAC;AACrE,QAAA,OAAO,GAClB,gFAAgF,CAAC;AAEtE,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAEvB,QAAA,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM;AAEpD,aAAa;AACA,QAAA,6BAA6B,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK;AACjD,QAAA,yBAAyB,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK;AAExD,qCAAqC;AACxB,QAAA,0CAA0C,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpE,IAAY,OAWX;AAXD,WAAY,OAAO;IACjB,2CAAW,CAAA;IACX,2CAAW,CAAA;IACX,oCAAQ,CAAA;IACR,6CAAa,CAAA;IACb,0CAAY,CAAA;IACZ,mDAAiB,CAAA;IACjB,2CAAY,CAAA;IACZ,iDAAgB,CAAA;IAChB,8CAAa,CAAA;IACb,wCAAW,CAAA;AACb,CAAC,EAXW,OAAO,GAAP,eAAO,KAAP,eAAO,QAWlB;AACY,QAAA,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE1C,IAAY,qBAEX;AAFD,WAAY,qBAAqB;IAC/B,gEAAuC,CAAA;AACzC,CAAC,EAFW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAEhC;AAED,4BAA4B;AACf,QAAA,4BAA4B,GAAG,CAAC,CAAC;AAC9C,2BAA2B;AACd,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAEzC,4BAA4B;AACf,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAC/C,2BAA2B;AACd,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAE7B,QAAA,aAAa,GAAG,MAAM,CAAC;AAEvB,QAAA,gCAAgC,GAAG,kBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5D,QAAA,mBAAmB,GAAG,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClD,QAAA,sBAAsB,GAAG,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACrD,QAAA,gBAAgB,GAAG,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC/C,QAAA,oBAAoB,GAAG,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,uCAA0D;AAAjD,gGAAA,QAAQ,OAAA;AAAE,sGAAA,cAAc,OAAA;AAEpB,QAAA,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;AAEzC,QAAA,aAAa,GACxB,4CAA4C,CAAC,WAAW,EAAE,CAAC;AAEhD,QAAA,YAAY,GAAG,4CAA4C,CAAC;AAE5D,QAAA,YAAY,GAAG,IAAI,CAAC;AAEpB,QAAA,QAAQ,GACnB,gFAAgF,CAAC;AAEtE,QAAA,OAAO,GAClB,+EAA+E,CAAC;AACrE,QAAA,OAAO,GAClB,gFAAgF,CAAC;AAEtE,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAEvB,QAAA,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM;AAEpD,aAAa;AACA,QAAA,6BAA6B,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK;AACjD,QAAA,yBAAyB,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK;AAExD,qCAAqC;AACxB,QAAA,0CAA0C,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpE,IAAY,OAWX;AAXD,WAAY,OAAO;IACjB,2CAAW,CAAA;IACX,2CAAW,CAAA;IACX,oCAAQ,CAAA;IACR,6CAAa,CAAA;IACb,0CAAY,CAAA;IACZ,mDAAiB,CAAA;IACjB,2CAAY,CAAA;IACZ,iDAAgB,CAAA;IAChB,8CAAa,CAAA;IACb,wCAAW,CAAA;AACb,CAAC,EAXW,OAAO,GAAP,eAAO,KAAP,eAAO,QAWlB;AACY,QAAA,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE1C,IAAY,qBAEX;AAFD,WAAY,qBAAqB;IAC/B,gEAAuC,CAAA;AACzC,CAAC,EAFW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAEhC;AAED,4BAA4B;AACf,QAAA,4BAA4B,GAAG,CAAC,CAAC;AAC9C,2BAA2B;AACd,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAEzC,4BAA4B;AACf,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAC/C,2BAA2B;AACd,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAE7B,QAAA,aAAa,GAAG,MAAM,CAAC;AAEvB,QAAA,gCAAgC,GAAG,kBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5D,QAAA,oBAAoB,GAAG,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACnD,QAAA,uBAAuB,GAAG,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACtD,QAAA,mBAAmB,GAAG,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClD,QAAA,sBAAsB,GAAG,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACrD,QAAA,gBAAgB,GAAG,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC/C,QAAA,oBAAoB,GAAG,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -17,13 +17,13 @@ export declare class GenericSwapTransactionBuilder {
|
|
|
17
17
|
constructor(dexAdapterService: DexAdapterService, wExchangeNetworkToKey?: Record<number, string>);
|
|
18
18
|
protected getDepositWithdrawWethCallData(srcAmountWeth: bigint, destAmountWeth: bigint, side: SwapSide): DepositWithdrawReturn | undefined;
|
|
19
19
|
protected buildCalls(priceRoute: OptimalRate, minMaxAmount: string, bytecodeBuilder: ExecutorBytecodeBuilder, userAddress: string): Promise<string>;
|
|
20
|
-
protected _build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, isCapSurplus: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): Promise<{
|
|
20
|
+
protected _build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, isCapSurplus: boolean, isSurplusToUser: boolean, isDirectFeeTransfer: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): Promise<{
|
|
21
21
|
encoder: (...params: any[]) => string;
|
|
22
22
|
params: (string | string[])[];
|
|
23
23
|
}>;
|
|
24
|
-
protected _buildDirect(priceRoute: OptimalRate, minMaxAmount: string, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, isCapSurplus: boolean, permit: string, uuid: string, beneficiary: Address): Promise<import("./types").TxInfo<any>>;
|
|
24
|
+
protected _buildDirect(priceRoute: OptimalRate, minMaxAmount: string, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, isCapSurplus: boolean, isSurplusToUser: boolean, isDirectFeeTransfer: boolean, permit: string, uuid: string, beneficiary: Address): Promise<import("./types").TxInfo<any>>;
|
|
25
25
|
private buildFeesV6;
|
|
26
|
-
build({ priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, isCapSurplus, gasPrice, maxFeePerGas, maxPriorityFeePerGas, permit, deadline, uuid, beneficiary, onlyParams, }: {
|
|
26
|
+
build({ priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, isCapSurplus, isSurplusToUser, isDirectFeeTransfer, gasPrice, maxFeePerGas, maxPriorityFeePerGas, permit, deadline, uuid, beneficiary, onlyParams, }: {
|
|
27
27
|
priceRoute: OptimalRate;
|
|
28
28
|
minMaxAmount: string;
|
|
29
29
|
userAddress: Address;
|
|
@@ -32,6 +32,8 @@ export declare class GenericSwapTransactionBuilder {
|
|
|
32
32
|
partnerFeePercent: string;
|
|
33
33
|
takeSurplus?: boolean;
|
|
34
34
|
isCapSurplus?: boolean;
|
|
35
|
+
isSurplusToUser?: boolean;
|
|
36
|
+
isDirectFeeTransfer?: boolean;
|
|
35
37
|
gasPrice?: string;
|
|
36
38
|
maxFeePerGas?: string;
|
|
37
39
|
maxPriorityFeePerGas?: string;
|
|
@@ -67,7 +67,7 @@ class GenericSwapTransactionBuilder {
|
|
|
67
67
|
const buildExchangeParams = await this.addDexExchangeApproveParams(bytecodeBuilder, priceRoute, exchangeParams, maybeWethCallData);
|
|
68
68
|
return bytecodeBuilder.buildByteCode(priceRoute, buildExchangeParams, userAddress, maybeWethCallData);
|
|
69
69
|
}
|
|
70
|
-
async _build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, isCapSurplus, beneficiary, permit, deadline, uuid) {
|
|
70
|
+
async _build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, isCapSurplus, isSurplusToUser, isDirectFeeTransfer, beneficiary, permit, deadline, uuid) {
|
|
71
71
|
const executorName = this.executorDetector.getExecutorByPriceRoute(priceRoute);
|
|
72
72
|
const executionContractAddress = this.getExecutionContractAddress(priceRoute);
|
|
73
73
|
const bytecodeBuilder = this.executorDetector.getBytecodeBuilder(executorName);
|
|
@@ -80,6 +80,8 @@ class GenericSwapTransactionBuilder {
|
|
|
80
80
|
partnerFeePercent,
|
|
81
81
|
takeSurplus,
|
|
82
82
|
isCapSurplus,
|
|
83
|
+
isSurplusToUser,
|
|
84
|
+
isDirectFeeTransfer,
|
|
83
85
|
priceRoute,
|
|
84
86
|
});
|
|
85
87
|
const swapParams = [
|
|
@@ -107,7 +109,7 @@ class GenericSwapTransactionBuilder {
|
|
|
107
109
|
};
|
|
108
110
|
}
|
|
109
111
|
// TODO: Improve
|
|
110
|
-
async _buildDirect(priceRoute, minMaxAmount, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, isCapSurplus, permit, uuid, beneficiary) {
|
|
112
|
+
async _buildDirect(priceRoute, minMaxAmount, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, isCapSurplus, isSurplusToUser, isDirectFeeTransfer, permit, uuid, beneficiary) {
|
|
111
113
|
if (priceRoute.bestRoute.length !== 1 ||
|
|
112
114
|
priceRoute.bestRoute[0].percent !== 100 ||
|
|
113
115
|
priceRoute.bestRoute[0].swaps.length !== 1 ||
|
|
@@ -136,17 +138,21 @@ class GenericSwapTransactionBuilder {
|
|
|
136
138
|
partnerFeePercent,
|
|
137
139
|
takeSurplus,
|
|
138
140
|
isCapSurplus,
|
|
141
|
+
isSurplusToUser,
|
|
142
|
+
isDirectFeeTransfer,
|
|
139
143
|
priceRoute,
|
|
140
144
|
});
|
|
141
145
|
return dex.getDirectParamV6(priceRoute.srcToken, priceRoute.destToken, srcAmount, destAmount, expectedAmount, swapExchange.data, priceRoute.side, permit, uuid, partnerAndFee, beneficiary, priceRoute.blockNumber, priceRoute.contractMethod);
|
|
142
146
|
}
|
|
143
|
-
buildFeesV6({ referrerAddress, priceRoute, takeSurplus, isCapSurplus, partnerAddress, partnerFeePercent, skipBlacklist = false, }) {
|
|
147
|
+
buildFeesV6({ referrerAddress, priceRoute, takeSurplus, isCapSurplus, isSurplusToUser, isDirectFeeTransfer, partnerAddress, partnerFeePercent, skipBlacklist = false, }) {
|
|
144
148
|
const partnerAndFee = referrerAddress
|
|
145
149
|
? this.packPartnerAndFeeData({
|
|
146
150
|
partner: referrerAddress,
|
|
147
151
|
feePercent: '0',
|
|
148
152
|
isTakeSurplus: takeSurplus,
|
|
149
153
|
isCapSurplus,
|
|
154
|
+
isSurplusToUser,
|
|
155
|
+
isDirectFeeTransfer,
|
|
150
156
|
isReferral: true,
|
|
151
157
|
isSkipBlacklist: skipBlacklist,
|
|
152
158
|
})
|
|
@@ -155,12 +161,14 @@ class GenericSwapTransactionBuilder {
|
|
|
155
161
|
feePercent: partnerFeePercent,
|
|
156
162
|
isTakeSurplus: takeSurplus,
|
|
157
163
|
isCapSurplus,
|
|
164
|
+
isSurplusToUser,
|
|
165
|
+
isDirectFeeTransfer,
|
|
158
166
|
isSkipBlacklist: skipBlacklist,
|
|
159
167
|
isReferral: false,
|
|
160
168
|
});
|
|
161
169
|
return partnerAndFee;
|
|
162
170
|
}
|
|
163
|
-
async build({ priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, isCapSurplus, gasPrice, maxFeePerGas, maxPriorityFeePerGas, permit, deadline, uuid, beneficiary = constants_1.NULL_ADDRESS, onlyParams = false, }) {
|
|
171
|
+
async build({ priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, isCapSurplus, isSurplusToUser, isDirectFeeTransfer, gasPrice, maxFeePerGas, maxPriorityFeePerGas, permit, deadline, uuid, beneficiary = constants_1.NULL_ADDRESS, onlyParams = false, }) {
|
|
164
172
|
// if beneficiary is not defined, then in smart contract it will be replaced to msg.sender
|
|
165
173
|
const _beneficiary = beneficiary !== constants_1.NULL_ADDRESS &&
|
|
166
174
|
beneficiary.toLowerCase() !== userAddress.toLowerCase()
|
|
@@ -169,10 +177,10 @@ class GenericSwapTransactionBuilder {
|
|
|
169
177
|
let encoder;
|
|
170
178
|
let params;
|
|
171
179
|
if (this.dexAdapterService.isDirectFunctionNameV6(priceRoute.contractMethod)) {
|
|
172
|
-
({ encoder, params } = await this._buildDirect(priceRoute, minMaxAmount, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus ?? false, isCapSurplus ?? true, permit || '0x', uuid, _beneficiary));
|
|
180
|
+
({ encoder, params } = await this._buildDirect(priceRoute, minMaxAmount, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus ?? false, isCapSurplus ?? true, isSurplusToUser ?? false, isDirectFeeTransfer ?? false, permit || '0x', uuid, _beneficiary));
|
|
173
181
|
}
|
|
174
182
|
else {
|
|
175
|
-
({ encoder, params } = await this._build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus ?? false, isCapSurplus ?? true, _beneficiary, permit || '0x', deadline, uuid));
|
|
183
|
+
({ encoder, params } = await this._build(priceRoute, minMaxAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus ?? false, isCapSurplus ?? true, isSurplusToUser ?? false, isDirectFeeTransfer ?? false, _beneficiary, permit || '0x', deadline, uuid));
|
|
176
184
|
}
|
|
177
185
|
const value = (priceRoute.srcToken.toLowerCase() === constants_1.ETHER_ADDRESS.toLowerCase()
|
|
178
186
|
? BigInt(priceRoute.side === constants_1.SwapSide.SELL
|
|
@@ -189,7 +197,7 @@ class GenericSwapTransactionBuilder {
|
|
|
189
197
|
maxPriorityFeePerGas,
|
|
190
198
|
};
|
|
191
199
|
}
|
|
192
|
-
packPartnerAndFeeData({ partner, feePercent, isTakeSurplus, isCapSurplus, isReferral, isSkipBlacklist, }) {
|
|
200
|
+
packPartnerAndFeeData({ partner, feePercent, isTakeSurplus, isCapSurplus, isSurplusToUser, isDirectFeeTransfer, isReferral, isSkipBlacklist, }) {
|
|
193
201
|
// Partner address shifted left to make room for flags and fee percent
|
|
194
202
|
const partialFeeCodeWithPartnerAddress = ethers_1.BigNumber.from(partner).shl(96);
|
|
195
203
|
let partialFeeCodeWithBitFlags = ethers_1.BigNumber.from(0); // default 0 is safe if none the conditions pass
|
|
@@ -216,6 +224,13 @@ class GenericSwapTransactionBuilder {
|
|
|
216
224
|
partialFeeCodeWithBitFlags =
|
|
217
225
|
partialFeeCodeWithBitFlags.or(constants_1.IS_CAP_SURPLUS_MASK);
|
|
218
226
|
}
|
|
227
|
+
if (isSurplusToUser) {
|
|
228
|
+
partialFeeCodeWithBitFlags =
|
|
229
|
+
partialFeeCodeWithBitFlags.or(constants_1.IS_USER_SURPLUS_MASK);
|
|
230
|
+
}
|
|
231
|
+
if (isDirectFeeTransfer) {
|
|
232
|
+
partialFeeCodeWithBitFlags = partialFeeCodeWithBitFlags.or(constants_1.IS_DIRECT_TRANSFER_MASK);
|
|
233
|
+
}
|
|
219
234
|
// Combine partnerBigInt and feePercentBigInt
|
|
220
235
|
const feeCode = partialFeeCodeWithPartnerAddress.or(partialFeeCodeWithBitFlags);
|
|
221
236
|
return feeCode.toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-swap-transaction-builder.js","sourceRoot":"","sources":["../src/generic-swap-transaction-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generic-swap-transaction-builder.js","sourceRoot":"","sources":["../src/generic-swap-transaction-builder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
|
@@ -61,6 +61,8 @@ export const DEST_TOKEN_DEX_TRANSFERS = 1;
|
|
|
61
61
|
export const BPS_MAX_VALUE = 10000n;
|
|
62
62
|
|
|
63
63
|
export const FEE_PERCENT_IN_BASIS_POINTS_MASK = BigNumber.from('0x3FFF');
|
|
64
|
+
export const IS_USER_SURPLUS_MASK = BigNumber.from('1').shl(90);
|
|
65
|
+
export const IS_DIRECT_TRANSFER_MASK = BigNumber.from('1').shl(91);
|
|
64
66
|
export const IS_CAP_SURPLUS_MASK = BigNumber.from('1').shl(92);
|
|
65
67
|
export const IS_SKIP_BLACKLIST_MASK = BigNumber.from('1').shl(93);
|
|
66
68
|
export const IS_REFERRAL_MASK = BigNumber.from('1').shl(94);
|
|
@@ -12,9 +12,11 @@ import {
|
|
|
12
12
|
ETHER_ADDRESS,
|
|
13
13
|
FEE_PERCENT_IN_BASIS_POINTS_MASK,
|
|
14
14
|
IS_CAP_SURPLUS_MASK,
|
|
15
|
+
IS_DIRECT_TRANSFER_MASK,
|
|
15
16
|
IS_REFERRAL_MASK,
|
|
16
17
|
IS_SKIP_BLACKLIST_MASK,
|
|
17
18
|
IS_TAKE_SURPLUS_MASK,
|
|
19
|
+
IS_USER_SURPLUS_MASK,
|
|
18
20
|
NULL_ADDRESS,
|
|
19
21
|
SwapSide,
|
|
20
22
|
} from './constants';
|
|
@@ -43,6 +45,8 @@ interface FeeParams {
|
|
|
43
45
|
feePercent: string;
|
|
44
46
|
isTakeSurplus: boolean;
|
|
45
47
|
isCapSurplus: boolean;
|
|
48
|
+
isSurplusToUser: boolean;
|
|
49
|
+
isDirectFeeTransfer: boolean;
|
|
46
50
|
isReferral: boolean;
|
|
47
51
|
isSkipBlacklist: boolean;
|
|
48
52
|
}
|
|
@@ -209,6 +213,8 @@ export class GenericSwapTransactionBuilder {
|
|
|
209
213
|
partnerFeePercent: string,
|
|
210
214
|
takeSurplus: boolean,
|
|
211
215
|
isCapSurplus: boolean,
|
|
216
|
+
isSurplusToUser: boolean,
|
|
217
|
+
isDirectFeeTransfer: boolean,
|
|
212
218
|
beneficiary: Address,
|
|
213
219
|
permit: string,
|
|
214
220
|
deadline: string,
|
|
@@ -237,6 +243,8 @@ export class GenericSwapTransactionBuilder {
|
|
|
237
243
|
partnerFeePercent,
|
|
238
244
|
takeSurplus,
|
|
239
245
|
isCapSurplus,
|
|
246
|
+
isSurplusToUser,
|
|
247
|
+
isDirectFeeTransfer,
|
|
240
248
|
priceRoute,
|
|
241
249
|
});
|
|
242
250
|
|
|
@@ -280,6 +288,8 @@ export class GenericSwapTransactionBuilder {
|
|
|
280
288
|
partnerFeePercent: string,
|
|
281
289
|
takeSurplus: boolean,
|
|
282
290
|
isCapSurplus: boolean,
|
|
291
|
+
isSurplusToUser: boolean,
|
|
292
|
+
isDirectFeeTransfer: boolean,
|
|
283
293
|
permit: string,
|
|
284
294
|
uuid: string,
|
|
285
295
|
beneficiary: Address,
|
|
@@ -324,6 +334,8 @@ export class GenericSwapTransactionBuilder {
|
|
|
324
334
|
partnerFeePercent,
|
|
325
335
|
takeSurplus,
|
|
326
336
|
isCapSurplus,
|
|
337
|
+
isSurplusToUser,
|
|
338
|
+
isDirectFeeTransfer,
|
|
327
339
|
priceRoute,
|
|
328
340
|
});
|
|
329
341
|
|
|
@@ -349,6 +361,8 @@ export class GenericSwapTransactionBuilder {
|
|
|
349
361
|
priceRoute,
|
|
350
362
|
takeSurplus,
|
|
351
363
|
isCapSurplus,
|
|
364
|
+
isSurplusToUser,
|
|
365
|
+
isDirectFeeTransfer,
|
|
352
366
|
partnerAddress,
|
|
353
367
|
partnerFeePercent,
|
|
354
368
|
skipBlacklist = false,
|
|
@@ -358,6 +372,8 @@ export class GenericSwapTransactionBuilder {
|
|
|
358
372
|
partnerFeePercent: string;
|
|
359
373
|
takeSurplus: boolean;
|
|
360
374
|
isCapSurplus: boolean;
|
|
375
|
+
isSurplusToUser: boolean;
|
|
376
|
+
isDirectFeeTransfer: boolean;
|
|
361
377
|
priceRoute: OptimalRate;
|
|
362
378
|
skipBlacklist?: boolean;
|
|
363
379
|
}) {
|
|
@@ -367,6 +383,8 @@ export class GenericSwapTransactionBuilder {
|
|
|
367
383
|
feePercent: '0',
|
|
368
384
|
isTakeSurplus: takeSurplus,
|
|
369
385
|
isCapSurplus,
|
|
386
|
+
isSurplusToUser,
|
|
387
|
+
isDirectFeeTransfer,
|
|
370
388
|
isReferral: true,
|
|
371
389
|
isSkipBlacklist: skipBlacklist,
|
|
372
390
|
})
|
|
@@ -375,6 +393,8 @@ export class GenericSwapTransactionBuilder {
|
|
|
375
393
|
feePercent: partnerFeePercent,
|
|
376
394
|
isTakeSurplus: takeSurplus,
|
|
377
395
|
isCapSurplus,
|
|
396
|
+
isSurplusToUser,
|
|
397
|
+
isDirectFeeTransfer,
|
|
378
398
|
isSkipBlacklist: skipBlacklist,
|
|
379
399
|
isReferral: false,
|
|
380
400
|
});
|
|
@@ -391,6 +411,8 @@ export class GenericSwapTransactionBuilder {
|
|
|
391
411
|
partnerFeePercent,
|
|
392
412
|
takeSurplus,
|
|
393
413
|
isCapSurplus,
|
|
414
|
+
isSurplusToUser,
|
|
415
|
+
isDirectFeeTransfer,
|
|
394
416
|
gasPrice,
|
|
395
417
|
maxFeePerGas,
|
|
396
418
|
maxPriorityFeePerGas,
|
|
@@ -408,6 +430,8 @@ export class GenericSwapTransactionBuilder {
|
|
|
408
430
|
partnerFeePercent: string;
|
|
409
431
|
takeSurplus?: boolean;
|
|
410
432
|
isCapSurplus?: boolean;
|
|
433
|
+
isSurplusToUser?: boolean;
|
|
434
|
+
isDirectFeeTransfer?: boolean;
|
|
411
435
|
gasPrice?: string;
|
|
412
436
|
maxFeePerGas?: string;
|
|
413
437
|
maxPriorityFeePerGas?: string;
|
|
@@ -438,6 +462,8 @@ export class GenericSwapTransactionBuilder {
|
|
|
438
462
|
partnerFeePercent,
|
|
439
463
|
takeSurplus ?? false,
|
|
440
464
|
isCapSurplus ?? true,
|
|
465
|
+
isSurplusToUser ?? false,
|
|
466
|
+
isDirectFeeTransfer ?? false,
|
|
441
467
|
permit || '0x',
|
|
442
468
|
uuid,
|
|
443
469
|
_beneficiary,
|
|
@@ -452,6 +478,8 @@ export class GenericSwapTransactionBuilder {
|
|
|
452
478
|
partnerFeePercent,
|
|
453
479
|
takeSurplus ?? false,
|
|
454
480
|
isCapSurplus ?? true,
|
|
481
|
+
isSurplusToUser ?? false,
|
|
482
|
+
isDirectFeeTransfer ?? false,
|
|
455
483
|
_beneficiary,
|
|
456
484
|
permit || '0x',
|
|
457
485
|
deadline,
|
|
@@ -485,6 +513,8 @@ export class GenericSwapTransactionBuilder {
|
|
|
485
513
|
feePercent,
|
|
486
514
|
isTakeSurplus,
|
|
487
515
|
isCapSurplus,
|
|
516
|
+
isSurplusToUser,
|
|
517
|
+
isDirectFeeTransfer,
|
|
488
518
|
isReferral,
|
|
489
519
|
isSkipBlacklist,
|
|
490
520
|
}: FeeParams): string {
|
|
@@ -522,6 +552,16 @@ export class GenericSwapTransactionBuilder {
|
|
|
522
552
|
partialFeeCodeWithBitFlags.or(IS_CAP_SURPLUS_MASK);
|
|
523
553
|
}
|
|
524
554
|
|
|
555
|
+
if (isSurplusToUser) {
|
|
556
|
+
partialFeeCodeWithBitFlags =
|
|
557
|
+
partialFeeCodeWithBitFlags.or(IS_USER_SURPLUS_MASK);
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
if (isDirectFeeTransfer) {
|
|
561
|
+
partialFeeCodeWithBitFlags = partialFeeCodeWithBitFlags.or(
|
|
562
|
+
IS_DIRECT_TRANSFER_MASK,
|
|
563
|
+
);
|
|
564
|
+
}
|
|
525
565
|
// Combine partnerBigInt and feePercentBigInt
|
|
526
566
|
const feeCode = partialFeeCodeWithPartnerAddress.or(
|
|
527
567
|
partialFeeCodeWithBitFlags,
|