@bananapus/nana-sdk-core 1.1.0 → 1.2.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 (174) hide show
  1. package/dist/cjs/actions/JBSuckerAbi.js +4 -1
  2. package/dist/cjs/actions/JBSuckerAbi.js.map +1 -1
  3. package/dist/cjs/actions/dataHook.js +26 -22
  4. package/dist/cjs/actions/dataHook.js.map +1 -1
  5. package/dist/cjs/actions/projectMetadata.js +12 -8
  6. package/dist/cjs/actions/projectMetadata.js.map +1 -1
  7. package/dist/cjs/actions/suckerPairs.js +21 -17
  8. package/dist/cjs/actions/suckerPairs.js.map +1 -1
  9. package/dist/cjs/constants.d.ts +8 -2
  10. package/dist/cjs/constants.d.ts.map +1 -1
  11. package/dist/cjs/constants.js +97 -85
  12. package/dist/cjs/constants.js.map +1 -1
  13. package/dist/cjs/contracts.js +22 -19
  14. package/dist/cjs/contracts.js.map +1 -1
  15. package/dist/cjs/generated/juicebox.d.ts +36 -0
  16. package/dist/cjs/generated/juicebox.d.ts.map +1 -1
  17. package/dist/cjs/generated/juicebox.js +130 -90
  18. package/dist/cjs/generated/juicebox.js.map +1 -1
  19. package/dist/cjs/index.js +24 -8
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/package.json +1 -0
  22. package/dist/cjs/types.js +15 -4
  23. package/dist/cjs/types.js.map +1 -1
  24. package/dist/cjs/utils/contracts.js +19 -14
  25. package/dist/cjs/utils/contracts.js.map +1 -1
  26. package/dist/cjs/utils/data.js +23 -13
  27. package/dist/cjs/utils/data.js.map +1 -1
  28. package/dist/cjs/utils/data.test.js +19 -17
  29. package/dist/cjs/utils/data.test.js.map +1 -1
  30. package/dist/cjs/utils/debug.js +4 -1
  31. package/dist/cjs/utils/debug.js.map +1 -1
  32. package/dist/cjs/utils/deploy.d.ts +17 -0
  33. package/dist/cjs/utils/deploy.d.ts.map +1 -1
  34. package/dist/cjs/utils/deploy.js +63 -27
  35. package/dist/cjs/utils/deploy.js.map +1 -1
  36. package/dist/cjs/utils/deploy.test.js +56 -13
  37. package/dist/cjs/utils/deploy.test.js.map +1 -1
  38. package/dist/cjs/utils/fee.js +6 -3
  39. package/dist/cjs/utils/fee.js.map +1 -1
  40. package/dist/cjs/utils/fee.test.js +8 -6
  41. package/dist/cjs/utils/fee.test.js.map +1 -1
  42. package/dist/cjs/utils/format.js +11 -6
  43. package/dist/cjs/utils/format.js.map +1 -1
  44. package/dist/cjs/utils/format.test.js +11 -9
  45. package/dist/cjs/utils/format.test.js.map +1 -1
  46. package/dist/cjs/utils/hook.js +9 -6
  47. package/dist/cjs/utils/hook.js.map +1 -1
  48. package/dist/cjs/utils/index.js +28 -12
  49. package/dist/cjs/utils/index.js.map +1 -1
  50. package/dist/cjs/utils/ipfs.js +14 -6
  51. package/dist/cjs/utils/ipfs.js.map +1 -1
  52. package/dist/cjs/utils/ipfs.test.js +23 -18
  53. package/dist/cjs/utils/ipfs.test.js.map +1 -1
  54. package/dist/cjs/utils/revnet.js +9 -5
  55. package/dist/cjs/utils/revnet.js.map +1 -1
  56. package/dist/cjs/utils/revnet.test.js +9 -7
  57. package/dist/cjs/utils/revnet.test.js.map +1 -1
  58. package/dist/cjs/utils/ruleset.js +11 -7
  59. package/dist/cjs/utils/ruleset.js.map +1 -1
  60. package/dist/cjs/utils/ruleset.test.js +9 -7
  61. package/dist/cjs/utils/ruleset.test.js.map +1 -1
  62. package/dist/cjs/utils/token.js +26 -19
  63. package/dist/cjs/utils/token.js.map +1 -1
  64. package/dist/cjs/utils/token.test.js +25 -23
  65. package/dist/cjs/utils/token.test.js.map +1 -1
  66. package/dist/cjs/utils/tx.js +6 -3
  67. package/dist/cjs/utils/tx.js.map +1 -1
  68. package/dist/cjs/utils/urn.js +9 -5
  69. package/dist/cjs/utils/urn.js.map +1 -1
  70. package/dist/cjs/utils/urn.test.js +71 -69
  71. package/dist/cjs/utils/urn.test.js.map +1 -1
  72. package/dist/cjs/v6/cashOut.d.ts +5 -0
  73. package/dist/cjs/v6/cashOut.d.ts.map +1 -1
  74. package/dist/cjs/v6/cashOut.js +19 -10
  75. package/dist/cjs/v6/cashOut.js.map +1 -1
  76. package/dist/cjs/v6/cashOut.test.js +42 -40
  77. package/dist/cjs/v6/cashOut.test.js.map +1 -1
  78. package/dist/cjs/v6/currency.js +8 -4
  79. package/dist/cjs/v6/currency.js.map +1 -1
  80. package/dist/cjs/v6/currency.test.js +18 -16
  81. package/dist/cjs/v6/currency.test.js.map +1 -1
  82. package/dist/cjs/v6/fees.js +11 -6
  83. package/dist/cjs/v6/fees.js.map +1 -1
  84. package/dist/cjs/v6/fees.test.js +29 -27
  85. package/dist/cjs/v6/fees.test.js.map +1 -1
  86. package/dist/cjs/v6/index.js +31 -15
  87. package/dist/cjs/v6/index.js.map +1 -1
  88. package/dist/cjs/v6/launch.js +31 -23
  89. package/dist/cjs/v6/launch.js.map +1 -1
  90. package/dist/cjs/v6/launch.test.js +85 -83
  91. package/dist/cjs/v6/launch.test.js.map +1 -1
  92. package/dist/cjs/v6/loans.js +26 -19
  93. package/dist/cjs/v6/loans.js.map +1 -1
  94. package/dist/cjs/v6/loans.test.js +52 -50
  95. package/dist/cjs/v6/loans.test.js.map +1 -1
  96. package/dist/cjs/v6/omnichain.d.ts +6 -1
  97. package/dist/cjs/v6/omnichain.d.ts.map +1 -1
  98. package/dist/cjs/v6/omnichain.js +20 -12
  99. package/dist/cjs/v6/omnichain.js.map +1 -1
  100. package/dist/cjs/v6/omnichain.test.js +63 -61
  101. package/dist/cjs/v6/omnichain.test.js.map +1 -1
  102. package/dist/cjs/v6/pay.js +20 -15
  103. package/dist/cjs/v6/pay.js.map +1 -1
  104. package/dist/cjs/v6/pay.test.js +49 -47
  105. package/dist/cjs/v6/pay.test.js.map +1 -1
  106. package/dist/cjs/v6/permissions.js +14 -9
  107. package/dist/cjs/v6/permissions.js.map +1 -1
  108. package/dist/cjs/v6/permissions.test.js +47 -45
  109. package/dist/cjs/v6/permissions.test.js.map +1 -1
  110. package/dist/cjs/v6/revnets.d.ts +5 -3
  111. package/dist/cjs/v6/revnets.d.ts.map +1 -1
  112. package/dist/cjs/v6/revnets.js +43 -26
  113. package/dist/cjs/v6/revnets.js.map +1 -1
  114. package/dist/cjs/v6/revnets.test.js +80 -78
  115. package/dist/cjs/v6/revnets.test.js.map +1 -1
  116. package/dist/cjs/v6/rulesets.js +20 -14
  117. package/dist/cjs/v6/rulesets.js.map +1 -1
  118. package/dist/cjs/v6/rulesets.test.js +50 -48
  119. package/dist/cjs/v6/rulesets.test.js.map +1 -1
  120. package/dist/cjs/v6/splits.d.ts +3 -2
  121. package/dist/cjs/v6/splits.d.ts.map +1 -1
  122. package/dist/cjs/v6/splits.js +29 -18
  123. package/dist/cjs/v6/splits.js.map +1 -1
  124. package/dist/cjs/v6/splits.test.js +84 -80
  125. package/dist/cjs/v6/splits.test.js.map +1 -1
  126. package/dist/cjs/v6/suckers.js +22 -15
  127. package/dist/cjs/v6/suckers.js.map +1 -1
  128. package/dist/cjs/v6/suckers.test.js +57 -55
  129. package/dist/cjs/v6/suckers.test.js.map +1 -1
  130. package/dist/cjs/v6/terminals.js +15 -11
  131. package/dist/cjs/v6/terminals.js.map +1 -1
  132. package/dist/cjs/v6/terminals.test.js +30 -28
  133. package/dist/cjs/v6/terminals.test.js.map +1 -1
  134. package/dist/cjs/v6/tokens.js +34 -25
  135. package/dist/cjs/v6/tokens.js.map +1 -1
  136. package/dist/cjs/v6/tokens.test.js +66 -64
  137. package/dist/cjs/v6/tokens.test.js.map +1 -1
  138. package/dist/cjs/v6/types.js +6 -3
  139. package/dist/cjs/v6/types.js.map +1 -1
  140. package/dist/esm/constants.d.ts +8 -2
  141. package/dist/esm/constants.d.ts.map +1 -1
  142. package/dist/esm/constants.js +9 -1
  143. package/dist/esm/constants.js.map +1 -1
  144. package/dist/esm/generated/juicebox.d.ts +36 -0
  145. package/dist/esm/generated/juicebox.d.ts.map +1 -1
  146. package/dist/esm/generated/juicebox.js +36 -0
  147. package/dist/esm/generated/juicebox.js.map +1 -1
  148. package/dist/esm/utils/deploy.d.ts +17 -0
  149. package/dist/esm/utils/deploy.d.ts.map +1 -1
  150. package/dist/esm/utils/deploy.js +50 -18
  151. package/dist/esm/utils/deploy.js.map +1 -1
  152. package/dist/esm/utils/deploy.test.js +41 -0
  153. package/dist/esm/utils/deploy.test.js.map +1 -1
  154. package/dist/esm/v6/cashOut.d.ts +5 -0
  155. package/dist/esm/v6/cashOut.d.ts.map +1 -1
  156. package/dist/esm/v6/cashOut.js +5 -0
  157. package/dist/esm/v6/cashOut.js.map +1 -1
  158. package/dist/esm/v6/omnichain.d.ts +6 -1
  159. package/dist/esm/v6/omnichain.d.ts.map +1 -1
  160. package/dist/esm/v6/omnichain.js +6 -2
  161. package/dist/esm/v6/omnichain.js.map +1 -1
  162. package/dist/esm/v6/revnets.d.ts +5 -3
  163. package/dist/esm/v6/revnets.d.ts.map +1 -1
  164. package/dist/esm/v6/revnets.js +12 -4
  165. package/dist/esm/v6/revnets.js.map +1 -1
  166. package/dist/esm/v6/splits.d.ts +3 -2
  167. package/dist/esm/v6/splits.d.ts.map +1 -1
  168. package/dist/esm/v6/splits.js +9 -5
  169. package/dist/esm/v6/splits.js.map +1 -1
  170. package/dist/esm/v6/splits.test.js +8 -6
  171. package/dist/esm/v6/splits.test.js.map +1 -1
  172. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  173. package/dist/tsconfig.tsbuildinfo +1 -1
  174. package/package.json +2 -2
@@ -1,10 +1,12 @@
1
- import { decodeFunctionData, encodeFunctionData, parseEther, zeroAddress, } from "viem";
2
- import { sepolia } from "viem/chains";
3
- import { describe, expect, test } from "vitest";
4
- import { NATIVE_TOKEN, USDC_ADDRESSES } from "../constants.js";
5
- import { jbControllerAbi } from "../generated/juicebox.js";
6
- import { buildAccountingContext, buildLaunchProjectTx, buildRulesetConfiguration, buildRulesetMetadata, buildTerminalConfigurations, getProjectCreationFee, } from "./launch.js";
7
- import { v6Address } from "./types.js";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const viem_1 = require("viem");
4
+ const chains_1 = require("viem/chains");
5
+ const vitest_1 = require("vitest");
6
+ const constants_js_1 = require("../constants.js");
7
+ const juicebox_js_1 = require("../generated/juicebox.js");
8
+ const launch_js_1 = require("./launch.js");
9
+ const types_js_1 = require("./types.js");
8
10
  const OWNER = "0x000000000000000000000000000000000000dEaD";
9
11
  /** A stub PublicClient that records readContract calls. */
10
12
  function stubClient(returnValue, calls = []) {
@@ -16,118 +18,118 @@ function stubClient(returnValue, calls = []) {
16
18
  };
17
19
  return { client, calls };
18
20
  }
19
- describe("buildAccountingContext", () => {
20
- test("defaults to the native token (61166 currency, 18 decimals)", () => {
21
- expect(buildAccountingContext()).toEqual({
22
- token: NATIVE_TOKEN,
21
+ (0, vitest_1.describe)("buildAccountingContext", () => {
22
+ (0, vitest_1.test)("defaults to the native token (61166 currency, 18 decimals)", () => {
23
+ (0, vitest_1.expect)((0, launch_js_1.buildAccountingContext)()).toEqual({
24
+ token: constants_js_1.NATIVE_TOKEN,
23
25
  decimals: 18,
24
26
  currency: 61166,
25
27
  });
26
28
  });
27
- test("keys the currency off the token address", () => {
28
- const usdc = USDC_ADDRESSES[sepolia.id];
29
- const context = buildAccountingContext(usdc, 6);
30
- expect(context.token).toBe(usdc);
31
- expect(context.decimals).toBe(6);
32
- expect(context.currency).toBe(Number(BigInt(usdc) & 0xffffffffn));
29
+ (0, vitest_1.test)("keys the currency off the token address", () => {
30
+ const usdc = constants_js_1.USDC_ADDRESSES[chains_1.sepolia.id];
31
+ const context = (0, launch_js_1.buildAccountingContext)(usdc, 6);
32
+ (0, vitest_1.expect)(context.token).toBe(usdc);
33
+ (0, vitest_1.expect)(context.decimals).toBe(6);
34
+ (0, vitest_1.expect)(context.currency).toBe(Number(BigInt(usdc) & 0xffffffffn));
33
35
  });
34
- test("requires decimals for non-native tokens", () => {
35
- expect(() => buildAccountingContext(USDC_ADDRESSES[sepolia.id])).toThrow(/decimals is required/);
36
+ (0, vitest_1.test)("requires decimals for non-native tokens", () => {
37
+ (0, vitest_1.expect)(() => (0, launch_js_1.buildAccountingContext)(constants_js_1.USDC_ADDRESSES[chains_1.sepolia.id])).toThrow(/decimals is required/);
36
38
  });
37
39
  });
38
- describe("buildTerminalConfigurations", () => {
39
- test("pairs the multi terminal with the router registry (empty contexts)", () => {
40
- const configurations = buildTerminalConfigurations({
41
- chainId: sepolia.id,
40
+ (0, vitest_1.describe)("buildTerminalConfigurations", () => {
41
+ (0, vitest_1.test)("pairs the multi terminal with the router registry (empty contexts)", () => {
42
+ const configurations = (0, launch_js_1.buildTerminalConfigurations)({
43
+ chainId: chains_1.sepolia.id,
42
44
  });
43
- expect(configurations).toHaveLength(2);
44
- expect(configurations[0].terminal).toBe(v6Address("JBMultiTerminal", sepolia.id));
45
- expect(configurations[0].accountingContextsToAccept).toEqual([
46
- buildAccountingContext(),
45
+ (0, vitest_1.expect)(configurations).toHaveLength(2);
46
+ (0, vitest_1.expect)(configurations[0].terminal).toBe((0, types_js_1.v6Address)("JBMultiTerminal", chains_1.sepolia.id));
47
+ (0, vitest_1.expect)(configurations[0].accountingContextsToAccept).toEqual([
48
+ (0, launch_js_1.buildAccountingContext)(),
47
49
  ]);
48
- expect(configurations[1].terminal).toBe(v6Address("JBRouterTerminalRegistry", sepolia.id));
49
- expect(configurations[1].accountingContextsToAccept).toEqual([]);
50
+ (0, vitest_1.expect)(configurations[1].terminal).toBe((0, types_js_1.v6Address)("JBRouterTerminalRegistry", chains_1.sepolia.id));
51
+ (0, vitest_1.expect)(configurations[1].accountingContextsToAccept).toEqual([]);
50
52
  });
51
- test("accepts explicit accounting contexts", () => {
52
- const usdcContext = buildAccountingContext(USDC_ADDRESSES[sepolia.id], 6);
53
- const configurations = buildTerminalConfigurations({
54
- chainId: sepolia.id,
53
+ (0, vitest_1.test)("accepts explicit accounting contexts", () => {
54
+ const usdcContext = (0, launch_js_1.buildAccountingContext)(constants_js_1.USDC_ADDRESSES[chains_1.sepolia.id], 6);
55
+ const configurations = (0, launch_js_1.buildTerminalConfigurations)({
56
+ chainId: chains_1.sepolia.id,
55
57
  accountingContexts: [usdcContext],
56
58
  });
57
- expect(configurations[0].accountingContextsToAccept).toEqual([usdcContext]);
59
+ (0, vitest_1.expect)(configurations[0].accountingContextsToAccept).toEqual([usdcContext]);
58
60
  });
59
61
  });
60
- describe("buildRulesetMetadata", () => {
61
- test("uses safe v6 defaults", () => {
62
- const metadata = buildRulesetMetadata();
63
- expect(metadata.reservedPercent).toBe(0);
64
- expect(metadata.cashOutTaxRate).toBe(0);
65
- expect(metadata.baseCurrency).toBe(1);
66
- expect(metadata.scopeCashOutsToLocalBalances).toBe(false);
67
- expect(metadata.dataHook).toBe(zeroAddress);
68
- expect(metadata.metadata).toBe(0);
62
+ (0, vitest_1.describe)("buildRulesetMetadata", () => {
63
+ (0, vitest_1.test)("uses safe v6 defaults", () => {
64
+ const metadata = (0, launch_js_1.buildRulesetMetadata)();
65
+ (0, vitest_1.expect)(metadata.reservedPercent).toBe(0);
66
+ (0, vitest_1.expect)(metadata.cashOutTaxRate).toBe(0);
67
+ (0, vitest_1.expect)(metadata.baseCurrency).toBe(1);
68
+ (0, vitest_1.expect)(metadata.scopeCashOutsToLocalBalances).toBe(false);
69
+ (0, vitest_1.expect)(metadata.dataHook).toBe(viem_1.zeroAddress);
70
+ (0, vitest_1.expect)(metadata.metadata).toBe(0);
69
71
  // v6 field name only — the old inverted field must not exist.
70
- expect("useTotalSurplusForCashOuts" in metadata).toBe(false);
72
+ (0, vitest_1.expect)("useTotalSurplusForCashOuts" in metadata).toBe(false);
71
73
  });
72
- test("honors overrides", () => {
73
- const metadata = buildRulesetMetadata({
74
+ (0, vitest_1.test)("honors overrides", () => {
75
+ const metadata = (0, launch_js_1.buildRulesetMetadata)({
74
76
  reservedPercent: 5000,
75
77
  baseCurrency: 2,
76
78
  allowOwnerMinting: true,
77
79
  });
78
- expect(metadata.reservedPercent).toBe(5000);
79
- expect(metadata.baseCurrency).toBe(2);
80
- expect(metadata.allowOwnerMinting).toBe(true);
81
- expect(metadata.pausePay).toBe(false);
80
+ (0, vitest_1.expect)(metadata.reservedPercent).toBe(5000);
81
+ (0, vitest_1.expect)(metadata.baseCurrency).toBe(2);
82
+ (0, vitest_1.expect)(metadata.allowOwnerMinting).toBe(true);
83
+ (0, vitest_1.expect)(metadata.pausePay).toBe(false);
82
84
  });
83
85
  });
84
- describe("buildRulesetConfiguration", () => {
85
- test("uses safe defaults (zero payouts, no approval hook)", () => {
86
- const configuration = buildRulesetConfiguration();
87
- expect(configuration.mustStartAtOrAfter).toBe(0);
88
- expect(configuration.duration).toBe(0);
89
- expect(configuration.weight).toBe(0n);
90
- expect(configuration.weightCutPercent).toBe(0);
91
- expect(configuration.approvalHook).toBe(zeroAddress);
92
- expect(configuration.splitGroups).toEqual([]);
93
- expect(configuration.fundAccessLimitGroups).toEqual([]);
94
- expect(configuration.metadata).toEqual(buildRulesetMetadata());
86
+ (0, vitest_1.describe)("buildRulesetConfiguration", () => {
87
+ (0, vitest_1.test)("uses safe defaults (zero payouts, no approval hook)", () => {
88
+ const configuration = (0, launch_js_1.buildRulesetConfiguration)();
89
+ (0, vitest_1.expect)(configuration.mustStartAtOrAfter).toBe(0);
90
+ (0, vitest_1.expect)(configuration.duration).toBe(0);
91
+ (0, vitest_1.expect)(configuration.weight).toBe(0n);
92
+ (0, vitest_1.expect)(configuration.weightCutPercent).toBe(0);
93
+ (0, vitest_1.expect)(configuration.approvalHook).toBe(viem_1.zeroAddress);
94
+ (0, vitest_1.expect)(configuration.splitGroups).toEqual([]);
95
+ (0, vitest_1.expect)(configuration.fundAccessLimitGroups).toEqual([]);
96
+ (0, vitest_1.expect)(configuration.metadata).toEqual((0, launch_js_1.buildRulesetMetadata)());
95
97
  });
96
98
  });
97
- describe("buildLaunchProjectTx", () => {
98
- test("encodes against the controller ABI with the creation fee as value", () => {
99
- const creationFee = parseEther("0.01");
100
- const request = buildLaunchProjectTx({
101
- chainId: sepolia.id,
99
+ (0, vitest_1.describe)("buildLaunchProjectTx", () => {
100
+ (0, vitest_1.test)("encodes against the controller ABI with the creation fee as value", () => {
101
+ const creationFee = (0, viem_1.parseEther)("0.01");
102
+ const request = (0, launch_js_1.buildLaunchProjectTx)({
103
+ chainId: chains_1.sepolia.id,
102
104
  owner: OWNER,
103
105
  projectUri: "ipfs://bafy",
104
106
  rulesetConfigurations: [
105
- buildRulesetConfiguration({ weight: parseEther("1000") }),
107
+ (0, launch_js_1.buildRulesetConfiguration)({ weight: (0, viem_1.parseEther)("1000") }),
106
108
  ],
107
- terminalConfigurations: buildTerminalConfigurations({
108
- chainId: sepolia.id,
109
+ terminalConfigurations: (0, launch_js_1.buildTerminalConfigurations)({
110
+ chainId: chains_1.sepolia.id,
109
111
  }),
110
112
  creationFee,
111
113
  });
112
- expect(request.address).toBe(v6Address("JBController", sepolia.id));
113
- expect(request.value).toBe(creationFee);
114
- expect(request.args[4]).toBe(""); // default memo
115
- const data = encodeFunctionData(request);
116
- const decoded = decodeFunctionData({ abi: jbControllerAbi, data });
114
+ (0, vitest_1.expect)(request.address).toBe((0, types_js_1.v6Address)("JBController", chains_1.sepolia.id));
115
+ (0, vitest_1.expect)(request.value).toBe(creationFee);
116
+ (0, vitest_1.expect)(request.args[4]).toBe(""); // default memo
117
+ const data = (0, viem_1.encodeFunctionData)(request);
118
+ const decoded = (0, viem_1.decodeFunctionData)({ abi: juicebox_js_1.jbControllerAbi, data });
117
119
  if (decoded.functionName !== "launchProjectFor") {
118
120
  throw new Error("decoded the wrong function");
119
121
  }
120
- expect(decoded.args[0].toLowerCase()).toBe(OWNER.toLowerCase());
122
+ (0, vitest_1.expect)(decoded.args[0].toLowerCase()).toBe(OWNER.toLowerCase());
121
123
  });
122
124
  });
123
- describe("getProjectCreationFee", () => {
124
- test("reads JBProjects.creationFee on the requested chain", async () => {
125
- const { client, calls } = stubClient(parseEther("0.001"));
126
- const fee = await getProjectCreationFee(client, sepolia.id);
127
- expect(fee).toBe(parseEther("0.001"));
128
- expect(calls).toHaveLength(1);
129
- expect(calls[0]).toMatchObject({
130
- address: v6Address("JBProjects", sepolia.id),
125
+ (0, vitest_1.describe)("getProjectCreationFee", () => {
126
+ (0, vitest_1.test)("reads JBProjects.creationFee on the requested chain", async () => {
127
+ const { client, calls } = stubClient((0, viem_1.parseEther)("0.001"));
128
+ const fee = await (0, launch_js_1.getProjectCreationFee)(client, chains_1.sepolia.id);
129
+ (0, vitest_1.expect)(fee).toBe((0, viem_1.parseEther)("0.001"));
130
+ (0, vitest_1.expect)(calls).toHaveLength(1);
131
+ (0, vitest_1.expect)(calls[0]).toMatchObject({
132
+ address: (0, types_js_1.v6Address)("JBProjects", chains_1.sepolia.id),
131
133
  functionName: "creationFee",
132
134
  });
133
135
  });
@@ -1 +1 @@
1
- {"version":3,"file":"launch.test.js","sourceRoot":"","sources":["../../../src/v6/launch.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch.test.js","sourceRoot":"","sources":["../../../src/v6/launch.test.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,40 @@
1
- import { revLoansAbi } from "../generated/juicebox.js";
2
- import { v6Address } from "./types.js";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EMPTY_SINGLE_ALLOWANCE = exports.REVLOANS_PERMISSION_ID = exports.REV_PREPAID_FEE_PERCENT = exports.MIN_PREPAID_FEE_PERCENT = exports.LOANS_MAX_FEE = void 0;
4
+ exports.buildBorrowTx = buildBorrowTx;
5
+ exports.buildRepayLoanTx = buildRepayLoanTx;
6
+ exports.buildReallocateCollateralTx = buildReallocateCollateralTx;
7
+ exports.getBorrowableAmount = getBorrowableAmount;
8
+ const juicebox_js_1 = require("../generated/juicebox.js");
9
+ const types_js_1 = require("./types.js");
3
10
  /**
4
11
  * The denominator for REVLoans fee percents: prepaid fee percents and source fee percents
5
12
  * are expressed out of 1000.
6
13
  */
7
- export const LOANS_MAX_FEE = 1000n;
14
+ exports.LOANS_MAX_FEE = 1000n;
8
15
  /**
9
16
  * The minimum `prepaidFeePercent` REVLoans accepts when borrowing: 25 of {@link LOANS_MAX_FEE}
10
17
  * (2.5%), paid upfront to the source revnet. Prepaying more than the minimum extends the
11
18
  * loan's zero-additional-cost duration; after it expires the repayment cost increases
12
19
  * linearly until the loan liquidates at 10 years.
13
20
  */
14
- export const MIN_PREPAID_FEE_PERCENT = 25n;
21
+ exports.MIN_PREPAID_FEE_PERCENT = 25n;
15
22
  /**
16
23
  * The upfront fee REVLoans routes to the $REV revnet on every borrow: 10 of
17
24
  * {@link LOANS_MAX_FEE} (1%), taken in addition to the prepaid fee.
18
25
  */
19
- export const REV_PREPAID_FEE_PERCENT = 10n;
26
+ exports.REV_PREPAID_FEE_PERCENT = 10n;
20
27
  /**
21
28
  * The JBPermissions permission id apps grant to the REVLoans contract before borrowing
22
29
  * against a holder's tokens (v6 ROOT permission id 1). REVLoans needs it to manage the
23
30
  * holder's collateral tokens on their behalf.
24
31
  */
25
- export const REVLOANS_PERMISSION_ID = 1;
32
+ exports.REVLOANS_PERMISSION_ID = 1;
26
33
  /**
27
34
  * An empty Permit2 allowance: use when no permit signature is needed (native-token
28
35
  * repayments, or ERC-20s already approved to REVLoans).
29
36
  */
30
- export const EMPTY_SINGLE_ALLOWANCE = {
37
+ exports.EMPTY_SINGLE_ALLOWANCE = {
31
38
  sigDeadline: 0n,
32
39
  amount: 0n,
33
40
  expiration: 0,
@@ -53,11 +60,11 @@ export const EMPTY_SINGLE_ALLOWANCE = {
53
60
  * Must be at least {@link MIN_PREPAID_FEE_PERCENT}.
54
61
  * @param args.holder The address whose tokens are used as collateral.
55
62
  */
56
- export function buildBorrowTx({ chainId, revnetId, token, minBorrowAmount = 0n, collateralCount, beneficiary, prepaidFeePercent, holder, }) {
63
+ function buildBorrowTx({ chainId, revnetId, token, minBorrowAmount = 0n, collateralCount, beneficiary, prepaidFeePercent, holder, }) {
57
64
  return {
58
65
  chainId,
59
- address: v6Address("REVLoans", chainId),
60
- abi: revLoansAbi,
66
+ address: (0, types_js_1.v6Address)("REVLoans", chainId),
67
+ abi: juicebox_js_1.revLoansAbi,
61
68
  functionName: "borrowFrom",
62
69
  args: [
63
70
  revnetId,
@@ -89,11 +96,11 @@ export function buildBorrowTx({ chainId, revnetId, token, minBorrowAmount = 0n,
89
96
  * {@link EMPTY_SINGLE_ALLOWANCE}.
90
97
  * @param args.value The native-token repayment to send along. Defaults to 0.
91
98
  */
92
- export function buildRepayLoanTx({ chainId, loanId, maxRepayBorrowAmount, collateralCountToReturn, beneficiary, allowance = EMPTY_SINGLE_ALLOWANCE, value = 0n, }) {
99
+ function buildRepayLoanTx({ chainId, loanId, maxRepayBorrowAmount, collateralCountToReturn, beneficiary, allowance = exports.EMPTY_SINGLE_ALLOWANCE, value = 0n, }) {
93
100
  return {
94
101
  chainId,
95
- address: v6Address("REVLoans", chainId),
96
- abi: revLoansAbi,
102
+ address: (0, types_js_1.v6Address)("REVLoans", chainId),
103
+ abi: juicebox_js_1.revLoansAbi,
97
104
  functionName: "repayLoan",
98
105
  args: [
99
106
  loanId,
@@ -127,11 +134,11 @@ export function buildRepayLoanTx({ chainId, loanId, maxRepayBorrowAmount, collat
127
134
  * @param args.prepaidFeePercent The fee percent to prepay on the new loan, out of
128
135
  * {@link LOANS_MAX_FEE}. Must be at least {@link MIN_PREPAID_FEE_PERCENT}.
129
136
  */
130
- export function buildReallocateCollateralTx({ chainId, loanId, collateralCountToTransfer, token, minBorrowAmount = 0n, collateralCountToAdd, beneficiary, prepaidFeePercent, }) {
137
+ function buildReallocateCollateralTx({ chainId, loanId, collateralCountToTransfer, token, minBorrowAmount = 0n, collateralCountToAdd, beneficiary, prepaidFeePercent, }) {
131
138
  return {
132
139
  chainId,
133
- address: v6Address("REVLoans", chainId),
134
- abi: revLoansAbi,
140
+ address: (0, types_js_1.v6Address)("REVLoans", chainId),
141
+ abi: juicebox_js_1.revLoansAbi,
135
142
  functionName: "reallocateCollateralFromLoan",
136
143
  args: [
137
144
  loanId,
@@ -158,10 +165,10 @@ export function buildReallocateCollateralTx({ chainId, loanId, collateralCountTo
158
165
  * @returns `borrowableNow` (currently borrowable, net of the revnet's cash-out delay) and
159
166
  * `borrowableCapacity` (the full capacity the collateral represents).
160
167
  */
161
- export async function getBorrowableAmount(client, { chainId, revnetId, collateralCount, decimals, currency, }) {
168
+ async function getBorrowableAmount(client, { chainId, revnetId, collateralCount, decimals, currency, }) {
162
169
  const [borrowableNow, borrowableCapacity] = await client.readContract({
163
- address: v6Address("REVLoans", chainId),
164
- abi: revLoansAbi,
170
+ address: (0, types_js_1.v6Address)("REVLoans", chainId),
171
+ abi: juicebox_js_1.revLoansAbi,
165
172
  functionName: "borrowableAmountFrom",
166
173
  args: [revnetId, collateralCount, decimals, currency],
167
174
  });
@@ -1 +1 @@
1
- {"version":3,"file":"loans.js","sourceRoot":"","sources":["../../../src/v6/loans.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loans.js","sourceRoot":"","sources":["../../../src/v6/loans.ts"],"names":[],"mappings":";;;AA4EA,sCAwCC;AAqBD,4CAsCC;AAwBD,kEAwCC;AAgBD,kDAwBC;AAtRD,0DAAuD;AAEvD,yCAAuC;AAEvC;;;GAGG;AACU,QAAA,aAAa,GAAG,KAAK,CAAC;AAEnC;;;;;GAKG;AACU,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAE3C;;;GAGG;AACU,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAE3C;;;;GAIG;AACU,QAAA,sBAAsB,GAAG,CAAC,CAAC;AAexC;;;GAGG;AACU,QAAA,sBAAsB,GAAsB;IACvD,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,QAAQ,EACR,KAAK,EACL,eAAe,GAAG,EAAE,EACpB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,MAAM,GAUP;IAOC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE;YACJ,QAAQ;YACR,KAAK;YACL,eAAe;YACf,eAAe;YACf,WAAW;YACX,iBAAiB;YACjB,MAAM;SACP;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,MAAM,EACN,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACX,SAAS,GAAG,8BAAsB,EAClC,KAAK,GAAG,EAAE,GASX;IAQC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE;YACJ,MAAM;YACN,oBAAoB;YACpB,uBAAuB;YACvB,WAAW;YACX,SAAS;SACV;QACD,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,2BAA2B,CAAC,EAC1C,OAAO,EACP,MAAM,EACN,yBAAyB,EACzB,KAAK,EACL,eAAe,GAAG,EAAE,EACpB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,GAUlB;IAOC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,8BAA8B;QAC5C,IAAI,EAAE;YACJ,MAAM;YACN,yBAAyB;YACzB,KAAK;YACL,eAAe;YACf,oBAAoB;YACpB,WAAW;YACX,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAoB,EACpB,EACE,OAAO,EACP,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,QAAQ,GAOT;IAED,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACpE,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,CAAC;QACvC,GAAG,EAAE,yBAAW;QAChB,YAAY,EAAE,sBAAsB;QACpC,IAAI,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC;KACtD,CAAC,CAAC;IAEH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAC/C,CAAC"}
@@ -1,35 +1,37 @@
1
- import { describe, expect, test, vi } from "vitest";
2
- import { decodeFunctionData, encodeFunctionData } from "viem";
3
- import { revLoansAbi } from "../generated/juicebox.js";
4
- import { EMPTY_SINGLE_ALLOWANCE, LOANS_MAX_FEE, MIN_PREPAID_FEE_PERCENT, REVLOANS_PERMISSION_ID, REV_PREPAID_FEE_PERCENT, buildBorrowTx, buildReallocateCollateralTx, buildRepayLoanTx, getBorrowableAmount, } from "./loans.js";
5
- import { v6Address } from "./types.js";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const viem_1 = require("viem");
5
+ const juicebox_js_1 = require("../generated/juicebox.js");
6
+ const loans_js_1 = require("./loans.js");
7
+ const types_js_1 = require("./types.js");
6
8
  const token = "0x000000000000000000000000000000000000EEEe";
7
9
  const beneficiary = "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266";
8
10
  const holder = "0x70997970C51812dc3A010C7d01b50e0d17dc79C8";
9
- describe("loans", () => {
10
- test("constants match REVLoans", () => {
11
- expect(MIN_PREPAID_FEE_PERCENT).toEqual(25n);
12
- expect(REV_PREPAID_FEE_PERCENT).toEqual(10n);
13
- expect(LOANS_MAX_FEE).toEqual(1000n);
14
- expect(REVLOANS_PERMISSION_ID).toEqual(1);
11
+ (0, vitest_1.describe)("loans", () => {
12
+ (0, vitest_1.test)("constants match REVLoans", () => {
13
+ (0, vitest_1.expect)(loans_js_1.MIN_PREPAID_FEE_PERCENT).toEqual(25n);
14
+ (0, vitest_1.expect)(loans_js_1.REV_PREPAID_FEE_PERCENT).toEqual(10n);
15
+ (0, vitest_1.expect)(loans_js_1.LOANS_MAX_FEE).toEqual(1000n);
16
+ (0, vitest_1.expect)(loans_js_1.REVLOANS_PERMISSION_ID).toEqual(1);
15
17
  });
16
- describe("buildBorrowTx", () => {
17
- test("targets REVLoans and encodes borrowFrom", () => {
18
- const tx = buildBorrowTx({
18
+ (0, vitest_1.describe)("buildBorrowTx", () => {
19
+ (0, vitest_1.test)("targets REVLoans and encodes borrowFrom", () => {
20
+ const tx = (0, loans_js_1.buildBorrowTx)({
19
21
  chainId: 11155111,
20
22
  revnetId: 4n,
21
23
  token,
22
24
  collateralCount: 100n * 10n ** 18n,
23
25
  beneficiary,
24
- prepaidFeePercent: MIN_PREPAID_FEE_PERCENT,
26
+ prepaidFeePercent: loans_js_1.MIN_PREPAID_FEE_PERCENT,
25
27
  holder,
26
28
  });
27
- expect(tx.address).toEqual(v6Address("REVLoans", 11155111));
28
- expect(tx.functionName).toEqual("borrowFrom");
29
- const data = encodeFunctionData(tx);
30
- const decoded = decodeFunctionData({ abi: revLoansAbi, data });
31
- expect(decoded.functionName).toEqual("borrowFrom");
32
- expect(decoded.args).toEqual([
29
+ (0, vitest_1.expect)(tx.address).toEqual((0, types_js_1.v6Address)("REVLoans", 11155111));
30
+ (0, vitest_1.expect)(tx.functionName).toEqual("borrowFrom");
31
+ const data = (0, viem_1.encodeFunctionData)(tx);
32
+ const decoded = (0, viem_1.decodeFunctionData)({ abi: juicebox_js_1.revLoansAbi, data });
33
+ (0, vitest_1.expect)(decoded.functionName).toEqual("borrowFrom");
34
+ (0, vitest_1.expect)(decoded.args).toEqual([
33
35
  4n,
34
36
  token,
35
37
  0n, // minBorrowAmount defaults to 0
@@ -40,30 +42,30 @@ describe("loans", () => {
40
42
  ]);
41
43
  });
42
44
  });
43
- describe("buildRepayLoanTx", () => {
44
- test("defaults to an empty Permit2 allowance and 0 value", () => {
45
- const tx = buildRepayLoanTx({
45
+ (0, vitest_1.describe)("buildRepayLoanTx", () => {
46
+ (0, vitest_1.test)("defaults to an empty Permit2 allowance and 0 value", () => {
47
+ const tx = (0, loans_js_1.buildRepayLoanTx)({
46
48
  chainId: 11155111,
47
49
  loanId: 7n,
48
50
  maxRepayBorrowAmount: 1000n,
49
51
  collateralCountToReturn: 5n,
50
52
  beneficiary,
51
53
  });
52
- expect(tx.value).toEqual(0n);
53
- expect(tx.args[4]).toEqual(EMPTY_SINGLE_ALLOWANCE);
54
- const data = encodeFunctionData(tx);
55
- const decoded = decodeFunctionData({ abi: revLoansAbi, data });
56
- expect(decoded.functionName).toEqual("repayLoan");
57
- expect(decoded.args).toEqual([
54
+ (0, vitest_1.expect)(tx.value).toEqual(0n);
55
+ (0, vitest_1.expect)(tx.args[4]).toEqual(loans_js_1.EMPTY_SINGLE_ALLOWANCE);
56
+ const data = (0, viem_1.encodeFunctionData)(tx);
57
+ const decoded = (0, viem_1.decodeFunctionData)({ abi: juicebox_js_1.revLoansAbi, data });
58
+ (0, vitest_1.expect)(decoded.functionName).toEqual("repayLoan");
59
+ (0, vitest_1.expect)(decoded.args).toEqual([
58
60
  7n,
59
61
  1000n,
60
62
  5n,
61
63
  beneficiary,
62
- EMPTY_SINGLE_ALLOWANCE,
64
+ loans_js_1.EMPTY_SINGLE_ALLOWANCE,
63
65
  ]);
64
66
  });
65
- test("passes a native-token repayment value through", () => {
66
- const tx = buildRepayLoanTx({
67
+ (0, vitest_1.test)("passes a native-token repayment value through", () => {
68
+ const tx = (0, loans_js_1.buildRepayLoanTx)({
67
69
  chainId: 1,
68
70
  loanId: 7n,
69
71
  maxRepayBorrowAmount: 1000n,
@@ -71,13 +73,13 @@ describe("loans", () => {
71
73
  beneficiary,
72
74
  value: 1000n,
73
75
  });
74
- expect(tx.value).toEqual(1000n);
75
- expect(() => encodeFunctionData(tx)).not.toThrow();
76
+ (0, vitest_1.expect)(tx.value).toEqual(1000n);
77
+ (0, vitest_1.expect)(() => (0, viem_1.encodeFunctionData)(tx)).not.toThrow();
76
78
  });
77
79
  });
78
- describe("buildReallocateCollateralTx", () => {
79
- test("encodes reallocateCollateralFromLoan", () => {
80
- const tx = buildReallocateCollateralTx({
80
+ (0, vitest_1.describe)("buildReallocateCollateralTx", () => {
81
+ (0, vitest_1.test)("encodes reallocateCollateralFromLoan", () => {
82
+ const tx = (0, loans_js_1.buildReallocateCollateralTx)({
81
83
  chainId: 11155111,
82
84
  loanId: 7n,
83
85
  collateralCountToTransfer: 3n,
@@ -86,11 +88,11 @@ describe("loans", () => {
86
88
  beneficiary,
87
89
  prepaidFeePercent: 50n,
88
90
  });
89
- expect(tx.address).toEqual(v6Address("REVLoans", 11155111));
90
- const data = encodeFunctionData(tx);
91
- const decoded = decodeFunctionData({ abi: revLoansAbi, data });
92
- expect(decoded.functionName).toEqual("reallocateCollateralFromLoan");
93
- expect(decoded.args).toEqual([
91
+ (0, vitest_1.expect)(tx.address).toEqual((0, types_js_1.v6Address)("REVLoans", 11155111));
92
+ const data = (0, viem_1.encodeFunctionData)(tx);
93
+ const decoded = (0, viem_1.decodeFunctionData)({ abi: juicebox_js_1.revLoansAbi, data });
94
+ (0, vitest_1.expect)(decoded.functionName).toEqual("reallocateCollateralFromLoan");
95
+ (0, vitest_1.expect)(decoded.args).toEqual([
94
96
  7n,
95
97
  3n,
96
98
  token,
@@ -101,23 +103,23 @@ describe("loans", () => {
101
103
  ]);
102
104
  });
103
105
  });
104
- describe("getBorrowableAmount", () => {
105
- test("returns named fields from borrowableAmountFrom", async () => {
106
- const readContract = vi.fn().mockResolvedValue([111n, 222n]);
106
+ (0, vitest_1.describe)("getBorrowableAmount", () => {
107
+ (0, vitest_1.test)("returns named fields from borrowableAmountFrom", async () => {
108
+ const readContract = vitest_1.vi.fn().mockResolvedValue([111n, 222n]);
107
109
  const client = { readContract };
108
- const result = await getBorrowableAmount(client, {
110
+ const result = await (0, loans_js_1.getBorrowableAmount)(client, {
109
111
  chainId: 11155111,
110
112
  revnetId: 4n,
111
113
  collateralCount: 100n,
112
114
  decimals: 18n,
113
115
  currency: 1n,
114
116
  });
115
- expect(readContract).toHaveBeenCalledWith(expect.objectContaining({
116
- address: v6Address("REVLoans", 11155111),
117
+ (0, vitest_1.expect)(readContract).toHaveBeenCalledWith(vitest_1.expect.objectContaining({
118
+ address: (0, types_js_1.v6Address)("REVLoans", 11155111),
117
119
  functionName: "borrowableAmountFrom",
118
120
  args: [4n, 100n, 18n, 1n],
119
121
  }));
120
- expect(result).toEqual({
122
+ (0, vitest_1.expect)(result).toEqual({
121
123
  borrowableNow: 111n,
122
124
  borrowableCapacity: 222n,
123
125
  });
@@ -1 +1 @@
1
- {"version":3,"file":"loans.test.js","sourceRoot":"","sources":["../../../src/v6/loans.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loans.test.js","sourceRoot":"","sources":["../../../src/v6/loans.test.ts"],"names":[],"mappings":";;AAAA,mCAAoD;AACpD,+BAA4E;AAC5E,0DAAuD;AACvD,yCAUoB;AACpB,yCAAuC;AAEvC,MAAM,KAAK,GAAG,4CAAqD,CAAC;AACpE,MAAM,WAAW,GAAG,4CAAqD,CAAC;AAC1E,MAAM,MAAM,GAAG,4CAAqD,CAAC;AAErE,IAAA,iBAAQ,EAAC,OAAO,EAAE,GAAG,EAAE;IACrB,IAAA,aAAI,EAAC,0BAA0B,EAAE,GAAG,EAAE;QACpC,IAAA,eAAM,EAAC,kCAAuB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAA,eAAM,EAAC,kCAAuB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAA,eAAM,EAAC,wBAAa,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,IAAA,eAAM,EAAC,iCAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,IAAA,aAAI,EAAC,yCAAyC,EAAE,GAAG,EAAE;YACnD,MAAM,EAAE,GAAG,IAAA,wBAAa,EAAC;gBACvB,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,EAAE;gBACZ,KAAK;gBACL,eAAe,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG;gBAClC,WAAW;gBACX,iBAAiB,EAAE,kCAAuB;gBAC1C,MAAM;aACP,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAA,oBAAS,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC5D,IAAA,eAAM,EAAC,EAAE,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAE9C,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,EAAE,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC,EAAE,GAAG,EAAE,yBAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAA,eAAM,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACnD,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC3B,EAAE;gBACF,KAAK;gBACL,EAAE,EAAE,gCAAgC;gBACpC,IAAI,GAAG,GAAG,IAAI,GAAG;gBACjB,WAAW;gBACX,GAAG;gBACH,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,IAAA,aAAI,EAAC,oDAAoD,EAAE,GAAG,EAAE;YAC9D,MAAM,EAAE,GAAG,IAAA,2BAAgB,EAAC;gBAC1B,OAAO,EAAE,QAAQ;gBACjB,MAAM,EAAE,EAAE;gBACV,oBAAoB,EAAE,KAAK;gBAC3B,uBAAuB,EAAE,EAAE;gBAC3B,WAAW;aACZ,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iCAAsB,CAAC,CAAC;YAEnD,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,EAAE,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC,EAAE,GAAG,EAAE,yBAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAA,eAAM,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAClD,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC3B,EAAE;gBACF,KAAK;gBACL,EAAE;gBACF,WAAW;gBACX,iCAAsB;aACvB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAA,aAAI,EAAC,+CAA+C,EAAE,GAAG,EAAE;YACzD,MAAM,EAAE,GAAG,IAAA,2BAAgB,EAAC;gBAC1B,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,EAAE;gBACV,oBAAoB,EAAE,KAAK;gBAC3B,uBAAuB,EAAE,EAAE;gBAC3B,WAAW;gBACX,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAkB,EAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,IAAA,aAAI,EAAC,sCAAsC,EAAE,GAAG,EAAE;YAChD,MAAM,EAAE,GAAG,IAAA,sCAA2B,EAAC;gBACrC,OAAO,EAAE,QAAQ;gBACjB,MAAM,EAAE,EAAE;gBACV,yBAAyB,EAAE,EAAE;gBAC7B,KAAK;gBACL,oBAAoB,EAAE,EAAE;gBACxB,WAAW;gBACX,iBAAiB,EAAE,GAAG;aACvB,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAA,oBAAS,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YAE5D,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,EAAE,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC,EAAE,GAAG,EAAE,yBAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAA,eAAM,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;YACrE,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC3B,EAAE;gBACF,EAAE;gBACF,KAAK;gBACL,EAAE,EAAE,gCAAgC;gBACpC,EAAE;gBACF,WAAW;gBACX,GAAG;aACJ,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAA,aAAI,EAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,YAAY,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,EAAE,YAAY,EAA6B,CAAC;YAE3D,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAmB,EAAC,MAAM,EAAE;gBAC/C,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,EAAE;gBACZ,eAAe,EAAE,IAAI;gBACrB,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,oBAAoB,CACvC,eAAM,CAAC,gBAAgB,CAAC;gBACtB,OAAO,EAAE,IAAA,oBAAS,EAAC,UAAU,EAAE,QAAQ,CAAC;gBACxC,YAAY,EAAE,sBAAsB;gBACpC,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;aAC1B,CAAC,CACH,CAAC;YACF,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,aAAa,EAAE,IAAI;gBACnB,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Address, ContractFunctionArgs, Hex } from "viem";
2
2
  import { jbOmnichainDeployerAbi } from "../generated/juicebox.js";
3
3
  import { JBChainId } from "../types.js";
4
- import { MappableAsset } from "../utils/deploy.js";
4
+ import { JBSuckerBridge, MappableAsset } from "../utils/deploy.js";
5
5
  import { JBTerminalConfig } from "./launch.js";
6
6
  import { JBRulesetConfig } from "./rulesets.js";
7
7
  type OmnichainLaunchArgs = ContractFunctionArgs<typeof jbOmnichainDeployerAbi, "payable", "launchProjectFor">;
@@ -45,6 +45,10 @@ export type JBSuckerDeploymentConfig = OmnichainLaunchArgs6[5];
45
45
  * `chainId`); sucker deployer configs are built for every other chain.
46
46
  * @param args.assets The assets to bridge between chains. Defaults to the
47
47
  * native token only.
48
+ * @param args.bridge The bridge infrastructure the suckers use: "ccip" (any
49
+ * chain pair, any asset — the default), "native" (OP/Base/Arbitrum standard
50
+ * bridges: Ethereum<->L2 pairs and the native token only), or "both" (a
51
+ * native AND a CCIP sucker per pair where both exist, for redundancy).
48
52
  * @param args.salt The shared salt (use the same value on every chain).
49
53
  * @param args.deploy721Config Optional tiered 721 hook to deploy with the
50
54
  * project (uses the 7-arg overload when given).
@@ -62,6 +66,7 @@ export declare function buildOmnichainLaunchProjectTx(args: {
62
66
  creationFee: bigint;
63
67
  salt: Hex;
64
68
  assets?: MappableAsset[];
69
+ bridge?: JBSuckerBridge;
65
70
  deploy721Config?: JBDeploy721TiersHookConfig;
66
71
  }): {
67
72
  chainId: 1 | 10 | 11155111 | 11155420 | 421614 | 84532 | 42161 | 8453;