@bananapus/nana-sdk-core 1.3.0 → 1.4.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 (291) hide show
  1. package/dist/cjs/utils/index.d.ts +1 -0
  2. package/dist/cjs/utils/index.d.ts.map +1 -1
  3. package/dist/cjs/utils/index.js +1 -0
  4. package/dist/cjs/utils/index.js.map +1 -1
  5. package/dist/cjs/utils/ipfs.d.ts +33 -1
  6. package/dist/cjs/utils/ipfs.d.ts.map +1 -1
  7. package/dist/cjs/utils/ipfs.js +212 -8
  8. package/dist/cjs/utils/ipfs.js.map +1 -1
  9. package/dist/cjs/utils/token.d.ts +2 -2
  10. package/dist/cjs/utils/token.d.ts.map +1 -1
  11. package/dist/cjs/utils/token.js +30 -9
  12. package/dist/cjs/utils/token.js.map +1 -1
  13. package/dist/cjs/v6/index.d.ts +2 -0
  14. package/dist/cjs/v6/index.d.ts.map +1 -1
  15. package/dist/cjs/v6/index.js +2 -0
  16. package/dist/cjs/v6/index.js.map +1 -1
  17. package/dist/cjs/v6/launch.d.ts +23 -2
  18. package/dist/cjs/v6/launch.d.ts.map +1 -1
  19. package/dist/cjs/v6/launch.js +40 -1
  20. package/dist/cjs/v6/launch.js.map +1 -1
  21. package/dist/cjs/v6/nft.d.ts +67 -0
  22. package/dist/cjs/v6/nft.d.ts.map +1 -1
  23. package/dist/cjs/v6/nft.js +192 -2
  24. package/dist/cjs/v6/nft.js.map +1 -1
  25. package/dist/cjs/v6/permissions.d.ts +21 -0
  26. package/dist/cjs/v6/permissions.d.ts.map +1 -1
  27. package/dist/cjs/v6/permissions.js +44 -1
  28. package/dist/cjs/v6/permissions.js.map +1 -1
  29. package/dist/cjs/v6/projectPayers.d.ts +178 -0
  30. package/dist/cjs/v6/projectPayers.d.ts.map +1 -0
  31. package/dist/cjs/v6/projectPayers.js +108 -0
  32. package/dist/cjs/v6/projectPayers.js.map +1 -0
  33. package/dist/cjs/v6/revnets.d.ts +3 -2
  34. package/dist/cjs/v6/revnets.d.ts.map +1 -1
  35. package/dist/cjs/v6/revnets.js +3 -2
  36. package/dist/cjs/v6/revnets.js.map +1 -1
  37. package/dist/cjs/v6/rulesets.d.ts +42 -0
  38. package/dist/cjs/v6/rulesets.d.ts.map +1 -1
  39. package/dist/cjs/v6/rulesets.js +87 -0
  40. package/dist/cjs/v6/rulesets.js.map +1 -1
  41. package/dist/cjs/v6/suckers.d.ts +740 -2
  42. package/dist/cjs/v6/suckers.d.ts.map +1 -1
  43. package/dist/cjs/v6/suckers.js +647 -8
  44. package/dist/cjs/v6/suckers.js.map +1 -1
  45. package/dist/cjs/v6/uniswapV4.d.ts +82 -0
  46. package/dist/cjs/v6/uniswapV4.d.ts.map +1 -0
  47. package/dist/cjs/v6/uniswapV4.js +336 -0
  48. package/dist/cjs/v6/uniswapV4.js.map +1 -0
  49. package/dist/esm/utils/index.d.ts +1 -0
  50. package/dist/esm/utils/index.d.ts.map +1 -1
  51. package/dist/esm/utils/index.js +1 -0
  52. package/dist/esm/utils/index.js.map +1 -1
  53. package/dist/esm/utils/ipfs.d.ts +33 -1
  54. package/dist/esm/utils/ipfs.d.ts.map +1 -1
  55. package/dist/esm/utils/ipfs.js +204 -8
  56. package/dist/esm/utils/ipfs.js.map +1 -1
  57. package/dist/esm/utils/token.d.ts +2 -2
  58. package/dist/esm/utils/token.d.ts.map +1 -1
  59. package/dist/esm/utils/token.js +30 -9
  60. package/dist/esm/utils/token.js.map +1 -1
  61. package/dist/esm/v6/index.d.ts +2 -0
  62. package/dist/esm/v6/index.d.ts.map +1 -1
  63. package/dist/esm/v6/index.js +2 -0
  64. package/dist/esm/v6/index.js.map +1 -1
  65. package/dist/esm/v6/launch.d.ts +23 -2
  66. package/dist/esm/v6/launch.d.ts.map +1 -1
  67. package/dist/esm/v6/launch.js +39 -2
  68. package/dist/esm/v6/launch.js.map +1 -1
  69. package/dist/esm/v6/nft.d.ts +67 -0
  70. package/dist/esm/v6/nft.d.ts.map +1 -1
  71. package/dist/esm/v6/nft.js +183 -1
  72. package/dist/esm/v6/nft.js.map +1 -1
  73. package/dist/esm/v6/permissions.d.ts +21 -0
  74. package/dist/esm/v6/permissions.d.ts.map +1 -1
  75. package/dist/esm/v6/permissions.js +40 -0
  76. package/dist/esm/v6/permissions.js.map +1 -1
  77. package/dist/esm/v6/projectPayers.d.ts +178 -0
  78. package/dist/esm/v6/projectPayers.d.ts.map +1 -0
  79. package/dist/esm/v6/projectPayers.js +101 -0
  80. package/dist/esm/v6/projectPayers.js.map +1 -0
  81. package/dist/esm/v6/revnets.d.ts +3 -2
  82. package/dist/esm/v6/revnets.d.ts.map +1 -1
  83. package/dist/esm/v6/revnets.js +3 -2
  84. package/dist/esm/v6/revnets.js.map +1 -1
  85. package/dist/esm/v6/rulesets.d.ts +42 -0
  86. package/dist/esm/v6/rulesets.d.ts.map +1 -1
  87. package/dist/esm/v6/rulesets.js +83 -0
  88. package/dist/esm/v6/rulesets.js.map +1 -1
  89. package/dist/esm/v6/suckers.d.ts +740 -2
  90. package/dist/esm/v6/suckers.d.ts.map +1 -1
  91. package/dist/esm/v6/suckers.js +630 -8
  92. package/dist/esm/v6/suckers.js.map +1 -1
  93. package/dist/esm/v6/uniswapV4.d.ts +82 -0
  94. package/dist/esm/v6/uniswapV4.d.ts.map +1 -0
  95. package/dist/esm/v6/uniswapV4.js +318 -0
  96. package/dist/esm/v6/uniswapV4.js.map +1 -0
  97. package/package.json +17 -10
  98. package/dist/cjs/utils/data.test.d.ts +0 -2
  99. package/dist/cjs/utils/data.test.d.ts.map +0 -1
  100. package/dist/cjs/utils/data.test.js +0 -27
  101. package/dist/cjs/utils/data.test.js.map +0 -1
  102. package/dist/cjs/utils/deploy.test.d.ts +0 -2
  103. package/dist/cjs/utils/deploy.test.d.ts.map +0 -1
  104. package/dist/cjs/utils/deploy.test.js +0 -65
  105. package/dist/cjs/utils/deploy.test.js.map +0 -1
  106. package/dist/cjs/utils/fee.test.d.ts +0 -2
  107. package/dist/cjs/utils/fee.test.d.ts.map +0 -1
  108. package/dist/cjs/utils/fee.test.js +0 -11
  109. package/dist/cjs/utils/fee.test.js.map +0 -1
  110. package/dist/cjs/utils/format.test.d.ts +0 -2
  111. package/dist/cjs/utils/format.test.d.ts.map +0 -1
  112. package/dist/cjs/utils/format.test.js +0 -27
  113. package/dist/cjs/utils/format.test.js.map +0 -1
  114. package/dist/cjs/utils/ipfs.test.d.ts +0 -2
  115. package/dist/cjs/utils/ipfs.test.d.ts.map +0 -1
  116. package/dist/cjs/utils/ipfs.test.js +0 -33
  117. package/dist/cjs/utils/ipfs.test.js.map +0 -1
  118. package/dist/cjs/utils/revnet.test.d.ts +0 -2
  119. package/dist/cjs/utils/revnet.test.d.ts.map +0 -1
  120. package/dist/cjs/utils/revnet.test.js +0 -12
  121. package/dist/cjs/utils/revnet.test.js.map +0 -1
  122. package/dist/cjs/utils/ruleset.test.d.ts +0 -2
  123. package/dist/cjs/utils/ruleset.test.d.ts.map +0 -1
  124. package/dist/cjs/utils/ruleset.test.js +0 -23
  125. package/dist/cjs/utils/ruleset.test.js.map +0 -1
  126. package/dist/cjs/utils/token.test.d.ts +0 -2
  127. package/dist/cjs/utils/token.test.d.ts.map +0 -1
  128. package/dist/cjs/utils/token.test.js +0 -40
  129. package/dist/cjs/utils/token.test.js.map +0 -1
  130. package/dist/cjs/utils/urn.test.d.ts +0 -2
  131. package/dist/cjs/utils/urn.test.d.ts.map +0 -1
  132. package/dist/cjs/utils/urn.test.js +0 -114
  133. package/dist/cjs/utils/urn.test.js.map +0 -1
  134. package/dist/cjs/v6/cashOut.test.d.ts +0 -2
  135. package/dist/cjs/v6/cashOut.test.d.ts.map +0 -1
  136. package/dist/cjs/v6/cashOut.test.js +0 -122
  137. package/dist/cjs/v6/cashOut.test.js.map +0 -1
  138. package/dist/cjs/v6/currency.test.d.ts +0 -2
  139. package/dist/cjs/v6/currency.test.d.ts.map +0 -1
  140. package/dist/cjs/v6/currency.test.js +0 -26
  141. package/dist/cjs/v6/currency.test.js.map +0 -1
  142. package/dist/cjs/v6/fees.test.d.ts +0 -2
  143. package/dist/cjs/v6/fees.test.d.ts.map +0 -1
  144. package/dist/cjs/v6/fees.test.js +0 -40
  145. package/dist/cjs/v6/fees.test.js.map +0 -1
  146. package/dist/cjs/v6/launch.test.d.ts +0 -2
  147. package/dist/cjs/v6/launch.test.d.ts.map +0 -1
  148. package/dist/cjs/v6/launch.test.js +0 -137
  149. package/dist/cjs/v6/launch.test.js.map +0 -1
  150. package/dist/cjs/v6/loans.test.d.ts +0 -2
  151. package/dist/cjs/v6/loans.test.d.ts.map +0 -1
  152. package/dist/cjs/v6/loans.test.js +0 -129
  153. package/dist/cjs/v6/loans.test.js.map +0 -1
  154. package/dist/cjs/v6/nft.test.d.ts +0 -2
  155. package/dist/cjs/v6/nft.test.d.ts.map +0 -1
  156. package/dist/cjs/v6/nft.test.js +0 -206
  157. package/dist/cjs/v6/nft.test.js.map +0 -1
  158. package/dist/cjs/v6/omnichain.test.d.ts +0 -2
  159. package/dist/cjs/v6/omnichain.test.d.ts.map +0 -1
  160. package/dist/cjs/v6/omnichain.test.js +0 -145
  161. package/dist/cjs/v6/omnichain.test.js.map +0 -1
  162. package/dist/cjs/v6/pay.test.d.ts +0 -2
  163. package/dist/cjs/v6/pay.test.d.ts.map +0 -1
  164. package/dist/cjs/v6/pay.test.js +0 -137
  165. package/dist/cjs/v6/pay.test.js.map +0 -1
  166. package/dist/cjs/v6/permissions.test.d.ts +0 -2
  167. package/dist/cjs/v6/permissions.test.d.ts.map +0 -1
  168. package/dist/cjs/v6/permissions.test.js +0 -117
  169. package/dist/cjs/v6/permissions.test.js.map +0 -1
  170. package/dist/cjs/v6/revnets.test.d.ts +0 -2
  171. package/dist/cjs/v6/revnets.test.d.ts.map +0 -1
  172. package/dist/cjs/v6/revnets.test.js +0 -233
  173. package/dist/cjs/v6/revnets.test.js.map +0 -1
  174. package/dist/cjs/v6/rulesets.test.d.ts +0 -2
  175. package/dist/cjs/v6/rulesets.test.d.ts.map +0 -1
  176. package/dist/cjs/v6/rulesets.test.js +0 -106
  177. package/dist/cjs/v6/rulesets.test.js.map +0 -1
  178. package/dist/cjs/v6/splits.test.d.ts +0 -2
  179. package/dist/cjs/v6/splits.test.d.ts.map +0 -1
  180. package/dist/cjs/v6/splits.test.js +0 -135
  181. package/dist/cjs/v6/splits.test.js.map +0 -1
  182. package/dist/cjs/v6/suckers.test.d.ts +0 -2
  183. package/dist/cjs/v6/suckers.test.d.ts.map +0 -1
  184. package/dist/cjs/v6/suckers.test.js +0 -134
  185. package/dist/cjs/v6/suckers.test.js.map +0 -1
  186. package/dist/cjs/v6/terminals.test.d.ts +0 -2
  187. package/dist/cjs/v6/terminals.test.d.ts.map +0 -1
  188. package/dist/cjs/v6/terminals.test.js +0 -59
  189. package/dist/cjs/v6/terminals.test.js.map +0 -1
  190. package/dist/cjs/v6/tokens.test.d.ts +0 -2
  191. package/dist/cjs/v6/tokens.test.d.ts.map +0 -1
  192. package/dist/cjs/v6/tokens.test.js +0 -141
  193. package/dist/cjs/v6/tokens.test.js.map +0 -1
  194. package/dist/esm/utils/data.test.d.ts +0 -2
  195. package/dist/esm/utils/data.test.d.ts.map +0 -1
  196. package/dist/esm/utils/data.test.js +0 -25
  197. package/dist/esm/utils/data.test.js.map +0 -1
  198. package/dist/esm/utils/deploy.test.d.ts +0 -2
  199. package/dist/esm/utils/deploy.test.d.ts.map +0 -1
  200. package/dist/esm/utils/deploy.test.js +0 -63
  201. package/dist/esm/utils/deploy.test.js.map +0 -1
  202. package/dist/esm/utils/fee.test.d.ts +0 -2
  203. package/dist/esm/utils/fee.test.d.ts.map +0 -1
  204. package/dist/esm/utils/fee.test.js +0 -9
  205. package/dist/esm/utils/fee.test.js.map +0 -1
  206. package/dist/esm/utils/format.test.d.ts +0 -2
  207. package/dist/esm/utils/format.test.d.ts.map +0 -1
  208. package/dist/esm/utils/format.test.js +0 -25
  209. package/dist/esm/utils/format.test.js.map +0 -1
  210. package/dist/esm/utils/ipfs.test.d.ts +0 -2
  211. package/dist/esm/utils/ipfs.test.d.ts.map +0 -1
  212. package/dist/esm/utils/ipfs.test.js +0 -28
  213. package/dist/esm/utils/ipfs.test.js.map +0 -1
  214. package/dist/esm/utils/revnet.test.d.ts +0 -2
  215. package/dist/esm/utils/revnet.test.d.ts.map +0 -1
  216. package/dist/esm/utils/revnet.test.js +0 -10
  217. package/dist/esm/utils/revnet.test.js.map +0 -1
  218. package/dist/esm/utils/ruleset.test.d.ts +0 -2
  219. package/dist/esm/utils/ruleset.test.d.ts.map +0 -1
  220. package/dist/esm/utils/ruleset.test.js +0 -21
  221. package/dist/esm/utils/ruleset.test.js.map +0 -1
  222. package/dist/esm/utils/token.test.d.ts +0 -2
  223. package/dist/esm/utils/token.test.d.ts.map +0 -1
  224. package/dist/esm/utils/token.test.js +0 -38
  225. package/dist/esm/utils/token.test.js.map +0 -1
  226. package/dist/esm/utils/urn.test.d.ts +0 -2
  227. package/dist/esm/utils/urn.test.d.ts.map +0 -1
  228. package/dist/esm/utils/urn.test.js +0 -112
  229. package/dist/esm/utils/urn.test.js.map +0 -1
  230. package/dist/esm/v6/cashOut.test.d.ts +0 -2
  231. package/dist/esm/v6/cashOut.test.d.ts.map +0 -1
  232. package/dist/esm/v6/cashOut.test.js +0 -120
  233. package/dist/esm/v6/cashOut.test.js.map +0 -1
  234. package/dist/esm/v6/currency.test.d.ts +0 -2
  235. package/dist/esm/v6/currency.test.d.ts.map +0 -1
  236. package/dist/esm/v6/currency.test.js +0 -24
  237. package/dist/esm/v6/currency.test.js.map +0 -1
  238. package/dist/esm/v6/fees.test.d.ts +0 -2
  239. package/dist/esm/v6/fees.test.d.ts.map +0 -1
  240. package/dist/esm/v6/fees.test.js +0 -38
  241. package/dist/esm/v6/fees.test.js.map +0 -1
  242. package/dist/esm/v6/launch.test.d.ts +0 -2
  243. package/dist/esm/v6/launch.test.d.ts.map +0 -1
  244. package/dist/esm/v6/launch.test.js +0 -135
  245. package/dist/esm/v6/launch.test.js.map +0 -1
  246. package/dist/esm/v6/loans.test.d.ts +0 -2
  247. package/dist/esm/v6/loans.test.d.ts.map +0 -1
  248. package/dist/esm/v6/loans.test.js +0 -127
  249. package/dist/esm/v6/loans.test.js.map +0 -1
  250. package/dist/esm/v6/nft.test.d.ts +0 -2
  251. package/dist/esm/v6/nft.test.d.ts.map +0 -1
  252. package/dist/esm/v6/nft.test.js +0 -204
  253. package/dist/esm/v6/nft.test.js.map +0 -1
  254. package/dist/esm/v6/omnichain.test.d.ts +0 -2
  255. package/dist/esm/v6/omnichain.test.d.ts.map +0 -1
  256. package/dist/esm/v6/omnichain.test.js +0 -143
  257. package/dist/esm/v6/omnichain.test.js.map +0 -1
  258. package/dist/esm/v6/pay.test.d.ts +0 -2
  259. package/dist/esm/v6/pay.test.d.ts.map +0 -1
  260. package/dist/esm/v6/pay.test.js +0 -135
  261. package/dist/esm/v6/pay.test.js.map +0 -1
  262. package/dist/esm/v6/permissions.test.d.ts +0 -2
  263. package/dist/esm/v6/permissions.test.d.ts.map +0 -1
  264. package/dist/esm/v6/permissions.test.js +0 -115
  265. package/dist/esm/v6/permissions.test.js.map +0 -1
  266. package/dist/esm/v6/revnets.test.d.ts +0 -2
  267. package/dist/esm/v6/revnets.test.d.ts.map +0 -1
  268. package/dist/esm/v6/revnets.test.js +0 -231
  269. package/dist/esm/v6/revnets.test.js.map +0 -1
  270. package/dist/esm/v6/rulesets.test.d.ts +0 -2
  271. package/dist/esm/v6/rulesets.test.d.ts.map +0 -1
  272. package/dist/esm/v6/rulesets.test.js +0 -104
  273. package/dist/esm/v6/rulesets.test.js.map +0 -1
  274. package/dist/esm/v6/splits.test.d.ts +0 -2
  275. package/dist/esm/v6/splits.test.d.ts.map +0 -1
  276. package/dist/esm/v6/splits.test.js +0 -133
  277. package/dist/esm/v6/splits.test.js.map +0 -1
  278. package/dist/esm/v6/suckers.test.d.ts +0 -2
  279. package/dist/esm/v6/suckers.test.d.ts.map +0 -1
  280. package/dist/esm/v6/suckers.test.js +0 -132
  281. package/dist/esm/v6/suckers.test.js.map +0 -1
  282. package/dist/esm/v6/terminals.test.d.ts +0 -2
  283. package/dist/esm/v6/terminals.test.d.ts.map +0 -1
  284. package/dist/esm/v6/terminals.test.js +0 -57
  285. package/dist/esm/v6/terminals.test.js.map +0 -1
  286. package/dist/esm/v6/tokens.test.d.ts +0 -2
  287. package/dist/esm/v6/tokens.test.d.ts.map +0 -1
  288. package/dist/esm/v6/tokens.test.js +0 -139
  289. package/dist/esm/v6/tokens.test.js.map +0 -1
  290. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  291. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,233 +0,0 @@
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 revnets_js_1 = require("./revnets.js");
9
- const types_js_1 = require("./types.js");
10
- const OPERATOR = "0x000000000000000000000000000000000000dEaD";
11
- const SALT = "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd";
12
- const DEPLOY_START = 1_750_000_000;
13
- const SUCKER_CONFIG = {
14
- deployerConfigurations: [],
15
- salt: SALT,
16
- };
17
- const TIERED_721_CONFIG = {
18
- baseline721HookConfiguration: {
19
- name: "Rev Shop",
20
- symbol: "SHOP",
21
- baseUri: "ipfs://",
22
- tokenUriResolver: viem_1.zeroAddress,
23
- contractUri: "",
24
- tiersConfig: {
25
- tiers: [
26
- {
27
- price: (0, viem_1.parseEther)("0.05"),
28
- initialSupply: 100,
29
- votingUnits: 0,
30
- reserveFrequency: 0,
31
- reserveBeneficiary: viem_1.zeroAddress,
32
- encodedIpfsUri: viem_1.zeroHash,
33
- category: 1,
34
- discountPercent: 0,
35
- flags: {
36
- allowOwnerMint: false,
37
- useReserveBeneficiaryAsDefault: false,
38
- transfersPausable: false,
39
- useVotingUnits: false,
40
- cantBeRemoved: false,
41
- cantIncreaseDiscountPercent: false,
42
- cantBuyWithCredits: false,
43
- },
44
- splitPercent: 0,
45
- splits: [],
46
- },
47
- ],
48
- currency: 1,
49
- decimals: 18,
50
- },
51
- flags: {
52
- noNewTiersWithReserves: false,
53
- noNewTiersWithVotes: false,
54
- noNewTiersWithOwnerMinting: false,
55
- preventOverspending: false,
56
- },
57
- },
58
- salt: SALT,
59
- preventOperatorAdjustingTiers: false,
60
- preventOperatorUpdatingMetadata: false,
61
- preventOperatorMinting: false,
62
- preventOperatorIncreasingDiscountPercent: false,
63
- };
64
- function revnetConfig() {
65
- return {
66
- description: {
67
- name: "Testnet Revnet",
68
- ticker: "TEST",
69
- uri: "ipfs://bafy",
70
- salt: SALT,
71
- },
72
- baseCurrency: 1,
73
- operator: OPERATOR,
74
- scopeCashOutsToLocalBalances: false,
75
- stageConfigurations: [
76
- (0, revnets_js_1.buildRevnetStageConfig)({
77
- startsAtOrAfter: DEPLOY_START,
78
- initialIssuance: (0, viem_1.parseEther)("1000"),
79
- splitPercent: 3800, // 38% of 10,000
80
- issuanceCutFrequency: 30 * 86_400,
81
- issuanceCutPercent: 200_000_000, // 20% of 1e9
82
- cashOutTaxRate: 2000, // 20% of 10,000
83
- }),
84
- (0, revnets_js_1.buildRevnetStageConfig)({
85
- // ABSOLUTE start, cumulative from the SAME deploy start.
86
- startsAtOrAfter: DEPLOY_START + 365 * 86_400,
87
- initialIssuance: 1n, // sentinel: inherit the previous (cut) issuance
88
- }),
89
- ],
90
- };
91
- }
92
- /** A stub PublicClient that records readContract calls. */
93
- function stubClient(returnValue, calls = []) {
94
- const client = {
95
- readContract: async (params) => {
96
- calls.push(params);
97
- return returnValue;
98
- },
99
- };
100
- return { client, calls };
101
- }
102
- (0, vitest_1.describe)("buildRevnetStageConfig", () => {
103
- (0, vitest_1.test)("applies safe defaults", () => {
104
- const stage = (0, revnets_js_1.buildRevnetStageConfig)({
105
- startsAtOrAfter: DEPLOY_START,
106
- initialIssuance: (0, viem_1.parseEther)("1"),
107
- });
108
- (0, vitest_1.expect)(stage).toEqual({
109
- startsAtOrAfter: DEPLOY_START,
110
- autoIssuances: [],
111
- splitPercent: 0,
112
- splits: [],
113
- initialIssuance: (0, viem_1.parseEther)("1"),
114
- issuanceCutFrequency: 0,
115
- issuanceCutPercent: 0,
116
- cashOutTaxRate: 0,
117
- extraMetadata: 0,
118
- });
119
- });
120
- (0, vitest_1.test)("carries auto-issuances", () => {
121
- const stage = (0, revnets_js_1.buildRevnetStageConfig)({
122
- startsAtOrAfter: DEPLOY_START,
123
- initialIssuance: (0, viem_1.parseEther)("1"),
124
- autoIssuances: [
125
- {
126
- chainId: chains_1.sepolia.id,
127
- count: (0, viem_1.parseEther)("100"),
128
- beneficiary: OPERATOR,
129
- },
130
- ],
131
- });
132
- (0, vitest_1.expect)(stage.autoIssuances).toHaveLength(1);
133
- (0, vitest_1.expect)(stage.autoIssuances[0].count).toBe((0, viem_1.parseEther)("100"));
134
- });
135
- });
136
- (0, vitest_1.describe)("buildDeployRevnetTx", () => {
137
- (0, vitest_1.test)("encodes the 4-arg overload with revnetId 0n (new revnet)", () => {
138
- const creationFee = (0, viem_1.parseEther)("0.01");
139
- const request = (0, revnets_js_1.buildDeployRevnetTx)({
140
- chainId: chains_1.sepolia.id,
141
- config: revnetConfig(),
142
- accountingContexts: [(0, launch_js_1.buildAccountingContext)()],
143
- suckerConfig: SUCKER_CONFIG,
144
- creationFee,
145
- });
146
- (0, vitest_1.expect)(request.address).toBe((0, types_js_1.v6Address)("REVDeployer", chains_1.sepolia.id));
147
- (0, vitest_1.expect)(request.value).toBe(creationFee);
148
- (0, vitest_1.expect)(request.args).toHaveLength(4);
149
- (0, vitest_1.expect)(request.args[0]).toBe(0n);
150
- const data = (0, viem_1.encodeFunctionData)(request);
151
- const decoded = (0, viem_1.decodeFunctionData)({ abi: juicebox_js_1.revDeployerAbi, data });
152
- (0, vitest_1.expect)(decoded.functionName).toBe("deployFor");
153
- });
154
- (0, vitest_1.test)("encodes the 6-arg overload with a tiered 721 config", () => {
155
- const request = (0, revnets_js_1.buildDeployRevnetTx)({
156
- chainId: chains_1.sepolia.id,
157
- config: revnetConfig(),
158
- accountingContexts: [(0, launch_js_1.buildAccountingContext)()],
159
- suckerConfig: SUCKER_CONFIG,
160
- creationFee: (0, viem_1.parseEther)("0.01"),
161
- tiered721Config: TIERED_721_CONFIG,
162
- });
163
- (0, vitest_1.expect)(request.args).toHaveLength(6);
164
- (0, vitest_1.expect)(request.args[4]).toBe(TIERED_721_CONFIG);
165
- (0, vitest_1.expect)(request.args[5]).toEqual([]); // allowedPosts default
166
- (0, vitest_1.expect)(() => (0, viem_1.encodeFunctionData)(request)).not.toThrow();
167
- });
168
- });
169
- (0, vitest_1.describe)("REVOwner actions", () => {
170
- (0, vitest_1.test)("buildAutoIssueTx encodes autoIssueFor", () => {
171
- const request = (0, revnets_js_1.buildAutoIssueTx)({
172
- chainId: chains_1.sepolia.id,
173
- revnetId: 4n,
174
- stageId: 2n,
175
- beneficiary: OPERATOR,
176
- });
177
- (0, vitest_1.expect)(request.address).toBe((0, types_js_1.v6Address)("REVOwner", chains_1.sepolia.id));
178
- (0, vitest_1.expect)(() => (0, viem_1.encodeFunctionData)(request)).not.toThrow();
179
- });
180
- (0, vitest_1.test)("getAmountToAutoIssue reads amountToAutoIssue", async () => {
181
- const { client, calls } = stubClient((0, viem_1.parseEther)("100"));
182
- const amount = await (0, revnets_js_1.getAmountToAutoIssue)(client, {
183
- chainId: chains_1.sepolia.id,
184
- revnetId: 4n,
185
- stageId: 2n,
186
- beneficiary: OPERATOR,
187
- });
188
- (0, vitest_1.expect)(amount).toBe((0, viem_1.parseEther)("100"));
189
- (0, vitest_1.expect)(calls[0]).toMatchObject({
190
- address: (0, types_js_1.v6Address)("REVOwner", chains_1.sepolia.id),
191
- functionName: "amountToAutoIssue",
192
- args: [4n, 2n, OPERATOR],
193
- });
194
- });
195
- (0, vitest_1.test)("getCashOutDelay reads cashOutDelayOf", async () => {
196
- const { client, calls } = stubClient(0n);
197
- const delay = await (0, revnets_js_1.getCashOutDelay)(client, {
198
- chainId: chains_1.sepolia.id,
199
- revnetId: 4n,
200
- });
201
- (0, vitest_1.expect)(delay).toBe(0n);
202
- (0, vitest_1.expect)(calls[0]).toMatchObject({
203
- functionName: "cashOutDelayOf",
204
- args: [4n],
205
- });
206
- });
207
- (0, vitest_1.test)("isRevnetOperator reads isOperatorOf", async () => {
208
- const { client, calls } = stubClient(true);
209
- const isOperator = await (0, revnets_js_1.isRevnetOperator)(client, {
210
- chainId: chains_1.sepolia.id,
211
- revnetId: 4n,
212
- operator: OPERATOR,
213
- });
214
- (0, vitest_1.expect)(isOperator).toBe(true);
215
- (0, vitest_1.expect)(calls[0]).toMatchObject({
216
- functionName: "isOperatorOf",
217
- args: [4n, OPERATOR],
218
- });
219
- });
220
- (0, vitest_1.test)("getRevnetTiered721Hook reads tiered721HookOf", async () => {
221
- const { client, calls } = stubClient(viem_1.zeroAddress);
222
- const hook = await (0, revnets_js_1.getRevnetTiered721Hook)(client, {
223
- chainId: chains_1.sepolia.id,
224
- revnetId: 4n,
225
- });
226
- (0, vitest_1.expect)(hook).toBe(viem_1.zeroAddress);
227
- (0, vitest_1.expect)(calls[0]).toMatchObject({
228
- functionName: "tiered721HookOf",
229
- args: [4n],
230
- });
231
- });
232
- });
233
- //# sourceMappingURL=revnets.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"revnets.test.js","sourceRoot":"","sources":["../../../src/v6/revnets.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=rulesets.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rulesets.test.d.ts","sourceRoot":"","sources":["../../../src/v6/rulesets.test.ts"],"names":[],"mappings":""}
@@ -1,106 +0,0 @@
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 rulesets_js_1 = require("./rulesets.js");
9
- const types_js_1 = require("./types.js");
10
- const RULESET = {
11
- cycleNumber: 1,
12
- id: 1_700_000_000,
13
- basedOnId: 0,
14
- start: 1_700_000_000,
15
- duration: 86_400,
16
- weight: 10n ** 18n,
17
- weightCutPercent: 0,
18
- approvalHook: "0x0000000000000000000000000000000000000000",
19
- metadata: 0n,
20
- };
21
- /** A stub PublicClient that records readContract calls. */
22
- function stubClient(returnValue, calls = []) {
23
- const client = {
24
- readContract: async (params) => {
25
- calls.push(params);
26
- return returnValue;
27
- },
28
- };
29
- return { client, calls };
30
- }
31
- (0, vitest_1.describe)("buildQueueRulesetsTx", () => {
32
- (0, vitest_1.test)("encodes against the controller ABI", () => {
33
- const request = (0, rulesets_js_1.buildQueueRulesetsTx)({
34
- chainId: chains_1.sepolia.id,
35
- projectId: 7n,
36
- rulesetConfigurations: [(0, launch_js_1.buildRulesetConfiguration)({ duration: 604_800 })],
37
- memo: "next cycle",
38
- });
39
- (0, vitest_1.expect)(request.address).toBe((0, types_js_1.v6Address)("JBController", chains_1.sepolia.id));
40
- (0, vitest_1.expect)(request.chainId).toBe(chains_1.sepolia.id);
41
- const data = (0, viem_1.encodeFunctionData)(request);
42
- const decoded = (0, viem_1.decodeFunctionData)({ abi: juicebox_js_1.jbControllerAbi, data });
43
- (0, vitest_1.expect)(decoded.functionName).toBe("queueRulesetsOf");
44
- (0, vitest_1.expect)(decoded.args[0]).toBe(7n);
45
- (0, vitest_1.expect)(decoded.args[2]).toBe("next cycle");
46
- });
47
- (0, vitest_1.test)("defaults the memo to an empty string", () => {
48
- const request = (0, rulesets_js_1.buildQueueRulesetsTx)({
49
- chainId: chains_1.sepolia.id,
50
- projectId: 7n,
51
- rulesetConfigurations: [],
52
- });
53
- (0, vitest_1.expect)(request.args[2]).toBe("");
54
- });
55
- });
56
- (0, vitest_1.describe)("ruleset reads", () => {
57
- (0, vitest_1.test)("getCurrentRuleset returns named ruleset + metadata", async () => {
58
- const metadata = (0, launch_js_1.buildRulesetMetadata)();
59
- const { client, calls } = stubClient([RULESET, metadata]);
60
- const result = await (0, rulesets_js_1.getCurrentRuleset)(client, {
61
- chainId: chains_1.sepolia.id,
62
- projectId: 3n,
63
- });
64
- (0, vitest_1.expect)(result.ruleset).toEqual(RULESET);
65
- (0, vitest_1.expect)(result.metadata).toEqual(metadata);
66
- (0, vitest_1.expect)(calls[0]).toMatchObject({
67
- address: (0, types_js_1.v6Address)("JBController", chains_1.sepolia.id),
68
- functionName: "currentRulesetOf",
69
- args: [3n],
70
- });
71
- });
72
- (0, vitest_1.test)("getUpcomingRuleset reads upcomingRulesetOf", async () => {
73
- const metadata = (0, launch_js_1.buildRulesetMetadata)();
74
- const { client, calls } = stubClient([RULESET, metadata]);
75
- const result = await (0, rulesets_js_1.getUpcomingRuleset)(client, {
76
- chainId: chains_1.sepolia.id,
77
- projectId: 3n,
78
- });
79
- (0, vitest_1.expect)(result.ruleset).toEqual(RULESET);
80
- (0, vitest_1.expect)(calls[0]).toMatchObject({ functionName: "upcomingRulesetOf" });
81
- });
82
- (0, vitest_1.test)("getAllRulesets pages with sane defaults", async () => {
83
- const page = [{ ruleset: RULESET, metadata: (0, launch_js_1.buildRulesetMetadata)() }];
84
- const { client, calls } = stubClient(page);
85
- const result = await (0, rulesets_js_1.getAllRulesets)(client, {
86
- chainId: chains_1.sepolia.id,
87
- projectId: 3n,
88
- });
89
- (0, vitest_1.expect)(result).toEqual(page);
90
- (0, vitest_1.expect)(calls[0]).toMatchObject({
91
- functionName: "allRulesetsOf",
92
- args: [3n, 0n, 50n],
93
- });
94
- });
95
- (0, vitest_1.test)("getAllRulesets forwards explicit paging args", async () => {
96
- const { client, calls } = stubClient([]);
97
- await (0, rulesets_js_1.getAllRulesets)(client, {
98
- chainId: chains_1.sepolia.id,
99
- projectId: 3n,
100
- startingId: 42n,
101
- size: 5n,
102
- });
103
- (0, vitest_1.expect)(calls[0]).toMatchObject({ args: [3n, 42n, 5n] });
104
- });
105
- });
106
- //# sourceMappingURL=rulesets.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rulesets.test.js","sourceRoot":"","sources":["../../../src/v6/rulesets.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=splits.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"splits.test.d.ts","sourceRoot":"","sources":["../../../src/v6/splits.test.ts"],"names":[],"mappings":""}
@@ -1,135 +0,0 @@
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 splits_js_1 = require("./splits.js");
9
- const types_js_1 = require("./types.js");
10
- const BENEFICIARY = "0x000000000000000000000000000000000000dEaD";
11
- (0, vitest_1.describe)("fillSplitPercents", () => {
12
- (0, vitest_1.test)("returns an empty array for an empty group", () => {
13
- (0, vitest_1.expect)((0, splits_js_1.fillSplitPercents)([])).toEqual([]);
14
- });
15
- (0, vitest_1.test)("leaves an exact group untouched", () => {
16
- (0, vitest_1.expect)((0, splits_js_1.fillSplitPercents)([600_000_000, 400_000_000])).toEqual([
17
- 600_000_000, 400_000_000,
18
- ]);
19
- (0, vitest_1.expect)((0, splits_js_1.fillSplitPercents)([constants_js_1.SPLITS_TOTAL_PERCENT])).toEqual([
20
- constants_js_1.SPLITS_TOTAL_PERCENT,
21
- ]);
22
- });
23
- (0, vitest_1.test)("assigns a positive remainder to the largest share", () => {
24
- const third = Math.floor(constants_js_1.SPLITS_TOTAL_PERCENT / 3);
25
- const filled = (0, splits_js_1.fillSplitPercents)([third, third, third]);
26
- // 3 * 333,333,333 = 999,999,999 — one atom short; the first max takes it.
27
- (0, vitest_1.expect)(filled).toEqual([third + 1, third, third]);
28
- (0, vitest_1.expect)(filled.reduce((a, b) => a + b, 0)).toBe(constants_js_1.SPLITS_TOTAL_PERCENT);
29
- });
30
- (0, vitest_1.test)("assigns the remainder to the largest share, not the last", () => {
31
- const filled = (0, splits_js_1.fillSplitPercents)([100_000_000, 899_999_999]);
32
- (0, vitest_1.expect)(filled).toEqual([100_000_000, 900_000_000]);
33
- });
34
- (0, vitest_1.test)("shaves a negative remainder off the largest share", () => {
35
- const filled = (0, splits_js_1.fillSplitPercents)([500_000_000, 500_000_001]);
36
- (0, vitest_1.expect)(filled).toEqual([500_000_000, 500_000_000]);
37
- (0, vitest_1.expect)(filled.reduce((a, b) => a + b, 0)).toBe(constants_js_1.SPLITS_TOTAL_PERCENT);
38
- });
39
- (0, vitest_1.test)("uneven 7-way split fills to exactly 1e9", () => {
40
- const seventh = Math.floor(constants_js_1.SPLITS_TOTAL_PERCENT / 7);
41
- const shares = Array(7).fill(seventh);
42
- const filled = (0, splits_js_1.fillSplitPercents)(shares);
43
- (0, vitest_1.expect)(filled.reduce((a, b) => a + b, 0)).toBe(constants_js_1.SPLITS_TOTAL_PERCENT);
44
- // 1e9 - 7 * 142,857,142 = 6 atoms on the first max.
45
- (0, vitest_1.expect)(filled[0]).toBe(seventh + 6);
46
- (0, vitest_1.expect)(filled.slice(1)).toEqual(Array(6).fill(seventh));
47
- });
48
- (0, vitest_1.test)("throws when the drift exceeds rounding error", () => {
49
- (0, vitest_1.expect)(() => (0, splits_js_1.fillSplitPercents)([0])).toThrow(/drift larger than rounding/);
50
- (0, vitest_1.expect)(() => (0, splits_js_1.fillSplitPercents)([50, 50])).toThrow(/drift larger than rounding/);
51
- (0, vitest_1.expect)(() => (0, splits_js_1.fillSplitPercents)([0, 0, 0])).toThrow(/drift larger than rounding/);
52
- });
53
- (0, vitest_1.test)("does not mutate the input", () => {
54
- const shares = [499999999, 499999999, 1];
55
- (0, splits_js_1.fillSplitPercents)(shares);
56
- (0, vitest_1.expect)(shares).toEqual([499999999, 499999999, 1]);
57
- });
58
- (0, vitest_1.test)("throws on negative or non-integer shares", () => {
59
- (0, vitest_1.expect)(() => (0, splits_js_1.fillSplitPercents)([-1, constants_js_1.SPLITS_TOTAL_PERCENT])).toThrow(/non-negative integers/);
60
- (0, vitest_1.expect)(() => (0, splits_js_1.fillSplitPercents)([0.5, constants_js_1.SPLITS_TOTAL_PERCENT])).toThrow(/non-negative integers/);
61
- });
62
- (0, vitest_1.test)("repairs a small oversum even above the total", () => {
63
- // sum = 1e9 + 2; shaving 2 off the largest still leaves it non-negative.
64
- const filled = (0, splits_js_1.fillSplitPercents)([constants_js_1.SPLITS_TOTAL_PERCENT + 1, 1]);
65
- (0, vitest_1.expect)(filled).toEqual([constants_js_1.SPLITS_TOTAL_PERCENT - 1, 1]);
66
- (0, vitest_1.expect)(filled.reduce((a, b) => a + b, 0)).toBe(constants_js_1.SPLITS_TOTAL_PERCENT);
67
- });
68
- (0, vitest_1.test)("throws when the group oversums beyond repair", () => {
69
- // sum = 1.8e9; the -8e8 delta far exceeds rounding error.
70
- (0, vitest_1.expect)(() => (0, splits_js_1.fillSplitPercents)([600_000_000, 600_000_000, 600_000_000])).toThrow(/drift larger than rounding/);
71
- });
72
- });
73
- (0, vitest_1.describe)("split group ids", () => {
74
- (0, vitest_1.test)("reserved-token group id is 1n", () => {
75
- (0, vitest_1.expect)(splits_js_1.RESERVED_TOKEN_SPLIT_GROUP_ID).toBe(1n);
76
- });
77
- (0, vitest_1.test)("payout group id is uint256(uint160(token))", () => {
78
- (0, vitest_1.expect)((0, splits_js_1.payoutSplitGroupId)(constants_js_1.NATIVE_TOKEN)).toBe(61166n);
79
- (0, vitest_1.expect)((0, splits_js_1.payoutSplitGroupId)("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984")).toBe(BigInt("0x1f9840a85d5af5bf1d1762f925bdaddc4201f984"));
80
- });
81
- });
82
- (0, vitest_1.describe)("buildSplit", () => {
83
- (0, vitest_1.test)("applies safe defaults", () => {
84
- const split = (0, splits_js_1.buildSplit)({ beneficiary: BENEFICIARY, percent: 1 });
85
- (0, vitest_1.expect)(split).toEqual({
86
- percent: 1,
87
- projectId: 0n,
88
- beneficiary: BENEFICIARY,
89
- preferAddToBalance: false,
90
- lockedUntil: 0,
91
- hook: "0x0000000000000000000000000000000000000000",
92
- });
93
- });
94
- (0, vitest_1.test)("honors overrides", () => {
95
- const split = (0, splits_js_1.buildSplit)({
96
- beneficiary: BENEFICIARY,
97
- percent: 5,
98
- projectId: 3n,
99
- preferAddToBalance: true,
100
- lockedUntil: 1_750_000_000,
101
- hook: BENEFICIARY,
102
- });
103
- (0, vitest_1.expect)(split.projectId).toBe(3n);
104
- (0, vitest_1.expect)(split.preferAddToBalance).toBe(true);
105
- (0, vitest_1.expect)(split.lockedUntil).toBe(1_750_000_000);
106
- (0, vitest_1.expect)(split.hook).toBe(BENEFICIARY);
107
- });
108
- });
109
- (0, vitest_1.describe)("buildSetSplitGroupsTx", () => {
110
- (0, vitest_1.test)("encodes against the controller ABI", () => {
111
- const percents = (0, splits_js_1.fillSplitPercents)([
112
- Math.floor(constants_js_1.SPLITS_TOTAL_PERCENT * 0.7),
113
- Math.floor(constants_js_1.SPLITS_TOTAL_PERCENT * 0.3),
114
- ]);
115
- const request = (0, splits_js_1.buildSetSplitGroupsTx)({
116
- chainId: chains_1.sepolia.id,
117
- projectId: 5n,
118
- rulesetId: 1700000000n,
119
- splitGroups: [
120
- {
121
- groupId: splits_js_1.RESERVED_TOKEN_SPLIT_GROUP_ID,
122
- splits: percents.map((percent) => (0, splits_js_1.buildSplit)({ beneficiary: BENEFICIARY, percent })),
123
- },
124
- ],
125
- });
126
- (0, vitest_1.expect)(request.address).toBe((0, types_js_1.v6Address)("JBController", chains_1.sepolia.id));
127
- (0, vitest_1.expect)(request.chainId).toBe(chains_1.sepolia.id);
128
- (0, vitest_1.expect)(request.functionName).toBe("setSplitGroupsOf");
129
- const data = (0, viem_1.encodeFunctionData)(request);
130
- const decoded = (0, viem_1.decodeFunctionData)({ abi: juicebox_js_1.jbControllerAbi, data });
131
- (0, vitest_1.expect)(decoded.functionName).toBe("setSplitGroupsOf");
132
- (0, vitest_1.expect)(decoded.args[0]).toBe(5n);
133
- });
134
- });
135
- //# sourceMappingURL=splits.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"splits.test.js","sourceRoot":"","sources":["../../../src/v6/splits.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=suckers.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suckers.test.d.ts","sourceRoot":"","sources":["../../../src/v6/suckers.test.ts"],"names":[],"mappings":""}