@bananapus/nana-sdk-core 1.11.1 → 2.1.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 (223) 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/index.d.ts +1 -0
  25. package/dist/cjs/index.d.ts.map +1 -1
  26. package/dist/cjs/index.js +1 -0
  27. package/dist/cjs/index.js.map +1 -1
  28. package/dist/cjs/jbcenter.d.ts +126 -0
  29. package/dist/cjs/jbcenter.d.ts.map +1 -0
  30. package/dist/cjs/jbcenter.js +307 -0
  31. package/dist/cjs/jbcenter.js.map +1 -0
  32. package/dist/cjs/types.d.ts +13 -10
  33. package/dist/cjs/types.d.ts.map +1 -1
  34. package/dist/cjs/types.js +10 -6
  35. package/dist/cjs/types.js.map +1 -1
  36. package/dist/cjs/utils/bendystraw.d.ts +19 -3
  37. package/dist/cjs/utils/bendystraw.d.ts.map +1 -1
  38. package/dist/cjs/utils/bendystraw.js +38 -10
  39. package/dist/cjs/utils/bendystraw.js.map +1 -1
  40. package/dist/cjs/utils/errors.d.ts +19 -0
  41. package/dist/cjs/utils/errors.d.ts.map +1 -0
  42. package/dist/cjs/utils/errors.js +32 -0
  43. package/dist/cjs/utils/errors.js.map +1 -0
  44. package/dist/cjs/utils/fee.d.ts +12 -0
  45. package/dist/cjs/utils/fee.d.ts.map +1 -1
  46. package/dist/cjs/utils/fee.js +13 -2
  47. package/dist/cjs/utils/fee.js.map +1 -1
  48. package/dist/cjs/utils/hook.d.ts +17 -4
  49. package/dist/cjs/utils/hook.d.ts.map +1 -1
  50. package/dist/cjs/utils/hook.js +60 -31
  51. package/dist/cjs/utils/hook.js.map +1 -1
  52. package/dist/cjs/utils/index.d.ts +1 -0
  53. package/dist/cjs/utils/index.d.ts.map +1 -1
  54. package/dist/cjs/utils/index.js +1 -0
  55. package/dist/cjs/utils/index.js.map +1 -1
  56. package/dist/cjs/utils/ipfs.d.ts +9 -1
  57. package/dist/cjs/utils/ipfs.d.ts.map +1 -1
  58. package/dist/cjs/utils/ipfs.js +13 -1
  59. package/dist/cjs/utils/ipfs.js.map +1 -1
  60. package/dist/cjs/utils/revnet.d.ts +1 -1
  61. package/dist/cjs/utils/revnet.d.ts.map +1 -1
  62. package/dist/cjs/utils/revnet.js +2 -1
  63. package/dist/cjs/utils/revnet.js.map +1 -1
  64. package/dist/cjs/utils/ruleset.d.ts +14 -0
  65. package/dist/cjs/utils/ruleset.d.ts.map +1 -1
  66. package/dist/cjs/utils/ruleset.js +19 -0
  67. package/dist/cjs/utils/ruleset.js.map +1 -1
  68. package/dist/cjs/utils/tx.d.ts +9 -0
  69. package/dist/cjs/utils/tx.d.ts.map +1 -1
  70. package/dist/cjs/utils/tx.js +10 -3
  71. package/dist/cjs/utils/tx.js.map +1 -1
  72. package/dist/cjs/utils/urn.d.ts +20 -1
  73. package/dist/cjs/utils/urn.d.ts.map +1 -1
  74. package/dist/cjs/utils/urn.js +54 -32
  75. package/dist/cjs/utils/urn.js.map +1 -1
  76. package/dist/cjs/v6/cashOut.d.ts +40 -6
  77. package/dist/cjs/v6/cashOut.d.ts.map +1 -1
  78. package/dist/cjs/v6/cashOut.js +54 -4
  79. package/dist/cjs/v6/cashOut.js.map +1 -1
  80. package/dist/cjs/v6/fees.d.ts +11 -8
  81. package/dist/cjs/v6/fees.d.ts.map +1 -1
  82. package/dist/cjs/v6/fees.js +12 -9
  83. package/dist/cjs/v6/fees.js.map +1 -1
  84. package/dist/cjs/v6/index.d.ts +1 -0
  85. package/dist/cjs/v6/index.d.ts.map +1 -1
  86. package/dist/cjs/v6/index.js +1 -0
  87. package/dist/cjs/v6/index.js.map +1 -1
  88. package/dist/cjs/v6/loans.d.ts +13 -4
  89. package/dist/cjs/v6/loans.d.ts.map +1 -1
  90. package/dist/cjs/v6/loans.js +14 -5
  91. package/dist/cjs/v6/loans.js.map +1 -1
  92. package/dist/cjs/v6/nft.d.ts +11 -7
  93. package/dist/cjs/v6/nft.d.ts.map +1 -1
  94. package/dist/cjs/v6/nft.js +26 -11
  95. package/dist/cjs/v6/nft.js.map +1 -1
  96. package/dist/cjs/v6/priceFeeds.d.ts +78 -0
  97. package/dist/cjs/v6/priceFeeds.d.ts.map +1 -0
  98. package/dist/cjs/v6/priceFeeds.js +109 -0
  99. package/dist/cjs/v6/priceFeeds.js.map +1 -0
  100. package/dist/cjs/v6/revnets.d.ts +21 -2
  101. package/dist/cjs/v6/revnets.d.ts.map +1 -1
  102. package/dist/cjs/v6/revnets.js +35 -3
  103. package/dist/cjs/v6/revnets.js.map +1 -1
  104. package/dist/cjs/v6/suckers.d.ts +11 -0
  105. package/dist/cjs/v6/suckers.d.ts.map +1 -1
  106. package/dist/cjs/v6/suckers.js +22 -1
  107. package/dist/cjs/v6/suckers.js.map +1 -1
  108. package/dist/cjs/v6/terminals.d.ts +24 -4
  109. package/dist/cjs/v6/terminals.d.ts.map +1 -1
  110. package/dist/cjs/v6/terminals.js +13 -2
  111. package/dist/cjs/v6/terminals.js.map +1 -1
  112. package/dist/esm/actions/JBSuckerAbi.d.ts +12 -2
  113. package/dist/esm/actions/JBSuckerAbi.d.ts.map +1 -1
  114. package/dist/esm/actions/JBSuckerAbi.js +12 -2
  115. package/dist/esm/actions/JBSuckerAbi.js.map +1 -1
  116. package/dist/esm/actions/projectMetadata.d.ts.map +1 -1
  117. package/dist/esm/actions/projectMetadata.js +16 -10
  118. package/dist/esm/actions/projectMetadata.js.map +1 -1
  119. package/dist/esm/actions/suckerPairs.d.ts +26 -0
  120. package/dist/esm/actions/suckerPairs.d.ts.map +1 -1
  121. package/dist/esm/actions/suckerPairs.js +75 -41
  122. package/dist/esm/actions/suckerPairs.js.map +1 -1
  123. package/dist/esm/constants.d.ts +17 -7
  124. package/dist/esm/constants.d.ts.map +1 -1
  125. package/dist/esm/constants.js +44 -30
  126. package/dist/esm/constants.js.map +1 -1
  127. package/dist/esm/contracts.d.ts +6 -1
  128. package/dist/esm/contracts.d.ts.map +1 -1
  129. package/dist/esm/contracts.js +6 -0
  130. package/dist/esm/contracts.js.map +1 -1
  131. package/dist/esm/generated/juicebox.d.ts +8779 -6436
  132. package/dist/esm/generated/juicebox.d.ts.map +1 -1
  133. package/dist/esm/generated/juicebox.js +9644 -7861
  134. package/dist/esm/generated/juicebox.js.map +1 -1
  135. package/dist/esm/index.d.ts +1 -0
  136. package/dist/esm/index.d.ts.map +1 -1
  137. package/dist/esm/index.js +1 -0
  138. package/dist/esm/index.js.map +1 -1
  139. package/dist/esm/jbcenter.d.ts +126 -0
  140. package/dist/esm/jbcenter.d.ts.map +1 -0
  141. package/dist/esm/jbcenter.js +300 -0
  142. package/dist/esm/jbcenter.js.map +1 -0
  143. package/dist/esm/types.d.ts +13 -10
  144. package/dist/esm/types.d.ts.map +1 -1
  145. package/dist/esm/types.js +10 -6
  146. package/dist/esm/types.js.map +1 -1
  147. package/dist/esm/utils/bendystraw.d.ts +19 -3
  148. package/dist/esm/utils/bendystraw.d.ts.map +1 -1
  149. package/dist/esm/utils/bendystraw.js +36 -9
  150. package/dist/esm/utils/bendystraw.js.map +1 -1
  151. package/dist/esm/utils/errors.d.ts +19 -0
  152. package/dist/esm/utils/errors.d.ts.map +1 -0
  153. package/dist/esm/utils/errors.js +28 -0
  154. package/dist/esm/utils/errors.js.map +1 -0
  155. package/dist/esm/utils/fee.d.ts +12 -0
  156. package/dist/esm/utils/fee.d.ts.map +1 -1
  157. package/dist/esm/utils/fee.js +13 -2
  158. package/dist/esm/utils/fee.js.map +1 -1
  159. package/dist/esm/utils/hook.d.ts +17 -4
  160. package/dist/esm/utils/hook.d.ts.map +1 -1
  161. package/dist/esm/utils/hook.js +61 -32
  162. package/dist/esm/utils/hook.js.map +1 -1
  163. package/dist/esm/utils/index.d.ts +1 -0
  164. package/dist/esm/utils/index.d.ts.map +1 -1
  165. package/dist/esm/utils/index.js +1 -0
  166. package/dist/esm/utils/index.js.map +1 -1
  167. package/dist/esm/utils/ipfs.d.ts +9 -1
  168. package/dist/esm/utils/ipfs.d.ts.map +1 -1
  169. package/dist/esm/utils/ipfs.js +13 -1
  170. package/dist/esm/utils/ipfs.js.map +1 -1
  171. package/dist/esm/utils/revnet.d.ts +1 -1
  172. package/dist/esm/utils/revnet.d.ts.map +1 -1
  173. package/dist/esm/utils/revnet.js +2 -1
  174. package/dist/esm/utils/revnet.js.map +1 -1
  175. package/dist/esm/utils/ruleset.d.ts +14 -0
  176. package/dist/esm/utils/ruleset.d.ts.map +1 -1
  177. package/dist/esm/utils/ruleset.js +19 -0
  178. package/dist/esm/utils/ruleset.js.map +1 -1
  179. package/dist/esm/utils/tx.d.ts +9 -0
  180. package/dist/esm/utils/tx.d.ts.map +1 -1
  181. package/dist/esm/utils/tx.js +11 -4
  182. package/dist/esm/utils/tx.js.map +1 -1
  183. package/dist/esm/utils/urn.d.ts +20 -1
  184. package/dist/esm/utils/urn.d.ts.map +1 -1
  185. package/dist/esm/utils/urn.js +54 -32
  186. package/dist/esm/utils/urn.js.map +1 -1
  187. package/dist/esm/v6/cashOut.d.ts +40 -6
  188. package/dist/esm/v6/cashOut.d.ts.map +1 -1
  189. package/dist/esm/v6/cashOut.js +54 -4
  190. package/dist/esm/v6/cashOut.js.map +1 -1
  191. package/dist/esm/v6/fees.d.ts +11 -8
  192. package/dist/esm/v6/fees.d.ts.map +1 -1
  193. package/dist/esm/v6/fees.js +11 -8
  194. package/dist/esm/v6/fees.js.map +1 -1
  195. package/dist/esm/v6/index.d.ts +1 -0
  196. package/dist/esm/v6/index.d.ts.map +1 -1
  197. package/dist/esm/v6/index.js +1 -0
  198. package/dist/esm/v6/index.js.map +1 -1
  199. package/dist/esm/v6/loans.d.ts +13 -4
  200. package/dist/esm/v6/loans.d.ts.map +1 -1
  201. package/dist/esm/v6/loans.js +13 -4
  202. package/dist/esm/v6/loans.js.map +1 -1
  203. package/dist/esm/v6/nft.d.ts +11 -7
  204. package/dist/esm/v6/nft.d.ts.map +1 -1
  205. package/dist/esm/v6/nft.js +26 -11
  206. package/dist/esm/v6/nft.js.map +1 -1
  207. package/dist/esm/v6/priceFeeds.d.ts +78 -0
  208. package/dist/esm/v6/priceFeeds.d.ts.map +1 -0
  209. package/dist/esm/v6/priceFeeds.js +105 -0
  210. package/dist/esm/v6/priceFeeds.js.map +1 -0
  211. package/dist/esm/v6/revnets.d.ts +21 -2
  212. package/dist/esm/v6/revnets.d.ts.map +1 -1
  213. package/dist/esm/v6/revnets.js +34 -3
  214. package/dist/esm/v6/revnets.js.map +1 -1
  215. package/dist/esm/v6/suckers.d.ts +11 -0
  216. package/dist/esm/v6/suckers.d.ts.map +1 -1
  217. package/dist/esm/v6/suckers.js +21 -1
  218. package/dist/esm/v6/suckers.js.map +1 -1
  219. package/dist/esm/v6/terminals.d.ts +24 -4
  220. package/dist/esm/v6/terminals.d.ts.map +1 -1
  221. package/dist/esm/v6/terminals.js +13 -2
  222. package/dist/esm/v6/terminals.js.map +1 -1
  223. package/package.json +12 -1
@@ -16,6 +16,22 @@ export class BendystrawRequestError extends Error {
16
16
  this.name = "BendystrawRequestError";
17
17
  }
18
18
  }
19
+ /**
20
+ * The internal per-attempt request timeout elapsed.
21
+ *
22
+ * It exists so a timeout can be told apart from a caller cancel: both abort the
23
+ * same `AbortController`, and without a distinct reason the timeout surfaces as
24
+ * a bare `AbortError` indistinguishable from `options.signal` firing. Bendystraw
25
+ * is known to spike to 5-13 s, so treating its timeout as a deliberate cancel
26
+ * turned the most likely transient failure into a hard first-attempt error.
27
+ */
28
+ export class BendystrawTimeoutError extends Error {
29
+ constructor(timeoutMs) {
30
+ super(`Bendystraw request timed out after ${timeoutMs}ms`);
31
+ this.timeoutMs = timeoutMs;
32
+ this.name = "BendystrawTimeoutError";
33
+ }
34
+ }
19
35
  function collectBendystrawChainIds(value, chainIds, depth = 0) {
20
36
  if (value === null || typeof value !== "object")
21
37
  return;
@@ -270,9 +286,12 @@ function delay(milliseconds) {
270
286
  /**
271
287
  * Execute a bounded, timeout-protected Bendystraw GraphQL request.
272
288
  *
273
- * The helper retries only transient transport failures. GraphQL errors,
274
- * invalid envelopes, invalid content types, oversized bodies, and caller
275
- * cancellation fail closed without being retried.
289
+ * The helper retries only transient transport failures — including its own
290
+ * per-attempt {@link BendystrawTimeoutError}. GraphQL errors, invalid
291
+ * envelopes, invalid content types, oversized bodies, and caller cancellation
292
+ * (`options.signal`) fail closed without being retried.
293
+ *
294
+ * @throws {BendystrawTimeoutError} When every attempt timed out.
276
295
  */
277
296
  export async function requestBendystraw(endpoint, query, variables, options = {}) {
278
297
  const fetchImpl = options.fetch ?? fetch;
@@ -292,7 +311,8 @@ export async function requestBendystraw(endpoint, query, variables, options = {}
292
311
  const controller = new AbortController();
293
312
  const abort = () => controller.abort(options.signal?.reason);
294
313
  options.signal?.addEventListener("abort", abort, { once: true });
295
- const timeout = setTimeout(() => controller.abort(), timeoutMs);
314
+ const timeoutReason = new BendystrawTimeoutError(timeoutMs);
315
+ const timeout = setTimeout(() => controller.abort(timeoutReason), timeoutMs);
296
316
  try {
297
317
  if (options.signal?.aborted)
298
318
  abort();
@@ -343,13 +363,20 @@ export async function requestBendystraw(endpoint, query, variables, options = {}
343
363
  }
344
364
  }
345
365
  catch (error) {
346
- const aborted = options.signal?.aborted ||
347
- abortName(error) === "AbortError" ||
348
- abortName(error) === "TimeoutError";
349
- if (aborted ||
366
+ // The internal timeout is a transient transport failure, so it retries.
367
+ // Only a CALLER cancel fails closed — hence the distinct abort reason.
368
+ const timedOut = controller.signal.reason === timeoutReason ||
369
+ error === timeoutReason ||
370
+ error instanceof BendystrawTimeoutError;
371
+ const cancelled = !timedOut &&
372
+ (options.signal?.aborted ||
373
+ abortName(error) === "AbortError" ||
374
+ abortName(error) === "TimeoutError");
375
+ if (cancelled ||
350
376
  error instanceof BendystrawRequestError ||
351
377
  attempt >= retryDelaysMs.length) {
352
- throw error;
378
+ // Surface the timeout as itself rather than as an opaque `AbortError`.
379
+ throw timedOut ? timeoutReason : error;
353
380
  }
354
381
  }
355
382
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"bendystraw.js","sourceRoot":"","sources":["../../../src/utils/bendystraw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bendystraw.js","sourceRoot":"","sources":["../../../src/utils/bendystraw.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Whether an error proves the CONTRACT answered by reverting the call
3
+ * (`ContractFunctionRevertedError` anywhere in the cause chain). A revert is a
4
+ * fact about on-chain state; transport failures, timeouts, and wrong-chain
5
+ * errors return false — they prove nothing and must not be interpreted as an
6
+ * on-chain answer. (viem wraps every `readContract` failure — including HTTP
7
+ * errors — in `ContractFunctionExecutionError`, so the wrapper type alone
8
+ * cannot make this distinction; the cause chain can.)
9
+ */
10
+ export declare function isContractRevertError(error: unknown): boolean;
11
+ /**
12
+ * Whether a read failed because the contract reverted OR returned no data —
13
+ * the two shapes produced by calling a getter the target contract does not
14
+ * implement. Use this to gate "older contract without the function" fallbacks;
15
+ * transport failures return false and should be rethrown, never treated as
16
+ * "the function does not exist".
17
+ */
18
+ export declare function isMissingContractFunctionError(error: unknown): boolean;
19
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAM7D;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAStE"}
@@ -0,0 +1,28 @@
1
+ import { BaseError, ContractFunctionRevertedError, ContractFunctionZeroDataError, } from "viem";
2
+ /**
3
+ * Whether an error proves the CONTRACT answered by reverting the call
4
+ * (`ContractFunctionRevertedError` anywhere in the cause chain). A revert is a
5
+ * fact about on-chain state; transport failures, timeouts, and wrong-chain
6
+ * errors return false — they prove nothing and must not be interpreted as an
7
+ * on-chain answer. (viem wraps every `readContract` failure — including HTTP
8
+ * errors — in `ContractFunctionExecutionError`, so the wrapper type alone
9
+ * cannot make this distinction; the cause chain can.)
10
+ */
11
+ export function isContractRevertError(error) {
12
+ return (error instanceof BaseError &&
13
+ error.walk((cause) => cause instanceof ContractFunctionRevertedError) !==
14
+ null);
15
+ }
16
+ /**
17
+ * Whether a read failed because the contract reverted OR returned no data —
18
+ * the two shapes produced by calling a getter the target contract does not
19
+ * implement. Use this to gate "older contract without the function" fallbacks;
20
+ * transport failures return false and should be rethrown, never treated as
21
+ * "the function does not exist".
22
+ */
23
+ export function isMissingContractFunctionError(error) {
24
+ return (error instanceof BaseError &&
25
+ error.walk((cause) => cause instanceof ContractFunctionRevertedError ||
26
+ cause instanceof ContractFunctionZeroDataError) !== null);
27
+ }
28
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,MAAM,CAAC;AAEd;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,CACL,KAAK,YAAY,SAAS;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,YAAY,6BAA6B,CAAC;YACnE,IAAI,CACP,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,OAAO,CACL,KAAK,YAAY,SAAS;QAC1B,KAAK,CAAC,IAAI,CACR,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,YAAY,6BAA6B;YAC9C,KAAK,YAAY,6BAA6B,CACjD,KAAK,IAAI,CACX,CAAC;AACJ,CAAC"}
@@ -1,2 +1,14 @@
1
+ /**
2
+ * Net a token amount of the full 2.5% protocol cash-out fee, using the
3
+ * contract's exact arithmetic: `amount - amount / 40` (floor division — NOT
4
+ * `× 975 / 1000`, which can differ by 1 wei and break an exact minimum).
5
+ *
6
+ * @deprecated Use `cashOutProtocolFee` from
7
+ * `@bananapus/nana-sdk-core/v6/cash-out` instead. The protocol fee is
8
+ * CONDITIONAL: with a non-zero cash-out tax rate every cash out pays it, but
9
+ * zero-tax cash outs pay it only on `min(reclaimAmount, feeFreeSurplusOf)`,
10
+ * and feeless beneficiaries pay none. This helper unconditionally deducts the
11
+ * full fee and therefore under-states zero-tax quotes.
12
+ */
1
13
  export declare function applyJbDaoCashOutFee(tokenAmountWei: bigint): bigint;
2
14
  //# sourceMappingURL=fee.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fee.d.ts","sourceRoot":"","sources":["../../../src/utils/fee.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,UAI1D"}
1
+ {"version":3,"file":"fee.d.ts","sourceRoot":"","sources":["../../../src/utils/fee.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,UAE1D"}
@@ -1,5 +1,16 @@
1
- import { JBDAO_CASHOUT_FEE_PERCENT } from "../constants.js";
1
+ /**
2
+ * Net a token amount of the full 2.5% protocol cash-out fee, using the
3
+ * contract's exact arithmetic: `amount - amount / 40` (floor division — NOT
4
+ * `× 975 / 1000`, which can differ by 1 wei and break an exact minimum).
5
+ *
6
+ * @deprecated Use `cashOutProtocolFee` from
7
+ * `@bananapus/nana-sdk-core/v6/cash-out` instead. The protocol fee is
8
+ * CONDITIONAL: with a non-zero cash-out tax rate every cash out pays it, but
9
+ * zero-tax cash outs pay it only on `min(reclaimAmount, feeFreeSurplusOf)`,
10
+ * and feeless beneficiaries pay none. This helper unconditionally deducts the
11
+ * full fee and therefore under-states zero-tax quotes.
12
+ */
2
13
  export function applyJbDaoCashOutFee(tokenAmountWei) {
3
- return ((tokenAmountWei * BigInt((1 - JBDAO_CASHOUT_FEE_PERCENT) * 1000)) / 1000n);
14
+ return tokenAmountWei - tokenAmountWei / 40n;
4
15
  }
5
16
  //# sourceMappingURL=fee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../src/utils/fee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,UAAU,oBAAoB,CAAC,cAAsB;IACzD,OAAO,CACL,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAC1E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../src/utils/fee.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,cAAsB;IACzD,OAAO,cAAc,GAAG,cAAc,GAAG,GAAG,CAAC;AAC/C,CAAC"}
@@ -14,11 +14,24 @@ import { Address, Hex } from "viem";
14
14
  */
15
15
  export declare function hookMetadataId(target: Address, purpose: string): Hex;
16
16
  /**
17
+ * Pack `{id: data}` entries into the JBMetadataResolver layout a JB hook parses
18
+ * with `getDataFor`:
17
19
  *
18
- * Create metadata for pay or redeem hooks.
20
+ * - a 32-byte protocol-reserved word,
21
+ * - a lookup table of `(bytes4 id, uint8 wordOffset)` entries padded to 32 bytes,
22
+ * - each payload, padded to a whole number of 32-byte words.
19
23
  *
20
- * @link https://github.com/simplemachine92/JBMetadata-Helper
21
- * @attribution simplemachine92/nowonder
24
+ * Offsets are counted in WORDS, not bytes: the first payload starts at word
25
+ * `1 + ceil(ids.length * 5 / 32)` and each subsequent offset advances by the
26
+ * payload's word count. Byte-for-byte identical to `JBMetadataResolver.createMetadata`
27
+ * for the inputs Solidity accepts (payloads that are already a non-zero multiple
28
+ * of 32 bytes); shorter or unaligned payloads are right-padded here rather than
29
+ * rejected, since the resolver reads a payload as the span between two offsets.
30
+ *
31
+ * @param ids The 4-byte lookup ids, from {@link hookMetadataId}.
32
+ * @param metadatas The payload for each id, positionally matched.
33
+ * @returns The packed metadata, or `0x` when there are no entries.
34
+ * @link https://github.com/Bananapus/nana-core-v6/blob/main/src/libraries/JBMetadataResolver.sol (`createMetadata`)
22
35
  */
23
- export declare function createHookMetadata(ids: string[], metadatas: string[]): `0x${string}`;
36
+ export declare function createHookMetadata(ids: string[], metadatas: string[]): Hex;
24
37
  //# sourceMappingURL=hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/utils/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAEP,GAAG,EAMJ,MAAM,MAAM,CAAC;AAEd;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAKpE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,iBA8CpE"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/utils/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAkC,MAAM,MAAM,CAAC;AAEpE;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAKpE;AAuBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,CAuC1E"}
@@ -1,4 +1,4 @@
1
- import { bytesToHex, encodePacked, keccak256, toBytes, zeroHash, } from "viem";
1
+ import { bytesToHex, keccak256, toBytes } from "viem";
2
2
  /**
3
3
  * The metadata lookup id a JB hook resolves via `JBMetadataResolver.getId`:
4
4
  * `bytes4(bytes20(target) ^ bytes20(keccak256(purpose)))`.
@@ -18,46 +18,75 @@ export function hookMetadataId(target, purpose) {
18
18
  const xored = targetBytes.map((byte, i) => byte ^ purposeBytes[i]);
19
19
  return bytesToHex(xored.slice(0, 4));
20
20
  }
21
+ /** `JBMetadataResolver.WORD_SIZE` — every section of the layout is word-aligned. */
22
+ const WORD_SIZE = 32;
23
+ /** `JBMetadataResolver.TOTAL_ID_SIZE` — 4 bytes of id plus 1 byte of offset. */
24
+ const TOTAL_ID_SIZE = 5;
25
+ /** The offset column is a single byte, so no entry may start past word 255. */
26
+ const MAX_OFFSET = 255;
27
+ /** Hex chars per 32-byte word. */
28
+ const WORD_CHARS = WORD_SIZE * 2;
21
29
  /**
30
+ * Strip the `0x` prefix after asserting the value is a whole number of bytes,
31
+ * normalizing case so the packed result is comparable as a string.
32
+ */
33
+ function hexBody(value, label) {
34
+ if (!/^0x([0-9a-fA-F]{2})*$/.test(value)) {
35
+ throw new Error(`${label} must be a 0x-prefixed hex string of whole bytes`);
36
+ }
37
+ return value.slice(2).toLowerCase();
38
+ }
39
+ /**
40
+ * Pack `{id: data}` entries into the JBMetadataResolver layout a JB hook parses
41
+ * with `getDataFor`:
42
+ *
43
+ * - a 32-byte protocol-reserved word,
44
+ * - a lookup table of `(bytes4 id, uint8 wordOffset)` entries padded to 32 bytes,
45
+ * - each payload, padded to a whole number of 32-byte words.
22
46
  *
23
- * Create metadata for pay or redeem hooks.
47
+ * Offsets are counted in WORDS, not bytes: the first payload starts at word
48
+ * `1 + ceil(ids.length * 5 / 32)` and each subsequent offset advances by the
49
+ * payload's word count. Byte-for-byte identical to `JBMetadataResolver.createMetadata`
50
+ * for the inputs Solidity accepts (payloads that are already a non-zero multiple
51
+ * of 32 bytes); shorter or unaligned payloads are right-padded here rather than
52
+ * rejected, since the resolver reads a payload as the span between two offsets.
24
53
  *
25
- * @link https://github.com/simplemachine92/JBMetadata-Helper
26
- * @attribution simplemachine92/nowonder
54
+ * @param ids The 4-byte lookup ids, from {@link hookMetadataId}.
55
+ * @param metadatas The payload for each id, positionally matched.
56
+ * @returns The packed metadata, or `0x` when there are no entries.
57
+ * @link https://github.com/Bananapus/nana-core-v6/blob/main/src/libraries/JBMetadataResolver.sol (`createMetadata`)
27
58
  */
28
59
  export function createHookMetadata(ids, metadatas) {
29
- // Check lengths
30
60
  if (ids.length !== metadatas.length)
31
61
  throw new Error("LENGTH_MISMATCH");
32
- // Initialize metadata with first 32B for the protocol reserved word
33
- let metadata = encodePacked(["bytes32"], [zeroHash]);
34
- // Calculate offset for the data is after the first reserved word...
35
- let offset = 1;
36
- // ... and after the id/offset lookup table, rounding up to 32 bytes if not a multiple
37
- offset += Math.floor(ids.length);
38
- // For each id, add it to the lookup table with the next free offset, then increment the offset by the data length
62
+ // Solidity returns empty bytes rather than a lone reserved word.
63
+ if (ids.length === 0)
64
+ return "0x";
65
+ // Pad every payload up to a whole number of words first: the lookup table's
66
+ // offsets are word counts of the PADDED payloads, so they cannot be computed
67
+ // from the raw lengths.
68
+ const payloads = metadatas.map((metadata, i) => {
69
+ const body = hexBody(metadata, `metadatas[${i}]`);
70
+ if (body.length === 0) {
71
+ throw new Error(`metadatas[${i}] cannot be empty`);
72
+ }
73
+ return body.padEnd(Math.ceil(body.length / WORD_CHARS) * WORD_CHARS, "0");
74
+ });
75
+ // The first payload sits after the reserved word and after the lookup table,
76
+ // which is itself rounded up to whole words.
77
+ let offset = 1 + Math.ceil((ids.length * TOTAL_ID_SIZE) / WORD_SIZE);
78
+ let table = "";
39
79
  for (let i = 0; i < ids.length; i++) {
40
- // Get metadata, id and offset
41
- metadata += encodePacked(["bytes4"], [ids[i]]).slice(2);
42
- metadata += encodePacked(["uint8"], [offset]).slice(2);
43
- // increment the offset by the data length, rounded up to the nearest 32-byte word
44
- offset += metadatas[i].length / 32;
45
- // Overflowing a bytes1?
46
- if (offset > 2 ** 8)
80
+ const id = hexBody(ids[i], `ids[${i}]`);
81
+ if (id.length !== 8)
82
+ throw new Error(`ids[${i}] must be 4 bytes`);
83
+ table += id + offset.toString(16).padStart(2, "0");
84
+ offset += payloads[i].length / WORD_CHARS;
85
+ // Overflowing the single offset byte?
86
+ if (offset > MAX_OFFSET)
47
87
  throw new Error("METADATA_TOO_LONG");
48
88
  }
49
- // Pad the table to a multiple of 32B
50
- let paddedLength = metadata.length % 32 === 0
51
- ? metadata.length
52
- : Math.ceil(metadata.length / 32 + 1) * 32;
53
- // Update metadata length
54
- metadata = metadata.padEnd(paddedLength + 2, "0");
55
- // Add each metadata to the array, each padded to 32 bytes
56
- for (let i = 0; i < metadatas.length; i++) {
57
- // Append metadata to array
58
- metadata += encodePacked(["bytes"], [metadatas[i].padEnd(paddedLength, "0")]).slice(2);
59
- }
60
- // Return complete metadata
61
- return metadata;
89
+ const paddedTable = table.padEnd(Math.ceil(table.length / WORD_CHARS) * WORD_CHARS, "0");
90
+ return `0x${"0".repeat(WORD_CHARS)}${paddedTable}${payloads.join("")}`;
62
91
  }
63
92
  //# sourceMappingURL=hook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/utils/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,EACP,QAAQ,GACT,MAAM,MAAM,CAAC;AAEd;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,MAAe,EAAE,OAAe;IAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAa,EAAE,SAAmB;IACnE,gBAAgB;IAChB,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAExE,oEAAoE;IACpE,IAAI,QAAQ,GAAG,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErD,oEAAoE;IACpE,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,sFAAsF;IACtF,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEjC,kHAAkH;IAClH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,8BAA8B;QAC9B,QAAQ,IAAI,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEhE,QAAQ,IAAI,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvD,kFAAkF;QAClF,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;QAEnC,wBAAwB;QACxB,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IAED,qCAAqC;IACrC,IAAI,YAAY,GACd,QAAQ,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC;QACxB,CAAC,CAAC,QAAQ,CAAC,MAAM;QACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAE/C,yBAAyB;IACzB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,CAAS,CAAC;IAE1D,0DAA0D;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,2BAA2B;QAC3B,QAAQ,IAAI,YAAY,CACtB,CAAC,OAAO,CAAC,EACT,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAS,CAAC,CACjD,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;IAED,2BAA2B;IAC3B,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/utils/hook.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export * from "./bendystraw.js";
3
3
  export * from "./data.js";
4
4
  export * from "./debug.js";
5
5
  export * from "./deploy.js";
6
+ export * from "./errors.js";
6
7
  export * from "./fee.js";
7
8
  export * from "./format.js";
8
9
  export * from "./hook.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
@@ -3,6 +3,7 @@ export * from "./bendystraw.js";
3
3
  export * from "./data.js";
4
4
  export * from "./debug.js";
5
5
  export * from "./deploy.js";
6
+ export * from "./errors.js";
6
7
  export * from "./fee.js";
7
8
  export * from "./format.js";
8
9
  export * from "./hook.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
@@ -1,4 +1,12 @@
1
- export declare function ipfsGatewayUrl(cid: string | undefined, gatewayHostname?: string): string;
1
+ /**
2
+ * An HTTP gateway URL for a CID (optionally with a path), or `null` when
3
+ * `cid` is not a CID.
4
+ *
5
+ * Fails closed rather than interpolating whatever it was handed: the previous
6
+ * signature accepted `undefined` and happily returned
7
+ * `https://ipfs.io/ipfs/undefined`, a 4xx fetch far from its source.
8
+ */
9
+ export declare function ipfsGatewayUrl(cid: string, gatewayHostname?: string): string | null;
2
10
  /** Return an `ipfs://` URI for a CID and optional path. */
3
11
  export declare function ipfsUri(cid: string, path?: string): string;
4
12
  /** Whether a value uses the native `ipfs://` URI scheme. */
@@ -1 +1 @@
1
- {"version":3,"file":"ipfs.d.ts","sourceRoot":"","sources":["../../../src/utils/ipfs.ts"],"names":[],"mappings":"AAaA,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CAIR;AAED,2DAA2D;AAC3D,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwB1D;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3D;AAED,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKhD;AA2GD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,iBAWxC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,UAS/C;AAED,2EAA2E;AAC3E,eAAO,MAAM,cAAc,sBAAgB,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM3D;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC/B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAgBlC"}
1
+ {"version":3,"file":"ipfs.d.ts","sourceRoot":"","sources":["../../../src/utils/ipfs.ts"],"names":[],"mappings":"AAaA;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,GAAG,IAAI,CAQf;AAED,2DAA2D;AAC3D,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwB1D;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3D;AAED,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKhD;AA2GD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,iBAWxC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,UAS/C;AAED,2EAA2E;AAC3E,eAAO,MAAM,cAAc,sBAAgB,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM3D;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC/B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAgBlC"}
@@ -7,8 +7,20 @@ function validatedIpfsAssetPath(value) {
7
7
  const cid = value.split("/")[0];
8
8
  return cid && isIpfsCid(cid) ? value : null;
9
9
  }
10
+ /**
11
+ * An HTTP gateway URL for a CID (optionally with a path), or `null` when
12
+ * `cid` is not a CID.
13
+ *
14
+ * Fails closed rather than interpolating whatever it was handed: the previous
15
+ * signature accepted `undefined` and happily returned
16
+ * `https://ipfs.io/ipfs/undefined`, a 4xx fetch far from its source.
17
+ */
10
18
  export function ipfsGatewayUrl(cid, gatewayHostname) {
11
- return `https://${gatewayHostname ?? PUBLIC_IPFS_GATEWAY_HOSTNAME}/ipfs/${cid}`;
19
+ // Guarded at runtime too: JS callers were the ones passing `undefined`.
20
+ const assetPath = typeof cid === "string" ? validatedIpfsAssetPath(cid.trim()) : null;
21
+ if (!assetPath)
22
+ return null;
23
+ return `https://${gatewayHostname ?? PUBLIC_IPFS_GATEWAY_HOSTNAME}/ipfs/${assetPath}`;
12
24
  }
13
25
  /** Return an `ipfs://` URI for a CID and optional path. */
14
26
  export function ipfsUri(cid, path) {
@@ -1 +1 @@
1
- {"version":3,"file":"ipfs.js","sourceRoot":"","sources":["../../../src/utils/ipfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipfs.js","sourceRoot":"","sources":["../../../src/utils/ipfs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { JBChainId } from "src/types.js";
1
+ import { JBChainId } from "../types.js";
2
2
  import { JBVersion } from "../contracts.js";
3
3
  export declare function calcPrepaidFee(monthsToPrePay: number): bigint;
4
4
  export declare function getRevnetLoanContract(version: JBVersion, chainId: JBChainId): "0xde1e70faf22024559e7d94ab814abd7e42ca849b" | "0x1880d832aa283d05b8eab68877717e25fbd550bb" | "0x056265c31157748818f0910d1859acd2f7d427de";
@@ -1 +1 @@
1
- {"version":3,"file":"revnet.d.ts","sourceRoot":"","sources":["../../../src/utils/revnet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAY5C,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAY7D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,8IAI3E"}
1
+ {"version":3,"file":"revnet.d.ts","sourceRoot":"","sources":["../../../src/utils/revnet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAY5C,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAa7D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,8IAI3E"}
@@ -6,7 +6,8 @@ const MIN_PREPAID_FEE = 25n;
6
6
  // The divisor (max months) as a BigInt for the calculation.
7
7
  const MAX_PREPAYMENT_MONTHS_BIGINT = 120n;
8
8
  export function calcPrepaidFee(monthsToPrePay) {
9
- const calcd = (BigInt(monthsToPrePay) * MAX_PREPAID_FEE_PERCENT_BIGINT) / MAX_PREPAYMENT_MONTHS_BIGINT +
9
+ const calcd = (BigInt(monthsToPrePay) * MAX_PREPAID_FEE_PERCENT_BIGINT) /
10
+ MAX_PREPAYMENT_MONTHS_BIGINT +
10
11
  MIN_PREPAID_FEE;
11
12
  if (calcd < MIN_PREPAID_FEE) {
12
13
  return MIN_PREPAID_FEE;
@@ -1 +1 @@
1
- {"version":3,"file":"revnet.js","sourceRoot":"","sources":["../../../src/utils/revnet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,0BAA0B;AAC1B,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAE5C,oDAAoD;AACpD,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,4DAA4D;AAC5D,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAE1C,MAAM,UAAU,cAAc,CAAC,cAAsB;IACnD,MAAM,KAAK,GACT,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,8BAA8B,CAAC,GAAG,4BAA4B;QACxF,eAAe,CAAC;IAElB,IAAI,KAAK,GAAG,eAAe,EAAE,CAAC;QAC5B,OAAO,eAAe,CAAC;IACzB,CAAC;SAAM,IAAI,KAAK,GAAG,8BAA8B,EAAE,CAAC;QAClD,OAAO,8BAA8B,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAkB,EAAE,OAAkB;IAC1E,OAAO,OAAO,KAAK,CAAC;QAClB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;QAC9C,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"revnet.js","sourceRoot":"","sources":["../../../src/utils/revnet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,0BAA0B;AAC1B,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAE5C,oDAAoD;AACpD,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,4DAA4D;AAC5D,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAE1C,MAAM,UAAU,cAAc,CAAC,cAAsB;IACnD,MAAM,KAAK,GACT,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,8BAA8B,CAAC;QACvD,4BAA4B;QAC9B,eAAe,CAAC;IAElB,IAAI,KAAK,GAAG,eAAe,EAAE,CAAC;QAC5B,OAAO,eAAe,CAAC;IACzB,CAAC;SAAM,IAAI,KAAK,GAAG,8BAA8B,EAAE,CAAC;QAClD,OAAO,8BAA8B,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAkB,EAAE,OAAkB;IAC1E,OAAO,OAAO,KAAK,CAAC;QAClB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;QAC9C,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC"}
@@ -3,6 +3,13 @@
3
3
  *
4
4
  * Useful when projecting a project's future Token B price.
5
5
  * E.g. "In the next ruleset, how much will Token B cost, given the new Weight?"
6
+ *
7
+ * Projects ONE cycle. `JBRulesets` applies the cut once per elapsed cycle
8
+ * (`JBRulesets.sol:685-690`), so this is not the weight `n` cycles out. It also
9
+ * does not model the weight-1 "inherit the previous weight" sentinel
10
+ * (`JBRulesets.sol:822-824`) — for a ruleset whose configured weight may still
11
+ * be `RULESET_WEIGHT_INHERIT`, use `resolveRulesetIssuanceStages` from
12
+ * `@bananapus/nana-sdk-core/v6` first.
6
13
  */
7
14
  export declare function getNextRulesetWeight(currentRuleset: {
8
15
  weight: bigint;
@@ -10,6 +17,13 @@ export declare function getNextRulesetWeight(currentRuleset: {
10
17
  }): bigint;
11
18
  /**
12
19
  * Derive the previous ruleset's Weight value from the current ruleset.
20
+ *
21
+ * The inverse of {@link getNextRulesetWeight}, with the same one-cycle and
22
+ * sentinel caveats, and lossy by floor division.
23
+ *
24
+ * @throws {RangeError} When `weightCutPercent` is 100% (`MAX_WEIGHT_CUT_PERCENT`).
25
+ * A full cut sends every subsequent weight to 0, so no previous weight can be
26
+ * recovered from the current one — the inverse has no value to return.
13
27
  */
14
28
  export declare function getPrevRulesetWeight(currentRuleset: {
15
29
  weight: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"ruleset.d.ts","sourceRoot":"","sources":["../../../src/utils/ruleset.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B,UAOA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B,UAOA"}
1
+ {"version":3,"file":"ruleset.d.ts","sourceRoot":"","sources":["../../../src/utils/ruleset.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B,UAOA;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B,UAeA"}