@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,78 +1,80 @@
1
- import { encodeFunctionData } from "viem";
2
- import { describe, expect, test } from "vitest";
3
- import { NATIVE_TOKEN, ONE_ETHER } from "../constants.js";
4
- import { jbTerminalStoreAbi } from "../generated/juicebox.js";
5
- import { buildCashOutTx, getCashOutQuote } from "./cashOut.js";
6
- import { v6Address } from "./types.js";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const viem_1 = require("viem");
4
+ const vitest_1 = require("vitest");
5
+ const constants_js_1 = require("../constants.js");
6
+ const juicebox_js_1 = require("../generated/juicebox.js");
7
+ const cashOut_js_1 = require("./cashOut.js");
8
+ const types_js_1 = require("./types.js");
7
9
  const chainId = 11155111;
8
10
  const terminal = "0x1111111111111111111111111111111111111111";
9
11
  const holder = "0x2222222222222222222222222222222222222222";
10
12
  const beneficiary = "0x3333333333333333333333333333333333333333";
11
13
  const projectId = 3n;
12
- describe("cashOut", () => {
13
- test("buildCashOutTx encodes cashOutTokensOf", () => {
14
- const tx = buildCashOutTx({
14
+ (0, vitest_1.describe)("cashOut", () => {
15
+ (0, vitest_1.test)("buildCashOutTx encodes cashOutTokensOf", () => {
16
+ const tx = (0, cashOut_js_1.buildCashOutTx)({
15
17
  chainId,
16
18
  terminal,
17
19
  holder,
18
20
  projectId,
19
- cashOutCount: ONE_ETHER,
20
- tokenToReclaim: NATIVE_TOKEN,
21
+ cashOutCount: constants_js_1.ONE_ETHER,
22
+ tokenToReclaim: constants_js_1.NATIVE_TOKEN,
21
23
  beneficiary,
22
24
  });
23
- expect(tx.chainId).toEqual(chainId);
24
- expect(tx.address).toEqual(terminal);
25
- expect(tx.functionName).toEqual("cashOutTokensOf");
26
- expect(tx.args).toEqual([
25
+ (0, vitest_1.expect)(tx.chainId).toEqual(chainId);
26
+ (0, vitest_1.expect)(tx.address).toEqual(terminal);
27
+ (0, vitest_1.expect)(tx.functionName).toEqual("cashOutTokensOf");
28
+ (0, vitest_1.expect)(tx.args).toEqual([
27
29
  holder,
28
30
  projectId,
29
- ONE_ETHER,
30
- NATIVE_TOKEN,
31
+ constants_js_1.ONE_ETHER,
32
+ constants_js_1.NATIVE_TOKEN,
31
33
  0n,
32
34
  beneficiary,
33
35
  "0x",
34
36
  ]);
35
- expect(() => encodeFunctionData(tx)).not.toThrow();
37
+ (0, vitest_1.expect)(() => (0, viem_1.encodeFunctionData)(tx)).not.toThrow();
36
38
  });
37
- test("buildCashOutTx passes minTokensReclaimed and metadata through", () => {
38
- const tx = buildCashOutTx({
39
+ (0, vitest_1.test)("buildCashOutTx passes minTokensReclaimed and metadata through", () => {
40
+ const tx = (0, cashOut_js_1.buildCashOutTx)({
39
41
  chainId,
40
42
  terminal,
41
43
  holder,
42
44
  projectId,
43
- cashOutCount: ONE_ETHER,
44
- tokenToReclaim: NATIVE_TOKEN,
45
+ cashOutCount: constants_js_1.ONE_ETHER,
46
+ tokenToReclaim: constants_js_1.NATIVE_TOKEN,
45
47
  minTokensReclaimed: 999n,
46
48
  beneficiary,
47
49
  metadata: "0x1234",
48
50
  });
49
- expect(tx.args[4]).toEqual(999n);
50
- expect(tx.args[6]).toEqual("0x1234");
51
- expect(() => encodeFunctionData(tx)).not.toThrow();
51
+ (0, vitest_1.expect)(tx.args[4]).toEqual(999n);
52
+ (0, vitest_1.expect)(tx.args[6]).toEqual("0x1234");
53
+ (0, vitest_1.expect)(() => (0, viem_1.encodeFunctionData)(tx)).not.toThrow();
52
54
  });
53
- test("getCashOutQuote reads the terminal store and applies the 2.5% fee", async () => {
55
+ (0, vitest_1.test)("getCashOutQuote reads the terminal store and applies the 2.5% fee", async () => {
54
56
  const calls = [];
55
57
  const client = {
56
58
  async readContract(params) {
57
59
  calls.push(params);
58
- return ONE_ETHER;
60
+ return constants_js_1.ONE_ETHER;
59
61
  },
60
62
  };
61
- const quote = await getCashOutQuote(client, {
63
+ const quote = await (0, cashOut_js_1.getCashOutQuote)(client, {
62
64
  chainId,
63
65
  projectId,
64
- cashOutCount: ONE_ETHER,
66
+ cashOutCount: constants_js_1.ONE_ETHER,
65
67
  });
66
- expect(quote.reclaimAmount).toEqual(ONE_ETHER);
67
- expect(quote.reclaimAmountAfterFee).toEqual(975000000000000000n);
68
- expect(calls[0].address).toEqual(v6Address("JBTerminalStore", chainId));
69
- expect(calls[0].abi).toBe(jbTerminalStoreAbi);
70
- expect(calls[0].functionName).toEqual("currentReclaimableSurplusOf");
68
+ (0, vitest_1.expect)(quote.reclaimAmount).toEqual(constants_js_1.ONE_ETHER);
69
+ (0, vitest_1.expect)(quote.reclaimAmountAfterFee).toEqual(975000000000000000n);
70
+ (0, vitest_1.expect)(calls[0].address).toEqual((0, types_js_1.v6Address)("JBTerminalStore", chainId));
71
+ (0, vitest_1.expect)(calls[0].abi).toBe(juicebox_js_1.jbTerminalStoreAbi);
72
+ (0, vitest_1.expect)(calls[0].functionName).toEqual("currentReclaimableSurplusOf");
71
73
  // Empty terminal/token arrays use all of the project's terminals and tokens;
72
74
  // defaults quote 18 decimals in the native token's currency.
73
- expect(calls[0].args).toEqual([projectId, ONE_ETHER, [], [], 18n, 61166n]);
75
+ (0, vitest_1.expect)(calls[0].args).toEqual([projectId, constants_js_1.ONE_ETHER, [], [], 18n, 61166n]);
74
76
  });
75
- test("getCashOutQuote respects custom decimals and currency", async () => {
77
+ (0, vitest_1.test)("getCashOutQuote respects custom decimals and currency", async () => {
76
78
  const calls = [];
77
79
  const client = {
78
80
  async readContract(params) {
@@ -80,16 +82,16 @@ describe("cashOut", () => {
80
82
  return 0n;
81
83
  },
82
84
  };
83
- await getCashOutQuote(client, {
85
+ await (0, cashOut_js_1.getCashOutQuote)(client, {
84
86
  chainId,
85
87
  projectId,
86
- cashOutCount: ONE_ETHER,
88
+ cashOutCount: constants_js_1.ONE_ETHER,
87
89
  decimals: 6n,
88
90
  currency: 0x3606eb48n,
89
91
  });
90
- expect(calls[0].args).toEqual([
92
+ (0, vitest_1.expect)(calls[0].args).toEqual([
91
93
  projectId,
92
- ONE_ETHER,
94
+ constants_js_1.ONE_ETHER,
93
95
  [],
94
96
  [],
95
97
  6n,
@@ -1 +1 @@
1
- {"version":3,"file":"cashOut.test.js","sourceRoot":"","sources":["../../../src/v6/cashOut.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cashOut.test.js","sourceRoot":"","sources":["../../../src/v6/cashOut.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NATIVE_TOKEN_CURRENCY_ID = exports.BASE_CURRENCY_USD = exports.BASE_CURRENCY_ETH = void 0;
4
+ exports.tokenCurrencyId = tokenCurrencyId;
1
5
  /**
2
6
  * The v6 base currency id for ETH (JBCurrencyIds.ETH).
3
7
  *
@@ -10,7 +14,7 @@
10
14
  *
11
15
  * @link https://github.com/Bananapus/nana-core-v6/blob/main/src/libraries/JBCurrencyIds.sol
12
16
  */
13
- export const BASE_CURRENCY_ETH = 1;
17
+ exports.BASE_CURRENCY_ETH = 1;
14
18
  /**
15
19
  * The v6 base currency id for USD (JBCurrencyIds.USD).
16
20
  *
@@ -19,14 +23,14 @@ export const BASE_CURRENCY_ETH = 1;
19
23
  *
20
24
  * @link https://github.com/Bananapus/nana-core-v6/blob/main/src/libraries/JBCurrencyIds.sol
21
25
  */
22
- export const BASE_CURRENCY_USD = 2;
26
+ exports.BASE_CURRENCY_USD = 2;
23
27
  /**
24
28
  * The accounting-context currency id of the network's native token (e.g. ETH).
25
29
  *
26
30
  * Equal to `uint32(uint160(0x000000000000000000000000000000000000EEEe))` = 61166.
27
31
  * This is what {@link tokenCurrencyId} returns for the native token address.
28
32
  */
29
- export const NATIVE_TOKEN_CURRENCY_ID = 61166;
33
+ exports.NATIVE_TOKEN_CURRENCY_ID = 61166;
30
34
  /**
31
35
  * The v6 accounting-context currency id for a token: `uint32(uint160(tokenAddress))`,
32
36
  * i.e. the lowest 4 bytes of the token's address.
@@ -38,7 +42,7 @@ export const NATIVE_TOKEN_CURRENCY_ID = 61166;
38
42
  * @param token The token address to derive a currency id from.
39
43
  * @returns The token's accounting-context currency id (fits in a uint32).
40
44
  */
41
- export function tokenCurrencyId(token) {
45
+ function tokenCurrencyId(token) {
42
46
  return Number(BigInt(token) & 0xffffffffn);
43
47
  }
44
48
  //# sourceMappingURL=currency.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/v6/currency.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/v6/currency.ts"],"names":[],"mappings":";;;AA6CA,0CAEC;AA7CD;;;;;;;;;;;GAWG;AACU,QAAA,iBAAiB,GAAG,CAAC,CAAC;AAEnC;;;;;;;GAOG;AACU,QAAA,iBAAiB,GAAG,CAAC,CAAC;AAEnC;;;;;GAKG;AACU,QAAA,wBAAwB,GAAG,KAAK,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,24 +1,26 @@
1
- import { describe, expect, test } from "vitest";
2
- import { NATIVE_TOKEN } from "../constants.js";
3
- import { BASE_CURRENCY_ETH, BASE_CURRENCY_USD, NATIVE_TOKEN_CURRENCY_ID, tokenCurrencyId, } from "./currency.js";
4
- describe("currency", () => {
5
- test("base currency ids", () => {
6
- expect(BASE_CURRENCY_ETH).toEqual(1);
7
- expect(BASE_CURRENCY_USD).toEqual(2);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const constants_js_1 = require("../constants.js");
5
+ const currency_js_1 = require("./currency.js");
6
+ (0, vitest_1.describe)("currency", () => {
7
+ (0, vitest_1.test)("base currency ids", () => {
8
+ (0, vitest_1.expect)(currency_js_1.BASE_CURRENCY_ETH).toEqual(1);
9
+ (0, vitest_1.expect)(currency_js_1.BASE_CURRENCY_USD).toEqual(2);
8
10
  });
9
- test("tokenCurrencyId of the native token is 61166", () => {
10
- expect(tokenCurrencyId(NATIVE_TOKEN)).toEqual(61166);
11
- expect(tokenCurrencyId(NATIVE_TOKEN)).toEqual(NATIVE_TOKEN_CURRENCY_ID);
11
+ (0, vitest_1.test)("tokenCurrencyId of the native token is 61166", () => {
12
+ (0, vitest_1.expect)((0, currency_js_1.tokenCurrencyId)(constants_js_1.NATIVE_TOKEN)).toEqual(61166);
13
+ (0, vitest_1.expect)((0, currency_js_1.tokenCurrencyId)(constants_js_1.NATIVE_TOKEN)).toEqual(currency_js_1.NATIVE_TOKEN_CURRENCY_ID);
12
14
  });
13
- test("tokenCurrencyId is the low 32 bits of the address", () => {
15
+ (0, vitest_1.test)("tokenCurrencyId is the low 32 bits of the address", () => {
14
16
  // Mainnet USDC; low 4 bytes are 0x3606eb48.
15
- expect(tokenCurrencyId("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48")).toEqual(0x3606eb48);
17
+ (0, vitest_1.expect)((0, currency_js_1.tokenCurrencyId)("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48")).toEqual(0x3606eb48);
16
18
  });
17
- test("tokenCurrencyId of the zero address is 0", () => {
18
- expect(tokenCurrencyId("0x0000000000000000000000000000000000000000")).toEqual(0);
19
+ (0, vitest_1.test)("tokenCurrencyId of the zero address is 0", () => {
20
+ (0, vitest_1.expect)((0, currency_js_1.tokenCurrencyId)("0x0000000000000000000000000000000000000000")).toEqual(0);
19
21
  });
20
- test("tokenCurrencyId fits in a uint32 even for high addresses", () => {
21
- expect(tokenCurrencyId("0xffffffffffffffffffffffffffffffffffffffff")).toEqual(0xffffffff);
22
+ (0, vitest_1.test)("tokenCurrencyId fits in a uint32 even for high addresses", () => {
23
+ (0, vitest_1.expect)((0, currency_js_1.tokenCurrencyId)("0xffffffffffffffffffffffffffffffffffffffff")).toEqual(0xffffffff);
22
24
  });
23
25
  });
24
26
  //# sourceMappingURL=currency.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency.test.js","sourceRoot":"","sources":["../../../src/v6/currency.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC7D,4CAA4C;QAC5C,MAAM,CACJ,eAAe,CAAC,4CAA4C,CAAC,CAC9D,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,MAAM,CACJ,eAAe,CAAC,4CAA4C,CAAC,CAC9D,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;QACpE,MAAM,CACJ,eAAe,CAAC,4CAA4C,CAAC,CAC9D,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"currency.test.js","sourceRoot":"","sources":["../../../src/v6/currency.test.ts"],"names":[],"mappings":";;AAAA,mCAAgD;AAChD,kDAA+C;AAC/C,+CAKuB;AAEvB,IAAA,iBAAQ,EAAC,UAAU,EAAE,GAAG,EAAE;IACxB,IAAA,aAAI,EAAC,mBAAmB,EAAE,GAAG,EAAE;QAC7B,IAAA,eAAM,EAAC,+BAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,eAAM,EAAC,+BAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,8CAA8C,EAAE,GAAG,EAAE;QACxD,IAAA,eAAM,EAAC,IAAA,6BAAe,EAAC,2BAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrD,IAAA,eAAM,EAAC,IAAA,6BAAe,EAAC,2BAAY,CAAC,CAAC,CAAC,OAAO,CAAC,sCAAwB,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,mDAAmD,EAAE,GAAG,EAAE;QAC7D,4CAA4C;QAC5C,IAAA,eAAM,EACJ,IAAA,6BAAe,EAAC,4CAA4C,CAAC,CAC9D,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,IAAA,eAAM,EACJ,IAAA,6BAAe,EAAC,4CAA4C,CAAC,CAC9D,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,0DAA0D,EAAE,GAAG,EAAE;QACpE,IAAA,eAAM,EACJ,IAAA,6BAAe,EAAC,4CAA4C,CAAC,CAC9D,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,25 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TERMINAL_FEE_PER_BILLION = exports.MAX_FEE = exports.STANDARD_FEE = exports.PROTOCOL_FEE_PERCENT = void 0;
4
+ exports.feeForAmount = feeForAmount;
5
+ exports.amountAfterFee = amountAfterFee;
1
6
  /**
2
7
  * The Juicebox protocol fee, as a decimal fraction: 2.5%.
3
8
  *
4
9
  * Applies to payouts sent outside the protocol and to cash outs from rulesets with a
5
10
  * non-zero cash out tax rate.
6
11
  */
7
- export const PROTOCOL_FEE_PERCENT = 0.025;
12
+ exports.PROTOCOL_FEE_PERCENT = 0.025;
8
13
  /**
9
14
  * The standard protocol fee expressed out of {@link MAX_FEE}: 25 / 1000 = 2.5%.
10
15
  *
11
16
  * @link JBMultiTerminal.sol `FEE`
12
17
  */
13
- export const STANDARD_FEE = 25n;
18
+ exports.STANDARD_FEE = 25n;
14
19
  /**
15
20
  * The denominator for {@link STANDARD_FEE}-style fee percents.
16
21
  */
17
- export const MAX_FEE = 1000n;
22
+ exports.MAX_FEE = 1000n;
18
23
  /**
19
24
  * The standard 2.5% protocol fee expressed per billion (out of 1e9), for legacy-style
20
25
  * fixed-point math: 25_000_000 / 1_000_000_000 = 2.5%.
21
26
  */
22
- export const TERMINAL_FEE_PER_BILLION = 25000000n;
27
+ exports.TERMINAL_FEE_PER_BILLION = 25000000n;
23
28
  /**
24
29
  * The per-billion fee denominator (1e9).
25
30
  */
@@ -32,7 +37,7 @@ const PER_BILLION = 1000000000n;
32
37
  * fee ({@link TERMINAL_FEE_PER_BILLION}).
33
38
  * @returns The fee, in the same fixed-point representation as `amount`.
34
39
  */
35
- export function feeForAmount(amount, feePerBillion = TERMINAL_FEE_PER_BILLION) {
40
+ function feeForAmount(amount, feePerBillion = exports.TERMINAL_FEE_PER_BILLION) {
36
41
  return (amount * feePerBillion) / PER_BILLION;
37
42
  }
38
43
  /**
@@ -45,7 +50,7 @@ export function feeForAmount(amount, feePerBillion = TERMINAL_FEE_PER_BILLION) {
45
50
  * fee ({@link TERMINAL_FEE_PER_BILLION}).
46
51
  * @returns The net amount after the fee.
47
52
  */
48
- export function amountAfterFee(amount, feePerBillion = TERMINAL_FEE_PER_BILLION) {
53
+ function amountAfterFee(amount, feePerBillion = exports.TERMINAL_FEE_PER_BILLION) {
49
54
  return amount - feeForAmount(amount, feePerBillion);
50
55
  }
51
56
  //# sourceMappingURL=fees.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fees.js","sourceRoot":"","sources":["../../../src/v6/fees.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC;AAEhC;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC;AAE7B;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAW,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,GAAG,WAAc,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,gBAAwB,wBAAwB;IAEhD,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,WAAW,CAAC;AAChD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,gBAAwB,wBAAwB;IAEhD,OAAO,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"fees.js","sourceRoot":"","sources":["../../../src/v6/fees.ts"],"names":[],"mappings":";;;AAuCA,oCAKC;AAYD,wCAKC;AA7DD;;;;;GAKG;AACU,QAAA,oBAAoB,GAAG,KAAK,CAAC;AAE1C;;;;GAIG;AACU,QAAA,YAAY,GAAG,GAAG,CAAC;AAEhC;;GAEG;AACU,QAAA,OAAO,GAAG,KAAK,CAAC;AAE7B;;;GAGG;AACU,QAAA,wBAAwB,GAAG,SAAW,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,GAAG,WAAc,CAAC;AAEnC;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,MAAc,EACd,gBAAwB,gCAAwB;IAEhD,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,WAAW,CAAC;AAChD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAC5B,MAAc,EACd,gBAAwB,gCAAwB;IAEhD,OAAO,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACtD,CAAC"}
@@ -1,38 +1,40 @@
1
- import { describe, expect, test } from "vitest";
2
- import { ONE_ETHER } from "../constants.js";
3
- import { applyJbDaoCashOutFee } from "../utils/fee.js";
4
- import { MAX_FEE, STANDARD_FEE, TERMINAL_FEE_PER_BILLION, amountAfterFee, feeForAmount, } from "./fees.js";
5
- describe("fees", () => {
6
- test("constants agree on 2.5%", () => {
7
- expect(STANDARD_FEE).toEqual(25n);
8
- expect(MAX_FEE).toEqual(1000n);
9
- expect((STANDARD_FEE * 1000000000n) / MAX_FEE).toEqual(TERMINAL_FEE_PER_BILLION);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const constants_js_1 = require("../constants.js");
5
+ const fee_js_1 = require("../utils/fee.js");
6
+ const fees_js_1 = require("./fees.js");
7
+ (0, vitest_1.describe)("fees", () => {
8
+ (0, vitest_1.test)("constants agree on 2.5%", () => {
9
+ (0, vitest_1.expect)(fees_js_1.STANDARD_FEE).toEqual(25n);
10
+ (0, vitest_1.expect)(fees_js_1.MAX_FEE).toEqual(1000n);
11
+ (0, vitest_1.expect)((fees_js_1.STANDARD_FEE * 1000000000n) / fees_js_1.MAX_FEE).toEqual(fees_js_1.TERMINAL_FEE_PER_BILLION);
10
12
  });
11
- test("feeForAmount takes 2.5% by default", () => {
12
- expect(feeForAmount(ONE_ETHER)).toEqual(25000000000000000n);
13
- expect(feeForAmount(1000000000n)).toEqual(25000000n);
13
+ (0, vitest_1.test)("feeForAmount takes 2.5% by default", () => {
14
+ (0, vitest_1.expect)((0, fees_js_1.feeForAmount)(constants_js_1.ONE_ETHER)).toEqual(25000000000000000n);
15
+ (0, vitest_1.expect)((0, fees_js_1.feeForAmount)(1000000000n)).toEqual(25000000n);
14
16
  });
15
- test("amountAfterFee leaves 97.5% by default", () => {
16
- expect(amountAfterFee(ONE_ETHER)).toEqual(975000000000000000n);
17
- expect(amountAfterFee(ONE_ETHER)).toEqual(applyJbDaoCashOutFee(ONE_ETHER));
17
+ (0, vitest_1.test)("amountAfterFee leaves 97.5% by default", () => {
18
+ (0, vitest_1.expect)((0, fees_js_1.amountAfterFee)(constants_js_1.ONE_ETHER)).toEqual(975000000000000000n);
19
+ (0, vitest_1.expect)((0, fees_js_1.amountAfterFee)(constants_js_1.ONE_ETHER)).toEqual((0, fee_js_1.applyJbDaoCashOutFee)(constants_js_1.ONE_ETHER));
18
20
  });
19
- test("fee + net always equals the gross amount", () => {
20
- for (const amount of [0n, 1n, 39n, 40n, 41n, ONE_ETHER, ONE_ETHER + 1n]) {
21
- expect(feeForAmount(amount) + amountAfterFee(amount)).toEqual(amount);
21
+ (0, vitest_1.test)("fee + net always equals the gross amount", () => {
22
+ for (const amount of [0n, 1n, 39n, 40n, 41n, constants_js_1.ONE_ETHER, constants_js_1.ONE_ETHER + 1n]) {
23
+ (0, vitest_1.expect)((0, fees_js_1.feeForAmount)(amount) + (0, fees_js_1.amountAfterFee)(amount)).toEqual(amount);
22
24
  }
23
25
  });
24
- test("fee rounds down; tiny amounts pay no fee", () => {
25
- expect(feeForAmount(39n)).toEqual(0n);
26
- expect(amountAfterFee(39n)).toEqual(39n);
27
- expect(feeForAmount(40n)).toEqual(1n);
26
+ (0, vitest_1.test)("fee rounds down; tiny amounts pay no fee", () => {
27
+ (0, vitest_1.expect)((0, fees_js_1.feeForAmount)(39n)).toEqual(0n);
28
+ (0, vitest_1.expect)((0, fees_js_1.amountAfterFee)(39n)).toEqual(39n);
29
+ (0, vitest_1.expect)((0, fees_js_1.feeForAmount)(40n)).toEqual(1n);
28
30
  });
29
- test("custom fee rates", () => {
31
+ (0, vitest_1.test)("custom fee rates", () => {
30
32
  // 10% per billion.
31
- expect(feeForAmount(ONE_ETHER, 100000000n)).toEqual(100000000000000000n);
32
- expect(amountAfterFee(ONE_ETHER, 100000000n)).toEqual(900000000000000000n);
33
+ (0, vitest_1.expect)((0, fees_js_1.feeForAmount)(constants_js_1.ONE_ETHER, 100000000n)).toEqual(100000000000000000n);
34
+ (0, vitest_1.expect)((0, fees_js_1.amountAfterFee)(constants_js_1.ONE_ETHER, 100000000n)).toEqual(900000000000000000n);
33
35
  // Zero fee.
34
- expect(feeForAmount(ONE_ETHER, 0n)).toEqual(0n);
35
- expect(amountAfterFee(ONE_ETHER, 0n)).toEqual(ONE_ETHER);
36
+ (0, vitest_1.expect)((0, fees_js_1.feeForAmount)(constants_js_1.ONE_ETHER, 0n)).toEqual(0n);
37
+ (0, vitest_1.expect)((0, fees_js_1.amountAfterFee)(constants_js_1.ONE_ETHER, 0n)).toEqual(constants_js_1.ONE_ETHER);
36
38
  });
37
39
  });
38
40
  //# sourceMappingURL=fees.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fees.test.js","sourceRoot":"","sources":["../../../src/v6/fees.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,OAAO,EACP,YAAY,EACZ,wBAAwB,EACxB,cAAc,EACd,YAAY,GACb,MAAM,WAAW,CAAC;AAEnB,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC,YAAY,GAAG,WAAc,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,CACvD,wBAAwB,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC5D,MAAM,CAAC,YAAY,CAAC,WAAc,CAAC,CAAC,CAAC,OAAO,CAAC,SAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC/D,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,KAAK,MAAM,MAAM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC;YACxE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC5B,mBAAmB;QACnB,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,UAAY,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC3E,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,UAAY,CAAC,CAAC,CAAC,OAAO,CACrD,mBAAmB,CACpB,CAAC;QACF,YAAY;QACZ,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"fees.test.js","sourceRoot":"","sources":["../../../src/v6/fees.test.ts"],"names":[],"mappings":";;AAAA,mCAAgD;AAChD,kDAA4C;AAC5C,4CAAuD;AACvD,uCAMmB;AAEnB,IAAA,iBAAQ,EAAC,MAAM,EAAE,GAAG,EAAE;IACpB,IAAA,aAAI,EAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,IAAA,eAAM,EAAC,sBAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAA,eAAM,EAAC,iBAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAA,eAAM,EAAC,CAAC,sBAAY,GAAG,WAAc,CAAC,GAAG,iBAAO,CAAC,CAAC,OAAO,CACvD,kCAAwB,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,IAAA,eAAM,EAAC,IAAA,sBAAY,EAAC,wBAAS,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC5D,IAAA,eAAM,EAAC,IAAA,sBAAY,EAAC,WAAc,CAAC,CAAC,CAAC,OAAO,CAAC,SAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,wCAAwC,EAAE,GAAG,EAAE;QAClD,IAAA,eAAM,EAAC,IAAA,wBAAc,EAAC,wBAAS,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC/D,IAAA,eAAM,EAAC,IAAA,wBAAc,EAAC,wBAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAA,6BAAoB,EAAC,wBAAS,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,KAAK,MAAM,MAAM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,wBAAS,EAAE,wBAAS,GAAG,EAAE,CAAC,EAAE,CAAC;YACxE,IAAA,eAAM,EAAC,IAAA,sBAAY,EAAC,MAAM,CAAC,GAAG,IAAA,wBAAc,EAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,IAAA,eAAM,EAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzC,IAAA,eAAM,EAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,kBAAkB,EAAE,GAAG,EAAE;QAC5B,mBAAmB;QACnB,IAAA,eAAM,EAAC,IAAA,sBAAY,EAAC,wBAAS,EAAE,UAAY,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC3E,IAAA,eAAM,EAAC,IAAA,wBAAc,EAAC,wBAAS,EAAE,UAAY,CAAC,CAAC,CAAC,OAAO,CACrD,mBAAmB,CACpB,CAAC;QACF,YAAY;QACZ,IAAA,eAAM,EAAC,IAAA,sBAAY,EAAC,wBAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChD,IAAA,eAAM,EAAC,IAAA,wBAAc,EAAC,wBAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAS,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,16 +1,32 @@
1
- export * from "./types.js";
2
- export * from "./currency.js";
3
- export * from "./fees.js";
4
- export * from "./launch.js";
5
- export * from "./omnichain.js";
6
- export * from "./rulesets.js";
7
- export * from "./splits.js";
8
- export * from "./revnets.js";
9
- export * from "./terminals.js";
10
- export * from "./pay.js";
11
- export * from "./cashOut.js";
12
- export * from "./tokens.js";
13
- export * from "./permissions.js";
14
- export * from "./suckers.js";
15
- export * from "./loans.js";
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types.js"), exports);
18
+ __exportStar(require("./currency.js"), exports);
19
+ __exportStar(require("./fees.js"), exports);
20
+ __exportStar(require("./launch.js"), exports);
21
+ __exportStar(require("./omnichain.js"), exports);
22
+ __exportStar(require("./rulesets.js"), exports);
23
+ __exportStar(require("./splits.js"), exports);
24
+ __exportStar(require("./revnets.js"), exports);
25
+ __exportStar(require("./terminals.js"), exports);
26
+ __exportStar(require("./pay.js"), exports);
27
+ __exportStar(require("./cashOut.js"), exports);
28
+ __exportStar(require("./tokens.js"), exports);
29
+ __exportStar(require("./permissions.js"), exports);
30
+ __exportStar(require("./suckers.js"), exports);
31
+ __exportStar(require("./loans.js"), exports);
16
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,gDAA8B;AAC9B,4CAA0B;AAC1B,8CAA4B;AAC5B,iDAA+B;AAC/B,gDAA8B;AAC9B,8CAA4B;AAC5B,+CAA6B;AAC7B,iDAA+B;AAC/B,2CAAyB;AACzB,+CAA6B;AAC7B,8CAA4B;AAC5B,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B"}
@@ -1,8 +1,16 @@
1
- import { zeroAddress } from "viem";
2
- import { NATIVE_TOKEN, NATIVE_TOKEN_DECIMALS } from "../constants.js";
3
- import { jbControllerAbi, jbProjectsAbi } from "../generated/juicebox.js";
4
- import { BASE_CURRENCY_ETH, tokenCurrencyId } from "./currency.js";
5
- import { v6Address } from "./types.js";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProjectCreationFee = getProjectCreationFee;
4
+ exports.buildAccountingContext = buildAccountingContext;
5
+ exports.buildTerminalConfigurations = buildTerminalConfigurations;
6
+ exports.buildRulesetMetadata = buildRulesetMetadata;
7
+ exports.buildRulesetConfiguration = buildRulesetConfiguration;
8
+ exports.buildLaunchProjectTx = buildLaunchProjectTx;
9
+ const viem_1 = require("viem");
10
+ const constants_js_1 = require("../constants.js");
11
+ const juicebox_js_1 = require("../generated/juicebox.js");
12
+ const currency_js_1 = require("./currency.js");
13
+ const types_js_1 = require("./types.js");
6
14
  /**
7
15
  * Read the fee (in wei) that `JBProjects` charges to create a new project.
8
16
  *
@@ -10,10 +18,10 @@ import { v6Address } from "./types.js";
10
18
  * revert. The fee is dynamic — read it per chain right before launching, and
11
19
  * never reuse a value across chains.
12
20
  */
13
- export async function getProjectCreationFee(client, chainId) {
21
+ async function getProjectCreationFee(client, chainId) {
14
22
  return client.readContract({
15
- address: v6Address("JBProjects", chainId),
16
- abi: jbProjectsAbi,
23
+ address: (0, types_js_1.v6Address)("JBProjects", chainId),
24
+ abi: juicebox_js_1.jbProjectsAbi,
17
25
  functionName: "creationFee",
18
26
  });
19
27
  }
@@ -30,15 +38,15 @@ export async function getProjectCreationFee(client, chainId) {
30
38
  * @param decimals The token's decimals. Defaults to 18 for the native token;
31
39
  * REQUIRED for any other token (there is no safe default).
32
40
  */
33
- export function buildAccountingContext(token = NATIVE_TOKEN, decimals) {
34
- const isNative = token.toLowerCase() === NATIVE_TOKEN.toLowerCase();
41
+ function buildAccountingContext(token = constants_js_1.NATIVE_TOKEN, decimals) {
42
+ const isNative = token.toLowerCase() === constants_js_1.NATIVE_TOKEN.toLowerCase();
35
43
  if (decimals === undefined && !isNative) {
36
44
  throw new Error(`decimals is required for non-native token ${token} (there is no safe default)`);
37
45
  }
38
46
  return {
39
47
  token,
40
- decimals: decimals ?? NATIVE_TOKEN_DECIMALS,
41
- currency: tokenCurrencyId(token),
48
+ decimals: decimals ?? constants_js_1.NATIVE_TOKEN_DECIMALS,
49
+ currency: (0, currency_js_1.tokenCurrencyId)(token),
42
50
  };
43
51
  }
44
52
  /**
@@ -53,10 +61,10 @@ export function buildAccountingContext(token = NATIVE_TOKEN, decimals) {
53
61
  * @param args.accountingContexts The contexts the multi terminal accepts.
54
62
  * Defaults to just the native token context.
55
63
  */
56
- export function buildTerminalConfigurations(args) {
64
+ function buildTerminalConfigurations(args) {
57
65
  const configurations = [
58
66
  {
59
- terminal: v6Address("JBMultiTerminal", args.chainId),
67
+ terminal: (0, types_js_1.v6Address)("JBMultiTerminal", args.chainId),
60
68
  accountingContextsToAccept: args.accountingContexts ?? [
61
69
  buildAccountingContext(),
62
70
  ],
@@ -64,7 +72,7 @@ export function buildTerminalConfigurations(args) {
64
72
  ];
65
73
  try {
66
74
  configurations.push({
67
- terminal: v6Address("JBRouterTerminalRegistry", args.chainId),
75
+ terminal: (0, types_js_1.v6Address)("JBRouterTerminalRegistry", args.chainId),
68
76
  accountingContextsToAccept: [],
69
77
  });
70
78
  }
@@ -84,11 +92,11 @@ export function buildTerminalConfigurations(args) {
84
92
  *
85
93
  * @param overrides Any metadata fields to override.
86
94
  */
87
- export function buildRulesetMetadata(overrides) {
95
+ function buildRulesetMetadata(overrides) {
88
96
  return {
89
97
  reservedPercent: 0,
90
98
  cashOutTaxRate: 0,
91
- baseCurrency: BASE_CURRENCY_ETH,
99
+ baseCurrency: currency_js_1.BASE_CURRENCY_ETH,
92
100
  pausePay: false,
93
101
  pauseCreditTransfers: false,
94
102
  allowOwnerMinting: false,
@@ -103,7 +111,7 @@ export function buildRulesetMetadata(overrides) {
103
111
  scopeCashOutsToLocalBalances: false,
104
112
  useDataHookForPay: false,
105
113
  useDataHookForCashOut: false,
106
- dataHook: zeroAddress,
114
+ dataHook: viem_1.zeroAddress,
107
115
  metadata: 0,
108
116
  ...overrides,
109
117
  };
@@ -127,13 +135,13 @@ export function buildRulesetMetadata(overrides) {
127
135
  * @param args.splitGroups Split groups to set alongside the ruleset.
128
136
  * @param args.fundAccessLimitGroups Payout limits / surplus allowances.
129
137
  */
130
- export function buildRulesetConfiguration(args) {
138
+ function buildRulesetConfiguration(args) {
131
139
  return {
132
140
  mustStartAtOrAfter: args?.mustStartAtOrAfter ?? 0,
133
141
  duration: args?.duration ?? 0,
134
142
  weight: args?.weight ?? 0n,
135
143
  weightCutPercent: args?.weightCutPercent ?? 0,
136
- approvalHook: args?.approvalHook ?? zeroAddress,
144
+ approvalHook: args?.approvalHook ?? viem_1.zeroAddress,
137
145
  metadata: args?.metadata ?? buildRulesetMetadata(),
138
146
  splitGroups: args?.splitGroups ?? [],
139
147
  fundAccessLimitGroups: args?.fundAccessLimitGroups ?? [],
@@ -157,11 +165,11 @@ export function buildRulesetConfiguration(args) {
157
165
  * @param args.memo An optional memo emitted with the launch event.
158
166
  * @param args.creationFee The exact fee read from `JBProjects.creationFee()`.
159
167
  */
160
- export function buildLaunchProjectTx(args) {
168
+ function buildLaunchProjectTx(args) {
161
169
  return {
162
170
  chainId: args.chainId,
163
- address: v6Address("JBController", args.chainId),
164
- abi: jbControllerAbi,
171
+ address: (0, types_js_1.v6Address)("JBController", args.chainId),
172
+ abi: juicebox_js_1.jbControllerAbi,
165
173
  functionName: "launchProjectFor",
166
174
  args: [
167
175
  args.owner,
@@ -1 +1 @@
1
- {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../../src/v6/launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../../src/v6/launch.ts"],"names":[],"mappings":"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"}