@bananapus/nana-sdk-core 1.11.1 → 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 +11 -7
  85. package/dist/cjs/v6/nft.d.ts.map +1 -1
  86. package/dist/cjs/v6/nft.js +26 -11
  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 +11 -7
  188. package/dist/esm/v6/nft.d.ts.map +1 -1
  189. package/dist/esm/v6/nft.js +26 -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 +1 @@
1
- {"version":3,"file":"JBSuckerAbi.js","sourceRoot":"","sources":["../../../src/actions/JBSuckerAbi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,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;AACH,MAAM,CAAC,MAAM,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"}
@@ -1,10 +1,14 @@
1
1
  import { getContract, isAddressEqual, zeroAddress, } from "viem";
2
2
  import { jbControllerAbi } from "../generated/juicebox.js";
3
- import { ipfsGatewayUrl } from "../utils/ipfs.js";
3
+ import { ipfsAssetPath, ipfsGatewayUrl, isIpfsCid } from "../utils/ipfs.js";
4
4
  /**
5
- * Fetch the onchain metadata CID for the given project, using the given JBController contract.
5
+ * Fetch the onchain metadata URI for the given project via the given
6
+ * JBController contract, and resolve it to a validated IPFS asset path
7
+ * (`<cid>[/path]`). `ipfs://` URIs, HTTP gateway URLs, and bare CIDs are all
8
+ * recognized; anything else (including path-less garbage such as a plain file
9
+ * name) resolves to `undefined` rather than a bogus gateway fetch.
6
10
  */
7
- const getMetadataCid = async (publicClient, args) => {
11
+ const getMetadataAssetPath = async (publicClient, args) => {
8
12
  if (isAddressEqual(args.jbControllerAddress, zeroAddress)) {
9
13
  return;
10
14
  }
@@ -13,10 +17,10 @@ const getMetadataCid = async (publicClient, args) => {
13
17
  abi: jbControllerAbi,
14
18
  client: publicClient,
15
19
  });
16
- // ipfs://cid or https://cid, probably
17
- const metadataUri = await JBController.read.uriOf([args.projectId]);
18
- const metadataCid = metadataUri.split("/").pop();
19
- return metadataCid;
20
+ // ipfs://<cid>[/path], an HTTP gateway URL, or a bare CID.
21
+ const metadataUri = (await JBController.read.uriOf([args.projectId])).trim();
22
+ return (ipfsAssetPath(metadataUri) ??
23
+ (isIpfsCid(metadataUri) ? metadataUri : undefined));
20
24
  };
21
25
  /**
22
26
  * Fetch the project metadata for the given [projectId]
@@ -26,11 +30,13 @@ const getMetadataCid = async (publicClient, args) => {
26
30
  *
27
31
  */
28
32
  export const getProjectMetadata = async (publicClient, args, opts) => {
29
- const metadataCid = await getMetadataCid(publicClient, args);
30
- if (!metadataCid) {
33
+ const metadataAssetPath = await getMetadataAssetPath(publicClient, args);
34
+ const ipfsUrl = metadataAssetPath
35
+ ? ipfsGatewayUrl(metadataAssetPath, opts?.ipfsGatewayHostname)
36
+ : null;
37
+ if (!ipfsUrl) {
31
38
  return;
32
39
  }
33
- const ipfsUrl = ipfsGatewayUrl(metadataCid, opts?.ipfsGatewayHostname);
34
40
  const res = (await fetch(ipfsUrl).then((res) => res.json()));
35
41
  return res;
36
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"projectMetadata.js","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EACX,cAAc,EACd,WAAW,GACZ,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,cAAc,GAAG,KAAK,EAC1B,YAA0B,EAC1B,IAGC,EACD,EAAE;IACF,IAAI,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC;QAC/B,OAAO,EAAE,IAAI,CAAC,mBAAmB;QACjC,GAAG,EAAE,eAAe;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;AACH,MAAM,CAAC,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,cAAc,CAAC,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"}
1
+ {"version":3,"file":"projectMetadata.js","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EACX,cAAc,EACd,WAAW,GACZ,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,KAAK,EAChC,YAA0B,EAC1B,IAGC,EACD,EAAE;IACF,IAAI,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC;QAC/B,OAAO,EAAE,IAAI,CAAC,mBAAmB;QACjC,GAAG,EAAE,eAAe;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,aAAa,CAAC,WAAW,CAAC;QAC1B,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CACnD,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,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,cAAc,CAAC,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"}
@@ -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"}
@@ -1,71 +1,105 @@
1
- import { getAddress, getContract, sliceHex } from "viem";
2
- import { jbSuckerRegistryAbi, jbSuckerRegistryV5Abi } from "../generated/juicebox.js";
1
+ import { getContract, isAddressEqual } from "viem";
2
+ import { jbSuckerRegistryAbi, jbSuckerRegistryV5Abi, } from "../generated/juicebox.js";
3
3
  import { JBSuckerAbi } from "./JBSuckerAbi.js";
4
4
  import { JBSuckerContracts } from "../types.js";
5
5
  import { getJBContractAddress } from "../utils/contracts.js";
6
+ import { suckerBytes32ToAddress } from "../v6/suckers.js";
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
+ */
6
21
  export async function getSuckerPairs({ config, chainId, projectId, version, }) {
7
22
  const jbSuckerRegistry = getJBContractAddress(JBSuckerContracts.JBSuckerRegistry, version, chainId);
8
23
  const client = config.getClient({ chainId: Number(chainId) });
9
24
  // v6 identifies remote suckers as bytes32 (for cross-VM compatibility); for EVM peers
10
- // the address is in the low 20 bytes.
25
+ // the address is in the low 20 bytes, which `suckerBytes32ToAddress` validates.
11
26
  const suckers = version === 6
12
27
  ? (await getContract({
13
28
  address: jbSuckerRegistry,
14
29
  abi: jbSuckerRegistryAbi,
15
30
  client,
16
- }).read.suckerPairsOf([projectId])).map((sucker) => ({ ...sucker, remote: getAddress(sliceHex(sucker.remote, 12)) }))
17
- : await getContract({
31
+ }).read.suckerPairsOf([projectId])).map((sucker) => ({
32
+ local: sucker.local,
33
+ remote: suckerBytes32ToAddress(sucker.remote),
34
+ remoteChainId: sucker.remoteChainId,
35
+ }))
36
+ : (await getContract({
18
37
  address: jbSuckerRegistry,
19
38
  abi: jbSuckerRegistryV5Abi,
20
39
  client,
21
- }).read.suckerPairsOf([projectId]);
22
- const suckerPairs = await Promise.all(suckers.map(async (sucker) => {
23
- const client = config.getClient({
40
+ }).read.suckerPairsOf([projectId])).map((sucker) => ({
41
+ local: sucker.local,
42
+ remote: sucker.remote,
43
+ remoteChainId: sucker.remoteChainId,
44
+ }));
45
+ return Promise.all(suckers.map(async (sucker) => {
46
+ const remoteClient = config.getClient({
24
47
  chainId: Number(sucker.remoteChainId),
25
48
  });
26
- const suckerContract = getContract({
49
+ const remoteSucker = getContract({
27
50
  address: sucker.remote,
28
51
  abi: JBSuckerAbi,
29
- client,
52
+ client: remoteClient,
30
53
  });
31
- const peer = (await suckerContract.read.peer());
32
- if (!peer) {
33
- return;
54
+ const [peer, peerProjectId] = await Promise.all([
55
+ remoteSucker.read.peer(),
56
+ remoteSucker.read.projectId(),
57
+ ]);
58
+ if (!isAddressEqual(suckerBytes32ToAddress(peer), sucker.local)) {
59
+ throw new Error(`The sucker at ${sucker.remote} on chain ${sucker.remoteChainId} is not paired back to ${sucker.local}.`);
34
60
  }
35
- const peerContract = getContract({
36
- address: peer,
37
- abi: JBSuckerAbi,
38
- client,
39
- });
40
- const projectId = await peerContract.read.projectId();
41
61
  return {
42
62
  peerChainId: Number(sucker.remoteChainId),
43
- projectId,
63
+ projectId: peerProjectId,
44
64
  };
45
65
  }));
46
- return suckerPairs.filter((x) => x);
47
66
  }
67
+ /**
68
+ * Resolve the full sucker group for a project: the local `(chainId, projectId)`
69
+ * itself, its direct peers, and the peers those peers name (one hop of gossip).
70
+ *
71
+ * The local entry is always first, so callers never have to guess whether a
72
+ * given result includes the chain they asked about. Entries are deduped by the
73
+ * whole `(chainId, projectId)` pair — two chains in a group can hold different
74
+ * project ids, and a chain id alone is not an identity.
75
+ *
76
+ * Any registry or sucker read failure rejects. A partially-resolved group would
77
+ * under-count supply, surplus, and balances without any signal to the caller.
78
+ */
48
79
  export async function resolveSuckers({ config, chainId, projectId, version, }) {
49
- const initialPairs = await getSuckerPairs({ config, chainId, projectId, version });
50
- const pairs = [...initialPairs];
51
- await Promise.all(initialPairs.map(async (pair) => {
52
- try {
53
- const peerPairs = await getSuckerPairs({
54
- config,
55
- chainId: pair.peerChainId,
56
- projectId: pair.projectId,
57
- version,
58
- });
59
- peerPairs.forEach((pair) => {
60
- if (!pairs.some((x) => x.peerChainId === pair.peerChainId)) {
61
- pairs.push(pair);
62
- }
63
- });
64
- }
65
- catch (e) {
66
- console.error("peer error", e);
67
- }
68
- }));
80
+ const pairs = [{ peerChainId: chainId, projectId }];
81
+ const seen = new Set([`${chainId}:${projectId}`]);
82
+ const add = (pair) => {
83
+ const key = `${pair.peerChainId}:${pair.projectId}`;
84
+ if (seen.has(key))
85
+ return;
86
+ seen.add(key);
87
+ pairs.push(pair);
88
+ };
89
+ const directPairs = await getSuckerPairs({
90
+ config,
91
+ chainId,
92
+ projectId,
93
+ version,
94
+ });
95
+ directPairs.forEach(add);
96
+ const transitivePairs = await Promise.all(directPairs.map((pair) => getSuckerPairs({
97
+ config,
98
+ chainId: pair.peerChainId,
99
+ projectId: pair.projectId,
100
+ version,
101
+ })));
102
+ transitivePairs.flat().forEach(add);
69
103
  return pairs;
70
104
  }
71
105
  //# 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"}
@@ -10,10 +10,6 @@ export const ONE_ETHER = parseEther("1");
10
10
  * Default value for `memo` arguments in Juicebox transactions.
11
11
  */
12
12
  export const DEFAULT_MEMO = "";
13
- /**
14
- * Default value for `metadata` arguments in Juicebox transactions.
15
- */
16
- export const DEFAULT_METADATA = "0x0";
17
13
  export const DEFAULT_MIN_RETURNED_TOKENS = 0n;
18
14
  export const DEFAULT_ALLOW_OVERSPENDING = true;
19
15
  /**
@@ -35,9 +31,17 @@ export const MAX_CASH_OUT_TAX_RATE = 10_000;
35
31
  */
36
32
  export const MAX_WEIGHT_CUT_PERCENT = 1_000_000_000;
37
33
  /**
38
- * @link JBConstants.sol
34
+ * The per-billion (1e9) denominator used by the legacy fixed-point fee helpers.
35
+ *
36
+ * NOT `JBConstants.MAX_FEE`, which is `1000` in v4, v5 and v6 alike — the
37
+ * protocol fee is `STANDARD_FEE / MAX_FEE` = `25 / 1000`. For the contract
38
+ * denominator use `MAX_FEE` from `@bananapus/nana-sdk-core/v6`, and for the
39
+ * per-billion rate use `TERMINAL_FEE_PER_BILLION` from the same entry point.
40
+ *
41
+ * @deprecated Use `MAX_FEE` / `TERMINAL_FEE_PER_BILLION` from
42
+ * `@bananapus/nana-sdk-core/v6`.
39
43
  */
40
- export const MAX_FEE = 1_000_000_000;
44
+ export const MAX_FEE_PER_BILLION = 1_000_000_000;
41
45
  /**
42
46
  * @link JBConstants.sol
43
47
  */
@@ -92,64 +96,74 @@ export const USD_CURRENCY_ID = (version) => (version === 4 ? 3 : 2);
92
96
  export const NATIVE_TOKEN_DECIMALS = 18;
93
97
  /**
94
98
  * The fee percentage taken by Juicebox DAO on cashing out Tokens.
99
+ *
100
+ * @deprecated Use `cashOutProtocolFee` from `@bananapus/nana-sdk-core/v6/cash-out`.
101
+ * The contract fee is `reclaimAmount / 40` (floor division, NOT a float
102
+ * multiply), it is skipped for feeless beneficiaries, and zero-tax cash outs
103
+ * pay it only on `min(reclaimAmount, feeFreeSurplusOf)`. A float percentage
104
+ * cannot express any of that.
95
105
  */
96
106
  export const JBDAO_CASHOUT_FEE_PERCENT = 0.025;
107
+ /**
108
+ * A chain's block-explorer hostname, derived from the chain definition's own
109
+ * `blockExplorers` entry so it can never diverge from the explorer URL the
110
+ * chain object carries (a hand-maintained copy once shipped the DNS-dead
111
+ * `optimism.etherscan.io` while the chain definition had the correct
112
+ * `optimistic.etherscan.io`).
113
+ */
114
+ const explorerHostname = (chain) => new URL(chain.blockExplorers.default.url).hostname;
115
+ /**
116
+ * The chain-agnostic half of a `JB_CHAINS` entry: everything derivable from the
117
+ * chain definition itself. `name` is the chain object's own `name`, so the
118
+ * display string can never drift from what wallets and `chains.ts` report (a
119
+ * hand-maintained copy once read "Optimism"/"Arbitrum" while the definitions
120
+ * said "OP Mainnet"/"Arbitrum One").
121
+ */
122
+ const derivedChainMetadata = (chain) => ({
123
+ chain,
124
+ name: chain.name,
125
+ etherscanHostname: explorerHostname(chain),
126
+ });
97
127
  export const JB_CHAINS = {
98
128
  [sepolia.id]: {
99
- chain: sepolia,
100
- name: "Sepolia",
129
+ ...derivedChainMetadata(sepolia),
101
130
  slug: "sep",
102
131
  nativeTokenSymbol: "SepETH",
103
- etherscanHostname: "sepolia.etherscan.io",
104
132
  },
105
133
  [optimismSepolia.id]: {
106
- chain: optimismSepolia,
107
- name: "Optimism Sepolia",
134
+ ...derivedChainMetadata(optimismSepolia),
108
135
  slug: "opsep",
109
136
  nativeTokenSymbol: "OPSepETH",
110
- etherscanHostname: "sepolia-optimism.etherscan.io",
111
137
  },
112
138
  [baseSepolia.id]: {
113
- chain: baseSepolia,
114
- name: "Base Sepolia",
139
+ ...derivedChainMetadata(baseSepolia),
115
140
  slug: "basesep",
116
141
  nativeTokenSymbol: "BaseSepETH",
117
- etherscanHostname: "sepolia.basescan.org",
118
142
  },
119
143
  [arbitrumSepolia.id]: {
120
- chain: arbitrumSepolia,
121
- name: "Arbitrum Sepolia",
144
+ ...derivedChainMetadata(arbitrumSepolia),
122
145
  slug: "arbsep",
123
146
  nativeTokenSymbol: "ArbSepETH",
124
- etherscanHostname: "sepolia.arbiscan.io",
125
147
  },
126
148
  [mainnet.id]: {
127
- chain: mainnet,
128
- name: "Ethereum",
149
+ ...derivedChainMetadata(mainnet),
129
150
  slug: "eth",
130
151
  nativeTokenSymbol: "ETH",
131
- etherscanHostname: "etherscan.io",
132
152
  },
133
153
  [optimism.id]: {
134
- chain: optimism,
135
- name: "Optimism",
154
+ ...derivedChainMetadata(optimism),
136
155
  slug: "op",
137
156
  nativeTokenSymbol: "ETH",
138
- etherscanHostname: "optimism.etherscan.io",
139
157
  },
140
158
  [base.id]: {
141
- chain: base,
142
- name: "Base",
159
+ ...derivedChainMetadata(base),
143
160
  slug: "base",
144
161
  nativeTokenSymbol: "ETH",
145
- etherscanHostname: "basescan.org",
146
162
  },
147
163
  [arbitrum.id]: {
148
- chain: arbitrum,
149
- name: "Arbitrum",
164
+ ...derivedChainMetadata(arbitrum),
150
165
  slug: "arb",
151
166
  nativeTokenSymbol: "ETH",
152
- etherscanHostname: "arbiscan.io",
153
167
  },
154
168
  };
155
169
  /**
@@ -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"}
@@ -48,6 +48,12 @@ export var JBBuybackHookContracts;
48
48
  JBBuybackHookContracts["JBBuybackHook"] = "JBBuybackHook";
49
49
  JBBuybackHookContracts["JBBuybackHookRegistry"] = "JBBuybackHookRegistry";
50
50
  })(JBBuybackHookContracts || (JBBuybackHookContracts = {}));
51
+ export var JBUniswapV4LPSplitHookContracts;
52
+ (function (JBUniswapV4LPSplitHookContracts) {
53
+ JBUniswapV4LPSplitHookContracts["JBUniswapV4LPSplitHook"] = "JBUniswapV4LPSplitHook";
54
+ JBUniswapV4LPSplitHookContracts["JBUniswapV4LPSplitHookDeployer"] = "JBUniswapV4LPSplitHookDeployer";
55
+ JBUniswapV4LPSplitHookContracts["JBP6FeeLPSplitHook"] = "JBP6FeeLPSplitHook";
56
+ })(JBUniswapV4LPSplitHookContracts || (JBUniswapV4LPSplitHookContracts = {}));
51
57
  export var JBRouterTerminalContracts;
52
58
  (function (JBRouterTerminalContracts) {
53
59
  JBRouterTerminalContracts["JBRouterTerminal"] = "JBRouterTerminal";
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/contracts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,eAkBX;AAlBD,WAAY,eAAe;IACzB,gDAA6B,CAAA;IAC7B,sDAAmC,CAAA;IACnC,oDAAiC,CAAA;IACjC,sDAAmC,CAAA;IACnC,sDAAmC,CAAA;IACnC,wDAAqC,CAAA;IACrC,8CAA2B,CAAA;IAC3B,sDAAmC,CAAA;IACnC,4CAAyB,CAAA;IACzB,kDAA+B,CAAA;IAC/B,4CAAyB,CAAA;IACzB,wCAAqB,CAAA;IACrB,wCAAqB,CAAA;IACrB,sDAAmC,CAAA;IACnC,4DAAyC,CAAA;IACzC,wCAAqB,CAAA;IACrB,wDAAqC,CAAA;AACvC,CAAC,EAlBW,eAAe,KAAf,eAAe,QAkB1B;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,uEAAiD,CAAA;IACjD,qFAA+D,CAAA;IAC/D,uDAAiC,CAAA;IACjC,iEAA2C,CAAA;AAC7C,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAN,IAAY,0BAEX;AAFD,WAAY,0BAA0B;IACpC,qEAAuC,CAAA;AACzC,CAAC,EAFW,0BAA0B,KAA1B,0BAA0B,QAErC;AAED,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,0DAAqC,CAAA;IACrC,kEAA6C,CAAA;IAC7C,sEAAiD,CAAA;IACjD,sEAAiD,CAAA;AACnD,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAED,MAAM,CAAN,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,4DAAiC,CAAA;IACjC,kEAAuC,CAAA;IACvC,4EAAiD,CAAA;IACjD,oFAAyD,CAAA;AAC3D,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,QAKlC;AAED,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,yDAA+B,CAAA;IAC/B,yEAA+C,CAAA;AACjD,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAED,MAAM,CAAN,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,kEAAqC,CAAA;IACrC,kFAAqD,CAAA;AACvD,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,QAGpC;AAED,MAAM,CAAN,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACtC,2EAA2C,CAAA;IAC3C,iFAAiD,CAAA;AACnD,CAAC,EAHW,4BAA4B,KAA5B,4BAA4B,QAGvC;AAED,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,kDAA2B,CAAA;IAC3B,4CAAqB,CAAA;IACrB,kDAA2B,CAAA;IAC3B,4CAAqB,CAAA;AACvB,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;AAaD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,kBAAkB;IAC1B,KAAK,EAAE,cAAc;IACrB,CAAC,EAAE,UAAU;IACb,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,MAAM;CACJ,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/contracts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,eAkBX;AAlBD,WAAY,eAAe;IACzB,gDAA6B,CAAA;IAC7B,sDAAmC,CAAA;IACnC,oDAAiC,CAAA;IACjC,sDAAmC,CAAA;IACnC,sDAAmC,CAAA;IACnC,wDAAqC,CAAA;IACrC,8CAA2B,CAAA;IAC3B,sDAAmC,CAAA;IACnC,4CAAyB,CAAA;IACzB,kDAA+B,CAAA;IAC/B,4CAAyB,CAAA;IACzB,wCAAqB,CAAA;IACrB,wCAAqB,CAAA;IACrB,sDAAmC,CAAA;IACnC,4DAAyC,CAAA;IACzC,wCAAqB,CAAA;IACrB,wDAAqC,CAAA;AACvC,CAAC,EAlBW,eAAe,KAAf,eAAe,QAkB1B;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,uEAAiD,CAAA;IACjD,qFAA+D,CAAA;IAC/D,uDAAiC,CAAA;IACjC,iEAA2C,CAAA;AAC7C,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAN,IAAY,0BAEX;AAFD,WAAY,0BAA0B;IACpC,qEAAuC,CAAA;AACzC,CAAC,EAFW,0BAA0B,KAA1B,0BAA0B,QAErC;AAED,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,0DAAqC,CAAA;IACrC,kEAA6C,CAAA;IAC7C,sEAAiD,CAAA;IACjD,sEAAiD,CAAA;AACnD,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAED,MAAM,CAAN,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,4DAAiC,CAAA;IACjC,kEAAuC,CAAA;IACvC,4EAAiD,CAAA;IACjD,oFAAyD,CAAA;AAC3D,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,QAKlC;AAED,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,yDAA+B,CAAA;IAC/B,yEAA+C,CAAA;AACjD,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAED,MAAM,CAAN,IAAY,+BAIX;AAJD,WAAY,+BAA+B;IACzC,oFAAiD,CAAA;IACjD,oGAAiE,CAAA;IACjE,4EAAyC,CAAA;AAC3C,CAAC,EAJW,+BAA+B,KAA/B,+BAA+B,QAI1C;AAED,MAAM,CAAN,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,kEAAqC,CAAA;IACrC,kFAAqD,CAAA;AACvD,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,QAGpC;AAED,MAAM,CAAN,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACtC,2EAA2C,CAAA;IAC3C,iFAAiD,CAAA;AACnD,CAAC,EAHW,4BAA4B,KAA5B,4BAA4B,QAGvC;AAED,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,kDAA2B,CAAA;IAC3B,4CAAqB,CAAA;IACrB,kDAA2B,CAAA;IAC3B,4CAAqB,CAAA;AACvB,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;AAcD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,kBAAkB;IAC1B,KAAK,EAAE,cAAc;IACrB,CAAC,EAAE,UAAU;IACb,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,MAAM;CACJ,CAAC"}