@pendle/sdk-boros 1.3.4 → 1.4.0-socket-v3-migration-20260703185249
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/CHANGELOG.md +6 -0
- package/dist/addresses.js +1 -1
- package/dist/addresses.js.map +1 -1
- package/dist/contracts/abis/viemAbiAllowanceHolder.d.ts +25 -0
- package/dist/contracts/abis/viemAbiAllowanceHolder.js +8 -0
- package/dist/contracts/abis/viemAbiAllowanceHolder.js.map +1 -0
- package/dist/contracts/abis/viemAbiOpenRouter.d.ts +212 -0
- package/dist/contracts/abis/viemAbiOpenRouter.js +11 -0
- package/dist/contracts/abis/viemAbiOpenRouter.js.map +1 -0
- package/dist/entities/crossChainDeposit/aggregators/Bungee/index.js +44 -51
- package/dist/entities/crossChainDeposit/aggregators/Bungee/index.js.map +1 -1
- package/dist/entities/crossChainDeposit/aggregators/Bungee/types.d.ts +45 -39
- package/dist/entities/crossChainDeposit/aggregators/Bungee/types.js.map +1 -1
- package/dist/entities/crossChainDeposit/aggregators/Bungee/validation.d.ts +11 -2
- package/dist/entities/crossChainDeposit/aggregators/Bungee/validation.js +76 -31
- package/dist/entities/crossChainDeposit/aggregators/Bungee/validation.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @pendle/sdk-boros
|
|
2
2
|
|
|
3
|
+
## 1.4.0-socket-v3-migration-20260703185249
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 188df7a: Migrate cross-chain deposit (Bungee) aggregator to the Socket v3 API: v3 quote endpoint and response shape, 3-layer nested calldata decoding, and rewritten calldata validation (AllowanceHolder/OpenRouter allowlist, exec amount-lock, entrypoint allowlist, same-chain swap receiver/minOut).
|
|
8
|
+
|
|
3
9
|
## 1.3.4
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/dist/addresses.js
CHANGED
|
@@ -103,7 +103,7 @@ const getChainId = () => {
|
|
|
103
103
|
};
|
|
104
104
|
exports.getChainId = getChainId;
|
|
105
105
|
function getBungeeApiUrl() {
|
|
106
|
-
return exports.env === 'production' ? 'https://backend.
|
|
106
|
+
return exports.env === 'production' ? 'https://backend.socket.tech' : 'https://public-backend.socket.tech';
|
|
107
107
|
}
|
|
108
108
|
function toAddress(rawAddress) {
|
|
109
109
|
return rawAddress.toLowerCase();
|
package/dist/addresses.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addresses.js","sourceRoot":"","sources":["../src/addresses.ts"],"names":[],"mappings":";;;AAMA,wBAEC;AAqGD,
|
|
1
|
+
{"version":3,"file":"addresses.js","sourceRoot":"","sources":["../src/addresses.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const allowanceHolderAbi: readonly [{
|
|
2
|
+
readonly name: "exec";
|
|
3
|
+
readonly type: "function";
|
|
4
|
+
readonly stateMutability: "payable";
|
|
5
|
+
readonly inputs: readonly [{
|
|
6
|
+
readonly type: "address";
|
|
7
|
+
readonly name: "operator";
|
|
8
|
+
}, {
|
|
9
|
+
readonly type: "address";
|
|
10
|
+
readonly name: "token";
|
|
11
|
+
}, {
|
|
12
|
+
readonly type: "uint256";
|
|
13
|
+
readonly name: "amount";
|
|
14
|
+
}, {
|
|
15
|
+
readonly type: "address";
|
|
16
|
+
readonly name: "target";
|
|
17
|
+
}, {
|
|
18
|
+
readonly type: "bytes";
|
|
19
|
+
readonly name: "data";
|
|
20
|
+
}];
|
|
21
|
+
readonly outputs: readonly [{
|
|
22
|
+
readonly type: "bytes";
|
|
23
|
+
readonly name: "result";
|
|
24
|
+
}];
|
|
25
|
+
}];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.allowanceHolderAbi = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
exports.allowanceHolderAbi = (0, viem_1.parseAbi)([
|
|
6
|
+
'function exec(address operator, address token, uint256 amount, address target, bytes data) payable returns (bytes result)',
|
|
7
|
+
]);
|
|
8
|
+
//# sourceMappingURL=viemAbiAllowanceHolder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viemAbiAllowanceHolder.js","sourceRoot":"","sources":["../../../src/contracts/abis/viemAbiAllowanceHolder.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAanB,QAAA,kBAAkB,GAAG,IAAA,eAAQ,EAAC;IACzC,2HAA2H;CAC5H,CAAC,CAAC"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
export declare const openRouterAbi: readonly [{
|
|
2
|
+
readonly name: "swap";
|
|
3
|
+
readonly type: "function";
|
|
4
|
+
readonly stateMutability: "payable";
|
|
5
|
+
readonly inputs: readonly [{
|
|
6
|
+
readonly type: "bytes32";
|
|
7
|
+
readonly name: "quoteId";
|
|
8
|
+
}, {
|
|
9
|
+
readonly type: "uint256";
|
|
10
|
+
readonly name: "flags";
|
|
11
|
+
}, {
|
|
12
|
+
readonly type: "tuple";
|
|
13
|
+
readonly components: readonly [{
|
|
14
|
+
readonly type: "address";
|
|
15
|
+
readonly name: "user";
|
|
16
|
+
}, {
|
|
17
|
+
readonly type: "address";
|
|
18
|
+
readonly name: "inputToken";
|
|
19
|
+
}, {
|
|
20
|
+
readonly type: "uint256";
|
|
21
|
+
readonly name: "inputAmount";
|
|
22
|
+
}];
|
|
23
|
+
readonly name: "input";
|
|
24
|
+
}, {
|
|
25
|
+
readonly type: "tuple";
|
|
26
|
+
readonly components: readonly [{
|
|
27
|
+
readonly type: "address";
|
|
28
|
+
readonly name: "receiver";
|
|
29
|
+
}, {
|
|
30
|
+
readonly type: "uint256";
|
|
31
|
+
readonly name: "amount";
|
|
32
|
+
}];
|
|
33
|
+
readonly name: "fee";
|
|
34
|
+
}, {
|
|
35
|
+
readonly type: "tuple";
|
|
36
|
+
readonly components: readonly [{
|
|
37
|
+
readonly type: "address";
|
|
38
|
+
readonly name: "target";
|
|
39
|
+
}, {
|
|
40
|
+
readonly type: "address";
|
|
41
|
+
readonly name: "approvalSpender";
|
|
42
|
+
}, {
|
|
43
|
+
readonly type: "address";
|
|
44
|
+
readonly name: "outputToken";
|
|
45
|
+
}, {
|
|
46
|
+
readonly type: "uint256";
|
|
47
|
+
readonly name: "value";
|
|
48
|
+
}, {
|
|
49
|
+
readonly type: "uint256";
|
|
50
|
+
readonly name: "minOutput";
|
|
51
|
+
}, {
|
|
52
|
+
readonly type: "uint256";
|
|
53
|
+
readonly name: "returnDataWordOffset";
|
|
54
|
+
}];
|
|
55
|
+
readonly name: "swapData";
|
|
56
|
+
}, {
|
|
57
|
+
readonly type: "bytes";
|
|
58
|
+
readonly name: "swapCallData";
|
|
59
|
+
}, {
|
|
60
|
+
readonly type: "address";
|
|
61
|
+
readonly name: "recipient";
|
|
62
|
+
}];
|
|
63
|
+
readonly outputs: readonly [{
|
|
64
|
+
readonly type: "uint256";
|
|
65
|
+
}];
|
|
66
|
+
}, {
|
|
67
|
+
readonly name: "swapAndBridge";
|
|
68
|
+
readonly type: "function";
|
|
69
|
+
readonly stateMutability: "payable";
|
|
70
|
+
readonly inputs: readonly [{
|
|
71
|
+
readonly type: "bytes32";
|
|
72
|
+
readonly name: "quoteId";
|
|
73
|
+
}, {
|
|
74
|
+
readonly type: "uint256";
|
|
75
|
+
readonly name: "flags";
|
|
76
|
+
}, {
|
|
77
|
+
readonly type: "tuple";
|
|
78
|
+
readonly components: readonly [{
|
|
79
|
+
readonly type: "address";
|
|
80
|
+
readonly name: "user";
|
|
81
|
+
}, {
|
|
82
|
+
readonly type: "address";
|
|
83
|
+
readonly name: "inputToken";
|
|
84
|
+
}, {
|
|
85
|
+
readonly type: "uint256";
|
|
86
|
+
readonly name: "inputAmount";
|
|
87
|
+
}];
|
|
88
|
+
readonly name: "input";
|
|
89
|
+
}, {
|
|
90
|
+
readonly type: "tuple";
|
|
91
|
+
readonly components: readonly [{
|
|
92
|
+
readonly type: "address";
|
|
93
|
+
readonly name: "receiver";
|
|
94
|
+
}, {
|
|
95
|
+
readonly type: "uint256";
|
|
96
|
+
readonly name: "amount";
|
|
97
|
+
}];
|
|
98
|
+
readonly name: "fee";
|
|
99
|
+
}, {
|
|
100
|
+
readonly type: "tuple";
|
|
101
|
+
readonly components: readonly [{
|
|
102
|
+
readonly type: "address";
|
|
103
|
+
readonly name: "target";
|
|
104
|
+
}, {
|
|
105
|
+
readonly type: "address";
|
|
106
|
+
readonly name: "approvalSpender";
|
|
107
|
+
}, {
|
|
108
|
+
readonly type: "address";
|
|
109
|
+
readonly name: "outputToken";
|
|
110
|
+
}, {
|
|
111
|
+
readonly type: "uint256";
|
|
112
|
+
readonly name: "value";
|
|
113
|
+
}, {
|
|
114
|
+
readonly type: "uint256";
|
|
115
|
+
readonly name: "minOutput";
|
|
116
|
+
}, {
|
|
117
|
+
readonly type: "uint256";
|
|
118
|
+
readonly name: "returnDataWordOffset";
|
|
119
|
+
}];
|
|
120
|
+
readonly name: "swapData";
|
|
121
|
+
}, {
|
|
122
|
+
readonly type: "bytes";
|
|
123
|
+
readonly name: "swapCallData";
|
|
124
|
+
}, {
|
|
125
|
+
readonly type: "tuple";
|
|
126
|
+
readonly components: readonly [{
|
|
127
|
+
readonly type: "address";
|
|
128
|
+
readonly name: "bridgeTarget";
|
|
129
|
+
}, {
|
|
130
|
+
readonly type: "address";
|
|
131
|
+
readonly name: "bridgeApprovalSpender";
|
|
132
|
+
}, {
|
|
133
|
+
readonly type: "uint256";
|
|
134
|
+
readonly name: "bridgeValue";
|
|
135
|
+
}];
|
|
136
|
+
readonly name: "bridgeData";
|
|
137
|
+
}, {
|
|
138
|
+
readonly type: "bytes";
|
|
139
|
+
readonly name: "bridgeCallData";
|
|
140
|
+
}];
|
|
141
|
+
readonly outputs: readonly [];
|
|
142
|
+
}, {
|
|
143
|
+
readonly name: "bridge";
|
|
144
|
+
readonly type: "function";
|
|
145
|
+
readonly stateMutability: "payable";
|
|
146
|
+
readonly inputs: readonly [{
|
|
147
|
+
readonly type: "bytes32";
|
|
148
|
+
readonly name: "quoteId";
|
|
149
|
+
}, {
|
|
150
|
+
readonly type: "tuple";
|
|
151
|
+
readonly components: readonly [{
|
|
152
|
+
readonly type: "address";
|
|
153
|
+
readonly name: "user";
|
|
154
|
+
}, {
|
|
155
|
+
readonly type: "address";
|
|
156
|
+
readonly name: "inputToken";
|
|
157
|
+
}, {
|
|
158
|
+
readonly type: "uint256";
|
|
159
|
+
readonly name: "inputAmount";
|
|
160
|
+
}];
|
|
161
|
+
readonly name: "input";
|
|
162
|
+
}, {
|
|
163
|
+
readonly type: "tuple";
|
|
164
|
+
readonly components: readonly [{
|
|
165
|
+
readonly type: "address";
|
|
166
|
+
readonly name: "receiver";
|
|
167
|
+
}, {
|
|
168
|
+
readonly type: "uint256";
|
|
169
|
+
readonly name: "amount";
|
|
170
|
+
}];
|
|
171
|
+
readonly name: "fee";
|
|
172
|
+
}, {
|
|
173
|
+
readonly type: "tuple";
|
|
174
|
+
readonly components: readonly [{
|
|
175
|
+
readonly type: "address";
|
|
176
|
+
readonly name: "target";
|
|
177
|
+
}, {
|
|
178
|
+
readonly type: "address";
|
|
179
|
+
readonly name: "approvalSpender";
|
|
180
|
+
}, {
|
|
181
|
+
readonly type: "uint256";
|
|
182
|
+
readonly name: "value";
|
|
183
|
+
}];
|
|
184
|
+
readonly name: "bridgeData";
|
|
185
|
+
}, {
|
|
186
|
+
readonly type: "bytes";
|
|
187
|
+
readonly name: "bridgeCallData";
|
|
188
|
+
}];
|
|
189
|
+
readonly outputs: readonly [];
|
|
190
|
+
}, {
|
|
191
|
+
readonly name: "performActions";
|
|
192
|
+
readonly type: "function";
|
|
193
|
+
readonly stateMutability: "payable";
|
|
194
|
+
readonly inputs: readonly [{
|
|
195
|
+
readonly type: "bytes32";
|
|
196
|
+
readonly name: "quoteId";
|
|
197
|
+
}, {
|
|
198
|
+
readonly type: "tuple[]";
|
|
199
|
+
readonly components: readonly [{
|
|
200
|
+
readonly type: "uint256";
|
|
201
|
+
readonly name: "actionInfo";
|
|
202
|
+
}, {
|
|
203
|
+
readonly type: "bytes";
|
|
204
|
+
readonly name: "data";
|
|
205
|
+
}, {
|
|
206
|
+
readonly type: "uint256[]";
|
|
207
|
+
readonly name: "splices";
|
|
208
|
+
}];
|
|
209
|
+
readonly name: "actions";
|
|
210
|
+
}];
|
|
211
|
+
readonly outputs: readonly [];
|
|
212
|
+
}];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.openRouterAbi = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
exports.openRouterAbi = (0, viem_1.parseAbi)([
|
|
6
|
+
'function swap(bytes32 quoteId, uint256 flags, (address user, address inputToken, uint256 inputAmount) input, (address receiver, uint256 amount) fee, (address target, address approvalSpender, address outputToken, uint256 value, uint256 minOutput, uint256 returnDataWordOffset) swapData, bytes swapCallData, address recipient) payable returns (uint256)',
|
|
7
|
+
'function swapAndBridge(bytes32 quoteId, uint256 flags, (address user, address inputToken, uint256 inputAmount) input, (address receiver, uint256 amount) fee, (address target, address approvalSpender, address outputToken, uint256 value, uint256 minOutput, uint256 returnDataWordOffset) swapData, bytes swapCallData, (address bridgeTarget, address bridgeApprovalSpender, uint256 bridgeValue) bridgeData, bytes bridgeCallData) payable',
|
|
8
|
+
'function bridge(bytes32 quoteId, (address user, address inputToken, uint256 inputAmount) input, (address receiver, uint256 amount) fee, (address target, address approvalSpender, uint256 value) bridgeData, bytes bridgeCallData) payable',
|
|
9
|
+
'function performActions(bytes32 quoteId, (uint256 actionInfo, bytes data, uint256[] splices)[] actions) payable',
|
|
10
|
+
]);
|
|
11
|
+
//# sourceMappingURL=viemAbiOpenRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viemAbiOpenRouter.js","sourceRoot":"","sources":["../../../src/contracts/abis/viemAbiOpenRouter.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAanB,QAAA,aAAa,GAAG,IAAA,eAAQ,EAAC;IAKpC,gWAAgW;IAChW,ibAAib;IACjb,4OAA4O;IAC5O,iHAAiH;CAClH,CAAC,CAAC"}
|
|
@@ -43,28 +43,21 @@ class BungeeDepositResult {
|
|
|
43
43
|
constructor(params) {
|
|
44
44
|
const { req, res, aggregatorHelper, finalToken } = params;
|
|
45
45
|
this.req = req;
|
|
46
|
-
this.rawResult = res.
|
|
46
|
+
this.rawResult = res.routes ?? [];
|
|
47
47
|
this.aggregatorHelper = aggregatorHelper;
|
|
48
48
|
this.inputToken = res.input.token;
|
|
49
49
|
this.finalToken = finalToken;
|
|
50
50
|
this.routes = this.rawResult.map((route) => ({
|
|
51
51
|
id: route.quoteId,
|
|
52
52
|
inputTokenAmount: createTokenAmountFromBungee(res.input.token, res.input.amount, res.input.priceInUsd),
|
|
53
|
-
outputTokenAmount: createTokenAmountFromBungee(route.output.token, route.output.
|
|
53
|
+
outputTokenAmount: createTokenAmountFromBungee(route.output.token, route.output.amount, route.output.priceInUsd),
|
|
54
54
|
minOutputTokenAmount: createTokenAmountFromBungee(route.output.token, route.output.minAmountOut, route.output.priceInUsd).slipDown(constants_1.BUNGEE_MIN_OUTPUT_BUFFER),
|
|
55
55
|
steps: [
|
|
56
56
|
{
|
|
57
57
|
fromTokenAmount: createTokenAmountFromBungee(res.input.token, res.input.amount, res.input.priceInUsd),
|
|
58
58
|
toTokenAmount: createTokenAmountFromBungee(route.output.token, route.output.amount, route.output.priceInUsd),
|
|
59
59
|
executionDuration: route.estimatedTime + constants_1.BOROS_PROCESSING_s,
|
|
60
|
-
feeCosts:
|
|
61
|
-
? [
|
|
62
|
-
{
|
|
63
|
-
name: 'Bridge Fee',
|
|
64
|
-
amountUSD: route.routeDetails.routeFee.feeInUsd,
|
|
65
|
-
},
|
|
66
|
-
]
|
|
67
|
-
: [],
|
|
60
|
+
feeCosts: [],
|
|
68
61
|
gasCosts: route.gasFee == null
|
|
69
62
|
? []
|
|
70
63
|
: [
|
|
@@ -74,9 +67,11 @@ class BungeeDepositResult {
|
|
|
74
67
|
},
|
|
75
68
|
],
|
|
76
69
|
tool: {
|
|
77
|
-
key: route.routeDetails.
|
|
78
|
-
|
|
79
|
-
|
|
70
|
+
key: ((route.routeDetails.bridgeDetails ?? route.routeDetails.dexDetails)?.protocol.displayName ?? 'Bungee')
|
|
71
|
+
.toLowerCase()
|
|
72
|
+
.replace(/\s+/g, '-'),
|
|
73
|
+
name: (route.routeDetails.bridgeDetails ?? route.routeDetails.dexDetails)?.protocol.displayName ?? 'Bungee',
|
|
74
|
+
logoURI: (route.routeDetails.bridgeDetails ?? route.routeDetails.dexDetails)?.protocol.icon || constants_1.BUNGEE_LOGO_URI,
|
|
80
75
|
},
|
|
81
76
|
},
|
|
82
77
|
],
|
|
@@ -90,24 +85,31 @@ class BungeeDepositResult {
|
|
|
90
85
|
if (route == null) {
|
|
91
86
|
throw new Error(`Route not found: ${routeId}`);
|
|
92
87
|
}
|
|
93
|
-
if (route.txData == null) {
|
|
88
|
+
if (route.txData?.object == null) {
|
|
94
89
|
throw new Error(`Route has no tx data: ${routeId}`);
|
|
95
90
|
}
|
|
96
|
-
(0, validation_1.validateBungeeTxTarget)(route.txData.to);
|
|
97
|
-
if (route.
|
|
98
|
-
(0, validation_1.validateBungeeApprovalSpender)(route.
|
|
91
|
+
(0, validation_1.validateBungeeTxTarget)(route.txData.object.to);
|
|
92
|
+
if (route.approval?.spenderAddress) {
|
|
93
|
+
(0, validation_1.validateBungeeApprovalSpender)(route.approval.spenderAddress);
|
|
99
94
|
}
|
|
100
|
-
(0, validation_1.validateBungeeCalldata)(route.txData.data,
|
|
101
|
-
|
|
95
|
+
(0, validation_1.validateBungeeCalldata)(route.txData.object.data, {
|
|
96
|
+
to: route.txData.object.to,
|
|
97
|
+
user: this.req.userAddress,
|
|
98
|
+
inputToken: this.req.inputToken,
|
|
99
|
+
inputAmount: BigInt(this.req.inputAmount),
|
|
100
|
+
receiver: this.req.receiverAddress,
|
|
101
|
+
quotedMinOutput: BigInt(route.output.minAmountOut),
|
|
102
|
+
});
|
|
103
|
+
(0, utils_1.ensureCalldataHasBoxAddress)(route.txData.object.data, this.req.receiverAddress);
|
|
102
104
|
return {
|
|
103
105
|
transferData: {
|
|
104
106
|
aggregatorName: AggregatorHelper_1.AggregatorName.BUNGEE,
|
|
105
|
-
approvalAddress: route.
|
|
106
|
-
calldata: route.txData.data,
|
|
107
|
-
value: BigInt(route.txData.value),
|
|
107
|
+
approvalAddress: route.approval?.spenderAddress ?? viem_1.zeroAddress,
|
|
108
|
+
calldata: route.txData.object.data,
|
|
109
|
+
value: BigInt(route.txData.object.value),
|
|
108
110
|
from: this.req.userAddress,
|
|
109
|
-
to: route.txData.to,
|
|
110
|
-
chainId: route.txData.chainId,
|
|
111
|
+
to: route.txData.object.to,
|
|
112
|
+
chainId: route.txData.object.chainId,
|
|
111
113
|
},
|
|
112
114
|
swapData: {
|
|
113
115
|
tokenSpent: this.finalToken,
|
|
@@ -128,26 +130,19 @@ class BungeeWithdrawResult {
|
|
|
128
130
|
constructor(params) {
|
|
129
131
|
const { req, res, aggregatorHelper } = params;
|
|
130
132
|
this.req = req;
|
|
131
|
-
this.rawResult = res.
|
|
133
|
+
this.rawResult = res.routes ?? [];
|
|
132
134
|
this.aggregatorHelper = aggregatorHelper;
|
|
133
135
|
this.routes = this.rawResult.map((route) => ({
|
|
134
136
|
id: route.quoteId,
|
|
135
137
|
inputTokenAmount: createTokenAmountFromBungee(res.input.token, res.input.amount, res.input.priceInUsd),
|
|
136
|
-
outputTokenAmount: createTokenAmountFromBungee(route.output.token, route.output.
|
|
138
|
+
outputTokenAmount: createTokenAmountFromBungee(route.output.token, route.output.amount, route.output.priceInUsd),
|
|
137
139
|
minOutputTokenAmount: createTokenAmountFromBungee(route.output.token, route.output.minAmountOut, route.output.priceInUsd),
|
|
138
140
|
steps: [
|
|
139
141
|
{
|
|
140
142
|
fromTokenAmount: createTokenAmountFromBungee(res.input.token, res.input.amount, res.input.priceInUsd),
|
|
141
143
|
toTokenAmount: createTokenAmountFromBungee(route.output.token, route.output.amount, route.output.priceInUsd),
|
|
142
144
|
executionDuration: route.estimatedTime,
|
|
143
|
-
feeCosts:
|
|
144
|
-
? [
|
|
145
|
-
{
|
|
146
|
-
name: 'Bridge Fee',
|
|
147
|
-
amountUSD: route.routeDetails.routeFee.feeInUsd,
|
|
148
|
-
},
|
|
149
|
-
]
|
|
150
|
-
: [],
|
|
145
|
+
feeCosts: [],
|
|
151
146
|
gasCosts: route.gasFee == null
|
|
152
147
|
? []
|
|
153
148
|
: [
|
|
@@ -157,9 +152,11 @@ class BungeeWithdrawResult {
|
|
|
157
152
|
},
|
|
158
153
|
],
|
|
159
154
|
tool: {
|
|
160
|
-
key: route.routeDetails.
|
|
161
|
-
|
|
162
|
-
|
|
155
|
+
key: ((route.routeDetails.bridgeDetails ?? route.routeDetails.dexDetails)?.protocol.displayName ?? 'Bungee')
|
|
156
|
+
.toLowerCase()
|
|
157
|
+
.replace(/\s+/g, '-'),
|
|
158
|
+
name: (route.routeDetails.bridgeDetails ?? route.routeDetails.dexDetails)?.protocol.displayName ?? 'Bungee',
|
|
159
|
+
logoURI: (route.routeDetails.bridgeDetails ?? route.routeDetails.dexDetails)?.protocol.icon || constants_1.BUNGEE_LOGO_URI,
|
|
163
160
|
},
|
|
164
161
|
},
|
|
165
162
|
],
|
|
@@ -173,18 +170,18 @@ class BungeeWithdrawResult {
|
|
|
173
170
|
if (route == null) {
|
|
174
171
|
throw new Error(`Route not found: ${routeId}`);
|
|
175
172
|
}
|
|
176
|
-
if (route.txData == null) {
|
|
173
|
+
if (route.txData?.object == null) {
|
|
177
174
|
throw new Error(`Route has no tx data: ${routeId}`);
|
|
178
175
|
}
|
|
179
176
|
return {
|
|
180
177
|
transferData: {
|
|
181
178
|
aggregatorName: AggregatorHelper_1.AggregatorName.BUNGEE,
|
|
182
|
-
approvalAddress: route.
|
|
183
|
-
calldata: route.txData.data,
|
|
184
|
-
value: BigInt(route.txData.value),
|
|
179
|
+
approvalAddress: route.approval?.spenderAddress ?? viem_1.zeroAddress,
|
|
180
|
+
calldata: route.txData.object.data,
|
|
181
|
+
value: BigInt(route.txData.object.value),
|
|
185
182
|
from: this.req.userAddress,
|
|
186
|
-
to: route.txData.to,
|
|
187
|
-
chainId: route.txData.chainId,
|
|
183
|
+
to: route.txData.object.to,
|
|
184
|
+
chainId: route.txData.object.chainId,
|
|
188
185
|
},
|
|
189
186
|
};
|
|
190
187
|
};
|
|
@@ -206,6 +203,7 @@ class BungeeAggregatorHelper {
|
|
|
206
203
|
return wrapQuoteDeposit(params, async (resolved) => {
|
|
207
204
|
const { box } = await this.depositBoxFactoryContract.computeDepositBox(params.fromAddress, params.boxId);
|
|
208
205
|
const callParams = {
|
|
206
|
+
userOps: 'tx',
|
|
209
207
|
originChainId: params.fromChainId,
|
|
210
208
|
destinationChainId: resolved.toChainId,
|
|
211
209
|
inputToken: (0, address_1.toBungeeAddress)(params.fromToken),
|
|
@@ -213,14 +211,11 @@ class BungeeAggregatorHelper {
|
|
|
213
211
|
inputAmount: params.fromAmount.toString(),
|
|
214
212
|
userAddress: params.fromAddress,
|
|
215
213
|
receiverAddress: box,
|
|
216
|
-
enableManual: false,
|
|
217
|
-
enableMultipleAutoRoutes: true,
|
|
218
|
-
useInbox: true,
|
|
219
214
|
slippage: params.slippage * 100,
|
|
220
215
|
};
|
|
221
216
|
(0, utils_1.ensureDepositBoxAddress)(callParams.userAddress, params.boxId, callParams.receiverAddress);
|
|
222
217
|
try {
|
|
223
|
-
const { data } = await this.axios.get(`${this.apiUrl}/
|
|
218
|
+
const { data } = await this.axios.get(`${this.apiUrl}/v3/swap/quote`, {
|
|
224
219
|
params: callParams,
|
|
225
220
|
});
|
|
226
221
|
if (data.result == null) {
|
|
@@ -240,6 +235,7 @@ class BungeeAggregatorHelper {
|
|
|
240
235
|
}
|
|
241
236
|
async quoteWithdraw(params) {
|
|
242
237
|
const callParams = {
|
|
238
|
+
userOps: 'tx',
|
|
243
239
|
originChainId: chains_1.arbitrum.id,
|
|
244
240
|
destinationChainId: params.toChainId,
|
|
245
241
|
inputToken: (0, address_1.toBungeeAddress)(params.fromToken),
|
|
@@ -247,13 +243,10 @@ class BungeeAggregatorHelper {
|
|
|
247
243
|
inputAmount: params.fromAmount.toString(),
|
|
248
244
|
userAddress: params.fromAddress,
|
|
249
245
|
receiverAddress: params.fromAddress,
|
|
250
|
-
enableManual: false,
|
|
251
|
-
enableMultipleAutoRoutes: true,
|
|
252
|
-
useInbox: true,
|
|
253
246
|
slippage: params.slippage * 100,
|
|
254
247
|
};
|
|
255
248
|
try {
|
|
256
|
-
const { data } = await this.axios.get(`${this.apiUrl}/
|
|
249
|
+
const { data } = await this.axios.get(`${this.apiUrl}/v3/swap/quote`, {
|
|
257
250
|
params: callParams,
|
|
258
251
|
});
|
|
259
252
|
if (data.result == null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/crossChainDeposit/aggregators/Bungee/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/crossChainDeposit/aggregators/Bungee/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export type BungeeToken = {
|
|
|
10
10
|
icon?: string;
|
|
11
11
|
};
|
|
12
12
|
export type BungeeQuoteRequest = {
|
|
13
|
+
userOps: 'tx';
|
|
13
14
|
userAddress: Address;
|
|
14
15
|
originChainId: number;
|
|
15
16
|
destinationChainId: number;
|
|
@@ -19,42 +20,63 @@ export type BungeeQuoteRequest = {
|
|
|
19
20
|
outputToken: Address;
|
|
20
21
|
slippage?: number;
|
|
21
22
|
refuel?: boolean;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
excludeBridges?: string[];
|
|
25
|
-
useInbox?: boolean;
|
|
23
|
+
includeProvider?: string;
|
|
24
|
+
excludeProvider?: string;
|
|
26
25
|
};
|
|
27
26
|
export type BungeeTxData = {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
kind: string;
|
|
28
|
+
object: {
|
|
29
|
+
chainId: number;
|
|
30
|
+
to: Address;
|
|
31
|
+
data: Hex;
|
|
32
|
+
value: string;
|
|
33
|
+
};
|
|
33
34
|
};
|
|
34
|
-
export type
|
|
35
|
+
export type BungeeProtocolDetails = {
|
|
36
|
+
protocol: {
|
|
37
|
+
name: string;
|
|
38
|
+
displayName: string;
|
|
39
|
+
icon?: string;
|
|
40
|
+
};
|
|
41
|
+
inputTokenAddress?: Address;
|
|
42
|
+
outputTokenAddress?: Address;
|
|
43
|
+
amountIn?: string;
|
|
44
|
+
amountOut?: string;
|
|
45
|
+
minAmountOut?: string;
|
|
46
|
+
slippage?: number;
|
|
47
|
+
};
|
|
48
|
+
export type BungeeRoute = {
|
|
49
|
+
quoteId: string;
|
|
35
50
|
userOp: string;
|
|
36
|
-
|
|
51
|
+
expiresAt: number;
|
|
52
|
+
estimatedTime: number;
|
|
53
|
+
slippage: number;
|
|
54
|
+
suggestedSlippage: number;
|
|
55
|
+
routeTags: ('MAX_OUTPUT' | 'SUGGESTED' | 'FASTEST')[];
|
|
37
56
|
output: {
|
|
38
57
|
token: BungeeToken;
|
|
39
58
|
amount: string;
|
|
40
|
-
|
|
59
|
+
minAmountOut: string;
|
|
41
60
|
priceInUsd: number;
|
|
42
61
|
valueInUsd: number;
|
|
43
|
-
minAmountOut: string;
|
|
44
|
-
effectiveReceivedInUsd: number;
|
|
45
62
|
};
|
|
46
|
-
|
|
47
|
-
|
|
63
|
+
routeDetails: {
|
|
64
|
+
dexDetails: BungeeProtocolDetails | null;
|
|
65
|
+
bridgeDetails: BungeeProtocolDetails | null;
|
|
66
|
+
feeDetails?: {
|
|
67
|
+
feeTakerAddress?: Address;
|
|
68
|
+
feeBps?: number;
|
|
69
|
+
feeAmount?: string;
|
|
70
|
+
isFeeInInputToken?: boolean;
|
|
71
|
+
feeToken?: BungeeToken;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
approval?: {
|
|
48
75
|
spenderAddress: Address;
|
|
49
76
|
amount: string;
|
|
50
77
|
tokenAddress: Address;
|
|
51
78
|
userAddress: Address;
|
|
52
79
|
};
|
|
53
|
-
affiliateFee?: {
|
|
54
|
-
token: BungeeToken;
|
|
55
|
-
amount: string;
|
|
56
|
-
feeTakerAddress: Address;
|
|
57
|
-
};
|
|
58
80
|
gasFee?: {
|
|
59
81
|
gasToken: BungeeToken;
|
|
60
82
|
gasLimit: string;
|
|
@@ -62,22 +84,7 @@ export type BungeeAutoRoute = {
|
|
|
62
84
|
estimatedFee: string;
|
|
63
85
|
feeInUsd: number;
|
|
64
86
|
};
|
|
65
|
-
slippage: number;
|
|
66
87
|
txData?: BungeeTxData;
|
|
67
|
-
estimatedTime: number;
|
|
68
|
-
routeDetails: {
|
|
69
|
-
name: string;
|
|
70
|
-
logoURI: string;
|
|
71
|
-
routeFee: {
|
|
72
|
-
token: BungeeToken;
|
|
73
|
-
amount: string;
|
|
74
|
-
feeInUsd: number;
|
|
75
|
-
priceInUsd: number;
|
|
76
|
-
} | null;
|
|
77
|
-
};
|
|
78
|
-
quoteId: string;
|
|
79
|
-
quoteExpiry: number;
|
|
80
|
-
routeTags: ('MAX_OUTPUT' | 'SUGGESTED' | 'FASTEST')[];
|
|
81
88
|
};
|
|
82
89
|
export type BungeeQuoteResponse = {
|
|
83
90
|
success: boolean;
|
|
@@ -93,9 +100,8 @@ export type BungeeQuoteResponse = {
|
|
|
93
100
|
priceInUsd: number;
|
|
94
101
|
valueInUsd: number;
|
|
95
102
|
};
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
autoRoutes?: BungeeAutoRoute[];
|
|
103
|
+
routes?: BungeeRoute[];
|
|
104
|
+
message?: string | null;
|
|
99
105
|
};
|
|
100
106
|
message?: string;
|
|
101
107
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/entities/crossChainDeposit/aggregators/Bungee/types.ts"],"names":[],"mappings":";;;AACa,QAAA,mBAAmB,GAC9B,0HAA0H,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/entities/crossChainDeposit/aggregators/Bungee/types.ts"],"names":[],"mappings":";;;AACa,QAAA,mBAAmB,GAC9B,0HAA0H,CAAC;AAuJ7H,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,8CAAuB,CAAA;IACvB,wCAAiB,CAAA;AACnB,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { type Address, type Hex } from 'viem';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const ALLOWANCE_HOLDER_ADDRESS: Address;
|
|
3
|
+
export declare const OPEN_ROUTER_ADDRESS: Address;
|
|
3
4
|
export declare function validateBungeeTxTarget(to: Address): void;
|
|
4
5
|
export declare function validateBungeeApprovalSpender(spender: Address): void;
|
|
5
|
-
export
|
|
6
|
+
export type BungeeCalldataExpectation = {
|
|
7
|
+
to: Address;
|
|
8
|
+
user: Address;
|
|
9
|
+
inputToken: Address;
|
|
10
|
+
inputAmount: bigint;
|
|
11
|
+
receiver: Address;
|
|
12
|
+
quotedMinOutput: bigint;
|
|
13
|
+
};
|
|
14
|
+
export declare function validateBungeeCalldata(calldata: Hex, expected: BungeeCalldataExpectation): void;
|
|
@@ -1,49 +1,94 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.OPEN_ROUTER_ADDRESS = exports.ALLOWANCE_HOLDER_ADDRESS = void 0;
|
|
4
4
|
exports.validateBungeeTxTarget = validateBungeeTxTarget;
|
|
5
5
|
exports.validateBungeeApprovalSpender = validateBungeeApprovalSpender;
|
|
6
6
|
exports.validateBungeeCalldata = validateBungeeCalldata;
|
|
7
7
|
const viem_1 = require("viem");
|
|
8
|
-
const
|
|
9
|
-
|
|
8
|
+
const viemAbiAllowanceHolder_1 = require("../../../../contracts/abis/viemAbiAllowanceHolder");
|
|
9
|
+
const viemAbiOpenRouter_1 = require("../../../../contracts/abis/viemAbiOpenRouter");
|
|
10
|
+
exports.ALLOWANCE_HOLDER_ADDRESS = '0x50c4E75a512F2A14A7b304787Adf79C4531A5909';
|
|
11
|
+
exports.OPEN_ROUTER_ADDRESS = '0x50cFe7c1938dB66A1a6D2e86D36F39FBef3d5c4a';
|
|
12
|
+
const NATIVE_SENTINEL = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';
|
|
13
|
+
function isNative(token) {
|
|
14
|
+
return (0, viem_1.isAddressEqual)(token, viem_1.zeroAddress) || (0, viem_1.isAddressEqual)(token, NATIVE_SENTINEL);
|
|
15
|
+
}
|
|
16
|
+
function tokenEquals(a, b) {
|
|
17
|
+
return (isNative(a) && isNative(b)) || (0, viem_1.isAddressEqual)(a, b);
|
|
18
|
+
}
|
|
10
19
|
function validateBungeeTxTarget(to) {
|
|
11
|
-
if (!(0, viem_1.isAddressEqual)(to, exports.
|
|
12
|
-
throw new Error(`Bungee validation failed: txData.to (${to})
|
|
20
|
+
if (!(0, viem_1.isAddressEqual)(to, exports.ALLOWANCE_HOLDER_ADDRESS) && !(0, viem_1.isAddressEqual)(to, exports.OPEN_ROUTER_ADDRESS)) {
|
|
21
|
+
throw new Error(`Bungee validation failed: txData.to (${to}) is neither AllowanceHolder (${exports.ALLOWANCE_HOLDER_ADDRESS}) nor OpenRouter (${exports.OPEN_ROUTER_ADDRESS})`);
|
|
13
22
|
}
|
|
14
23
|
}
|
|
15
24
|
function validateBungeeApprovalSpender(spender) {
|
|
16
|
-
if (!(0, viem_1.isAddressEqual)(spender, exports.
|
|
17
|
-
throw new Error(`Bungee validation failed: approval spender (${spender}) does not match
|
|
25
|
+
if (!(0, viem_1.isAddressEqual)(spender, exports.ALLOWANCE_HOLDER_ADDRESS)) {
|
|
26
|
+
throw new Error(`Bungee validation failed: approval spender (${spender}) does not match AllowanceHolder (${exports.ALLOWANCE_HOLDER_ADDRESS})`);
|
|
18
27
|
}
|
|
19
28
|
}
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return {
|
|
31
|
-
receiver: basicReq.receiver,
|
|
32
|
-
destinationChainId: basicReq.destinationChainId,
|
|
33
|
-
minOutputAmount: basicReq.minOutputAmount,
|
|
34
|
-
};
|
|
29
|
+
function assertInputMatches(input, expected) {
|
|
30
|
+
if (!(0, viem_1.isAddressEqual)(input.user, expected.user)) {
|
|
31
|
+
throw new Error(`Bungee validation failed: input.user (${input.user}) does not match expected (${expected.user})`);
|
|
32
|
+
}
|
|
33
|
+
if (!tokenEquals(input.inputToken, expected.inputToken)) {
|
|
34
|
+
throw new Error(`Bungee validation failed: input.inputToken (${input.inputToken}) does not match expected (${expected.inputToken})`);
|
|
35
|
+
}
|
|
36
|
+
if (input.inputAmount !== expected.inputAmount) {
|
|
37
|
+
throw new Error(`Bungee validation failed: input.inputAmount (${input.inputAmount}) does not match expected (${expected.inputAmount})`);
|
|
38
|
+
}
|
|
35
39
|
}
|
|
36
|
-
function validateBungeeCalldata(calldata,
|
|
37
|
-
|
|
38
|
-
if (
|
|
39
|
-
|
|
40
|
+
function validateBungeeCalldata(calldata, expected) {
|
|
41
|
+
let innerData;
|
|
42
|
+
if ((0, viem_1.isAddressEqual)(expected.to, exports.ALLOWANCE_HOLDER_ADDRESS)) {
|
|
43
|
+
const exec = (0, viem_1.decodeFunctionData)({ abi: viemAbiAllowanceHolder_1.allowanceHolderAbi, data: calldata });
|
|
44
|
+
if (exec.functionName !== 'exec') {
|
|
45
|
+
throw new Error(`Bungee validation failed: expected AllowanceHolder.exec, got "${exec.functionName}"`);
|
|
46
|
+
}
|
|
47
|
+
const [operator, token, amount, target, data] = exec.args;
|
|
48
|
+
if (!(0, viem_1.isAddressEqual)(operator, exports.OPEN_ROUTER_ADDRESS)) {
|
|
49
|
+
throw new Error(`Bungee validation failed: exec.operator (${operator}) is not OpenRouter (${exports.OPEN_ROUTER_ADDRESS})`);
|
|
50
|
+
}
|
|
51
|
+
if (!(0, viem_1.isAddressEqual)(target, exports.OPEN_ROUTER_ADDRESS)) {
|
|
52
|
+
throw new Error(`Bungee validation failed: exec.target (${target}) is not OpenRouter (${exports.OPEN_ROUTER_ADDRESS})`);
|
|
53
|
+
}
|
|
54
|
+
if (!tokenEquals(token, expected.inputToken)) {
|
|
55
|
+
throw new Error(`Bungee validation failed: exec.token (${token}) does not match input token (${expected.inputToken})`);
|
|
56
|
+
}
|
|
57
|
+
if (amount !== expected.inputAmount) {
|
|
58
|
+
throw new Error(`Bungee validation failed: exec.amount (${amount}) does not match input amount (${expected.inputAmount})`);
|
|
59
|
+
}
|
|
60
|
+
innerData = data;
|
|
61
|
+
}
|
|
62
|
+
else if ((0, viem_1.isAddressEqual)(expected.to, exports.OPEN_ROUTER_ADDRESS)) {
|
|
63
|
+
innerData = calldata;
|
|
40
64
|
}
|
|
41
|
-
|
|
42
|
-
throw new Error(`Bungee validation failed:
|
|
65
|
+
else {
|
|
66
|
+
throw new Error(`Bungee validation failed: txData.to (${expected.to}) is not an allowlisted Socket contract`);
|
|
43
67
|
}
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
68
|
+
const inner = (0, viem_1.decodeFunctionData)({ abi: viemAbiOpenRouter_1.openRouterAbi, data: innerData });
|
|
69
|
+
switch (inner.functionName) {
|
|
70
|
+
case 'swap': {
|
|
71
|
+
assertInputMatches(inner.args[2], expected);
|
|
72
|
+
const swapData = inner.args[4];
|
|
73
|
+
const receiver = inner.args[6];
|
|
74
|
+
if (!(0, viem_1.isAddressEqual)(receiver, expected.receiver)) {
|
|
75
|
+
throw new Error(`Bungee validation failed: swap.receiver (${receiver}) does not match deposit box (${expected.receiver})`);
|
|
76
|
+
}
|
|
77
|
+
if (swapData.minOutput < expected.quotedMinOutput) {
|
|
78
|
+
throw new Error(`Bungee validation failed: swap.minOutput (${swapData.minOutput}) is below quoted minOutput (${expected.quotedMinOutput})`);
|
|
79
|
+
}
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
case 'bridge': {
|
|
83
|
+
assertInputMatches(inner.args[1], expected);
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
case 'swapAndBridge': {
|
|
87
|
+
assertInputMatches(inner.args[2], expected);
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
default:
|
|
91
|
+
throw new Error(`Bungee validation failed: OpenRouter entrypoint "${inner.functionName}" is not allowlisted for deposits`);
|
|
47
92
|
}
|
|
48
93
|
}
|
|
49
94
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../src/entities/crossChainDeposit/aggregators/Bungee/validation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../src/entities/crossChainDeposit/aggregators/Bungee/validation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED