@bananapus/nana-sdk-core 1.0.0 → 1.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 (243) hide show
  1. package/dist/cjs/v6/cashOut.d.ts +83 -0
  2. package/dist/cjs/v6/cashOut.d.ts.map +1 -0
  3. package/dist/cjs/v6/cashOut.js +68 -0
  4. package/dist/cjs/v6/cashOut.js.map +1 -0
  5. package/dist/cjs/v6/cashOut.test.d.ts +2 -0
  6. package/dist/cjs/v6/cashOut.test.d.ts.map +1 -0
  7. package/dist/cjs/v6/cashOut.test.js +100 -0
  8. package/dist/cjs/v6/cashOut.test.js.map +1 -0
  9. package/dist/cjs/v6/currency.d.ts +43 -0
  10. package/dist/cjs/v6/currency.d.ts.map +1 -0
  11. package/dist/cjs/v6/currency.js +44 -0
  12. package/dist/cjs/v6/currency.js.map +1 -0
  13. package/dist/cjs/v6/currency.test.d.ts +2 -0
  14. package/dist/cjs/v6/currency.test.d.ts.map +1 -0
  15. package/dist/cjs/v6/currency.test.js +24 -0
  16. package/dist/cjs/v6/currency.test.js.map +1 -0
  17. package/dist/cjs/v6/fees.d.ts +43 -0
  18. package/dist/cjs/v6/fees.d.ts.map +1 -0
  19. package/dist/cjs/v6/fees.js +51 -0
  20. package/dist/cjs/v6/fees.js.map +1 -0
  21. package/dist/cjs/v6/fees.test.d.ts +2 -0
  22. package/dist/cjs/v6/fees.test.d.ts.map +1 -0
  23. package/dist/cjs/v6/fees.test.js +38 -0
  24. package/dist/cjs/v6/fees.test.js.map +1 -0
  25. package/dist/cjs/v6/index.d.ts +16 -0
  26. package/dist/cjs/v6/index.d.ts.map +1 -0
  27. package/dist/cjs/v6/index.js +16 -0
  28. package/dist/cjs/v6/index.js.map +1 -0
  29. package/dist/cjs/v6/launch.d.ts +2754 -0
  30. package/dist/cjs/v6/launch.d.ts.map +1 -0
  31. package/dist/cjs/v6/launch.js +176 -0
  32. package/dist/cjs/v6/launch.js.map +1 -0
  33. package/dist/cjs/v6/launch.test.d.ts +2 -0
  34. package/dist/cjs/v6/launch.test.d.ts.map +1 -0
  35. package/dist/cjs/v6/launch.test.js +135 -0
  36. package/dist/cjs/v6/launch.test.js.map +1 -0
  37. package/dist/cjs/v6/loans.d.ts +176 -0
  38. package/dist/cjs/v6/loans.d.ts.map +1 -0
  39. package/dist/cjs/v6/loans.js +170 -0
  40. package/dist/cjs/v6/loans.js.map +1 -0
  41. package/dist/cjs/v6/loans.test.d.ts +2 -0
  42. package/dist/cjs/v6/loans.test.d.ts.map +1 -0
  43. package/dist/cjs/v6/loans.test.js +127 -0
  44. package/dist/cjs/v6/loans.test.js.map +1 -0
  45. package/dist/cjs/v6/omnichain.d.ts +10997 -0
  46. package/dist/cjs/v6/omnichain.d.ts.map +1 -0
  47. package/dist/cjs/v6/omnichain.js +116 -0
  48. package/dist/cjs/v6/omnichain.js.map +1 -0
  49. package/dist/cjs/v6/omnichain.test.d.ts +2 -0
  50. package/dist/cjs/v6/omnichain.test.d.ts.map +1 -0
  51. package/dist/cjs/v6/omnichain.test.js +143 -0
  52. package/dist/cjs/v6/omnichain.test.js.map +1 -0
  53. package/dist/cjs/v6/pay.d.ts +110 -0
  54. package/dist/cjs/v6/pay.d.ts.map +1 -0
  55. package/dist/cjs/v6/pay.js +106 -0
  56. package/dist/cjs/v6/pay.js.map +1 -0
  57. package/dist/cjs/v6/pay.test.d.ts +2 -0
  58. package/dist/cjs/v6/pay.test.d.ts.map +1 -0
  59. package/dist/cjs/v6/pay.test.js +128 -0
  60. package/dist/cjs/v6/pay.test.js.map +1 -0
  61. package/dist/cjs/v6/permissions.d.ts +128 -0
  62. package/dist/cjs/v6/permissions.d.ts.map +1 -0
  63. package/dist/cjs/v6/permissions.js +120 -0
  64. package/dist/cjs/v6/permissions.js.map +1 -0
  65. package/dist/cjs/v6/permissions.test.d.ts +2 -0
  66. package/dist/cjs/v6/permissions.test.d.ts.map +1 -0
  67. package/dist/cjs/v6/permissions.test.js +115 -0
  68. package/dist/cjs/v6/permissions.test.js.map +1 -0
  69. package/dist/cjs/v6/revnets.d.ts +4457 -0
  70. package/dist/cjs/v6/revnets.d.ts.map +1 -0
  71. package/dist/cjs/v6/revnets.js +161 -0
  72. package/dist/cjs/v6/revnets.js.map +1 -0
  73. package/dist/cjs/v6/revnets.test.d.ts +2 -0
  74. package/dist/cjs/v6/revnets.test.d.ts.map +1 -0
  75. package/dist/cjs/v6/revnets.test.js +231 -0
  76. package/dist/cjs/v6/revnets.test.js.map +1 -0
  77. package/dist/cjs/v6/rulesets.d.ts +2700 -0
  78. package/dist/cjs/v6/rulesets.d.ts.map +1 -0
  79. package/dist/cjs/v6/rulesets.js +70 -0
  80. package/dist/cjs/v6/rulesets.js.map +1 -0
  81. package/dist/cjs/v6/rulesets.test.d.ts +2 -0
  82. package/dist/cjs/v6/rulesets.test.d.ts.map +1 -0
  83. package/dist/cjs/v6/rulesets.test.js +104 -0
  84. package/dist/cjs/v6/rulesets.test.js.map +1 -0
  85. package/dist/cjs/v6/splits.d.ts +2670 -0
  86. package/dist/cjs/v6/splits.d.ts.map +1 -0
  87. package/dist/cjs/v6/splits.js +105 -0
  88. package/dist/cjs/v6/splits.js.map +1 -0
  89. package/dist/cjs/v6/splits.test.d.ts +2 -0
  90. package/dist/cjs/v6/splits.test.d.ts.map +1 -0
  91. package/dist/cjs/v6/splits.test.js +131 -0
  92. package/dist/cjs/v6/splits.test.js.map +1 -0
  93. package/dist/cjs/v6/suckers.d.ts +247 -0
  94. package/dist/cjs/v6/suckers.d.ts.map +1 -0
  95. package/dist/cjs/v6/suckers.js +156 -0
  96. package/dist/cjs/v6/suckers.js.map +1 -0
  97. package/dist/cjs/v6/suckers.test.d.ts +2 -0
  98. package/dist/cjs/v6/suckers.test.d.ts.map +1 -0
  99. package/dist/cjs/v6/suckers.test.js +132 -0
  100. package/dist/cjs/v6/suckers.test.js.map +1 -0
  101. package/dist/cjs/v6/terminals.d.ts +67 -0
  102. package/dist/cjs/v6/terminals.d.ts.map +1 -0
  103. package/dist/cjs/v6/terminals.js +50 -0
  104. package/dist/cjs/v6/terminals.js.map +1 -0
  105. package/dist/cjs/v6/terminals.test.d.ts +2 -0
  106. package/dist/cjs/v6/terminals.test.d.ts.map +1 -0
  107. package/dist/cjs/v6/terminals.test.js +57 -0
  108. package/dist/cjs/v6/terminals.test.js.map +1 -0
  109. package/dist/cjs/v6/tokens.d.ts +194 -0
  110. package/dist/cjs/v6/tokens.d.ts.map +1 -0
  111. package/dist/cjs/v6/tokens.js +161 -0
  112. package/dist/cjs/v6/tokens.js.map +1 -0
  113. package/dist/cjs/v6/tokens.test.d.ts +2 -0
  114. package/dist/cjs/v6/tokens.test.d.ts.map +1 -0
  115. package/dist/cjs/v6/tokens.test.js +139 -0
  116. package/dist/cjs/v6/tokens.test.js.map +1 -0
  117. package/dist/cjs/v6/types.d.ts +12 -0
  118. package/dist/cjs/v6/types.d.ts.map +1 -0
  119. package/dist/cjs/v6/types.js +12 -0
  120. package/dist/cjs/v6/types.js.map +1 -0
  121. package/dist/esm/v6/cashOut.d.ts +83 -0
  122. package/dist/esm/v6/cashOut.d.ts.map +1 -0
  123. package/dist/esm/v6/cashOut.js +68 -0
  124. package/dist/esm/v6/cashOut.js.map +1 -0
  125. package/dist/esm/v6/cashOut.test.d.ts +2 -0
  126. package/dist/esm/v6/cashOut.test.d.ts.map +1 -0
  127. package/dist/esm/v6/cashOut.test.js +100 -0
  128. package/dist/esm/v6/cashOut.test.js.map +1 -0
  129. package/dist/esm/v6/currency.d.ts +43 -0
  130. package/dist/esm/v6/currency.d.ts.map +1 -0
  131. package/dist/esm/v6/currency.js +44 -0
  132. package/dist/esm/v6/currency.js.map +1 -0
  133. package/dist/esm/v6/currency.test.d.ts +2 -0
  134. package/dist/esm/v6/currency.test.d.ts.map +1 -0
  135. package/dist/esm/v6/currency.test.js +24 -0
  136. package/dist/esm/v6/currency.test.js.map +1 -0
  137. package/dist/esm/v6/fees.d.ts +43 -0
  138. package/dist/esm/v6/fees.d.ts.map +1 -0
  139. package/dist/esm/v6/fees.js +51 -0
  140. package/dist/esm/v6/fees.js.map +1 -0
  141. package/dist/esm/v6/fees.test.d.ts +2 -0
  142. package/dist/esm/v6/fees.test.d.ts.map +1 -0
  143. package/dist/esm/v6/fees.test.js +38 -0
  144. package/dist/esm/v6/fees.test.js.map +1 -0
  145. package/dist/esm/v6/index.d.ts +16 -0
  146. package/dist/esm/v6/index.d.ts.map +1 -0
  147. package/dist/esm/v6/index.js +16 -0
  148. package/dist/esm/v6/index.js.map +1 -0
  149. package/dist/esm/v6/launch.d.ts +2754 -0
  150. package/dist/esm/v6/launch.d.ts.map +1 -0
  151. package/dist/esm/v6/launch.js +176 -0
  152. package/dist/esm/v6/launch.js.map +1 -0
  153. package/dist/esm/v6/launch.test.d.ts +2 -0
  154. package/dist/esm/v6/launch.test.d.ts.map +1 -0
  155. package/dist/esm/v6/launch.test.js +135 -0
  156. package/dist/esm/v6/launch.test.js.map +1 -0
  157. package/dist/esm/v6/loans.d.ts +176 -0
  158. package/dist/esm/v6/loans.d.ts.map +1 -0
  159. package/dist/esm/v6/loans.js +170 -0
  160. package/dist/esm/v6/loans.js.map +1 -0
  161. package/dist/esm/v6/loans.test.d.ts +2 -0
  162. package/dist/esm/v6/loans.test.d.ts.map +1 -0
  163. package/dist/esm/v6/loans.test.js +127 -0
  164. package/dist/esm/v6/loans.test.js.map +1 -0
  165. package/dist/esm/v6/omnichain.d.ts +10997 -0
  166. package/dist/esm/v6/omnichain.d.ts.map +1 -0
  167. package/dist/esm/v6/omnichain.js +116 -0
  168. package/dist/esm/v6/omnichain.js.map +1 -0
  169. package/dist/esm/v6/omnichain.test.d.ts +2 -0
  170. package/dist/esm/v6/omnichain.test.d.ts.map +1 -0
  171. package/dist/esm/v6/omnichain.test.js +143 -0
  172. package/dist/esm/v6/omnichain.test.js.map +1 -0
  173. package/dist/esm/v6/pay.d.ts +110 -0
  174. package/dist/esm/v6/pay.d.ts.map +1 -0
  175. package/dist/esm/v6/pay.js +106 -0
  176. package/dist/esm/v6/pay.js.map +1 -0
  177. package/dist/esm/v6/pay.test.d.ts +2 -0
  178. package/dist/esm/v6/pay.test.d.ts.map +1 -0
  179. package/dist/esm/v6/pay.test.js +128 -0
  180. package/dist/esm/v6/pay.test.js.map +1 -0
  181. package/dist/esm/v6/permissions.d.ts +128 -0
  182. package/dist/esm/v6/permissions.d.ts.map +1 -0
  183. package/dist/esm/v6/permissions.js +120 -0
  184. package/dist/esm/v6/permissions.js.map +1 -0
  185. package/dist/esm/v6/permissions.test.d.ts +2 -0
  186. package/dist/esm/v6/permissions.test.d.ts.map +1 -0
  187. package/dist/esm/v6/permissions.test.js +115 -0
  188. package/dist/esm/v6/permissions.test.js.map +1 -0
  189. package/dist/esm/v6/revnets.d.ts +4457 -0
  190. package/dist/esm/v6/revnets.d.ts.map +1 -0
  191. package/dist/esm/v6/revnets.js +161 -0
  192. package/dist/esm/v6/revnets.js.map +1 -0
  193. package/dist/esm/v6/revnets.test.d.ts +2 -0
  194. package/dist/esm/v6/revnets.test.d.ts.map +1 -0
  195. package/dist/esm/v6/revnets.test.js +231 -0
  196. package/dist/esm/v6/revnets.test.js.map +1 -0
  197. package/dist/esm/v6/rulesets.d.ts +2700 -0
  198. package/dist/esm/v6/rulesets.d.ts.map +1 -0
  199. package/dist/esm/v6/rulesets.js +70 -0
  200. package/dist/esm/v6/rulesets.js.map +1 -0
  201. package/dist/esm/v6/rulesets.test.d.ts +2 -0
  202. package/dist/esm/v6/rulesets.test.d.ts.map +1 -0
  203. package/dist/esm/v6/rulesets.test.js +104 -0
  204. package/dist/esm/v6/rulesets.test.js.map +1 -0
  205. package/dist/esm/v6/splits.d.ts +2670 -0
  206. package/dist/esm/v6/splits.d.ts.map +1 -0
  207. package/dist/esm/v6/splits.js +105 -0
  208. package/dist/esm/v6/splits.js.map +1 -0
  209. package/dist/esm/v6/splits.test.d.ts +2 -0
  210. package/dist/esm/v6/splits.test.d.ts.map +1 -0
  211. package/dist/esm/v6/splits.test.js +131 -0
  212. package/dist/esm/v6/splits.test.js.map +1 -0
  213. package/dist/esm/v6/suckers.d.ts +247 -0
  214. package/dist/esm/v6/suckers.d.ts.map +1 -0
  215. package/dist/esm/v6/suckers.js +156 -0
  216. package/dist/esm/v6/suckers.js.map +1 -0
  217. package/dist/esm/v6/suckers.test.d.ts +2 -0
  218. package/dist/esm/v6/suckers.test.d.ts.map +1 -0
  219. package/dist/esm/v6/suckers.test.js +132 -0
  220. package/dist/esm/v6/suckers.test.js.map +1 -0
  221. package/dist/esm/v6/terminals.d.ts +67 -0
  222. package/dist/esm/v6/terminals.d.ts.map +1 -0
  223. package/dist/esm/v6/terminals.js +50 -0
  224. package/dist/esm/v6/terminals.js.map +1 -0
  225. package/dist/esm/v6/terminals.test.d.ts +2 -0
  226. package/dist/esm/v6/terminals.test.d.ts.map +1 -0
  227. package/dist/esm/v6/terminals.test.js +57 -0
  228. package/dist/esm/v6/terminals.test.js.map +1 -0
  229. package/dist/esm/v6/tokens.d.ts +194 -0
  230. package/dist/esm/v6/tokens.d.ts.map +1 -0
  231. package/dist/esm/v6/tokens.js +161 -0
  232. package/dist/esm/v6/tokens.js.map +1 -0
  233. package/dist/esm/v6/tokens.test.d.ts +2 -0
  234. package/dist/esm/v6/tokens.test.d.ts.map +1 -0
  235. package/dist/esm/v6/tokens.test.js +139 -0
  236. package/dist/esm/v6/tokens.test.js.map +1 -0
  237. package/dist/esm/v6/types.d.ts +12 -0
  238. package/dist/esm/v6/types.d.ts.map +1 -0
  239. package/dist/esm/v6/types.js +12 -0
  240. package/dist/esm/v6/types.js.map +1 -0
  241. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  242. package/dist/tsconfig.tsbuildinfo +1 -1
  243. package/package.json +7 -1
@@ -0,0 +1,4457 @@
1
+ import { Address, ContractFunctionArgs, PublicClient } from "viem";
2
+ import { revDeployerAbi } from "../generated/juicebox.js";
3
+ import { JBChainId } from "../types.js";
4
+ import { JBAccountingContext } from "./terminals.js";
5
+ type RevDeployArgs = ContractFunctionArgs<typeof revDeployerAbi, "payable", "deployFor">;
6
+ type RevDeployArgs6 = Extract<RevDeployArgs, readonly [unknown, unknown, unknown, unknown, unknown, unknown]>;
7
+ type RevDeployArgs4 = Extract<RevDeployArgs, readonly [unknown, unknown, unknown, unknown]>;
8
+ /**
9
+ * A revnet's full configuration: its token description (name/ticker/uri and
10
+ * the salt that fixes the ERC-20's deterministic address), base currency
11
+ * (ETH=1 or USD=2 — a standard `JBCurrencyIds` id, never a token-keyed
12
+ * currency), operator, and stage configurations.
13
+ */
14
+ export type REVConfig = RevDeployArgs4[1];
15
+ /**
16
+ * One stage of a revnet's lifecycle. See `buildRevnetStageConfig` for the
17
+ * field encodings.
18
+ */
19
+ export type REVStageConfig = REVConfig["stageConfigurations"][number];
20
+ /**
21
+ * An auto-issuance: tokens minted without payment when a stage starts, to a
22
+ * beneficiary on a specific chain. `count` is an 18-decimal fixed point.
23
+ */
24
+ export type REVAutoIssuance = REVStageConfig["autoIssuances"][number];
25
+ /**
26
+ * Sucker deployment configuration for a revnet (same shape the omnichain
27
+ * deployer takes; build with `parseSuckerDeployerConfig(..., { version: 6 })`).
28
+ */
29
+ export type REVSuckerDeploymentConfig = RevDeployArgs4[3];
30
+ /**
31
+ * Configuration for deploying a tiered 721 hook alongside a revnet.
32
+ */
33
+ export type REVDeploy721TiersHookConfig = RevDeployArgs6[4];
34
+ /**
35
+ * A croptop allowed-post configuration: which 721 categories third parties
36
+ * may post to, and at what minimum price/supply.
37
+ */
38
+ export type REVCroptopAllowedPost = RevDeployArgs6[5][number];
39
+ /**
40
+ * Build a `REVStageConfig` (spec-exact encodings, documented per field).
41
+ *
42
+ * ENCODINGS:
43
+ * - `startsAtOrAfter`: ABSOLUTE unix timestamp (uint48), strictly increasing
44
+ * across stages. For omnichain revnets, compute every stage's start as a
45
+ * cumulative offset from ONE shared deploy-start timestamp so the stage
46
+ * list is byte-identical on every chain.
47
+ * - `splitPercent`: the share of issuance routed to splits, out of 10,000
48
+ * (e.g. 3,800 = 38%).
49
+ * - `splits[].percent`: each split's share of the SPLIT BUCKET (not of total
50
+ * issuance), out of 1e9; the group must total exactly 1e9 — use
51
+ * `fillSplitPercents`.
52
+ * - `initialIssuance`: tokens minted per unit of base currency, 18-decimal
53
+ * fixed point (uint112). The sentinel 1n means "inherit the previous
54
+ * stage's issuance with its cuts applied".
55
+ * - `issuanceCutFrequency`: seconds between issuance cuts (should be >= 1
56
+ * day; it becomes the stage's ruleset duration).
57
+ * - `issuanceCutPercent`: how much issuance drops each period, out of 1e9
58
+ * (`MAX_WEIGHT_CUT_PERCENT`; e.g. 20% = 200,000,000).
59
+ * - `cashOutTaxRate`: out of 10,000 (`MAX_CASH_OUT_TAX_RATE`). Any non-zero
60
+ * rate makes EVERY cash out incur the 2.5% protocol fee.
61
+ * - `extraMetadata`: extra metadata bits forwarded to hooks; 0 by default.
62
+ */
63
+ export declare function buildRevnetStageConfig(args: {
64
+ startsAtOrAfter: number;
65
+ initialIssuance: bigint;
66
+ autoIssuances?: readonly REVAutoIssuance[];
67
+ splitPercent?: number;
68
+ splits?: REVStageConfig["splits"];
69
+ issuanceCutFrequency?: number;
70
+ issuanceCutPercent?: number;
71
+ cashOutTaxRate?: number;
72
+ extraMetadata?: number;
73
+ }): REVStageConfig;
74
+ /**
75
+ * Build a `REVDeployer.deployFor` transaction request deploying a new revnet
76
+ * (or a 721-shop revnet when `tiered721Config` is given).
77
+ *
78
+ * The transaction is payable and must send EXACTLY the current project
79
+ * creation fee — read it with `getProjectCreationFee` on the same chain.
80
+ * For omnichain revnets, send one transaction per chain with an identical
81
+ * `config` (shared description salt, shared absolute stage starts) and a
82
+ * shared sucker salt.
83
+ *
84
+ * @param args.config The revnet configuration; see {@link REVConfig}.
85
+ * @param args.accountingContexts The tokens the revnet accepts as reserves;
86
+ * see `buildAccountingContext`.
87
+ * @param args.suckerConfig Cross-chain sucker configuration (empty
88
+ * `deployerConfigurations` for a single-chain revnet); build with
89
+ * `parseSuckerDeployerConfig(chainId, chainIds, assets, { version: 6 })`.
90
+ * @param args.revnetId The revnet to deploy for. Defaults to 0n (create a
91
+ * NEW revnet).
92
+ * @param args.tiered721Config Optional tiered 721 hook config — switches to
93
+ * the 6-arg overload.
94
+ * @param args.allowedPosts Croptop posting rules (only used with
95
+ * `tiered721Config`). Defaults to none.
96
+ */
97
+ export declare function buildDeployRevnetTx(args: {
98
+ chainId: JBChainId;
99
+ config: REVConfig;
100
+ accountingContexts: readonly JBAccountingContext[];
101
+ suckerConfig: REVSuckerDeploymentConfig;
102
+ creationFee: bigint;
103
+ revnetId?: bigint;
104
+ tiered721Config?: REVDeploy721TiersHookConfig;
105
+ allowedPosts?: readonly REVCroptopAllowedPost[];
106
+ }): {
107
+ chainId: 1 | 10 | 11155111 | 11155420 | 421614 | 84532 | 42161 | 8453;
108
+ address: `0x${string}`;
109
+ abi: readonly [{
110
+ readonly type: "constructor";
111
+ readonly inputs: readonly [{
112
+ readonly name: "controller";
113
+ readonly internalType: "contract IJBController";
114
+ readonly type: "address";
115
+ }, {
116
+ readonly name: "multiTerminal";
117
+ readonly internalType: "contract IJBTerminal";
118
+ readonly type: "address";
119
+ }, {
120
+ readonly name: "routerTerminalRegistry";
121
+ readonly internalType: "contract IJBTerminal";
122
+ readonly type: "address";
123
+ }, {
124
+ readonly name: "suckerRegistry";
125
+ readonly internalType: "contract IJBSuckerRegistry";
126
+ readonly type: "address";
127
+ }, {
128
+ readonly name: "feeRevnetId";
129
+ readonly internalType: "uint256";
130
+ readonly type: "uint256";
131
+ }, {
132
+ readonly name: "hookDeployer";
133
+ readonly internalType: "contract IJB721TiersHookDeployer";
134
+ readonly type: "address";
135
+ }, {
136
+ readonly name: "publisher";
137
+ readonly internalType: "contract CTPublisher";
138
+ readonly type: "address";
139
+ }, {
140
+ readonly name: "buybackHook";
141
+ readonly internalType: "contract IJBBuybackHookRegistry";
142
+ readonly type: "address";
143
+ }, {
144
+ readonly name: "loans";
145
+ readonly internalType: "contract IREVLoans";
146
+ readonly type: "address";
147
+ }, {
148
+ readonly name: "trustedForwarder";
149
+ readonly internalType: "address";
150
+ readonly type: "address";
151
+ }, {
152
+ readonly name: "owner";
153
+ readonly internalType: "address";
154
+ readonly type: "address";
155
+ }];
156
+ readonly stateMutability: "nonpayable";
157
+ }, {
158
+ readonly type: "function";
159
+ readonly inputs: readonly [];
160
+ readonly name: "BUYBACK_HOOK";
161
+ readonly outputs: readonly [{
162
+ readonly name: "";
163
+ readonly internalType: "contract IJBBuybackHookRegistry";
164
+ readonly type: "address";
165
+ }];
166
+ readonly stateMutability: "view";
167
+ }, {
168
+ readonly type: "function";
169
+ readonly inputs: readonly [];
170
+ readonly name: "CASH_OUT_DELAY";
171
+ readonly outputs: readonly [{
172
+ readonly name: "";
173
+ readonly internalType: "uint256";
174
+ readonly type: "uint256";
175
+ }];
176
+ readonly stateMutability: "view";
177
+ }, {
178
+ readonly type: "function";
179
+ readonly inputs: readonly [];
180
+ readonly name: "CONTROLLER";
181
+ readonly outputs: readonly [{
182
+ readonly name: "";
183
+ readonly internalType: "contract IJBController";
184
+ readonly type: "address";
185
+ }];
186
+ readonly stateMutability: "view";
187
+ }, {
188
+ readonly type: "function";
189
+ readonly inputs: readonly [];
190
+ readonly name: "DEFAULT_BUYBACK_POOL_FEE";
191
+ readonly outputs: readonly [{
192
+ readonly name: "";
193
+ readonly internalType: "uint24";
194
+ readonly type: "uint24";
195
+ }];
196
+ readonly stateMutability: "view";
197
+ }, {
198
+ readonly type: "function";
199
+ readonly inputs: readonly [];
200
+ readonly name: "DEFAULT_BUYBACK_TICK_SPACING";
201
+ readonly outputs: readonly [{
202
+ readonly name: "";
203
+ readonly internalType: "int24";
204
+ readonly type: "int24";
205
+ }];
206
+ readonly stateMutability: "view";
207
+ }, {
208
+ readonly type: "function";
209
+ readonly inputs: readonly [];
210
+ readonly name: "DEFAULT_BUYBACK_TWAP_WINDOW";
211
+ readonly outputs: readonly [{
212
+ readonly name: "";
213
+ readonly internalType: "uint32";
214
+ readonly type: "uint32";
215
+ }];
216
+ readonly stateMutability: "view";
217
+ }, {
218
+ readonly type: "function";
219
+ readonly inputs: readonly [];
220
+ readonly name: "DIRECTORY";
221
+ readonly outputs: readonly [{
222
+ readonly name: "";
223
+ readonly internalType: "contract IJBDirectory";
224
+ readonly type: "address";
225
+ }];
226
+ readonly stateMutability: "view";
227
+ }, {
228
+ readonly type: "function";
229
+ readonly inputs: readonly [];
230
+ readonly name: "FEE_REVNET_ID";
231
+ readonly outputs: readonly [{
232
+ readonly name: "";
233
+ readonly internalType: "uint256";
234
+ readonly type: "uint256";
235
+ }];
236
+ readonly stateMutability: "view";
237
+ }, {
238
+ readonly type: "function";
239
+ readonly inputs: readonly [];
240
+ readonly name: "HOOK_DEPLOYER";
241
+ readonly outputs: readonly [{
242
+ readonly name: "";
243
+ readonly internalType: "contract IJB721TiersHookDeployer";
244
+ readonly type: "address";
245
+ }];
246
+ readonly stateMutability: "view";
247
+ }, {
248
+ readonly type: "function";
249
+ readonly inputs: readonly [];
250
+ readonly name: "LOANS";
251
+ readonly outputs: readonly [{
252
+ readonly name: "";
253
+ readonly internalType: "contract IREVLoans";
254
+ readonly type: "address";
255
+ }];
256
+ readonly stateMutability: "view";
257
+ }, {
258
+ readonly type: "function";
259
+ readonly inputs: readonly [];
260
+ readonly name: "MULTI_TERMINAL";
261
+ readonly outputs: readonly [{
262
+ readonly name: "";
263
+ readonly internalType: "contract IJBTerminal";
264
+ readonly type: "address";
265
+ }];
266
+ readonly stateMutability: "view";
267
+ }, {
268
+ readonly type: "function";
269
+ readonly inputs: readonly [];
270
+ readonly name: "OWNER";
271
+ readonly outputs: readonly [{
272
+ readonly name: "";
273
+ readonly internalType: "address";
274
+ readonly type: "address";
275
+ }];
276
+ readonly stateMutability: "view";
277
+ }, {
278
+ readonly type: "function";
279
+ readonly inputs: readonly [];
280
+ readonly name: "PERMISSIONS";
281
+ readonly outputs: readonly [{
282
+ readonly name: "";
283
+ readonly internalType: "contract IJBPermissions";
284
+ readonly type: "address";
285
+ }];
286
+ readonly stateMutability: "view";
287
+ }, {
288
+ readonly type: "function";
289
+ readonly inputs: readonly [];
290
+ readonly name: "PROJECTS";
291
+ readonly outputs: readonly [{
292
+ readonly name: "";
293
+ readonly internalType: "contract IJBProjects";
294
+ readonly type: "address";
295
+ }];
296
+ readonly stateMutability: "view";
297
+ }, {
298
+ readonly type: "function";
299
+ readonly inputs: readonly [];
300
+ readonly name: "PUBLISHER";
301
+ readonly outputs: readonly [{
302
+ readonly name: "";
303
+ readonly internalType: "contract CTPublisher";
304
+ readonly type: "address";
305
+ }];
306
+ readonly stateMutability: "view";
307
+ }, {
308
+ readonly type: "function";
309
+ readonly inputs: readonly [];
310
+ readonly name: "ROUTER_TERMINAL_REGISTRY";
311
+ readonly outputs: readonly [{
312
+ readonly name: "";
313
+ readonly internalType: "contract IJBTerminal";
314
+ readonly type: "address";
315
+ }];
316
+ readonly stateMutability: "view";
317
+ }, {
318
+ readonly type: "function";
319
+ readonly inputs: readonly [];
320
+ readonly name: "SUCKER_REGISTRY";
321
+ readonly outputs: readonly [{
322
+ readonly name: "";
323
+ readonly internalType: "contract IJBSuckerRegistry";
324
+ readonly type: "address";
325
+ }];
326
+ readonly stateMutability: "view";
327
+ }, {
328
+ readonly type: "function";
329
+ readonly inputs: readonly [{
330
+ readonly name: "revnetId";
331
+ readonly internalType: "uint256";
332
+ readonly type: "uint256";
333
+ }, {
334
+ readonly name: "configuration";
335
+ readonly internalType: "struct REVConfig";
336
+ readonly type: "tuple";
337
+ readonly components: readonly [{
338
+ readonly name: "description";
339
+ readonly internalType: "struct REVDescription";
340
+ readonly type: "tuple";
341
+ readonly components: readonly [{
342
+ readonly name: "name";
343
+ readonly internalType: "string";
344
+ readonly type: "string";
345
+ }, {
346
+ readonly name: "ticker";
347
+ readonly internalType: "string";
348
+ readonly type: "string";
349
+ }, {
350
+ readonly name: "uri";
351
+ readonly internalType: "string";
352
+ readonly type: "string";
353
+ }, {
354
+ readonly name: "salt";
355
+ readonly internalType: "bytes32";
356
+ readonly type: "bytes32";
357
+ }];
358
+ }, {
359
+ readonly name: "baseCurrency";
360
+ readonly internalType: "uint32";
361
+ readonly type: "uint32";
362
+ }, {
363
+ readonly name: "operator";
364
+ readonly internalType: "address";
365
+ readonly type: "address";
366
+ }, {
367
+ readonly name: "scopeCashOutsToLocalBalances";
368
+ readonly internalType: "bool";
369
+ readonly type: "bool";
370
+ }, {
371
+ readonly name: "stageConfigurations";
372
+ readonly internalType: "struct REVStageConfig[]";
373
+ readonly type: "tuple[]";
374
+ readonly components: readonly [{
375
+ readonly name: "startsAtOrAfter";
376
+ readonly internalType: "uint48";
377
+ readonly type: "uint48";
378
+ }, {
379
+ readonly name: "autoIssuances";
380
+ readonly internalType: "struct REVAutoIssuance[]";
381
+ readonly type: "tuple[]";
382
+ readonly components: readonly [{
383
+ readonly name: "chainId";
384
+ readonly internalType: "uint32";
385
+ readonly type: "uint32";
386
+ }, {
387
+ readonly name: "count";
388
+ readonly internalType: "uint104";
389
+ readonly type: "uint104";
390
+ }, {
391
+ readonly name: "beneficiary";
392
+ readonly internalType: "address";
393
+ readonly type: "address";
394
+ }];
395
+ }, {
396
+ readonly name: "splitPercent";
397
+ readonly internalType: "uint16";
398
+ readonly type: "uint16";
399
+ }, {
400
+ readonly name: "splits";
401
+ readonly internalType: "struct JBSplit[]";
402
+ readonly type: "tuple[]";
403
+ readonly components: readonly [{
404
+ readonly name: "percent";
405
+ readonly internalType: "uint32";
406
+ readonly type: "uint32";
407
+ }, {
408
+ readonly name: "projectId";
409
+ readonly internalType: "uint64";
410
+ readonly type: "uint64";
411
+ }, {
412
+ readonly name: "beneficiary";
413
+ readonly internalType: "address payable";
414
+ readonly type: "address";
415
+ }, {
416
+ readonly name: "preferAddToBalance";
417
+ readonly internalType: "bool";
418
+ readonly type: "bool";
419
+ }, {
420
+ readonly name: "lockedUntil";
421
+ readonly internalType: "uint48";
422
+ readonly type: "uint48";
423
+ }, {
424
+ readonly name: "hook";
425
+ readonly internalType: "contract IJBSplitHook";
426
+ readonly type: "address";
427
+ }];
428
+ }, {
429
+ readonly name: "initialIssuance";
430
+ readonly internalType: "uint112";
431
+ readonly type: "uint112";
432
+ }, {
433
+ readonly name: "issuanceCutFrequency";
434
+ readonly internalType: "uint32";
435
+ readonly type: "uint32";
436
+ }, {
437
+ readonly name: "issuanceCutPercent";
438
+ readonly internalType: "uint32";
439
+ readonly type: "uint32";
440
+ }, {
441
+ readonly name: "cashOutTaxRate";
442
+ readonly internalType: "uint16";
443
+ readonly type: "uint16";
444
+ }, {
445
+ readonly name: "extraMetadata";
446
+ readonly internalType: "uint16";
447
+ readonly type: "uint16";
448
+ }];
449
+ }];
450
+ }, {
451
+ readonly name: "accountingContextsToAccept";
452
+ readonly internalType: "struct JBAccountingContext[]";
453
+ readonly type: "tuple[]";
454
+ readonly components: readonly [{
455
+ readonly name: "token";
456
+ readonly internalType: "address";
457
+ readonly type: "address";
458
+ }, {
459
+ readonly name: "decimals";
460
+ readonly internalType: "uint8";
461
+ readonly type: "uint8";
462
+ }, {
463
+ readonly name: "currency";
464
+ readonly internalType: "uint32";
465
+ readonly type: "uint32";
466
+ }];
467
+ }, {
468
+ readonly name: "suckerDeploymentConfiguration";
469
+ readonly internalType: "struct REVSuckerDeploymentConfig";
470
+ readonly type: "tuple";
471
+ readonly components: readonly [{
472
+ readonly name: "deployerConfigurations";
473
+ readonly internalType: "struct JBSuckerDeployerConfig[]";
474
+ readonly type: "tuple[]";
475
+ readonly components: readonly [{
476
+ readonly name: "deployer";
477
+ readonly internalType: "contract IJBSuckerDeployer";
478
+ readonly type: "address";
479
+ }, {
480
+ readonly name: "peer";
481
+ readonly internalType: "bytes32";
482
+ readonly type: "bytes32";
483
+ }, {
484
+ readonly name: "mappings";
485
+ readonly internalType: "struct JBTokenMapping[]";
486
+ readonly type: "tuple[]";
487
+ readonly components: readonly [{
488
+ readonly name: "localToken";
489
+ readonly internalType: "address";
490
+ readonly type: "address";
491
+ }, {
492
+ readonly name: "minGas";
493
+ readonly internalType: "uint32";
494
+ readonly type: "uint32";
495
+ }, {
496
+ readonly name: "remoteToken";
497
+ readonly internalType: "bytes32";
498
+ readonly type: "bytes32";
499
+ }];
500
+ }];
501
+ }, {
502
+ readonly name: "salt";
503
+ readonly internalType: "bytes32";
504
+ readonly type: "bytes32";
505
+ }];
506
+ }];
507
+ readonly name: "deployFor";
508
+ readonly outputs: readonly [{
509
+ readonly name: "";
510
+ readonly internalType: "uint256";
511
+ readonly type: "uint256";
512
+ }, {
513
+ readonly name: "hook";
514
+ readonly internalType: "contract IJB721TiersHook";
515
+ readonly type: "address";
516
+ }];
517
+ readonly stateMutability: "payable";
518
+ }, {
519
+ readonly type: "function";
520
+ readonly inputs: readonly [{
521
+ readonly name: "revnetId";
522
+ readonly internalType: "uint256";
523
+ readonly type: "uint256";
524
+ }, {
525
+ readonly name: "configuration";
526
+ readonly internalType: "struct REVConfig";
527
+ readonly type: "tuple";
528
+ readonly components: readonly [{
529
+ readonly name: "description";
530
+ readonly internalType: "struct REVDescription";
531
+ readonly type: "tuple";
532
+ readonly components: readonly [{
533
+ readonly name: "name";
534
+ readonly internalType: "string";
535
+ readonly type: "string";
536
+ }, {
537
+ readonly name: "ticker";
538
+ readonly internalType: "string";
539
+ readonly type: "string";
540
+ }, {
541
+ readonly name: "uri";
542
+ readonly internalType: "string";
543
+ readonly type: "string";
544
+ }, {
545
+ readonly name: "salt";
546
+ readonly internalType: "bytes32";
547
+ readonly type: "bytes32";
548
+ }];
549
+ }, {
550
+ readonly name: "baseCurrency";
551
+ readonly internalType: "uint32";
552
+ readonly type: "uint32";
553
+ }, {
554
+ readonly name: "operator";
555
+ readonly internalType: "address";
556
+ readonly type: "address";
557
+ }, {
558
+ readonly name: "scopeCashOutsToLocalBalances";
559
+ readonly internalType: "bool";
560
+ readonly type: "bool";
561
+ }, {
562
+ readonly name: "stageConfigurations";
563
+ readonly internalType: "struct REVStageConfig[]";
564
+ readonly type: "tuple[]";
565
+ readonly components: readonly [{
566
+ readonly name: "startsAtOrAfter";
567
+ readonly internalType: "uint48";
568
+ readonly type: "uint48";
569
+ }, {
570
+ readonly name: "autoIssuances";
571
+ readonly internalType: "struct REVAutoIssuance[]";
572
+ readonly type: "tuple[]";
573
+ readonly components: readonly [{
574
+ readonly name: "chainId";
575
+ readonly internalType: "uint32";
576
+ readonly type: "uint32";
577
+ }, {
578
+ readonly name: "count";
579
+ readonly internalType: "uint104";
580
+ readonly type: "uint104";
581
+ }, {
582
+ readonly name: "beneficiary";
583
+ readonly internalType: "address";
584
+ readonly type: "address";
585
+ }];
586
+ }, {
587
+ readonly name: "splitPercent";
588
+ readonly internalType: "uint16";
589
+ readonly type: "uint16";
590
+ }, {
591
+ readonly name: "splits";
592
+ readonly internalType: "struct JBSplit[]";
593
+ readonly type: "tuple[]";
594
+ readonly components: readonly [{
595
+ readonly name: "percent";
596
+ readonly internalType: "uint32";
597
+ readonly type: "uint32";
598
+ }, {
599
+ readonly name: "projectId";
600
+ readonly internalType: "uint64";
601
+ readonly type: "uint64";
602
+ }, {
603
+ readonly name: "beneficiary";
604
+ readonly internalType: "address payable";
605
+ readonly type: "address";
606
+ }, {
607
+ readonly name: "preferAddToBalance";
608
+ readonly internalType: "bool";
609
+ readonly type: "bool";
610
+ }, {
611
+ readonly name: "lockedUntil";
612
+ readonly internalType: "uint48";
613
+ readonly type: "uint48";
614
+ }, {
615
+ readonly name: "hook";
616
+ readonly internalType: "contract IJBSplitHook";
617
+ readonly type: "address";
618
+ }];
619
+ }, {
620
+ readonly name: "initialIssuance";
621
+ readonly internalType: "uint112";
622
+ readonly type: "uint112";
623
+ }, {
624
+ readonly name: "issuanceCutFrequency";
625
+ readonly internalType: "uint32";
626
+ readonly type: "uint32";
627
+ }, {
628
+ readonly name: "issuanceCutPercent";
629
+ readonly internalType: "uint32";
630
+ readonly type: "uint32";
631
+ }, {
632
+ readonly name: "cashOutTaxRate";
633
+ readonly internalType: "uint16";
634
+ readonly type: "uint16";
635
+ }, {
636
+ readonly name: "extraMetadata";
637
+ readonly internalType: "uint16";
638
+ readonly type: "uint16";
639
+ }];
640
+ }];
641
+ }, {
642
+ readonly name: "accountingContextsToAccept";
643
+ readonly internalType: "struct JBAccountingContext[]";
644
+ readonly type: "tuple[]";
645
+ readonly components: readonly [{
646
+ readonly name: "token";
647
+ readonly internalType: "address";
648
+ readonly type: "address";
649
+ }, {
650
+ readonly name: "decimals";
651
+ readonly internalType: "uint8";
652
+ readonly type: "uint8";
653
+ }, {
654
+ readonly name: "currency";
655
+ readonly internalType: "uint32";
656
+ readonly type: "uint32";
657
+ }];
658
+ }, {
659
+ readonly name: "suckerDeploymentConfiguration";
660
+ readonly internalType: "struct REVSuckerDeploymentConfig";
661
+ readonly type: "tuple";
662
+ readonly components: readonly [{
663
+ readonly name: "deployerConfigurations";
664
+ readonly internalType: "struct JBSuckerDeployerConfig[]";
665
+ readonly type: "tuple[]";
666
+ readonly components: readonly [{
667
+ readonly name: "deployer";
668
+ readonly internalType: "contract IJBSuckerDeployer";
669
+ readonly type: "address";
670
+ }, {
671
+ readonly name: "peer";
672
+ readonly internalType: "bytes32";
673
+ readonly type: "bytes32";
674
+ }, {
675
+ readonly name: "mappings";
676
+ readonly internalType: "struct JBTokenMapping[]";
677
+ readonly type: "tuple[]";
678
+ readonly components: readonly [{
679
+ readonly name: "localToken";
680
+ readonly internalType: "address";
681
+ readonly type: "address";
682
+ }, {
683
+ readonly name: "minGas";
684
+ readonly internalType: "uint32";
685
+ readonly type: "uint32";
686
+ }, {
687
+ readonly name: "remoteToken";
688
+ readonly internalType: "bytes32";
689
+ readonly type: "bytes32";
690
+ }];
691
+ }];
692
+ }, {
693
+ readonly name: "salt";
694
+ readonly internalType: "bytes32";
695
+ readonly type: "bytes32";
696
+ }];
697
+ }, {
698
+ readonly name: "tiered721HookConfiguration";
699
+ readonly internalType: "struct REVDeploy721TiersHookConfig";
700
+ readonly type: "tuple";
701
+ readonly components: readonly [{
702
+ readonly name: "baseline721HookConfiguration";
703
+ readonly internalType: "struct REVBaseline721HookConfig";
704
+ readonly type: "tuple";
705
+ readonly components: readonly [{
706
+ readonly name: "name";
707
+ readonly internalType: "string";
708
+ readonly type: "string";
709
+ }, {
710
+ readonly name: "symbol";
711
+ readonly internalType: "string";
712
+ readonly type: "string";
713
+ }, {
714
+ readonly name: "baseUri";
715
+ readonly internalType: "string";
716
+ readonly type: "string";
717
+ }, {
718
+ readonly name: "tokenUriResolver";
719
+ readonly internalType: "contract IJB721TokenUriResolver";
720
+ readonly type: "address";
721
+ }, {
722
+ readonly name: "contractUri";
723
+ readonly internalType: "string";
724
+ readonly type: "string";
725
+ }, {
726
+ readonly name: "tiersConfig";
727
+ readonly internalType: "struct JB721InitTiersConfig";
728
+ readonly type: "tuple";
729
+ readonly components: readonly [{
730
+ readonly name: "tiers";
731
+ readonly internalType: "struct JB721TierConfig[]";
732
+ readonly type: "tuple[]";
733
+ readonly components: readonly [{
734
+ readonly name: "price";
735
+ readonly internalType: "uint104";
736
+ readonly type: "uint104";
737
+ }, {
738
+ readonly name: "initialSupply";
739
+ readonly internalType: "uint32";
740
+ readonly type: "uint32";
741
+ }, {
742
+ readonly name: "votingUnits";
743
+ readonly internalType: "uint32";
744
+ readonly type: "uint32";
745
+ }, {
746
+ readonly name: "reserveFrequency";
747
+ readonly internalType: "uint16";
748
+ readonly type: "uint16";
749
+ }, {
750
+ readonly name: "reserveBeneficiary";
751
+ readonly internalType: "address";
752
+ readonly type: "address";
753
+ }, {
754
+ readonly name: "encodedIpfsUri";
755
+ readonly internalType: "bytes32";
756
+ readonly type: "bytes32";
757
+ }, {
758
+ readonly name: "category";
759
+ readonly internalType: "uint24";
760
+ readonly type: "uint24";
761
+ }, {
762
+ readonly name: "discountPercent";
763
+ readonly internalType: "uint8";
764
+ readonly type: "uint8";
765
+ }, {
766
+ readonly name: "flags";
767
+ readonly internalType: "struct JB721TierConfigFlags";
768
+ readonly type: "tuple";
769
+ readonly components: readonly [{
770
+ readonly name: "allowOwnerMint";
771
+ readonly internalType: "bool";
772
+ readonly type: "bool";
773
+ }, {
774
+ readonly name: "useReserveBeneficiaryAsDefault";
775
+ readonly internalType: "bool";
776
+ readonly type: "bool";
777
+ }, {
778
+ readonly name: "transfersPausable";
779
+ readonly internalType: "bool";
780
+ readonly type: "bool";
781
+ }, {
782
+ readonly name: "useVotingUnits";
783
+ readonly internalType: "bool";
784
+ readonly type: "bool";
785
+ }, {
786
+ readonly name: "cantBeRemoved";
787
+ readonly internalType: "bool";
788
+ readonly type: "bool";
789
+ }, {
790
+ readonly name: "cantIncreaseDiscountPercent";
791
+ readonly internalType: "bool";
792
+ readonly type: "bool";
793
+ }, {
794
+ readonly name: "cantBuyWithCredits";
795
+ readonly internalType: "bool";
796
+ readonly type: "bool";
797
+ }];
798
+ }, {
799
+ readonly name: "splitPercent";
800
+ readonly internalType: "uint32";
801
+ readonly type: "uint32";
802
+ }, {
803
+ readonly name: "splits";
804
+ readonly internalType: "struct JBSplit[]";
805
+ readonly type: "tuple[]";
806
+ readonly components: readonly [{
807
+ readonly name: "percent";
808
+ readonly internalType: "uint32";
809
+ readonly type: "uint32";
810
+ }, {
811
+ readonly name: "projectId";
812
+ readonly internalType: "uint64";
813
+ readonly type: "uint64";
814
+ }, {
815
+ readonly name: "beneficiary";
816
+ readonly internalType: "address payable";
817
+ readonly type: "address";
818
+ }, {
819
+ readonly name: "preferAddToBalance";
820
+ readonly internalType: "bool";
821
+ readonly type: "bool";
822
+ }, {
823
+ readonly name: "lockedUntil";
824
+ readonly internalType: "uint48";
825
+ readonly type: "uint48";
826
+ }, {
827
+ readonly name: "hook";
828
+ readonly internalType: "contract IJBSplitHook";
829
+ readonly type: "address";
830
+ }];
831
+ }];
832
+ }, {
833
+ readonly name: "currency";
834
+ readonly internalType: "uint32";
835
+ readonly type: "uint32";
836
+ }, {
837
+ readonly name: "decimals";
838
+ readonly internalType: "uint8";
839
+ readonly type: "uint8";
840
+ }];
841
+ }, {
842
+ readonly name: "flags";
843
+ readonly internalType: "struct REV721TiersHookFlags";
844
+ readonly type: "tuple";
845
+ readonly components: readonly [{
846
+ readonly name: "noNewTiersWithReserves";
847
+ readonly internalType: "bool";
848
+ readonly type: "bool";
849
+ }, {
850
+ readonly name: "noNewTiersWithVotes";
851
+ readonly internalType: "bool";
852
+ readonly type: "bool";
853
+ }, {
854
+ readonly name: "noNewTiersWithOwnerMinting";
855
+ readonly internalType: "bool";
856
+ readonly type: "bool";
857
+ }, {
858
+ readonly name: "preventOverspending";
859
+ readonly internalType: "bool";
860
+ readonly type: "bool";
861
+ }];
862
+ }];
863
+ }, {
864
+ readonly name: "salt";
865
+ readonly internalType: "bytes32";
866
+ readonly type: "bytes32";
867
+ }, {
868
+ readonly name: "preventOperatorAdjustingTiers";
869
+ readonly internalType: "bool";
870
+ readonly type: "bool";
871
+ }, {
872
+ readonly name: "preventOperatorUpdatingMetadata";
873
+ readonly internalType: "bool";
874
+ readonly type: "bool";
875
+ }, {
876
+ readonly name: "preventOperatorMinting";
877
+ readonly internalType: "bool";
878
+ readonly type: "bool";
879
+ }, {
880
+ readonly name: "preventOperatorIncreasingDiscountPercent";
881
+ readonly internalType: "bool";
882
+ readonly type: "bool";
883
+ }];
884
+ }, {
885
+ readonly name: "allowedPosts";
886
+ readonly internalType: "struct REVCroptopAllowedPost[]";
887
+ readonly type: "tuple[]";
888
+ readonly components: readonly [{
889
+ readonly name: "category";
890
+ readonly internalType: "uint24";
891
+ readonly type: "uint24";
892
+ }, {
893
+ readonly name: "minimumPrice";
894
+ readonly internalType: "uint104";
895
+ readonly type: "uint104";
896
+ }, {
897
+ readonly name: "minimumTotalSupply";
898
+ readonly internalType: "uint32";
899
+ readonly type: "uint32";
900
+ }, {
901
+ readonly name: "maximumTotalSupply";
902
+ readonly internalType: "uint32";
903
+ readonly type: "uint32";
904
+ }, {
905
+ readonly name: "maximumSplitPercent";
906
+ readonly internalType: "uint32";
907
+ readonly type: "uint32";
908
+ }, {
909
+ readonly name: "allowedAddresses";
910
+ readonly internalType: "address[]";
911
+ readonly type: "address[]";
912
+ }];
913
+ }];
914
+ readonly name: "deployFor";
915
+ readonly outputs: readonly [{
916
+ readonly name: "";
917
+ readonly internalType: "uint256";
918
+ readonly type: "uint256";
919
+ }, {
920
+ readonly name: "hook";
921
+ readonly internalType: "contract IJB721TiersHook";
922
+ readonly type: "address";
923
+ }];
924
+ readonly stateMutability: "payable";
925
+ }, {
926
+ readonly type: "function";
927
+ readonly inputs: readonly [{
928
+ readonly name: "revnetId";
929
+ readonly internalType: "uint256";
930
+ readonly type: "uint256";
931
+ }, {
932
+ readonly name: "suckerDeploymentConfiguration";
933
+ readonly internalType: "struct REVSuckerDeploymentConfig";
934
+ readonly type: "tuple";
935
+ readonly components: readonly [{
936
+ readonly name: "deployerConfigurations";
937
+ readonly internalType: "struct JBSuckerDeployerConfig[]";
938
+ readonly type: "tuple[]";
939
+ readonly components: readonly [{
940
+ readonly name: "deployer";
941
+ readonly internalType: "contract IJBSuckerDeployer";
942
+ readonly type: "address";
943
+ }, {
944
+ readonly name: "peer";
945
+ readonly internalType: "bytes32";
946
+ readonly type: "bytes32";
947
+ }, {
948
+ readonly name: "mappings";
949
+ readonly internalType: "struct JBTokenMapping[]";
950
+ readonly type: "tuple[]";
951
+ readonly components: readonly [{
952
+ readonly name: "localToken";
953
+ readonly internalType: "address";
954
+ readonly type: "address";
955
+ }, {
956
+ readonly name: "minGas";
957
+ readonly internalType: "uint32";
958
+ readonly type: "uint32";
959
+ }, {
960
+ readonly name: "remoteToken";
961
+ readonly internalType: "bytes32";
962
+ readonly type: "bytes32";
963
+ }];
964
+ }];
965
+ }, {
966
+ readonly name: "salt";
967
+ readonly internalType: "bytes32";
968
+ readonly type: "bytes32";
969
+ }];
970
+ }];
971
+ readonly name: "deploySuckersFor";
972
+ readonly outputs: readonly [{
973
+ readonly name: "suckers";
974
+ readonly internalType: "address[]";
975
+ readonly type: "address[]";
976
+ }];
977
+ readonly stateMutability: "nonpayable";
978
+ }, {
979
+ readonly type: "function";
980
+ readonly inputs: readonly [{
981
+ readonly name: "revnetId";
982
+ readonly internalType: "uint256";
983
+ readonly type: "uint256";
984
+ }];
985
+ readonly name: "hashedEncodedConfigurationOf";
986
+ readonly outputs: readonly [{
987
+ readonly name: "hashedEncodedConfiguration";
988
+ readonly internalType: "bytes32";
989
+ readonly type: "bytes32";
990
+ }];
991
+ readonly stateMutability: "view";
992
+ }, {
993
+ readonly type: "function";
994
+ readonly inputs: readonly [{
995
+ readonly name: "forwarder";
996
+ readonly internalType: "address";
997
+ readonly type: "address";
998
+ }];
999
+ readonly name: "isTrustedForwarder";
1000
+ readonly outputs: readonly [{
1001
+ readonly name: "";
1002
+ readonly internalType: "bool";
1003
+ readonly type: "bool";
1004
+ }];
1005
+ readonly stateMutability: "view";
1006
+ }, {
1007
+ readonly type: "function";
1008
+ readonly inputs: readonly [{
1009
+ readonly name: "";
1010
+ readonly internalType: "address";
1011
+ readonly type: "address";
1012
+ }, {
1013
+ readonly name: "";
1014
+ readonly internalType: "address";
1015
+ readonly type: "address";
1016
+ }, {
1017
+ readonly name: "";
1018
+ readonly internalType: "uint256";
1019
+ readonly type: "uint256";
1020
+ }, {
1021
+ readonly name: "";
1022
+ readonly internalType: "bytes";
1023
+ readonly type: "bytes";
1024
+ }];
1025
+ readonly name: "onERC721Received";
1026
+ readonly outputs: readonly [{
1027
+ readonly name: "";
1028
+ readonly internalType: "bytes4";
1029
+ readonly type: "bytes4";
1030
+ }];
1031
+ readonly stateMutability: "view";
1032
+ }, {
1033
+ readonly type: "function";
1034
+ readonly inputs: readonly [];
1035
+ readonly name: "originalPayer";
1036
+ readonly outputs: readonly [{
1037
+ readonly name: "";
1038
+ readonly internalType: "address";
1039
+ readonly type: "address";
1040
+ }];
1041
+ readonly stateMutability: "view";
1042
+ }, {
1043
+ readonly type: "function";
1044
+ readonly inputs: readonly [{
1045
+ readonly name: "interfaceId";
1046
+ readonly internalType: "bytes4";
1047
+ readonly type: "bytes4";
1048
+ }];
1049
+ readonly name: "supportsInterface";
1050
+ readonly outputs: readonly [{
1051
+ readonly name: "";
1052
+ readonly internalType: "bool";
1053
+ readonly type: "bool";
1054
+ }];
1055
+ readonly stateMutability: "view";
1056
+ }, {
1057
+ readonly type: "function";
1058
+ readonly inputs: readonly [];
1059
+ readonly name: "trustedForwarder";
1060
+ readonly outputs: readonly [{
1061
+ readonly name: "";
1062
+ readonly internalType: "address";
1063
+ readonly type: "address";
1064
+ }];
1065
+ readonly stateMutability: "view";
1066
+ }, {
1067
+ readonly type: "event";
1068
+ readonly anonymous: false;
1069
+ readonly inputs: readonly [{
1070
+ readonly name: "revnetId";
1071
+ readonly internalType: "uint256";
1072
+ readonly type: "uint256";
1073
+ readonly indexed: true;
1074
+ }, {
1075
+ readonly name: "configuration";
1076
+ readonly internalType: "struct REVConfig";
1077
+ readonly type: "tuple";
1078
+ readonly components: readonly [{
1079
+ readonly name: "description";
1080
+ readonly internalType: "struct REVDescription";
1081
+ readonly type: "tuple";
1082
+ readonly components: readonly [{
1083
+ readonly name: "name";
1084
+ readonly internalType: "string";
1085
+ readonly type: "string";
1086
+ }, {
1087
+ readonly name: "ticker";
1088
+ readonly internalType: "string";
1089
+ readonly type: "string";
1090
+ }, {
1091
+ readonly name: "uri";
1092
+ readonly internalType: "string";
1093
+ readonly type: "string";
1094
+ }, {
1095
+ readonly name: "salt";
1096
+ readonly internalType: "bytes32";
1097
+ readonly type: "bytes32";
1098
+ }];
1099
+ }, {
1100
+ readonly name: "baseCurrency";
1101
+ readonly internalType: "uint32";
1102
+ readonly type: "uint32";
1103
+ }, {
1104
+ readonly name: "operator";
1105
+ readonly internalType: "address";
1106
+ readonly type: "address";
1107
+ }, {
1108
+ readonly name: "scopeCashOutsToLocalBalances";
1109
+ readonly internalType: "bool";
1110
+ readonly type: "bool";
1111
+ }, {
1112
+ readonly name: "stageConfigurations";
1113
+ readonly internalType: "struct REVStageConfig[]";
1114
+ readonly type: "tuple[]";
1115
+ readonly components: readonly [{
1116
+ readonly name: "startsAtOrAfter";
1117
+ readonly internalType: "uint48";
1118
+ readonly type: "uint48";
1119
+ }, {
1120
+ readonly name: "autoIssuances";
1121
+ readonly internalType: "struct REVAutoIssuance[]";
1122
+ readonly type: "tuple[]";
1123
+ readonly components: readonly [{
1124
+ readonly name: "chainId";
1125
+ readonly internalType: "uint32";
1126
+ readonly type: "uint32";
1127
+ }, {
1128
+ readonly name: "count";
1129
+ readonly internalType: "uint104";
1130
+ readonly type: "uint104";
1131
+ }, {
1132
+ readonly name: "beneficiary";
1133
+ readonly internalType: "address";
1134
+ readonly type: "address";
1135
+ }];
1136
+ }, {
1137
+ readonly name: "splitPercent";
1138
+ readonly internalType: "uint16";
1139
+ readonly type: "uint16";
1140
+ }, {
1141
+ readonly name: "splits";
1142
+ readonly internalType: "struct JBSplit[]";
1143
+ readonly type: "tuple[]";
1144
+ readonly components: readonly [{
1145
+ readonly name: "percent";
1146
+ readonly internalType: "uint32";
1147
+ readonly type: "uint32";
1148
+ }, {
1149
+ readonly name: "projectId";
1150
+ readonly internalType: "uint64";
1151
+ readonly type: "uint64";
1152
+ }, {
1153
+ readonly name: "beneficiary";
1154
+ readonly internalType: "address payable";
1155
+ readonly type: "address";
1156
+ }, {
1157
+ readonly name: "preferAddToBalance";
1158
+ readonly internalType: "bool";
1159
+ readonly type: "bool";
1160
+ }, {
1161
+ readonly name: "lockedUntil";
1162
+ readonly internalType: "uint48";
1163
+ readonly type: "uint48";
1164
+ }, {
1165
+ readonly name: "hook";
1166
+ readonly internalType: "contract IJBSplitHook";
1167
+ readonly type: "address";
1168
+ }];
1169
+ }, {
1170
+ readonly name: "initialIssuance";
1171
+ readonly internalType: "uint112";
1172
+ readonly type: "uint112";
1173
+ }, {
1174
+ readonly name: "issuanceCutFrequency";
1175
+ readonly internalType: "uint32";
1176
+ readonly type: "uint32";
1177
+ }, {
1178
+ readonly name: "issuanceCutPercent";
1179
+ readonly internalType: "uint32";
1180
+ readonly type: "uint32";
1181
+ }, {
1182
+ readonly name: "cashOutTaxRate";
1183
+ readonly internalType: "uint16";
1184
+ readonly type: "uint16";
1185
+ }, {
1186
+ readonly name: "extraMetadata";
1187
+ readonly internalType: "uint16";
1188
+ readonly type: "uint16";
1189
+ }];
1190
+ }];
1191
+ readonly indexed: false;
1192
+ }, {
1193
+ readonly name: "terminalConfigurations";
1194
+ readonly internalType: "struct JBTerminalConfig[]";
1195
+ readonly type: "tuple[]";
1196
+ readonly components: readonly [{
1197
+ readonly name: "terminal";
1198
+ readonly internalType: "contract IJBTerminal";
1199
+ readonly type: "address";
1200
+ }, {
1201
+ readonly name: "accountingContextsToAccept";
1202
+ readonly internalType: "struct JBAccountingContext[]";
1203
+ readonly type: "tuple[]";
1204
+ readonly components: readonly [{
1205
+ readonly name: "token";
1206
+ readonly internalType: "address";
1207
+ readonly type: "address";
1208
+ }, {
1209
+ readonly name: "decimals";
1210
+ readonly internalType: "uint8";
1211
+ readonly type: "uint8";
1212
+ }, {
1213
+ readonly name: "currency";
1214
+ readonly internalType: "uint32";
1215
+ readonly type: "uint32";
1216
+ }];
1217
+ }];
1218
+ readonly indexed: false;
1219
+ }, {
1220
+ readonly name: "suckerDeploymentConfiguration";
1221
+ readonly internalType: "struct REVSuckerDeploymentConfig";
1222
+ readonly type: "tuple";
1223
+ readonly components: readonly [{
1224
+ readonly name: "deployerConfigurations";
1225
+ readonly internalType: "struct JBSuckerDeployerConfig[]";
1226
+ readonly type: "tuple[]";
1227
+ readonly components: readonly [{
1228
+ readonly name: "deployer";
1229
+ readonly internalType: "contract IJBSuckerDeployer";
1230
+ readonly type: "address";
1231
+ }, {
1232
+ readonly name: "peer";
1233
+ readonly internalType: "bytes32";
1234
+ readonly type: "bytes32";
1235
+ }, {
1236
+ readonly name: "mappings";
1237
+ readonly internalType: "struct JBTokenMapping[]";
1238
+ readonly type: "tuple[]";
1239
+ readonly components: readonly [{
1240
+ readonly name: "localToken";
1241
+ readonly internalType: "address";
1242
+ readonly type: "address";
1243
+ }, {
1244
+ readonly name: "minGas";
1245
+ readonly internalType: "uint32";
1246
+ readonly type: "uint32";
1247
+ }, {
1248
+ readonly name: "remoteToken";
1249
+ readonly internalType: "bytes32";
1250
+ readonly type: "bytes32";
1251
+ }];
1252
+ }];
1253
+ }, {
1254
+ readonly name: "salt";
1255
+ readonly internalType: "bytes32";
1256
+ readonly type: "bytes32";
1257
+ }];
1258
+ readonly indexed: false;
1259
+ }, {
1260
+ readonly name: "rulesetConfigurations";
1261
+ readonly internalType: "struct JBRulesetConfig[]";
1262
+ readonly type: "tuple[]";
1263
+ readonly components: readonly [{
1264
+ readonly name: "mustStartAtOrAfter";
1265
+ readonly internalType: "uint48";
1266
+ readonly type: "uint48";
1267
+ }, {
1268
+ readonly name: "duration";
1269
+ readonly internalType: "uint32";
1270
+ readonly type: "uint32";
1271
+ }, {
1272
+ readonly name: "weight";
1273
+ readonly internalType: "uint112";
1274
+ readonly type: "uint112";
1275
+ }, {
1276
+ readonly name: "weightCutPercent";
1277
+ readonly internalType: "uint32";
1278
+ readonly type: "uint32";
1279
+ }, {
1280
+ readonly name: "approvalHook";
1281
+ readonly internalType: "contract IJBRulesetApprovalHook";
1282
+ readonly type: "address";
1283
+ }, {
1284
+ readonly name: "metadata";
1285
+ readonly internalType: "struct JBRulesetMetadata";
1286
+ readonly type: "tuple";
1287
+ readonly components: readonly [{
1288
+ readonly name: "reservedPercent";
1289
+ readonly internalType: "uint16";
1290
+ readonly type: "uint16";
1291
+ }, {
1292
+ readonly name: "cashOutTaxRate";
1293
+ readonly internalType: "uint16";
1294
+ readonly type: "uint16";
1295
+ }, {
1296
+ readonly name: "baseCurrency";
1297
+ readonly internalType: "uint32";
1298
+ readonly type: "uint32";
1299
+ }, {
1300
+ readonly name: "pausePay";
1301
+ readonly internalType: "bool";
1302
+ readonly type: "bool";
1303
+ }, {
1304
+ readonly name: "pauseCreditTransfers";
1305
+ readonly internalType: "bool";
1306
+ readonly type: "bool";
1307
+ }, {
1308
+ readonly name: "allowOwnerMinting";
1309
+ readonly internalType: "bool";
1310
+ readonly type: "bool";
1311
+ }, {
1312
+ readonly name: "allowSetCustomToken";
1313
+ readonly internalType: "bool";
1314
+ readonly type: "bool";
1315
+ }, {
1316
+ readonly name: "allowTerminalMigration";
1317
+ readonly internalType: "bool";
1318
+ readonly type: "bool";
1319
+ }, {
1320
+ readonly name: "allowSetTerminals";
1321
+ readonly internalType: "bool";
1322
+ readonly type: "bool";
1323
+ }, {
1324
+ readonly name: "allowSetController";
1325
+ readonly internalType: "bool";
1326
+ readonly type: "bool";
1327
+ }, {
1328
+ readonly name: "allowAddAccountingContext";
1329
+ readonly internalType: "bool";
1330
+ readonly type: "bool";
1331
+ }, {
1332
+ readonly name: "allowAddPriceFeed";
1333
+ readonly internalType: "bool";
1334
+ readonly type: "bool";
1335
+ }, {
1336
+ readonly name: "ownerMustSendPayouts";
1337
+ readonly internalType: "bool";
1338
+ readonly type: "bool";
1339
+ }, {
1340
+ readonly name: "holdFees";
1341
+ readonly internalType: "bool";
1342
+ readonly type: "bool";
1343
+ }, {
1344
+ readonly name: "scopeCashOutsToLocalBalances";
1345
+ readonly internalType: "bool";
1346
+ readonly type: "bool";
1347
+ }, {
1348
+ readonly name: "useDataHookForPay";
1349
+ readonly internalType: "bool";
1350
+ readonly type: "bool";
1351
+ }, {
1352
+ readonly name: "useDataHookForCashOut";
1353
+ readonly internalType: "bool";
1354
+ readonly type: "bool";
1355
+ }, {
1356
+ readonly name: "dataHook";
1357
+ readonly internalType: "address";
1358
+ readonly type: "address";
1359
+ }, {
1360
+ readonly name: "metadata";
1361
+ readonly internalType: "uint16";
1362
+ readonly type: "uint16";
1363
+ }];
1364
+ }, {
1365
+ readonly name: "splitGroups";
1366
+ readonly internalType: "struct JBSplitGroup[]";
1367
+ readonly type: "tuple[]";
1368
+ readonly components: readonly [{
1369
+ readonly name: "groupId";
1370
+ readonly internalType: "uint256";
1371
+ readonly type: "uint256";
1372
+ }, {
1373
+ readonly name: "splits";
1374
+ readonly internalType: "struct JBSplit[]";
1375
+ readonly type: "tuple[]";
1376
+ readonly components: readonly [{
1377
+ readonly name: "percent";
1378
+ readonly internalType: "uint32";
1379
+ readonly type: "uint32";
1380
+ }, {
1381
+ readonly name: "projectId";
1382
+ readonly internalType: "uint64";
1383
+ readonly type: "uint64";
1384
+ }, {
1385
+ readonly name: "beneficiary";
1386
+ readonly internalType: "address payable";
1387
+ readonly type: "address";
1388
+ }, {
1389
+ readonly name: "preferAddToBalance";
1390
+ readonly internalType: "bool";
1391
+ readonly type: "bool";
1392
+ }, {
1393
+ readonly name: "lockedUntil";
1394
+ readonly internalType: "uint48";
1395
+ readonly type: "uint48";
1396
+ }, {
1397
+ readonly name: "hook";
1398
+ readonly internalType: "contract IJBSplitHook";
1399
+ readonly type: "address";
1400
+ }];
1401
+ }];
1402
+ }, {
1403
+ readonly name: "fundAccessLimitGroups";
1404
+ readonly internalType: "struct JBFundAccessLimitGroup[]";
1405
+ readonly type: "tuple[]";
1406
+ readonly components: readonly [{
1407
+ readonly name: "terminal";
1408
+ readonly internalType: "address";
1409
+ readonly type: "address";
1410
+ }, {
1411
+ readonly name: "token";
1412
+ readonly internalType: "address";
1413
+ readonly type: "address";
1414
+ }, {
1415
+ readonly name: "payoutLimits";
1416
+ readonly internalType: "struct JBCurrencyAmount[]";
1417
+ readonly type: "tuple[]";
1418
+ readonly components: readonly [{
1419
+ readonly name: "amount";
1420
+ readonly internalType: "uint224";
1421
+ readonly type: "uint224";
1422
+ }, {
1423
+ readonly name: "currency";
1424
+ readonly internalType: "uint32";
1425
+ readonly type: "uint32";
1426
+ }];
1427
+ }, {
1428
+ readonly name: "surplusAllowances";
1429
+ readonly internalType: "struct JBCurrencyAmount[]";
1430
+ readonly type: "tuple[]";
1431
+ readonly components: readonly [{
1432
+ readonly name: "amount";
1433
+ readonly internalType: "uint224";
1434
+ readonly type: "uint224";
1435
+ }, {
1436
+ readonly name: "currency";
1437
+ readonly internalType: "uint32";
1438
+ readonly type: "uint32";
1439
+ }];
1440
+ }];
1441
+ }];
1442
+ readonly indexed: false;
1443
+ }, {
1444
+ readonly name: "encodedConfigurationHash";
1445
+ readonly internalType: "bytes32";
1446
+ readonly type: "bytes32";
1447
+ readonly indexed: false;
1448
+ }, {
1449
+ readonly name: "caller";
1450
+ readonly internalType: "address";
1451
+ readonly type: "address";
1452
+ readonly indexed: false;
1453
+ }];
1454
+ readonly name: "DeployRevnet";
1455
+ }, {
1456
+ readonly type: "event";
1457
+ readonly anonymous: false;
1458
+ readonly inputs: readonly [{
1459
+ readonly name: "revnetId";
1460
+ readonly internalType: "uint256";
1461
+ readonly type: "uint256";
1462
+ readonly indexed: true;
1463
+ }, {
1464
+ readonly name: "encodedConfigurationHash";
1465
+ readonly internalType: "bytes32";
1466
+ readonly type: "bytes32";
1467
+ readonly indexed: false;
1468
+ }, {
1469
+ readonly name: "suckerDeploymentConfiguration";
1470
+ readonly internalType: "struct REVSuckerDeploymentConfig";
1471
+ readonly type: "tuple";
1472
+ readonly components: readonly [{
1473
+ readonly name: "deployerConfigurations";
1474
+ readonly internalType: "struct JBSuckerDeployerConfig[]";
1475
+ readonly type: "tuple[]";
1476
+ readonly components: readonly [{
1477
+ readonly name: "deployer";
1478
+ readonly internalType: "contract IJBSuckerDeployer";
1479
+ readonly type: "address";
1480
+ }, {
1481
+ readonly name: "peer";
1482
+ readonly internalType: "bytes32";
1483
+ readonly type: "bytes32";
1484
+ }, {
1485
+ readonly name: "mappings";
1486
+ readonly internalType: "struct JBTokenMapping[]";
1487
+ readonly type: "tuple[]";
1488
+ readonly components: readonly [{
1489
+ readonly name: "localToken";
1490
+ readonly internalType: "address";
1491
+ readonly type: "address";
1492
+ }, {
1493
+ readonly name: "minGas";
1494
+ readonly internalType: "uint32";
1495
+ readonly type: "uint32";
1496
+ }, {
1497
+ readonly name: "remoteToken";
1498
+ readonly internalType: "bytes32";
1499
+ readonly type: "bytes32";
1500
+ }];
1501
+ }];
1502
+ }, {
1503
+ readonly name: "salt";
1504
+ readonly internalType: "bytes32";
1505
+ readonly type: "bytes32";
1506
+ }];
1507
+ readonly indexed: false;
1508
+ }, {
1509
+ readonly name: "caller";
1510
+ readonly internalType: "address";
1511
+ readonly type: "address";
1512
+ readonly indexed: false;
1513
+ }];
1514
+ readonly name: "DeploySuckers";
1515
+ }, {
1516
+ readonly type: "event";
1517
+ readonly anonymous: false;
1518
+ readonly inputs: readonly [{
1519
+ readonly name: "revnetId";
1520
+ readonly internalType: "uint256";
1521
+ readonly type: "uint256";
1522
+ readonly indexed: true;
1523
+ }, {
1524
+ readonly name: "cashOutDelay";
1525
+ readonly internalType: "uint256";
1526
+ readonly type: "uint256";
1527
+ readonly indexed: false;
1528
+ }, {
1529
+ readonly name: "caller";
1530
+ readonly internalType: "address";
1531
+ readonly type: "address";
1532
+ readonly indexed: false;
1533
+ }];
1534
+ readonly name: "SetCashOutDelay";
1535
+ }, {
1536
+ readonly type: "event";
1537
+ readonly anonymous: false;
1538
+ readonly inputs: readonly [{
1539
+ readonly name: "revnetId";
1540
+ readonly internalType: "uint256";
1541
+ readonly type: "uint256";
1542
+ readonly indexed: true;
1543
+ }, {
1544
+ readonly name: "stageId";
1545
+ readonly internalType: "uint256";
1546
+ readonly type: "uint256";
1547
+ readonly indexed: true;
1548
+ }, {
1549
+ readonly name: "beneficiary";
1550
+ readonly internalType: "address";
1551
+ readonly type: "address";
1552
+ readonly indexed: true;
1553
+ }, {
1554
+ readonly name: "count";
1555
+ readonly internalType: "uint256";
1556
+ readonly type: "uint256";
1557
+ readonly indexed: false;
1558
+ }, {
1559
+ readonly name: "caller";
1560
+ readonly internalType: "address";
1561
+ readonly type: "address";
1562
+ readonly indexed: false;
1563
+ }];
1564
+ readonly name: "StoreAutoIssuanceAmount";
1565
+ }, {
1566
+ readonly type: "error";
1567
+ readonly inputs: readonly [{
1568
+ readonly name: "x";
1569
+ readonly internalType: "uint256";
1570
+ readonly type: "uint256";
1571
+ }, {
1572
+ readonly name: "y";
1573
+ readonly internalType: "uint256";
1574
+ readonly type: "uint256";
1575
+ }, {
1576
+ readonly name: "denominator";
1577
+ readonly internalType: "uint256";
1578
+ readonly type: "uint256";
1579
+ }];
1580
+ readonly name: "PRBMath_MulDiv_Overflow";
1581
+ }, {
1582
+ readonly type: "error";
1583
+ readonly inputs: readonly [{
1584
+ readonly name: "stageIndex";
1585
+ readonly internalType: "uint256";
1586
+ readonly type: "uint256";
1587
+ }, {
1588
+ readonly name: "autoIssuanceIndex";
1589
+ readonly internalType: "uint256";
1590
+ readonly type: "uint256";
1591
+ }];
1592
+ readonly name: "REVDeployer_AutoIssuanceBeneficiaryZeroAddress";
1593
+ }, {
1594
+ readonly type: "error";
1595
+ readonly inputs: readonly [{
1596
+ readonly name: "cashOutTaxRate";
1597
+ readonly internalType: "uint256";
1598
+ readonly type: "uint256";
1599
+ }, {
1600
+ readonly name: "maxCashOutTaxRate";
1601
+ readonly internalType: "uint256";
1602
+ readonly type: "uint256";
1603
+ }];
1604
+ readonly name: "REVDeployer_CashOutsCantBeTurnedOffCompletely";
1605
+ }, {
1606
+ readonly type: "error";
1607
+ readonly inputs: readonly [{
1608
+ readonly name: "stageIndex";
1609
+ readonly internalType: "uint256";
1610
+ readonly type: "uint256";
1611
+ }, {
1612
+ readonly name: "splitPercent";
1613
+ readonly internalType: "uint256";
1614
+ readonly type: "uint256";
1615
+ }];
1616
+ readonly name: "REVDeployer_MustHaveSplits";
1617
+ }, {
1618
+ readonly type: "error";
1619
+ readonly inputs: readonly [{
1620
+ readonly name: "revnetId";
1621
+ readonly internalType: "uint256";
1622
+ readonly type: "uint256";
1623
+ }, {
1624
+ readonly name: "value";
1625
+ readonly internalType: "uint256";
1626
+ readonly type: "uint256";
1627
+ }];
1628
+ readonly name: "REVDeployer_ProjectCreationFeeNotNeeded";
1629
+ }, {
1630
+ readonly type: "error";
1631
+ readonly inputs: readonly [{
1632
+ readonly name: "revnetId";
1633
+ readonly internalType: "uint256";
1634
+ readonly type: "uint256";
1635
+ }];
1636
+ readonly name: "REVDeployer_RulesetDoesNotAllowDeployingSuckers";
1637
+ }, {
1638
+ readonly type: "error";
1639
+ readonly inputs: readonly [{
1640
+ readonly name: "stageIndex";
1641
+ readonly internalType: "uint256";
1642
+ readonly type: "uint256";
1643
+ }, {
1644
+ readonly name: "previousStageStart";
1645
+ readonly internalType: "uint256";
1646
+ readonly type: "uint256";
1647
+ }, {
1648
+ readonly name: "effectiveStart";
1649
+ readonly internalType: "uint256";
1650
+ readonly type: "uint256";
1651
+ }];
1652
+ readonly name: "REVDeployer_StageTimesMustIncrease";
1653
+ }, {
1654
+ readonly type: "error";
1655
+ readonly inputs: readonly [{
1656
+ readonly name: "stageCount";
1657
+ readonly internalType: "uint256";
1658
+ readonly type: "uint256";
1659
+ }];
1660
+ readonly name: "REVDeployer_StagesRequired";
1661
+ }, {
1662
+ readonly type: "error";
1663
+ readonly inputs: readonly [{
1664
+ readonly name: "revnetId";
1665
+ readonly internalType: "uint256";
1666
+ readonly type: "uint256";
1667
+ }, {
1668
+ readonly name: "caller";
1669
+ readonly internalType: "address";
1670
+ readonly type: "address";
1671
+ }];
1672
+ readonly name: "REVDeployer_Unauthorized";
1673
+ }];
1674
+ functionName: "deployFor";
1675
+ args: readonly [bigint, {
1676
+ description: {
1677
+ name: string;
1678
+ ticker: string;
1679
+ uri: string;
1680
+ salt: `0x${string}`;
1681
+ };
1682
+ baseCurrency: number;
1683
+ operator: `0x${string}`;
1684
+ scopeCashOutsToLocalBalances: boolean;
1685
+ stageConfigurations: readonly {
1686
+ startsAtOrAfter: number;
1687
+ autoIssuances: readonly {
1688
+ chainId: number;
1689
+ count: bigint;
1690
+ beneficiary: `0x${string}`;
1691
+ }[];
1692
+ splitPercent: number;
1693
+ splits: readonly {
1694
+ percent: number;
1695
+ projectId: bigint;
1696
+ beneficiary: `0x${string}`;
1697
+ preferAddToBalance: boolean;
1698
+ lockedUntil: number;
1699
+ hook: `0x${string}`;
1700
+ }[];
1701
+ initialIssuance: bigint;
1702
+ issuanceCutFrequency: number;
1703
+ issuanceCutPercent: number;
1704
+ cashOutTaxRate: number;
1705
+ extraMetadata: number;
1706
+ }[];
1707
+ }, readonly JBAccountingContext[], {
1708
+ deployerConfigurations: readonly {
1709
+ deployer: `0x${string}`;
1710
+ peer: `0x${string}`;
1711
+ mappings: readonly {
1712
+ localToken: `0x${string}`;
1713
+ minGas: number;
1714
+ remoteToken: `0x${string}`;
1715
+ }[];
1716
+ }[];
1717
+ salt: `0x${string}`;
1718
+ }, {
1719
+ baseline721HookConfiguration: {
1720
+ name: string;
1721
+ symbol: string;
1722
+ baseUri: string;
1723
+ tokenUriResolver: `0x${string}`;
1724
+ contractUri: string;
1725
+ tiersConfig: {
1726
+ tiers: readonly {
1727
+ price: bigint;
1728
+ initialSupply: number;
1729
+ votingUnits: number;
1730
+ reserveFrequency: number;
1731
+ reserveBeneficiary: `0x${string}`;
1732
+ encodedIpfsUri: `0x${string}`;
1733
+ category: number;
1734
+ discountPercent: number;
1735
+ flags: {
1736
+ allowOwnerMint: boolean;
1737
+ useReserveBeneficiaryAsDefault: boolean;
1738
+ transfersPausable: boolean;
1739
+ useVotingUnits: boolean;
1740
+ cantBeRemoved: boolean;
1741
+ cantIncreaseDiscountPercent: boolean;
1742
+ cantBuyWithCredits: boolean;
1743
+ };
1744
+ splitPercent: number;
1745
+ splits: readonly {
1746
+ percent: number;
1747
+ projectId: bigint;
1748
+ beneficiary: `0x${string}`;
1749
+ preferAddToBalance: boolean;
1750
+ lockedUntil: number;
1751
+ hook: `0x${string}`;
1752
+ }[];
1753
+ }[];
1754
+ currency: number;
1755
+ decimals: number;
1756
+ };
1757
+ flags: {
1758
+ noNewTiersWithReserves: boolean;
1759
+ noNewTiersWithVotes: boolean;
1760
+ noNewTiersWithOwnerMinting: boolean;
1761
+ preventOverspending: boolean;
1762
+ };
1763
+ };
1764
+ salt: `0x${string}`;
1765
+ preventOperatorAdjustingTiers: boolean;
1766
+ preventOperatorUpdatingMetadata: boolean;
1767
+ preventOperatorMinting: boolean;
1768
+ preventOperatorIncreasingDiscountPercent: boolean;
1769
+ }, readonly {
1770
+ category: number;
1771
+ minimumPrice: bigint;
1772
+ minimumTotalSupply: number;
1773
+ maximumTotalSupply: number;
1774
+ maximumSplitPercent: number;
1775
+ allowedAddresses: readonly `0x${string}`[];
1776
+ }[]];
1777
+ value: bigint;
1778
+ } | {
1779
+ chainId: 1 | 10 | 11155111 | 11155420 | 421614 | 84532 | 42161 | 8453;
1780
+ address: `0x${string}`;
1781
+ abi: readonly [{
1782
+ readonly type: "constructor";
1783
+ readonly inputs: readonly [{
1784
+ readonly name: "controller";
1785
+ readonly internalType: "contract IJBController";
1786
+ readonly type: "address";
1787
+ }, {
1788
+ readonly name: "multiTerminal";
1789
+ readonly internalType: "contract IJBTerminal";
1790
+ readonly type: "address";
1791
+ }, {
1792
+ readonly name: "routerTerminalRegistry";
1793
+ readonly internalType: "contract IJBTerminal";
1794
+ readonly type: "address";
1795
+ }, {
1796
+ readonly name: "suckerRegistry";
1797
+ readonly internalType: "contract IJBSuckerRegistry";
1798
+ readonly type: "address";
1799
+ }, {
1800
+ readonly name: "feeRevnetId";
1801
+ readonly internalType: "uint256";
1802
+ readonly type: "uint256";
1803
+ }, {
1804
+ readonly name: "hookDeployer";
1805
+ readonly internalType: "contract IJB721TiersHookDeployer";
1806
+ readonly type: "address";
1807
+ }, {
1808
+ readonly name: "publisher";
1809
+ readonly internalType: "contract CTPublisher";
1810
+ readonly type: "address";
1811
+ }, {
1812
+ readonly name: "buybackHook";
1813
+ readonly internalType: "contract IJBBuybackHookRegistry";
1814
+ readonly type: "address";
1815
+ }, {
1816
+ readonly name: "loans";
1817
+ readonly internalType: "contract IREVLoans";
1818
+ readonly type: "address";
1819
+ }, {
1820
+ readonly name: "trustedForwarder";
1821
+ readonly internalType: "address";
1822
+ readonly type: "address";
1823
+ }, {
1824
+ readonly name: "owner";
1825
+ readonly internalType: "address";
1826
+ readonly type: "address";
1827
+ }];
1828
+ readonly stateMutability: "nonpayable";
1829
+ }, {
1830
+ readonly type: "function";
1831
+ readonly inputs: readonly [];
1832
+ readonly name: "BUYBACK_HOOK";
1833
+ readonly outputs: readonly [{
1834
+ readonly name: "";
1835
+ readonly internalType: "contract IJBBuybackHookRegistry";
1836
+ readonly type: "address";
1837
+ }];
1838
+ readonly stateMutability: "view";
1839
+ }, {
1840
+ readonly type: "function";
1841
+ readonly inputs: readonly [];
1842
+ readonly name: "CASH_OUT_DELAY";
1843
+ readonly outputs: readonly [{
1844
+ readonly name: "";
1845
+ readonly internalType: "uint256";
1846
+ readonly type: "uint256";
1847
+ }];
1848
+ readonly stateMutability: "view";
1849
+ }, {
1850
+ readonly type: "function";
1851
+ readonly inputs: readonly [];
1852
+ readonly name: "CONTROLLER";
1853
+ readonly outputs: readonly [{
1854
+ readonly name: "";
1855
+ readonly internalType: "contract IJBController";
1856
+ readonly type: "address";
1857
+ }];
1858
+ readonly stateMutability: "view";
1859
+ }, {
1860
+ readonly type: "function";
1861
+ readonly inputs: readonly [];
1862
+ readonly name: "DEFAULT_BUYBACK_POOL_FEE";
1863
+ readonly outputs: readonly [{
1864
+ readonly name: "";
1865
+ readonly internalType: "uint24";
1866
+ readonly type: "uint24";
1867
+ }];
1868
+ readonly stateMutability: "view";
1869
+ }, {
1870
+ readonly type: "function";
1871
+ readonly inputs: readonly [];
1872
+ readonly name: "DEFAULT_BUYBACK_TICK_SPACING";
1873
+ readonly outputs: readonly [{
1874
+ readonly name: "";
1875
+ readonly internalType: "int24";
1876
+ readonly type: "int24";
1877
+ }];
1878
+ readonly stateMutability: "view";
1879
+ }, {
1880
+ readonly type: "function";
1881
+ readonly inputs: readonly [];
1882
+ readonly name: "DEFAULT_BUYBACK_TWAP_WINDOW";
1883
+ readonly outputs: readonly [{
1884
+ readonly name: "";
1885
+ readonly internalType: "uint32";
1886
+ readonly type: "uint32";
1887
+ }];
1888
+ readonly stateMutability: "view";
1889
+ }, {
1890
+ readonly type: "function";
1891
+ readonly inputs: readonly [];
1892
+ readonly name: "DIRECTORY";
1893
+ readonly outputs: readonly [{
1894
+ readonly name: "";
1895
+ readonly internalType: "contract IJBDirectory";
1896
+ readonly type: "address";
1897
+ }];
1898
+ readonly stateMutability: "view";
1899
+ }, {
1900
+ readonly type: "function";
1901
+ readonly inputs: readonly [];
1902
+ readonly name: "FEE_REVNET_ID";
1903
+ readonly outputs: readonly [{
1904
+ readonly name: "";
1905
+ readonly internalType: "uint256";
1906
+ readonly type: "uint256";
1907
+ }];
1908
+ readonly stateMutability: "view";
1909
+ }, {
1910
+ readonly type: "function";
1911
+ readonly inputs: readonly [];
1912
+ readonly name: "HOOK_DEPLOYER";
1913
+ readonly outputs: readonly [{
1914
+ readonly name: "";
1915
+ readonly internalType: "contract IJB721TiersHookDeployer";
1916
+ readonly type: "address";
1917
+ }];
1918
+ readonly stateMutability: "view";
1919
+ }, {
1920
+ readonly type: "function";
1921
+ readonly inputs: readonly [];
1922
+ readonly name: "LOANS";
1923
+ readonly outputs: readonly [{
1924
+ readonly name: "";
1925
+ readonly internalType: "contract IREVLoans";
1926
+ readonly type: "address";
1927
+ }];
1928
+ readonly stateMutability: "view";
1929
+ }, {
1930
+ readonly type: "function";
1931
+ readonly inputs: readonly [];
1932
+ readonly name: "MULTI_TERMINAL";
1933
+ readonly outputs: readonly [{
1934
+ readonly name: "";
1935
+ readonly internalType: "contract IJBTerminal";
1936
+ readonly type: "address";
1937
+ }];
1938
+ readonly stateMutability: "view";
1939
+ }, {
1940
+ readonly type: "function";
1941
+ readonly inputs: readonly [];
1942
+ readonly name: "OWNER";
1943
+ readonly outputs: readonly [{
1944
+ readonly name: "";
1945
+ readonly internalType: "address";
1946
+ readonly type: "address";
1947
+ }];
1948
+ readonly stateMutability: "view";
1949
+ }, {
1950
+ readonly type: "function";
1951
+ readonly inputs: readonly [];
1952
+ readonly name: "PERMISSIONS";
1953
+ readonly outputs: readonly [{
1954
+ readonly name: "";
1955
+ readonly internalType: "contract IJBPermissions";
1956
+ readonly type: "address";
1957
+ }];
1958
+ readonly stateMutability: "view";
1959
+ }, {
1960
+ readonly type: "function";
1961
+ readonly inputs: readonly [];
1962
+ readonly name: "PROJECTS";
1963
+ readonly outputs: readonly [{
1964
+ readonly name: "";
1965
+ readonly internalType: "contract IJBProjects";
1966
+ readonly type: "address";
1967
+ }];
1968
+ readonly stateMutability: "view";
1969
+ }, {
1970
+ readonly type: "function";
1971
+ readonly inputs: readonly [];
1972
+ readonly name: "PUBLISHER";
1973
+ readonly outputs: readonly [{
1974
+ readonly name: "";
1975
+ readonly internalType: "contract CTPublisher";
1976
+ readonly type: "address";
1977
+ }];
1978
+ readonly stateMutability: "view";
1979
+ }, {
1980
+ readonly type: "function";
1981
+ readonly inputs: readonly [];
1982
+ readonly name: "ROUTER_TERMINAL_REGISTRY";
1983
+ readonly outputs: readonly [{
1984
+ readonly name: "";
1985
+ readonly internalType: "contract IJBTerminal";
1986
+ readonly type: "address";
1987
+ }];
1988
+ readonly stateMutability: "view";
1989
+ }, {
1990
+ readonly type: "function";
1991
+ readonly inputs: readonly [];
1992
+ readonly name: "SUCKER_REGISTRY";
1993
+ readonly outputs: readonly [{
1994
+ readonly name: "";
1995
+ readonly internalType: "contract IJBSuckerRegistry";
1996
+ readonly type: "address";
1997
+ }];
1998
+ readonly stateMutability: "view";
1999
+ }, {
2000
+ readonly type: "function";
2001
+ readonly inputs: readonly [{
2002
+ readonly name: "revnetId";
2003
+ readonly internalType: "uint256";
2004
+ readonly type: "uint256";
2005
+ }, {
2006
+ readonly name: "configuration";
2007
+ readonly internalType: "struct REVConfig";
2008
+ readonly type: "tuple";
2009
+ readonly components: readonly [{
2010
+ readonly name: "description";
2011
+ readonly internalType: "struct REVDescription";
2012
+ readonly type: "tuple";
2013
+ readonly components: readonly [{
2014
+ readonly name: "name";
2015
+ readonly internalType: "string";
2016
+ readonly type: "string";
2017
+ }, {
2018
+ readonly name: "ticker";
2019
+ readonly internalType: "string";
2020
+ readonly type: "string";
2021
+ }, {
2022
+ readonly name: "uri";
2023
+ readonly internalType: "string";
2024
+ readonly type: "string";
2025
+ }, {
2026
+ readonly name: "salt";
2027
+ readonly internalType: "bytes32";
2028
+ readonly type: "bytes32";
2029
+ }];
2030
+ }, {
2031
+ readonly name: "baseCurrency";
2032
+ readonly internalType: "uint32";
2033
+ readonly type: "uint32";
2034
+ }, {
2035
+ readonly name: "operator";
2036
+ readonly internalType: "address";
2037
+ readonly type: "address";
2038
+ }, {
2039
+ readonly name: "scopeCashOutsToLocalBalances";
2040
+ readonly internalType: "bool";
2041
+ readonly type: "bool";
2042
+ }, {
2043
+ readonly name: "stageConfigurations";
2044
+ readonly internalType: "struct REVStageConfig[]";
2045
+ readonly type: "tuple[]";
2046
+ readonly components: readonly [{
2047
+ readonly name: "startsAtOrAfter";
2048
+ readonly internalType: "uint48";
2049
+ readonly type: "uint48";
2050
+ }, {
2051
+ readonly name: "autoIssuances";
2052
+ readonly internalType: "struct REVAutoIssuance[]";
2053
+ readonly type: "tuple[]";
2054
+ readonly components: readonly [{
2055
+ readonly name: "chainId";
2056
+ readonly internalType: "uint32";
2057
+ readonly type: "uint32";
2058
+ }, {
2059
+ readonly name: "count";
2060
+ readonly internalType: "uint104";
2061
+ readonly type: "uint104";
2062
+ }, {
2063
+ readonly name: "beneficiary";
2064
+ readonly internalType: "address";
2065
+ readonly type: "address";
2066
+ }];
2067
+ }, {
2068
+ readonly name: "splitPercent";
2069
+ readonly internalType: "uint16";
2070
+ readonly type: "uint16";
2071
+ }, {
2072
+ readonly name: "splits";
2073
+ readonly internalType: "struct JBSplit[]";
2074
+ readonly type: "tuple[]";
2075
+ readonly components: readonly [{
2076
+ readonly name: "percent";
2077
+ readonly internalType: "uint32";
2078
+ readonly type: "uint32";
2079
+ }, {
2080
+ readonly name: "projectId";
2081
+ readonly internalType: "uint64";
2082
+ readonly type: "uint64";
2083
+ }, {
2084
+ readonly name: "beneficiary";
2085
+ readonly internalType: "address payable";
2086
+ readonly type: "address";
2087
+ }, {
2088
+ readonly name: "preferAddToBalance";
2089
+ readonly internalType: "bool";
2090
+ readonly type: "bool";
2091
+ }, {
2092
+ readonly name: "lockedUntil";
2093
+ readonly internalType: "uint48";
2094
+ readonly type: "uint48";
2095
+ }, {
2096
+ readonly name: "hook";
2097
+ readonly internalType: "contract IJBSplitHook";
2098
+ readonly type: "address";
2099
+ }];
2100
+ }, {
2101
+ readonly name: "initialIssuance";
2102
+ readonly internalType: "uint112";
2103
+ readonly type: "uint112";
2104
+ }, {
2105
+ readonly name: "issuanceCutFrequency";
2106
+ readonly internalType: "uint32";
2107
+ readonly type: "uint32";
2108
+ }, {
2109
+ readonly name: "issuanceCutPercent";
2110
+ readonly internalType: "uint32";
2111
+ readonly type: "uint32";
2112
+ }, {
2113
+ readonly name: "cashOutTaxRate";
2114
+ readonly internalType: "uint16";
2115
+ readonly type: "uint16";
2116
+ }, {
2117
+ readonly name: "extraMetadata";
2118
+ readonly internalType: "uint16";
2119
+ readonly type: "uint16";
2120
+ }];
2121
+ }];
2122
+ }, {
2123
+ readonly name: "accountingContextsToAccept";
2124
+ readonly internalType: "struct JBAccountingContext[]";
2125
+ readonly type: "tuple[]";
2126
+ readonly components: readonly [{
2127
+ readonly name: "token";
2128
+ readonly internalType: "address";
2129
+ readonly type: "address";
2130
+ }, {
2131
+ readonly name: "decimals";
2132
+ readonly internalType: "uint8";
2133
+ readonly type: "uint8";
2134
+ }, {
2135
+ readonly name: "currency";
2136
+ readonly internalType: "uint32";
2137
+ readonly type: "uint32";
2138
+ }];
2139
+ }, {
2140
+ readonly name: "suckerDeploymentConfiguration";
2141
+ readonly internalType: "struct REVSuckerDeploymentConfig";
2142
+ readonly type: "tuple";
2143
+ readonly components: readonly [{
2144
+ readonly name: "deployerConfigurations";
2145
+ readonly internalType: "struct JBSuckerDeployerConfig[]";
2146
+ readonly type: "tuple[]";
2147
+ readonly components: readonly [{
2148
+ readonly name: "deployer";
2149
+ readonly internalType: "contract IJBSuckerDeployer";
2150
+ readonly type: "address";
2151
+ }, {
2152
+ readonly name: "peer";
2153
+ readonly internalType: "bytes32";
2154
+ readonly type: "bytes32";
2155
+ }, {
2156
+ readonly name: "mappings";
2157
+ readonly internalType: "struct JBTokenMapping[]";
2158
+ readonly type: "tuple[]";
2159
+ readonly components: readonly [{
2160
+ readonly name: "localToken";
2161
+ readonly internalType: "address";
2162
+ readonly type: "address";
2163
+ }, {
2164
+ readonly name: "minGas";
2165
+ readonly internalType: "uint32";
2166
+ readonly type: "uint32";
2167
+ }, {
2168
+ readonly name: "remoteToken";
2169
+ readonly internalType: "bytes32";
2170
+ readonly type: "bytes32";
2171
+ }];
2172
+ }];
2173
+ }, {
2174
+ readonly name: "salt";
2175
+ readonly internalType: "bytes32";
2176
+ readonly type: "bytes32";
2177
+ }];
2178
+ }];
2179
+ readonly name: "deployFor";
2180
+ readonly outputs: readonly [{
2181
+ readonly name: "";
2182
+ readonly internalType: "uint256";
2183
+ readonly type: "uint256";
2184
+ }, {
2185
+ readonly name: "hook";
2186
+ readonly internalType: "contract IJB721TiersHook";
2187
+ readonly type: "address";
2188
+ }];
2189
+ readonly stateMutability: "payable";
2190
+ }, {
2191
+ readonly type: "function";
2192
+ readonly inputs: readonly [{
2193
+ readonly name: "revnetId";
2194
+ readonly internalType: "uint256";
2195
+ readonly type: "uint256";
2196
+ }, {
2197
+ readonly name: "configuration";
2198
+ readonly internalType: "struct REVConfig";
2199
+ readonly type: "tuple";
2200
+ readonly components: readonly [{
2201
+ readonly name: "description";
2202
+ readonly internalType: "struct REVDescription";
2203
+ readonly type: "tuple";
2204
+ readonly components: readonly [{
2205
+ readonly name: "name";
2206
+ readonly internalType: "string";
2207
+ readonly type: "string";
2208
+ }, {
2209
+ readonly name: "ticker";
2210
+ readonly internalType: "string";
2211
+ readonly type: "string";
2212
+ }, {
2213
+ readonly name: "uri";
2214
+ readonly internalType: "string";
2215
+ readonly type: "string";
2216
+ }, {
2217
+ readonly name: "salt";
2218
+ readonly internalType: "bytes32";
2219
+ readonly type: "bytes32";
2220
+ }];
2221
+ }, {
2222
+ readonly name: "baseCurrency";
2223
+ readonly internalType: "uint32";
2224
+ readonly type: "uint32";
2225
+ }, {
2226
+ readonly name: "operator";
2227
+ readonly internalType: "address";
2228
+ readonly type: "address";
2229
+ }, {
2230
+ readonly name: "scopeCashOutsToLocalBalances";
2231
+ readonly internalType: "bool";
2232
+ readonly type: "bool";
2233
+ }, {
2234
+ readonly name: "stageConfigurations";
2235
+ readonly internalType: "struct REVStageConfig[]";
2236
+ readonly type: "tuple[]";
2237
+ readonly components: readonly [{
2238
+ readonly name: "startsAtOrAfter";
2239
+ readonly internalType: "uint48";
2240
+ readonly type: "uint48";
2241
+ }, {
2242
+ readonly name: "autoIssuances";
2243
+ readonly internalType: "struct REVAutoIssuance[]";
2244
+ readonly type: "tuple[]";
2245
+ readonly components: readonly [{
2246
+ readonly name: "chainId";
2247
+ readonly internalType: "uint32";
2248
+ readonly type: "uint32";
2249
+ }, {
2250
+ readonly name: "count";
2251
+ readonly internalType: "uint104";
2252
+ readonly type: "uint104";
2253
+ }, {
2254
+ readonly name: "beneficiary";
2255
+ readonly internalType: "address";
2256
+ readonly type: "address";
2257
+ }];
2258
+ }, {
2259
+ readonly name: "splitPercent";
2260
+ readonly internalType: "uint16";
2261
+ readonly type: "uint16";
2262
+ }, {
2263
+ readonly name: "splits";
2264
+ readonly internalType: "struct JBSplit[]";
2265
+ readonly type: "tuple[]";
2266
+ readonly components: readonly [{
2267
+ readonly name: "percent";
2268
+ readonly internalType: "uint32";
2269
+ readonly type: "uint32";
2270
+ }, {
2271
+ readonly name: "projectId";
2272
+ readonly internalType: "uint64";
2273
+ readonly type: "uint64";
2274
+ }, {
2275
+ readonly name: "beneficiary";
2276
+ readonly internalType: "address payable";
2277
+ readonly type: "address";
2278
+ }, {
2279
+ readonly name: "preferAddToBalance";
2280
+ readonly internalType: "bool";
2281
+ readonly type: "bool";
2282
+ }, {
2283
+ readonly name: "lockedUntil";
2284
+ readonly internalType: "uint48";
2285
+ readonly type: "uint48";
2286
+ }, {
2287
+ readonly name: "hook";
2288
+ readonly internalType: "contract IJBSplitHook";
2289
+ readonly type: "address";
2290
+ }];
2291
+ }, {
2292
+ readonly name: "initialIssuance";
2293
+ readonly internalType: "uint112";
2294
+ readonly type: "uint112";
2295
+ }, {
2296
+ readonly name: "issuanceCutFrequency";
2297
+ readonly internalType: "uint32";
2298
+ readonly type: "uint32";
2299
+ }, {
2300
+ readonly name: "issuanceCutPercent";
2301
+ readonly internalType: "uint32";
2302
+ readonly type: "uint32";
2303
+ }, {
2304
+ readonly name: "cashOutTaxRate";
2305
+ readonly internalType: "uint16";
2306
+ readonly type: "uint16";
2307
+ }, {
2308
+ readonly name: "extraMetadata";
2309
+ readonly internalType: "uint16";
2310
+ readonly type: "uint16";
2311
+ }];
2312
+ }];
2313
+ }, {
2314
+ readonly name: "accountingContextsToAccept";
2315
+ readonly internalType: "struct JBAccountingContext[]";
2316
+ readonly type: "tuple[]";
2317
+ readonly components: readonly [{
2318
+ readonly name: "token";
2319
+ readonly internalType: "address";
2320
+ readonly type: "address";
2321
+ }, {
2322
+ readonly name: "decimals";
2323
+ readonly internalType: "uint8";
2324
+ readonly type: "uint8";
2325
+ }, {
2326
+ readonly name: "currency";
2327
+ readonly internalType: "uint32";
2328
+ readonly type: "uint32";
2329
+ }];
2330
+ }, {
2331
+ readonly name: "suckerDeploymentConfiguration";
2332
+ readonly internalType: "struct REVSuckerDeploymentConfig";
2333
+ readonly type: "tuple";
2334
+ readonly components: readonly [{
2335
+ readonly name: "deployerConfigurations";
2336
+ readonly internalType: "struct JBSuckerDeployerConfig[]";
2337
+ readonly type: "tuple[]";
2338
+ readonly components: readonly [{
2339
+ readonly name: "deployer";
2340
+ readonly internalType: "contract IJBSuckerDeployer";
2341
+ readonly type: "address";
2342
+ }, {
2343
+ readonly name: "peer";
2344
+ readonly internalType: "bytes32";
2345
+ readonly type: "bytes32";
2346
+ }, {
2347
+ readonly name: "mappings";
2348
+ readonly internalType: "struct JBTokenMapping[]";
2349
+ readonly type: "tuple[]";
2350
+ readonly components: readonly [{
2351
+ readonly name: "localToken";
2352
+ readonly internalType: "address";
2353
+ readonly type: "address";
2354
+ }, {
2355
+ readonly name: "minGas";
2356
+ readonly internalType: "uint32";
2357
+ readonly type: "uint32";
2358
+ }, {
2359
+ readonly name: "remoteToken";
2360
+ readonly internalType: "bytes32";
2361
+ readonly type: "bytes32";
2362
+ }];
2363
+ }];
2364
+ }, {
2365
+ readonly name: "salt";
2366
+ readonly internalType: "bytes32";
2367
+ readonly type: "bytes32";
2368
+ }];
2369
+ }, {
2370
+ readonly name: "tiered721HookConfiguration";
2371
+ readonly internalType: "struct REVDeploy721TiersHookConfig";
2372
+ readonly type: "tuple";
2373
+ readonly components: readonly [{
2374
+ readonly name: "baseline721HookConfiguration";
2375
+ readonly internalType: "struct REVBaseline721HookConfig";
2376
+ readonly type: "tuple";
2377
+ readonly components: readonly [{
2378
+ readonly name: "name";
2379
+ readonly internalType: "string";
2380
+ readonly type: "string";
2381
+ }, {
2382
+ readonly name: "symbol";
2383
+ readonly internalType: "string";
2384
+ readonly type: "string";
2385
+ }, {
2386
+ readonly name: "baseUri";
2387
+ readonly internalType: "string";
2388
+ readonly type: "string";
2389
+ }, {
2390
+ readonly name: "tokenUriResolver";
2391
+ readonly internalType: "contract IJB721TokenUriResolver";
2392
+ readonly type: "address";
2393
+ }, {
2394
+ readonly name: "contractUri";
2395
+ readonly internalType: "string";
2396
+ readonly type: "string";
2397
+ }, {
2398
+ readonly name: "tiersConfig";
2399
+ readonly internalType: "struct JB721InitTiersConfig";
2400
+ readonly type: "tuple";
2401
+ readonly components: readonly [{
2402
+ readonly name: "tiers";
2403
+ readonly internalType: "struct JB721TierConfig[]";
2404
+ readonly type: "tuple[]";
2405
+ readonly components: readonly [{
2406
+ readonly name: "price";
2407
+ readonly internalType: "uint104";
2408
+ readonly type: "uint104";
2409
+ }, {
2410
+ readonly name: "initialSupply";
2411
+ readonly internalType: "uint32";
2412
+ readonly type: "uint32";
2413
+ }, {
2414
+ readonly name: "votingUnits";
2415
+ readonly internalType: "uint32";
2416
+ readonly type: "uint32";
2417
+ }, {
2418
+ readonly name: "reserveFrequency";
2419
+ readonly internalType: "uint16";
2420
+ readonly type: "uint16";
2421
+ }, {
2422
+ readonly name: "reserveBeneficiary";
2423
+ readonly internalType: "address";
2424
+ readonly type: "address";
2425
+ }, {
2426
+ readonly name: "encodedIpfsUri";
2427
+ readonly internalType: "bytes32";
2428
+ readonly type: "bytes32";
2429
+ }, {
2430
+ readonly name: "category";
2431
+ readonly internalType: "uint24";
2432
+ readonly type: "uint24";
2433
+ }, {
2434
+ readonly name: "discountPercent";
2435
+ readonly internalType: "uint8";
2436
+ readonly type: "uint8";
2437
+ }, {
2438
+ readonly name: "flags";
2439
+ readonly internalType: "struct JB721TierConfigFlags";
2440
+ readonly type: "tuple";
2441
+ readonly components: readonly [{
2442
+ readonly name: "allowOwnerMint";
2443
+ readonly internalType: "bool";
2444
+ readonly type: "bool";
2445
+ }, {
2446
+ readonly name: "useReserveBeneficiaryAsDefault";
2447
+ readonly internalType: "bool";
2448
+ readonly type: "bool";
2449
+ }, {
2450
+ readonly name: "transfersPausable";
2451
+ readonly internalType: "bool";
2452
+ readonly type: "bool";
2453
+ }, {
2454
+ readonly name: "useVotingUnits";
2455
+ readonly internalType: "bool";
2456
+ readonly type: "bool";
2457
+ }, {
2458
+ readonly name: "cantBeRemoved";
2459
+ readonly internalType: "bool";
2460
+ readonly type: "bool";
2461
+ }, {
2462
+ readonly name: "cantIncreaseDiscountPercent";
2463
+ readonly internalType: "bool";
2464
+ readonly type: "bool";
2465
+ }, {
2466
+ readonly name: "cantBuyWithCredits";
2467
+ readonly internalType: "bool";
2468
+ readonly type: "bool";
2469
+ }];
2470
+ }, {
2471
+ readonly name: "splitPercent";
2472
+ readonly internalType: "uint32";
2473
+ readonly type: "uint32";
2474
+ }, {
2475
+ readonly name: "splits";
2476
+ readonly internalType: "struct JBSplit[]";
2477
+ readonly type: "tuple[]";
2478
+ readonly components: readonly [{
2479
+ readonly name: "percent";
2480
+ readonly internalType: "uint32";
2481
+ readonly type: "uint32";
2482
+ }, {
2483
+ readonly name: "projectId";
2484
+ readonly internalType: "uint64";
2485
+ readonly type: "uint64";
2486
+ }, {
2487
+ readonly name: "beneficiary";
2488
+ readonly internalType: "address payable";
2489
+ readonly type: "address";
2490
+ }, {
2491
+ readonly name: "preferAddToBalance";
2492
+ readonly internalType: "bool";
2493
+ readonly type: "bool";
2494
+ }, {
2495
+ readonly name: "lockedUntil";
2496
+ readonly internalType: "uint48";
2497
+ readonly type: "uint48";
2498
+ }, {
2499
+ readonly name: "hook";
2500
+ readonly internalType: "contract IJBSplitHook";
2501
+ readonly type: "address";
2502
+ }];
2503
+ }];
2504
+ }, {
2505
+ readonly name: "currency";
2506
+ readonly internalType: "uint32";
2507
+ readonly type: "uint32";
2508
+ }, {
2509
+ readonly name: "decimals";
2510
+ readonly internalType: "uint8";
2511
+ readonly type: "uint8";
2512
+ }];
2513
+ }, {
2514
+ readonly name: "flags";
2515
+ readonly internalType: "struct REV721TiersHookFlags";
2516
+ readonly type: "tuple";
2517
+ readonly components: readonly [{
2518
+ readonly name: "noNewTiersWithReserves";
2519
+ readonly internalType: "bool";
2520
+ readonly type: "bool";
2521
+ }, {
2522
+ readonly name: "noNewTiersWithVotes";
2523
+ readonly internalType: "bool";
2524
+ readonly type: "bool";
2525
+ }, {
2526
+ readonly name: "noNewTiersWithOwnerMinting";
2527
+ readonly internalType: "bool";
2528
+ readonly type: "bool";
2529
+ }, {
2530
+ readonly name: "preventOverspending";
2531
+ readonly internalType: "bool";
2532
+ readonly type: "bool";
2533
+ }];
2534
+ }];
2535
+ }, {
2536
+ readonly name: "salt";
2537
+ readonly internalType: "bytes32";
2538
+ readonly type: "bytes32";
2539
+ }, {
2540
+ readonly name: "preventOperatorAdjustingTiers";
2541
+ readonly internalType: "bool";
2542
+ readonly type: "bool";
2543
+ }, {
2544
+ readonly name: "preventOperatorUpdatingMetadata";
2545
+ readonly internalType: "bool";
2546
+ readonly type: "bool";
2547
+ }, {
2548
+ readonly name: "preventOperatorMinting";
2549
+ readonly internalType: "bool";
2550
+ readonly type: "bool";
2551
+ }, {
2552
+ readonly name: "preventOperatorIncreasingDiscountPercent";
2553
+ readonly internalType: "bool";
2554
+ readonly type: "bool";
2555
+ }];
2556
+ }, {
2557
+ readonly name: "allowedPosts";
2558
+ readonly internalType: "struct REVCroptopAllowedPost[]";
2559
+ readonly type: "tuple[]";
2560
+ readonly components: readonly [{
2561
+ readonly name: "category";
2562
+ readonly internalType: "uint24";
2563
+ readonly type: "uint24";
2564
+ }, {
2565
+ readonly name: "minimumPrice";
2566
+ readonly internalType: "uint104";
2567
+ readonly type: "uint104";
2568
+ }, {
2569
+ readonly name: "minimumTotalSupply";
2570
+ readonly internalType: "uint32";
2571
+ readonly type: "uint32";
2572
+ }, {
2573
+ readonly name: "maximumTotalSupply";
2574
+ readonly internalType: "uint32";
2575
+ readonly type: "uint32";
2576
+ }, {
2577
+ readonly name: "maximumSplitPercent";
2578
+ readonly internalType: "uint32";
2579
+ readonly type: "uint32";
2580
+ }, {
2581
+ readonly name: "allowedAddresses";
2582
+ readonly internalType: "address[]";
2583
+ readonly type: "address[]";
2584
+ }];
2585
+ }];
2586
+ readonly name: "deployFor";
2587
+ readonly outputs: readonly [{
2588
+ readonly name: "";
2589
+ readonly internalType: "uint256";
2590
+ readonly type: "uint256";
2591
+ }, {
2592
+ readonly name: "hook";
2593
+ readonly internalType: "contract IJB721TiersHook";
2594
+ readonly type: "address";
2595
+ }];
2596
+ readonly stateMutability: "payable";
2597
+ }, {
2598
+ readonly type: "function";
2599
+ readonly inputs: readonly [{
2600
+ readonly name: "revnetId";
2601
+ readonly internalType: "uint256";
2602
+ readonly type: "uint256";
2603
+ }, {
2604
+ readonly name: "suckerDeploymentConfiguration";
2605
+ readonly internalType: "struct REVSuckerDeploymentConfig";
2606
+ readonly type: "tuple";
2607
+ readonly components: readonly [{
2608
+ readonly name: "deployerConfigurations";
2609
+ readonly internalType: "struct JBSuckerDeployerConfig[]";
2610
+ readonly type: "tuple[]";
2611
+ readonly components: readonly [{
2612
+ readonly name: "deployer";
2613
+ readonly internalType: "contract IJBSuckerDeployer";
2614
+ readonly type: "address";
2615
+ }, {
2616
+ readonly name: "peer";
2617
+ readonly internalType: "bytes32";
2618
+ readonly type: "bytes32";
2619
+ }, {
2620
+ readonly name: "mappings";
2621
+ readonly internalType: "struct JBTokenMapping[]";
2622
+ readonly type: "tuple[]";
2623
+ readonly components: readonly [{
2624
+ readonly name: "localToken";
2625
+ readonly internalType: "address";
2626
+ readonly type: "address";
2627
+ }, {
2628
+ readonly name: "minGas";
2629
+ readonly internalType: "uint32";
2630
+ readonly type: "uint32";
2631
+ }, {
2632
+ readonly name: "remoteToken";
2633
+ readonly internalType: "bytes32";
2634
+ readonly type: "bytes32";
2635
+ }];
2636
+ }];
2637
+ }, {
2638
+ readonly name: "salt";
2639
+ readonly internalType: "bytes32";
2640
+ readonly type: "bytes32";
2641
+ }];
2642
+ }];
2643
+ readonly name: "deploySuckersFor";
2644
+ readonly outputs: readonly [{
2645
+ readonly name: "suckers";
2646
+ readonly internalType: "address[]";
2647
+ readonly type: "address[]";
2648
+ }];
2649
+ readonly stateMutability: "nonpayable";
2650
+ }, {
2651
+ readonly type: "function";
2652
+ readonly inputs: readonly [{
2653
+ readonly name: "revnetId";
2654
+ readonly internalType: "uint256";
2655
+ readonly type: "uint256";
2656
+ }];
2657
+ readonly name: "hashedEncodedConfigurationOf";
2658
+ readonly outputs: readonly [{
2659
+ readonly name: "hashedEncodedConfiguration";
2660
+ readonly internalType: "bytes32";
2661
+ readonly type: "bytes32";
2662
+ }];
2663
+ readonly stateMutability: "view";
2664
+ }, {
2665
+ readonly type: "function";
2666
+ readonly inputs: readonly [{
2667
+ readonly name: "forwarder";
2668
+ readonly internalType: "address";
2669
+ readonly type: "address";
2670
+ }];
2671
+ readonly name: "isTrustedForwarder";
2672
+ readonly outputs: readonly [{
2673
+ readonly name: "";
2674
+ readonly internalType: "bool";
2675
+ readonly type: "bool";
2676
+ }];
2677
+ readonly stateMutability: "view";
2678
+ }, {
2679
+ readonly type: "function";
2680
+ readonly inputs: readonly [{
2681
+ readonly name: "";
2682
+ readonly internalType: "address";
2683
+ readonly type: "address";
2684
+ }, {
2685
+ readonly name: "";
2686
+ readonly internalType: "address";
2687
+ readonly type: "address";
2688
+ }, {
2689
+ readonly name: "";
2690
+ readonly internalType: "uint256";
2691
+ readonly type: "uint256";
2692
+ }, {
2693
+ readonly name: "";
2694
+ readonly internalType: "bytes";
2695
+ readonly type: "bytes";
2696
+ }];
2697
+ readonly name: "onERC721Received";
2698
+ readonly outputs: readonly [{
2699
+ readonly name: "";
2700
+ readonly internalType: "bytes4";
2701
+ readonly type: "bytes4";
2702
+ }];
2703
+ readonly stateMutability: "view";
2704
+ }, {
2705
+ readonly type: "function";
2706
+ readonly inputs: readonly [];
2707
+ readonly name: "originalPayer";
2708
+ readonly outputs: readonly [{
2709
+ readonly name: "";
2710
+ readonly internalType: "address";
2711
+ readonly type: "address";
2712
+ }];
2713
+ readonly stateMutability: "view";
2714
+ }, {
2715
+ readonly type: "function";
2716
+ readonly inputs: readonly [{
2717
+ readonly name: "interfaceId";
2718
+ readonly internalType: "bytes4";
2719
+ readonly type: "bytes4";
2720
+ }];
2721
+ readonly name: "supportsInterface";
2722
+ readonly outputs: readonly [{
2723
+ readonly name: "";
2724
+ readonly internalType: "bool";
2725
+ readonly type: "bool";
2726
+ }];
2727
+ readonly stateMutability: "view";
2728
+ }, {
2729
+ readonly type: "function";
2730
+ readonly inputs: readonly [];
2731
+ readonly name: "trustedForwarder";
2732
+ readonly outputs: readonly [{
2733
+ readonly name: "";
2734
+ readonly internalType: "address";
2735
+ readonly type: "address";
2736
+ }];
2737
+ readonly stateMutability: "view";
2738
+ }, {
2739
+ readonly type: "event";
2740
+ readonly anonymous: false;
2741
+ readonly inputs: readonly [{
2742
+ readonly name: "revnetId";
2743
+ readonly internalType: "uint256";
2744
+ readonly type: "uint256";
2745
+ readonly indexed: true;
2746
+ }, {
2747
+ readonly name: "configuration";
2748
+ readonly internalType: "struct REVConfig";
2749
+ readonly type: "tuple";
2750
+ readonly components: readonly [{
2751
+ readonly name: "description";
2752
+ readonly internalType: "struct REVDescription";
2753
+ readonly type: "tuple";
2754
+ readonly components: readonly [{
2755
+ readonly name: "name";
2756
+ readonly internalType: "string";
2757
+ readonly type: "string";
2758
+ }, {
2759
+ readonly name: "ticker";
2760
+ readonly internalType: "string";
2761
+ readonly type: "string";
2762
+ }, {
2763
+ readonly name: "uri";
2764
+ readonly internalType: "string";
2765
+ readonly type: "string";
2766
+ }, {
2767
+ readonly name: "salt";
2768
+ readonly internalType: "bytes32";
2769
+ readonly type: "bytes32";
2770
+ }];
2771
+ }, {
2772
+ readonly name: "baseCurrency";
2773
+ readonly internalType: "uint32";
2774
+ readonly type: "uint32";
2775
+ }, {
2776
+ readonly name: "operator";
2777
+ readonly internalType: "address";
2778
+ readonly type: "address";
2779
+ }, {
2780
+ readonly name: "scopeCashOutsToLocalBalances";
2781
+ readonly internalType: "bool";
2782
+ readonly type: "bool";
2783
+ }, {
2784
+ readonly name: "stageConfigurations";
2785
+ readonly internalType: "struct REVStageConfig[]";
2786
+ readonly type: "tuple[]";
2787
+ readonly components: readonly [{
2788
+ readonly name: "startsAtOrAfter";
2789
+ readonly internalType: "uint48";
2790
+ readonly type: "uint48";
2791
+ }, {
2792
+ readonly name: "autoIssuances";
2793
+ readonly internalType: "struct REVAutoIssuance[]";
2794
+ readonly type: "tuple[]";
2795
+ readonly components: readonly [{
2796
+ readonly name: "chainId";
2797
+ readonly internalType: "uint32";
2798
+ readonly type: "uint32";
2799
+ }, {
2800
+ readonly name: "count";
2801
+ readonly internalType: "uint104";
2802
+ readonly type: "uint104";
2803
+ }, {
2804
+ readonly name: "beneficiary";
2805
+ readonly internalType: "address";
2806
+ readonly type: "address";
2807
+ }];
2808
+ }, {
2809
+ readonly name: "splitPercent";
2810
+ readonly internalType: "uint16";
2811
+ readonly type: "uint16";
2812
+ }, {
2813
+ readonly name: "splits";
2814
+ readonly internalType: "struct JBSplit[]";
2815
+ readonly type: "tuple[]";
2816
+ readonly components: readonly [{
2817
+ readonly name: "percent";
2818
+ readonly internalType: "uint32";
2819
+ readonly type: "uint32";
2820
+ }, {
2821
+ readonly name: "projectId";
2822
+ readonly internalType: "uint64";
2823
+ readonly type: "uint64";
2824
+ }, {
2825
+ readonly name: "beneficiary";
2826
+ readonly internalType: "address payable";
2827
+ readonly type: "address";
2828
+ }, {
2829
+ readonly name: "preferAddToBalance";
2830
+ readonly internalType: "bool";
2831
+ readonly type: "bool";
2832
+ }, {
2833
+ readonly name: "lockedUntil";
2834
+ readonly internalType: "uint48";
2835
+ readonly type: "uint48";
2836
+ }, {
2837
+ readonly name: "hook";
2838
+ readonly internalType: "contract IJBSplitHook";
2839
+ readonly type: "address";
2840
+ }];
2841
+ }, {
2842
+ readonly name: "initialIssuance";
2843
+ readonly internalType: "uint112";
2844
+ readonly type: "uint112";
2845
+ }, {
2846
+ readonly name: "issuanceCutFrequency";
2847
+ readonly internalType: "uint32";
2848
+ readonly type: "uint32";
2849
+ }, {
2850
+ readonly name: "issuanceCutPercent";
2851
+ readonly internalType: "uint32";
2852
+ readonly type: "uint32";
2853
+ }, {
2854
+ readonly name: "cashOutTaxRate";
2855
+ readonly internalType: "uint16";
2856
+ readonly type: "uint16";
2857
+ }, {
2858
+ readonly name: "extraMetadata";
2859
+ readonly internalType: "uint16";
2860
+ readonly type: "uint16";
2861
+ }];
2862
+ }];
2863
+ readonly indexed: false;
2864
+ }, {
2865
+ readonly name: "terminalConfigurations";
2866
+ readonly internalType: "struct JBTerminalConfig[]";
2867
+ readonly type: "tuple[]";
2868
+ readonly components: readonly [{
2869
+ readonly name: "terminal";
2870
+ readonly internalType: "contract IJBTerminal";
2871
+ readonly type: "address";
2872
+ }, {
2873
+ readonly name: "accountingContextsToAccept";
2874
+ readonly internalType: "struct JBAccountingContext[]";
2875
+ readonly type: "tuple[]";
2876
+ readonly components: readonly [{
2877
+ readonly name: "token";
2878
+ readonly internalType: "address";
2879
+ readonly type: "address";
2880
+ }, {
2881
+ readonly name: "decimals";
2882
+ readonly internalType: "uint8";
2883
+ readonly type: "uint8";
2884
+ }, {
2885
+ readonly name: "currency";
2886
+ readonly internalType: "uint32";
2887
+ readonly type: "uint32";
2888
+ }];
2889
+ }];
2890
+ readonly indexed: false;
2891
+ }, {
2892
+ readonly name: "suckerDeploymentConfiguration";
2893
+ readonly internalType: "struct REVSuckerDeploymentConfig";
2894
+ readonly type: "tuple";
2895
+ readonly components: readonly [{
2896
+ readonly name: "deployerConfigurations";
2897
+ readonly internalType: "struct JBSuckerDeployerConfig[]";
2898
+ readonly type: "tuple[]";
2899
+ readonly components: readonly [{
2900
+ readonly name: "deployer";
2901
+ readonly internalType: "contract IJBSuckerDeployer";
2902
+ readonly type: "address";
2903
+ }, {
2904
+ readonly name: "peer";
2905
+ readonly internalType: "bytes32";
2906
+ readonly type: "bytes32";
2907
+ }, {
2908
+ readonly name: "mappings";
2909
+ readonly internalType: "struct JBTokenMapping[]";
2910
+ readonly type: "tuple[]";
2911
+ readonly components: readonly [{
2912
+ readonly name: "localToken";
2913
+ readonly internalType: "address";
2914
+ readonly type: "address";
2915
+ }, {
2916
+ readonly name: "minGas";
2917
+ readonly internalType: "uint32";
2918
+ readonly type: "uint32";
2919
+ }, {
2920
+ readonly name: "remoteToken";
2921
+ readonly internalType: "bytes32";
2922
+ readonly type: "bytes32";
2923
+ }];
2924
+ }];
2925
+ }, {
2926
+ readonly name: "salt";
2927
+ readonly internalType: "bytes32";
2928
+ readonly type: "bytes32";
2929
+ }];
2930
+ readonly indexed: false;
2931
+ }, {
2932
+ readonly name: "rulesetConfigurations";
2933
+ readonly internalType: "struct JBRulesetConfig[]";
2934
+ readonly type: "tuple[]";
2935
+ readonly components: readonly [{
2936
+ readonly name: "mustStartAtOrAfter";
2937
+ readonly internalType: "uint48";
2938
+ readonly type: "uint48";
2939
+ }, {
2940
+ readonly name: "duration";
2941
+ readonly internalType: "uint32";
2942
+ readonly type: "uint32";
2943
+ }, {
2944
+ readonly name: "weight";
2945
+ readonly internalType: "uint112";
2946
+ readonly type: "uint112";
2947
+ }, {
2948
+ readonly name: "weightCutPercent";
2949
+ readonly internalType: "uint32";
2950
+ readonly type: "uint32";
2951
+ }, {
2952
+ readonly name: "approvalHook";
2953
+ readonly internalType: "contract IJBRulesetApprovalHook";
2954
+ readonly type: "address";
2955
+ }, {
2956
+ readonly name: "metadata";
2957
+ readonly internalType: "struct JBRulesetMetadata";
2958
+ readonly type: "tuple";
2959
+ readonly components: readonly [{
2960
+ readonly name: "reservedPercent";
2961
+ readonly internalType: "uint16";
2962
+ readonly type: "uint16";
2963
+ }, {
2964
+ readonly name: "cashOutTaxRate";
2965
+ readonly internalType: "uint16";
2966
+ readonly type: "uint16";
2967
+ }, {
2968
+ readonly name: "baseCurrency";
2969
+ readonly internalType: "uint32";
2970
+ readonly type: "uint32";
2971
+ }, {
2972
+ readonly name: "pausePay";
2973
+ readonly internalType: "bool";
2974
+ readonly type: "bool";
2975
+ }, {
2976
+ readonly name: "pauseCreditTransfers";
2977
+ readonly internalType: "bool";
2978
+ readonly type: "bool";
2979
+ }, {
2980
+ readonly name: "allowOwnerMinting";
2981
+ readonly internalType: "bool";
2982
+ readonly type: "bool";
2983
+ }, {
2984
+ readonly name: "allowSetCustomToken";
2985
+ readonly internalType: "bool";
2986
+ readonly type: "bool";
2987
+ }, {
2988
+ readonly name: "allowTerminalMigration";
2989
+ readonly internalType: "bool";
2990
+ readonly type: "bool";
2991
+ }, {
2992
+ readonly name: "allowSetTerminals";
2993
+ readonly internalType: "bool";
2994
+ readonly type: "bool";
2995
+ }, {
2996
+ readonly name: "allowSetController";
2997
+ readonly internalType: "bool";
2998
+ readonly type: "bool";
2999
+ }, {
3000
+ readonly name: "allowAddAccountingContext";
3001
+ readonly internalType: "bool";
3002
+ readonly type: "bool";
3003
+ }, {
3004
+ readonly name: "allowAddPriceFeed";
3005
+ readonly internalType: "bool";
3006
+ readonly type: "bool";
3007
+ }, {
3008
+ readonly name: "ownerMustSendPayouts";
3009
+ readonly internalType: "bool";
3010
+ readonly type: "bool";
3011
+ }, {
3012
+ readonly name: "holdFees";
3013
+ readonly internalType: "bool";
3014
+ readonly type: "bool";
3015
+ }, {
3016
+ readonly name: "scopeCashOutsToLocalBalances";
3017
+ readonly internalType: "bool";
3018
+ readonly type: "bool";
3019
+ }, {
3020
+ readonly name: "useDataHookForPay";
3021
+ readonly internalType: "bool";
3022
+ readonly type: "bool";
3023
+ }, {
3024
+ readonly name: "useDataHookForCashOut";
3025
+ readonly internalType: "bool";
3026
+ readonly type: "bool";
3027
+ }, {
3028
+ readonly name: "dataHook";
3029
+ readonly internalType: "address";
3030
+ readonly type: "address";
3031
+ }, {
3032
+ readonly name: "metadata";
3033
+ readonly internalType: "uint16";
3034
+ readonly type: "uint16";
3035
+ }];
3036
+ }, {
3037
+ readonly name: "splitGroups";
3038
+ readonly internalType: "struct JBSplitGroup[]";
3039
+ readonly type: "tuple[]";
3040
+ readonly components: readonly [{
3041
+ readonly name: "groupId";
3042
+ readonly internalType: "uint256";
3043
+ readonly type: "uint256";
3044
+ }, {
3045
+ readonly name: "splits";
3046
+ readonly internalType: "struct JBSplit[]";
3047
+ readonly type: "tuple[]";
3048
+ readonly components: readonly [{
3049
+ readonly name: "percent";
3050
+ readonly internalType: "uint32";
3051
+ readonly type: "uint32";
3052
+ }, {
3053
+ readonly name: "projectId";
3054
+ readonly internalType: "uint64";
3055
+ readonly type: "uint64";
3056
+ }, {
3057
+ readonly name: "beneficiary";
3058
+ readonly internalType: "address payable";
3059
+ readonly type: "address";
3060
+ }, {
3061
+ readonly name: "preferAddToBalance";
3062
+ readonly internalType: "bool";
3063
+ readonly type: "bool";
3064
+ }, {
3065
+ readonly name: "lockedUntil";
3066
+ readonly internalType: "uint48";
3067
+ readonly type: "uint48";
3068
+ }, {
3069
+ readonly name: "hook";
3070
+ readonly internalType: "contract IJBSplitHook";
3071
+ readonly type: "address";
3072
+ }];
3073
+ }];
3074
+ }, {
3075
+ readonly name: "fundAccessLimitGroups";
3076
+ readonly internalType: "struct JBFundAccessLimitGroup[]";
3077
+ readonly type: "tuple[]";
3078
+ readonly components: readonly [{
3079
+ readonly name: "terminal";
3080
+ readonly internalType: "address";
3081
+ readonly type: "address";
3082
+ }, {
3083
+ readonly name: "token";
3084
+ readonly internalType: "address";
3085
+ readonly type: "address";
3086
+ }, {
3087
+ readonly name: "payoutLimits";
3088
+ readonly internalType: "struct JBCurrencyAmount[]";
3089
+ readonly type: "tuple[]";
3090
+ readonly components: readonly [{
3091
+ readonly name: "amount";
3092
+ readonly internalType: "uint224";
3093
+ readonly type: "uint224";
3094
+ }, {
3095
+ readonly name: "currency";
3096
+ readonly internalType: "uint32";
3097
+ readonly type: "uint32";
3098
+ }];
3099
+ }, {
3100
+ readonly name: "surplusAllowances";
3101
+ readonly internalType: "struct JBCurrencyAmount[]";
3102
+ readonly type: "tuple[]";
3103
+ readonly components: readonly [{
3104
+ readonly name: "amount";
3105
+ readonly internalType: "uint224";
3106
+ readonly type: "uint224";
3107
+ }, {
3108
+ readonly name: "currency";
3109
+ readonly internalType: "uint32";
3110
+ readonly type: "uint32";
3111
+ }];
3112
+ }];
3113
+ }];
3114
+ readonly indexed: false;
3115
+ }, {
3116
+ readonly name: "encodedConfigurationHash";
3117
+ readonly internalType: "bytes32";
3118
+ readonly type: "bytes32";
3119
+ readonly indexed: false;
3120
+ }, {
3121
+ readonly name: "caller";
3122
+ readonly internalType: "address";
3123
+ readonly type: "address";
3124
+ readonly indexed: false;
3125
+ }];
3126
+ readonly name: "DeployRevnet";
3127
+ }, {
3128
+ readonly type: "event";
3129
+ readonly anonymous: false;
3130
+ readonly inputs: readonly [{
3131
+ readonly name: "revnetId";
3132
+ readonly internalType: "uint256";
3133
+ readonly type: "uint256";
3134
+ readonly indexed: true;
3135
+ }, {
3136
+ readonly name: "encodedConfigurationHash";
3137
+ readonly internalType: "bytes32";
3138
+ readonly type: "bytes32";
3139
+ readonly indexed: false;
3140
+ }, {
3141
+ readonly name: "suckerDeploymentConfiguration";
3142
+ readonly internalType: "struct REVSuckerDeploymentConfig";
3143
+ readonly type: "tuple";
3144
+ readonly components: readonly [{
3145
+ readonly name: "deployerConfigurations";
3146
+ readonly internalType: "struct JBSuckerDeployerConfig[]";
3147
+ readonly type: "tuple[]";
3148
+ readonly components: readonly [{
3149
+ readonly name: "deployer";
3150
+ readonly internalType: "contract IJBSuckerDeployer";
3151
+ readonly type: "address";
3152
+ }, {
3153
+ readonly name: "peer";
3154
+ readonly internalType: "bytes32";
3155
+ readonly type: "bytes32";
3156
+ }, {
3157
+ readonly name: "mappings";
3158
+ readonly internalType: "struct JBTokenMapping[]";
3159
+ readonly type: "tuple[]";
3160
+ readonly components: readonly [{
3161
+ readonly name: "localToken";
3162
+ readonly internalType: "address";
3163
+ readonly type: "address";
3164
+ }, {
3165
+ readonly name: "minGas";
3166
+ readonly internalType: "uint32";
3167
+ readonly type: "uint32";
3168
+ }, {
3169
+ readonly name: "remoteToken";
3170
+ readonly internalType: "bytes32";
3171
+ readonly type: "bytes32";
3172
+ }];
3173
+ }];
3174
+ }, {
3175
+ readonly name: "salt";
3176
+ readonly internalType: "bytes32";
3177
+ readonly type: "bytes32";
3178
+ }];
3179
+ readonly indexed: false;
3180
+ }, {
3181
+ readonly name: "caller";
3182
+ readonly internalType: "address";
3183
+ readonly type: "address";
3184
+ readonly indexed: false;
3185
+ }];
3186
+ readonly name: "DeploySuckers";
3187
+ }, {
3188
+ readonly type: "event";
3189
+ readonly anonymous: false;
3190
+ readonly inputs: readonly [{
3191
+ readonly name: "revnetId";
3192
+ readonly internalType: "uint256";
3193
+ readonly type: "uint256";
3194
+ readonly indexed: true;
3195
+ }, {
3196
+ readonly name: "cashOutDelay";
3197
+ readonly internalType: "uint256";
3198
+ readonly type: "uint256";
3199
+ readonly indexed: false;
3200
+ }, {
3201
+ readonly name: "caller";
3202
+ readonly internalType: "address";
3203
+ readonly type: "address";
3204
+ readonly indexed: false;
3205
+ }];
3206
+ readonly name: "SetCashOutDelay";
3207
+ }, {
3208
+ readonly type: "event";
3209
+ readonly anonymous: false;
3210
+ readonly inputs: readonly [{
3211
+ readonly name: "revnetId";
3212
+ readonly internalType: "uint256";
3213
+ readonly type: "uint256";
3214
+ readonly indexed: true;
3215
+ }, {
3216
+ readonly name: "stageId";
3217
+ readonly internalType: "uint256";
3218
+ readonly type: "uint256";
3219
+ readonly indexed: true;
3220
+ }, {
3221
+ readonly name: "beneficiary";
3222
+ readonly internalType: "address";
3223
+ readonly type: "address";
3224
+ readonly indexed: true;
3225
+ }, {
3226
+ readonly name: "count";
3227
+ readonly internalType: "uint256";
3228
+ readonly type: "uint256";
3229
+ readonly indexed: false;
3230
+ }, {
3231
+ readonly name: "caller";
3232
+ readonly internalType: "address";
3233
+ readonly type: "address";
3234
+ readonly indexed: false;
3235
+ }];
3236
+ readonly name: "StoreAutoIssuanceAmount";
3237
+ }, {
3238
+ readonly type: "error";
3239
+ readonly inputs: readonly [{
3240
+ readonly name: "x";
3241
+ readonly internalType: "uint256";
3242
+ readonly type: "uint256";
3243
+ }, {
3244
+ readonly name: "y";
3245
+ readonly internalType: "uint256";
3246
+ readonly type: "uint256";
3247
+ }, {
3248
+ readonly name: "denominator";
3249
+ readonly internalType: "uint256";
3250
+ readonly type: "uint256";
3251
+ }];
3252
+ readonly name: "PRBMath_MulDiv_Overflow";
3253
+ }, {
3254
+ readonly type: "error";
3255
+ readonly inputs: readonly [{
3256
+ readonly name: "stageIndex";
3257
+ readonly internalType: "uint256";
3258
+ readonly type: "uint256";
3259
+ }, {
3260
+ readonly name: "autoIssuanceIndex";
3261
+ readonly internalType: "uint256";
3262
+ readonly type: "uint256";
3263
+ }];
3264
+ readonly name: "REVDeployer_AutoIssuanceBeneficiaryZeroAddress";
3265
+ }, {
3266
+ readonly type: "error";
3267
+ readonly inputs: readonly [{
3268
+ readonly name: "cashOutTaxRate";
3269
+ readonly internalType: "uint256";
3270
+ readonly type: "uint256";
3271
+ }, {
3272
+ readonly name: "maxCashOutTaxRate";
3273
+ readonly internalType: "uint256";
3274
+ readonly type: "uint256";
3275
+ }];
3276
+ readonly name: "REVDeployer_CashOutsCantBeTurnedOffCompletely";
3277
+ }, {
3278
+ readonly type: "error";
3279
+ readonly inputs: readonly [{
3280
+ readonly name: "stageIndex";
3281
+ readonly internalType: "uint256";
3282
+ readonly type: "uint256";
3283
+ }, {
3284
+ readonly name: "splitPercent";
3285
+ readonly internalType: "uint256";
3286
+ readonly type: "uint256";
3287
+ }];
3288
+ readonly name: "REVDeployer_MustHaveSplits";
3289
+ }, {
3290
+ readonly type: "error";
3291
+ readonly inputs: readonly [{
3292
+ readonly name: "revnetId";
3293
+ readonly internalType: "uint256";
3294
+ readonly type: "uint256";
3295
+ }, {
3296
+ readonly name: "value";
3297
+ readonly internalType: "uint256";
3298
+ readonly type: "uint256";
3299
+ }];
3300
+ readonly name: "REVDeployer_ProjectCreationFeeNotNeeded";
3301
+ }, {
3302
+ readonly type: "error";
3303
+ readonly inputs: readonly [{
3304
+ readonly name: "revnetId";
3305
+ readonly internalType: "uint256";
3306
+ readonly type: "uint256";
3307
+ }];
3308
+ readonly name: "REVDeployer_RulesetDoesNotAllowDeployingSuckers";
3309
+ }, {
3310
+ readonly type: "error";
3311
+ readonly inputs: readonly [{
3312
+ readonly name: "stageIndex";
3313
+ readonly internalType: "uint256";
3314
+ readonly type: "uint256";
3315
+ }, {
3316
+ readonly name: "previousStageStart";
3317
+ readonly internalType: "uint256";
3318
+ readonly type: "uint256";
3319
+ }, {
3320
+ readonly name: "effectiveStart";
3321
+ readonly internalType: "uint256";
3322
+ readonly type: "uint256";
3323
+ }];
3324
+ readonly name: "REVDeployer_StageTimesMustIncrease";
3325
+ }, {
3326
+ readonly type: "error";
3327
+ readonly inputs: readonly [{
3328
+ readonly name: "stageCount";
3329
+ readonly internalType: "uint256";
3330
+ readonly type: "uint256";
3331
+ }];
3332
+ readonly name: "REVDeployer_StagesRequired";
3333
+ }, {
3334
+ readonly type: "error";
3335
+ readonly inputs: readonly [{
3336
+ readonly name: "revnetId";
3337
+ readonly internalType: "uint256";
3338
+ readonly type: "uint256";
3339
+ }, {
3340
+ readonly name: "caller";
3341
+ readonly internalType: "address";
3342
+ readonly type: "address";
3343
+ }];
3344
+ readonly name: "REVDeployer_Unauthorized";
3345
+ }];
3346
+ functionName: "deployFor";
3347
+ args: readonly [bigint, {
3348
+ description: {
3349
+ name: string;
3350
+ ticker: string;
3351
+ uri: string;
3352
+ salt: `0x${string}`;
3353
+ };
3354
+ baseCurrency: number;
3355
+ operator: `0x${string}`;
3356
+ scopeCashOutsToLocalBalances: boolean;
3357
+ stageConfigurations: readonly {
3358
+ startsAtOrAfter: number;
3359
+ autoIssuances: readonly {
3360
+ chainId: number;
3361
+ count: bigint;
3362
+ beneficiary: `0x${string}`;
3363
+ }[];
3364
+ splitPercent: number;
3365
+ splits: readonly {
3366
+ percent: number;
3367
+ projectId: bigint;
3368
+ beneficiary: `0x${string}`;
3369
+ preferAddToBalance: boolean;
3370
+ lockedUntil: number;
3371
+ hook: `0x${string}`;
3372
+ }[];
3373
+ initialIssuance: bigint;
3374
+ issuanceCutFrequency: number;
3375
+ issuanceCutPercent: number;
3376
+ cashOutTaxRate: number;
3377
+ extraMetadata: number;
3378
+ }[];
3379
+ }, readonly JBAccountingContext[], {
3380
+ deployerConfigurations: readonly {
3381
+ deployer: `0x${string}`;
3382
+ peer: `0x${string}`;
3383
+ mappings: readonly {
3384
+ localToken: `0x${string}`;
3385
+ minGas: number;
3386
+ remoteToken: `0x${string}`;
3387
+ }[];
3388
+ }[];
3389
+ salt: `0x${string}`;
3390
+ }];
3391
+ value: bigint;
3392
+ };
3393
+ /**
3394
+ * Build a `REVOwner.autoIssueFor` transaction request minting a stage's
3395
+ * pending auto-issuance to its beneficiary. Callable by anyone once the
3396
+ * stage has started; mints whatever `amountToAutoIssue` reports.
3397
+ */
3398
+ export declare function buildAutoIssueTx(args: {
3399
+ chainId: JBChainId;
3400
+ revnetId: bigint;
3401
+ stageId: bigint;
3402
+ beneficiary: Address;
3403
+ }): {
3404
+ chainId: 1 | 10 | 11155111 | 11155420 | 421614 | 84532 | 42161 | 8453;
3405
+ address: `0x${string}`;
3406
+ abi: readonly [{
3407
+ readonly type: "constructor";
3408
+ readonly inputs: readonly [{
3409
+ readonly name: "buybackHook";
3410
+ readonly internalType: "contract IJBBuybackHookRegistry";
3411
+ readonly type: "address";
3412
+ }, {
3413
+ readonly name: "directory";
3414
+ readonly internalType: "contract IJBDirectory";
3415
+ readonly type: "address";
3416
+ }, {
3417
+ readonly name: "feeRevnetId";
3418
+ readonly internalType: "uint256";
3419
+ readonly type: "uint256";
3420
+ }, {
3421
+ readonly name: "suckerRegistry";
3422
+ readonly internalType: "contract IJBSuckerRegistry";
3423
+ readonly type: "address";
3424
+ }, {
3425
+ readonly name: "loans";
3426
+ readonly internalType: "contract IREVLoans";
3427
+ readonly type: "address";
3428
+ }, {
3429
+ readonly name: "trustedForwarder";
3430
+ readonly internalType: "address";
3431
+ readonly type: "address";
3432
+ }, {
3433
+ readonly name: "deployerAddress";
3434
+ readonly internalType: "address";
3435
+ readonly type: "address";
3436
+ }];
3437
+ readonly stateMutability: "nonpayable";
3438
+ }, {
3439
+ readonly type: "function";
3440
+ readonly inputs: readonly [];
3441
+ readonly name: "BUYBACK_HOOK";
3442
+ readonly outputs: readonly [{
3443
+ readonly name: "";
3444
+ readonly internalType: "contract IJBBuybackHookRegistry";
3445
+ readonly type: "address";
3446
+ }];
3447
+ readonly stateMutability: "view";
3448
+ }, {
3449
+ readonly type: "function";
3450
+ readonly inputs: readonly [];
3451
+ readonly name: "CONTROLLER";
3452
+ readonly outputs: readonly [{
3453
+ readonly name: "";
3454
+ readonly internalType: "contract IJBController";
3455
+ readonly type: "address";
3456
+ }];
3457
+ readonly stateMutability: "view";
3458
+ }, {
3459
+ readonly type: "function";
3460
+ readonly inputs: readonly [];
3461
+ readonly name: "DIRECTORY";
3462
+ readonly outputs: readonly [{
3463
+ readonly name: "";
3464
+ readonly internalType: "contract IJBDirectory";
3465
+ readonly type: "address";
3466
+ }];
3467
+ readonly stateMutability: "view";
3468
+ }, {
3469
+ readonly type: "function";
3470
+ readonly inputs: readonly [];
3471
+ readonly name: "FEE_REVNET_ID";
3472
+ readonly outputs: readonly [{
3473
+ readonly name: "";
3474
+ readonly internalType: "uint256";
3475
+ readonly type: "uint256";
3476
+ }];
3477
+ readonly stateMutability: "view";
3478
+ }, {
3479
+ readonly type: "function";
3480
+ readonly inputs: readonly [];
3481
+ readonly name: "LOANS";
3482
+ readonly outputs: readonly [{
3483
+ readonly name: "";
3484
+ readonly internalType: "contract IREVLoans";
3485
+ readonly type: "address";
3486
+ }];
3487
+ readonly stateMutability: "view";
3488
+ }, {
3489
+ readonly type: "function";
3490
+ readonly inputs: readonly [];
3491
+ readonly name: "PERMISSIONS";
3492
+ readonly outputs: readonly [{
3493
+ readonly name: "";
3494
+ readonly internalType: "contract IJBPermissions";
3495
+ readonly type: "address";
3496
+ }];
3497
+ readonly stateMutability: "view";
3498
+ }, {
3499
+ readonly type: "function";
3500
+ readonly inputs: readonly [];
3501
+ readonly name: "PROJECTS";
3502
+ readonly outputs: readonly [{
3503
+ readonly name: "";
3504
+ readonly internalType: "contract IJBProjects";
3505
+ readonly type: "address";
3506
+ }];
3507
+ readonly stateMutability: "view";
3508
+ }, {
3509
+ readonly type: "function";
3510
+ readonly inputs: readonly [];
3511
+ readonly name: "SUCKER_REGISTRY";
3512
+ readonly outputs: readonly [{
3513
+ readonly name: "";
3514
+ readonly internalType: "contract IJBSuckerRegistry";
3515
+ readonly type: "address";
3516
+ }];
3517
+ readonly stateMutability: "view";
3518
+ }, {
3519
+ readonly type: "function";
3520
+ readonly inputs: readonly [{
3521
+ readonly name: "context";
3522
+ readonly internalType: "struct JBAfterCashOutRecordedContext";
3523
+ readonly type: "tuple";
3524
+ readonly components: readonly [{
3525
+ readonly name: "holder";
3526
+ readonly internalType: "address";
3527
+ readonly type: "address";
3528
+ }, {
3529
+ readonly name: "projectId";
3530
+ readonly internalType: "uint256";
3531
+ readonly type: "uint256";
3532
+ }, {
3533
+ readonly name: "rulesetId";
3534
+ readonly internalType: "uint256";
3535
+ readonly type: "uint256";
3536
+ }, {
3537
+ readonly name: "cashOutCount";
3538
+ readonly internalType: "uint256";
3539
+ readonly type: "uint256";
3540
+ }, {
3541
+ readonly name: "reclaimedAmount";
3542
+ readonly internalType: "struct JBTokenAmount";
3543
+ readonly type: "tuple";
3544
+ readonly components: readonly [{
3545
+ readonly name: "token";
3546
+ readonly internalType: "address";
3547
+ readonly type: "address";
3548
+ }, {
3549
+ readonly name: "decimals";
3550
+ readonly internalType: "uint8";
3551
+ readonly type: "uint8";
3552
+ }, {
3553
+ readonly name: "currency";
3554
+ readonly internalType: "uint32";
3555
+ readonly type: "uint32";
3556
+ }, {
3557
+ readonly name: "value";
3558
+ readonly internalType: "uint256";
3559
+ readonly type: "uint256";
3560
+ }];
3561
+ }, {
3562
+ readonly name: "forwardedAmount";
3563
+ readonly internalType: "struct JBTokenAmount";
3564
+ readonly type: "tuple";
3565
+ readonly components: readonly [{
3566
+ readonly name: "token";
3567
+ readonly internalType: "address";
3568
+ readonly type: "address";
3569
+ }, {
3570
+ readonly name: "decimals";
3571
+ readonly internalType: "uint8";
3572
+ readonly type: "uint8";
3573
+ }, {
3574
+ readonly name: "currency";
3575
+ readonly internalType: "uint32";
3576
+ readonly type: "uint32";
3577
+ }, {
3578
+ readonly name: "value";
3579
+ readonly internalType: "uint256";
3580
+ readonly type: "uint256";
3581
+ }];
3582
+ }, {
3583
+ readonly name: "cashOutTaxRate";
3584
+ readonly internalType: "uint256";
3585
+ readonly type: "uint256";
3586
+ }, {
3587
+ readonly name: "beneficiary";
3588
+ readonly internalType: "address payable";
3589
+ readonly type: "address";
3590
+ }, {
3591
+ readonly name: "hookMetadata";
3592
+ readonly internalType: "bytes";
3593
+ readonly type: "bytes";
3594
+ }, {
3595
+ readonly name: "cashOutMetadata";
3596
+ readonly internalType: "bytes";
3597
+ readonly type: "bytes";
3598
+ }];
3599
+ }];
3600
+ readonly name: "afterCashOutRecordedWith";
3601
+ readonly outputs: readonly [];
3602
+ readonly stateMutability: "payable";
3603
+ }, {
3604
+ readonly type: "function";
3605
+ readonly inputs: readonly [{
3606
+ readonly name: "revnetId";
3607
+ readonly internalType: "uint256";
3608
+ readonly type: "uint256";
3609
+ }, {
3610
+ readonly name: "stageId";
3611
+ readonly internalType: "uint256";
3612
+ readonly type: "uint256";
3613
+ }, {
3614
+ readonly name: "beneficiary";
3615
+ readonly internalType: "address";
3616
+ readonly type: "address";
3617
+ }];
3618
+ readonly name: "amountToAutoIssue";
3619
+ readonly outputs: readonly [{
3620
+ readonly name: "count";
3621
+ readonly internalType: "uint256";
3622
+ readonly type: "uint256";
3623
+ }];
3624
+ readonly stateMutability: "view";
3625
+ }, {
3626
+ readonly type: "function";
3627
+ readonly inputs: readonly [{
3628
+ readonly name: "revnetId";
3629
+ readonly internalType: "uint256";
3630
+ readonly type: "uint256";
3631
+ }, {
3632
+ readonly name: "stageId";
3633
+ readonly internalType: "uint256";
3634
+ readonly type: "uint256";
3635
+ }, {
3636
+ readonly name: "beneficiary";
3637
+ readonly internalType: "address";
3638
+ readonly type: "address";
3639
+ }];
3640
+ readonly name: "autoIssueFor";
3641
+ readonly outputs: readonly [];
3642
+ readonly stateMutability: "nonpayable";
3643
+ }, {
3644
+ readonly type: "function";
3645
+ readonly inputs: readonly [{
3646
+ readonly name: "context";
3647
+ readonly internalType: "struct JBBeforeCashOutRecordedContext";
3648
+ readonly type: "tuple";
3649
+ readonly components: readonly [{
3650
+ readonly name: "terminal";
3651
+ readonly internalType: "address";
3652
+ readonly type: "address";
3653
+ }, {
3654
+ readonly name: "holder";
3655
+ readonly internalType: "address";
3656
+ readonly type: "address";
3657
+ }, {
3658
+ readonly name: "projectId";
3659
+ readonly internalType: "uint256";
3660
+ readonly type: "uint256";
3661
+ }, {
3662
+ readonly name: "rulesetId";
3663
+ readonly internalType: "uint256";
3664
+ readonly type: "uint256";
3665
+ }, {
3666
+ readonly name: "cashOutCount";
3667
+ readonly internalType: "uint256";
3668
+ readonly type: "uint256";
3669
+ }, {
3670
+ readonly name: "totalSupply";
3671
+ readonly internalType: "uint256";
3672
+ readonly type: "uint256";
3673
+ }, {
3674
+ readonly name: "surplus";
3675
+ readonly internalType: "struct JBTokenAmount";
3676
+ readonly type: "tuple";
3677
+ readonly components: readonly [{
3678
+ readonly name: "token";
3679
+ readonly internalType: "address";
3680
+ readonly type: "address";
3681
+ }, {
3682
+ readonly name: "decimals";
3683
+ readonly internalType: "uint8";
3684
+ readonly type: "uint8";
3685
+ }, {
3686
+ readonly name: "currency";
3687
+ readonly internalType: "uint32";
3688
+ readonly type: "uint32";
3689
+ }, {
3690
+ readonly name: "value";
3691
+ readonly internalType: "uint256";
3692
+ readonly type: "uint256";
3693
+ }];
3694
+ }, {
3695
+ readonly name: "scopeCashOutsToLocalBalances";
3696
+ readonly internalType: "bool";
3697
+ readonly type: "bool";
3698
+ }, {
3699
+ readonly name: "cashOutTaxRate";
3700
+ readonly internalType: "uint256";
3701
+ readonly type: "uint256";
3702
+ }, {
3703
+ readonly name: "beneficiaryIsFeeless";
3704
+ readonly internalType: "bool";
3705
+ readonly type: "bool";
3706
+ }, {
3707
+ readonly name: "metadata";
3708
+ readonly internalType: "bytes";
3709
+ readonly type: "bytes";
3710
+ }];
3711
+ }];
3712
+ readonly name: "beforeCashOutRecordedWith";
3713
+ readonly outputs: readonly [{
3714
+ readonly name: "cashOutTaxRate";
3715
+ readonly internalType: "uint256";
3716
+ readonly type: "uint256";
3717
+ }, {
3718
+ readonly name: "cashOutCount";
3719
+ readonly internalType: "uint256";
3720
+ readonly type: "uint256";
3721
+ }, {
3722
+ readonly name: "totalSupply";
3723
+ readonly internalType: "uint256";
3724
+ readonly type: "uint256";
3725
+ }, {
3726
+ readonly name: "effectiveSurplusValue";
3727
+ readonly internalType: "uint256";
3728
+ readonly type: "uint256";
3729
+ }, {
3730
+ readonly name: "hookSpecifications";
3731
+ readonly internalType: "struct JBCashOutHookSpecification[]";
3732
+ readonly type: "tuple[]";
3733
+ readonly components: readonly [{
3734
+ readonly name: "hook";
3735
+ readonly internalType: "contract IJBCashOutHook";
3736
+ readonly type: "address";
3737
+ }, {
3738
+ readonly name: "noop";
3739
+ readonly internalType: "bool";
3740
+ readonly type: "bool";
3741
+ }, {
3742
+ readonly name: "amount";
3743
+ readonly internalType: "uint256";
3744
+ readonly type: "uint256";
3745
+ }, {
3746
+ readonly name: "metadata";
3747
+ readonly internalType: "bytes";
3748
+ readonly type: "bytes";
3749
+ }];
3750
+ }];
3751
+ readonly stateMutability: "view";
3752
+ }, {
3753
+ readonly type: "function";
3754
+ readonly inputs: readonly [{
3755
+ readonly name: "context";
3756
+ readonly internalType: "struct JBBeforePayRecordedContext";
3757
+ readonly type: "tuple";
3758
+ readonly components: readonly [{
3759
+ readonly name: "terminal";
3760
+ readonly internalType: "address";
3761
+ readonly type: "address";
3762
+ }, {
3763
+ readonly name: "payer";
3764
+ readonly internalType: "address";
3765
+ readonly type: "address";
3766
+ }, {
3767
+ readonly name: "amount";
3768
+ readonly internalType: "struct JBTokenAmount";
3769
+ readonly type: "tuple";
3770
+ readonly components: readonly [{
3771
+ readonly name: "token";
3772
+ readonly internalType: "address";
3773
+ readonly type: "address";
3774
+ }, {
3775
+ readonly name: "decimals";
3776
+ readonly internalType: "uint8";
3777
+ readonly type: "uint8";
3778
+ }, {
3779
+ readonly name: "currency";
3780
+ readonly internalType: "uint32";
3781
+ readonly type: "uint32";
3782
+ }, {
3783
+ readonly name: "value";
3784
+ readonly internalType: "uint256";
3785
+ readonly type: "uint256";
3786
+ }];
3787
+ }, {
3788
+ readonly name: "projectId";
3789
+ readonly internalType: "uint256";
3790
+ readonly type: "uint256";
3791
+ }, {
3792
+ readonly name: "rulesetId";
3793
+ readonly internalType: "uint256";
3794
+ readonly type: "uint256";
3795
+ }, {
3796
+ readonly name: "beneficiary";
3797
+ readonly internalType: "address";
3798
+ readonly type: "address";
3799
+ }, {
3800
+ readonly name: "weight";
3801
+ readonly internalType: "uint256";
3802
+ readonly type: "uint256";
3803
+ }, {
3804
+ readonly name: "reservedPercent";
3805
+ readonly internalType: "uint256";
3806
+ readonly type: "uint256";
3807
+ }, {
3808
+ readonly name: "metadata";
3809
+ readonly internalType: "bytes";
3810
+ readonly type: "bytes";
3811
+ }];
3812
+ }];
3813
+ readonly name: "beforePayRecordedWith";
3814
+ readonly outputs: readonly [{
3815
+ readonly name: "weight";
3816
+ readonly internalType: "uint256";
3817
+ readonly type: "uint256";
3818
+ }, {
3819
+ readonly name: "hookSpecifications";
3820
+ readonly internalType: "struct JBPayHookSpecification[]";
3821
+ readonly type: "tuple[]";
3822
+ readonly components: readonly [{
3823
+ readonly name: "hook";
3824
+ readonly internalType: "contract IJBPayHook";
3825
+ readonly type: "address";
3826
+ }, {
3827
+ readonly name: "noop";
3828
+ readonly internalType: "bool";
3829
+ readonly type: "bool";
3830
+ }, {
3831
+ readonly name: "amount";
3832
+ readonly internalType: "uint256";
3833
+ readonly type: "uint256";
3834
+ }, {
3835
+ readonly name: "metadata";
3836
+ readonly internalType: "bytes";
3837
+ readonly type: "bytes";
3838
+ }];
3839
+ }];
3840
+ readonly stateMutability: "view";
3841
+ }, {
3842
+ readonly type: "function";
3843
+ readonly inputs: readonly [{
3844
+ readonly name: "revnetId";
3845
+ readonly internalType: "uint256";
3846
+ readonly type: "uint256";
3847
+ }];
3848
+ readonly name: "burnHeldTokensOf";
3849
+ readonly outputs: readonly [];
3850
+ readonly stateMutability: "nonpayable";
3851
+ }, {
3852
+ readonly type: "function";
3853
+ readonly inputs: readonly [{
3854
+ readonly name: "revnetId";
3855
+ readonly internalType: "uint256";
3856
+ readonly type: "uint256";
3857
+ }];
3858
+ readonly name: "cashOutDelayOf";
3859
+ readonly outputs: readonly [{
3860
+ readonly name: "cashOutDelay";
3861
+ readonly internalType: "uint256";
3862
+ readonly type: "uint256";
3863
+ }];
3864
+ readonly stateMutability: "view";
3865
+ }, {
3866
+ readonly type: "function";
3867
+ readonly inputs: readonly [];
3868
+ readonly name: "deployer";
3869
+ readonly outputs: readonly [{
3870
+ readonly name: "";
3871
+ readonly internalType: "contract IREVDeployer";
3872
+ readonly type: "address";
3873
+ }];
3874
+ readonly stateMutability: "view";
3875
+ }, {
3876
+ readonly type: "function";
3877
+ readonly inputs: readonly [{
3878
+ readonly name: "revnetId";
3879
+ readonly internalType: "uint256";
3880
+ readonly type: "uint256";
3881
+ }, {
3882
+ readonly name: "ruleset";
3883
+ readonly internalType: "struct JBRuleset";
3884
+ readonly type: "tuple";
3885
+ readonly components: readonly [{
3886
+ readonly name: "cycleNumber";
3887
+ readonly internalType: "uint48";
3888
+ readonly type: "uint48";
3889
+ }, {
3890
+ readonly name: "id";
3891
+ readonly internalType: "uint48";
3892
+ readonly type: "uint48";
3893
+ }, {
3894
+ readonly name: "basedOnId";
3895
+ readonly internalType: "uint48";
3896
+ readonly type: "uint48";
3897
+ }, {
3898
+ readonly name: "start";
3899
+ readonly internalType: "uint48";
3900
+ readonly type: "uint48";
3901
+ }, {
3902
+ readonly name: "duration";
3903
+ readonly internalType: "uint32";
3904
+ readonly type: "uint32";
3905
+ }, {
3906
+ readonly name: "weight";
3907
+ readonly internalType: "uint112";
3908
+ readonly type: "uint112";
3909
+ }, {
3910
+ readonly name: "weightCutPercent";
3911
+ readonly internalType: "uint32";
3912
+ readonly type: "uint32";
3913
+ }, {
3914
+ readonly name: "approvalHook";
3915
+ readonly internalType: "contract IJBRulesetApprovalHook";
3916
+ readonly type: "address";
3917
+ }, {
3918
+ readonly name: "metadata";
3919
+ readonly internalType: "uint256";
3920
+ readonly type: "uint256";
3921
+ }];
3922
+ }, {
3923
+ readonly name: "addr";
3924
+ readonly internalType: "address";
3925
+ readonly type: "address";
3926
+ }];
3927
+ readonly name: "hasMintPermissionFor";
3928
+ readonly outputs: readonly [{
3929
+ readonly name: "";
3930
+ readonly internalType: "bool";
3931
+ readonly type: "bool";
3932
+ }];
3933
+ readonly stateMutability: "view";
3934
+ }, {
3935
+ readonly type: "function";
3936
+ readonly inputs: readonly [{
3937
+ readonly name: "revnetId";
3938
+ readonly internalType: "uint256";
3939
+ readonly type: "uint256";
3940
+ }, {
3941
+ readonly name: "init";
3942
+ readonly internalType: "struct REVOwnerRevnetInit";
3943
+ readonly type: "tuple";
3944
+ readonly components: readonly [{
3945
+ readonly name: "cashOutDelay";
3946
+ readonly internalType: "uint256";
3947
+ readonly type: "uint256";
3948
+ }, {
3949
+ readonly name: "tiered721Hook";
3950
+ readonly internalType: "contract IJB721TiersHook";
3951
+ readonly type: "address";
3952
+ }, {
3953
+ readonly name: "operator";
3954
+ readonly internalType: "address";
3955
+ readonly type: "address";
3956
+ }, {
3957
+ readonly name: "extraOperatorPermissionIds";
3958
+ readonly internalType: "uint256[]";
3959
+ readonly type: "uint256[]";
3960
+ }, {
3961
+ readonly name: "autoIssuances";
3962
+ readonly internalType: "struct REVOwnerAutoIssuance[]";
3963
+ readonly type: "tuple[]";
3964
+ readonly components: readonly [{
3965
+ readonly name: "stageId";
3966
+ readonly internalType: "uint256";
3967
+ readonly type: "uint256";
3968
+ }, {
3969
+ readonly name: "beneficiary";
3970
+ readonly internalType: "address";
3971
+ readonly type: "address";
3972
+ }, {
3973
+ readonly name: "count";
3974
+ readonly internalType: "uint256";
3975
+ readonly type: "uint256";
3976
+ }];
3977
+ }, {
3978
+ readonly name: "extraGrants";
3979
+ readonly internalType: "struct REVOwnerExtraGrant[]";
3980
+ readonly type: "tuple[]";
3981
+ readonly components: readonly [{
3982
+ readonly name: "operator";
3983
+ readonly internalType: "address";
3984
+ readonly type: "address";
3985
+ }, {
3986
+ readonly name: "permissionId";
3987
+ readonly internalType: "uint8";
3988
+ readonly type: "uint8";
3989
+ }];
3990
+ }];
3991
+ }];
3992
+ readonly name: "initializeRevnet";
3993
+ readonly outputs: readonly [];
3994
+ readonly stateMutability: "nonpayable";
3995
+ }, {
3996
+ readonly type: "function";
3997
+ readonly inputs: readonly [{
3998
+ readonly name: "revnetId";
3999
+ readonly internalType: "uint256";
4000
+ readonly type: "uint256";
4001
+ }, {
4002
+ readonly name: "addr";
4003
+ readonly internalType: "address";
4004
+ readonly type: "address";
4005
+ }];
4006
+ readonly name: "isOperatorOf";
4007
+ readonly outputs: readonly [{
4008
+ readonly name: "";
4009
+ readonly internalType: "bool";
4010
+ readonly type: "bool";
4011
+ }];
4012
+ readonly stateMutability: "view";
4013
+ }, {
4014
+ readonly type: "function";
4015
+ readonly inputs: readonly [{
4016
+ readonly name: "forwarder";
4017
+ readonly internalType: "address";
4018
+ readonly type: "address";
4019
+ }];
4020
+ readonly name: "isTrustedForwarder";
4021
+ readonly outputs: readonly [{
4022
+ readonly name: "";
4023
+ readonly internalType: "bool";
4024
+ readonly type: "bool";
4025
+ }];
4026
+ readonly stateMutability: "view";
4027
+ }, {
4028
+ readonly type: "function";
4029
+ readonly inputs: readonly [{
4030
+ readonly name: "";
4031
+ readonly internalType: "address";
4032
+ readonly type: "address";
4033
+ }, {
4034
+ readonly name: "";
4035
+ readonly internalType: "address";
4036
+ readonly type: "address";
4037
+ }, {
4038
+ readonly name: "";
4039
+ readonly internalType: "uint256";
4040
+ readonly type: "uint256";
4041
+ }, {
4042
+ readonly name: "";
4043
+ readonly internalType: "bytes";
4044
+ readonly type: "bytes";
4045
+ }];
4046
+ readonly name: "onERC721Received";
4047
+ readonly outputs: readonly [{
4048
+ readonly name: "";
4049
+ readonly internalType: "bytes4";
4050
+ readonly type: "bytes4";
4051
+ }];
4052
+ readonly stateMutability: "view";
4053
+ }, {
4054
+ readonly type: "function";
4055
+ readonly inputs: readonly [{
4056
+ readonly name: "revnetId";
4057
+ readonly internalType: "uint256";
4058
+ readonly type: "uint256";
4059
+ }];
4060
+ readonly name: "peerChainAdjustedAccountsOf";
4061
+ readonly outputs: readonly [{
4062
+ readonly name: "supply";
4063
+ readonly internalType: "uint256";
4064
+ readonly type: "uint256";
4065
+ }, {
4066
+ readonly name: "contexts";
4067
+ readonly internalType: "struct JBSourceContext[]";
4068
+ readonly type: "tuple[]";
4069
+ readonly components: readonly [{
4070
+ readonly name: "token";
4071
+ readonly internalType: "bytes32";
4072
+ readonly type: "bytes32";
4073
+ }, {
4074
+ readonly name: "decimals";
4075
+ readonly internalType: "uint8";
4076
+ readonly type: "uint8";
4077
+ }, {
4078
+ readonly name: "surplus";
4079
+ readonly internalType: "uint128";
4080
+ readonly type: "uint128";
4081
+ }, {
4082
+ readonly name: "balance";
4083
+ readonly internalType: "uint128";
4084
+ readonly type: "uint128";
4085
+ }];
4086
+ }];
4087
+ readonly stateMutability: "view";
4088
+ }, {
4089
+ readonly type: "function";
4090
+ readonly inputs: readonly [{
4091
+ readonly name: "newDeployer";
4092
+ readonly internalType: "contract IREVDeployer";
4093
+ readonly type: "address";
4094
+ }];
4095
+ readonly name: "setDeployer";
4096
+ readonly outputs: readonly [];
4097
+ readonly stateMutability: "nonpayable";
4098
+ }, {
4099
+ readonly type: "function";
4100
+ readonly inputs: readonly [{
4101
+ readonly name: "revnetId";
4102
+ readonly internalType: "uint256";
4103
+ readonly type: "uint256";
4104
+ }, {
4105
+ readonly name: "newOperator";
4106
+ readonly internalType: "address";
4107
+ readonly type: "address";
4108
+ }];
4109
+ readonly name: "setOperatorOf";
4110
+ readonly outputs: readonly [];
4111
+ readonly stateMutability: "nonpayable";
4112
+ }, {
4113
+ readonly type: "function";
4114
+ readonly inputs: readonly [{
4115
+ readonly name: "interfaceId";
4116
+ readonly internalType: "bytes4";
4117
+ readonly type: "bytes4";
4118
+ }];
4119
+ readonly name: "supportsInterface";
4120
+ readonly outputs: readonly [{
4121
+ readonly name: "flag";
4122
+ readonly internalType: "bool";
4123
+ readonly type: "bool";
4124
+ }];
4125
+ readonly stateMutability: "view";
4126
+ }, {
4127
+ readonly type: "function";
4128
+ readonly inputs: readonly [{
4129
+ readonly name: "revnetId";
4130
+ readonly internalType: "uint256";
4131
+ readonly type: "uint256";
4132
+ }];
4133
+ readonly name: "tiered721HookOf";
4134
+ readonly outputs: readonly [{
4135
+ readonly name: "tiered721Hook";
4136
+ readonly internalType: "contract IJB721TiersHook";
4137
+ readonly type: "address";
4138
+ }];
4139
+ readonly stateMutability: "view";
4140
+ }, {
4141
+ readonly type: "function";
4142
+ readonly inputs: readonly [];
4143
+ readonly name: "trustedForwarder";
4144
+ readonly outputs: readonly [{
4145
+ readonly name: "";
4146
+ readonly internalType: "address";
4147
+ readonly type: "address";
4148
+ }];
4149
+ readonly stateMutability: "view";
4150
+ }, {
4151
+ readonly type: "event";
4152
+ readonly anonymous: false;
4153
+ readonly inputs: readonly [{
4154
+ readonly name: "revnetId";
4155
+ readonly internalType: "uint256";
4156
+ readonly type: "uint256";
4157
+ readonly indexed: true;
4158
+ }, {
4159
+ readonly name: "stageId";
4160
+ readonly internalType: "uint256";
4161
+ readonly type: "uint256";
4162
+ readonly indexed: true;
4163
+ }, {
4164
+ readonly name: "beneficiary";
4165
+ readonly internalType: "address";
4166
+ readonly type: "address";
4167
+ readonly indexed: true;
4168
+ }, {
4169
+ readonly name: "count";
4170
+ readonly internalType: "uint256";
4171
+ readonly type: "uint256";
4172
+ readonly indexed: false;
4173
+ }, {
4174
+ readonly name: "caller";
4175
+ readonly internalType: "address";
4176
+ readonly type: "address";
4177
+ readonly indexed: false;
4178
+ }];
4179
+ readonly name: "AutoIssue";
4180
+ }, {
4181
+ readonly type: "event";
4182
+ readonly anonymous: false;
4183
+ readonly inputs: readonly [{
4184
+ readonly name: "revnetId";
4185
+ readonly internalType: "uint256";
4186
+ readonly type: "uint256";
4187
+ readonly indexed: true;
4188
+ }, {
4189
+ readonly name: "count";
4190
+ readonly internalType: "uint256";
4191
+ readonly type: "uint256";
4192
+ readonly indexed: false;
4193
+ }, {
4194
+ readonly name: "caller";
4195
+ readonly internalType: "address";
4196
+ readonly type: "address";
4197
+ readonly indexed: false;
4198
+ }];
4199
+ readonly name: "BurnHeldTokens";
4200
+ }, {
4201
+ readonly type: "event";
4202
+ readonly anonymous: false;
4203
+ readonly inputs: readonly [{
4204
+ readonly name: "revnetId";
4205
+ readonly internalType: "uint256";
4206
+ readonly type: "uint256";
4207
+ readonly indexed: true;
4208
+ }, {
4209
+ readonly name: "caller";
4210
+ readonly internalType: "address";
4211
+ readonly type: "address";
4212
+ readonly indexed: false;
4213
+ }];
4214
+ readonly name: "InitializeRevnet";
4215
+ }, {
4216
+ readonly type: "event";
4217
+ readonly anonymous: false;
4218
+ readonly inputs: readonly [{
4219
+ readonly name: "revnetId";
4220
+ readonly internalType: "uint256";
4221
+ readonly type: "uint256";
4222
+ readonly indexed: true;
4223
+ }, {
4224
+ readonly name: "newOperator";
4225
+ readonly internalType: "address";
4226
+ readonly type: "address";
4227
+ readonly indexed: true;
4228
+ }, {
4229
+ readonly name: "caller";
4230
+ readonly internalType: "address";
4231
+ readonly type: "address";
4232
+ readonly indexed: false;
4233
+ }];
4234
+ readonly name: "ReplaceOperator";
4235
+ }, {
4236
+ readonly type: "error";
4237
+ readonly inputs: readonly [{
4238
+ readonly name: "x";
4239
+ readonly internalType: "uint256";
4240
+ readonly type: "uint256";
4241
+ }, {
4242
+ readonly name: "y";
4243
+ readonly internalType: "uint256";
4244
+ readonly type: "uint256";
4245
+ }, {
4246
+ readonly name: "denominator";
4247
+ readonly internalType: "uint256";
4248
+ readonly type: "uint256";
4249
+ }];
4250
+ readonly name: "PRBMath_MulDiv_Overflow";
4251
+ }, {
4252
+ readonly type: "error";
4253
+ readonly inputs: readonly [{
4254
+ readonly name: "deployer";
4255
+ readonly internalType: "address";
4256
+ readonly type: "address";
4257
+ }];
4258
+ readonly name: "REVOwner_AlreadyInitialized";
4259
+ }, {
4260
+ readonly type: "error";
4261
+ readonly inputs: readonly [{
4262
+ readonly name: "cashOutDelay";
4263
+ readonly internalType: "uint256";
4264
+ readonly type: "uint256";
4265
+ }, {
4266
+ readonly name: "blockTimestamp";
4267
+ readonly internalType: "uint256";
4268
+ readonly type: "uint256";
4269
+ }];
4270
+ readonly name: "REVOwner_CashOutDelayNotFinished";
4271
+ }, {
4272
+ readonly type: "error";
4273
+ readonly inputs: readonly [{
4274
+ readonly name: "revnetId";
4275
+ readonly internalType: "uint256";
4276
+ readonly type: "uint256";
4277
+ }, {
4278
+ readonly name: "token";
4279
+ readonly internalType: "address";
4280
+ readonly type: "address";
4281
+ }];
4282
+ readonly name: "REVOwner_InvalidLoanSourceToken";
4283
+ }, {
4284
+ readonly type: "error";
4285
+ readonly inputs: readonly [{
4286
+ readonly name: "expected";
4287
+ readonly internalType: "uint256";
4288
+ readonly type: "uint256";
4289
+ }, {
4290
+ readonly name: "actual";
4291
+ readonly internalType: "uint256";
4292
+ readonly type: "uint256";
4293
+ }];
4294
+ readonly name: "REVOwner_NativeFeeValueMismatch";
4295
+ }, {
4296
+ readonly type: "error";
4297
+ readonly inputs: readonly [{
4298
+ readonly name: "revnetId";
4299
+ readonly internalType: "uint256";
4300
+ readonly type: "uint256";
4301
+ }, {
4302
+ readonly name: "stageId";
4303
+ readonly internalType: "uint256";
4304
+ readonly type: "uint256";
4305
+ }, {
4306
+ readonly name: "beneficiary";
4307
+ readonly internalType: "address";
4308
+ readonly type: "address";
4309
+ }];
4310
+ readonly name: "REVOwner_NothingToAutoIssue";
4311
+ }, {
4312
+ readonly type: "error";
4313
+ readonly inputs: readonly [{
4314
+ readonly name: "revnetId";
4315
+ readonly internalType: "uint256";
4316
+ readonly type: "uint256";
4317
+ }, {
4318
+ readonly name: "holder";
4319
+ readonly internalType: "address";
4320
+ readonly type: "address";
4321
+ }];
4322
+ readonly name: "REVOwner_NothingToBurn";
4323
+ }, {
4324
+ readonly type: "error";
4325
+ readonly inputs: readonly [{
4326
+ readonly name: "value";
4327
+ readonly internalType: "uint256";
4328
+ readonly type: "uint256";
4329
+ }, {
4330
+ readonly name: "limit";
4331
+ readonly internalType: "uint256";
4332
+ readonly type: "uint256";
4333
+ }];
4334
+ readonly name: "REVOwner_OverflowAlert";
4335
+ }, {
4336
+ readonly type: "error";
4337
+ readonly inputs: readonly [{
4338
+ readonly name: "stageId";
4339
+ readonly internalType: "uint256";
4340
+ readonly type: "uint256";
4341
+ }];
4342
+ readonly name: "REVOwner_StageNotStarted";
4343
+ }, {
4344
+ readonly type: "error";
4345
+ readonly inputs: readonly [{
4346
+ readonly name: "count";
4347
+ readonly internalType: "uint256";
4348
+ readonly type: "uint256";
4349
+ }];
4350
+ readonly name: "REVOwner_TooManyBuybackHookSpecifications";
4351
+ }, {
4352
+ readonly type: "error";
4353
+ readonly inputs: readonly [{
4354
+ readonly name: "caller";
4355
+ readonly internalType: "address";
4356
+ readonly type: "address";
4357
+ }, {
4358
+ readonly name: "expectedCaller";
4359
+ readonly internalType: "address";
4360
+ readonly type: "address";
4361
+ }];
4362
+ readonly name: "REVOwner_Unauthorized";
4363
+ }, {
4364
+ readonly type: "error";
4365
+ readonly inputs: readonly [{
4366
+ readonly name: "revnetId";
4367
+ readonly internalType: "uint256";
4368
+ readonly type: "uint256";
4369
+ }, {
4370
+ readonly name: "caller";
4371
+ readonly internalType: "address";
4372
+ readonly type: "address";
4373
+ }];
4374
+ readonly name: "REVOwner_UnauthorizedOperator";
4375
+ }, {
4376
+ readonly type: "error";
4377
+ readonly inputs: readonly [{
4378
+ readonly name: "revnetId";
4379
+ readonly internalType: "uint256";
4380
+ readonly type: "uint256";
4381
+ }, {
4382
+ readonly name: "pricingCurrency";
4383
+ readonly internalType: "uint256";
4384
+ readonly type: "uint256";
4385
+ }, {
4386
+ readonly name: "unitCurrency";
4387
+ readonly internalType: "uint256";
4388
+ readonly type: "uint256";
4389
+ }];
4390
+ readonly name: "REVOwner_ZeroPrice";
4391
+ }, {
4392
+ readonly type: "error";
4393
+ readonly inputs: readonly [{
4394
+ readonly name: "spender";
4395
+ readonly internalType: "address";
4396
+ readonly type: "address";
4397
+ }, {
4398
+ readonly name: "currentAllowance";
4399
+ readonly internalType: "uint256";
4400
+ readonly type: "uint256";
4401
+ }, {
4402
+ readonly name: "requestedDecrease";
4403
+ readonly internalType: "uint256";
4404
+ readonly type: "uint256";
4405
+ }];
4406
+ readonly name: "SafeERC20FailedDecreaseAllowance";
4407
+ }, {
4408
+ readonly type: "error";
4409
+ readonly inputs: readonly [{
4410
+ readonly name: "token";
4411
+ readonly internalType: "address";
4412
+ readonly type: "address";
4413
+ }];
4414
+ readonly name: "SafeERC20FailedOperation";
4415
+ }];
4416
+ functionName: "autoIssueFor";
4417
+ args: readonly [bigint, bigint, `0x${string}`];
4418
+ };
4419
+ /**
4420
+ * Read the token count (18-decimal fixed point) still available to
4421
+ * auto-issue to a beneficiary for a given stage.
4422
+ */
4423
+ export declare function getAmountToAutoIssue(client: PublicClient, args: {
4424
+ chainId: JBChainId;
4425
+ revnetId: bigint;
4426
+ stageId: bigint;
4427
+ beneficiary: Address;
4428
+ }): Promise<bigint>;
4429
+ /**
4430
+ * Read the timestamp when cash outs become available to the revnet's
4431
+ * participants (only set when an EXISTING revnet deploys onto a new
4432
+ * network). 0 or a past timestamp means cash outs are live. Loans are also
4433
+ * unavailable while the delay is active.
4434
+ */
4435
+ export declare function getCashOutDelay(client: PublicClient, args: {
4436
+ chainId: JBChainId;
4437
+ revnetId: bigint;
4438
+ }): Promise<bigint>;
4439
+ /**
4440
+ * Read whether an address is the revnet's current operator (the account that
4441
+ * can manage splits and other operator-scoped powers).
4442
+ */
4443
+ export declare function isRevnetOperator(client: PublicClient, args: {
4444
+ chainId: JBChainId;
4445
+ revnetId: bigint;
4446
+ operator: Address;
4447
+ }): Promise<boolean>;
4448
+ /**
4449
+ * Read the tiered 721 hook deployed for the revnet (zero address if the
4450
+ * revnet was deployed without one).
4451
+ */
4452
+ export declare function getRevnetTiered721Hook(client: PublicClient, args: {
4453
+ chainId: JBChainId;
4454
+ revnetId: bigint;
4455
+ }): Promise<Address>;
4456
+ export {};
4457
+ //# sourceMappingURL=revnets.d.ts.map