@bananapus/nana-sdk-core 1.10.1 → 1.11.1
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/dist/cjs/v6/index.d.ts +1 -0
- package/dist/cjs/v6/index.d.ts.map +1 -1
- package/dist/cjs/v6/index.js +1 -0
- package/dist/cjs/v6/index.js.map +1 -1
- package/dist/cjs/v6/nft.d.ts +32 -0
- package/dist/cjs/v6/nft.d.ts.map +1 -1
- package/dist/cjs/v6/nft.js +43 -1
- package/dist/cjs/v6/nft.js.map +1 -1
- package/dist/cjs/v6/uniswapV4Deployments.d.ts +7 -0
- package/dist/cjs/v6/uniswapV4Deployments.d.ts.map +1 -1
- package/dist/cjs/v6/uniswapV4Deployments.js +16 -1
- package/dist/cjs/v6/uniswapV4Deployments.js.map +1 -1
- package/dist/cjs/v6/uniswapV4Fees.d.ts +76 -0
- package/dist/cjs/v6/uniswapV4Fees.d.ts.map +1 -0
- package/dist/cjs/v6/uniswapV4Fees.js +167 -0
- package/dist/cjs/v6/uniswapV4Fees.js.map +1 -0
- package/dist/esm/v6/index.d.ts +1 -0
- package/dist/esm/v6/index.d.ts.map +1 -1
- package/dist/esm/v6/index.js +1 -0
- package/dist/esm/v6/index.js.map +1 -1
- package/dist/esm/v6/nft.d.ts +32 -0
- package/dist/esm/v6/nft.d.ts.map +1 -1
- package/dist/esm/v6/nft.js +40 -0
- package/dist/esm/v6/nft.js.map +1 -1
- package/dist/esm/v6/uniswapV4Deployments.d.ts +7 -0
- package/dist/esm/v6/uniswapV4Deployments.d.ts.map +1 -1
- package/dist/esm/v6/uniswapV4Deployments.js +15 -0
- package/dist/esm/v6/uniswapV4Deployments.js.map +1 -1
- package/dist/esm/v6/uniswapV4Fees.d.ts +76 -0
- package/dist/esm/v6/uniswapV4Fees.d.ts.map +1 -0
- package/dist/esm/v6/uniswapV4Fees.js +161 -0
- package/dist/esm/v6/uniswapV4Fees.js.map +1 -0
- package/package.json +1 -1
package/dist/cjs/v6/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export * from "./cashOut.js";
|
|
|
15
15
|
export * from "./nft.js";
|
|
16
16
|
export * from "./tokens.js";
|
|
17
17
|
export * from "./uniswapV4.js";
|
|
18
|
+
export * from "./uniswapV4Fees.js";
|
|
18
19
|
export * from "./permissions.js";
|
|
19
20
|
export * from "./suckers.js";
|
|
20
21
|
export * from "./loans.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/dist/cjs/v6/index.js
CHANGED
|
@@ -31,6 +31,7 @@ __exportStar(require("./cashOut.js"), exports);
|
|
|
31
31
|
__exportStar(require("./nft.js"), exports);
|
|
32
32
|
__exportStar(require("./tokens.js"), exports);
|
|
33
33
|
__exportStar(require("./uniswapV4.js"), exports);
|
|
34
|
+
__exportStar(require("./uniswapV4Fees.js"), exports);
|
|
34
35
|
__exportStar(require("./permissions.js"), exports);
|
|
35
36
|
__exportStar(require("./suckers.js"), exports);
|
|
36
37
|
__exportStar(require("./loans.js"), exports);
|
package/dist/cjs/v6/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,gDAA8B;AAC9B,4CAA0B;AAC1B,8CAA4B;AAC5B,iDAA+B;AAC/B,gDAA8B;AAC9B,8CAA4B;AAC5B,+CAA6B;AAC7B,iDAA+B;AAC/B,2CAAyB;AACzB,iDAA+B;AAC/B,+CAA6B;AAC7B,qDAAmC;AACnC,+CAA6B;AAC7B,2CAAyB;AACzB,8CAA4B;AAC5B,iDAA+B;AAC/B,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,gDAA8B;AAC9B,4CAA0B;AAC1B,8CAA4B;AAC5B,iDAA+B;AAC/B,gDAA8B;AAC9B,8CAA4B;AAC5B,+CAA6B;AAC7B,iDAA+B;AAC/B,2CAAyB;AACzB,iDAA+B;AAC/B,+CAA6B;AAC7B,qDAAmC;AACnC,+CAA6B;AAC7B,2CAAyB;AACzB,8CAA4B;AAC5B,iDAA+B;AAC/B,qDAAmC;AACnC,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B"}
|
package/dist/cjs/v6/nft.d.ts
CHANGED
|
@@ -10,6 +10,38 @@ export declare const TIER_UNLIMITED_SUPPLY = 999999999;
|
|
|
10
10
|
* out of 200, so the shopper-facing "% off" is `discountPercent / 2`.
|
|
11
11
|
*/
|
|
12
12
|
export declare const DISCOUNT_DENOMINATOR = 200n;
|
|
13
|
+
/** The 721 tiers hook's ruleset-metadata bit which pauses eligible transfers. */
|
|
14
|
+
export declare const JB721_RULESET_METADATA_PAUSE_TRANSFERS: number;
|
|
15
|
+
/** The 721 tiers hook's ruleset-metadata bit which pauses pending reserve mints. */
|
|
16
|
+
export declare const JB721_RULESET_METADATA_PAUSE_MINT_PENDING_RESERVES: number;
|
|
17
|
+
/** The protocol stores 14 app-specific bits in `JBRulesetMetadata.metadata`. */
|
|
18
|
+
export declare const JB_RULESET_METADATA_APP_BITS_MAX = 16383;
|
|
19
|
+
/** 721-specific overrides accepted by {@link build721RulesetMetadata}. */
|
|
20
|
+
export interface JB721RulesetMetadataInput {
|
|
21
|
+
/** Existing app-specific metadata. Unrelated bits are preserved. */
|
|
22
|
+
metadata?: number;
|
|
23
|
+
/** Pause transfers for tiers whose `transfersPausable` flag is enabled. */
|
|
24
|
+
pauseTransfers?: boolean;
|
|
25
|
+
/** Pause minting the hook's pending reserve tokens. */
|
|
26
|
+
pauseMintPendingReserves?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/** 721-specific flags decoded from app-specific ruleset metadata. */
|
|
29
|
+
export interface JB721RulesetMetadata {
|
|
30
|
+
pauseTransfers: boolean;
|
|
31
|
+
pauseMintPendingReserves: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Set the 721 tiers hook's ruleset flags while preserving every unrelated app
|
|
35
|
+
* metadata bit. This is important when composing with other hooks; for
|
|
36
|
+
* example, Revnets use another bit to permit sucker deployment.
|
|
37
|
+
*
|
|
38
|
+
* A transfer is only paused when `pauseTransfers` is true AND the transferred
|
|
39
|
+
* tier was created with `transfersPausable`. Mints and burns remain possible.
|
|
40
|
+
* Omitted overrides preserve the corresponding bit in `metadata`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function build721RulesetMetadata(input?: JB721RulesetMetadataInput): number;
|
|
43
|
+
/** Decode the 721 tiers hook's flags without interpreting unrelated bits. */
|
|
44
|
+
export declare function decode721RulesetMetadata(metadata: number): JB721RulesetMetadata;
|
|
13
45
|
/** Canonical display fields understood across Juicebox 721 metadata writers. */
|
|
14
46
|
export interface TierMetadata {
|
|
15
47
|
name?: string;
|
package/dist/cjs/v6/nft.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nft.d.ts","sourceRoot":"","sources":["../../../src/v6/nft.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nft.d.ts","sourceRoot":"","sources":["../../../src/v6/nft.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/v6/nft.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DISCOUNT_DENOMINATOR = exports.TIER_UNLIMITED_SUPPLY = void 0;
|
|
3
|
+
exports.JB_RULESET_METADATA_APP_BITS_MAX = exports.JB721_RULESET_METADATA_PAUSE_MINT_PENDING_RESERVES = exports.JB721_RULESET_METADATA_PAUSE_TRANSFERS = exports.DISCOUNT_DENOMINATOR = exports.TIER_UNLIMITED_SUPPLY = void 0;
|
|
4
|
+
exports.build721RulesetMetadata = build721RulesetMetadata;
|
|
5
|
+
exports.decode721RulesetMetadata = decode721RulesetMetadata;
|
|
4
6
|
exports.parseTierMetadataJson = parseTierMetadataJson;
|
|
5
7
|
exports.pickTierMetadata = pickTierMetadata;
|
|
6
8
|
exports.isSafeTierMediaUri = isSafeTierMediaUri;
|
|
@@ -28,6 +30,46 @@ exports.TIER_UNLIMITED_SUPPLY = 999_999_999;
|
|
|
28
30
|
* out of 200, so the shopper-facing "% off" is `discountPercent / 2`.
|
|
29
31
|
*/
|
|
30
32
|
exports.DISCOUNT_DENOMINATOR = 200n;
|
|
33
|
+
/** The 721 tiers hook's ruleset-metadata bit which pauses eligible transfers. */
|
|
34
|
+
exports.JB721_RULESET_METADATA_PAUSE_TRANSFERS = 1 << 0;
|
|
35
|
+
/** The 721 tiers hook's ruleset-metadata bit which pauses pending reserve mints. */
|
|
36
|
+
exports.JB721_RULESET_METADATA_PAUSE_MINT_PENDING_RESERVES = 1 << 1;
|
|
37
|
+
/** The protocol stores 14 app-specific bits in `JBRulesetMetadata.metadata`. */
|
|
38
|
+
exports.JB_RULESET_METADATA_APP_BITS_MAX = 0x3fff;
|
|
39
|
+
function assertRulesetAppMetadata(metadata) {
|
|
40
|
+
if (!Number.isInteger(metadata) ||
|
|
41
|
+
metadata < 0 ||
|
|
42
|
+
metadata > exports.JB_RULESET_METADATA_APP_BITS_MAX) {
|
|
43
|
+
throw new Error(`Ruleset app metadata must be an integer between 0 and ${exports.JB_RULESET_METADATA_APP_BITS_MAX}.`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function setMetadataFlag(metadata, flag, enabled) {
|
|
47
|
+
if (enabled === undefined)
|
|
48
|
+
return metadata;
|
|
49
|
+
return enabled ? metadata | flag : metadata & ~flag;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Set the 721 tiers hook's ruleset flags while preserving every unrelated app
|
|
53
|
+
* metadata bit. This is important when composing with other hooks; for
|
|
54
|
+
* example, Revnets use another bit to permit sucker deployment.
|
|
55
|
+
*
|
|
56
|
+
* A transfer is only paused when `pauseTransfers` is true AND the transferred
|
|
57
|
+
* tier was created with `transfersPausable`. Mints and burns remain possible.
|
|
58
|
+
* Omitted overrides preserve the corresponding bit in `metadata`.
|
|
59
|
+
*/
|
|
60
|
+
function build721RulesetMetadata(input = {}) {
|
|
61
|
+
const metadata = input.metadata ?? 0;
|
|
62
|
+
assertRulesetAppMetadata(metadata);
|
|
63
|
+
return setMetadataFlag(setMetadataFlag(metadata, exports.JB721_RULESET_METADATA_PAUSE_TRANSFERS, input.pauseTransfers), exports.JB721_RULESET_METADATA_PAUSE_MINT_PENDING_RESERVES, input.pauseMintPendingReserves);
|
|
64
|
+
}
|
|
65
|
+
/** Decode the 721 tiers hook's flags without interpreting unrelated bits. */
|
|
66
|
+
function decode721RulesetMetadata(metadata) {
|
|
67
|
+
assertRulesetAppMetadata(metadata);
|
|
68
|
+
return {
|
|
69
|
+
pauseTransfers: (metadata & exports.JB721_RULESET_METADATA_PAUSE_TRANSFERS) !== 0,
|
|
70
|
+
pauseMintPendingReserves: (metadata & exports.JB721_RULESET_METADATA_PAUSE_MINT_PENDING_RESERVES) !== 0,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
31
73
|
function nonEmptyString(value) {
|
|
32
74
|
return typeof value === "string" && value ? value : undefined;
|
|
33
75
|
}
|
package/dist/cjs/v6/nft.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../src/v6/nft.ts"],"names":[],"mappings":";;;AAsEA,sDAqBC;AAMD,4CAeC;AAGD,gDAeC;AAGD,8CAmCC;AAMD,8CAYC;AAmBD,8CAcC;AAGD,kDAUC;AAGD,sDA0BC;AAUD,gDAQC;AAkDD,wDAWC;AAuBD,8CAoHC;AA/dD,+BAA+D;AAC/D,kDAA+D;AAC/D,0DAKkC;AAElC,8CAA4D;AAC5D,6CAAsD;AACtD,+CAAkD;AAElD;;;GAGG;AACU,QAAA,qBAAqB,GAAG,WAAW,CAAC;AAEjD;;;GAGG;AACU,QAAA,oBAAoB,GAAG,IAAI,CAAC;AAgCzC,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAC7B,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAChE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CACnC,GAAW;IAEX,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,uBAAuB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CACrB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAClC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAC3B,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CACrB,CAAC;QACb,OAAO,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACtE,CAAC,CAAE,IAAgC;YACnC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,IAA6B;IAC5D,OAAO;QACL,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QACnE,WAAW,EACT,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACvC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;QAClC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;QAClE,YAAY,EACV,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;QACzE,SAAS,EACP,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;YAC9B,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC;YAClC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzC,MAAM,QAAQ,GAAG,IAAA,uBAAa,EAAC,GAAG,CAAC,CAAC;IACpC,IAAI,QAAQ,IAAI,IAAA,mBAAS,EAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,IAAI,IAAA,mBAAS,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,8CAA8C,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,SAAgB,iBAAiB,CAC/B,KAAwB;IAExB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,CAAC,KAAyB,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAC3E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,KAAK,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,IACE,SAAS;QACT,CAAC,2CAA2C,CAAC,IAAI,CAAC,SAAS,CAAC,EAC5D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,OAAO;QACL,IAAI;QACJ,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;QACxC,KAAK;QACL,aAAa,EAAE,YAAY;QAC3B,SAAS;QACT,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAC/B,KAAc,EACd,kBAAkB,GAAG,uBAAuB;IAE5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC1D,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,IAAI,GACR,IAAA,uBAAa,EAAC,OAAO,CAAC;QACtB,CAAC,IAAA,mBAAS,EAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,yCAAyC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3C,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,KAAc,EACd,kBAA2B;IAE3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,OAAO,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;AACtD,CAAC;AAED,6DAA6D;AAC7D,SAAgB,mBAAmB,CACjC,IAA6B,EAC7B,kBAA2B;IAE3B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO;QACL,GAAG,QAAQ;QACX,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;QAC5D,YAAY,EAAE,iBAAiB,CAAC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,SAAgB,qBAAqB,CACnC,KAA2D;IAK3D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,gBAAgB,GAA2B,EAAE,CAAC;IACpD,MAAM,eAAe,GAA2B,EAAE,CAAC;IAEnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;YAChC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;QAC3C,CAAC;QACD,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;IACvC,CAAC;IAED,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAChC,KAAa,EACb,eAAgC;IAEhC,IAAI,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IACvC,IAAI,QAAQ,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,QAAQ,GAAG,4BAAoB;QAAE,QAAQ,GAAG,4BAAoB,CAAC;IACrE,OAAO,KAAK,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,4BAAoB,CAAC;AAC3D,CAAC;AAyCD;;;;;;;;GAQG;AACI,KAAK,UAAU,sBAAsB,CAC1C,MAAoB,EACpB,EAAE,IAAI,EAAyC;IAE/C,OAAO,MAAM;SACV,YAAY,CAAC;QACZ,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,+BAAiB;QACtB,YAAY,EAAE,oBAAoB;KACnC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAoB,EACpB,EACE,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,GAAG,GAAG,EACf,UAAU,GAAG,EAAE,GAOhB;IAED,2BAA2B;IAC3B,IAAI,IAAI,GAAmB,IAAI,CAAC;IAChC,8EAA8E;IAC9E,uDAAuD;IACvD,IAAI,aAAa,GAAG,IAAI,CAAC;IAEzB,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,MAAM,IAAA,mCAAsB,EAAC,MAAM,EAAE;YACtD,OAAO;YACP,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;QACH,IAAI,GAAG,UAAU,KAAK,kBAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,+BAAiB,EAAC,MAAM,EAAE;YAC5D,OAAO;YACP,SAAS;SACV,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAmB,CAAC;QAC9C,IAAI,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,IAAI,QAAQ,KAAK,kBAAW,EAAE,CAAC;YACvE,MAAM,IAAI,GAAG,+BAAiB,CAAC,GAAG,CAAC,CACjC,2CAA4B,CAAC,mBAAmB,CACjD,EAAE,CAAC,OAAO,CAAwB,CAAC;YACpC,IAAI,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC1D,+DAA+D;gBAC/D,uBAAuB;gBACvB,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;oBAC3C,OAAO,EAAE,IAAI;oBACb,GAAG,EAAE,oCAAsB;oBAC3B,YAAY,EAAE,iBAAiB;oBAC/B,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;iBACtC,CAAC,CAAC;gBACH,IAAI,GAAG,QAAQ,KAAK,kBAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,yEAAyE;gBACzE,IAAI,GAAG,QAAQ,CAAC;gBAChB,aAAa,GAAG,KAAK,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,+EAA+E;IAC/E,qEAAqE;IACrE,MAAM,SAAS,GAAG,GAAG,EAAE,CACrB,MAAM,CAAC,YAAY,CAAC;QAClB,OAAO,EAAE,IAAK;QACd,GAAG,EAAE,+BAAiB;QACtB,YAAY,EAAE,OAAO;KACtB,CAAC,CAAC;IACL,MAAM,KAAK,GAAG,aAAa;QACzB,CAAC,CAAC,MAAM,SAAS,EAAE;QACnB,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,8EAA8E;IAC9E,yEAAyE;IACzE,YAAY;IACZ,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,sBAAsB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,YAAY,CAAC;YAClB,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,+BAAiB;YACtB,YAAY,EAAE,gBAAgB;SAC/B,CAAC;KACH,CAAC,CAAC;IAEH,8EAA8E;IAC9E,4BAA4B;IAC5B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACpC,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,oCAAsB;QAC3B,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;KACtD,CAAC,CAAC;IAEH,MAAM,KAAK,GAAqB,GAAG;SAChC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;KACpC,CAAC,CAAC,CAAC;IAEN,OAAO;QACL,IAAI;QACJ,KAAK;QACL,gBAAgB;QAChB,OAAO,EAAE;YACP,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/B,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,KAAK;KACN,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../src/v6/nft.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,12 @@ export declare const UNISWAP_V4_POSITION_MANAGER_ADDRESSES: Readonly<Partial<Rec
|
|
|
8
8
|
export declare const UNISWAP_V4_QUOTER_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
|
|
9
9
|
/** Canonical Universal Router deployments which support V4 swaps. */
|
|
10
10
|
export declare const UNISWAP_V4_UNIVERSAL_ROUTER_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
|
|
11
|
+
/**
|
|
12
|
+
* Canonical StateView deployments — the periphery lens over PoolManager's
|
|
13
|
+
* `extsload` storage. Each address was verified by calling `poolManager()` and
|
|
14
|
+
* matching it against {@link UNISWAP_V4_POOL_MANAGER_ADDRESSES} for the chain.
|
|
15
|
+
*/
|
|
16
|
+
export declare const UNISWAP_V4_STATE_VIEW_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
|
|
11
17
|
/** Permit2 is deployed at the same address on supported EVM chains. */
|
|
12
18
|
export declare const UNISWAP_PERMIT2_ADDRESS: Address;
|
|
13
19
|
/** Resolve the supported V4 surface for a chain without guessing addresses. */
|
|
@@ -16,6 +22,7 @@ export declare function uniswapV4Deployment(chainId: number): {
|
|
|
16
22
|
positionManager: Address | null;
|
|
17
23
|
quoter: Address | null;
|
|
18
24
|
universalRouter: Address | null;
|
|
25
|
+
stateView: Address | null;
|
|
19
26
|
permit2: Address;
|
|
20
27
|
} | null;
|
|
21
28
|
//# sourceMappingURL=uniswapV4Deployments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswapV4Deployments.d.ts","sourceRoot":"","sources":["../../../src/v6/uniswapV4Deployments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CACtD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAChD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,uBAAuB,EAAE,OACQ,CAAC;AAE/C,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"uniswapV4Deployments.d.ts","sourceRoot":"","sources":["../../../src/v6/uniswapV4Deployments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CACtD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAChD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CACpD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,uBAAuB,EAAE,OACQ,CAAC;AAE/C,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,IAAI,CAmCP"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UNISWAP_PERMIT2_ADDRESS = exports.UNISWAP_V4_UNIVERSAL_ROUTER_ADDRESSES = exports.UNISWAP_V4_QUOTER_ADDRESSES = exports.UNISWAP_V4_POSITION_MANAGER_ADDRESSES = exports.UNISWAP_V4_POOL_MANAGER_ADDRESSES = void 0;
|
|
3
|
+
exports.UNISWAP_PERMIT2_ADDRESS = exports.UNISWAP_V4_STATE_VIEW_ADDRESSES = exports.UNISWAP_V4_UNIVERSAL_ROUTER_ADDRESSES = exports.UNISWAP_V4_QUOTER_ADDRESSES = exports.UNISWAP_V4_POSITION_MANAGER_ADDRESSES = exports.UNISWAP_V4_POOL_MANAGER_ADDRESSES = void 0;
|
|
4
4
|
exports.uniswapV4Deployment = uniswapV4Deployment;
|
|
5
5
|
/** Canonical PoolManager deployments used by Juicebox v6. */
|
|
6
6
|
exports.UNISWAP_V4_POOL_MANAGER_ADDRESSES = {
|
|
@@ -42,6 +42,20 @@ exports.UNISWAP_V4_UNIVERSAL_ROUTER_ADDRESSES = {
|
|
|
42
42
|
421614: "0xefd1d4bd4cf1e86da286bb4cb1b8bced9c10ba47",
|
|
43
43
|
11155111: "0x3A9D48AB9751398BbFa63ad67599Bb04e4BdF98b",
|
|
44
44
|
};
|
|
45
|
+
/**
|
|
46
|
+
* Canonical StateView deployments — the periphery lens over PoolManager's
|
|
47
|
+
* `extsload` storage. Each address was verified by calling `poolManager()` and
|
|
48
|
+
* matching it against {@link UNISWAP_V4_POOL_MANAGER_ADDRESSES} for the chain.
|
|
49
|
+
*/
|
|
50
|
+
exports.UNISWAP_V4_STATE_VIEW_ADDRESSES = {
|
|
51
|
+
1: "0x7ffe42c4a5deea5b0fec41c94c136cf115597227",
|
|
52
|
+
10: "0xc18a3169788f4f75a170290584eca6395c75ecdb",
|
|
53
|
+
8453: "0xa3c0c9b65bad0b08107aa264b0f3db444b867a71",
|
|
54
|
+
42161: "0x76fd297e2d437cd7f76d50f01afe6160f86e9990",
|
|
55
|
+
84532: "0x571291b572ed32ce6751a2cb2486ebee8defb9b4",
|
|
56
|
+
421614: "0x9d467fa9062b6e9b1a46e26007ad82db116c67cb",
|
|
57
|
+
11155111: "0xe1dd9c3fa50edb962e442f60dfbc432e24537e4c",
|
|
58
|
+
};
|
|
45
59
|
/** Permit2 is deployed at the same address on supported EVM chains. */
|
|
46
60
|
exports.UNISWAP_PERMIT2_ADDRESS = "0x000000000022D473030F116dDEE9F6B43aC78BA3";
|
|
47
61
|
/** Resolve the supported V4 surface for a chain without guessing addresses. */
|
|
@@ -54,6 +68,7 @@ function uniswapV4Deployment(chainId) {
|
|
|
54
68
|
positionManager: exports.UNISWAP_V4_POSITION_MANAGER_ADDRESSES[chainId] ?? null,
|
|
55
69
|
quoter: exports.UNISWAP_V4_QUOTER_ADDRESSES[chainId] ?? null,
|
|
56
70
|
universalRouter: exports.UNISWAP_V4_UNIVERSAL_ROUTER_ADDRESSES[chainId] ?? null,
|
|
71
|
+
stateView: exports.UNISWAP_V4_STATE_VIEW_ADDRESSES[chainId] ?? null,
|
|
57
72
|
permit2: exports.UNISWAP_PERMIT2_ADDRESS,
|
|
58
73
|
};
|
|
59
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswapV4Deployments.js","sourceRoot":"","sources":["../../../src/v6/uniswapV4Deployments.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"uniswapV4Deployments.js","sourceRoot":"","sources":["../../../src/v6/uniswapV4Deployments.ts"],"names":[],"mappings":";;;AA6EA,kDA0CC;AApHD,6DAA6D;AAChD,QAAA,iCAAiC,GAE1C;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,iEAAiE;AACpD,QAAA,qCAAqC,GAE9C;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,uEAAuE;AAC1D,QAAA,2BAA2B,GAEpC;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,qEAAqE;AACxD,QAAA,qCAAqC,GAE9C;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF;;;;GAIG;AACU,QAAA,+BAA+B,GAExC;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,uEAAuE;AAC1D,QAAA,uBAAuB,GAClC,4CAA4C,CAAC;AAE/C,+EAA+E;AAC/E,SAAgB,mBAAmB,CAAC,OAAe;IAQjD,MAAM,WAAW,GACf,yCAGD,CAAC,OAAO,CAAC,CAAC;IACX,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO;QACL,WAAW;QACX,eAAe,EAEX,6CAGD,CAAC,OAAO,CAAC,IAAI,IAAI;QACpB,MAAM,EAEF,mCAGD,CAAC,OAAO,CAAC,IAAI,IAAI;QACpB,eAAe,EAEX,6CAGD,CAAC,OAAO,CAAC,IAAI,IAAI;QACpB,SAAS,EAEL,uCAGD,CAAC,OAAO,CAAC,IAAI,IAAI;QACpB,OAAO,EAAE,+BAAuB;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { type Address, type Hex, type PublicClient } from "viem";
|
|
2
|
+
import type { JBChainId } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The PoolManager position key: `keccak256(abi.encodePacked(owner, tickLower,
|
|
5
|
+
* tickUpper, salt))`. For a PositionManager-held position the owner is the
|
|
6
|
+
* PositionManager and the salt is the position's token id.
|
|
7
|
+
*/
|
|
8
|
+
export declare function uniswapV4PositionId({ owner, tickLower, tickUpper, salt, }: {
|
|
9
|
+
owner: Address;
|
|
10
|
+
tickLower: number;
|
|
11
|
+
tickUpper: number;
|
|
12
|
+
salt: bigint;
|
|
13
|
+
}): Hex;
|
|
14
|
+
/**
|
|
15
|
+
* Fees a position has accrued since its last checkpoint, from the pool's fee
|
|
16
|
+
* growth accumulators.
|
|
17
|
+
*
|
|
18
|
+
* @remarks Fee growth accumulators are unchecked `uint256` in the pool and are
|
|
19
|
+
* expected to wrap; the difference is therefore taken modulo 2^256, exactly as
|
|
20
|
+
* Solidity computes it. A checked subtraction would read a wrapped accumulator
|
|
21
|
+
* as a negative (or enormous) balance.
|
|
22
|
+
*/
|
|
23
|
+
export declare function uniswapV4FeesOwed({ liquidity, feeGrowthInsideLastX128, feeGrowthInsideX128, }: {
|
|
24
|
+
liquidity: bigint;
|
|
25
|
+
feeGrowthInsideLastX128: bigint;
|
|
26
|
+
feeGrowthInsideX128: bigint;
|
|
27
|
+
}): bigint;
|
|
28
|
+
export interface UniswapV4PositionFees {
|
|
29
|
+
/** Unclaimed currency0 fees, in currency0's own decimals. */
|
|
30
|
+
amount0: bigint;
|
|
31
|
+
/** Unclaimed currency1 fees, in currency1's own decimals. */
|
|
32
|
+
amount1: bigint;
|
|
33
|
+
/** The position's live liquidity, as the pool records it. */
|
|
34
|
+
liquidity: bigint;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Read a position's unclaimed fees through StateView.
|
|
38
|
+
*
|
|
39
|
+
* This is the fees CLAIMABLE NOW, not the position's lifetime earnings: the
|
|
40
|
+
* pool rewrites `feeGrowthInsideLast` on every collect, so anything already
|
|
41
|
+
* taken is no longer visible here. Reconstructing lifetime earnings means
|
|
42
|
+
* replaying the position's `ModifyLiquidity` events against archive state.
|
|
43
|
+
*/
|
|
44
|
+
export declare function readUniswapV4PositionFees(client: Pick<PublicClient, "readContract">, { chainId, stateView, poolId, positionManager, tokenId, tickLower, tickUpper, }: {
|
|
45
|
+
chainId?: JBChainId;
|
|
46
|
+
/** Overrides the chain's canonical StateView deployment. */
|
|
47
|
+
stateView?: Address;
|
|
48
|
+
poolId: Hex;
|
|
49
|
+
positionManager: Address;
|
|
50
|
+
tokenId: bigint;
|
|
51
|
+
tickLower: number;
|
|
52
|
+
tickUpper: number;
|
|
53
|
+
}): Promise<UniswapV4PositionFees>;
|
|
54
|
+
export interface UniswapV4CollectFeesTxRequest {
|
|
55
|
+
to: Address;
|
|
56
|
+
data: Hex;
|
|
57
|
+
value: bigint;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Collect a position's fees without touching its liquidity.
|
|
61
|
+
*
|
|
62
|
+
* A V4 "collect" is a zero-liquidity decrease: the pool settles the accrued
|
|
63
|
+
* fees into the position's delta, and TAKE_PAIR pays both currencies out. The
|
|
64
|
+
* minimum-out parameters are 0 because nothing is swapped — the amounts are
|
|
65
|
+
* whatever the pool has already accrued, so a floor could only make a valid
|
|
66
|
+
* claim revert.
|
|
67
|
+
*/
|
|
68
|
+
export declare function buildCollectUniswapV4FeesTx({ positionManager, tokenId, currency0, currency1, recipient, deadline, }: {
|
|
69
|
+
positionManager: Address;
|
|
70
|
+
tokenId: bigint;
|
|
71
|
+
currency0: Address;
|
|
72
|
+
currency1: Address;
|
|
73
|
+
recipient: Address;
|
|
74
|
+
deadline: bigint;
|
|
75
|
+
}): UniswapV4CollectFeesTxRequest;
|
|
76
|
+
//# sourceMappingURL=uniswapV4Fees.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniswapV4Fees.d.ts","sourceRoot":"","sources":["../../../src/v6/uniswapV4Fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAsD7C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,SAAS,EACT,SAAS,EACT,IAAI,GACL,EAAE;IACD,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,GAAG,CAYN;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,uBAAuB,EACvB,mBAAmB,GACpB,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GAAG,MAAM,CAIT;AAED,MAAM,WAAW,qBAAqB;IACpC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,EAC1C,EACE,OAAO,EACP,SAAS,EACT,MAAM,EACN,eAAe,EACf,OAAO,EACP,SAAS,EACT,SAAS,GACV,EAAE;IACD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,qBAAqB,CAAC,CAsDhC;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,eAAe,EACf,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;IACD,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,6BAA6B,CAiChC"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.uniswapV4PositionId = uniswapV4PositionId;
|
|
4
|
+
exports.uniswapV4FeesOwed = uniswapV4FeesOwed;
|
|
5
|
+
exports.readUniswapV4PositionFees = readUniswapV4PositionFees;
|
|
6
|
+
exports.buildCollectUniswapV4FeesTx = buildCollectUniswapV4FeesTx;
|
|
7
|
+
const viem_1 = require("viem");
|
|
8
|
+
const uniswapV4Deployments_js_1 = require("./uniswapV4Deployments.js");
|
|
9
|
+
const UINT256_MAX = (1n << 256n) - 1n;
|
|
10
|
+
const Q128 = 1n << 128n;
|
|
11
|
+
const STATE_VIEW_ABI = [
|
|
12
|
+
{
|
|
13
|
+
type: "function",
|
|
14
|
+
name: "getFeeGrowthInside",
|
|
15
|
+
stateMutability: "view",
|
|
16
|
+
inputs: [
|
|
17
|
+
{ name: "poolId", type: "bytes32" },
|
|
18
|
+
{ name: "tickLower", type: "int24" },
|
|
19
|
+
{ name: "tickUpper", type: "int24" },
|
|
20
|
+
],
|
|
21
|
+
outputs: [
|
|
22
|
+
{ name: "feeGrowthInside0X128", type: "uint256" },
|
|
23
|
+
{ name: "feeGrowthInside1X128", type: "uint256" },
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
type: "function",
|
|
28
|
+
name: "getPositionInfo",
|
|
29
|
+
stateMutability: "view",
|
|
30
|
+
inputs: [
|
|
31
|
+
{ name: "poolId", type: "bytes32" },
|
|
32
|
+
{ name: "positionId", type: "bytes32" },
|
|
33
|
+
],
|
|
34
|
+
outputs: [
|
|
35
|
+
{ name: "liquidity", type: "uint128" },
|
|
36
|
+
{ name: "feeGrowthInside0LastX128", type: "uint256" },
|
|
37
|
+
{ name: "feeGrowthInside1LastX128", type: "uint256" },
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
];
|
|
41
|
+
const POSITION_MANAGER_ABI = [
|
|
42
|
+
{
|
|
43
|
+
type: "function",
|
|
44
|
+
name: "modifyLiquidities",
|
|
45
|
+
stateMutability: "payable",
|
|
46
|
+
inputs: [
|
|
47
|
+
{ name: "unlockData", type: "bytes" },
|
|
48
|
+
{ name: "deadline", type: "uint256" },
|
|
49
|
+
],
|
|
50
|
+
outputs: [],
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
/** v4-periphery `Actions.DECREASE_LIQUIDITY`. */
|
|
54
|
+
const ACTION_DECREASE_LIQUIDITY = 0x01;
|
|
55
|
+
/** v4-periphery `Actions.TAKE_PAIR`. */
|
|
56
|
+
const ACTION_TAKE_PAIR = 0x11;
|
|
57
|
+
/**
|
|
58
|
+
* The PoolManager position key: `keccak256(abi.encodePacked(owner, tickLower,
|
|
59
|
+
* tickUpper, salt))`. For a PositionManager-held position the owner is the
|
|
60
|
+
* PositionManager and the salt is the position's token id.
|
|
61
|
+
*/
|
|
62
|
+
function uniswapV4PositionId({ owner, tickLower, tickUpper, salt, }) {
|
|
63
|
+
return (0, viem_1.keccak256)((0, viem_1.encodePacked)(["address", "int24", "int24", "bytes32"], [
|
|
64
|
+
owner,
|
|
65
|
+
tickLower,
|
|
66
|
+
tickUpper,
|
|
67
|
+
`0x${salt.toString(16).padStart(64, "0")}`,
|
|
68
|
+
]));
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Fees a position has accrued since its last checkpoint, from the pool's fee
|
|
72
|
+
* growth accumulators.
|
|
73
|
+
*
|
|
74
|
+
* @remarks Fee growth accumulators are unchecked `uint256` in the pool and are
|
|
75
|
+
* expected to wrap; the difference is therefore taken modulo 2^256, exactly as
|
|
76
|
+
* Solidity computes it. A checked subtraction would read a wrapped accumulator
|
|
77
|
+
* as a negative (or enormous) balance.
|
|
78
|
+
*/
|
|
79
|
+
function uniswapV4FeesOwed({ liquidity, feeGrowthInsideLastX128, feeGrowthInsideX128, }) {
|
|
80
|
+
if (liquidity <= 0n)
|
|
81
|
+
return 0n;
|
|
82
|
+
const delta = (feeGrowthInsideX128 - feeGrowthInsideLastX128) & UINT256_MAX;
|
|
83
|
+
return (delta * liquidity) / Q128;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Read a position's unclaimed fees through StateView.
|
|
87
|
+
*
|
|
88
|
+
* This is the fees CLAIMABLE NOW, not the position's lifetime earnings: the
|
|
89
|
+
* pool rewrites `feeGrowthInsideLast` on every collect, so anything already
|
|
90
|
+
* taken is no longer visible here. Reconstructing lifetime earnings means
|
|
91
|
+
* replaying the position's `ModifyLiquidity` events against archive state.
|
|
92
|
+
*/
|
|
93
|
+
async function readUniswapV4PositionFees(client, { chainId, stateView, poolId, positionManager, tokenId, tickLower, tickUpper, }) {
|
|
94
|
+
const lens = stateView ??
|
|
95
|
+
(chainId
|
|
96
|
+
? uniswapV4Deployments_js_1.UNISWAP_V4_STATE_VIEW_ADDRESSES[chainId]
|
|
97
|
+
: undefined);
|
|
98
|
+
if (!lens) {
|
|
99
|
+
throw new Error(`No Uniswap V4 StateView deployment for chain ${chainId ?? "unknown"}.`);
|
|
100
|
+
}
|
|
101
|
+
const positionId = uniswapV4PositionId({
|
|
102
|
+
owner: positionManager,
|
|
103
|
+
tickLower,
|
|
104
|
+
tickUpper,
|
|
105
|
+
salt: tokenId,
|
|
106
|
+
});
|
|
107
|
+
const [position, inside] = await Promise.all([
|
|
108
|
+
client.readContract({
|
|
109
|
+
address: lens,
|
|
110
|
+
abi: STATE_VIEW_ABI,
|
|
111
|
+
functionName: "getPositionInfo",
|
|
112
|
+
args: [poolId, positionId],
|
|
113
|
+
}),
|
|
114
|
+
client.readContract({
|
|
115
|
+
address: lens,
|
|
116
|
+
abi: STATE_VIEW_ABI,
|
|
117
|
+
functionName: "getFeeGrowthInside",
|
|
118
|
+
args: [poolId, tickLower, tickUpper],
|
|
119
|
+
}),
|
|
120
|
+
]);
|
|
121
|
+
const [liquidity, feeGrowthInside0Last, feeGrowthInside1Last] = position;
|
|
122
|
+
const [feeGrowthInside0, feeGrowthInside1] = inside;
|
|
123
|
+
return {
|
|
124
|
+
liquidity,
|
|
125
|
+
amount0: uniswapV4FeesOwed({
|
|
126
|
+
liquidity,
|
|
127
|
+
feeGrowthInsideLastX128: feeGrowthInside0Last,
|
|
128
|
+
feeGrowthInsideX128: feeGrowthInside0,
|
|
129
|
+
}),
|
|
130
|
+
amount1: uniswapV4FeesOwed({
|
|
131
|
+
liquidity,
|
|
132
|
+
feeGrowthInsideLastX128: feeGrowthInside1Last,
|
|
133
|
+
feeGrowthInsideX128: feeGrowthInside1,
|
|
134
|
+
}),
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Collect a position's fees without touching its liquidity.
|
|
139
|
+
*
|
|
140
|
+
* A V4 "collect" is a zero-liquidity decrease: the pool settles the accrued
|
|
141
|
+
* fees into the position's delta, and TAKE_PAIR pays both currencies out. The
|
|
142
|
+
* minimum-out parameters are 0 because nothing is swapped — the amounts are
|
|
143
|
+
* whatever the pool has already accrued, so a floor could only make a valid
|
|
144
|
+
* claim revert.
|
|
145
|
+
*/
|
|
146
|
+
function buildCollectUniswapV4FeesTx({ positionManager, tokenId, currency0, currency1, recipient, deadline, }) {
|
|
147
|
+
const decreaseParams = (0, viem_1.encodeAbiParameters)([
|
|
148
|
+
{ type: "uint256" },
|
|
149
|
+
{ type: "uint128" },
|
|
150
|
+
{ type: "uint128" },
|
|
151
|
+
{ type: "uint128" },
|
|
152
|
+
{ type: "bytes" },
|
|
153
|
+
], [tokenId, 0n, 0n, 0n, "0x"]);
|
|
154
|
+
const takeParams = (0, viem_1.encodeAbiParameters)([{ type: "address" }, { type: "address" }, { type: "address" }], [currency0, currency1, recipient]);
|
|
155
|
+
const actions = (0, viem_1.encodePacked)(["uint8", "uint8"], [ACTION_DECREASE_LIQUIDITY, ACTION_TAKE_PAIR]);
|
|
156
|
+
const unlockData = (0, viem_1.encodeAbiParameters)([{ type: "bytes" }, { type: "bytes[]" }], [actions, [decreaseParams, takeParams]]);
|
|
157
|
+
return {
|
|
158
|
+
to: positionManager,
|
|
159
|
+
data: (0, viem_1.encodeFunctionData)({
|
|
160
|
+
abi: POSITION_MANAGER_ABI,
|
|
161
|
+
functionName: "modifyLiquidities",
|
|
162
|
+
args: [unlockData, deadline],
|
|
163
|
+
}),
|
|
164
|
+
value: 0n,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=uniswapV4Fees.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniswapV4Fees.js","sourceRoot":"","sources":["../../../src/v6/uniswapV4Fees.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/v6/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export * from "./cashOut.js";
|
|
|
15
15
|
export * from "./nft.js";
|
|
16
16
|
export * from "./tokens.js";
|
|
17
17
|
export * from "./uniswapV4.js";
|
|
18
|
+
export * from "./uniswapV4Fees.js";
|
|
18
19
|
export * from "./permissions.js";
|
|
19
20
|
export * from "./suckers.js";
|
|
20
21
|
export * from "./loans.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/dist/esm/v6/index.js
CHANGED
|
@@ -15,6 +15,7 @@ export * from "./cashOut.js";
|
|
|
15
15
|
export * from "./nft.js";
|
|
16
16
|
export * from "./tokens.js";
|
|
17
17
|
export * from "./uniswapV4.js";
|
|
18
|
+
export * from "./uniswapV4Fees.js";
|
|
18
19
|
export * from "./permissions.js";
|
|
19
20
|
export * from "./suckers.js";
|
|
20
21
|
export * from "./loans.js";
|
package/dist/esm/v6/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/dist/esm/v6/nft.d.ts
CHANGED
|
@@ -10,6 +10,38 @@ export declare const TIER_UNLIMITED_SUPPLY = 999999999;
|
|
|
10
10
|
* out of 200, so the shopper-facing "% off" is `discountPercent / 2`.
|
|
11
11
|
*/
|
|
12
12
|
export declare const DISCOUNT_DENOMINATOR = 200n;
|
|
13
|
+
/** The 721 tiers hook's ruleset-metadata bit which pauses eligible transfers. */
|
|
14
|
+
export declare const JB721_RULESET_METADATA_PAUSE_TRANSFERS: number;
|
|
15
|
+
/** The 721 tiers hook's ruleset-metadata bit which pauses pending reserve mints. */
|
|
16
|
+
export declare const JB721_RULESET_METADATA_PAUSE_MINT_PENDING_RESERVES: number;
|
|
17
|
+
/** The protocol stores 14 app-specific bits in `JBRulesetMetadata.metadata`. */
|
|
18
|
+
export declare const JB_RULESET_METADATA_APP_BITS_MAX = 16383;
|
|
19
|
+
/** 721-specific overrides accepted by {@link build721RulesetMetadata}. */
|
|
20
|
+
export interface JB721RulesetMetadataInput {
|
|
21
|
+
/** Existing app-specific metadata. Unrelated bits are preserved. */
|
|
22
|
+
metadata?: number;
|
|
23
|
+
/** Pause transfers for tiers whose `transfersPausable` flag is enabled. */
|
|
24
|
+
pauseTransfers?: boolean;
|
|
25
|
+
/** Pause minting the hook's pending reserve tokens. */
|
|
26
|
+
pauseMintPendingReserves?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/** 721-specific flags decoded from app-specific ruleset metadata. */
|
|
29
|
+
export interface JB721RulesetMetadata {
|
|
30
|
+
pauseTransfers: boolean;
|
|
31
|
+
pauseMintPendingReserves: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Set the 721 tiers hook's ruleset flags while preserving every unrelated app
|
|
35
|
+
* metadata bit. This is important when composing with other hooks; for
|
|
36
|
+
* example, Revnets use another bit to permit sucker deployment.
|
|
37
|
+
*
|
|
38
|
+
* A transfer is only paused when `pauseTransfers` is true AND the transferred
|
|
39
|
+
* tier was created with `transfersPausable`. Mints and burns remain possible.
|
|
40
|
+
* Omitted overrides preserve the corresponding bit in `metadata`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function build721RulesetMetadata(input?: JB721RulesetMetadataInput): number;
|
|
43
|
+
/** Decode the 721 tiers hook's flags without interpreting unrelated bits. */
|
|
44
|
+
export declare function decode721RulesetMetadata(metadata: number): JB721RulesetMetadata;
|
|
13
45
|
/** Canonical display fields understood across Juicebox 721 metadata writers. */
|
|
14
46
|
export interface TierMetadata {
|
|
15
47
|
name?: string;
|
package/dist/esm/v6/nft.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nft.d.ts","sourceRoot":"","sources":["../../../src/v6/nft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAe,MAAM,MAAM,CAAC;AAQ/D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKxC;;;GAGG;AACH,eAAO,MAAM,qBAAqB,YAAc,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,mDAAmD;AACnD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAaD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAmBhC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAe5E;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAezD;AAED,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,iBAAiB,GACvB,kBAAkB,CAiCpB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,kBAAkB,SAA0B,GAC3C,MAAM,GAAG,SAAS,CASpB;AAcD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,GAAG,SAAS,CAWpB;AAED,6DAA6D;AAC7D,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,YAAY,CAOd;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC1D;IACD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC,CAqBA;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,GAAG,MAAM,GAC/B,MAAM,CAKR;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,GAAG,CAAC;IACpB,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,IAAI,EAAE,OAAO,CAAC;IACd,8BAA8B;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gEAAgE;IAChE,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,EAAE,IAAI,EAAE,EAAE;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC9C,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,EACE,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAe,EACf,UAAe,GAChB,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,GACA,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAqGhC"}
|
|
1
|
+
{"version":3,"file":"nft.d.ts","sourceRoot":"","sources":["../../../src/v6/nft.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/v6/nft.js
CHANGED
|
@@ -14,6 +14,46 @@ export const TIER_UNLIMITED_SUPPLY = 999_999_999;
|
|
|
14
14
|
* out of 200, so the shopper-facing "% off" is `discountPercent / 2`.
|
|
15
15
|
*/
|
|
16
16
|
export const DISCOUNT_DENOMINATOR = 200n;
|
|
17
|
+
/** The 721 tiers hook's ruleset-metadata bit which pauses eligible transfers. */
|
|
18
|
+
export const JB721_RULESET_METADATA_PAUSE_TRANSFERS = 1 << 0;
|
|
19
|
+
/** The 721 tiers hook's ruleset-metadata bit which pauses pending reserve mints. */
|
|
20
|
+
export const JB721_RULESET_METADATA_PAUSE_MINT_PENDING_RESERVES = 1 << 1;
|
|
21
|
+
/** The protocol stores 14 app-specific bits in `JBRulesetMetadata.metadata`. */
|
|
22
|
+
export const JB_RULESET_METADATA_APP_BITS_MAX = 0x3fff;
|
|
23
|
+
function assertRulesetAppMetadata(metadata) {
|
|
24
|
+
if (!Number.isInteger(metadata) ||
|
|
25
|
+
metadata < 0 ||
|
|
26
|
+
metadata > JB_RULESET_METADATA_APP_BITS_MAX) {
|
|
27
|
+
throw new Error(`Ruleset app metadata must be an integer between 0 and ${JB_RULESET_METADATA_APP_BITS_MAX}.`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function setMetadataFlag(metadata, flag, enabled) {
|
|
31
|
+
if (enabled === undefined)
|
|
32
|
+
return metadata;
|
|
33
|
+
return enabled ? metadata | flag : metadata & ~flag;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Set the 721 tiers hook's ruleset flags while preserving every unrelated app
|
|
37
|
+
* metadata bit. This is important when composing with other hooks; for
|
|
38
|
+
* example, Revnets use another bit to permit sucker deployment.
|
|
39
|
+
*
|
|
40
|
+
* A transfer is only paused when `pauseTransfers` is true AND the transferred
|
|
41
|
+
* tier was created with `transfersPausable`. Mints and burns remain possible.
|
|
42
|
+
* Omitted overrides preserve the corresponding bit in `metadata`.
|
|
43
|
+
*/
|
|
44
|
+
export function build721RulesetMetadata(input = {}) {
|
|
45
|
+
const metadata = input.metadata ?? 0;
|
|
46
|
+
assertRulesetAppMetadata(metadata);
|
|
47
|
+
return setMetadataFlag(setMetadataFlag(metadata, JB721_RULESET_METADATA_PAUSE_TRANSFERS, input.pauseTransfers), JB721_RULESET_METADATA_PAUSE_MINT_PENDING_RESERVES, input.pauseMintPendingReserves);
|
|
48
|
+
}
|
|
49
|
+
/** Decode the 721 tiers hook's flags without interpreting unrelated bits. */
|
|
50
|
+
export function decode721RulesetMetadata(metadata) {
|
|
51
|
+
assertRulesetAppMetadata(metadata);
|
|
52
|
+
return {
|
|
53
|
+
pauseTransfers: (metadata & JB721_RULESET_METADATA_PAUSE_TRANSFERS) !== 0,
|
|
54
|
+
pauseMintPendingReserves: (metadata & JB721_RULESET_METADATA_PAUSE_MINT_PENDING_RESERVES) !== 0,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
17
57
|
function nonEmptyString(value) {
|
|
18
58
|
return typeof value === "string" && value ? value : undefined;
|
|
19
59
|
}
|
package/dist/esm/v6/nft.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../src/v6/nft.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../src/v6/nft.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,12 @@ export declare const UNISWAP_V4_POSITION_MANAGER_ADDRESSES: Readonly<Partial<Rec
|
|
|
8
8
|
export declare const UNISWAP_V4_QUOTER_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
|
|
9
9
|
/** Canonical Universal Router deployments which support V4 swaps. */
|
|
10
10
|
export declare const UNISWAP_V4_UNIVERSAL_ROUTER_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
|
|
11
|
+
/**
|
|
12
|
+
* Canonical StateView deployments — the periphery lens over PoolManager's
|
|
13
|
+
* `extsload` storage. Each address was verified by calling `poolManager()` and
|
|
14
|
+
* matching it against {@link UNISWAP_V4_POOL_MANAGER_ADDRESSES} for the chain.
|
|
15
|
+
*/
|
|
16
|
+
export declare const UNISWAP_V4_STATE_VIEW_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
|
|
11
17
|
/** Permit2 is deployed at the same address on supported EVM chains. */
|
|
12
18
|
export declare const UNISWAP_PERMIT2_ADDRESS: Address;
|
|
13
19
|
/** Resolve the supported V4 surface for a chain without guessing addresses. */
|
|
@@ -16,6 +22,7 @@ export declare function uniswapV4Deployment(chainId: number): {
|
|
|
16
22
|
positionManager: Address | null;
|
|
17
23
|
quoter: Address | null;
|
|
18
24
|
universalRouter: Address | null;
|
|
25
|
+
stateView: Address | null;
|
|
19
26
|
permit2: Address;
|
|
20
27
|
} | null;
|
|
21
28
|
//# sourceMappingURL=uniswapV4Deployments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswapV4Deployments.d.ts","sourceRoot":"","sources":["../../../src/v6/uniswapV4Deployments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CACtD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAChD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,uBAAuB,EAAE,OACQ,CAAC;AAE/C,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"uniswapV4Deployments.d.ts","sourceRoot":"","sources":["../../../src/v6/uniswapV4Deployments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CACtD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAChD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAC1D,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CACpD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,uBAAuB,EAAE,OACQ,CAAC;AAE/C,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,IAAI,CAmCP"}
|
|
@@ -38,6 +38,20 @@ export const UNISWAP_V4_UNIVERSAL_ROUTER_ADDRESSES = {
|
|
|
38
38
|
421614: "0xefd1d4bd4cf1e86da286bb4cb1b8bced9c10ba47",
|
|
39
39
|
11155111: "0x3A9D48AB9751398BbFa63ad67599Bb04e4BdF98b",
|
|
40
40
|
};
|
|
41
|
+
/**
|
|
42
|
+
* Canonical StateView deployments — the periphery lens over PoolManager's
|
|
43
|
+
* `extsload` storage. Each address was verified by calling `poolManager()` and
|
|
44
|
+
* matching it against {@link UNISWAP_V4_POOL_MANAGER_ADDRESSES} for the chain.
|
|
45
|
+
*/
|
|
46
|
+
export const UNISWAP_V4_STATE_VIEW_ADDRESSES = {
|
|
47
|
+
1: "0x7ffe42c4a5deea5b0fec41c94c136cf115597227",
|
|
48
|
+
10: "0xc18a3169788f4f75a170290584eca6395c75ecdb",
|
|
49
|
+
8453: "0xa3c0c9b65bad0b08107aa264b0f3db444b867a71",
|
|
50
|
+
42161: "0x76fd297e2d437cd7f76d50f01afe6160f86e9990",
|
|
51
|
+
84532: "0x571291b572ed32ce6751a2cb2486ebee8defb9b4",
|
|
52
|
+
421614: "0x9d467fa9062b6e9b1a46e26007ad82db116c67cb",
|
|
53
|
+
11155111: "0xe1dd9c3fa50edb962e442f60dfbc432e24537e4c",
|
|
54
|
+
};
|
|
41
55
|
/** Permit2 is deployed at the same address on supported EVM chains. */
|
|
42
56
|
export const UNISWAP_PERMIT2_ADDRESS = "0x000000000022D473030F116dDEE9F6B43aC78BA3";
|
|
43
57
|
/** Resolve the supported V4 surface for a chain without guessing addresses. */
|
|
@@ -50,6 +64,7 @@ export function uniswapV4Deployment(chainId) {
|
|
|
50
64
|
positionManager: UNISWAP_V4_POSITION_MANAGER_ADDRESSES[chainId] ?? null,
|
|
51
65
|
quoter: UNISWAP_V4_QUOTER_ADDRESSES[chainId] ?? null,
|
|
52
66
|
universalRouter: UNISWAP_V4_UNIVERSAL_ROUTER_ADDRESSES[chainId] ?? null,
|
|
67
|
+
stateView: UNISWAP_V4_STATE_VIEW_ADDRESSES[chainId] ?? null,
|
|
53
68
|
permit2: UNISWAP_PERMIT2_ADDRESS,
|
|
54
69
|
};
|
|
55
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswapV4Deployments.js","sourceRoot":"","sources":["../../../src/v6/uniswapV4Deployments.ts"],"names":[],"mappings":"AAGA,6DAA6D;AAC7D,MAAM,CAAC,MAAM,iCAAiC,GAE1C;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,iEAAiE;AACjE,MAAM,CAAC,MAAM,qCAAqC,GAE9C;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,uEAAuE;AACvE,MAAM,CAAC,MAAM,2BAA2B,GAEpC;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,qCAAqC,GAE9C;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,uEAAuE;AACvE,MAAM,CAAC,MAAM,uBAAuB,GAClC,4CAA4C,CAAC;AAE/C,+EAA+E;AAC/E,MAAM,UAAU,mBAAmB,CAAC,OAAe;
|
|
1
|
+
{"version":3,"file":"uniswapV4Deployments.js","sourceRoot":"","sources":["../../../src/v6/uniswapV4Deployments.ts"],"names":[],"mappings":"AAGA,6DAA6D;AAC7D,MAAM,CAAC,MAAM,iCAAiC,GAE1C;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,iEAAiE;AACjE,MAAM,CAAC,MAAM,qCAAqC,GAE9C;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,uEAAuE;AACvE,MAAM,CAAC,MAAM,2BAA2B,GAEpC;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,qCAAqC,GAE9C;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAExC;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,uEAAuE;AACvE,MAAM,CAAC,MAAM,uBAAuB,GAClC,4CAA4C,CAAC;AAE/C,+EAA+E;AAC/E,MAAM,UAAU,mBAAmB,CAAC,OAAe;IAQjD,MAAM,WAAW,GACf,iCAGD,CAAC,OAAO,CAAC,CAAC;IACX,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO;QACL,WAAW;QACX,eAAe,EAEX,qCAGD,CAAC,OAAO,CAAC,IAAI,IAAI;QACpB,MAAM,EAEF,2BAGD,CAAC,OAAO,CAAC,IAAI,IAAI;QACpB,eAAe,EAEX,qCAGD,CAAC,OAAO,CAAC,IAAI,IAAI;QACpB,SAAS,EAEL,+BAGD,CAAC,OAAO,CAAC,IAAI,IAAI;QACpB,OAAO,EAAE,uBAAuB;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { type Address, type Hex, type PublicClient } from "viem";
|
|
2
|
+
import type { JBChainId } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The PoolManager position key: `keccak256(abi.encodePacked(owner, tickLower,
|
|
5
|
+
* tickUpper, salt))`. For a PositionManager-held position the owner is the
|
|
6
|
+
* PositionManager and the salt is the position's token id.
|
|
7
|
+
*/
|
|
8
|
+
export declare function uniswapV4PositionId({ owner, tickLower, tickUpper, salt, }: {
|
|
9
|
+
owner: Address;
|
|
10
|
+
tickLower: number;
|
|
11
|
+
tickUpper: number;
|
|
12
|
+
salt: bigint;
|
|
13
|
+
}): Hex;
|
|
14
|
+
/**
|
|
15
|
+
* Fees a position has accrued since its last checkpoint, from the pool's fee
|
|
16
|
+
* growth accumulators.
|
|
17
|
+
*
|
|
18
|
+
* @remarks Fee growth accumulators are unchecked `uint256` in the pool and are
|
|
19
|
+
* expected to wrap; the difference is therefore taken modulo 2^256, exactly as
|
|
20
|
+
* Solidity computes it. A checked subtraction would read a wrapped accumulator
|
|
21
|
+
* as a negative (or enormous) balance.
|
|
22
|
+
*/
|
|
23
|
+
export declare function uniswapV4FeesOwed({ liquidity, feeGrowthInsideLastX128, feeGrowthInsideX128, }: {
|
|
24
|
+
liquidity: bigint;
|
|
25
|
+
feeGrowthInsideLastX128: bigint;
|
|
26
|
+
feeGrowthInsideX128: bigint;
|
|
27
|
+
}): bigint;
|
|
28
|
+
export interface UniswapV4PositionFees {
|
|
29
|
+
/** Unclaimed currency0 fees, in currency0's own decimals. */
|
|
30
|
+
amount0: bigint;
|
|
31
|
+
/** Unclaimed currency1 fees, in currency1's own decimals. */
|
|
32
|
+
amount1: bigint;
|
|
33
|
+
/** The position's live liquidity, as the pool records it. */
|
|
34
|
+
liquidity: bigint;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Read a position's unclaimed fees through StateView.
|
|
38
|
+
*
|
|
39
|
+
* This is the fees CLAIMABLE NOW, not the position's lifetime earnings: the
|
|
40
|
+
* pool rewrites `feeGrowthInsideLast` on every collect, so anything already
|
|
41
|
+
* taken is no longer visible here. Reconstructing lifetime earnings means
|
|
42
|
+
* replaying the position's `ModifyLiquidity` events against archive state.
|
|
43
|
+
*/
|
|
44
|
+
export declare function readUniswapV4PositionFees(client: Pick<PublicClient, "readContract">, { chainId, stateView, poolId, positionManager, tokenId, tickLower, tickUpper, }: {
|
|
45
|
+
chainId?: JBChainId;
|
|
46
|
+
/** Overrides the chain's canonical StateView deployment. */
|
|
47
|
+
stateView?: Address;
|
|
48
|
+
poolId: Hex;
|
|
49
|
+
positionManager: Address;
|
|
50
|
+
tokenId: bigint;
|
|
51
|
+
tickLower: number;
|
|
52
|
+
tickUpper: number;
|
|
53
|
+
}): Promise<UniswapV4PositionFees>;
|
|
54
|
+
export interface UniswapV4CollectFeesTxRequest {
|
|
55
|
+
to: Address;
|
|
56
|
+
data: Hex;
|
|
57
|
+
value: bigint;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Collect a position's fees without touching its liquidity.
|
|
61
|
+
*
|
|
62
|
+
* A V4 "collect" is a zero-liquidity decrease: the pool settles the accrued
|
|
63
|
+
* fees into the position's delta, and TAKE_PAIR pays both currencies out. The
|
|
64
|
+
* minimum-out parameters are 0 because nothing is swapped — the amounts are
|
|
65
|
+
* whatever the pool has already accrued, so a floor could only make a valid
|
|
66
|
+
* claim revert.
|
|
67
|
+
*/
|
|
68
|
+
export declare function buildCollectUniswapV4FeesTx({ positionManager, tokenId, currency0, currency1, recipient, deadline, }: {
|
|
69
|
+
positionManager: Address;
|
|
70
|
+
tokenId: bigint;
|
|
71
|
+
currency0: Address;
|
|
72
|
+
currency1: Address;
|
|
73
|
+
recipient: Address;
|
|
74
|
+
deadline: bigint;
|
|
75
|
+
}): UniswapV4CollectFeesTxRequest;
|
|
76
|
+
//# sourceMappingURL=uniswapV4Fees.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniswapV4Fees.d.ts","sourceRoot":"","sources":["../../../src/v6/uniswapV4Fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAsD7C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,SAAS,EACT,SAAS,EACT,IAAI,GACL,EAAE;IACD,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,GAAG,CAYN;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,uBAAuB,EACvB,mBAAmB,GACpB,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GAAG,MAAM,CAIT;AAED,MAAM,WAAW,qBAAqB;IACpC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,EAC1C,EACE,OAAO,EACP,SAAS,EACT,MAAM,EACN,eAAe,EACf,OAAO,EACP,SAAS,EACT,SAAS,GACV,EAAE;IACD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,qBAAqB,CAAC,CAsDhC;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,eAAe,EACf,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;IACD,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,6BAA6B,CAiChC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { encodeAbiParameters, encodeFunctionData, encodePacked, keccak256, } from "viem";
|
|
2
|
+
import { UNISWAP_V4_STATE_VIEW_ADDRESSES } from "./uniswapV4Deployments.js";
|
|
3
|
+
const UINT256_MAX = (1n << 256n) - 1n;
|
|
4
|
+
const Q128 = 1n << 128n;
|
|
5
|
+
const STATE_VIEW_ABI = [
|
|
6
|
+
{
|
|
7
|
+
type: "function",
|
|
8
|
+
name: "getFeeGrowthInside",
|
|
9
|
+
stateMutability: "view",
|
|
10
|
+
inputs: [
|
|
11
|
+
{ name: "poolId", type: "bytes32" },
|
|
12
|
+
{ name: "tickLower", type: "int24" },
|
|
13
|
+
{ name: "tickUpper", type: "int24" },
|
|
14
|
+
],
|
|
15
|
+
outputs: [
|
|
16
|
+
{ name: "feeGrowthInside0X128", type: "uint256" },
|
|
17
|
+
{ name: "feeGrowthInside1X128", type: "uint256" },
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
type: "function",
|
|
22
|
+
name: "getPositionInfo",
|
|
23
|
+
stateMutability: "view",
|
|
24
|
+
inputs: [
|
|
25
|
+
{ name: "poolId", type: "bytes32" },
|
|
26
|
+
{ name: "positionId", type: "bytes32" },
|
|
27
|
+
],
|
|
28
|
+
outputs: [
|
|
29
|
+
{ name: "liquidity", type: "uint128" },
|
|
30
|
+
{ name: "feeGrowthInside0LastX128", type: "uint256" },
|
|
31
|
+
{ name: "feeGrowthInside1LastX128", type: "uint256" },
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
const POSITION_MANAGER_ABI = [
|
|
36
|
+
{
|
|
37
|
+
type: "function",
|
|
38
|
+
name: "modifyLiquidities",
|
|
39
|
+
stateMutability: "payable",
|
|
40
|
+
inputs: [
|
|
41
|
+
{ name: "unlockData", type: "bytes" },
|
|
42
|
+
{ name: "deadline", type: "uint256" },
|
|
43
|
+
],
|
|
44
|
+
outputs: [],
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
/** v4-periphery `Actions.DECREASE_LIQUIDITY`. */
|
|
48
|
+
const ACTION_DECREASE_LIQUIDITY = 0x01;
|
|
49
|
+
/** v4-periphery `Actions.TAKE_PAIR`. */
|
|
50
|
+
const ACTION_TAKE_PAIR = 0x11;
|
|
51
|
+
/**
|
|
52
|
+
* The PoolManager position key: `keccak256(abi.encodePacked(owner, tickLower,
|
|
53
|
+
* tickUpper, salt))`. For a PositionManager-held position the owner is the
|
|
54
|
+
* PositionManager and the salt is the position's token id.
|
|
55
|
+
*/
|
|
56
|
+
export function uniswapV4PositionId({ owner, tickLower, tickUpper, salt, }) {
|
|
57
|
+
return keccak256(encodePacked(["address", "int24", "int24", "bytes32"], [
|
|
58
|
+
owner,
|
|
59
|
+
tickLower,
|
|
60
|
+
tickUpper,
|
|
61
|
+
`0x${salt.toString(16).padStart(64, "0")}`,
|
|
62
|
+
]));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Fees a position has accrued since its last checkpoint, from the pool's fee
|
|
66
|
+
* growth accumulators.
|
|
67
|
+
*
|
|
68
|
+
* @remarks Fee growth accumulators are unchecked `uint256` in the pool and are
|
|
69
|
+
* expected to wrap; the difference is therefore taken modulo 2^256, exactly as
|
|
70
|
+
* Solidity computes it. A checked subtraction would read a wrapped accumulator
|
|
71
|
+
* as a negative (or enormous) balance.
|
|
72
|
+
*/
|
|
73
|
+
export function uniswapV4FeesOwed({ liquidity, feeGrowthInsideLastX128, feeGrowthInsideX128, }) {
|
|
74
|
+
if (liquidity <= 0n)
|
|
75
|
+
return 0n;
|
|
76
|
+
const delta = (feeGrowthInsideX128 - feeGrowthInsideLastX128) & UINT256_MAX;
|
|
77
|
+
return (delta * liquidity) / Q128;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Read a position's unclaimed fees through StateView.
|
|
81
|
+
*
|
|
82
|
+
* This is the fees CLAIMABLE NOW, not the position's lifetime earnings: the
|
|
83
|
+
* pool rewrites `feeGrowthInsideLast` on every collect, so anything already
|
|
84
|
+
* taken is no longer visible here. Reconstructing lifetime earnings means
|
|
85
|
+
* replaying the position's `ModifyLiquidity` events against archive state.
|
|
86
|
+
*/
|
|
87
|
+
export async function readUniswapV4PositionFees(client, { chainId, stateView, poolId, positionManager, tokenId, tickLower, tickUpper, }) {
|
|
88
|
+
const lens = stateView ??
|
|
89
|
+
(chainId
|
|
90
|
+
? UNISWAP_V4_STATE_VIEW_ADDRESSES[chainId]
|
|
91
|
+
: undefined);
|
|
92
|
+
if (!lens) {
|
|
93
|
+
throw new Error(`No Uniswap V4 StateView deployment for chain ${chainId ?? "unknown"}.`);
|
|
94
|
+
}
|
|
95
|
+
const positionId = uniswapV4PositionId({
|
|
96
|
+
owner: positionManager,
|
|
97
|
+
tickLower,
|
|
98
|
+
tickUpper,
|
|
99
|
+
salt: tokenId,
|
|
100
|
+
});
|
|
101
|
+
const [position, inside] = await Promise.all([
|
|
102
|
+
client.readContract({
|
|
103
|
+
address: lens,
|
|
104
|
+
abi: STATE_VIEW_ABI,
|
|
105
|
+
functionName: "getPositionInfo",
|
|
106
|
+
args: [poolId, positionId],
|
|
107
|
+
}),
|
|
108
|
+
client.readContract({
|
|
109
|
+
address: lens,
|
|
110
|
+
abi: STATE_VIEW_ABI,
|
|
111
|
+
functionName: "getFeeGrowthInside",
|
|
112
|
+
args: [poolId, tickLower, tickUpper],
|
|
113
|
+
}),
|
|
114
|
+
]);
|
|
115
|
+
const [liquidity, feeGrowthInside0Last, feeGrowthInside1Last] = position;
|
|
116
|
+
const [feeGrowthInside0, feeGrowthInside1] = inside;
|
|
117
|
+
return {
|
|
118
|
+
liquidity,
|
|
119
|
+
amount0: uniswapV4FeesOwed({
|
|
120
|
+
liquidity,
|
|
121
|
+
feeGrowthInsideLastX128: feeGrowthInside0Last,
|
|
122
|
+
feeGrowthInsideX128: feeGrowthInside0,
|
|
123
|
+
}),
|
|
124
|
+
amount1: uniswapV4FeesOwed({
|
|
125
|
+
liquidity,
|
|
126
|
+
feeGrowthInsideLastX128: feeGrowthInside1Last,
|
|
127
|
+
feeGrowthInsideX128: feeGrowthInside1,
|
|
128
|
+
}),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Collect a position's fees without touching its liquidity.
|
|
133
|
+
*
|
|
134
|
+
* A V4 "collect" is a zero-liquidity decrease: the pool settles the accrued
|
|
135
|
+
* fees into the position's delta, and TAKE_PAIR pays both currencies out. The
|
|
136
|
+
* minimum-out parameters are 0 because nothing is swapped — the amounts are
|
|
137
|
+
* whatever the pool has already accrued, so a floor could only make a valid
|
|
138
|
+
* claim revert.
|
|
139
|
+
*/
|
|
140
|
+
export function buildCollectUniswapV4FeesTx({ positionManager, tokenId, currency0, currency1, recipient, deadline, }) {
|
|
141
|
+
const decreaseParams = encodeAbiParameters([
|
|
142
|
+
{ type: "uint256" },
|
|
143
|
+
{ type: "uint128" },
|
|
144
|
+
{ type: "uint128" },
|
|
145
|
+
{ type: "uint128" },
|
|
146
|
+
{ type: "bytes" },
|
|
147
|
+
], [tokenId, 0n, 0n, 0n, "0x"]);
|
|
148
|
+
const takeParams = encodeAbiParameters([{ type: "address" }, { type: "address" }, { type: "address" }], [currency0, currency1, recipient]);
|
|
149
|
+
const actions = encodePacked(["uint8", "uint8"], [ACTION_DECREASE_LIQUIDITY, ACTION_TAKE_PAIR]);
|
|
150
|
+
const unlockData = encodeAbiParameters([{ type: "bytes" }, { type: "bytes[]" }], [actions, [decreaseParams, takeParams]]);
|
|
151
|
+
return {
|
|
152
|
+
to: positionManager,
|
|
153
|
+
data: encodeFunctionData({
|
|
154
|
+
abi: POSITION_MANAGER_ABI,
|
|
155
|
+
functionName: "modifyLiquidities",
|
|
156
|
+
args: [unlockData, deadline],
|
|
157
|
+
}),
|
|
158
|
+
value: 0n,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=uniswapV4Fees.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniswapV4Fees.js","sourceRoot":"","sources":["../../../src/v6/uniswapV4Fees.ts"],"names":[],"mappings":"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"}
|