@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.
- package/dist/cjs/actions/JBSuckerAbi.js +4 -1
- package/dist/cjs/actions/JBSuckerAbi.js.map +1 -1
- package/dist/cjs/actions/dataHook.js +26 -22
- package/dist/cjs/actions/dataHook.js.map +1 -1
- package/dist/cjs/actions/projectMetadata.js +12 -8
- package/dist/cjs/actions/projectMetadata.js.map +1 -1
- package/dist/cjs/actions/suckerPairs.js +21 -17
- package/dist/cjs/actions/suckerPairs.js.map +1 -1
- package/dist/cjs/constants.d.ts +8 -2
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/constants.js +97 -85
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/contracts.js +22 -19
- package/dist/cjs/contracts.js.map +1 -1
- package/dist/cjs/generated/juicebox.d.ts +36 -0
- package/dist/cjs/generated/juicebox.d.ts.map +1 -1
- package/dist/cjs/generated/juicebox.js +130 -90
- package/dist/cjs/generated/juicebox.js.map +1 -1
- package/dist/cjs/index.js +24 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/types.js +15 -4
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils/contracts.js +19 -14
- package/dist/cjs/utils/contracts.js.map +1 -1
- package/dist/cjs/utils/data.js +23 -13
- package/dist/cjs/utils/data.js.map +1 -1
- package/dist/cjs/utils/data.test.js +19 -17
- package/dist/cjs/utils/data.test.js.map +1 -1
- package/dist/cjs/utils/debug.js +4 -1
- package/dist/cjs/utils/debug.js.map +1 -1
- package/dist/cjs/utils/deploy.d.ts +17 -0
- package/dist/cjs/utils/deploy.d.ts.map +1 -1
- package/dist/cjs/utils/deploy.js +63 -27
- package/dist/cjs/utils/deploy.js.map +1 -1
- package/dist/cjs/utils/deploy.test.js +56 -13
- package/dist/cjs/utils/deploy.test.js.map +1 -1
- package/dist/cjs/utils/fee.js +6 -3
- package/dist/cjs/utils/fee.js.map +1 -1
- package/dist/cjs/utils/fee.test.js +8 -6
- package/dist/cjs/utils/fee.test.js.map +1 -1
- package/dist/cjs/utils/format.js +11 -6
- package/dist/cjs/utils/format.js.map +1 -1
- package/dist/cjs/utils/format.test.js +11 -9
- package/dist/cjs/utils/format.test.js.map +1 -1
- package/dist/cjs/utils/hook.js +9 -6
- package/dist/cjs/utils/hook.js.map +1 -1
- package/dist/cjs/utils/index.js +28 -12
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/ipfs.js +14 -6
- package/dist/cjs/utils/ipfs.js.map +1 -1
- package/dist/cjs/utils/ipfs.test.js +23 -18
- package/dist/cjs/utils/ipfs.test.js.map +1 -1
- package/dist/cjs/utils/revnet.js +9 -5
- package/dist/cjs/utils/revnet.js.map +1 -1
- package/dist/cjs/utils/revnet.test.js +9 -7
- package/dist/cjs/utils/revnet.test.js.map +1 -1
- package/dist/cjs/utils/ruleset.js +11 -7
- package/dist/cjs/utils/ruleset.js.map +1 -1
- package/dist/cjs/utils/ruleset.test.js +9 -7
- package/dist/cjs/utils/ruleset.test.js.map +1 -1
- package/dist/cjs/utils/token.js +26 -19
- package/dist/cjs/utils/token.js.map +1 -1
- package/dist/cjs/utils/token.test.js +25 -23
- package/dist/cjs/utils/token.test.js.map +1 -1
- package/dist/cjs/utils/tx.js +6 -3
- package/dist/cjs/utils/tx.js.map +1 -1
- package/dist/cjs/utils/urn.js +9 -5
- package/dist/cjs/utils/urn.js.map +1 -1
- package/dist/cjs/utils/urn.test.js +71 -69
- package/dist/cjs/utils/urn.test.js.map +1 -1
- package/dist/cjs/v6/cashOut.d.ts +5 -0
- package/dist/cjs/v6/cashOut.d.ts.map +1 -1
- package/dist/cjs/v6/cashOut.js +19 -10
- package/dist/cjs/v6/cashOut.js.map +1 -1
- package/dist/cjs/v6/cashOut.test.js +42 -40
- package/dist/cjs/v6/cashOut.test.js.map +1 -1
- package/dist/cjs/v6/currency.js +8 -4
- package/dist/cjs/v6/currency.js.map +1 -1
- package/dist/cjs/v6/currency.test.js +18 -16
- package/dist/cjs/v6/currency.test.js.map +1 -1
- package/dist/cjs/v6/fees.js +11 -6
- package/dist/cjs/v6/fees.js.map +1 -1
- package/dist/cjs/v6/fees.test.js +29 -27
- package/dist/cjs/v6/fees.test.js.map +1 -1
- package/dist/cjs/v6/index.js +31 -15
- package/dist/cjs/v6/index.js.map +1 -1
- package/dist/cjs/v6/launch.js +31 -23
- package/dist/cjs/v6/launch.js.map +1 -1
- package/dist/cjs/v6/launch.test.js +85 -83
- package/dist/cjs/v6/launch.test.js.map +1 -1
- package/dist/cjs/v6/loans.js +26 -19
- package/dist/cjs/v6/loans.js.map +1 -1
- package/dist/cjs/v6/loans.test.js +52 -50
- package/dist/cjs/v6/loans.test.js.map +1 -1
- package/dist/cjs/v6/omnichain.d.ts +6 -1
- package/dist/cjs/v6/omnichain.d.ts.map +1 -1
- package/dist/cjs/v6/omnichain.js +20 -12
- package/dist/cjs/v6/omnichain.js.map +1 -1
- package/dist/cjs/v6/omnichain.test.js +63 -61
- package/dist/cjs/v6/omnichain.test.js.map +1 -1
- package/dist/cjs/v6/pay.js +20 -15
- package/dist/cjs/v6/pay.js.map +1 -1
- package/dist/cjs/v6/pay.test.js +49 -47
- package/dist/cjs/v6/pay.test.js.map +1 -1
- package/dist/cjs/v6/permissions.js +14 -9
- package/dist/cjs/v6/permissions.js.map +1 -1
- package/dist/cjs/v6/permissions.test.js +47 -45
- package/dist/cjs/v6/permissions.test.js.map +1 -1
- package/dist/cjs/v6/revnets.d.ts +5 -3
- package/dist/cjs/v6/revnets.d.ts.map +1 -1
- package/dist/cjs/v6/revnets.js +43 -26
- package/dist/cjs/v6/revnets.js.map +1 -1
- package/dist/cjs/v6/revnets.test.js +80 -78
- package/dist/cjs/v6/revnets.test.js.map +1 -1
- package/dist/cjs/v6/rulesets.js +20 -14
- package/dist/cjs/v6/rulesets.js.map +1 -1
- package/dist/cjs/v6/rulesets.test.js +50 -48
- package/dist/cjs/v6/rulesets.test.js.map +1 -1
- package/dist/cjs/v6/splits.d.ts +3 -2
- package/dist/cjs/v6/splits.d.ts.map +1 -1
- package/dist/cjs/v6/splits.js +29 -18
- package/dist/cjs/v6/splits.js.map +1 -1
- package/dist/cjs/v6/splits.test.js +84 -80
- package/dist/cjs/v6/splits.test.js.map +1 -1
- package/dist/cjs/v6/suckers.js +22 -15
- package/dist/cjs/v6/suckers.js.map +1 -1
- package/dist/cjs/v6/suckers.test.js +57 -55
- package/dist/cjs/v6/suckers.test.js.map +1 -1
- package/dist/cjs/v6/terminals.js +15 -11
- package/dist/cjs/v6/terminals.js.map +1 -1
- package/dist/cjs/v6/terminals.test.js +30 -28
- package/dist/cjs/v6/terminals.test.js.map +1 -1
- package/dist/cjs/v6/tokens.js +34 -25
- package/dist/cjs/v6/tokens.js.map +1 -1
- package/dist/cjs/v6/tokens.test.js +66 -64
- package/dist/cjs/v6/tokens.test.js.map +1 -1
- package/dist/cjs/v6/types.js +6 -3
- package/dist/cjs/v6/types.js.map +1 -1
- package/dist/esm/constants.d.ts +8 -2
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/constants.js +9 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/generated/juicebox.d.ts +36 -0
- package/dist/esm/generated/juicebox.d.ts.map +1 -1
- package/dist/esm/generated/juicebox.js +36 -0
- package/dist/esm/generated/juicebox.js.map +1 -1
- package/dist/esm/utils/deploy.d.ts +17 -0
- package/dist/esm/utils/deploy.d.ts.map +1 -1
- package/dist/esm/utils/deploy.js +50 -18
- package/dist/esm/utils/deploy.js.map +1 -1
- package/dist/esm/utils/deploy.test.js +41 -0
- package/dist/esm/utils/deploy.test.js.map +1 -1
- package/dist/esm/v6/cashOut.d.ts +5 -0
- package/dist/esm/v6/cashOut.d.ts.map +1 -1
- package/dist/esm/v6/cashOut.js +5 -0
- package/dist/esm/v6/cashOut.js.map +1 -1
- package/dist/esm/v6/omnichain.d.ts +6 -1
- package/dist/esm/v6/omnichain.d.ts.map +1 -1
- package/dist/esm/v6/omnichain.js +6 -2
- package/dist/esm/v6/omnichain.js.map +1 -1
- package/dist/esm/v6/revnets.d.ts +5 -3
- package/dist/esm/v6/revnets.d.ts.map +1 -1
- package/dist/esm/v6/revnets.js +12 -4
- package/dist/esm/v6/revnets.js.map +1 -1
- package/dist/esm/v6/splits.d.ts +3 -2
- package/dist/esm/v6/splits.d.ts.map +1 -1
- package/dist/esm/v6/splits.js +9 -5
- package/dist/esm/v6/splits.js.map +1 -1
- package/dist/esm/v6/splits.test.js +8 -6
- package/dist/esm/v6/splits.test.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
package/dist/cjs/v6/revnets.js
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildRevnetStageConfig = buildRevnetStageConfig;
|
|
4
|
+
exports.buildDeployRevnetTx = buildDeployRevnetTx;
|
|
5
|
+
exports.buildAutoIssueTx = buildAutoIssueTx;
|
|
6
|
+
exports.getAmountToAutoIssue = getAmountToAutoIssue;
|
|
7
|
+
exports.getCashOutDelay = getCashOutDelay;
|
|
8
|
+
exports.isRevnetOperator = isRevnetOperator;
|
|
9
|
+
exports.getRevnetTiered721Hook = getRevnetTiered721Hook;
|
|
10
|
+
const juicebox_js_1 = require("../generated/juicebox.js");
|
|
11
|
+
const types_js_1 = require("./types.js");
|
|
3
12
|
/**
|
|
4
13
|
* Build a `REVStageConfig` (spec-exact encodings, documented per field).
|
|
5
14
|
*
|
|
@@ -24,7 +33,7 @@ import { v6Address } from "./types.js";
|
|
|
24
33
|
* rate makes EVERY cash out incur the 2.5% protocol fee.
|
|
25
34
|
* - `extraMetadata`: extra metadata bits forwarded to hooks; 0 by default.
|
|
26
35
|
*/
|
|
27
|
-
|
|
36
|
+
function buildRevnetStageConfig(args) {
|
|
28
37
|
return {
|
|
29
38
|
startsAtOrAfter: args.startsAtOrAfter,
|
|
30
39
|
autoIssuances: args.autoIssuances ?? [],
|
|
@@ -41,8 +50,10 @@ export function buildRevnetStageConfig(args) {
|
|
|
41
50
|
* Build a `REVDeployer.deployFor` transaction request deploying a new revnet
|
|
42
51
|
* (or a 721-shop revnet when `tiered721Config` is given).
|
|
43
52
|
*
|
|
44
|
-
*
|
|
45
|
-
* creation fee — read it with `getProjectCreationFee` on the
|
|
53
|
+
* Deploying a NEW revnet (`revnetId` 0n) is payable and must send EXACTLY the
|
|
54
|
+
* current project creation fee — read it with `getProjectCreationFee` on the
|
|
55
|
+
* same chain. Deploying for an EXISTING project must send no value (the
|
|
56
|
+
* deployer reverts otherwise), so `creationFee` is ignored in that case.
|
|
46
57
|
* For omnichain revnets, send one transaction per chain with an identical
|
|
47
58
|
* `config` (shared description salt, shared absolute stage starts) and a
|
|
48
59
|
* shared sucker salt.
|
|
@@ -60,14 +71,20 @@ export function buildRevnetStageConfig(args) {
|
|
|
60
71
|
* @param args.allowedPosts Croptop posting rules (only used with
|
|
61
72
|
* `tiered721Config`). Defaults to none.
|
|
62
73
|
*/
|
|
63
|
-
|
|
64
|
-
const address = v6Address("REVDeployer", args.chainId);
|
|
74
|
+
function buildDeployRevnetTx(args) {
|
|
75
|
+
const address = (0, types_js_1.v6Address)("REVDeployer", args.chainId);
|
|
65
76
|
const revnetId = args.revnetId ?? 0n;
|
|
77
|
+
// The deployer forwards msg.value to `JBProjects.createFor` for new revnets and
|
|
78
|
+
// reverts on any value when initializing an existing project.
|
|
79
|
+
if (revnetId === 0n && args.creationFee === undefined) {
|
|
80
|
+
throw new Error("creationFee is required when deploying a new revnet");
|
|
81
|
+
}
|
|
82
|
+
const value = revnetId === 0n ? args.creationFee : 0n;
|
|
66
83
|
if (args.tiered721Config) {
|
|
67
84
|
return {
|
|
68
85
|
chainId: args.chainId,
|
|
69
86
|
address,
|
|
70
|
-
abi: revDeployerAbi,
|
|
87
|
+
abi: juicebox_js_1.revDeployerAbi,
|
|
71
88
|
functionName: "deployFor",
|
|
72
89
|
args: [
|
|
73
90
|
revnetId,
|
|
@@ -77,13 +94,13 @@ export function buildDeployRevnetTx(args) {
|
|
|
77
94
|
args.tiered721Config,
|
|
78
95
|
args.allowedPosts ?? [],
|
|
79
96
|
],
|
|
80
|
-
value
|
|
97
|
+
value,
|
|
81
98
|
};
|
|
82
99
|
}
|
|
83
100
|
return {
|
|
84
101
|
chainId: args.chainId,
|
|
85
102
|
address,
|
|
86
|
-
abi: revDeployerAbi,
|
|
103
|
+
abi: juicebox_js_1.revDeployerAbi,
|
|
87
104
|
functionName: "deployFor",
|
|
88
105
|
args: [
|
|
89
106
|
revnetId,
|
|
@@ -91,7 +108,7 @@ export function buildDeployRevnetTx(args) {
|
|
|
91
108
|
args.accountingContexts,
|
|
92
109
|
args.suckerConfig,
|
|
93
110
|
],
|
|
94
|
-
value
|
|
111
|
+
value,
|
|
95
112
|
};
|
|
96
113
|
}
|
|
97
114
|
/**
|
|
@@ -99,11 +116,11 @@ export function buildDeployRevnetTx(args) {
|
|
|
99
116
|
* pending auto-issuance to its beneficiary. Callable by anyone once the
|
|
100
117
|
* stage has started; mints whatever `amountToAutoIssue` reports.
|
|
101
118
|
*/
|
|
102
|
-
|
|
119
|
+
function buildAutoIssueTx(args) {
|
|
103
120
|
return {
|
|
104
121
|
chainId: args.chainId,
|
|
105
|
-
address: v6Address("REVOwner", args.chainId),
|
|
106
|
-
abi: revOwnerAbi,
|
|
122
|
+
address: (0, types_js_1.v6Address)("REVOwner", args.chainId),
|
|
123
|
+
abi: juicebox_js_1.revOwnerAbi,
|
|
107
124
|
functionName: "autoIssueFor",
|
|
108
125
|
args: [args.revnetId, args.stageId, args.beneficiary],
|
|
109
126
|
};
|
|
@@ -112,10 +129,10 @@ export function buildAutoIssueTx(args) {
|
|
|
112
129
|
* Read the token count (18-decimal fixed point) still available to
|
|
113
130
|
* auto-issue to a beneficiary for a given stage.
|
|
114
131
|
*/
|
|
115
|
-
|
|
132
|
+
async function getAmountToAutoIssue(client, args) {
|
|
116
133
|
return client.readContract({
|
|
117
|
-
address: v6Address("REVOwner", args.chainId),
|
|
118
|
-
abi: revOwnerAbi,
|
|
134
|
+
address: (0, types_js_1.v6Address)("REVOwner", args.chainId),
|
|
135
|
+
abi: juicebox_js_1.revOwnerAbi,
|
|
119
136
|
functionName: "amountToAutoIssue",
|
|
120
137
|
args: [args.revnetId, args.stageId, args.beneficiary],
|
|
121
138
|
});
|
|
@@ -126,10 +143,10 @@ export async function getAmountToAutoIssue(client, args) {
|
|
|
126
143
|
* network). 0 or a past timestamp means cash outs are live. Loans are also
|
|
127
144
|
* unavailable while the delay is active.
|
|
128
145
|
*/
|
|
129
|
-
|
|
146
|
+
async function getCashOutDelay(client, args) {
|
|
130
147
|
return client.readContract({
|
|
131
|
-
address: v6Address("REVOwner", args.chainId),
|
|
132
|
-
abi: revOwnerAbi,
|
|
148
|
+
address: (0, types_js_1.v6Address)("REVOwner", args.chainId),
|
|
149
|
+
abi: juicebox_js_1.revOwnerAbi,
|
|
133
150
|
functionName: "cashOutDelayOf",
|
|
134
151
|
args: [args.revnetId],
|
|
135
152
|
});
|
|
@@ -138,10 +155,10 @@ export async function getCashOutDelay(client, args) {
|
|
|
138
155
|
* Read whether an address is the revnet's current operator (the account that
|
|
139
156
|
* can manage splits and other operator-scoped powers).
|
|
140
157
|
*/
|
|
141
|
-
|
|
158
|
+
async function isRevnetOperator(client, args) {
|
|
142
159
|
return client.readContract({
|
|
143
|
-
address: v6Address("REVOwner", args.chainId),
|
|
144
|
-
abi: revOwnerAbi,
|
|
160
|
+
address: (0, types_js_1.v6Address)("REVOwner", args.chainId),
|
|
161
|
+
abi: juicebox_js_1.revOwnerAbi,
|
|
145
162
|
functionName: "isOperatorOf",
|
|
146
163
|
args: [args.revnetId, args.operator],
|
|
147
164
|
});
|
|
@@ -150,10 +167,10 @@ export async function isRevnetOperator(client, args) {
|
|
|
150
167
|
* Read the tiered 721 hook deployed for the revnet (zero address if the
|
|
151
168
|
* revnet was deployed without one).
|
|
152
169
|
*/
|
|
153
|
-
|
|
170
|
+
async function getRevnetTiered721Hook(client, args) {
|
|
154
171
|
return client.readContract({
|
|
155
|
-
address: v6Address("REVOwner", args.chainId),
|
|
156
|
-
abi: revOwnerAbi,
|
|
172
|
+
address: (0, types_js_1.v6Address)("REVOwner", args.chainId),
|
|
173
|
+
abi: juicebox_js_1.revOwnerAbi,
|
|
157
174
|
functionName: "tiered721HookOf",
|
|
158
175
|
args: [args.revnetId],
|
|
159
176
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revnets.js","sourceRoot":"","sources":["../../../src/v6/revnets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"revnets.js","sourceRoot":"","sources":["../../../src/v6/revnets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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");
|
|
8
10
|
const OPERATOR = "0x000000000000000000000000000000000000dEaD";
|
|
9
11
|
const SALT = "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd";
|
|
10
12
|
const DEPLOY_START = 1_750_000_000;
|
|
@@ -17,17 +19,17 @@ const TIERED_721_CONFIG = {
|
|
|
17
19
|
name: "Rev Shop",
|
|
18
20
|
symbol: "SHOP",
|
|
19
21
|
baseUri: "ipfs://",
|
|
20
|
-
tokenUriResolver: zeroAddress,
|
|
22
|
+
tokenUriResolver: viem_1.zeroAddress,
|
|
21
23
|
contractUri: "",
|
|
22
24
|
tiersConfig: {
|
|
23
25
|
tiers: [
|
|
24
26
|
{
|
|
25
|
-
price: parseEther("0.05"),
|
|
27
|
+
price: (0, viem_1.parseEther)("0.05"),
|
|
26
28
|
initialSupply: 100,
|
|
27
29
|
votingUnits: 0,
|
|
28
30
|
reserveFrequency: 0,
|
|
29
|
-
reserveBeneficiary: zeroAddress,
|
|
30
|
-
encodedIpfsUri: zeroHash,
|
|
31
|
+
reserveBeneficiary: viem_1.zeroAddress,
|
|
32
|
+
encodedIpfsUri: viem_1.zeroHash,
|
|
31
33
|
category: 1,
|
|
32
34
|
discountPercent: 0,
|
|
33
35
|
flags: {
|
|
@@ -71,15 +73,15 @@ function revnetConfig() {
|
|
|
71
73
|
operator: OPERATOR,
|
|
72
74
|
scopeCashOutsToLocalBalances: false,
|
|
73
75
|
stageConfigurations: [
|
|
74
|
-
buildRevnetStageConfig({
|
|
76
|
+
(0, revnets_js_1.buildRevnetStageConfig)({
|
|
75
77
|
startsAtOrAfter: DEPLOY_START,
|
|
76
|
-
initialIssuance: parseEther("1000"),
|
|
78
|
+
initialIssuance: (0, viem_1.parseEther)("1000"),
|
|
77
79
|
splitPercent: 3800, // 38% of 10,000
|
|
78
80
|
issuanceCutFrequency: 30 * 86_400,
|
|
79
81
|
issuanceCutPercent: 200_000_000, // 20% of 1e9
|
|
80
82
|
cashOutTaxRate: 2000, // 20% of 10,000
|
|
81
83
|
}),
|
|
82
|
-
buildRevnetStageConfig({
|
|
84
|
+
(0, revnets_js_1.buildRevnetStageConfig)({
|
|
83
85
|
// ABSOLUTE start, cumulative from the SAME deploy start.
|
|
84
86
|
startsAtOrAfter: DEPLOY_START + 365 * 86_400,
|
|
85
87
|
initialIssuance: 1n, // sentinel: inherit the previous (cut) issuance
|
|
@@ -97,132 +99,132 @@ function stubClient(returnValue, calls = []) {
|
|
|
97
99
|
};
|
|
98
100
|
return { client, calls };
|
|
99
101
|
}
|
|
100
|
-
describe("buildRevnetStageConfig", () => {
|
|
101
|
-
test("applies safe defaults", () => {
|
|
102
|
-
const stage = buildRevnetStageConfig({
|
|
102
|
+
(0, vitest_1.describe)("buildRevnetStageConfig", () => {
|
|
103
|
+
(0, vitest_1.test)("applies safe defaults", () => {
|
|
104
|
+
const stage = (0, revnets_js_1.buildRevnetStageConfig)({
|
|
103
105
|
startsAtOrAfter: DEPLOY_START,
|
|
104
|
-
initialIssuance: parseEther("1"),
|
|
106
|
+
initialIssuance: (0, viem_1.parseEther)("1"),
|
|
105
107
|
});
|
|
106
|
-
expect(stage).toEqual({
|
|
108
|
+
(0, vitest_1.expect)(stage).toEqual({
|
|
107
109
|
startsAtOrAfter: DEPLOY_START,
|
|
108
110
|
autoIssuances: [],
|
|
109
111
|
splitPercent: 0,
|
|
110
112
|
splits: [],
|
|
111
|
-
initialIssuance: parseEther("1"),
|
|
113
|
+
initialIssuance: (0, viem_1.parseEther)("1"),
|
|
112
114
|
issuanceCutFrequency: 0,
|
|
113
115
|
issuanceCutPercent: 0,
|
|
114
116
|
cashOutTaxRate: 0,
|
|
115
117
|
extraMetadata: 0,
|
|
116
118
|
});
|
|
117
119
|
});
|
|
118
|
-
test("carries auto-issuances", () => {
|
|
119
|
-
const stage = buildRevnetStageConfig({
|
|
120
|
+
(0, vitest_1.test)("carries auto-issuances", () => {
|
|
121
|
+
const stage = (0, revnets_js_1.buildRevnetStageConfig)({
|
|
120
122
|
startsAtOrAfter: DEPLOY_START,
|
|
121
|
-
initialIssuance: parseEther("1"),
|
|
123
|
+
initialIssuance: (0, viem_1.parseEther)("1"),
|
|
122
124
|
autoIssuances: [
|
|
123
125
|
{
|
|
124
|
-
chainId: sepolia.id,
|
|
125
|
-
count: parseEther("100"),
|
|
126
|
+
chainId: chains_1.sepolia.id,
|
|
127
|
+
count: (0, viem_1.parseEther)("100"),
|
|
126
128
|
beneficiary: OPERATOR,
|
|
127
129
|
},
|
|
128
130
|
],
|
|
129
131
|
});
|
|
130
|
-
expect(stage.autoIssuances).toHaveLength(1);
|
|
131
|
-
expect(stage.autoIssuances[0].count).toBe(parseEther("100"));
|
|
132
|
+
(0, vitest_1.expect)(stage.autoIssuances).toHaveLength(1);
|
|
133
|
+
(0, vitest_1.expect)(stage.autoIssuances[0].count).toBe((0, viem_1.parseEther)("100"));
|
|
132
134
|
});
|
|
133
135
|
});
|
|
134
|
-
describe("buildDeployRevnetTx", () => {
|
|
135
|
-
test("encodes the 4-arg overload with revnetId 0n (new revnet)", () => {
|
|
136
|
-
const creationFee = parseEther("0.01");
|
|
137
|
-
const request = buildDeployRevnetTx({
|
|
138
|
-
chainId: sepolia.id,
|
|
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,
|
|
139
141
|
config: revnetConfig(),
|
|
140
|
-
accountingContexts: [buildAccountingContext()],
|
|
142
|
+
accountingContexts: [(0, launch_js_1.buildAccountingContext)()],
|
|
141
143
|
suckerConfig: SUCKER_CONFIG,
|
|
142
144
|
creationFee,
|
|
143
145
|
});
|
|
144
|
-
expect(request.address).toBe(v6Address("REVDeployer", sepolia.id));
|
|
145
|
-
expect(request.value).toBe(creationFee);
|
|
146
|
-
expect(request.args).toHaveLength(4);
|
|
147
|
-
expect(request.args[0]).toBe(0n);
|
|
148
|
-
const data = encodeFunctionData(request);
|
|
149
|
-
const decoded = decodeFunctionData({ abi: revDeployerAbi, data });
|
|
150
|
-
expect(decoded.functionName).toBe("deployFor");
|
|
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");
|
|
151
153
|
});
|
|
152
|
-
test("encodes the 6-arg overload with a tiered 721 config", () => {
|
|
153
|
-
const request = buildDeployRevnetTx({
|
|
154
|
-
chainId: sepolia.id,
|
|
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,
|
|
155
157
|
config: revnetConfig(),
|
|
156
|
-
accountingContexts: [buildAccountingContext()],
|
|
158
|
+
accountingContexts: [(0, launch_js_1.buildAccountingContext)()],
|
|
157
159
|
suckerConfig: SUCKER_CONFIG,
|
|
158
|
-
creationFee: parseEther("0.01"),
|
|
160
|
+
creationFee: (0, viem_1.parseEther)("0.01"),
|
|
159
161
|
tiered721Config: TIERED_721_CONFIG,
|
|
160
162
|
});
|
|
161
|
-
expect(request.args).toHaveLength(6);
|
|
162
|
-
expect(request.args[4]).toBe(TIERED_721_CONFIG);
|
|
163
|
-
expect(request.args[5]).toEqual([]); // allowedPosts default
|
|
164
|
-
expect(() => encodeFunctionData(request)).not.toThrow();
|
|
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();
|
|
165
167
|
});
|
|
166
168
|
});
|
|
167
|
-
describe("REVOwner actions", () => {
|
|
168
|
-
test("buildAutoIssueTx encodes autoIssueFor", () => {
|
|
169
|
-
const request = buildAutoIssueTx({
|
|
170
|
-
chainId: sepolia.id,
|
|
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,
|
|
171
173
|
revnetId: 4n,
|
|
172
174
|
stageId: 2n,
|
|
173
175
|
beneficiary: OPERATOR,
|
|
174
176
|
});
|
|
175
|
-
expect(request.address).toBe(v6Address("REVOwner", sepolia.id));
|
|
176
|
-
expect(() => encodeFunctionData(request)).not.toThrow();
|
|
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();
|
|
177
179
|
});
|
|
178
|
-
test("getAmountToAutoIssue reads amountToAutoIssue", async () => {
|
|
179
|
-
const { client, calls } = stubClient(parseEther("100"));
|
|
180
|
-
const amount = await getAmountToAutoIssue(client, {
|
|
181
|
-
chainId: sepolia.id,
|
|
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,
|
|
182
184
|
revnetId: 4n,
|
|
183
185
|
stageId: 2n,
|
|
184
186
|
beneficiary: OPERATOR,
|
|
185
187
|
});
|
|
186
|
-
expect(amount).toBe(parseEther("100"));
|
|
187
|
-
expect(calls[0]).toMatchObject({
|
|
188
|
-
address: v6Address("REVOwner", sepolia.id),
|
|
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),
|
|
189
191
|
functionName: "amountToAutoIssue",
|
|
190
192
|
args: [4n, 2n, OPERATOR],
|
|
191
193
|
});
|
|
192
194
|
});
|
|
193
|
-
test("getCashOutDelay reads cashOutDelayOf", async () => {
|
|
195
|
+
(0, vitest_1.test)("getCashOutDelay reads cashOutDelayOf", async () => {
|
|
194
196
|
const { client, calls } = stubClient(0n);
|
|
195
|
-
const delay = await getCashOutDelay(client, {
|
|
196
|
-
chainId: sepolia.id,
|
|
197
|
+
const delay = await (0, revnets_js_1.getCashOutDelay)(client, {
|
|
198
|
+
chainId: chains_1.sepolia.id,
|
|
197
199
|
revnetId: 4n,
|
|
198
200
|
});
|
|
199
|
-
expect(delay).toBe(0n);
|
|
200
|
-
expect(calls[0]).toMatchObject({
|
|
201
|
+
(0, vitest_1.expect)(delay).toBe(0n);
|
|
202
|
+
(0, vitest_1.expect)(calls[0]).toMatchObject({
|
|
201
203
|
functionName: "cashOutDelayOf",
|
|
202
204
|
args: [4n],
|
|
203
205
|
});
|
|
204
206
|
});
|
|
205
|
-
test("isRevnetOperator reads isOperatorOf", async () => {
|
|
207
|
+
(0, vitest_1.test)("isRevnetOperator reads isOperatorOf", async () => {
|
|
206
208
|
const { client, calls } = stubClient(true);
|
|
207
|
-
const isOperator = await isRevnetOperator(client, {
|
|
208
|
-
chainId: sepolia.id,
|
|
209
|
+
const isOperator = await (0, revnets_js_1.isRevnetOperator)(client, {
|
|
210
|
+
chainId: chains_1.sepolia.id,
|
|
209
211
|
revnetId: 4n,
|
|
210
212
|
operator: OPERATOR,
|
|
211
213
|
});
|
|
212
|
-
expect(isOperator).toBe(true);
|
|
213
|
-
expect(calls[0]).toMatchObject({
|
|
214
|
+
(0, vitest_1.expect)(isOperator).toBe(true);
|
|
215
|
+
(0, vitest_1.expect)(calls[0]).toMatchObject({
|
|
214
216
|
functionName: "isOperatorOf",
|
|
215
217
|
args: [4n, OPERATOR],
|
|
216
218
|
});
|
|
217
219
|
});
|
|
218
|
-
test("getRevnetTiered721Hook reads tiered721HookOf", async () => {
|
|
219
|
-
const { client, calls } = stubClient(zeroAddress);
|
|
220
|
-
const hook = await getRevnetTiered721Hook(client, {
|
|
221
|
-
chainId: sepolia.id,
|
|
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,
|
|
222
224
|
revnetId: 4n,
|
|
223
225
|
});
|
|
224
|
-
expect(hook).toBe(zeroAddress);
|
|
225
|
-
expect(calls[0]).toMatchObject({
|
|
226
|
+
(0, vitest_1.expect)(hook).toBe(viem_1.zeroAddress);
|
|
227
|
+
(0, vitest_1.expect)(calls[0]).toMatchObject({
|
|
226
228
|
functionName: "tiered721HookOf",
|
|
227
229
|
args: [4n],
|
|
228
230
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revnets.test.js","sourceRoot":"","sources":["../../../src/v6/revnets.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"revnets.test.js","sourceRoot":"","sources":["../../../src/v6/revnets.test.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/v6/rulesets.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildQueueRulesetsTx = buildQueueRulesetsTx;
|
|
4
|
+
exports.getCurrentRuleset = getCurrentRuleset;
|
|
5
|
+
exports.getUpcomingRuleset = getUpcomingRuleset;
|
|
6
|
+
exports.getAllRulesets = getAllRulesets;
|
|
7
|
+
const juicebox_js_1 = require("../generated/juicebox.js");
|
|
8
|
+
const types_js_1 = require("./types.js");
|
|
3
9
|
/**
|
|
4
10
|
* Build a `JBController.queueRulesetsOf` transaction request queuing rulesets
|
|
5
11
|
* for an existing project on a single chain.
|
|
@@ -12,11 +18,11 @@ import { v6Address } from "./types.js";
|
|
|
12
18
|
* `buildRulesetConfiguration` to construct them.
|
|
13
19
|
* @param args.memo An optional memo emitted with the queue event.
|
|
14
20
|
*/
|
|
15
|
-
|
|
21
|
+
function buildQueueRulesetsTx(args) {
|
|
16
22
|
return {
|
|
17
23
|
chainId: args.chainId,
|
|
18
|
-
address: v6Address("JBController", args.chainId),
|
|
19
|
-
abi: jbControllerAbi,
|
|
24
|
+
address: (0, types_js_1.v6Address)("JBController", args.chainId),
|
|
25
|
+
abi: juicebox_js_1.jbControllerAbi,
|
|
20
26
|
functionName: "queueRulesetsOf",
|
|
21
27
|
args: [
|
|
22
28
|
args.projectId,
|
|
@@ -29,10 +35,10 @@ export function buildQueueRulesetsTx(args) {
|
|
|
29
35
|
* Read a project's currently active ruleset and its metadata from the
|
|
30
36
|
* controller.
|
|
31
37
|
*/
|
|
32
|
-
|
|
38
|
+
async function getCurrentRuleset(client, args) {
|
|
33
39
|
const [ruleset, metadata] = await client.readContract({
|
|
34
|
-
address: v6Address("JBController", args.chainId),
|
|
35
|
-
abi: jbControllerAbi,
|
|
40
|
+
address: (0, types_js_1.v6Address)("JBController", args.chainId),
|
|
41
|
+
abi: juicebox_js_1.jbControllerAbi,
|
|
36
42
|
functionName: "currentRulesetOf",
|
|
37
43
|
args: [args.projectId],
|
|
38
44
|
});
|
|
@@ -42,10 +48,10 @@ export async function getCurrentRuleset(client, args) {
|
|
|
42
48
|
* Read a project's next upcoming ruleset and its metadata from the
|
|
43
49
|
* controller. Returns an empty (all-zero) ruleset if none is queued.
|
|
44
50
|
*/
|
|
45
|
-
|
|
51
|
+
async function getUpcomingRuleset(client, args) {
|
|
46
52
|
const [ruleset, metadata] = await client.readContract({
|
|
47
|
-
address: v6Address("JBController", args.chainId),
|
|
48
|
-
abi: jbControllerAbi,
|
|
53
|
+
address: (0, types_js_1.v6Address)("JBController", args.chainId),
|
|
54
|
+
abi: juicebox_js_1.jbControllerAbi,
|
|
49
55
|
functionName: "upcomingRulesetOf",
|
|
50
56
|
args: [args.projectId],
|
|
51
57
|
});
|
|
@@ -59,10 +65,10 @@ export async function getUpcomingRuleset(client, args) {
|
|
|
59
65
|
* starts from the latest ruleset.
|
|
60
66
|
* @param args.size The maximum number of rulesets to return. Defaults to 50n.
|
|
61
67
|
*/
|
|
62
|
-
|
|
68
|
+
async function getAllRulesets(client, args) {
|
|
63
69
|
return client.readContract({
|
|
64
|
-
address: v6Address("JBController", args.chainId),
|
|
65
|
-
abi: jbControllerAbi,
|
|
70
|
+
address: (0, types_js_1.v6Address)("JBController", args.chainId),
|
|
71
|
+
abi: juicebox_js_1.jbControllerAbi,
|
|
66
72
|
functionName: "allRulesetsOf",
|
|
67
73
|
args: [args.projectId, args.startingId ?? 0n, args.size ?? 50n],
|
|
68
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rulesets.js","sourceRoot":"","sources":["../../../src/v6/rulesets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rulesets.js","sourceRoot":"","sources":["../../../src/v6/rulesets.ts"],"names":[],"mappings":";;AA2DA,oDAiBC;AAMD,8CAWC;AAMD,gDAWC;AAUD,wCAeC;AAlID,0DAA2D;AAE3D,yCAAuC;AAwCvC;;;;;;;;;;;GAWG;AACH,SAAgB,oBAAoB,CAAC,IAKpC;IACC,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAA,oBAAS,EAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC;QAChD,GAAG,EAAE,6BAAe;QACpB,YAAY,EAAE,iBAA0B;QACxC,IAAI,EAAE;YACJ,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,qBAAqB;YAC1B,IAAI,CAAC,IAAI,IAAI,EAAE;SACP;KACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAoB,EACpB,IAA+C;IAE/C,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACpD,OAAO,EAAE,IAAA,oBAAS,EAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC;QAChD,GAAG,EAAE,6BAAe;QACpB,YAAY,EAAE,kBAAkB;QAChC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;KACvB,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAoB,EACpB,IAA+C;IAE/C,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACpD,OAAO,EAAE,IAAA,oBAAS,EAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC;QAChD,GAAG,EAAE,6BAAe;QACpB,YAAY,EAAE,mBAAmB;QACjC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;KACvB,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAClC,MAAoB,EACpB,IAKC;IAED,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,IAAA,oBAAS,EAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC;QAChD,GAAG,EAAE,6BAAe;QACpB,YAAY,EAAE,eAAe;QAC7B,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;KAChE,CAAC,CAAC;AACL,CAAC"}
|