@bananapus/router-terminal-v6 0.0.64 → 0.0.66
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/README.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
- [AUDIT_INSTRUCTIONS.md](./AUDIT_INSTRUCTIONS.md) — scope, attack surfaces, and verification steps for auditors.
|
|
14
14
|
- [SKILLS.md](./SKILLS.md) — agent-oriented index pointing at the right file or contract for a given task.
|
|
15
15
|
- [STYLE_GUIDE.md](./STYLE_GUIDE.md) — Solidity and repo-layout conventions used across the V6 ecosystem.
|
|
16
|
-
- [CHANGELOG.md](./CHANGELOG.md)
|
|
16
|
+
- [CHANGELOG.md](./CHANGELOG.md) - V5 swap-terminal to V6 router-terminal migration changelog.
|
|
17
17
|
|
|
18
18
|
## Overview
|
|
19
19
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bananapus/router-terminal-v6",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.66",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"artifacts": "source ./.env && npx sphinx artifacts --org-id 'ea165b21-7cdc-4d7b-be59-ecdd4c26bee4' --project-name 'nana-router-terminal-v6'"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@bananapus/buyback-hook-v6": "^0.0.
|
|
28
|
-
"@bananapus/core-v6": "^0.0.
|
|
29
|
-
"@bananapus/permission-ids-v6": "^0.0.
|
|
30
|
-
"@bananapus/univ4-router-v6": "^0.0.
|
|
27
|
+
"@bananapus/buyback-hook-v6": "^0.0.71",
|
|
28
|
+
"@bananapus/core-v6": "^0.0.82",
|
|
29
|
+
"@bananapus/permission-ids-v6": "^0.0.30",
|
|
30
|
+
"@bananapus/univ4-router-v6": "^0.0.53",
|
|
31
31
|
"@openzeppelin/contracts": "5.6.1",
|
|
32
32
|
"@uniswap/permit2": "github:Uniswap/permit2#cc56ad0f3439c502c246fc5cfcc3db92bb8b7219",
|
|
33
33
|
"@uniswap/v3-core": "github:Uniswap/v3-core#6562c52e8f75f0c10f9deaf44861847585fc8129",
|
|
@@ -282,10 +282,17 @@ contract JBPayRouteResolver is IJBPayRouteResolver {
|
|
|
282
282
|
// Decode the buyback hook's routing metadata. When the hook mints in `afterPayRecordedWith`, the terminal
|
|
283
283
|
// preview returns zero token counts and the router must score the route from the hook's commitments.
|
|
284
284
|
(
|
|
285
|
-
,
|
|
285
|
+
bool projectTokenIs0,
|
|
286
286
|
uint256 amountToMintWith,
|
|
287
|
-
uint256 minimumSwapAmountOut
|
|
288
|
-
|
|
287
|
+
uint256 minimumSwapAmountOut,
|
|
288
|
+
bool hasExplicitMinimumSwapAmountOut,
|
|
289
|
+
address controller,
|
|
290
|
+
uint256 tokenCountWithoutHook,
|
|
291
|
+
uint256 weightRatio,
|
|
292
|
+
uint256 quotedAmountToSwapWith,
|
|
293
|
+
int24 twapTick,
|
|
294
|
+
uint128 twapLiquidity,
|
|
295
|
+
bytes32 poolId,
|
|
289
296
|
uint256 minimumBeneficiaryTokenCount,
|
|
290
297
|
uint256 minimumReservedTokenCount,
|
|
291
298
|
uint256 rawSwapQuote
|
|
@@ -299,6 +306,7 @@ contract JBPayRouteResolver is IJBPayRouteResolver {
|
|
|
299
306
|
address,
|
|
300
307
|
uint256,
|
|
301
308
|
uint256,
|
|
309
|
+
uint256,
|
|
302
310
|
int24,
|
|
303
311
|
uint128,
|
|
304
312
|
bytes32,
|
|
@@ -307,6 +315,14 @@ contract JBPayRouteResolver is IJBPayRouteResolver {
|
|
|
307
315
|
uint256
|
|
308
316
|
)
|
|
309
317
|
);
|
|
318
|
+
projectTokenIs0;
|
|
319
|
+
hasExplicitMinimumSwapAmountOut;
|
|
320
|
+
controller;
|
|
321
|
+
weightRatio;
|
|
322
|
+
quotedAmountToSwapWith;
|
|
323
|
+
twapTick;
|
|
324
|
+
twapLiquidity;
|
|
325
|
+
poolId;
|
|
310
326
|
|
|
311
327
|
// The hook's beneficiary/reserved commitments are only for the AMM leg. If the hook leaves part of the
|
|
312
328
|
// payment to mint directly, estimate that direct-mint leg at the same issuance rate used for the swapped
|
package/src/JBRouterTerminal.sol
CHANGED
|
@@ -1790,8 +1790,7 @@ contract JBRouterTerminal is
|
|
|
1790
1790
|
if (Currency.unwrap(currency) == address(0)) _wrapNativeToken(amount);
|
|
1791
1791
|
}
|
|
1792
1792
|
|
|
1793
|
-
/// @notice Transfer tokens from one address to another using direct approval, `safeTransfer`, or Permit2
|
|
1794
|
-
/// fallback.
|
|
1793
|
+
/// @notice Transfer tokens from one address to another using direct approval, `safeTransfer`, or Permit2 fallback.
|
|
1795
1794
|
/// @param from The address to transfer tokens from.
|
|
1796
1795
|
/// @param to The address to transfer tokens to.
|
|
1797
1796
|
/// @param token The address of the token to transfer.
|
|
@@ -2403,8 +2402,7 @@ contract JBRouterTerminal is
|
|
|
2403
2402
|
/// 1. Users SHOULD provide a `pay` swap quote in the payment metadata (obtained from an off-chain
|
|
2404
2403
|
/// quoter or RPC simulation). The quote must encode the output token and minimum output amount. When present,
|
|
2405
2404
|
/// this function is bypassed entirely — see `_pickPoolAndQuote`.
|
|
2406
|
-
/// 2. When a hook implements `IGeomeanOracle.observe(...)`, this
|
|
2407
|
-
/// of spot.
|
|
2405
|
+
/// 2. When a hook implements `IGeomeanOracle.observe(...)`, this uses its oracle-derived tick, not spot price.
|
|
2408
2406
|
/// 3. The sigmoid slippage formula (`JBSwapLib.getSlippageTolerance`) enforces a minimum 2% slippage floor
|
|
2409
2407
|
/// (pool fee + 1%, with a hard floor of 2%), which bounds the worst-case loss even if the spot price is
|
|
2410
2408
|
/// manipulated. For small swaps in deep pools the tolerance stays near this floor; for larger swaps it
|
|
@@ -800,8 +800,7 @@ contract JBRouterTerminalRegistry is IJBRouterTerminalRegistry, JBPermissioned,
|
|
|
800
800
|
return 0;
|
|
801
801
|
}
|
|
802
802
|
|
|
803
|
-
/// @notice Transfer tokens from one address to another using direct approval, `safeTransfer`, or Permit2
|
|
804
|
-
/// fallback.
|
|
803
|
+
/// @notice Transfer tokens from one address to another using direct approval, `safeTransfer`, or Permit2 fallback.
|
|
805
804
|
/// @param from The address to transfer tokens from.
|
|
806
805
|
/// @param to The address to transfer tokens to.
|
|
807
806
|
/// @param token The address of the token to transfer.
|
|
@@ -66,9 +66,7 @@ interface IJBRouterTerminalRegistry is IJBTerminal, IJBForwardingTerminal, IJBPa
|
|
|
66
66
|
/// @return length The number of entries in the default-terminal history.
|
|
67
67
|
function defaultTerminalHistoryLength() external view returns (uint256 length);
|
|
68
68
|
|
|
69
|
-
/// @notice The `PROJECTS.count()` snapshot at the
|
|
70
|
-
/// ID <= this threshold do NOT fall through to `defaultTerminal`; they fall through to the historical entry that
|
|
71
|
-
/// covers their ID range.
|
|
69
|
+
/// @notice The `PROJECTS.count()` snapshot at the latest `setDefaultTerminal`, used for historical fall-through.
|
|
72
70
|
/// @return threshold The project-ID threshold beyond which `defaultTerminal` applies on fall-through.
|
|
73
71
|
function defaultTerminalProjectIdThreshold() external view returns (uint256 threshold);
|
|
74
72
|
|