@bananapus/nana-sdk-core 1.11.0 → 2.0.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 (207) hide show
  1. package/dist/cjs/actions/JBSuckerAbi.d.ts +12 -2
  2. package/dist/cjs/actions/JBSuckerAbi.d.ts.map +1 -1
  3. package/dist/cjs/actions/JBSuckerAbi.js +12 -2
  4. package/dist/cjs/actions/JBSuckerAbi.js.map +1 -1
  5. package/dist/cjs/actions/projectMetadata.d.ts.map +1 -1
  6. package/dist/cjs/actions/projectMetadata.js +15 -9
  7. package/dist/cjs/actions/projectMetadata.js.map +1 -1
  8. package/dist/cjs/actions/suckerPairs.d.ts +26 -0
  9. package/dist/cjs/actions/suckerPairs.d.ts.map +1 -1
  10. package/dist/cjs/actions/suckerPairs.js +73 -39
  11. package/dist/cjs/actions/suckerPairs.js.map +1 -1
  12. package/dist/cjs/constants.d.ts +17 -7
  13. package/dist/cjs/constants.d.ts.map +1 -1
  14. package/dist/cjs/constants.js +45 -31
  15. package/dist/cjs/constants.js.map +1 -1
  16. package/dist/cjs/contracts.d.ts +6 -1
  17. package/dist/cjs/contracts.d.ts.map +1 -1
  18. package/dist/cjs/contracts.js +7 -1
  19. package/dist/cjs/contracts.js.map +1 -1
  20. package/dist/cjs/generated/juicebox.d.ts +8779 -6436
  21. package/dist/cjs/generated/juicebox.d.ts.map +1 -1
  22. package/dist/cjs/generated/juicebox.js +3027 -1244
  23. package/dist/cjs/generated/juicebox.js.map +1 -1
  24. package/dist/cjs/types.d.ts +13 -10
  25. package/dist/cjs/types.d.ts.map +1 -1
  26. package/dist/cjs/types.js +10 -6
  27. package/dist/cjs/types.js.map +1 -1
  28. package/dist/cjs/utils/bendystraw.d.ts +19 -3
  29. package/dist/cjs/utils/bendystraw.d.ts.map +1 -1
  30. package/dist/cjs/utils/bendystraw.js +38 -10
  31. package/dist/cjs/utils/bendystraw.js.map +1 -1
  32. package/dist/cjs/utils/errors.d.ts +19 -0
  33. package/dist/cjs/utils/errors.d.ts.map +1 -0
  34. package/dist/cjs/utils/errors.js +32 -0
  35. package/dist/cjs/utils/errors.js.map +1 -0
  36. package/dist/cjs/utils/fee.d.ts +12 -0
  37. package/dist/cjs/utils/fee.d.ts.map +1 -1
  38. package/dist/cjs/utils/fee.js +13 -2
  39. package/dist/cjs/utils/fee.js.map +1 -1
  40. package/dist/cjs/utils/hook.d.ts +17 -4
  41. package/dist/cjs/utils/hook.d.ts.map +1 -1
  42. package/dist/cjs/utils/hook.js +60 -31
  43. package/dist/cjs/utils/hook.js.map +1 -1
  44. package/dist/cjs/utils/index.d.ts +1 -0
  45. package/dist/cjs/utils/index.d.ts.map +1 -1
  46. package/dist/cjs/utils/index.js +1 -0
  47. package/dist/cjs/utils/index.js.map +1 -1
  48. package/dist/cjs/utils/ipfs.d.ts +9 -1
  49. package/dist/cjs/utils/ipfs.d.ts.map +1 -1
  50. package/dist/cjs/utils/ipfs.js +13 -1
  51. package/dist/cjs/utils/ipfs.js.map +1 -1
  52. package/dist/cjs/utils/revnet.d.ts +1 -1
  53. package/dist/cjs/utils/revnet.d.ts.map +1 -1
  54. package/dist/cjs/utils/revnet.js +2 -1
  55. package/dist/cjs/utils/revnet.js.map +1 -1
  56. package/dist/cjs/utils/ruleset.d.ts +14 -0
  57. package/dist/cjs/utils/ruleset.d.ts.map +1 -1
  58. package/dist/cjs/utils/ruleset.js +19 -0
  59. package/dist/cjs/utils/ruleset.js.map +1 -1
  60. package/dist/cjs/utils/tx.d.ts +9 -0
  61. package/dist/cjs/utils/tx.d.ts.map +1 -1
  62. package/dist/cjs/utils/tx.js +10 -3
  63. package/dist/cjs/utils/tx.js.map +1 -1
  64. package/dist/cjs/utils/urn.d.ts +20 -1
  65. package/dist/cjs/utils/urn.d.ts.map +1 -1
  66. package/dist/cjs/utils/urn.js +54 -32
  67. package/dist/cjs/utils/urn.js.map +1 -1
  68. package/dist/cjs/v6/cashOut.d.ts +40 -6
  69. package/dist/cjs/v6/cashOut.d.ts.map +1 -1
  70. package/dist/cjs/v6/cashOut.js +54 -4
  71. package/dist/cjs/v6/cashOut.js.map +1 -1
  72. package/dist/cjs/v6/fees.d.ts +11 -8
  73. package/dist/cjs/v6/fees.d.ts.map +1 -1
  74. package/dist/cjs/v6/fees.js +12 -9
  75. package/dist/cjs/v6/fees.js.map +1 -1
  76. package/dist/cjs/v6/index.d.ts +1 -0
  77. package/dist/cjs/v6/index.d.ts.map +1 -1
  78. package/dist/cjs/v6/index.js +1 -0
  79. package/dist/cjs/v6/index.js.map +1 -1
  80. package/dist/cjs/v6/loans.d.ts +13 -4
  81. package/dist/cjs/v6/loans.d.ts.map +1 -1
  82. package/dist/cjs/v6/loans.js +14 -5
  83. package/dist/cjs/v6/loans.js.map +1 -1
  84. package/dist/cjs/v6/nft.d.ts +43 -7
  85. package/dist/cjs/v6/nft.d.ts.map +1 -1
  86. package/dist/cjs/v6/nft.js +69 -12
  87. package/dist/cjs/v6/nft.js.map +1 -1
  88. package/dist/cjs/v6/priceFeeds.d.ts +78 -0
  89. package/dist/cjs/v6/priceFeeds.d.ts.map +1 -0
  90. package/dist/cjs/v6/priceFeeds.js +109 -0
  91. package/dist/cjs/v6/priceFeeds.js.map +1 -0
  92. package/dist/cjs/v6/revnets.d.ts +21 -2
  93. package/dist/cjs/v6/revnets.d.ts.map +1 -1
  94. package/dist/cjs/v6/revnets.js +35 -3
  95. package/dist/cjs/v6/revnets.js.map +1 -1
  96. package/dist/cjs/v6/suckers.d.ts +11 -0
  97. package/dist/cjs/v6/suckers.d.ts.map +1 -1
  98. package/dist/cjs/v6/suckers.js +22 -1
  99. package/dist/cjs/v6/suckers.js.map +1 -1
  100. package/dist/cjs/v6/terminals.d.ts +24 -4
  101. package/dist/cjs/v6/terminals.d.ts.map +1 -1
  102. package/dist/cjs/v6/terminals.js +13 -2
  103. package/dist/cjs/v6/terminals.js.map +1 -1
  104. package/dist/esm/actions/JBSuckerAbi.d.ts +12 -2
  105. package/dist/esm/actions/JBSuckerAbi.d.ts.map +1 -1
  106. package/dist/esm/actions/JBSuckerAbi.js +12 -2
  107. package/dist/esm/actions/JBSuckerAbi.js.map +1 -1
  108. package/dist/esm/actions/projectMetadata.d.ts.map +1 -1
  109. package/dist/esm/actions/projectMetadata.js +16 -10
  110. package/dist/esm/actions/projectMetadata.js.map +1 -1
  111. package/dist/esm/actions/suckerPairs.d.ts +26 -0
  112. package/dist/esm/actions/suckerPairs.d.ts.map +1 -1
  113. package/dist/esm/actions/suckerPairs.js +75 -41
  114. package/dist/esm/actions/suckerPairs.js.map +1 -1
  115. package/dist/esm/constants.d.ts +17 -7
  116. package/dist/esm/constants.d.ts.map +1 -1
  117. package/dist/esm/constants.js +44 -30
  118. package/dist/esm/constants.js.map +1 -1
  119. package/dist/esm/contracts.d.ts +6 -1
  120. package/dist/esm/contracts.d.ts.map +1 -1
  121. package/dist/esm/contracts.js +6 -0
  122. package/dist/esm/contracts.js.map +1 -1
  123. package/dist/esm/generated/juicebox.d.ts +8779 -6436
  124. package/dist/esm/generated/juicebox.d.ts.map +1 -1
  125. package/dist/esm/generated/juicebox.js +9644 -7861
  126. package/dist/esm/generated/juicebox.js.map +1 -1
  127. package/dist/esm/types.d.ts +13 -10
  128. package/dist/esm/types.d.ts.map +1 -1
  129. package/dist/esm/types.js +10 -6
  130. package/dist/esm/types.js.map +1 -1
  131. package/dist/esm/utils/bendystraw.d.ts +19 -3
  132. package/dist/esm/utils/bendystraw.d.ts.map +1 -1
  133. package/dist/esm/utils/bendystraw.js +36 -9
  134. package/dist/esm/utils/bendystraw.js.map +1 -1
  135. package/dist/esm/utils/errors.d.ts +19 -0
  136. package/dist/esm/utils/errors.d.ts.map +1 -0
  137. package/dist/esm/utils/errors.js +28 -0
  138. package/dist/esm/utils/errors.js.map +1 -0
  139. package/dist/esm/utils/fee.d.ts +12 -0
  140. package/dist/esm/utils/fee.d.ts.map +1 -1
  141. package/dist/esm/utils/fee.js +13 -2
  142. package/dist/esm/utils/fee.js.map +1 -1
  143. package/dist/esm/utils/hook.d.ts +17 -4
  144. package/dist/esm/utils/hook.d.ts.map +1 -1
  145. package/dist/esm/utils/hook.js +61 -32
  146. package/dist/esm/utils/hook.js.map +1 -1
  147. package/dist/esm/utils/index.d.ts +1 -0
  148. package/dist/esm/utils/index.d.ts.map +1 -1
  149. package/dist/esm/utils/index.js +1 -0
  150. package/dist/esm/utils/index.js.map +1 -1
  151. package/dist/esm/utils/ipfs.d.ts +9 -1
  152. package/dist/esm/utils/ipfs.d.ts.map +1 -1
  153. package/dist/esm/utils/ipfs.js +13 -1
  154. package/dist/esm/utils/ipfs.js.map +1 -1
  155. package/dist/esm/utils/revnet.d.ts +1 -1
  156. package/dist/esm/utils/revnet.d.ts.map +1 -1
  157. package/dist/esm/utils/revnet.js +2 -1
  158. package/dist/esm/utils/revnet.js.map +1 -1
  159. package/dist/esm/utils/ruleset.d.ts +14 -0
  160. package/dist/esm/utils/ruleset.d.ts.map +1 -1
  161. package/dist/esm/utils/ruleset.js +19 -0
  162. package/dist/esm/utils/ruleset.js.map +1 -1
  163. package/dist/esm/utils/tx.d.ts +9 -0
  164. package/dist/esm/utils/tx.d.ts.map +1 -1
  165. package/dist/esm/utils/tx.js +11 -4
  166. package/dist/esm/utils/tx.js.map +1 -1
  167. package/dist/esm/utils/urn.d.ts +20 -1
  168. package/dist/esm/utils/urn.d.ts.map +1 -1
  169. package/dist/esm/utils/urn.js +54 -32
  170. package/dist/esm/utils/urn.js.map +1 -1
  171. package/dist/esm/v6/cashOut.d.ts +40 -6
  172. package/dist/esm/v6/cashOut.d.ts.map +1 -1
  173. package/dist/esm/v6/cashOut.js +54 -4
  174. package/dist/esm/v6/cashOut.js.map +1 -1
  175. package/dist/esm/v6/fees.d.ts +11 -8
  176. package/dist/esm/v6/fees.d.ts.map +1 -1
  177. package/dist/esm/v6/fees.js +11 -8
  178. package/dist/esm/v6/fees.js.map +1 -1
  179. package/dist/esm/v6/index.d.ts +1 -0
  180. package/dist/esm/v6/index.d.ts.map +1 -1
  181. package/dist/esm/v6/index.js +1 -0
  182. package/dist/esm/v6/index.js.map +1 -1
  183. package/dist/esm/v6/loans.d.ts +13 -4
  184. package/dist/esm/v6/loans.d.ts.map +1 -1
  185. package/dist/esm/v6/loans.js +13 -4
  186. package/dist/esm/v6/loans.js.map +1 -1
  187. package/dist/esm/v6/nft.d.ts +43 -7
  188. package/dist/esm/v6/nft.d.ts.map +1 -1
  189. package/dist/esm/v6/nft.js +66 -11
  190. package/dist/esm/v6/nft.js.map +1 -1
  191. package/dist/esm/v6/priceFeeds.d.ts +78 -0
  192. package/dist/esm/v6/priceFeeds.d.ts.map +1 -0
  193. package/dist/esm/v6/priceFeeds.js +105 -0
  194. package/dist/esm/v6/priceFeeds.js.map +1 -0
  195. package/dist/esm/v6/revnets.d.ts +21 -2
  196. package/dist/esm/v6/revnets.d.ts.map +1 -1
  197. package/dist/esm/v6/revnets.js +34 -3
  198. package/dist/esm/v6/revnets.js.map +1 -1
  199. package/dist/esm/v6/suckers.d.ts +11 -0
  200. package/dist/esm/v6/suckers.d.ts.map +1 -1
  201. package/dist/esm/v6/suckers.js +21 -1
  202. package/dist/esm/v6/suckers.js.map +1 -1
  203. package/dist/esm/v6/terminals.d.ts +24 -4
  204. package/dist/esm/v6/terminals.d.ts.map +1 -1
  205. package/dist/esm/v6/terminals.js +13 -2
  206. package/dist/esm/v6/terminals.js.map +1 -1
  207. package/package.json +7 -1
@@ -1,11 +1,21 @@
1
+ /**
2
+ * The slice of `IJBSucker` that pair resolution reads.
3
+ *
4
+ * `peer()` is declared `bytes32` because that is what v6 returns
5
+ * (`nana-suckers-v6/src/interfaces/IJBSucker.sol` — "as bytes32 for cross-VM
6
+ * compatibility"). V5 declares it `address`, but an ABI-encoded `address` and
7
+ * `bytes32` are byte-identical on the wire for an EVM address, so the same
8
+ * entry decodes both versions; `suckerBytes32ToAddress` unpacks and validates
9
+ * the low 20 bytes for either.
10
+ */
1
11
  export declare const JBSuckerAbi: readonly [{
2
12
  readonly type: "function";
3
13
  readonly name: "peer";
4
14
  readonly inputs: readonly [];
5
15
  readonly outputs: readonly [{
6
16
  readonly name: "";
7
- readonly type: "address";
8
- readonly internalType: "contract IJBSucker";
17
+ readonly type: "bytes32";
18
+ readonly internalType: "bytes32";
9
19
  }];
10
20
  readonly stateMutability: "view";
11
21
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"JBSuckerAbi.d.ts","sourceRoot":"","sources":["../../../src/actions/JBSuckerAbi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCd,CAAC"}
1
+ {"version":3,"file":"JBSuckerAbi.d.ts","sourceRoot":"","sources":["../../../src/actions/JBSuckerAbi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCd,CAAC"}
@@ -1,6 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JBSuckerAbi = void 0;
4
+ /**
5
+ * The slice of `IJBSucker` that pair resolution reads.
6
+ *
7
+ * `peer()` is declared `bytes32` because that is what v6 returns
8
+ * (`nana-suckers-v6/src/interfaces/IJBSucker.sol` — "as bytes32 for cross-VM
9
+ * compatibility"). V5 declares it `address`, but an ABI-encoded `address` and
10
+ * `bytes32` are byte-identical on the wire for an EVM address, so the same
11
+ * entry decodes both versions; `suckerBytes32ToAddress` unpacks and validates
12
+ * the low 20 bytes for either.
13
+ */
4
14
  exports.JBSuckerAbi = [
5
15
  {
6
16
  type: "function",
@@ -9,8 +19,8 @@ exports.JBSuckerAbi = [
9
19
  outputs: [
10
20
  {
11
21
  name: "",
12
- type: "address",
13
- internalType: "contract IJBSucker",
22
+ type: "bytes32",
23
+ internalType: "bytes32",
14
24
  },
15
25
  ],
16
26
  stateMutability: "view",
@@ -1 +1 @@
1
- {"version":3,"file":"JBSuckerAbi.js","sourceRoot":"","sources":["../../../src/actions/JBSuckerAbi.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACzB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,oBAAoB;aACnC;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;CACO,CAAC"}
1
+ {"version":3,"file":"JBSuckerAbi.js","sourceRoot":"","sources":["../../../src/actions/JBSuckerAbi.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACU,QAAA,WAAW,GAAG;IACzB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;CACO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"projectMetadata.d.ts","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,YAAY,EAIb,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA+BhD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC7B,cAAc,YAAY,EAC1B,MAAM;IACJ,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,OAAO;IACL,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,KACA,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAWvC,CAAC"}
1
+ {"version":3,"file":"projectMetadata.d.ts","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,YAAY,EAIb,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAoChD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC7B,cAAc,YAAY,EAC1B,MAAM;IACJ,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,OAAO;IACL,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,KACA,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAavC,CAAC"}
@@ -5,9 +5,13 @@ const viem_1 = require("viem");
5
5
  const juicebox_js_1 = require("../generated/juicebox.js");
6
6
  const ipfs_js_1 = require("../utils/ipfs.js");
7
7
  /**
8
- * Fetch the onchain metadata CID for the given project, using the given JBController contract.
8
+ * Fetch the onchain metadata URI for the given project via the given
9
+ * JBController contract, and resolve it to a validated IPFS asset path
10
+ * (`<cid>[/path]`). `ipfs://` URIs, HTTP gateway URLs, and bare CIDs are all
11
+ * recognized; anything else (including path-less garbage such as a plain file
12
+ * name) resolves to `undefined` rather than a bogus gateway fetch.
9
13
  */
10
- const getMetadataCid = async (publicClient, args) => {
14
+ const getMetadataAssetPath = async (publicClient, args) => {
11
15
  if ((0, viem_1.isAddressEqual)(args.jbControllerAddress, viem_1.zeroAddress)) {
12
16
  return;
13
17
  }
@@ -16,10 +20,10 @@ const getMetadataCid = async (publicClient, args) => {
16
20
  abi: juicebox_js_1.jbControllerAbi,
17
21
  client: publicClient,
18
22
  });
19
- // ipfs://cid or https://cid, probably
20
- const metadataUri = await JBController.read.uriOf([args.projectId]);
21
- const metadataCid = metadataUri.split("/").pop();
22
- return metadataCid;
23
+ // ipfs://<cid>[/path], an HTTP gateway URL, or a bare CID.
24
+ const metadataUri = (await JBController.read.uriOf([args.projectId])).trim();
25
+ return ((0, ipfs_js_1.ipfsAssetPath)(metadataUri) ??
26
+ ((0, ipfs_js_1.isIpfsCid)(metadataUri) ? metadataUri : undefined));
23
27
  };
24
28
  /**
25
29
  * Fetch the project metadata for the given [projectId]
@@ -29,11 +33,13 @@ const getMetadataCid = async (publicClient, args) => {
29
33
  *
30
34
  */
31
35
  const getProjectMetadata = async (publicClient, args, opts) => {
32
- const metadataCid = await getMetadataCid(publicClient, args);
33
- if (!metadataCid) {
36
+ const metadataAssetPath = await getMetadataAssetPath(publicClient, args);
37
+ const ipfsUrl = metadataAssetPath
38
+ ? (0, ipfs_js_1.ipfsGatewayUrl)(metadataAssetPath, opts?.ipfsGatewayHostname)
39
+ : null;
40
+ if (!ipfsUrl) {
34
41
  return;
35
42
  }
36
- const ipfsUrl = (0, ipfs_js_1.ipfsGatewayUrl)(metadataCid, opts?.ipfsGatewayHostname);
37
43
  const res = (await fetch(ipfsUrl).then((res) => res.json()));
38
44
  return res;
39
45
  };
@@ -1 +1 @@
1
- {"version":3,"file":"projectMetadata.js","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":";;;AAAA,+BAMc;AACd,0DAA2D;AAE3D,8CAAkD;AAElD;;GAEG;AACH,MAAM,cAAc,GAAG,KAAK,EAC1B,YAA0B,EAC1B,IAGC,EACD,EAAE;IACF,IAAI,IAAA,qBAAc,EAAC,IAAI,CAAC,mBAAmB,EAAE,kBAAW,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,kBAAW,EAAC;QAC/B,OAAO,EAAE,IAAI,CAAC,mBAAmB;QACjC,GAAG,EAAE,6BAAe;QACpB,MAAM,EAAE,YAAY;KACrB,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAEjD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF;;;;;;GAMG;AACI,MAAM,kBAAkB,GAAG,KAAK,EACrC,YAA0B,EAC1B,IAGC,EACD,IAEC,EACuC,EAAE;IAC1C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,IAAA,wBAAc,EAAC,WAAW,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACvE,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAE9C,CAAC;IAEd,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AApBW,QAAA,kBAAkB,sBAoB7B"}
1
+ {"version":3,"file":"projectMetadata.js","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":";;;AAAA,+BAMc;AACd,0DAA2D;AAE3D,8CAA4E;AAE5E;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,KAAK,EAChC,YAA0B,EAC1B,IAGC,EACD,EAAE;IACF,IAAI,IAAA,qBAAc,EAAC,IAAI,CAAC,mBAAmB,EAAE,kBAAW,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,kBAAW,EAAC;QAC/B,OAAO,EAAE,IAAI,CAAC,mBAAmB;QACjC,GAAG,EAAE,6BAAe;QACpB,MAAM,EAAE,YAAY;KACrB,CAAC,CAAC;IAEH,2DAA2D;IAC3D,MAAM,WAAW,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE7E,OAAO,CACL,IAAA,uBAAa,EAAC,WAAW,CAAC;QAC1B,CAAC,IAAA,mBAAS,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CACnD,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACI,MAAM,kBAAkB,GAAG,KAAK,EACrC,YAA0B,EAC1B,IAGC,EACD,IAEC,EACuC,EAAE;IAC1C,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,iBAAiB;QAC/B,CAAC,CAAC,IAAA,wBAAc,EAAC,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,CAAC;QAC9D,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAE9C,CAAC;IAEd,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAtBW,QAAA,kBAAkB,sBAsB7B"}
@@ -4,12 +4,38 @@ export type SuckerPair = {
4
4
  peerChainId: JBChainId;
5
5
  projectId: bigint;
6
6
  };
7
+ /**
8
+ * Read a project's directly-paired suckers from the JBSuckerRegistry on `chainId`.
9
+ *
10
+ * The peer project id is read from the remote sucker the registry names, NOT
11
+ * from whatever address the remote sucker's own `peer()` points back at: the
12
+ * two coincide only for the deterministic same-address deployments, and
13
+ * `JBSucker` explicitly supports an overridden peer address. `peer()` is still
14
+ * read, as a symmetry check that the remote sucker is paired back to this
15
+ * project's local sucker, so a stale or misconfigured registry entry fails
16
+ * closed instead of yielding another project's id.
17
+ *
18
+ * Rejects rather than dropping a pair — a silently short group is
19
+ * indistinguishable from a project with fewer chains.
20
+ */
7
21
  export declare function getSuckerPairs({ config, chainId, projectId, version, }: {
8
22
  config: ReturnType<typeof useConfig>;
9
23
  chainId: JBChainId;
10
24
  projectId: bigint;
11
25
  version: JBVersion;
12
26
  }): Promise<SuckerPair[]>;
27
+ /**
28
+ * Resolve the full sucker group for a project: the local `(chainId, projectId)`
29
+ * itself, its direct peers, and the peers those peers name (one hop of gossip).
30
+ *
31
+ * The local entry is always first, so callers never have to guess whether a
32
+ * given result includes the chain they asked about. Entries are deduped by the
33
+ * whole `(chainId, projectId)` pair — two chains in a group can hold different
34
+ * project ids, and a chain id alone is not an identity.
35
+ *
36
+ * Any registry or sucker read failure rejects. A partially-resolved group would
37
+ * under-count supply, surplus, and balances without any signal to the caller.
38
+ */
13
39
  export declare function resolveSuckers({ config, chainId, projectId, version, }: {
14
40
  config: ReturnType<typeof useConfig>;
15
41
  chainId: JBChainId;
@@ -1 +1 @@
1
- {"version":3,"file":"suckerPairs.d.ts","sourceRoot":"","sources":["../../../src/actions/suckerPairs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAqB,SAAS,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,OAAO,EACP,SAAS,EACT,OAAO,GACR,EAAE;IACD,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;IACrC,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;CACpB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CA0DxB;AAED,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,OAAO,EACP,SAAS,EACT,OAAO,GACR,EAAE;IACD,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;IACrC,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;CACpB,yBA0BA"}
1
+ {"version":3,"file":"suckerPairs.d.ts","sourceRoot":"","sources":["../../../src/actions/suckerPairs.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAqB,SAAS,EAAE,MAAM,aAAa,CAAC;AAGtE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,OAAO,EACP,SAAS,EACT,OAAO,GACR,EAAE;IACD,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;IACrC,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;CACpB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAiExB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,OAAO,EACP,SAAS,EACT,OAAO,GACR,EAAE;IACD,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;IACrC,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;CACpB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAgCxB"}
@@ -7,69 +7,103 @@ const juicebox_js_1 = require("../generated/juicebox.js");
7
7
  const JBSuckerAbi_js_1 = require("./JBSuckerAbi.js");
8
8
  const types_js_1 = require("../types.js");
9
9
  const contracts_js_1 = require("../utils/contracts.js");
10
+ const suckers_js_1 = require("../v6/suckers.js");
11
+ /**
12
+ * Read a project's directly-paired suckers from the JBSuckerRegistry on `chainId`.
13
+ *
14
+ * The peer project id is read from the remote sucker the registry names, NOT
15
+ * from whatever address the remote sucker's own `peer()` points back at: the
16
+ * two coincide only for the deterministic same-address deployments, and
17
+ * `JBSucker` explicitly supports an overridden peer address. `peer()` is still
18
+ * read, as a symmetry check that the remote sucker is paired back to this
19
+ * project's local sucker, so a stale or misconfigured registry entry fails
20
+ * closed instead of yielding another project's id.
21
+ *
22
+ * Rejects rather than dropping a pair — a silently short group is
23
+ * indistinguishable from a project with fewer chains.
24
+ */
10
25
  async function getSuckerPairs({ config, chainId, projectId, version, }) {
11
26
  const jbSuckerRegistry = (0, contracts_js_1.getJBContractAddress)(types_js_1.JBSuckerContracts.JBSuckerRegistry, version, chainId);
12
27
  const client = config.getClient({ chainId: Number(chainId) });
13
28
  // v6 identifies remote suckers as bytes32 (for cross-VM compatibility); for EVM peers
14
- // the address is in the low 20 bytes.
29
+ // the address is in the low 20 bytes, which `suckerBytes32ToAddress` validates.
15
30
  const suckers = version === 6
16
31
  ? (await (0, viem_1.getContract)({
17
32
  address: jbSuckerRegistry,
18
33
  abi: juicebox_js_1.jbSuckerRegistryAbi,
19
34
  client,
20
- }).read.suckerPairsOf([projectId])).map((sucker) => ({ ...sucker, remote: (0, viem_1.getAddress)((0, viem_1.sliceHex)(sucker.remote, 12)) }))
21
- : await (0, viem_1.getContract)({
35
+ }).read.suckerPairsOf([projectId])).map((sucker) => ({
36
+ local: sucker.local,
37
+ remote: (0, suckers_js_1.suckerBytes32ToAddress)(sucker.remote),
38
+ remoteChainId: sucker.remoteChainId,
39
+ }))
40
+ : (await (0, viem_1.getContract)({
22
41
  address: jbSuckerRegistry,
23
42
  abi: juicebox_js_1.jbSuckerRegistryV5Abi,
24
43
  client,
25
- }).read.suckerPairsOf([projectId]);
26
- const suckerPairs = await Promise.all(suckers.map(async (sucker) => {
27
- const client = config.getClient({
44
+ }).read.suckerPairsOf([projectId])).map((sucker) => ({
45
+ local: sucker.local,
46
+ remote: sucker.remote,
47
+ remoteChainId: sucker.remoteChainId,
48
+ }));
49
+ return Promise.all(suckers.map(async (sucker) => {
50
+ const remoteClient = config.getClient({
28
51
  chainId: Number(sucker.remoteChainId),
29
52
  });
30
- const suckerContract = (0, viem_1.getContract)({
53
+ const remoteSucker = (0, viem_1.getContract)({
31
54
  address: sucker.remote,
32
55
  abi: JBSuckerAbi_js_1.JBSuckerAbi,
33
- client,
56
+ client: remoteClient,
34
57
  });
35
- const peer = (await suckerContract.read.peer());
36
- if (!peer) {
37
- return;
58
+ const [peer, peerProjectId] = await Promise.all([
59
+ remoteSucker.read.peer(),
60
+ remoteSucker.read.projectId(),
61
+ ]);
62
+ if (!(0, viem_1.isAddressEqual)((0, suckers_js_1.suckerBytes32ToAddress)(peer), sucker.local)) {
63
+ throw new Error(`The sucker at ${sucker.remote} on chain ${sucker.remoteChainId} is not paired back to ${sucker.local}.`);
38
64
  }
39
- const peerContract = (0, viem_1.getContract)({
40
- address: peer,
41
- abi: JBSuckerAbi_js_1.JBSuckerAbi,
42
- client,
43
- });
44
- const projectId = await peerContract.read.projectId();
45
65
  return {
46
66
  peerChainId: Number(sucker.remoteChainId),
47
- projectId,
67
+ projectId: peerProjectId,
48
68
  };
49
69
  }));
50
- return suckerPairs.filter((x) => x);
51
70
  }
71
+ /**
72
+ * Resolve the full sucker group for a project: the local `(chainId, projectId)`
73
+ * itself, its direct peers, and the peers those peers name (one hop of gossip).
74
+ *
75
+ * The local entry is always first, so callers never have to guess whether a
76
+ * given result includes the chain they asked about. Entries are deduped by the
77
+ * whole `(chainId, projectId)` pair — two chains in a group can hold different
78
+ * project ids, and a chain id alone is not an identity.
79
+ *
80
+ * Any registry or sucker read failure rejects. A partially-resolved group would
81
+ * under-count supply, surplus, and balances without any signal to the caller.
82
+ */
52
83
  async function resolveSuckers({ config, chainId, projectId, version, }) {
53
- const initialPairs = await getSuckerPairs({ config, chainId, projectId, version });
54
- const pairs = [...initialPairs];
55
- await Promise.all(initialPairs.map(async (pair) => {
56
- try {
57
- const peerPairs = await getSuckerPairs({
58
- config,
59
- chainId: pair.peerChainId,
60
- projectId: pair.projectId,
61
- version,
62
- });
63
- peerPairs.forEach((pair) => {
64
- if (!pairs.some((x) => x.peerChainId === pair.peerChainId)) {
65
- pairs.push(pair);
66
- }
67
- });
68
- }
69
- catch (e) {
70
- console.error("peer error", e);
71
- }
72
- }));
84
+ const pairs = [{ peerChainId: chainId, projectId }];
85
+ const seen = new Set([`${chainId}:${projectId}`]);
86
+ const add = (pair) => {
87
+ const key = `${pair.peerChainId}:${pair.projectId}`;
88
+ if (seen.has(key))
89
+ return;
90
+ seen.add(key);
91
+ pairs.push(pair);
92
+ };
93
+ const directPairs = await getSuckerPairs({
94
+ config,
95
+ chainId,
96
+ projectId,
97
+ version,
98
+ });
99
+ directPairs.forEach(add);
100
+ const transitivePairs = await Promise.all(directPairs.map((pair) => getSuckerPairs({
101
+ config,
102
+ chainId: pair.peerChainId,
103
+ projectId: pair.projectId,
104
+ version,
105
+ })));
106
+ transitivePairs.flat().forEach(add);
73
107
  return pairs;
74
108
  }
75
109
  //# sourceMappingURL=suckerPairs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"suckerPairs.js","sourceRoot":"","sources":["../../../src/actions/suckerPairs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suckerPairs.js","sourceRoot":"","sources":["../../../src/actions/suckerPairs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Address, Chain, Hash } from "viem";
1
+ import { Address, Chain } from "viem";
2
2
  import { JBChainId, JBVersion } from "./types.js";
3
3
  /**
4
4
  * Representation of one ether.
@@ -8,10 +8,6 @@ export declare const ONE_ETHER: bigint;
8
8
  * Default value for `memo` arguments in Juicebox transactions.
9
9
  */
10
10
  export declare const DEFAULT_MEMO = "";
11
- /**
12
- * Default value for `metadata` arguments in Juicebox transactions.
13
- */
14
- export declare const DEFAULT_METADATA: Hash;
15
11
  export declare const DEFAULT_MIN_RETURNED_TOKENS = 0n;
16
12
  export declare const DEFAULT_ALLOW_OVERSPENDING = true;
17
13
  /**
@@ -33,9 +29,17 @@ export declare const MAX_CASH_OUT_TAX_RATE = 10000;
33
29
  */
34
30
  export declare const MAX_WEIGHT_CUT_PERCENT = 1000000000;
35
31
  /**
36
- * @link JBConstants.sol
32
+ * The per-billion (1e9) denominator used by the legacy fixed-point fee helpers.
33
+ *
34
+ * NOT `JBConstants.MAX_FEE`, which is `1000` in v4, v5 and v6 alike — the
35
+ * protocol fee is `STANDARD_FEE / MAX_FEE` = `25 / 1000`. For the contract
36
+ * denominator use `MAX_FEE` from `@bananapus/nana-sdk-core/v6`, and for the
37
+ * per-billion rate use `TERMINAL_FEE_PER_BILLION` from the same entry point.
38
+ *
39
+ * @deprecated Use `MAX_FEE` / `TERMINAL_FEE_PER_BILLION` from
40
+ * `@bananapus/nana-sdk-core/v6`.
37
41
  */
38
- export declare const MAX_FEE = 1000000000;
42
+ export declare const MAX_FEE_PER_BILLION = 1000000000;
39
43
  /**
40
44
  * @link JBConstants.sol
41
45
  */
@@ -89,6 +93,12 @@ export declare const USD_CURRENCY_ID: (version: JBVersion) => 2 | 3;
89
93
  export declare const NATIVE_TOKEN_DECIMALS: 18;
90
94
  /**
91
95
  * The fee percentage taken by Juicebox DAO on cashing out Tokens.
96
+ *
97
+ * @deprecated Use `cashOutProtocolFee` from `@bananapus/nana-sdk-core/v6/cash-out`.
98
+ * The contract fee is `reclaimAmount / 40` (floor division, NOT a float
99
+ * multiply), it is skipped for feeless beneficiaries, and zero-tax cash outs
100
+ * pay it only on `min(reclaimAmount, feeFreeSurplusOf)`. A float percentage
101
+ * cannot express any of that.
92
102
  */
93
103
  export declare const JBDAO_CASHOUT_FEE_PERCENT = 0.025;
94
104
  type JBChainMetadata<ChainId extends JBChainId = JBChainId> = {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAA0B,MAAM,MAAM,CAAC;AAgBpE,OAAO,EAAE,SAAS,EAAqB,SAAS,EAAE,MAAM,YAAY,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,SAAS,QAAkB,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAY,IAAI,CAAC;AAC9C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,aAAgB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,OAAO,aAAgB,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAAgB,CAAC;AAG9C,eAAO,MAAM,gBAAgB,QAE5B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,aAAgB,CAAC;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAG,EAAW,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,YAAY,QAAqC,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,OACmB,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,SAAS,UAA4B,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAG,EAAW,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAE/C,KAAK,eAAe,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,IAAI;IAC5D,KAAK,EAAE,KAAK,GAAG;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE;KACrB,OAAO,IAAI,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC;CA0DjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,+FAM1B,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD,KAAK,iBAAiB,GAAG;KACtB,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE;SAChB,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO;KAC3B;CACF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,iBAAiB,CAsHzE,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAEzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CASrD,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAA0B,MAAM,MAAM,CAAC;AAgB9D,OAAO,EAAE,SAAS,EAAqB,SAAS,EAAE,MAAM,YAAY,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,SAAS,QAAkB,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,aAAgB,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,aAAgB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAAgB,CAAC;AAG9C,eAAO,MAAM,gBAAgB,QAE5B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,aAAgB,CAAC;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAG,EAAW,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,YAAY,QAAqC,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,OACmB,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,SAAS,UAA4B,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAG,EAAW,CAAC;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAE/C,KAAK,eAAe,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,IAAI;IAC5D,KAAK,EAAE,KAAK,GAAG;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AA2BF,eAAO,MAAM,SAAS,EAAE;KACrB,OAAO,IAAI,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC;CA0CjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,+FAM1B,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD,KAAK,iBAAiB,GAAG;KACtB,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE;SAChB,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO;KAC3B;CACF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,iBAAiB,CAsHzE,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAEzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CASrD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.USDC_ADDRESSES = exports.NATIVE_SUCKER_DEPLOYER_ADDRESSES = exports.CCIP_SUCKER_DEPLOYER_ADDRESSES = exports.DEFAULT_NATIVE_TOKEN_SYMBOL = exports.JB_CHAIN_SLUGS = exports.JB_CHAINS = exports.JBDAO_CASHOUT_FEE_PERCENT = exports.NATIVE_TOKEN_DECIMALS = exports.USD_CURRENCY_ID = exports.ETH_CURRENCY_ID = exports.NATIVE_TOKEN = exports.ONE_JB_TOKEN = exports.JB_TOKEN_DECIMALS = exports.SPLITS_TOTAL_PERCENT = exports.MAX_PAYOUT_LIMIT = exports.MAX_FEE_DISCOUNT = exports.MAX_FEE = exports.MAX_WEIGHT_CUT_PERCENT = exports.MAX_CASH_OUT_TAX_RATE = exports.MAX_RESERVED_PERCENT = exports.DEFAULT_ALLOW_OVERSPENDING = exports.DEFAULT_MIN_RETURNED_TOKENS = exports.DEFAULT_METADATA = exports.DEFAULT_MEMO = exports.ONE_ETHER = void 0;
3
+ exports.USDC_ADDRESSES = exports.NATIVE_SUCKER_DEPLOYER_ADDRESSES = exports.CCIP_SUCKER_DEPLOYER_ADDRESSES = exports.DEFAULT_NATIVE_TOKEN_SYMBOL = exports.JB_CHAIN_SLUGS = exports.JB_CHAINS = exports.JBDAO_CASHOUT_FEE_PERCENT = exports.NATIVE_TOKEN_DECIMALS = exports.USD_CURRENCY_ID = exports.ETH_CURRENCY_ID = exports.NATIVE_TOKEN = exports.ONE_JB_TOKEN = exports.JB_TOKEN_DECIMALS = exports.SPLITS_TOTAL_PERCENT = exports.MAX_PAYOUT_LIMIT = exports.MAX_FEE_DISCOUNT = exports.MAX_FEE_PER_BILLION = exports.MAX_WEIGHT_CUT_PERCENT = exports.MAX_CASH_OUT_TAX_RATE = exports.MAX_RESERVED_PERCENT = exports.DEFAULT_ALLOW_OVERSPENDING = exports.DEFAULT_MIN_RETURNED_TOKENS = exports.DEFAULT_MEMO = exports.ONE_ETHER = void 0;
4
4
  const viem_1 = require("viem");
5
5
  const chains_js_1 = require("./chains.js");
6
6
  const juicebox_js_1 = require("./generated/juicebox.js");
@@ -13,10 +13,6 @@ exports.ONE_ETHER = (0, viem_1.parseEther)("1");
13
13
  * Default value for `memo` arguments in Juicebox transactions.
14
14
  */
15
15
  exports.DEFAULT_MEMO = "";
16
- /**
17
- * Default value for `metadata` arguments in Juicebox transactions.
18
- */
19
- exports.DEFAULT_METADATA = "0x0";
20
16
  exports.DEFAULT_MIN_RETURNED_TOKENS = 0n;
21
17
  exports.DEFAULT_ALLOW_OVERSPENDING = true;
22
18
  /**
@@ -38,9 +34,17 @@ exports.MAX_CASH_OUT_TAX_RATE = 10_000;
38
34
  */
39
35
  exports.MAX_WEIGHT_CUT_PERCENT = 1_000_000_000;
40
36
  /**
41
- * @link JBConstants.sol
37
+ * The per-billion (1e9) denominator used by the legacy fixed-point fee helpers.
38
+ *
39
+ * NOT `JBConstants.MAX_FEE`, which is `1000` in v4, v5 and v6 alike — the
40
+ * protocol fee is `STANDARD_FEE / MAX_FEE` = `25 / 1000`. For the contract
41
+ * denominator use `MAX_FEE` from `@bananapus/nana-sdk-core/v6`, and for the
42
+ * per-billion rate use `TERMINAL_FEE_PER_BILLION` from the same entry point.
43
+ *
44
+ * @deprecated Use `MAX_FEE` / `TERMINAL_FEE_PER_BILLION` from
45
+ * `@bananapus/nana-sdk-core/v6`.
42
46
  */
43
- exports.MAX_FEE = 1_000_000_000;
47
+ exports.MAX_FEE_PER_BILLION = 1_000_000_000;
44
48
  /**
45
49
  * @link JBConstants.sol
46
50
  */
@@ -96,64 +100,74 @@ exports.USD_CURRENCY_ID = USD_CURRENCY_ID;
96
100
  exports.NATIVE_TOKEN_DECIMALS = 18;
97
101
  /**
98
102
  * The fee percentage taken by Juicebox DAO on cashing out Tokens.
103
+ *
104
+ * @deprecated Use `cashOutProtocolFee` from `@bananapus/nana-sdk-core/v6/cash-out`.
105
+ * The contract fee is `reclaimAmount / 40` (floor division, NOT a float
106
+ * multiply), it is skipped for feeless beneficiaries, and zero-tax cash outs
107
+ * pay it only on `min(reclaimAmount, feeFreeSurplusOf)`. A float percentage
108
+ * cannot express any of that.
99
109
  */
100
110
  exports.JBDAO_CASHOUT_FEE_PERCENT = 0.025;
111
+ /**
112
+ * A chain's block-explorer hostname, derived from the chain definition's own
113
+ * `blockExplorers` entry so it can never diverge from the explorer URL the
114
+ * chain object carries (a hand-maintained copy once shipped the DNS-dead
115
+ * `optimism.etherscan.io` while the chain definition had the correct
116
+ * `optimistic.etherscan.io`).
117
+ */
118
+ const explorerHostname = (chain) => new URL(chain.blockExplorers.default.url).hostname;
119
+ /**
120
+ * The chain-agnostic half of a `JB_CHAINS` entry: everything derivable from the
121
+ * chain definition itself. `name` is the chain object's own `name`, so the
122
+ * display string can never drift from what wallets and `chains.ts` report (a
123
+ * hand-maintained copy once read "Optimism"/"Arbitrum" while the definitions
124
+ * said "OP Mainnet"/"Arbitrum One").
125
+ */
126
+ const derivedChainMetadata = (chain) => ({
127
+ chain,
128
+ name: chain.name,
129
+ etherscanHostname: explorerHostname(chain),
130
+ });
101
131
  exports.JB_CHAINS = {
102
132
  [chains_js_1.sepolia.id]: {
103
- chain: chains_js_1.sepolia,
104
- name: "Sepolia",
133
+ ...derivedChainMetadata(chains_js_1.sepolia),
105
134
  slug: "sep",
106
135
  nativeTokenSymbol: "SepETH",
107
- etherscanHostname: "sepolia.etherscan.io",
108
136
  },
109
137
  [chains_js_1.optimismSepolia.id]: {
110
- chain: chains_js_1.optimismSepolia,
111
- name: "Optimism Sepolia",
138
+ ...derivedChainMetadata(chains_js_1.optimismSepolia),
112
139
  slug: "opsep",
113
140
  nativeTokenSymbol: "OPSepETH",
114
- etherscanHostname: "sepolia-optimism.etherscan.io",
115
141
  },
116
142
  [chains_js_1.baseSepolia.id]: {
117
- chain: chains_js_1.baseSepolia,
118
- name: "Base Sepolia",
143
+ ...derivedChainMetadata(chains_js_1.baseSepolia),
119
144
  slug: "basesep",
120
145
  nativeTokenSymbol: "BaseSepETH",
121
- etherscanHostname: "sepolia.basescan.org",
122
146
  },
123
147
  [chains_js_1.arbitrumSepolia.id]: {
124
- chain: chains_js_1.arbitrumSepolia,
125
- name: "Arbitrum Sepolia",
148
+ ...derivedChainMetadata(chains_js_1.arbitrumSepolia),
126
149
  slug: "arbsep",
127
150
  nativeTokenSymbol: "ArbSepETH",
128
- etherscanHostname: "sepolia.arbiscan.io",
129
151
  },
130
152
  [chains_js_1.mainnet.id]: {
131
- chain: chains_js_1.mainnet,
132
- name: "Ethereum",
153
+ ...derivedChainMetadata(chains_js_1.mainnet),
133
154
  slug: "eth",
134
155
  nativeTokenSymbol: "ETH",
135
- etherscanHostname: "etherscan.io",
136
156
  },
137
157
  [chains_js_1.optimism.id]: {
138
- chain: chains_js_1.optimism,
139
- name: "Optimism",
158
+ ...derivedChainMetadata(chains_js_1.optimism),
140
159
  slug: "op",
141
160
  nativeTokenSymbol: "ETH",
142
- etherscanHostname: "optimism.etherscan.io",
143
161
  },
144
162
  [chains_js_1.base.id]: {
145
- chain: chains_js_1.base,
146
- name: "Base",
163
+ ...derivedChainMetadata(chains_js_1.base),
147
164
  slug: "base",
148
165
  nativeTokenSymbol: "ETH",
149
- etherscanHostname: "basescan.org",
150
166
  },
151
167
  [chains_js_1.arbitrum.id]: {
152
- chain: chains_js_1.arbitrum,
153
- name: "Arbitrum",
168
+ ...derivedChainMetadata(chains_js_1.arbitrum),
154
169
  slug: "arb",
155
170
  nativeTokenSymbol: "ETH",
156
- etherscanHostname: "arbiscan.io",
157
171
  },
158
172
  };
159
173
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,11 @@ export declare enum JBBuybackHookContracts {
43
43
  JBBuybackHook = "JBBuybackHook",
44
44
  JBBuybackHookRegistry = "JBBuybackHookRegistry"
45
45
  }
46
+ export declare enum JBUniswapV4LPSplitHookContracts {
47
+ JBUniswapV4LPSplitHook = "JBUniswapV4LPSplitHook",
48
+ JBUniswapV4LPSplitHookDeployer = "JBUniswapV4LPSplitHookDeployer",
49
+ JBP6FeeLPSplitHook = "JBP6FeeLPSplitHook"
50
+ }
46
51
  export declare enum JBRouterTerminalContracts {
47
52
  JBRouterTerminal = "JBRouterTerminal",
48
53
  JBRouterTerminalRegistry = "JBRouterTerminalRegistry"
@@ -57,7 +62,7 @@ export declare enum RevnetCoreContracts {
57
62
  REVLoans1_1 = "REVLoans1_1",// for v4
58
63
  REVOwner = "REVOwner"
59
64
  }
60
- export type Contract = JB721HookContracts | JBCoreContracts | JBSuckerContracts | JBAddressRegistryContracts | JBSwapTerminalContracts | JBBuybackHookContracts | JBRouterTerminalContracts | JBOmnichainDeployerContracts | RevnetCoreContracts;
65
+ export type Contract = JB721HookContracts | JBCoreContracts | JBSuckerContracts | JBAddressRegistryContracts | JBSwapTerminalContracts | JBBuybackHookContracts | JBRouterTerminalContracts | JBUniswapV4LPSplitHookContracts | JBOmnichainDeployerContracts | RevnetCoreContracts;
61
66
  export declare const SUPPORTED_CHAINS: {
62
67
  readonly 11155111: "sepolia";
63
68
  readonly 11155420: "optimism_sepolia";
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/contracts.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAElC,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,QAAQ,aAAa;IACrB,gBAAgB,qBAAqB;CACtC;AAED,oBAAY,kBAAkB;IAC5B,sBAAsB,2BAA2B;IACjD,6BAA6B,kCAAkC;IAC/D,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;CAC5C;AAED,oBAAY,0BAA0B;IACpC,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,iBAAiB;IAC3B,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;CAClD;AAED,oBAAY,uBAAuB;IACjC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,sBAAsB,2BAA2B;IACjD,0BAA0B,+BAA+B;CAC1D;AAED,oBAAY,sBAAsB;IAChC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;CAChD;AAED,oBAAY,yBAAyB;IACnC,gBAAgB,qBAAqB;IACrC,wBAAwB,6BAA6B;CACtD;AAED,oBAAY,4BAA4B;IACtC,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;CAClD;AAED,oBAAY,mBAAmB;IAC7B,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,WAAW,gBAAgB,CAAE,SAAS;IACtC,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,QAAQ,GAChB,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,0BAA0B,GAC1B,uBAAuB,GACvB,sBAAsB,GACtB,yBAAyB,GACzB,4BAA4B,GAC5B,mBAAmB,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;;;;;CASnB,CAAC"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/contracts.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAElC,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,QAAQ,aAAa;IACrB,gBAAgB,qBAAqB;CACtC;AAED,oBAAY,kBAAkB;IAC5B,sBAAsB,2BAA2B;IACjD,6BAA6B,kCAAkC;IAC/D,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;CAC5C;AAED,oBAAY,0BAA0B;IACpC,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,iBAAiB;IAC3B,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;CAClD;AAED,oBAAY,uBAAuB;IACjC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,sBAAsB,2BAA2B;IACjD,0BAA0B,+BAA+B;CAC1D;AAED,oBAAY,sBAAsB;IAChC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;CAChD;AAED,oBAAY,+BAA+B;IACzC,sBAAsB,2BAA2B;IACjD,8BAA8B,mCAAmC;IACjE,kBAAkB,uBAAuB;CAC1C;AAED,oBAAY,yBAAyB;IACnC,gBAAgB,qBAAqB;IACrC,wBAAwB,6BAA6B;CACtD;AAED,oBAAY,4BAA4B;IACtC,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;CAClD;AAED,oBAAY,mBAAmB;IAC7B,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,WAAW,gBAAgB,CAAE,SAAS;IACtC,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,QAAQ,GAChB,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,0BAA0B,GAC1B,uBAAuB,GACvB,sBAAsB,GACtB,yBAAyB,GACzB,+BAA+B,GAC/B,4BAA4B,GAC5B,mBAAmB,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;;;;;CASnB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SUPPORTED_CHAINS = exports.RevnetCoreContracts = exports.JBOmnichainDeployerContracts = exports.JBRouterTerminalContracts = exports.JBBuybackHookContracts = exports.JBSwapTerminalContracts = exports.JBSuckerContracts = exports.JBAddressRegistryContracts = exports.JB721HookContracts = exports.JBCoreContracts = void 0;
3
+ exports.SUPPORTED_CHAINS = exports.RevnetCoreContracts = exports.JBOmnichainDeployerContracts = exports.JBRouterTerminalContracts = exports.JBUniswapV4LPSplitHookContracts = exports.JBBuybackHookContracts = exports.JBSwapTerminalContracts = exports.JBSuckerContracts = exports.JBAddressRegistryContracts = exports.JB721HookContracts = exports.JBCoreContracts = void 0;
4
4
  var JBCoreContracts;
5
5
  (function (JBCoreContracts) {
6
6
  JBCoreContracts["JBController"] = "JBController";
@@ -51,6 +51,12 @@ var JBBuybackHookContracts;
51
51
  JBBuybackHookContracts["JBBuybackHook"] = "JBBuybackHook";
52
52
  JBBuybackHookContracts["JBBuybackHookRegistry"] = "JBBuybackHookRegistry";
53
53
  })(JBBuybackHookContracts || (exports.JBBuybackHookContracts = JBBuybackHookContracts = {}));
54
+ var JBUniswapV4LPSplitHookContracts;
55
+ (function (JBUniswapV4LPSplitHookContracts) {
56
+ JBUniswapV4LPSplitHookContracts["JBUniswapV4LPSplitHook"] = "JBUniswapV4LPSplitHook";
57
+ JBUniswapV4LPSplitHookContracts["JBUniswapV4LPSplitHookDeployer"] = "JBUniswapV4LPSplitHookDeployer";
58
+ JBUniswapV4LPSplitHookContracts["JBP6FeeLPSplitHook"] = "JBP6FeeLPSplitHook";
59
+ })(JBUniswapV4LPSplitHookContracts || (exports.JBUniswapV4LPSplitHookContracts = JBUniswapV4LPSplitHookContracts = {}));
54
60
  var JBRouterTerminalContracts;
55
61
  (function (JBRouterTerminalContracts) {
56
62
  JBRouterTerminalContracts["JBRouterTerminal"] = "JBRouterTerminal";