@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
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requiredFeedPairs = requiredFeedPairs;
4
+ exports.probeFeedReachability = probeFeedReachability;
5
+ const juicebox_js_1 = require("../generated/juicebox.js");
6
+ const errors_js_1 = require("../utils/errors.js");
7
+ const types_js_1 = require("./types.js");
8
+ /**
9
+ * Every `JBPrices` pair the terminal will resolve at runtime for a project
10
+ * accepting the given accounting contexts (the exact structs
11
+ * `buildAccountingContext` emits) with the given ruleset `baseCurrency`:
12
+ *
13
+ * - each `context.currency` ↔ `baseCurrency` (the pay/issuance conversion;
14
+ * skipped when equal — the terminal short-circuits), and
15
+ * - each `context.currency` ↔ each other `context.currency` (cash-out and
16
+ * surplus views convert every OTHER context's balance into the reclaimed
17
+ * context's currency, NOT the base currency; skipped for single-context
18
+ * projects).
19
+ *
20
+ * Pairs are deduped without direction. Feeds resolve direct or inverse only —
21
+ * never transitively through an intermediate currency — so every returned pair
22
+ * must be individually served by a feed or the project's payments and/or cash
23
+ * outs revert on-chain. Accounting contexts are immutable once set, so an
24
+ * unreachable pair must be caught BEFORE launch (see
25
+ * {@link probeFeedReachability}).
26
+ */
27
+ function requiredFeedPairs(accountingContexts, baseCurrency) {
28
+ const pairs = [];
29
+ const seen = new Set();
30
+ const add = (pricingCurrency, unitCurrency, decimals) => {
31
+ if (pricingCurrency === unitCurrency)
32
+ return;
33
+ const key = `${Math.min(pricingCurrency, unitCurrency)}:${Math.max(pricingCurrency, unitCurrency)}`;
34
+ if (seen.has(key))
35
+ return;
36
+ seen.add(key);
37
+ pairs.push({ pricingCurrency, unitCurrency, decimals });
38
+ };
39
+ for (const context of accountingContexts) {
40
+ add(context.currency, baseCurrency, context.decimals);
41
+ }
42
+ for (let i = 0; i < accountingContexts.length; i++) {
43
+ for (let j = i + 1; j < accountingContexts.length; j++) {
44
+ add(accountingContexts[i].currency, accountingContexts[j].currency, 18);
45
+ }
46
+ }
47
+ return pairs;
48
+ }
49
+ /**
50
+ * Probe on-chain that every given `JBPrices` pair resolves, via the same
51
+ * `pricePerUnitOf` read the terminal performs at runtime. The default
52
+ * `projectId` 0 gives exactly the protocol-default-feed semantics a freshly
53
+ * launched project starts with — and, because the probe is on-chain, a later
54
+ * protocol-side default-feed registration unblocks the combination with no
55
+ * client release.
56
+ *
57
+ * A revert (as opposed to a transport failure) means the chain answered, so a
58
+ * pair is only ever reported `missing` on a proven
59
+ * `ContractFunctionRevertedError`; every other failure — timeouts, HTTP
60
+ * errors, a chain with no known `JBPrices` deployment — yields `unavailable`.
61
+ *
62
+ * @param client A viem public client on the given chain.
63
+ * @param args.chainId The chain to probe on.
64
+ * @param args.pairs The pairs to probe (see {@link requiredFeedPairs}).
65
+ * @param args.projectId The project id to resolve feeds for. Defaults to 0n
66
+ * (the protocol default feeds).
67
+ */
68
+ async function probeFeedReachability(client, { chainId, pairs, projectId = 0n, }) {
69
+ if (pairs.length === 0)
70
+ return { status: "ok" };
71
+ let prices;
72
+ try {
73
+ prices = (0, types_js_1.v6Address)("JBPrices", chainId);
74
+ }
75
+ catch {
76
+ return { status: "unavailable" };
77
+ }
78
+ let unverified = false;
79
+ const missing = [];
80
+ await Promise.all(pairs.map(async (pair) => {
81
+ try {
82
+ await client.readContract({
83
+ address: prices,
84
+ abi: juicebox_js_1.jbPricesAbi,
85
+ functionName: "pricePerUnitOf",
86
+ args: [
87
+ projectId,
88
+ BigInt(pair.pricingCurrency),
89
+ BigInt(pair.unitCurrency),
90
+ BigInt(pair.decimals),
91
+ ],
92
+ });
93
+ }
94
+ catch (error) {
95
+ if ((0, errors_js_1.isContractRevertError)(error)) {
96
+ missing.push(pair);
97
+ }
98
+ else {
99
+ unverified = true;
100
+ }
101
+ }
102
+ }));
103
+ if (missing.length > 0)
104
+ return { status: "missing", missing };
105
+ if (unverified)
106
+ return { status: "unavailable" };
107
+ return { status: "ok" };
108
+ }
109
+ //# sourceMappingURL=priceFeeds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"priceFeeds.js","sourceRoot":"","sources":["../../../src/v6/priceFeeds.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,14 @@ export type REVDeploy721TiersHookConfig = RevDeployArgs6[4];
36
36
  * may post to, and at what minimum price/supply.
37
37
  */
38
38
  export type REVCroptopAllowedPost = RevDeployArgs6[5][number];
39
+ /**
40
+ * Ruleset `extraMetadata` bit 2: allows `REVDeployer.deploySuckersFor` to extend
41
+ * the revnet to new chains while the stage is active (the deployer checks
42
+ * `(metadata >> 2) & 1`). `extraMetadata` is folded into the revnet's immutable
43
+ * encoded-configuration hash, so a stage without this bit can NEVER be extended —
44
+ * there is no later fix.
45
+ */
46
+ export declare const REV_METADATA_ALLOW_SUCKER_DEPLOYMENT: number;
39
47
  /**
40
48
  * Build a `REVStageConfig` (spec-exact encodings, documented per field).
41
49
  *
@@ -58,8 +66,13 @@ export type REVCroptopAllowedPost = RevDeployArgs6[5][number];
58
66
  * - `issuanceCutPercent`: how much issuance drops each period, out of 1e9
59
67
  * (`MAX_WEIGHT_CUT_PERCENT`; e.g. 20% = 200,000,000).
60
68
  * - `cashOutTaxRate`: out of 10,000 (`MAX_CASH_OUT_TAX_RATE`). Any non-zero
61
- * rate makes EVERY cash out incur the 2.5% protocol fee.
62
- * - `extraMetadata`: extra metadata bits forwarded to hooks; 0 by default.
69
+ * rate makes EVERY cash out incur the 2.5% protocol fee; zero-tax cash outs
70
+ * still pay it on `min(reclaimAmount, feeFreeSurplusOf)`, which is often
71
+ * but not always zero.
72
+ * - `extraMetadata`: extra metadata bits forwarded to hooks.
73
+ * {@link REV_METADATA_ALLOW_SUCKER_DEPLOYMENT} (bit 2) is ORed in by default
74
+ * so the revnet stays extendable to new chains; pass
75
+ * `allowSuckerDeployment: false` to opt out PERMANENTLY for the stage.
63
76
  */
64
77
  export declare function buildRevnetStageConfig(args: {
65
78
  startsAtOrAfter: number;
@@ -71,6 +84,12 @@ export declare function buildRevnetStageConfig(args: {
71
84
  issuanceCutPercent?: number;
72
85
  cashOutTaxRate?: number;
73
86
  extraMetadata?: number;
87
+ /**
88
+ * Whether `REVDeployer.deploySuckersFor` may extend the revnet to new chains
89
+ * during this stage. Defaults to TRUE — a stage without the bit is
90
+ * un-extendable forever, since stages are immutable once deployed.
91
+ */
92
+ allowSuckerDeployment?: boolean;
74
93
  }): REVStageConfig;
75
94
  /**
76
95
  * Build a `REVDeployer.deployFor` transaction request deploying a new revnet
@@ -1 +1 @@
1
- {"version":3,"file":"revnets.d.ts","sourceRoot":"","sources":["../../../src/v6/revnets.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"revnets.d.ts","sourceRoot":"","sources":["../../../src/v6/revnets.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQA;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;IACJ,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB,GACA,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7C,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAChE,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7C,OAAO,CAAC,OAAO,CAAC,CAOlB"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REV_METADATA_ALLOW_SUCKER_DEPLOYMENT = void 0;
3
4
  exports.buildRevnetStageConfig = buildRevnetStageConfig;
4
5
  exports.buildDeployRevnetTx = buildDeployRevnetTx;
5
6
  exports.buildAutoIssueTx = buildAutoIssueTx;
@@ -9,6 +10,14 @@ exports.isRevnetOperator = isRevnetOperator;
9
10
  exports.getRevnetTiered721Hook = getRevnetTiered721Hook;
10
11
  const juicebox_js_1 = require("../generated/juicebox.js");
11
12
  const types_js_1 = require("./types.js");
13
+ /**
14
+ * Ruleset `extraMetadata` bit 2: allows `REVDeployer.deploySuckersFor` to extend
15
+ * the revnet to new chains while the stage is active (the deployer checks
16
+ * `(metadata >> 2) & 1`). `extraMetadata` is folded into the revnet's immutable
17
+ * encoded-configuration hash, so a stage without this bit can NEVER be extended —
18
+ * there is no later fix.
19
+ */
20
+ exports.REV_METADATA_ALLOW_SUCKER_DEPLOYMENT = 1 << 2;
12
21
  /**
13
22
  * Build a `REVStageConfig` (spec-exact encodings, documented per field).
14
23
  *
@@ -31,10 +40,18 @@ const types_js_1 = require("./types.js");
31
40
  * - `issuanceCutPercent`: how much issuance drops each period, out of 1e9
32
41
  * (`MAX_WEIGHT_CUT_PERCENT`; e.g. 20% = 200,000,000).
33
42
  * - `cashOutTaxRate`: out of 10,000 (`MAX_CASH_OUT_TAX_RATE`). Any non-zero
34
- * rate makes EVERY cash out incur the 2.5% protocol fee.
35
- * - `extraMetadata`: extra metadata bits forwarded to hooks; 0 by default.
43
+ * rate makes EVERY cash out incur the 2.5% protocol fee; zero-tax cash outs
44
+ * still pay it on `min(reclaimAmount, feeFreeSurplusOf)`, which is often
45
+ * but not always zero.
46
+ * - `extraMetadata`: extra metadata bits forwarded to hooks.
47
+ * {@link REV_METADATA_ALLOW_SUCKER_DEPLOYMENT} (bit 2) is ORed in by default
48
+ * so the revnet stays extendable to new chains; pass
49
+ * `allowSuckerDeployment: false` to opt out PERMANENTLY for the stage.
36
50
  */
37
51
  function buildRevnetStageConfig(args) {
52
+ const extraMetadata = args.allowSuckerDeployment === false
53
+ ? (args.extraMetadata ?? 0)
54
+ : (args.extraMetadata ?? 0) | exports.REV_METADATA_ALLOW_SUCKER_DEPLOYMENT;
38
55
  return {
39
56
  startsAtOrAfter: args.startsAtOrAfter,
40
57
  autoIssuances: args.autoIssuances ?? [],
@@ -44,7 +61,7 @@ function buildRevnetStageConfig(args) {
44
61
  issuanceCutFrequency: args.issuanceCutFrequency ?? 0,
45
62
  issuanceCutPercent: args.issuanceCutPercent ?? 0,
46
63
  cashOutTaxRate: args.cashOutTaxRate ?? 0,
47
- extraMetadata: args.extraMetadata ?? 0,
64
+ extraMetadata,
48
65
  };
49
66
  }
50
67
  /**
@@ -75,6 +92,21 @@ function buildRevnetStageConfig(args) {
75
92
  function buildDeployRevnetTx(args) {
76
93
  const address = (0, types_js_1.v6Address)("REVDeployer", args.chainId);
77
94
  const revnetId = args.revnetId ?? 0n;
95
+ // An omnichain revnet whose stages lack the sucker-deployment bit can never
96
+ // be extended to new chains (or have failed sucker deploys retried): stages
97
+ // are immutable and `deploySuckersFor` checks the CURRENT stage's bit. Refuse
98
+ // to encode that foot-gun — `buildRevnetStageConfig` sets the bit by default.
99
+ if (args.suckerConfig.deployerConfigurations.length > 0) {
100
+ const blockedStage = args.config.stageConfigurations.findIndex((stage) => (Number(stage.extraMetadata) & exports.REV_METADATA_ALLOW_SUCKER_DEPLOYMENT) ===
101
+ 0);
102
+ if (blockedStage !== -1) {
103
+ throw new Error(`Stage ${blockedStage} does not set REV_METADATA_ALLOW_SUCKER_DEPLOYMENT ` +
104
+ `(extraMetadata bit 2), so this cross-chain revnet could never deploy ` +
105
+ `suckers during that stage — permanently. Build stages with ` +
106
+ `buildRevnetStageConfig (which sets the bit by default), or OR the bit ` +
107
+ `into extraMetadata.`);
108
+ }
109
+ }
78
110
  // The deployer forwards msg.value to `JBProjects.createFor` for new revnets and
79
111
  // reverts on any value when initializing an existing project.
80
112
  if (revnetId === 0n && args.creationFee === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"revnets.js","sourceRoot":"","sources":["../../../src/v6/revnets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"revnets.js","sourceRoot":"","sources":["../../../src/v6/revnets.ts"],"names":[],"mappings":";;;AAkGA,wDAgCC;AA2BD,kDAuEC;AAOD,4CAaC;AAMD,oDAeC;AAQD,0CAUC;AAMD,4CAUC;AAMD,wDAUC;AA9TD,0DAAuE;AAGvE,yCAAuC;AAuDvC;;;;;;GAMG;AACU,QAAA,oCAAoC,GAAG,CAAC,IAAI,CAAC,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,sBAAsB,CAAC,IAgBtC;IACC,MAAM,aAAa,GACjB,IAAI,CAAC,qBAAqB,KAAK,KAAK;QAClC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,4CAAoC,CAAC;IACvE,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;QACvC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;QACpC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACzB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,IAAI,CAAC;QACpD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,CAAC;QAChD,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC;QACxC,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,mBAAmB,CAAC,IASnC;IACC,MAAM,OAAO,GAAG,IAAA,oBAAS,EAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IAErC,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,8EAA8E;IAC9E,IAAI,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAC5D,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,4CAAoC,CAAC;YACpE,CAAC,CACJ,CAAC;QACF,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,SAAS,YAAY,qDAAqD;gBACxE,uEAAuE;gBACvE,6DAA6D;gBAC7D,wEAAwE;gBACxE,qBAAqB,CACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,8DAA8D;IAC9D,IAAI,QAAQ,KAAK,EAAE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAE,IAAI,CAAC,WAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;IAElE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO;YACP,GAAG,EAAE,4BAAc;YACnB,YAAY,EAAE,WAAoB;YAClC,IAAI,EAAE;gBACJ,QAAQ;gBACR,IAAI,CAAC,MAAM;gBACX,IAAI,CAAC,kBAAkB;gBACvB,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,YAAY,IAAI,EAAE;aACf;YACV,KAAK;SACN,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO;QACP,GAAG,EAAE,4BAAc;QACnB,YAAY,EAAE,WAAoB;QAClC,IAAI,EAAE;YACJ,QAAQ;YACR,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,kBAAkB;YACvB,IAAI,CAAC,YAAY;SACT;QACV,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,IAKhC;IACC,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC;QAC5C,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,cAAuB;QACrC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAU;KAC/D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAoB,EACpB,IAKC;IAED,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC;QAC5C,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,mBAAmB;QACjC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;KACtD,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,eAAe,CACnC,MAAoB,EACpB,IAA8C;IAE9C,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC;QAC5C,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,gBAAgB;QAC9B,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAoB,EACpB,IAAiE;IAEjE,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC;QAC5C,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,cAAc;QAC5B,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,sBAAsB,CAC1C,MAAoB,EACpB,IAA8C;IAE9C,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC;QAC5C,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,iBAAiB;QAC/B,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;KACtB,CAAC,CAAC;AACL,CAAC"}
@@ -974,6 +974,17 @@ export declare function getV6SuckerPairs(client: PublicClient, { chainId, projec
974
974
  chainId: JBChainId;
975
975
  projectId: bigint;
976
976
  }): Promise<JBSuckerPairV6[]>;
977
+ /**
978
+ * The key a sucker's accounting context is compared under across chains.
979
+ *
980
+ * The same logical asset carries a different address on every chain, so native
981
+ * and USDC normalize to shared keys and everything else keys by its own address
982
+ * in that chain's namespace. Decimals are part of the key: two contexts for the
983
+ * same asset at different decimals are not interchangeable amounts.
984
+ *
985
+ * Chains with no USDC deployment simply take the address-keyed branch.
986
+ */
987
+ export declare function suckerAccountingContextKey(token: Address, chainId: JBChainId, decimals: number): string;
977
988
  /**
978
989
  * Read active and deprecated suckers for a project. Historical suckers remain
979
990
  * relevant because their already-delivered leaves can still be claimed.
@@ -1 +1 @@
1
- {"version":3,"file":"suckers.d.ts","sourceRoot":"","sources":["../../../src/v6/suckers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suckers.d.ts","sourceRoot":"","sources":["../../../src/v6/suckers.ts"],"names":[],"mappings":"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"}
@@ -21,8 +21,10 @@ exports.buildBridgePrepareTx = buildBridgePrepareTx;
21
21
  exports.buildBridgeClaimTx = buildBridgeClaimTx;
22
22
  exports.buildToRemoteTx = buildToRemoteTx;
23
23
  exports.getV6SuckerPairs = getV6SuckerPairs;
24
+ exports.suckerAccountingContextKey = suckerAccountingContextKey;
24
25
  exports.getAllV6SuckerPairs = getAllV6SuckerPairs;
25
26
  const viem_1 = require("viem");
27
+ const constants_js_1 = require("../constants.js");
26
28
  const juicebox_js_1 = require("../generated/juicebox.js");
27
29
  const types_js_1 = require("./types.js");
28
30
  const jbSuckerV6WriteAbi = [
@@ -764,10 +766,29 @@ async function getV6SuckerPairs(client, { chainId, projectId }) {
764
766
  });
765
767
  return pairs.map((pair) => ({
766
768
  local: pair.local,
767
- remote: (0, viem_1.getAddress)((0, viem_1.sliceHex)(pair.remote, 12)),
769
+ remote: suckerBytes32ToAddress(pair.remote),
768
770
  remoteChainId: pair.remoteChainId,
769
771
  }));
770
772
  }
773
+ /**
774
+ * The key a sucker's accounting context is compared under across chains.
775
+ *
776
+ * The same logical asset carries a different address on every chain, so native
777
+ * and USDC normalize to shared keys and everything else keys by its own address
778
+ * in that chain's namespace. Decimals are part of the key: two contexts for the
779
+ * same asset at different decimals are not interchangeable amounts.
780
+ *
781
+ * Chains with no USDC deployment simply take the address-keyed branch.
782
+ */
783
+ function suckerAccountingContextKey(token, chainId, decimals) {
784
+ const normalized = token.toLowerCase();
785
+ if (normalized === constants_js_1.NATIVE_TOKEN.toLowerCase())
786
+ return `native@${decimals}`;
787
+ const usdc = constants_js_1.USDC_ADDRESSES[chainId];
788
+ if (usdc && normalized === usdc.toLowerCase())
789
+ return `usdc@${decimals}`;
790
+ return `${normalized}@${decimals}`;
791
+ }
771
792
  /**
772
793
  * Read active and deprecated suckers for a project. Historical suckers remain
773
794
  * relevant because their already-delivered leaves can still be claimed.
@@ -1 +1 @@
1
- {"version":3,"file":"suckers.js","sourceRoot":"","sources":["../../../src/v6/suckers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suckers.js","sourceRoot":"","sources":["../../../src/v6/suckers.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,17 @@ export interface ResolvedPaymentTerminal {
10
10
  address: Address;
11
11
  /**
12
12
  * True when the project has no primary terminal for the token and the
13
- * JBRouterTerminalRegistry (a universal terminal with the same `pay` signature) is
14
- * used instead.
13
+ * JBRouterTerminalRegistry (which exposes the same `pay` signature) is used
14
+ * instead.
15
+ *
16
+ * The registry is NOT a universal terminal: it forwards to a per-project
17
+ * resolved terminal and reverts `JBRouterTerminalRegistry_TerminalNotSet`
18
+ * when none resolves — the cold-start case, where a project has no pinned
19
+ * terminal and has not reached the default-terminal threshold. So `isRouter`
20
+ * means "the router is where the payment would go", not "this token is
21
+ * payable". Probe routability with `previewPayFor` before offering the
22
+ * route: a `previewPayFor` call against the resolved address reverts for a
23
+ * cold-start project and succeeds otherwise.
15
24
  */
16
25
  isRouter: boolean;
17
26
  }
@@ -37,8 +46,19 @@ export interface JBAccountingContext {
37
46
  *
38
47
  * Reads `JBDirectory.primaryTerminalOf(projectId, token)`. When the project has no
39
48
  * primary terminal for the token (zero address), falls back to the
40
- * JBRouterTerminalRegistry — a universal terminal that accepts any token and exposes
41
- * the same `pay` signature.
49
+ * JBRouterTerminalRegistry, which exposes the same `pay` signature.
50
+ *
51
+ * The registry is a FORWARDER, not a universal terminal: it resolves a
52
+ * per-project terminal (the project's pinned one, else the threshold-resolved
53
+ * default) and reverts `JBRouterTerminalRegistry_TerminalNotSet` when neither
54
+ * exists (`JBRouterTerminalRegistry.sol:429-432`, reached from both `pay` and
55
+ * `previewPayFor`). Its view surface is deliberately softer — an unresolved
56
+ * `accountingContextForTokenOf` returns an EMPTY context rather than reverting
57
+ * (`:182-186`) — so an empty context is not proof the token is unsupported.
58
+ *
59
+ * A returned `isRouter: true` therefore does not mean the token is payable.
60
+ * Probe routability with {@link previewPay} against the returned address: it
61
+ * reverts for a cold-start project and returns a preview otherwise.
42
62
  *
43
63
  * @param client A viem public client on the given chain.
44
64
  * @param args.chainId The chain to resolve on.
@@ -1 +1 @@
1
- {"version":3,"file":"terminals.d.ts","sourceRoot":"","sources":["../../../src/v6/terminals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAe,MAAM,MAAM,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,EACE,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC,uBAAuB,CAAC,CAgBlC;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,YAAY,EACpB,EACE,OAAO,EACP,SAAS,GACV,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAOzC"}
1
+ {"version":3,"file":"terminals.d.ts","sourceRoot":"","sources":["../../../src/v6/terminals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAe,MAAM,MAAM,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;;;;OAaG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,EACE,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC,uBAAuB,CAAC,CAgBlC;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,YAAY,EACpB,EACE,OAAO,EACP,SAAS,GACV,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAOzC"}
@@ -10,8 +10,19 @@ const types_js_1 = require("./types.js");
10
10
  *
11
11
  * Reads `JBDirectory.primaryTerminalOf(projectId, token)`. When the project has no
12
12
  * primary terminal for the token (zero address), falls back to the
13
- * JBRouterTerminalRegistry — a universal terminal that accepts any token and exposes
14
- * the same `pay` signature.
13
+ * JBRouterTerminalRegistry, which exposes the same `pay` signature.
14
+ *
15
+ * The registry is a FORWARDER, not a universal terminal: it resolves a
16
+ * per-project terminal (the project's pinned one, else the threshold-resolved
17
+ * default) and reverts `JBRouterTerminalRegistry_TerminalNotSet` when neither
18
+ * exists (`JBRouterTerminalRegistry.sol:429-432`, reached from both `pay` and
19
+ * `previewPayFor`). Its view surface is deliberately softer — an unresolved
20
+ * `accountingContextForTokenOf` returns an EMPTY context rather than reverting
21
+ * (`:182-186`) — so an empty context is not proof the token is unsupported.
22
+ *
23
+ * A returned `isRouter: true` therefore does not mean the token is payable.
24
+ * Probe routability with {@link previewPay} against the returned address: it
25
+ * reverts for a cold-start project and returns a preview otherwise.
15
26
  *
16
27
  * @param client A viem public client on the given chain.
17
28
  * @param args.chainId The chain to resolve on.
@@ -1 +1 @@
1
- {"version":3,"file":"terminals.js","sourceRoot":"","sources":["../../../src/v6/terminals.ts"],"names":[],"mappings":";;AAqDA,wDA2BC;AAWD,sDAgBC;AA3GD,+BAA0D;AAC1D,0DAA8E;AAE9E,yCAAuC;AAoCvC;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,sBAAsB,CAC1C,MAAoB,EACpB,EACE,OAAO,EACP,SAAS,EACT,KAAK,GAKN;IAED,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QAChD,OAAO,EAAE,IAAA,oBAAS,EAAC,aAAa,EAAE,OAAO,CAAC;QAC1C,GAAG,EAAE,4BAAc;QACnB,YAAY,EAAE,mBAAmB;QACjC,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;KACzB,CAAC,CAAC;IAEH,IAAI,eAAe,KAAK,kBAAW,EAAE,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,IAAA,oBAAS,EAAC,0BAA0B,EAAE,OAAO,CAAC;YACvD,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,qBAAqB,CACzC,MAAoB,EACpB,EACE,OAAO,EACP,SAAS,GAIV;IAED,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,IAAA,oBAAS,EAAC,iBAAiB,EAAE,OAAO,CAAC;QAC9C,GAAG,EAAE,gCAAkB;QACvB,YAAY,EAAE,sBAAsB;QACpC,IAAI,EAAE,CAAC,SAAS,CAAC;KAClB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"terminals.js","sourceRoot":"","sources":["../../../src/v6/terminals.ts"],"names":[],"mappings":";;AAyEA,wDA2BC;AAWD,sDAgBC;AA/HD,+BAA0D;AAC1D,0DAA8E;AAE9E,yCAAuC;AA6CvC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACI,KAAK,UAAU,sBAAsB,CAC1C,MAAoB,EACpB,EACE,OAAO,EACP,SAAS,EACT,KAAK,GAKN;IAED,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QAChD,OAAO,EAAE,IAAA,oBAAS,EAAC,aAAa,EAAE,OAAO,CAAC;QAC1C,GAAG,EAAE,4BAAc;QACnB,YAAY,EAAE,mBAAmB;QACjC,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;KACzB,CAAC,CAAC;IAEH,IAAI,eAAe,KAAK,kBAAW,EAAE,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,IAAA,oBAAS,EAAC,0BAA0B,EAAE,OAAO,CAAC;YACvD,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,qBAAqB,CACzC,MAAoB,EACpB,EACE,OAAO,EACP,SAAS,GAIV;IAED,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,IAAA,oBAAS,EAAC,iBAAiB,EAAE,OAAO,CAAC;QAC9C,GAAG,EAAE,gCAAkB;QACvB,YAAY,EAAE,sBAAsB;QACpC,IAAI,EAAE,CAAC,SAAS,CAAC;KAClB,CAAC,CAAC;AACL,CAAC"}
@@ -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,3 +1,13 @@
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 const JBSuckerAbi = [
2
12
  {
3
13
  type: "function",
@@ -6,8 +16,8 @@ export const JBSuckerAbi = [
6
16
  outputs: [
7
17
  {
8
18
  name: "",
9
- type: "address",
10
- internalType: "contract IJBSucker",
19
+ type: "bytes32",
20
+ internalType: "bytes32",
11
21
  },
12
22
  ],
13
23
  stateMutability: "view",