@bananapus/nana-sdk-core 1.1.0 → 1.1.1

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 (148) 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.js +89 -85
  10. package/dist/cjs/constants.js.map +1 -1
  11. package/dist/cjs/contracts.js +22 -19
  12. package/dist/cjs/contracts.js.map +1 -1
  13. package/dist/cjs/generated/juicebox.js +94 -90
  14. package/dist/cjs/generated/juicebox.js.map +1 -1
  15. package/dist/cjs/index.js +24 -8
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/package.json +1 -0
  18. package/dist/cjs/types.js +15 -4
  19. package/dist/cjs/types.js.map +1 -1
  20. package/dist/cjs/utils/contracts.js +19 -14
  21. package/dist/cjs/utils/contracts.js.map +1 -1
  22. package/dist/cjs/utils/data.js +23 -13
  23. package/dist/cjs/utils/data.js.map +1 -1
  24. package/dist/cjs/utils/data.test.js +19 -17
  25. package/dist/cjs/utils/data.test.js.map +1 -1
  26. package/dist/cjs/utils/debug.js +4 -1
  27. package/dist/cjs/utils/debug.js.map +1 -1
  28. package/dist/cjs/utils/deploy.js +17 -13
  29. package/dist/cjs/utils/deploy.js.map +1 -1
  30. package/dist/cjs/utils/deploy.test.js +15 -13
  31. package/dist/cjs/utils/deploy.test.js.map +1 -1
  32. package/dist/cjs/utils/fee.js +6 -3
  33. package/dist/cjs/utils/fee.js.map +1 -1
  34. package/dist/cjs/utils/fee.test.js +8 -6
  35. package/dist/cjs/utils/fee.test.js.map +1 -1
  36. package/dist/cjs/utils/format.js +11 -6
  37. package/dist/cjs/utils/format.js.map +1 -1
  38. package/dist/cjs/utils/format.test.js +11 -9
  39. package/dist/cjs/utils/format.test.js.map +1 -1
  40. package/dist/cjs/utils/hook.js +9 -6
  41. package/dist/cjs/utils/hook.js.map +1 -1
  42. package/dist/cjs/utils/index.js +28 -12
  43. package/dist/cjs/utils/index.js.map +1 -1
  44. package/dist/cjs/utils/ipfs.js +14 -6
  45. package/dist/cjs/utils/ipfs.js.map +1 -1
  46. package/dist/cjs/utils/ipfs.test.js +23 -18
  47. package/dist/cjs/utils/ipfs.test.js.map +1 -1
  48. package/dist/cjs/utils/revnet.js +9 -5
  49. package/dist/cjs/utils/revnet.js.map +1 -1
  50. package/dist/cjs/utils/revnet.test.js +9 -7
  51. package/dist/cjs/utils/revnet.test.js.map +1 -1
  52. package/dist/cjs/utils/ruleset.js +11 -7
  53. package/dist/cjs/utils/ruleset.js.map +1 -1
  54. package/dist/cjs/utils/ruleset.test.js +9 -7
  55. package/dist/cjs/utils/ruleset.test.js.map +1 -1
  56. package/dist/cjs/utils/token.js +26 -19
  57. package/dist/cjs/utils/token.js.map +1 -1
  58. package/dist/cjs/utils/token.test.js +25 -23
  59. package/dist/cjs/utils/token.test.js.map +1 -1
  60. package/dist/cjs/utils/tx.js +6 -3
  61. package/dist/cjs/utils/tx.js.map +1 -1
  62. package/dist/cjs/utils/urn.js +9 -5
  63. package/dist/cjs/utils/urn.js.map +1 -1
  64. package/dist/cjs/utils/urn.test.js +71 -69
  65. package/dist/cjs/utils/urn.test.js.map +1 -1
  66. package/dist/cjs/v6/cashOut.d.ts +5 -0
  67. package/dist/cjs/v6/cashOut.d.ts.map +1 -1
  68. package/dist/cjs/v6/cashOut.js +19 -10
  69. package/dist/cjs/v6/cashOut.js.map +1 -1
  70. package/dist/cjs/v6/cashOut.test.js +42 -40
  71. package/dist/cjs/v6/cashOut.test.js.map +1 -1
  72. package/dist/cjs/v6/currency.js +8 -4
  73. package/dist/cjs/v6/currency.js.map +1 -1
  74. package/dist/cjs/v6/currency.test.js +18 -16
  75. package/dist/cjs/v6/currency.test.js.map +1 -1
  76. package/dist/cjs/v6/fees.js +11 -6
  77. package/dist/cjs/v6/fees.js.map +1 -1
  78. package/dist/cjs/v6/fees.test.js +29 -27
  79. package/dist/cjs/v6/fees.test.js.map +1 -1
  80. package/dist/cjs/v6/index.js +31 -15
  81. package/dist/cjs/v6/index.js.map +1 -1
  82. package/dist/cjs/v6/launch.js +31 -23
  83. package/dist/cjs/v6/launch.js.map +1 -1
  84. package/dist/cjs/v6/launch.test.js +85 -83
  85. package/dist/cjs/v6/launch.test.js.map +1 -1
  86. package/dist/cjs/v6/loans.js +26 -19
  87. package/dist/cjs/v6/loans.js.map +1 -1
  88. package/dist/cjs/v6/loans.test.js +52 -50
  89. package/dist/cjs/v6/loans.test.js.map +1 -1
  90. package/dist/cjs/v6/omnichain.js +16 -12
  91. package/dist/cjs/v6/omnichain.js.map +1 -1
  92. package/dist/cjs/v6/omnichain.test.js +63 -61
  93. package/dist/cjs/v6/omnichain.test.js.map +1 -1
  94. package/dist/cjs/v6/pay.js +20 -15
  95. package/dist/cjs/v6/pay.js.map +1 -1
  96. package/dist/cjs/v6/pay.test.js +49 -47
  97. package/dist/cjs/v6/pay.test.js.map +1 -1
  98. package/dist/cjs/v6/permissions.js +14 -9
  99. package/dist/cjs/v6/permissions.js.map +1 -1
  100. package/dist/cjs/v6/permissions.test.js +47 -45
  101. package/dist/cjs/v6/permissions.test.js.map +1 -1
  102. package/dist/cjs/v6/revnets.d.ts +5 -3
  103. package/dist/cjs/v6/revnets.d.ts.map +1 -1
  104. package/dist/cjs/v6/revnets.js +43 -26
  105. package/dist/cjs/v6/revnets.js.map +1 -1
  106. package/dist/cjs/v6/revnets.test.js +80 -78
  107. package/dist/cjs/v6/revnets.test.js.map +1 -1
  108. package/dist/cjs/v6/rulesets.js +20 -14
  109. package/dist/cjs/v6/rulesets.js.map +1 -1
  110. package/dist/cjs/v6/rulesets.test.js +50 -48
  111. package/dist/cjs/v6/rulesets.test.js.map +1 -1
  112. package/dist/cjs/v6/splits.d.ts +3 -2
  113. package/dist/cjs/v6/splits.d.ts.map +1 -1
  114. package/dist/cjs/v6/splits.js +29 -18
  115. package/dist/cjs/v6/splits.js.map +1 -1
  116. package/dist/cjs/v6/splits.test.js +84 -80
  117. package/dist/cjs/v6/splits.test.js.map +1 -1
  118. package/dist/cjs/v6/suckers.js +22 -15
  119. package/dist/cjs/v6/suckers.js.map +1 -1
  120. package/dist/cjs/v6/suckers.test.js +57 -55
  121. package/dist/cjs/v6/suckers.test.js.map +1 -1
  122. package/dist/cjs/v6/terminals.js +15 -11
  123. package/dist/cjs/v6/terminals.js.map +1 -1
  124. package/dist/cjs/v6/terminals.test.js +30 -28
  125. package/dist/cjs/v6/terminals.test.js.map +1 -1
  126. package/dist/cjs/v6/tokens.js +34 -25
  127. package/dist/cjs/v6/tokens.js.map +1 -1
  128. package/dist/cjs/v6/tokens.test.js +66 -64
  129. package/dist/cjs/v6/tokens.test.js.map +1 -1
  130. package/dist/cjs/v6/types.js +6 -3
  131. package/dist/cjs/v6/types.js.map +1 -1
  132. package/dist/esm/v6/cashOut.d.ts +5 -0
  133. package/dist/esm/v6/cashOut.d.ts.map +1 -1
  134. package/dist/esm/v6/cashOut.js +5 -0
  135. package/dist/esm/v6/cashOut.js.map +1 -1
  136. package/dist/esm/v6/revnets.d.ts +5 -3
  137. package/dist/esm/v6/revnets.d.ts.map +1 -1
  138. package/dist/esm/v6/revnets.js +12 -4
  139. package/dist/esm/v6/revnets.js.map +1 -1
  140. package/dist/esm/v6/splits.d.ts +3 -2
  141. package/dist/esm/v6/splits.d.ts.map +1 -1
  142. package/dist/esm/v6/splits.js +9 -5
  143. package/dist/esm/v6/splits.js.map +1 -1
  144. package/dist/esm/v6/splits.test.js +8 -6
  145. package/dist/esm/v6/splits.test.js.map +1 -1
  146. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  147. package/dist/tsconfig.tsbuildinfo +1 -1
  148. package/package.json +2 -2
@@ -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":"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"}
@@ -1,6 +1,10 @@
1
- import { jbOmnichainDeployerAbi } from "../generated/juicebox.js";
2
- import { MappableAsset, parseSuckerDeployerConfig } from "../utils/deploy.js";
3
- import { v6Address } from "./types.js";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildOmnichainLaunchProjectTx = buildOmnichainLaunchProjectTx;
4
+ exports.buildOmnichainQueueRulesetsTx = buildOmnichainQueueRulesetsTx;
5
+ const juicebox_js_1 = require("../generated/juicebox.js");
6
+ const deploy_js_1 = require("../utils/deploy.js");
7
+ const types_js_1 = require("./types.js");
4
8
  /**
5
9
  * Build a `JBOmnichainDeployer.launchProjectFor` transaction request creating
6
10
  * a new project wired for cross-chain operation (suckers + omnichain ruleset
@@ -33,18 +37,18 @@ import { v6Address } from "./types.js";
33
37
  * @param args.creationFee The exact fee from `JBProjects.creationFee()` on
34
38
  * this chain.
35
39
  */
36
- export function buildOmnichainLaunchProjectTx(args) {
40
+ function buildOmnichainLaunchProjectTx(args) {
37
41
  // parseSuckerDeployerConfig's return type is a v5/v6 union that TS cannot
38
42
  // narrow on the `version` option; passing `version: 6` guarantees the v6
39
43
  // shape at runtime.
40
- const suckerDeploymentConfiguration = parseSuckerDeployerConfig(args.chainId, args.chainIds, args.assets ?? [MappableAsset.NATIVE], { salt: args.salt, version: 6 });
41
- const address = v6Address("JBOmnichainDeployer", args.chainId);
44
+ const suckerDeploymentConfiguration = (0, deploy_js_1.parseSuckerDeployerConfig)(args.chainId, args.chainIds, args.assets ?? [deploy_js_1.MappableAsset.NATIVE], { salt: args.salt, version: 6 });
45
+ const address = (0, types_js_1.v6Address)("JBOmnichainDeployer", args.chainId);
42
46
  const memo = args.memo ?? "";
43
47
  if (args.deploy721Config) {
44
48
  return {
45
49
  chainId: args.chainId,
46
50
  address,
47
- abi: jbOmnichainDeployerAbi,
51
+ abi: juicebox_js_1.jbOmnichainDeployerAbi,
48
52
  functionName: "launchProjectFor",
49
53
  args: [
50
54
  args.owner,
@@ -61,7 +65,7 @@ export function buildOmnichainLaunchProjectTx(args) {
61
65
  return {
62
66
  chainId: args.chainId,
63
67
  address,
64
- abi: jbOmnichainDeployerAbi,
68
+ abi: juicebox_js_1.jbOmnichainDeployerAbi,
65
69
  functionName: "launchProjectFor",
66
70
  args: [
67
71
  args.owner,
@@ -88,14 +92,14 @@ export function buildOmnichainLaunchProjectTx(args) {
88
92
  * as the queued ruleset's data hook) alongside the queue — uses the 4-arg
89
93
  * overload when given; keep it identical across chains.
90
94
  */
91
- export function buildOmnichainQueueRulesetsTx(args) {
92
- const address = v6Address("JBOmnichainDeployer", args.chainId);
95
+ function buildOmnichainQueueRulesetsTx(args) {
96
+ const address = (0, types_js_1.v6Address)("JBOmnichainDeployer", args.chainId);
93
97
  const memo = args.memo ?? "";
94
98
  if (args.deploy721Config) {
95
99
  return {
96
100
  chainId: args.chainId,
97
101
  address,
98
- abi: jbOmnichainDeployerAbi,
102
+ abi: juicebox_js_1.jbOmnichainDeployerAbi,
99
103
  functionName: "queueRulesetsOf",
100
104
  args: [
101
105
  args.projectId,
@@ -108,7 +112,7 @@ export function buildOmnichainQueueRulesetsTx(args) {
108
112
  return {
109
113
  chainId: args.chainId,
110
114
  address,
111
- abi: jbOmnichainDeployerAbi,
115
+ abi: juicebox_js_1.jbOmnichainDeployerAbi,
112
116
  functionName: "queueRulesetsOf",
113
117
  args: [args.projectId, args.rulesetConfigurations, memo],
114
118
  };
@@ -1 +1 @@
1
- {"version":3,"file":"omnichain.js","sourceRoot":"","sources":["../../../src/v6/omnichain.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA6BvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAY7C;IACC,0EAA0E;IAC1E,yEAAyE;IACzE,oBAAoB;IACpB,MAAM,6BAA6B,GAAG,yBAAyB,CAC7D,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EACrC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CACO,CAAC;IAEzC,MAAM,OAAO,GAAG,SAAS,CAAC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO;YACP,GAAG,EAAE,sBAAsB;YAC3B,YAAY,EAAE,kBAA2B;YACzC,IAAI,EAAE;gBACJ,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,qBAAqB;gBAC1B,IAAI,CAAC,sBAAsB;gBAC3B,IAAI;gBACJ,6BAA6B;aACrB;YACV,KAAK,EAAE,IAAI,CAAC,WAAW;SACxB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO;QACP,GAAG,EAAE,sBAAsB;QAC3B,YAAY,EAAE,kBAA2B;QACzC,IAAI,EAAE;YACJ,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,qBAAqB;YAC1B,IAAI,CAAC,sBAAsB;YAC3B,IAAI;YACJ,6BAA6B;SACrB;QACV,KAAK,EAAE,IAAI,CAAC,WAAW;KACxB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAM7C;IACC,MAAM,OAAO,GAAG,SAAS,CAAC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO;YACP,GAAG,EAAE,sBAAsB;YAC3B,YAAY,EAAE,iBAA0B;YACxC,IAAI,EAAE;gBACJ,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,qBAAqB;gBAC1B,IAAI;aACI;SACX,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO;QACP,GAAG,EAAE,sBAAsB;QAC3B,YAAY,EAAE,iBAA0B;QACxC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAU;KAClE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"omnichain.js","sourceRoot":"","sources":["../../../src/v6/omnichain.ts"],"names":[],"mappings":";;AAmEA,sEA2DC;AAgBD,sEA+BC;AA5KD,0DAAkE;AAElE,kDAA8E;AAG9E,yCAAuC;AA6BvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,SAAgB,6BAA6B,CAAC,IAY7C;IACC,0EAA0E;IAC1E,yEAAyE;IACzE,oBAAoB;IACpB,MAAM,6BAA6B,GAAG,IAAA,qCAAyB,EAC7D,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,IAAI,CAAC,yBAAa,CAAC,MAAM,CAAC,EACrC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CACO,CAAC;IAEzC,MAAM,OAAO,GAAG,IAAA,oBAAS,EAAC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO;YACP,GAAG,EAAE,oCAAsB;YAC3B,YAAY,EAAE,kBAA2B;YACzC,IAAI,EAAE;gBACJ,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,qBAAqB;gBAC1B,IAAI,CAAC,sBAAsB;gBAC3B,IAAI;gBACJ,6BAA6B;aACrB;YACV,KAAK,EAAE,IAAI,CAAC,WAAW;SACxB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO;QACP,GAAG,EAAE,oCAAsB;QAC3B,YAAY,EAAE,kBAA2B;QACzC,IAAI,EAAE;YACJ,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,qBAAqB;YAC1B,IAAI,CAAC,sBAAsB;YAC3B,IAAI;YACJ,6BAA6B;SACrB;QACV,KAAK,EAAE,IAAI,CAAC,WAAW;KACxB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,6BAA6B,CAAC,IAM7C;IACC,MAAM,OAAO,GAAG,IAAA,oBAAS,EAAC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO;YACP,GAAG,EAAE,oCAAsB;YAC3B,YAAY,EAAE,iBAA0B;YACxC,IAAI,EAAE;gBACJ,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,qBAAqB;gBAC1B,IAAI;aACI;SACX,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO;QACP,GAAG,EAAE,oCAAsB;QAC3B,YAAY,EAAE,iBAA0B;QACxC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAU;KAClE,CAAC;AACJ,CAAC"}
@@ -1,10 +1,12 @@
1
- import { decodeFunctionData, encodeFunctionData, parseEther, zeroAddress, zeroHash, } from "viem";
2
- import { baseSepolia, optimismSepolia, sepolia } from "viem/chains";
3
- import { describe, expect, test } from "vitest";
4
- import { jbOmnichainDeployerAbi } from "../generated/juicebox.js";
5
- import { buildRulesetConfiguration, buildTerminalConfigurations, } from "./launch.js";
6
- import { buildOmnichainLaunchProjectTx, buildOmnichainQueueRulesetsTx, } from "./omnichain.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 juicebox_js_1 = require("../generated/juicebox.js");
7
+ const launch_js_1 = require("./launch.js");
8
+ const omnichain_js_1 = require("./omnichain.js");
9
+ const types_js_1 = require("./types.js");
8
10
  const OWNER = "0x000000000000000000000000000000000000dEaD";
9
11
  const SALT = "0xabababababababababababababababababababababababababababababababab";
10
12
  const DEPLOY_721_CONFIG = {
@@ -12,17 +14,17 @@ const DEPLOY_721_CONFIG = {
12
14
  name: "Test Collection",
13
15
  symbol: "TEST",
14
16
  baseUri: "ipfs://",
15
- tokenUriResolver: zeroAddress,
17
+ tokenUriResolver: viem_1.zeroAddress,
16
18
  contractUri: "",
17
19
  tiersConfig: {
18
20
  tiers: [
19
21
  {
20
- price: parseEther("0.01"),
22
+ price: (0, viem_1.parseEther)("0.01"),
21
23
  initialSupply: 999_999_999, // "unlimited" sentinel (NOT uint32 max)
22
24
  votingUnits: 0,
23
25
  reserveFrequency: 0,
24
- reserveBeneficiary: zeroAddress,
25
- encodedIpfsUri: zeroHash,
26
+ reserveBeneficiary: viem_1.zeroAddress,
27
+ encodedIpfsUri: viem_1.zeroHash,
26
28
  category: 1,
27
29
  discountPercent: 0,
28
30
  flags: {
@@ -54,90 +56,90 @@ const DEPLOY_721_CONFIG = {
54
56
  };
55
57
  function launchArgs() {
56
58
  return {
57
- chainId: sepolia.id,
58
- chainIds: [sepolia.id, optimismSepolia.id, baseSepolia.id],
59
+ chainId: chains_1.sepolia.id,
60
+ chainIds: [chains_1.sepolia.id, chains_1.optimismSepolia.id, chains_1.baseSepolia.id],
59
61
  owner: OWNER,
60
62
  projectUri: "ipfs://bafy",
61
- rulesetConfigurations: [buildRulesetConfiguration()],
62
- terminalConfigurations: buildTerminalConfigurations({
63
- chainId: sepolia.id,
63
+ rulesetConfigurations: [(0, launch_js_1.buildRulesetConfiguration)()],
64
+ terminalConfigurations: (0, launch_js_1.buildTerminalConfigurations)({
65
+ chainId: chains_1.sepolia.id,
64
66
  }),
65
- creationFee: parseEther("0.01"),
67
+ creationFee: (0, viem_1.parseEther)("0.01"),
66
68
  salt: SALT,
67
69
  };
68
70
  }
69
- describe("buildOmnichainLaunchProjectTx", () => {
70
- test("encodes the 6-arg overload with sucker configs for every other chain", () => {
71
- const request = buildOmnichainLaunchProjectTx(launchArgs());
72
- expect(request.address).toBe(v6Address("JBOmnichainDeployer", sepolia.id));
73
- expect(request.value).toBe(parseEther("0.01"));
74
- expect(request.args).toHaveLength(6);
71
+ (0, vitest_1.describe)("buildOmnichainLaunchProjectTx", () => {
72
+ (0, vitest_1.test)("encodes the 6-arg overload with sucker configs for every other chain", () => {
73
+ const request = (0, omnichain_js_1.buildOmnichainLaunchProjectTx)(launchArgs());
74
+ (0, vitest_1.expect)(request.address).toBe((0, types_js_1.v6Address)("JBOmnichainDeployer", chains_1.sepolia.id));
75
+ (0, vitest_1.expect)(request.value).toBe((0, viem_1.parseEther)("0.01"));
76
+ (0, vitest_1.expect)(request.args).toHaveLength(6);
75
77
  // The shared salt must flow into the sucker deployment configuration and
76
78
  // a deployer config must exist for each REMOTE chain (not the local one).
77
79
  const suckerConfiguration = request.args[5];
78
80
  if (typeof suckerConfiguration === "string") {
79
81
  throw new Error("expected a sucker deployment configuration");
80
82
  }
81
- expect(suckerConfiguration.salt).toBe(SALT);
82
- expect(suckerConfiguration.deployerConfigurations).toHaveLength(2);
83
+ (0, vitest_1.expect)(suckerConfiguration.salt).toBe(SALT);
84
+ (0, vitest_1.expect)(suckerConfiguration.deployerConfigurations).toHaveLength(2);
83
85
  for (const deployerConfiguration of suckerConfiguration.deployerConfigurations) {
84
- expect(deployerConfiguration.peer).toBe(zeroHash);
85
- expect(deployerConfiguration.mappings).toHaveLength(1);
86
+ (0, vitest_1.expect)(deployerConfiguration.peer).toBe(viem_1.zeroHash);
87
+ (0, vitest_1.expect)(deployerConfiguration.mappings).toHaveLength(1);
86
88
  }
87
- const data = encodeFunctionData(request);
88
- const decoded = decodeFunctionData({ abi: jbOmnichainDeployerAbi, data });
89
- expect(decoded.functionName).toBe("launchProjectFor");
89
+ const data = (0, viem_1.encodeFunctionData)(request);
90
+ const decoded = (0, viem_1.decodeFunctionData)({ abi: juicebox_js_1.jbOmnichainDeployerAbi, data });
91
+ (0, vitest_1.expect)(decoded.functionName).toBe("launchProjectFor");
90
92
  });
91
- test("encodes the 7-arg overload when a 721 config is given", () => {
92
- const request = buildOmnichainLaunchProjectTx({
93
+ (0, vitest_1.test)("encodes the 7-arg overload when a 721 config is given", () => {
94
+ const request = (0, omnichain_js_1.buildOmnichainLaunchProjectTx)({
93
95
  ...launchArgs(),
94
96
  deploy721Config: DEPLOY_721_CONFIG,
95
97
  });
96
- expect(request.args).toHaveLength(7);
97
- expect(request.args[2]).toBe(DEPLOY_721_CONFIG);
98
- expect(request.value).toBe(parseEther("0.01"));
99
- const data = encodeFunctionData(request);
100
- expect(data.length).toBeGreaterThan(10);
98
+ (0, vitest_1.expect)(request.args).toHaveLength(7);
99
+ (0, vitest_1.expect)(request.args[2]).toBe(DEPLOY_721_CONFIG);
100
+ (0, vitest_1.expect)(request.value).toBe((0, viem_1.parseEther)("0.01"));
101
+ const data = (0, viem_1.encodeFunctionData)(request);
102
+ (0, vitest_1.expect)(data.length).toBeGreaterThan(10);
101
103
  });
102
- test("a single-chain launch produces no sucker deployer configs", () => {
103
- const request = buildOmnichainLaunchProjectTx({
104
+ (0, vitest_1.test)("a single-chain launch produces no sucker deployer configs", () => {
105
+ const request = (0, omnichain_js_1.buildOmnichainLaunchProjectTx)({
104
106
  ...launchArgs(),
105
- chainIds: [sepolia.id],
107
+ chainIds: [chains_1.sepolia.id],
106
108
  });
107
109
  const suckerConfiguration = request.args[5];
108
110
  if (typeof suckerConfiguration === "string") {
109
111
  throw new Error("expected a sucker deployment configuration");
110
112
  }
111
- expect(suckerConfiguration.deployerConfigurations).toEqual([]);
112
- expect(() => encodeFunctionData(request)).not.toThrow();
113
+ (0, vitest_1.expect)(suckerConfiguration.deployerConfigurations).toEqual([]);
114
+ (0, vitest_1.expect)(() => (0, viem_1.encodeFunctionData)(request)).not.toThrow();
113
115
  });
114
116
  });
115
- describe("buildOmnichainQueueRulesetsTx", () => {
116
- test("encodes the 3-arg overload", () => {
117
- const request = buildOmnichainQueueRulesetsTx({
118
- chainId: sepolia.id,
117
+ (0, vitest_1.describe)("buildOmnichainQueueRulesetsTx", () => {
118
+ (0, vitest_1.test)("encodes the 3-arg overload", () => {
119
+ const request = (0, omnichain_js_1.buildOmnichainQueueRulesetsTx)({
120
+ chainId: chains_1.sepolia.id,
119
121
  projectId: 9n,
120
- rulesetConfigurations: [buildRulesetConfiguration()],
122
+ rulesetConfigurations: [(0, launch_js_1.buildRulesetConfiguration)()],
121
123
  memo: "queue",
122
124
  });
123
- expect(request.address).toBe(v6Address("JBOmnichainDeployer", sepolia.id));
124
- expect(request.args).toHaveLength(3);
125
- const data = encodeFunctionData(request);
126
- const decoded = decodeFunctionData({ abi: jbOmnichainDeployerAbi, data });
127
- expect(decoded.functionName).toBe("queueRulesetsOf");
128
- expect(decoded.args[0]).toBe(9n);
125
+ (0, vitest_1.expect)(request.address).toBe((0, types_js_1.v6Address)("JBOmnichainDeployer", chains_1.sepolia.id));
126
+ (0, vitest_1.expect)(request.args).toHaveLength(3);
127
+ const data = (0, viem_1.encodeFunctionData)(request);
128
+ const decoded = (0, viem_1.decodeFunctionData)({ abi: juicebox_js_1.jbOmnichainDeployerAbi, data });
129
+ (0, vitest_1.expect)(decoded.functionName).toBe("queueRulesetsOf");
130
+ (0, vitest_1.expect)(decoded.args[0]).toBe(9n);
129
131
  });
130
- test("encodes the 4-arg overload when deploying a 721 hook", () => {
131
- const request = buildOmnichainQueueRulesetsTx({
132
- chainId: sepolia.id,
132
+ (0, vitest_1.test)("encodes the 4-arg overload when deploying a 721 hook", () => {
133
+ const request = (0, omnichain_js_1.buildOmnichainQueueRulesetsTx)({
134
+ chainId: chains_1.sepolia.id,
133
135
  projectId: 9n,
134
- rulesetConfigurations: [buildRulesetConfiguration()],
136
+ rulesetConfigurations: [(0, launch_js_1.buildRulesetConfiguration)()],
135
137
  deploy721Config: DEPLOY_721_CONFIG,
136
138
  });
137
- expect(request.args).toHaveLength(4);
138
- expect(request.args[1]).toBe(DEPLOY_721_CONFIG);
139
- expect(request.args[3]).toBe(""); // default memo
140
- expect(() => encodeFunctionData(request)).not.toThrow();
139
+ (0, vitest_1.expect)(request.args).toHaveLength(4);
140
+ (0, vitest_1.expect)(request.args[1]).toBe(DEPLOY_721_CONFIG);
141
+ (0, vitest_1.expect)(request.args[3]).toBe(""); // default memo
142
+ (0, vitest_1.expect)(() => (0, viem_1.encodeFunctionData)(request)).not.toThrow();
141
143
  });
142
144
  });
143
145
  //# sourceMappingURL=omnichain.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"omnichain.test.js","sourceRoot":"","sources":["../../../src/v6/omnichain.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"omnichain.test.js","sourceRoot":"","sources":["../../../src/v6/omnichain.test.ts"],"names":[],"mappings":";;AAAA,+BAMc;AACd,wCAAoE;AACpE,mCAAgD;AAChD,0DAAkE;AAClE,2CAGqB;AACrB,iDAIwB;AACxB,yCAAuC;AAEvC,MAAM,KAAK,GAAG,4CAAqD,CAAC;AACpE,MAAM,IAAI,GACR,oEAA6E,CAAC;AAEhF,MAAM,iBAAiB,GAA+B;IACpD,qBAAqB,EAAE;QACrB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,SAAS;QAClB,gBAAgB,EAAE,kBAAW;QAC7B,WAAW,EAAE,EAAE;QACf,WAAW,EAAE;YACX,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,IAAA,iBAAU,EAAC,MAAM,CAAC;oBACzB,aAAa,EAAE,WAAW,EAAE,wCAAwC;oBACpE,WAAW,EAAE,CAAC;oBACd,gBAAgB,EAAE,CAAC;oBACnB,kBAAkB,EAAE,kBAAW;oBAC/B,cAAc,EAAE,eAAQ;oBACxB,QAAQ,EAAE,CAAC;oBACX,eAAe,EAAE,CAAC;oBAClB,KAAK,EAAE;wBACL,cAAc,EAAE,KAAK;wBACrB,8BAA8B,EAAE,KAAK;wBACrC,iBAAiB,EAAE,KAAK;wBACxB,cAAc,EAAE,KAAK;wBACrB,aAAa,EAAE,KAAK;wBACpB,2BAA2B,EAAE,KAAK;wBAClC,kBAAkB,EAAE,KAAK;qBAC1B;oBACD,YAAY,EAAE,CAAC;oBACf,MAAM,EAAE,EAAE;iBACX;aACF;YACD,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,EAAE;SACb;QACD,KAAK,EAAE;YACL,sBAAsB,EAAE,KAAK;YAC7B,mBAAmB,EAAE,KAAK;YAC1B,0BAA0B,EAAE,KAAK;YACjC,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,qBAAqB,EAAE,IAAI;IAC3B,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,SAAS,UAAU;IACjB,OAAO;QACL,OAAO,EAAE,gBAAO,CAAC,EAAE;QACnB,QAAQ,EAAE,CAAC,gBAAO,CAAC,EAAE,EAAE,wBAAe,CAAC,EAAE,EAAE,oBAAW,CAAC,EAAE,CAAC;QAC1D,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,aAAa;QACzB,qBAAqB,EAAE,CAAC,IAAA,qCAAyB,GAAE,CAAC;QACpD,sBAAsB,EAAE,IAAA,uCAA2B,EAAC;YAClD,OAAO,EAAE,gBAAO,CAAC,EAAE;SACpB,CAAC;QACF,WAAW,EAAE,IAAA,iBAAU,EAAC,MAAM,CAAC;QAC/B,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,IAAA,iBAAQ,EAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,IAAA,aAAI,EAAC,sEAAsE,EAAE,GAAG,EAAE;QAChF,MAAM,OAAO,GAAG,IAAA,4CAA6B,EAAC,UAAU,EAAE,CAAC,CAAC;QAE5D,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAA,oBAAS,EAAC,qBAAqB,EAAE,gBAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAA,eAAM,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAA,iBAAU,EAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAErC,yEAAyE;QACzE,0EAA0E;QAC1E,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAA,eAAM,EAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAA,eAAM,EAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,MAAM,qBAAqB,IAAI,mBAAmB,CAAC,sBAAsB,EAAE,CAAC;YAC/E,IAAA,eAAM,EAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAQ,CAAC,CAAC;YAClD,IAAA,eAAM,EAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,OAAO,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC,EAAE,GAAG,EAAE,oCAAsB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAA,eAAM,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,uDAAuD,EAAE,GAAG,EAAE;QACjE,MAAM,OAAO,GAAG,IAAA,4CAA6B,EAAC;YAC5C,GAAG,UAAU,EAAE;YACf,eAAe,EAAE,iBAAiB;SACnC,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChD,IAAA,eAAM,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAA,iBAAU,EAAC,MAAM,CAAC,CAAC,CAAC;QAE/C,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,OAAO,CAAC,CAAC;QACzC,IAAA,eAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,2DAA2D,EAAE,GAAG,EAAE;QACrE,MAAM,OAAO,GAAG,IAAA,4CAA6B,EAAC;YAC5C,GAAG,UAAU,EAAE;YACf,QAAQ,EAAE,CAAC,gBAAO,CAAC,EAAE,CAAC;SACvB,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAA,eAAM,EAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAkB,EAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,IAAA,aAAI,EAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,OAAO,GAAG,IAAA,4CAA6B,EAAC;YAC5C,OAAO,EAAE,gBAAO,CAAC,EAAE;YACnB,SAAS,EAAE,EAAE;YACb,qBAAqB,EAAE,CAAC,IAAA,qCAAyB,GAAE,CAAC;YACpD,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAA,oBAAS,EAAC,qBAAqB,EAAE,gBAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,OAAO,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC,EAAE,GAAG,EAAE,oCAAsB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAA,eAAM,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrD,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,sDAAsD,EAAE,GAAG,EAAE;QAChE,MAAM,OAAO,GAAG,IAAA,4CAA6B,EAAC;YAC5C,OAAO,EAAE,gBAAO,CAAC,EAAE;YACnB,SAAS,EAAE,EAAE;YACb,qBAAqB,EAAE,CAAC,IAAA,qCAAyB,GAAE,CAAC;YACpD,eAAe,EAAE,iBAAiB;SACnC,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChD,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;QAEjD,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAkB,EAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}