@bananapus/nana-sdk-core 1.10.0 → 1.11.0

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.
Files changed (55) hide show
  1. package/dist/cjs/v6/index.d.ts +1 -0
  2. package/dist/cjs/v6/index.d.ts.map +1 -1
  3. package/dist/cjs/v6/index.js +1 -0
  4. package/dist/cjs/v6/index.js.map +1 -1
  5. package/dist/cjs/v6/loanMath.d.ts +33 -0
  6. package/dist/cjs/v6/loanMath.d.ts.map +1 -0
  7. package/dist/cjs/v6/loanMath.js +52 -0
  8. package/dist/cjs/v6/loanMath.js.map +1 -0
  9. package/dist/cjs/v6/loans.d.ts +1 -42
  10. package/dist/cjs/v6/loans.d.ts.map +1 -1
  11. package/dist/cjs/v6/loans.js +16 -59
  12. package/dist/cjs/v6/loans.js.map +1 -1
  13. package/dist/cjs/v6/permit2.d.ts.map +1 -1
  14. package/dist/cjs/v6/permit2.js +3 -3
  15. package/dist/cjs/v6/permit2.js.map +1 -1
  16. package/dist/cjs/v6/uniswapV4.d.ts +1 -23
  17. package/dist/cjs/v6/uniswapV4.d.ts.map +1 -1
  18. package/dist/cjs/v6/uniswapV4.js +21 -65
  19. package/dist/cjs/v6/uniswapV4.js.map +1 -1
  20. package/dist/cjs/v6/uniswapV4Deployments.d.ts +28 -0
  21. package/dist/cjs/v6/uniswapV4Deployments.d.ts.map +1 -0
  22. package/dist/cjs/v6/uniswapV4Deployments.js +75 -0
  23. package/dist/cjs/v6/uniswapV4Deployments.js.map +1 -0
  24. package/dist/cjs/v6/uniswapV4Fees.d.ts +76 -0
  25. package/dist/cjs/v6/uniswapV4Fees.d.ts.map +1 -0
  26. package/dist/cjs/v6/uniswapV4Fees.js +167 -0
  27. package/dist/cjs/v6/uniswapV4Fees.js.map +1 -0
  28. package/dist/esm/v6/index.d.ts +1 -0
  29. package/dist/esm/v6/index.d.ts.map +1 -1
  30. package/dist/esm/v6/index.js +1 -0
  31. package/dist/esm/v6/index.js.map +1 -1
  32. package/dist/esm/v6/loanMath.d.ts +33 -0
  33. package/dist/esm/v6/loanMath.d.ts.map +1 -0
  34. package/dist/esm/v6/loanMath.js +47 -0
  35. package/dist/esm/v6/loanMath.js.map +1 -0
  36. package/dist/esm/v6/loans.d.ts +1 -42
  37. package/dist/esm/v6/loans.d.ts.map +1 -1
  38. package/dist/esm/v6/loans.js +1 -56
  39. package/dist/esm/v6/loans.js.map +1 -1
  40. package/dist/esm/v6/permit2.d.ts.map +1 -1
  41. package/dist/esm/v6/permit2.js +1 -1
  42. package/dist/esm/v6/permit2.js.map +1 -1
  43. package/dist/esm/v6/uniswapV4.d.ts +1 -23
  44. package/dist/esm/v6/uniswapV4.d.ts.map +1 -1
  45. package/dist/esm/v6/uniswapV4.js +2 -59
  46. package/dist/esm/v6/uniswapV4.js.map +1 -1
  47. package/dist/esm/v6/uniswapV4Deployments.d.ts +28 -0
  48. package/dist/esm/v6/uniswapV4Deployments.d.ts.map +1 -0
  49. package/dist/esm/v6/uniswapV4Deployments.js +71 -0
  50. package/dist/esm/v6/uniswapV4Deployments.js.map +1 -0
  51. package/dist/esm/v6/uniswapV4Fees.d.ts +76 -0
  52. package/dist/esm/v6/uniswapV4Fees.d.ts.map +1 -0
  53. package/dist/esm/v6/uniswapV4Fees.js +161 -0
  54. package/dist/esm/v6/uniswapV4Fees.js.map +1 -0
  55. package/package.json +37 -1
@@ -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"}
@@ -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);
@@ -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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The denominator for REVLoans fee percents: prepaid fee percents and source fee percents
3
+ * are expressed out of 1000.
4
+ */
5
+ export declare const LOANS_MAX_FEE = 1000n;
6
+ /**
7
+ * The minimum `prepaidFeePercent` REVLoans accepts when borrowing: 25 of
8
+ * {@link LOANS_MAX_FEE} (2.5%), paid upfront to the source revnet.
9
+ */
10
+ export declare const MIN_PREPAID_FEE_PERCENT = 25n;
11
+ /** The largest prepaid source fee REVLoans accepts: 500 / 1000 = 50%. */
12
+ export declare const MAX_PREPAID_FEE_PERCENT = 500n;
13
+ /** The upfront fee REVLoans routes to the $REV revnet on every borrow: 1%. */
14
+ export declare const REV_PREPAID_FEE_PERCENT = 10n;
15
+ export interface LoanOpeningAmounts {
16
+ grossBorrowAmount: bigint;
17
+ protocolFee: bigint;
18
+ revFee: bigint;
19
+ sourceFee: bigint;
20
+ netBorrowAmount: bigint;
21
+ }
22
+ /**
23
+ * Calculate spendable loan proceeds using the contracts' floor-rounded fee arithmetic.
24
+ */
25
+ export declare function loanOpeningAmounts({ grossBorrowAmount, prepaidSourceFeePercent, protocolFeeApplies, revFeeApplies, }: {
26
+ grossBorrowAmount: bigint;
27
+ prepaidSourceFeePercent?: bigint;
28
+ protocolFeeApplies?: boolean;
29
+ revFeeApplies?: boolean;
30
+ }): LoanOpeningAmounts;
31
+ /** Convenience accessor for {@link loanOpeningAmounts}. */
32
+ export declare function netLoanProceeds(grossBorrowAmount: bigint, prepaidSourceFeePercent?: bigint): bigint;
33
+ //# sourceMappingURL=loanMath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loanMath.d.ts","sourceRoot":"","sources":["../../../src/v6/loanMath.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAQ,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,iBAAiB,EACjB,uBAAiD,EACjD,kBAAyB,EACzB,aAAoB,GACrB,EAAE;IACD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,kBAAkB,CA2BrB;AAED,2DAA2D;AAC3D,wBAAgB,eAAe,CAC7B,iBAAiB,EAAE,MAAM,EACzB,uBAAuB,SAA0B,GAChD,MAAM,CAKR"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REV_PREPAID_FEE_PERCENT = exports.MAX_PREPAID_FEE_PERCENT = exports.MIN_PREPAID_FEE_PERCENT = exports.LOANS_MAX_FEE = void 0;
4
+ exports.loanOpeningAmounts = loanOpeningAmounts;
5
+ exports.netLoanProceeds = netLoanProceeds;
6
+ /**
7
+ * The denominator for REVLoans fee percents: prepaid fee percents and source fee percents
8
+ * are expressed out of 1000.
9
+ */
10
+ exports.LOANS_MAX_FEE = 1000n;
11
+ /**
12
+ * The minimum `prepaidFeePercent` REVLoans accepts when borrowing: 25 of
13
+ * {@link LOANS_MAX_FEE} (2.5%), paid upfront to the source revnet.
14
+ */
15
+ exports.MIN_PREPAID_FEE_PERCENT = 25n;
16
+ /** The largest prepaid source fee REVLoans accepts: 500 / 1000 = 50%. */
17
+ exports.MAX_PREPAID_FEE_PERCENT = 500n;
18
+ /** The upfront fee REVLoans routes to the $REV revnet on every borrow: 1%. */
19
+ exports.REV_PREPAID_FEE_PERCENT = 10n;
20
+ /**
21
+ * Calculate spendable loan proceeds using the contracts' floor-rounded fee arithmetic.
22
+ */
23
+ function loanOpeningAmounts({ grossBorrowAmount, prepaidSourceFeePercent = exports.MIN_PREPAID_FEE_PERCENT, protocolFeeApplies = true, revFeeApplies = true, }) {
24
+ if (grossBorrowAmount < 0n) {
25
+ throw new Error("grossBorrowAmount cannot be negative.");
26
+ }
27
+ if (prepaidSourceFeePercent < exports.MIN_PREPAID_FEE_PERCENT ||
28
+ prepaidSourceFeePercent > exports.MAX_PREPAID_FEE_PERCENT) {
29
+ throw new Error(`prepaidSourceFeePercent must be between ${exports.MIN_PREPAID_FEE_PERCENT} and ${exports.MAX_PREPAID_FEE_PERCENT}.`);
30
+ }
31
+ const protocolFee = protocolFeeApplies ? grossBorrowAmount / 40n : 0n;
32
+ const revFee = revFeeApplies
33
+ ? (grossBorrowAmount * exports.REV_PREPAID_FEE_PERCENT) / exports.LOANS_MAX_FEE
34
+ : 0n;
35
+ const sourceFee = (grossBorrowAmount * prepaidSourceFeePercent) / exports.LOANS_MAX_FEE;
36
+ const totalFees = protocolFee + revFee + sourceFee;
37
+ return {
38
+ grossBorrowAmount,
39
+ protocolFee,
40
+ revFee,
41
+ sourceFee,
42
+ netBorrowAmount: grossBorrowAmount > totalFees ? grossBorrowAmount - totalFees : 0n,
43
+ };
44
+ }
45
+ /** Convenience accessor for {@link loanOpeningAmounts}. */
46
+ function netLoanProceeds(grossBorrowAmount, prepaidSourceFeePercent = exports.MIN_PREPAID_FEE_PERCENT) {
47
+ return loanOpeningAmounts({
48
+ grossBorrowAmount,
49
+ prepaidSourceFeePercent,
50
+ }).netBorrowAmount;
51
+ }
52
+ //# sourceMappingURL=loanMath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loanMath.js","sourceRoot":"","sources":["../../../src/v6/loanMath.ts"],"names":[],"mappings":";;;AA6BA,gDAqCC;AAGD,0CAQC;AA7ED;;;GAGG;AACU,QAAA,aAAa,GAAG,KAAK,CAAC;AAEnC;;;GAGG;AACU,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAE3C,yEAAyE;AAC5D,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAE5C,8EAA8E;AACjE,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAU3C;;GAEG;AACH,SAAgB,kBAAkB,CAAC,EACjC,iBAAiB,EACjB,uBAAuB,GAAG,+BAAuB,EACjD,kBAAkB,GAAG,IAAI,EACzB,aAAa,GAAG,IAAI,GAMrB;IACC,IAAI,iBAAiB,GAAG,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,IACE,uBAAuB,GAAG,+BAAuB;QACjD,uBAAuB,GAAG,+BAAuB,EACjD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,2CAA2C,+BAAuB,QAAQ,+BAAuB,GAAG,CACrG,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,MAAM,GAAG,aAAa;QAC1B,CAAC,CAAC,CAAC,iBAAiB,GAAG,+BAAuB,CAAC,GAAG,qBAAa;QAC/D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,SAAS,GACb,CAAC,iBAAiB,GAAG,uBAAuB,CAAC,GAAG,qBAAa,CAAC;IAChE,MAAM,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;IACnD,OAAO;QACL,iBAAiB;QACjB,WAAW;QACX,MAAM;QACN,SAAS;QACT,eAAe,EACb,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE;KACrE,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,SAAgB,eAAe,CAC7B,iBAAyB,EACzB,uBAAuB,GAAG,+BAAuB;IAEjD,OAAO,kBAAkB,CAAC;QACxB,iBAAiB;QACjB,uBAAuB;KACxB,CAAC,CAAC,eAAe,CAAC;AACrB,CAAC"}
@@ -1,48 +1,7 @@
1
1
  import { Address, Hex, PublicClient } from "viem";
2
2
  import { revLoansAbi } from "../generated/juicebox.js";
3
3
  import { JBChainId } from "../types.js";
4
- /**
5
- * The denominator for REVLoans fee percents: prepaid fee percents and source fee percents
6
- * are expressed out of 1000.
7
- */
8
- export declare const LOANS_MAX_FEE = 1000n;
9
- /**
10
- * The minimum `prepaidFeePercent` REVLoans accepts when borrowing: 25 of {@link LOANS_MAX_FEE}
11
- * (2.5%), paid upfront to the source revnet. Prepaying more than the minimum extends the
12
- * loan's zero-additional-cost duration; after it expires the repayment cost increases
13
- * linearly until the loan liquidates at 10 years.
14
- */
15
- export declare const MIN_PREPAID_FEE_PERCENT = 25n;
16
- /** The largest prepaid source fee REVLoans accepts: 500 / 1000 = 50%. */
17
- export declare const MAX_PREPAID_FEE_PERCENT = 500n;
18
- /**
19
- * The upfront fee REVLoans routes to the $REV revnet on every borrow: 10 of
20
- * {@link LOANS_MAX_FEE} (1%), taken in addition to the prepaid fee.
21
- */
22
- export declare const REV_PREPAID_FEE_PERCENT = 10n;
23
- export interface LoanOpeningAmounts {
24
- grossBorrowAmount: bigint;
25
- protocolFee: bigint;
26
- revFee: bigint;
27
- sourceFee: bigint;
28
- netBorrowAmount: bigint;
29
- }
30
- /**
31
- * Calculate a borrower's spendable proceeds using the same floor-rounded fee
32
- * arithmetic as REVLoans, JBMultiTerminal, and JBFees.
33
- *
34
- * `grossBorrowAmount` is the principal recorded on the loan. The terminal's
35
- * standard 2.5% allowance fee is deducted first, followed by REVLoans' 1% REV
36
- * fee and the selected prepaid source fee (2.5% minimum).
37
- */
38
- export declare function loanOpeningAmounts({ grossBorrowAmount, prepaidSourceFeePercent, protocolFeeApplies, revFeeApplies, }: {
39
- grossBorrowAmount: bigint;
40
- prepaidSourceFeePercent?: bigint;
41
- protocolFeeApplies?: boolean;
42
- revFeeApplies?: boolean;
43
- }): LoanOpeningAmounts;
44
- /** Convenience accessor for {@link loanOpeningAmounts}. */
45
- export declare function netLoanProceeds(grossBorrowAmount: bigint, prepaidSourceFeePercent?: bigint): bigint;
4
+ export * from "./loanMath.js";
46
5
  /**
47
6
  * The JBPermissions permission id apps grant to the REVLoans contract before borrowing
48
7
  * against a holder's tokens (v6 ROOT permission id 1). REVLoans needs it to manage the
@@ -1 +1 @@
1
- {"version":3,"file":"loans.d.ts","sourceRoot":"","sources":["../../../src/v6/loans.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loans.d.ts","sourceRoot":"","sources":["../../../src/v6/loans.ts"],"names":[],"mappings":"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"}
@@ -1,70 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EMPTY_SINGLE_ALLOWANCE = exports.REVLOANS_PERMISSION_ID = exports.REV_PREPAID_FEE_PERCENT = exports.MAX_PREPAID_FEE_PERCENT = exports.MIN_PREPAID_FEE_PERCENT = exports.LOANS_MAX_FEE = void 0;
4
- exports.loanOpeningAmounts = loanOpeningAmounts;
5
- exports.netLoanProceeds = netLoanProceeds;
17
+ exports.EMPTY_SINGLE_ALLOWANCE = exports.REVLOANS_PERMISSION_ID = void 0;
6
18
  exports.buildBorrowTx = buildBorrowTx;
7
19
  exports.buildRepayLoanTx = buildRepayLoanTx;
8
20
  exports.buildReallocateCollateralTx = buildReallocateCollateralTx;
9
21
  exports.getBorrowableAmount = getBorrowableAmount;
10
22
  const juicebox_js_1 = require("../generated/juicebox.js");
11
23
  const types_js_1 = require("./types.js");
12
- /**
13
- * The denominator for REVLoans fee percents: prepaid fee percents and source fee percents
14
- * are expressed out of 1000.
15
- */
16
- exports.LOANS_MAX_FEE = 1000n;
17
- /**
18
- * The minimum `prepaidFeePercent` REVLoans accepts when borrowing: 25 of {@link LOANS_MAX_FEE}
19
- * (2.5%), paid upfront to the source revnet. Prepaying more than the minimum extends the
20
- * loan's zero-additional-cost duration; after it expires the repayment cost increases
21
- * linearly until the loan liquidates at 10 years.
22
- */
23
- exports.MIN_PREPAID_FEE_PERCENT = 25n;
24
- /** The largest prepaid source fee REVLoans accepts: 500 / 1000 = 50%. */
25
- exports.MAX_PREPAID_FEE_PERCENT = 500n;
26
- /**
27
- * The upfront fee REVLoans routes to the $REV revnet on every borrow: 10 of
28
- * {@link LOANS_MAX_FEE} (1%), taken in addition to the prepaid fee.
29
- */
30
- exports.REV_PREPAID_FEE_PERCENT = 10n;
31
- /**
32
- * Calculate a borrower's spendable proceeds using the same floor-rounded fee
33
- * arithmetic as REVLoans, JBMultiTerminal, and JBFees.
34
- *
35
- * `grossBorrowAmount` is the principal recorded on the loan. The terminal's
36
- * standard 2.5% allowance fee is deducted first, followed by REVLoans' 1% REV
37
- * fee and the selected prepaid source fee (2.5% minimum).
38
- */
39
- function loanOpeningAmounts({ grossBorrowAmount, prepaidSourceFeePercent = exports.MIN_PREPAID_FEE_PERCENT, protocolFeeApplies = true, revFeeApplies = true, }) {
40
- if (grossBorrowAmount < 0n) {
41
- throw new Error("grossBorrowAmount cannot be negative.");
42
- }
43
- if (prepaidSourceFeePercent < exports.MIN_PREPAID_FEE_PERCENT ||
44
- prepaidSourceFeePercent > exports.MAX_PREPAID_FEE_PERCENT) {
45
- throw new Error(`prepaidSourceFeePercent must be between ${exports.MIN_PREPAID_FEE_PERCENT} and ${exports.MAX_PREPAID_FEE_PERCENT}.`);
46
- }
47
- const protocolFee = protocolFeeApplies ? grossBorrowAmount / 40n : 0n;
48
- const revFee = revFeeApplies
49
- ? (grossBorrowAmount * exports.REV_PREPAID_FEE_PERCENT) / exports.LOANS_MAX_FEE
50
- : 0n;
51
- const sourceFee = (grossBorrowAmount * prepaidSourceFeePercent) / exports.LOANS_MAX_FEE;
52
- const totalFees = protocolFee + revFee + sourceFee;
53
- return {
54
- grossBorrowAmount,
55
- protocolFee,
56
- revFee,
57
- sourceFee,
58
- netBorrowAmount: grossBorrowAmount > totalFees ? grossBorrowAmount - totalFees : 0n,
59
- };
60
- }
61
- /** Convenience accessor for {@link loanOpeningAmounts}. */
62
- function netLoanProceeds(grossBorrowAmount, prepaidSourceFeePercent = exports.MIN_PREPAID_FEE_PERCENT) {
63
- return loanOpeningAmounts({
64
- grossBorrowAmount,
65
- prepaidSourceFeePercent,
66
- }).netBorrowAmount;
67
- }
24
+ __exportStar(require("./loanMath.js"), exports);
68
25
  /**
69
26
  * The JBPermissions permission id apps grant to the REVLoans contract before borrowing
70
27
  * against a holder's tokens (v6 ROOT permission id 1). REVLoans needs it to manage the
@@ -1 +1 @@
1
- {"version":3,"file":"loans.js","sourceRoot":"","sources":["../../../src/v6/loans.ts"],"names":[],"mappings":";;;AA4CA,gDAqCC;AAGD,0CAQC;AAqDD,sCAwCC;AAqBD,4CAsCC;AAwBD,kEAwCC;AAgBD,kDAwBC;AA3VD,0DAAuD;AAEvD,yCAAuC;AAEvC;;;GAGG;AACU,QAAA,aAAa,GAAG,KAAK,CAAC;AAEnC;;;;;GAKG;AACU,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAE3C,yEAAyE;AAC5D,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAE5C;;;GAGG;AACU,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAU3C;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,EACjC,iBAAiB,EACjB,uBAAuB,GAAG,+BAAuB,EACjD,kBAAkB,GAAG,IAAI,EACzB,aAAa,GAAG,IAAI,GAMrB;IACC,IAAI,iBAAiB,GAAG,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,IACE,uBAAuB,GAAG,+BAAuB;QACjD,uBAAuB,GAAG,+BAAuB,EACjD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,2CAA2C,+BAAuB,QAAQ,+BAAuB,GAAG,CACrG,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,MAAM,GAAG,aAAa;QAC1B,CAAC,CAAC,CAAC,iBAAiB,GAAG,+BAAuB,CAAC,GAAG,qBAAa;QAC/D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,SAAS,GACb,CAAC,iBAAiB,GAAG,uBAAuB,CAAC,GAAG,qBAAa,CAAC;IAChE,MAAM,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;IACnD,OAAO;QACL,iBAAiB;QACjB,WAAW;QACX,MAAM;QACN,SAAS;QACT,eAAe,EACb,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE;KACrE,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,SAAgB,eAAe,CAC7B,iBAAyB,EACzB,uBAAuB,GAAG,+BAAuB;IAEjD,OAAO,kBAAkB,CAAC;QACxB,iBAAiB;QACjB,uBAAuB;KACxB,CAAC,CAAC,eAAe,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACU,QAAA,sBAAsB,GAAG,CAAC,CAAC;AAexC;;;GAGG;AACU,QAAA,sBAAsB,GAAsB;IACvD,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,QAAQ,EACR,KAAK,EACL,eAAe,GAAG,EAAE,EACpB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,MAAM,GAUP;IAOC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE;YACJ,QAAQ;YACR,KAAK;YACL,eAAe;YACf,eAAe;YACf,WAAW;YACX,iBAAiB;YACjB,MAAM;SACP;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,MAAM,EACN,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACX,SAAS,GAAG,8BAAsB,EAClC,KAAK,GAAG,EAAE,GASX;IAQC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE;YACJ,MAAM;YACN,oBAAoB;YACpB,uBAAuB;YACvB,WAAW;YACX,SAAS;SACV;QACD,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,2BAA2B,CAAC,EAC1C,OAAO,EACP,MAAM,EACN,yBAAyB,EACzB,KAAK,EACL,eAAe,GAAG,EAAE,EACpB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,GAUlB;IAOC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,8BAA8B;QAC5C,IAAI,EAAE;YACJ,MAAM;YACN,yBAAyB;YACzB,KAAK;YACL,eAAe;YACf,oBAAoB;YACpB,WAAW;YACX,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAoB,EACpB,EACE,OAAO,EACP,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,QAAQ,GAOT;IAED,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACpE,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,sBAAsB;QACpC,IAAI,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC;KACtD,CAAC,CAAC;IAEH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"loans.js","sourceRoot":"","sources":["../../../src/v6/loans.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA0DA,sCAwCC;AAqBD,4CAsCC;AAwBD,kEAwCC;AAgBD,kDAwBC;AApQD,0DAAuD;AAGvD,yCAAuC;AACvC,gDAA8B;AAE9B;;;;GAIG;AACU,QAAA,sBAAsB,GAAG,CAAC,CAAC;AAexC;;;GAGG;AACU,QAAA,sBAAsB,GAAsB;IACvD,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,QAAQ,EACR,KAAK,EACL,eAAe,GAAG,EAAE,EACpB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,MAAM,GAUP;IAOC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE;YACJ,QAAQ;YACR,KAAK;YACL,eAAe;YACf,eAAe;YACf,WAAW;YACX,iBAAiB;YACjB,MAAM;SACP;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,MAAM,EACN,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACX,SAAS,GAAG,8BAAsB,EAClC,KAAK,GAAG,EAAE,GASX;IAQC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE;YACJ,MAAM;YACN,oBAAoB;YACpB,uBAAuB;YACvB,WAAW;YACX,SAAS;SACV;QACD,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,2BAA2B,CAAC,EAC1C,OAAO,EACP,MAAM,EACN,yBAAyB,EACzB,KAAK,EACL,eAAe,GAAG,EAAE,EACpB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,GAUlB;IAOC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,8BAA8B;QAC5C,IAAI,EAAE;YACJ,MAAM;YACN,yBAAyB;YACzB,KAAK;YACL,eAAe;YACf,oBAAoB;YACpB,WAAW;YACX,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAoB,EACpB,EACE,OAAO,EACP,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,QAAQ,GAOT;IAED,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACpE,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,sBAAsB;QACpC,IAAI,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC;KACtD,CAAC,CAAC;IAEH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"permit2.d.ts","sourceRoot":"","sources":["../../../src/v6/permit2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,mEAAmE;AACnE,eAAO,MAAM,eAAe,eAA0B,CAAC;AAEvD,gFAAgF;AAChF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4Bb,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;CAYhB,CAAC;AAEX,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB5E;AAED,qFAAqF;AACrF,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,EACE,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,GACR,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,OAAO,CAAC,gBAAgB,CAAC,CAe3B;AAED,6EAA6E;AAC7E,wBAAgB,4BAA4B,CAAC,EAC3C,SAAS,EACT,MAAM,EACN,GAAmC,EACnC,uBAA+B,GAChC,EAAE;IACD,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,GAAG,OAAO,CAQV;AAED,uFAAuF;AACvF,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,OAAO,EACP,KAAK,EACL,KAAK,EACL,MAAM,EACN,GAAG,EACH,uBAAuB,GACxB,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,GAAG,OAAO,CAAC,OAAO,CAAC,CAanB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,MAAM,GACP,EAAE;IACD,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAGV;AAED,kFAAkF;AAClF,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAgB5E"}
1
+ {"version":3,"file":"permit2.d.ts","sourceRoot":"","sources":["../../../src/v6/permit2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,mEAAmE;AACnE,eAAO,MAAM,eAAe,eAA0B,CAAC;AAEvD,gFAAgF;AAChF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4Bb,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;CAYhB,CAAC;AAEX,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB5E;AAED,qFAAqF;AACrF,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,EACE,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,GACR,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,OAAO,CAAC,gBAAgB,CAAC,CAe3B;AAED,6EAA6E;AAC7E,wBAAgB,4BAA4B,CAAC,EAC3C,SAAS,EACT,MAAM,EACN,GAAmC,EACnC,uBAA+B,GAChC,EAAE;IACD,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,GAAG,OAAO,CAQV;AAED,uFAAuF;AACvF,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,OAAO,EACP,KAAK,EACL,KAAK,EACL,MAAM,EACN,GAAG,EACH,uBAAuB,GACxB,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,GAAG,OAAO,CAAC,OAAO,CAAC,CAanB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,MAAM,GACP,EAAE;IACD,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAGV;AAED,kFAAkF;AAClF,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAgB5E"}
@@ -8,9 +8,9 @@ exports.needsPermit2Approval = needsPermit2Approval;
8
8
  exports.shouldUsePermit2Signature = shouldUsePermit2Signature;
9
9
  exports.permit2SignatureNeedsOnchainFallback = permit2SignatureNeedsOnchainFallback;
10
10
  const constants_js_1 = require("../constants.js");
11
- const uniswapV4_js_1 = require("./uniswapV4.js");
11
+ const uniswapV4Deployments_js_1 = require("./uniswapV4Deployments.js");
12
12
  /** Canonical Permit2 deployment shared by supported EVM chains. */
13
- exports.PERMIT2_ADDRESS = uniswapV4_js_1.UNISWAP_PERMIT2_ADDRESS;
13
+ exports.PERMIT2_ADDRESS = uniswapV4Deployments_js_1.UNISWAP_PERMIT2_ADDRESS;
14
14
  /** Permit2 methods used to inspect or establish Universal Router allowances. */
15
15
  exports.permit2Abi = [
16
16
  {
@@ -79,7 +79,7 @@ function permit2TypedData(authorization) {
79
79
  }
80
80
  /** Read an owner's Permit2 allowance, defaulting the spender to Universal Router. */
81
81
  async function readPermit2Allowance(client, { chainId, owner, token, spender, }) {
82
- const resolvedSpender = spender ?? (0, uniswapV4_js_1.uniswapV4Deployment)(chainId)?.universalRouter;
82
+ const resolvedSpender = spender ?? (0, uniswapV4Deployments_js_1.uniswapV4Deployment)(chainId)?.universalRouter;
83
83
  if (!resolvedSpender) {
84
84
  throw new Error(`No supported Uniswap Universal Router on chain ${chainId}.`);
85
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"permit2.js","sourceRoot":"","sources":["../../../src/v6/permit2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permit2.js","sourceRoot":"","sources":["../../../src/v6/permit2.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,6 @@
1
1
  import type { Address, Hex, PublicClient } from "viem";
2
2
  import type { JBChainId } from "../types.js";
3
- /**
4
- * Canonical Uniswap V4 PoolManager deployments used by Juicebox v6.
5
- * Optimism Sepolia is intentionally absent: deploy-all skips the Uniswap stack
6
- * there because Uniswap has not published supported V4 periphery deployments.
7
- */
8
- export declare const UNISWAP_V4_POOL_MANAGER_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
9
- /** Canonical Uniswap V4 PositionManager deployments used by Juicebox v6. */
10
- export declare const UNISWAP_V4_POSITION_MANAGER_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
11
- /** Canonical V4Quoter deployments; missing chains must fail closed. */
12
- export declare const UNISWAP_V4_QUOTER_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
13
- /** Canonical Universal Router deployments which support the V4_SWAP command. */
14
- export declare const UNISWAP_V4_UNIVERSAL_ROUTER_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
15
- /** Permit2 is deployed at the same address on supported EVM chains. */
16
- export declare const UNISWAP_PERMIT2_ADDRESS: Address;
17
- /** Resolve the supported V4 surface for a chain without guessing addresses. */
18
- export declare function uniswapV4Deployment(chainId: number): {
19
- poolManager: Address;
20
- positionManager: Address | null;
21
- quoter: Address | null;
22
- universalRouter: Address | null;
23
- permit2: Address;
24
- } | null;
3
+ export * from "./uniswapV4Deployments.js";
25
4
  export declare const UNISWAP_V4_Q96: bigint;
26
5
  export declare const UNISWAP_V4_MAX_TICK = 887272;
27
6
  /** Pool key tuple used by the Juicebox buyback and LP integrations. */
@@ -191,5 +170,4 @@ export declare function uniswapV4PositionTokenIdFromLog(log: {
191
170
  }, positionManager: Address): bigint | null;
192
171
  /** Whether an address is one of the canonical PoolManager deployments. */
193
172
  export declare function isUniswapV4PoolManager(address: string): boolean;
194
- export {};
195
173
  //# sourceMappingURL=uniswapV4.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uniswapV4.d.ts","sourceRoot":"","sources":["../../../src/v6/uniswapV4.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CACtD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AAEF,4EAA4E;AAC5E,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,gFAAgF;AAChF,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,CA6BP;AAED,eAAO,MAAM,cAAc,QAAY,CAAC;AACxC,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAE3C,uEAAuE;AACvE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAQD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,GAAG,IAAI,CAQjB;AAoCD,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;EAYhB,CAAC;AAEX,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;EAaP,CAAC;AAKX,iFAAiF;AACjF,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,YAAY,EACpB,EACE,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,QAAe,GAChB,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,GACA,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,oBAAoB,CAAC;IACjC,YAAY,EAAE,SAAS,CAAC;IACxB,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,EAC7C,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,QAAe,GAChB,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,GAAG,sBAAsB,CA6EzB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,WAAW,CAAC;IACxB,YAAY,EAAE,SAAS,CAAC;IACxB,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,KAAK,EAAE,EAAE,CAAC;CACX;AAED,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,EACpC,OAAO,EACP,KAAK,EACL,MAAoB,EACpB,UAAU,GACX,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,uBAAuB,CAyB1B;AAeD,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,GAAG,EAAE,gBAAgB,GAAG,GAAG,CAM1D;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAOvD;AAED,sDAAsD;AACtD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAEjE;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,OAAO,EACxB,iBAAiB,EAAE,MAAM,GACxB,MAAM,GAAG,IAAI,CAYf;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,OAAO,EACxB,iBAAiB,EAAE,MAAM,GACxB,MAAM,GAAG,IAAI,CAOf;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,OAAO,EACxB,iBAAiB,EAAE,MAAM,GACxB,MAAM,GAAG,IAAI,CAcf;AAED,+DAA+D;AAC/D,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,OAAO,EACxB,iBAAiB,EAAE,MAAM,GACxB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAcrC;AAED,mEAAmE;AACnE,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,OAAO,EACxB,iBAAiB,EAAE,MAAM,GACxB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAczC;AAED,oEAAoE;AACpE,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiDhE;AAgCD,yEAAyE;AACzE,wBAAgB,4BAA4B,CAC1C,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAwBtC;AAoBD,qEAAqE;AACrE,wBAAgB,4BAA4B,CAC1C,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,MAAM,CAiBR;AAcD,oDAAoD;AACpD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED,kDAAkD;AAClD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAI1E;AAMD,6DAA6D;AAC7D,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAKA;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,OAAO,EACzB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAoBf;AAED,qEAAqE;AACrE,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,GACtB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAiBjD;AAED,eAAO,MAAM,2BAA2B,EAErB,GAAG,CAAC;AAEvB,eAAO,MAAM,iCAAiC,EAE3B,GAAG,CAAC;AAEvB,gFAAgF;AAChF,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE;IAAE,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAC3D,eAAe,EAAE,OAAO,GACvB,MAAM,GAAG,IAAI,CAiBf;AAED,0EAA0E;AAC1E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAK/D"}
1
+ {"version":3,"file":"uniswapV4.d.ts","sourceRoot":"","sources":["../../../src/v6/uniswapV4.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,20 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UNISWAP_V4_MODIFY_LIQUIDITY_TOPIC = exports.UNISWAP_V4_INITIALIZE_TOPIC = exports.UNISWAP_V4_MAX_TICK = exports.UNISWAP_V4_Q96 = 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;
4
- exports.uniswapV4Deployment = uniswapV4Deployment;
17
+ exports.UNISWAP_V4_MODIFY_LIQUIDITY_TOPIC = exports.UNISWAP_V4_INITIALIZE_TOPIC = exports.UNISWAP_V4_MAX_TICK = exports.UNISWAP_V4_Q96 = void 0;
5
18
  exports.uniswapV4SwapDirection = uniswapV4SwapDirection;
6
19
  exports.quoteUniswapV4ExactInputSingle = quoteUniswapV4ExactInputSingle;
7
20
  exports.buildUniswapV4ExactInputSwapTx = buildUniswapV4ExactInputSwapTx;
@@ -26,65 +39,8 @@ exports.uniswapV4PositionTokenIdFromLog = uniswapV4PositionTokenIdFromLog;
26
39
  exports.isUniswapV4PoolManager = isUniswapV4PoolManager;
27
40
  const viem_1 = require("viem");
28
41
  const constants_js_1 = require("../constants.js");
29
- /**
30
- * Canonical Uniswap V4 PoolManager deployments used by Juicebox v6.
31
- * Optimism Sepolia is intentionally absent: deploy-all skips the Uniswap stack
32
- * there because Uniswap has not published supported V4 periphery deployments.
33
- */
34
- exports.UNISWAP_V4_POOL_MANAGER_ADDRESSES = {
35
- 1: "0x000000000004444c5dc75cb358380d2e3de08a90",
36
- 10: "0x9a13f98cb987694c9f086b1f5eb990eea8264ec3",
37
- 8453: "0x498581ff718922c3f8e6a244956af099b2652b2b",
38
- 42161: "0x360e68faccca8ca495c1b759fd9eee466db9fb32",
39
- 84532: "0x05e73354cfdd6745c338b50bcfdfa3aa6fa03408",
40
- 421614: "0xfb3e0c6f74eb1a21cc1da29aec80d2dfe6c9a317",
41
- 11155111: "0xe03a1074c86cfedd5c142c4f04f1a1536e203543",
42
- };
43
- /** Canonical Uniswap V4 PositionManager deployments used by Juicebox v6. */
44
- exports.UNISWAP_V4_POSITION_MANAGER_ADDRESSES = {
45
- 1: "0xbd216513d74c8cf14cf4747e6aaa6420ff64ee9e",
46
- 10: "0x3c3ea4b57a46241e54610e5f022e5c45859a1017",
47
- 8453: "0x7c5f5a4bbd8fd63184577525326123b519429bdc",
48
- 42161: "0xd88f38f930b7952f2db2432cb002e7abbf3dd869",
49
- 84532: "0x4b2c77d209d3405f41a037ec6c77f7f5b8e2ca80",
50
- 421614: "0xac631556d3d4019c95769033b5e719dd77124bac",
51
- 11155111: "0x429ba70129df741b2ca2a85bc3a2a3328e5c09b4",
52
- };
53
- /** Canonical V4Quoter deployments; missing chains must fail closed. */
54
- exports.UNISWAP_V4_QUOTER_ADDRESSES = {
55
- 1: "0x52f0e24d1c21c8a0cb1e5a5dd6198556bd9e1203",
56
- 10: "0x1f3131a13296fb91c90870043742c3cdbff1a8d7",
57
- 8453: "0x0d5e0f971ed27fbff6c2837bf31316121532048d",
58
- 42161: "0x3972c00f7ed4885e145823eb7c655375d275a1c5",
59
- 84532: "0x4a6513c898fe1b2d0e78d3b0e0a4a151589b1cba",
60
- 421614: "0x7de51022d70a725b508085468052e25e22b5c4c9",
61
- 11155111: "0x61b3f2011a92d183c7dbadbda940a7555ccf9227",
62
- };
63
- /** Canonical Universal Router deployments which support the V4_SWAP command. */
64
- exports.UNISWAP_V4_UNIVERSAL_ROUTER_ADDRESSES = {
65
- 1: "0x66a9893cc07d91d95644aedd05d03f95e1dba8af",
66
- 10: "0x851116d9223fabed8e56c0e6b8ad0c31d98b3507",
67
- 8453: "0x6ff5693b99212da76ad316178a184ab56d299b43",
68
- 42161: "0xa51afafe0263b40edaef0df8781ea9aa03e381a3",
69
- 84532: "0x492e6456d9528771018deb9e87ef7750ef184104",
70
- 421614: "0xefd1d4bd4cf1e86da286bb4cb1b8bced9c10ba47",
71
- 11155111: "0x3A9D48AB9751398BbFa63ad67599Bb04e4BdF98b",
72
- };
73
- /** Permit2 is deployed at the same address on supported EVM chains. */
74
- exports.UNISWAP_PERMIT2_ADDRESS = "0x000000000022D473030F116dDEE9F6B43aC78BA3";
75
- /** Resolve the supported V4 surface for a chain without guessing addresses. */
76
- function uniswapV4Deployment(chainId) {
77
- const poolManager = exports.UNISWAP_V4_POOL_MANAGER_ADDRESSES[chainId];
78
- if (!poolManager)
79
- return null;
80
- return {
81
- poolManager,
82
- positionManager: exports.UNISWAP_V4_POSITION_MANAGER_ADDRESSES[chainId] ?? null,
83
- quoter: exports.UNISWAP_V4_QUOTER_ADDRESSES[chainId] ?? null,
84
- universalRouter: exports.UNISWAP_V4_UNIVERSAL_ROUTER_ADDRESSES[chainId] ?? null,
85
- permit2: exports.UNISWAP_PERMIT2_ADDRESS,
86
- };
87
- }
42
+ const uniswapV4Deployments_js_1 = require("./uniswapV4Deployments.js");
43
+ __exportStar(require("./uniswapV4Deployments.js"), exports);
88
44
  exports.UNISWAP_V4_Q96 = 1n << 96n;
89
45
  exports.UNISWAP_V4_MAX_TICK = 887_272;
90
46
  function normalizeUniswapV4Currency(token) {
@@ -178,7 +134,7 @@ async function quoteUniswapV4ExactInputSingle(client, { chainId, poolKey, zeroFo
178
134
  if (amountIn <= 0n || amountIn > UINT128_MAX) {
179
135
  throw new Error("Swap amount is outside Uniswap V4's uint128 range.");
180
136
  }
181
- const quoter = uniswapV4Deployment(chainId)?.quoter;
137
+ const quoter = (0, uniswapV4Deployments_js_1.uniswapV4Deployment)(chainId)?.quoter;
182
138
  if (!quoter)
183
139
  throw new Error(`No supported Uniswap V4 quoter on chain ${chainId}.`);
184
140
  const call = await client.call({
@@ -211,7 +167,7 @@ function buildUniswapV4ExactInputSwapTx({ chainId, poolKey, zeroForOne, amountIn
211
167
  minimumAmountOut > UINT128_MAX) {
212
168
  throw new Error("Swap amounts are outside Uniswap V4's uint128 range.");
213
169
  }
214
- const universalRouter = uniswapV4Deployment(chainId)?.universalRouter;
170
+ const universalRouter = (0, uniswapV4Deployments_js_1.uniswapV4Deployment)(chainId)?.universalRouter;
215
171
  if (!universalRouter) {
216
172
  throw new Error(`No supported Uniswap Universal Router on chain ${chainId}.`);
217
173
  }
@@ -274,7 +230,7 @@ function buildPermit2ApproveTx({ chainId, token, amount = UINT160_MAX, expiratio
274
230
  expiration >= 2 ** 48) {
275
231
  throw new Error("Permit2 expiration is outside its uint48 range.");
276
232
  }
277
- const deployment = uniswapV4Deployment(chainId);
233
+ const deployment = (0, uniswapV4Deployments_js_1.uniswapV4Deployment)(chainId);
278
234
  if (!deployment?.universalRouter) {
279
235
  throw new Error(`No supported Uniswap Universal Router on chain ${chainId}.`);
280
236
  }
@@ -587,6 +543,6 @@ function uniswapV4PositionTokenIdFromLog(log, positionManager) {
587
543
  /** Whether an address is one of the canonical PoolManager deployments. */
588
544
  function isUniswapV4PoolManager(address) {
589
545
  const normalized = address.toLowerCase();
590
- return Object.values(exports.UNISWAP_V4_POOL_MANAGER_ADDRESSES).some((candidate) => candidate.toLowerCase() === normalized);
546
+ return Object.values(uniswapV4Deployments_js_1.UNISWAP_V4_POOL_MANAGER_ADDRESSES).some((candidate) => candidate.toLowerCase() === normalized);
591
547
  }
592
548
  //# sourceMappingURL=uniswapV4.js.map