@bananapus/nana-sdk-core 1.2.0 → 1.4.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/utils/hook.d.ts +15 -0
- package/dist/cjs/utils/hook.d.ts.map +1 -1
- package/dist/cjs/utils/hook.js +20 -0
- package/dist/cjs/utils/hook.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/ipfs.d.ts +33 -1
- package/dist/cjs/utils/ipfs.d.ts.map +1 -1
- package/dist/cjs/utils/ipfs.js +212 -8
- package/dist/cjs/utils/ipfs.js.map +1 -1
- package/dist/cjs/utils/ipfs.test.js +34 -0
- package/dist/cjs/utils/ipfs.test.js.map +1 -1
- package/dist/cjs/v6/cashOut.d.ts +23 -0
- package/dist/cjs/v6/cashOut.d.ts.map +1 -1
- package/dist/cjs/v6/cashOut.js +35 -0
- package/dist/cjs/v6/cashOut.js.map +1 -1
- package/dist/cjs/v6/cashOut.test.js +20 -0
- package/dist/cjs/v6/cashOut.test.js.map +1 -1
- package/dist/cjs/v6/index.d.ts +3 -0
- package/dist/cjs/v6/index.d.ts.map +1 -1
- package/dist/cjs/v6/index.js +3 -0
- package/dist/cjs/v6/index.js.map +1 -1
- package/dist/cjs/v6/launch.d.ts +23 -2
- package/dist/cjs/v6/launch.d.ts.map +1 -1
- package/dist/cjs/v6/launch.js +40 -1
- package/dist/cjs/v6/launch.js.map +1 -1
- package/dist/cjs/v6/launch.test.js +25 -0
- package/dist/cjs/v6/launch.test.js.map +1 -1
- package/dist/cjs/v6/nft.d.ts +165 -0
- package/dist/cjs/v6/nft.d.ts.map +1 -0
- package/dist/cjs/v6/nft.js +356 -0
- package/dist/cjs/v6/nft.js.map +1 -0
- package/dist/cjs/v6/nft.test.d.ts +2 -0
- package/dist/cjs/v6/nft.test.d.ts.map +1 -0
- package/dist/cjs/v6/nft.test.js +279 -0
- package/dist/cjs/v6/nft.test.js.map +1 -0
- package/dist/cjs/v6/pay.d.ts +13 -5
- package/dist/cjs/v6/pay.d.ts.map +1 -1
- package/dist/cjs/v6/pay.js +15 -18
- package/dist/cjs/v6/pay.js.map +1 -1
- package/dist/cjs/v6/pay.test.js +7 -0
- package/dist/cjs/v6/pay.test.js.map +1 -1
- package/dist/cjs/v6/permissions.d.ts +21 -0
- package/dist/cjs/v6/permissions.d.ts.map +1 -1
- package/dist/cjs/v6/permissions.js +44 -1
- package/dist/cjs/v6/permissions.js.map +1 -1
- package/dist/cjs/v6/permissions.test.js +25 -0
- package/dist/cjs/v6/permissions.test.js.map +1 -1
- package/dist/cjs/v6/projectPayers.d.ts +178 -0
- package/dist/cjs/v6/projectPayers.d.ts.map +1 -0
- package/dist/cjs/v6/projectPayers.js +108 -0
- package/dist/cjs/v6/projectPayers.js.map +1 -0
- package/dist/cjs/v6/projectPayers.test.d.ts +2 -0
- package/dist/cjs/v6/projectPayers.test.d.ts.map +1 -0
- package/dist/cjs/v6/projectPayers.test.js +85 -0
- package/dist/cjs/v6/projectPayers.test.js.map +1 -0
- package/dist/cjs/v6/revnets.d.ts +3 -2
- package/dist/cjs/v6/revnets.d.ts.map +1 -1
- package/dist/cjs/v6/revnets.js +3 -2
- package/dist/cjs/v6/revnets.js.map +1 -1
- package/dist/cjs/v6/rulesets.d.ts +42 -0
- package/dist/cjs/v6/rulesets.d.ts.map +1 -1
- package/dist/cjs/v6/rulesets.js +87 -0
- package/dist/cjs/v6/rulesets.js.map +1 -1
- package/dist/cjs/v6/rulesets.test.js +54 -0
- package/dist/cjs/v6/rulesets.test.js.map +1 -1
- package/dist/cjs/v6/suckers.d.ts +740 -2
- package/dist/cjs/v6/suckers.d.ts.map +1 -1
- package/dist/cjs/v6/suckers.js +647 -8
- package/dist/cjs/v6/suckers.js.map +1 -1
- package/dist/cjs/v6/suckers.test.js +228 -0
- package/dist/cjs/v6/suckers.test.js.map +1 -1
- package/dist/cjs/v6/uniswapV4.d.ts +82 -0
- package/dist/cjs/v6/uniswapV4.d.ts.map +1 -0
- package/dist/cjs/v6/uniswapV4.js +336 -0
- package/dist/cjs/v6/uniswapV4.js.map +1 -0
- package/dist/cjs/v6/uniswapV4.test.d.ts +2 -0
- package/dist/cjs/v6/uniswapV4.test.d.ts.map +1 -0
- package/dist/cjs/v6/uniswapV4.test.js +128 -0
- package/dist/cjs/v6/uniswapV4.test.js.map +1 -0
- package/dist/esm/utils/hook.d.ts +15 -0
- package/dist/esm/utils/hook.d.ts.map +1 -1
- package/dist/esm/utils/hook.js +20 -1
- package/dist/esm/utils/hook.js.map +1 -1
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/ipfs.d.ts +33 -1
- package/dist/esm/utils/ipfs.d.ts.map +1 -1
- package/dist/esm/utils/ipfs.js +204 -8
- package/dist/esm/utils/ipfs.js.map +1 -1
- package/dist/esm/utils/ipfs.test.js +35 -1
- package/dist/esm/utils/ipfs.test.js.map +1 -1
- package/dist/esm/v6/cashOut.d.ts +23 -0
- package/dist/esm/v6/cashOut.d.ts.map +1 -1
- package/dist/esm/v6/cashOut.js +34 -0
- package/dist/esm/v6/cashOut.js.map +1 -1
- package/dist/esm/v6/cashOut.test.js +22 -2
- package/dist/esm/v6/cashOut.test.js.map +1 -1
- package/dist/esm/v6/index.d.ts +3 -0
- package/dist/esm/v6/index.d.ts.map +1 -1
- package/dist/esm/v6/index.js +3 -0
- package/dist/esm/v6/index.js.map +1 -1
- package/dist/esm/v6/launch.d.ts +23 -2
- package/dist/esm/v6/launch.d.ts.map +1 -1
- package/dist/esm/v6/launch.js +39 -2
- package/dist/esm/v6/launch.js.map +1 -1
- package/dist/esm/v6/launch.test.js +27 -2
- package/dist/esm/v6/launch.test.js.map +1 -1
- package/dist/esm/v6/nft.d.ts +165 -0
- package/dist/esm/v6/nft.d.ts.map +1 -0
- package/dist/esm/v6/nft.js +342 -0
- package/dist/esm/v6/nft.js.map +1 -0
- package/dist/esm/v6/nft.test.d.ts +2 -0
- package/dist/esm/v6/nft.test.d.ts.map +1 -0
- package/dist/esm/v6/nft.test.js +277 -0
- package/dist/esm/v6/nft.test.js.map +1 -0
- package/dist/esm/v6/pay.d.ts +13 -5
- package/dist/esm/v6/pay.d.ts.map +1 -1
- package/dist/esm/v6/pay.js +17 -20
- package/dist/esm/v6/pay.js.map +1 -1
- package/dist/esm/v6/pay.test.js +7 -0
- package/dist/esm/v6/pay.test.js.map +1 -1
- package/dist/esm/v6/permissions.d.ts +21 -0
- package/dist/esm/v6/permissions.d.ts.map +1 -1
- package/dist/esm/v6/permissions.js +40 -0
- package/dist/esm/v6/permissions.js.map +1 -1
- package/dist/esm/v6/permissions.test.js +26 -1
- package/dist/esm/v6/permissions.test.js.map +1 -1
- package/dist/esm/v6/projectPayers.d.ts +178 -0
- package/dist/esm/v6/projectPayers.d.ts.map +1 -0
- package/dist/esm/v6/projectPayers.js +101 -0
- package/dist/esm/v6/projectPayers.js.map +1 -0
- package/dist/esm/v6/projectPayers.test.d.ts +2 -0
- package/dist/esm/v6/projectPayers.test.d.ts.map +1 -0
- package/dist/esm/v6/projectPayers.test.js +83 -0
- package/dist/esm/v6/projectPayers.test.js.map +1 -0
- package/dist/esm/v6/revnets.d.ts +3 -2
- package/dist/esm/v6/revnets.d.ts.map +1 -1
- package/dist/esm/v6/revnets.js +3 -2
- package/dist/esm/v6/revnets.js.map +1 -1
- package/dist/esm/v6/rulesets.d.ts +42 -0
- package/dist/esm/v6/rulesets.d.ts.map +1 -1
- package/dist/esm/v6/rulesets.js +83 -0
- package/dist/esm/v6/rulesets.js.map +1 -1
- package/dist/esm/v6/rulesets.test.js +55 -1
- package/dist/esm/v6/rulesets.test.js.map +1 -1
- package/dist/esm/v6/suckers.d.ts +740 -2
- package/dist/esm/v6/suckers.d.ts.map +1 -1
- package/dist/esm/v6/suckers.js +630 -8
- package/dist/esm/v6/suckers.js.map +1 -1
- package/dist/esm/v6/suckers.test.js +230 -2
- package/dist/esm/v6/suckers.test.js.map +1 -1
- package/dist/esm/v6/uniswapV4.d.ts +82 -0
- package/dist/esm/v6/uniswapV4.d.ts.map +1 -0
- package/dist/esm/v6/uniswapV4.js +318 -0
- package/dist/esm/v6/uniswapV4.js.map +1 -0
- package/dist/esm/v6/uniswapV4.test.d.ts +2 -0
- package/dist/esm/v6/uniswapV4.test.d.ts.map +1 -0
- package/dist/esm/v6/uniswapV4.test.js +126 -0
- package/dist/esm/v6/uniswapV4.test.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.test.js","sourceRoot":"","sources":["../../../src/v6/permissions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,
|
|
1
|
+
{"version":3,"file":"permissions.test.js","sourceRoot":"","sources":["../../../src/v6/permissions.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { type Address, type Hex } from "viem";
|
|
2
|
+
import type { JBChainId } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Canonical JBProjectPayerDeployer address. The v6 deployment uses the same
|
|
5
|
+
* CREATE2 address on every chain supported by the SDK.
|
|
6
|
+
*/
|
|
7
|
+
export declare const JB_PROJECT_PAYER_DEPLOYER: Address;
|
|
8
|
+
/** JBProjectPayerDeployer surface needed by web clients. */
|
|
9
|
+
export declare const jbProjectPayerDeployerAbi: readonly [{
|
|
10
|
+
readonly type: "function";
|
|
11
|
+
readonly name: "deployProjectPayer";
|
|
12
|
+
readonly stateMutability: "nonpayable";
|
|
13
|
+
readonly inputs: readonly [{
|
|
14
|
+
readonly name: "defaultProjectId";
|
|
15
|
+
readonly type: "uint256";
|
|
16
|
+
}, {
|
|
17
|
+
readonly name: "defaultBeneficiary";
|
|
18
|
+
readonly type: "address";
|
|
19
|
+
}, {
|
|
20
|
+
readonly name: "defaultMemo";
|
|
21
|
+
readonly type: "string";
|
|
22
|
+
}, {
|
|
23
|
+
readonly name: "defaultMetadata";
|
|
24
|
+
readonly type: "bytes";
|
|
25
|
+
}, {
|
|
26
|
+
readonly name: "defaultAddToBalance";
|
|
27
|
+
readonly type: "bool";
|
|
28
|
+
}, {
|
|
29
|
+
readonly name: "owner";
|
|
30
|
+
readonly type: "address";
|
|
31
|
+
}];
|
|
32
|
+
readonly outputs: readonly [{
|
|
33
|
+
readonly name: "projectPayer";
|
|
34
|
+
readonly type: "address";
|
|
35
|
+
}];
|
|
36
|
+
}, {
|
|
37
|
+
readonly type: "event";
|
|
38
|
+
readonly name: "DeployProjectPayer";
|
|
39
|
+
readonly anonymous: false;
|
|
40
|
+
readonly inputs: readonly [{
|
|
41
|
+
readonly name: "projectPayer";
|
|
42
|
+
readonly type: "address";
|
|
43
|
+
readonly indexed: true;
|
|
44
|
+
}, {
|
|
45
|
+
readonly name: "defaultProjectId";
|
|
46
|
+
readonly type: "uint256";
|
|
47
|
+
readonly indexed: false;
|
|
48
|
+
}, {
|
|
49
|
+
readonly name: "defaultBeneficiary";
|
|
50
|
+
readonly type: "address";
|
|
51
|
+
readonly indexed: false;
|
|
52
|
+
}, {
|
|
53
|
+
readonly name: "defaultMemo";
|
|
54
|
+
readonly type: "string";
|
|
55
|
+
readonly indexed: false;
|
|
56
|
+
}, {
|
|
57
|
+
readonly name: "defaultMetadata";
|
|
58
|
+
readonly type: "bytes";
|
|
59
|
+
readonly indexed: false;
|
|
60
|
+
}, {
|
|
61
|
+
readonly name: "defaultAddToBalance";
|
|
62
|
+
readonly type: "bool";
|
|
63
|
+
readonly indexed: false;
|
|
64
|
+
}, {
|
|
65
|
+
readonly name: "directory";
|
|
66
|
+
readonly type: "address";
|
|
67
|
+
readonly indexed: false;
|
|
68
|
+
}, {
|
|
69
|
+
readonly name: "owner";
|
|
70
|
+
readonly type: "address";
|
|
71
|
+
readonly indexed: false;
|
|
72
|
+
}, {
|
|
73
|
+
readonly name: "caller";
|
|
74
|
+
readonly type: "address";
|
|
75
|
+
readonly indexed: false;
|
|
76
|
+
}];
|
|
77
|
+
}];
|
|
78
|
+
/** Validate and normalize metadata bytes forwarded by a project payer. */
|
|
79
|
+
export declare function normalizeProjectPayerMetadata(value?: string): Hex;
|
|
80
|
+
/** Build a JBProjectPayerDeployer.deployProjectPayer transaction request. */
|
|
81
|
+
export declare function buildDeployProjectPayerTx(args: {
|
|
82
|
+
chainId: JBChainId;
|
|
83
|
+
projectId: bigint;
|
|
84
|
+
beneficiary: Address;
|
|
85
|
+
memo?: string;
|
|
86
|
+
metadata?: string;
|
|
87
|
+
addToBalance?: boolean;
|
|
88
|
+
owner: Address;
|
|
89
|
+
}): {
|
|
90
|
+
chainId: 1 | 10 | 11155111 | 11155420 | 421614 | 84532 | 42161 | 8453;
|
|
91
|
+
address: `0x${string}`;
|
|
92
|
+
abi: readonly [{
|
|
93
|
+
readonly type: "function";
|
|
94
|
+
readonly name: "deployProjectPayer";
|
|
95
|
+
readonly stateMutability: "nonpayable";
|
|
96
|
+
readonly inputs: readonly [{
|
|
97
|
+
readonly name: "defaultProjectId";
|
|
98
|
+
readonly type: "uint256";
|
|
99
|
+
}, {
|
|
100
|
+
readonly name: "defaultBeneficiary";
|
|
101
|
+
readonly type: "address";
|
|
102
|
+
}, {
|
|
103
|
+
readonly name: "defaultMemo";
|
|
104
|
+
readonly type: "string";
|
|
105
|
+
}, {
|
|
106
|
+
readonly name: "defaultMetadata";
|
|
107
|
+
readonly type: "bytes";
|
|
108
|
+
}, {
|
|
109
|
+
readonly name: "defaultAddToBalance";
|
|
110
|
+
readonly type: "bool";
|
|
111
|
+
}, {
|
|
112
|
+
readonly name: "owner";
|
|
113
|
+
readonly type: "address";
|
|
114
|
+
}];
|
|
115
|
+
readonly outputs: readonly [{
|
|
116
|
+
readonly name: "projectPayer";
|
|
117
|
+
readonly type: "address";
|
|
118
|
+
}];
|
|
119
|
+
}, {
|
|
120
|
+
readonly type: "event";
|
|
121
|
+
readonly name: "DeployProjectPayer";
|
|
122
|
+
readonly anonymous: false;
|
|
123
|
+
readonly inputs: readonly [{
|
|
124
|
+
readonly name: "projectPayer";
|
|
125
|
+
readonly type: "address";
|
|
126
|
+
readonly indexed: true;
|
|
127
|
+
}, {
|
|
128
|
+
readonly name: "defaultProjectId";
|
|
129
|
+
readonly type: "uint256";
|
|
130
|
+
readonly indexed: false;
|
|
131
|
+
}, {
|
|
132
|
+
readonly name: "defaultBeneficiary";
|
|
133
|
+
readonly type: "address";
|
|
134
|
+
readonly indexed: false;
|
|
135
|
+
}, {
|
|
136
|
+
readonly name: "defaultMemo";
|
|
137
|
+
readonly type: "string";
|
|
138
|
+
readonly indexed: false;
|
|
139
|
+
}, {
|
|
140
|
+
readonly name: "defaultMetadata";
|
|
141
|
+
readonly type: "bytes";
|
|
142
|
+
readonly indexed: false;
|
|
143
|
+
}, {
|
|
144
|
+
readonly name: "defaultAddToBalance";
|
|
145
|
+
readonly type: "bool";
|
|
146
|
+
readonly indexed: false;
|
|
147
|
+
}, {
|
|
148
|
+
readonly name: "directory";
|
|
149
|
+
readonly type: "address";
|
|
150
|
+
readonly indexed: false;
|
|
151
|
+
}, {
|
|
152
|
+
readonly name: "owner";
|
|
153
|
+
readonly type: "address";
|
|
154
|
+
readonly indexed: false;
|
|
155
|
+
}, {
|
|
156
|
+
readonly name: "caller";
|
|
157
|
+
readonly type: "address";
|
|
158
|
+
readonly indexed: false;
|
|
159
|
+
}];
|
|
160
|
+
}];
|
|
161
|
+
functionName: "deployProjectPayer";
|
|
162
|
+
args: readonly [bigint, `0x${string}`, string, `0x${string}`, boolean, `0x${string}`];
|
|
163
|
+
};
|
|
164
|
+
/** Minimal receipt-log shape needed to decode a project-payer deployment. */
|
|
165
|
+
export interface ProjectPayerDeployLog {
|
|
166
|
+
address: Address;
|
|
167
|
+
data: Hex;
|
|
168
|
+
topics: readonly Hex[];
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Decode the payer address from a canonical JBProjectPayerDeployer event.
|
|
172
|
+
* Emitter verification prevents an unrelated same-signature log from being
|
|
173
|
+
* mistaken for the newly deployed payer.
|
|
174
|
+
*/
|
|
175
|
+
export declare function decodeDeployedProjectPayer(log: ProjectPayerDeployLog): Address | null;
|
|
176
|
+
/** Return the first canonical project-payer deployment found in a receipt. */
|
|
177
|
+
export declare function projectPayerFromDeployLogs(logs: readonly ProjectPayerDeployLog[]): Address | null;
|
|
178
|
+
//# sourceMappingURL=projectPayers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectPayers.d.ts","sourceRoot":"","sources":["../../../src/v6/projectPayers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EACY,OAAO,CAAC;AAE1D,4DAA4D;AAC5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+B5B,CAAC;AAEX,0EAA0E;AAC1E,wBAAgB,6BAA6B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAMjE;AAED,6EAA6E;AAC7E,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBA;AAED,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,qBAAqB,GACzB,OAAO,GAAG,IAAI,CAiBhB;AAED,8EAA8E;AAC9E,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,SAAS,qBAAqB,EAAE,GACrC,OAAO,GAAG,IAAI,CAMhB"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { decodeEventLog, isAddressEqual } from "viem";
|
|
2
|
+
/**
|
|
3
|
+
* Canonical JBProjectPayerDeployer address. The v6 deployment uses the same
|
|
4
|
+
* CREATE2 address on every chain supported by the SDK.
|
|
5
|
+
*/
|
|
6
|
+
export const JB_PROJECT_PAYER_DEPLOYER = "0x7321740fd0dcf73dd3e2aa8fc060454abfce9517";
|
|
7
|
+
/** JBProjectPayerDeployer surface needed by web clients. */
|
|
8
|
+
export const jbProjectPayerDeployerAbi = [
|
|
9
|
+
{
|
|
10
|
+
type: "function",
|
|
11
|
+
name: "deployProjectPayer",
|
|
12
|
+
stateMutability: "nonpayable",
|
|
13
|
+
inputs: [
|
|
14
|
+
{ name: "defaultProjectId", type: "uint256" },
|
|
15
|
+
{ name: "defaultBeneficiary", type: "address" },
|
|
16
|
+
{ name: "defaultMemo", type: "string" },
|
|
17
|
+
{ name: "defaultMetadata", type: "bytes" },
|
|
18
|
+
{ name: "defaultAddToBalance", type: "bool" },
|
|
19
|
+
{ name: "owner", type: "address" },
|
|
20
|
+
],
|
|
21
|
+
outputs: [{ name: "projectPayer", type: "address" }],
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: "event",
|
|
25
|
+
name: "DeployProjectPayer",
|
|
26
|
+
anonymous: false,
|
|
27
|
+
inputs: [
|
|
28
|
+
{ name: "projectPayer", type: "address", indexed: true },
|
|
29
|
+
{ name: "defaultProjectId", type: "uint256", indexed: false },
|
|
30
|
+
{ name: "defaultBeneficiary", type: "address", indexed: false },
|
|
31
|
+
{ name: "defaultMemo", type: "string", indexed: false },
|
|
32
|
+
{ name: "defaultMetadata", type: "bytes", indexed: false },
|
|
33
|
+
{ name: "defaultAddToBalance", type: "bool", indexed: false },
|
|
34
|
+
{ name: "directory", type: "address", indexed: false },
|
|
35
|
+
{ name: "owner", type: "address", indexed: false },
|
|
36
|
+
{ name: "caller", type: "address", indexed: false },
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
];
|
|
40
|
+
/** Validate and normalize metadata bytes forwarded by a project payer. */
|
|
41
|
+
export function normalizeProjectPayerMetadata(value) {
|
|
42
|
+
const metadata = value?.trim() || "0x";
|
|
43
|
+
if (!/^0x(?:[0-9a-fA-F]{2})*$/.test(metadata)) {
|
|
44
|
+
throw new Error("Project payer metadata must be whole hex bytes.");
|
|
45
|
+
}
|
|
46
|
+
return metadata;
|
|
47
|
+
}
|
|
48
|
+
/** Build a JBProjectPayerDeployer.deployProjectPayer transaction request. */
|
|
49
|
+
export function buildDeployProjectPayerTx(args) {
|
|
50
|
+
if (args.projectId <= 0n) {
|
|
51
|
+
throw new Error("A project payer requires a positive project ID.");
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
chainId: args.chainId,
|
|
55
|
+
address: JB_PROJECT_PAYER_DEPLOYER,
|
|
56
|
+
abi: jbProjectPayerDeployerAbi,
|
|
57
|
+
functionName: "deployProjectPayer",
|
|
58
|
+
args: [
|
|
59
|
+
args.projectId,
|
|
60
|
+
args.beneficiary,
|
|
61
|
+
args.memo ?? "",
|
|
62
|
+
normalizeProjectPayerMetadata(args.metadata),
|
|
63
|
+
args.addToBalance ?? false,
|
|
64
|
+
args.owner,
|
|
65
|
+
],
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Decode the payer address from a canonical JBProjectPayerDeployer event.
|
|
70
|
+
* Emitter verification prevents an unrelated same-signature log from being
|
|
71
|
+
* mistaken for the newly deployed payer.
|
|
72
|
+
*/
|
|
73
|
+
export function decodeDeployedProjectPayer(log) {
|
|
74
|
+
if (!isAddressEqual(log.address, JB_PROJECT_PAYER_DEPLOYER))
|
|
75
|
+
return null;
|
|
76
|
+
try {
|
|
77
|
+
const decoded = decodeEventLog({
|
|
78
|
+
abi: jbProjectPayerDeployerAbi,
|
|
79
|
+
eventName: "DeployProjectPayer",
|
|
80
|
+
data: log.data,
|
|
81
|
+
topics: log.topics,
|
|
82
|
+
strict: true,
|
|
83
|
+
});
|
|
84
|
+
return decoded.eventName === "DeployProjectPayer"
|
|
85
|
+
? decoded.args.projectPayer
|
|
86
|
+
: null;
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/** Return the first canonical project-payer deployment found in a receipt. */
|
|
93
|
+
export function projectPayerFromDeployLogs(logs) {
|
|
94
|
+
for (const log of logs) {
|
|
95
|
+
const payer = decodeDeployedProjectPayer(log);
|
|
96
|
+
if (payer)
|
|
97
|
+
return payer;
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=projectPayers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectPayers.js","sourceRoot":"","sources":["../../../src/v6/projectPayers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectPayers.test.d.ts","sourceRoot":"","sources":["../../../src/v6/projectPayers.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { decodeFunctionData, encodeAbiParameters, encodeEventTopics, encodeFunctionData, zeroAddress, } from "viem";
|
|
2
|
+
import { sepolia } from "viem/chains";
|
|
3
|
+
import { describe, expect, test } from "vitest";
|
|
4
|
+
import { JB_PROJECT_PAYER_DEPLOYER, buildDeployProjectPayerTx, decodeDeployedProjectPayer, jbProjectPayerDeployerAbi, normalizeProjectPayerMetadata, projectPayerFromDeployLogs, } from "./projectPayers.js";
|
|
5
|
+
const PAYER = "0x1111111111111111111111111111111111111111";
|
|
6
|
+
function deploymentLog(address = JB_PROJECT_PAYER_DEPLOYER) {
|
|
7
|
+
const topics = encodeEventTopics({
|
|
8
|
+
abi: jbProjectPayerDeployerAbi,
|
|
9
|
+
eventName: "DeployProjectPayer",
|
|
10
|
+
args: { projectPayer: PAYER },
|
|
11
|
+
});
|
|
12
|
+
const data = encodeAbiParameters([
|
|
13
|
+
{ type: "uint256" },
|
|
14
|
+
{ type: "address" },
|
|
15
|
+
{ type: "string" },
|
|
16
|
+
{ type: "bytes" },
|
|
17
|
+
{ type: "bool" },
|
|
18
|
+
{ type: "address" },
|
|
19
|
+
{ type: "address" },
|
|
20
|
+
{ type: "address" },
|
|
21
|
+
], [
|
|
22
|
+
7n,
|
|
23
|
+
zeroAddress,
|
|
24
|
+
"hello",
|
|
25
|
+
"0x1234",
|
|
26
|
+
false,
|
|
27
|
+
zeroAddress,
|
|
28
|
+
zeroAddress,
|
|
29
|
+
zeroAddress,
|
|
30
|
+
]);
|
|
31
|
+
return { address, data, topics: topics };
|
|
32
|
+
}
|
|
33
|
+
describe("project payer deployment", () => {
|
|
34
|
+
test("builds canonical deploy calldata", () => {
|
|
35
|
+
const tx = buildDeployProjectPayerTx({
|
|
36
|
+
chainId: sepolia.id,
|
|
37
|
+
projectId: 7n,
|
|
38
|
+
beneficiary: PAYER,
|
|
39
|
+
memo: "hello",
|
|
40
|
+
metadata: "0x1234",
|
|
41
|
+
addToBalance: true,
|
|
42
|
+
owner: zeroAddress,
|
|
43
|
+
});
|
|
44
|
+
expect(tx.address).toBe(JB_PROJECT_PAYER_DEPLOYER);
|
|
45
|
+
const decoded = decodeFunctionData({
|
|
46
|
+
abi: jbProjectPayerDeployerAbi,
|
|
47
|
+
data: encodeFunctionData(tx),
|
|
48
|
+
});
|
|
49
|
+
expect(decoded.functionName).toBe("deployProjectPayer");
|
|
50
|
+
expect(decoded.args).toEqual([
|
|
51
|
+
7n,
|
|
52
|
+
PAYER,
|
|
53
|
+
"hello",
|
|
54
|
+
"0x1234",
|
|
55
|
+
true,
|
|
56
|
+
zeroAddress,
|
|
57
|
+
]);
|
|
58
|
+
});
|
|
59
|
+
test("uses safe defaults and rejects invalid values", () => {
|
|
60
|
+
const tx = buildDeployProjectPayerTx({
|
|
61
|
+
chainId: sepolia.id,
|
|
62
|
+
projectId: 1n,
|
|
63
|
+
beneficiary: zeroAddress,
|
|
64
|
+
owner: zeroAddress,
|
|
65
|
+
});
|
|
66
|
+
expect(tx.args.slice(2)).toEqual(["", "0x", false, zeroAddress]);
|
|
67
|
+
expect(normalizeProjectPayerMetadata(" 0x12ab ")).toBe("0x12ab");
|
|
68
|
+
expect(() => normalizeProjectPayerMetadata("0x123")).toThrow();
|
|
69
|
+
expect(() => buildDeployProjectPayerTx({
|
|
70
|
+
chainId: sepolia.id,
|
|
71
|
+
projectId: 0n,
|
|
72
|
+
beneficiary: zeroAddress,
|
|
73
|
+
owner: zeroAddress,
|
|
74
|
+
})).toThrow(/positive project ID/);
|
|
75
|
+
});
|
|
76
|
+
test("only decodes events from the canonical deployer", () => {
|
|
77
|
+
const log = deploymentLog();
|
|
78
|
+
expect(decodeDeployedProjectPayer(log)).toBe(PAYER);
|
|
79
|
+
expect(projectPayerFromDeployLogs([log])).toBe(PAYER);
|
|
80
|
+
expect(decodeDeployedProjectPayer(deploymentLog("0x2222222222222222222222222222222222222222"))).toBeNull();
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
//# sourceMappingURL=projectPayers.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectPayers.test.js","sourceRoot":"","sources":["../../../src/v6/projectPayers.test.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/v6/revnets.d.ts
CHANGED
|
@@ -50,8 +50,9 @@ export type REVCroptopAllowedPost = RevDeployArgs6[5][number];
|
|
|
50
50
|
* issuance), out of 1e9; the group must total exactly 1e9 — use
|
|
51
51
|
* `fillSplitPercents`.
|
|
52
52
|
* - `initialIssuance`: tokens minted per unit of base currency, 18-decimal
|
|
53
|
-
* fixed point (uint112). The
|
|
54
|
-
* stage's issuance with its cuts applied"
|
|
53
|
+
* fixed point (uint112). The exported `RULESET_WEIGHT_INHERIT` sentinel
|
|
54
|
+
* (1n) means "inherit the previous stage's issuance with its cuts applied";
|
|
55
|
+
* zero means genuine zero issuance.
|
|
55
56
|
* - `issuanceCutFrequency`: seconds between issuance cuts (should be >= 1
|
|
56
57
|
* day; it becomes the stage's ruleset duration).
|
|
57
58
|
* - `issuanceCutPercent`: how much issuance drops each period, out of 1e9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revnets.d.ts","sourceRoot":"","sources":["../../../src/v6/revnets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACnE,OAAO,EAAE,cAAc,EAAe,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD,KAAK,aAAa,GAAG,oBAAoB,CACvC,OAAO,cAAc,EACrB,SAAS,EACT,WAAW,CACZ,CAAC;AAEF,KAAK,cAAc,GAAG,OAAO,CAC3B,aAAa,EACb,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAChE,CAAC;AAEF,KAAK,cAAc,GAAG,OAAO,CAC3B,aAAa,EACb,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAC9C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAE1C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAE5D;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D
|
|
1
|
+
{"version":3,"file":"revnets.d.ts","sourceRoot":"","sources":["../../../src/v6/revnets.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
package/dist/esm/v6/revnets.js
CHANGED
|
@@ -14,8 +14,9 @@ import { v6Address } from "./types.js";
|
|
|
14
14
|
* issuance), out of 1e9; the group must total exactly 1e9 — use
|
|
15
15
|
* `fillSplitPercents`.
|
|
16
16
|
* - `initialIssuance`: tokens minted per unit of base currency, 18-decimal
|
|
17
|
-
* fixed point (uint112). The
|
|
18
|
-
* stage's issuance with its cuts applied"
|
|
17
|
+
* fixed point (uint112). The exported `RULESET_WEIGHT_INHERIT` sentinel
|
|
18
|
+
* (1n) means "inherit the previous stage's issuance with its cuts applied";
|
|
19
|
+
* zero means genuine zero issuance.
|
|
19
20
|
* - `issuanceCutFrequency`: seconds between issuance cuts (should be >= 1
|
|
20
21
|
* day; it becomes the stage's ruleset duration).
|
|
21
22
|
* - `issuanceCutPercent`: how much issuance drops each period, out of 1e9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revnets.js","sourceRoot":"","sources":["../../../src/v6/revnets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAuDvC
|
|
1
|
+
{"version":3,"file":"revnets.js","sourceRoot":"","sources":["../../../src/v6/revnets.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,11 @@ import { ContractFunctionArgs, ContractFunctionReturnType, PublicClient } from "
|
|
|
2
2
|
import { jbControllerAbi } from "../generated/juicebox.js";
|
|
3
3
|
import { JBChainId } from "../types.js";
|
|
4
4
|
type QueueRulesetsArgs = ContractFunctionArgs<typeof jbControllerAbi, "nonpayable", "queueRulesetsOf">;
|
|
5
|
+
/**
|
|
6
|
+
* JBRulesets configuration sentinel meaning “derive the prior ruleset's
|
|
7
|
+
* cut-adjusted weight.” Zero is real zero issuance and must not be substituted.
|
|
8
|
+
*/
|
|
9
|
+
export declare const RULESET_WEIGHT_INHERIT = 1n;
|
|
5
10
|
/**
|
|
6
11
|
* A full ruleset configuration as passed to `launchProjectFor` /
|
|
7
12
|
* `queueRulesetsOf` (v6 shape).
|
|
@@ -25,6 +30,43 @@ export type JBRulesetWithMetadata = {
|
|
|
25
30
|
ruleset: JBRuleset;
|
|
26
31
|
metadata: JBRulesetMetadata;
|
|
27
32
|
};
|
|
33
|
+
/** Minimal ruleset shape needed to project an issuance schedule. */
|
|
34
|
+
export interface RulesetIssuanceStage {
|
|
35
|
+
start: number;
|
|
36
|
+
duration: number;
|
|
37
|
+
weight: bigint;
|
|
38
|
+
weightCutPercent: number;
|
|
39
|
+
/**
|
|
40
|
+
* Explicitly inherit the prior stage's cut-adjusted rate. Leave false for
|
|
41
|
+
* stored on-chain rulesets, whose weights have already been resolved.
|
|
42
|
+
*/
|
|
43
|
+
inheritsWeight?: boolean;
|
|
44
|
+
}
|
|
45
|
+
/** A stage with its inherited starting issuance rate resolved. */
|
|
46
|
+
export interface ResolvedRulesetIssuanceStage {
|
|
47
|
+
start: number;
|
|
48
|
+
duration: number;
|
|
49
|
+
weightCutPercent: number;
|
|
50
|
+
/** Approximate tokens issued per unit of the ruleset's base currency. */
|
|
51
|
+
issuanceRate: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Project one resolved stage's issuance rate at a Unix timestamp.
|
|
55
|
+
*
|
|
56
|
+
* This intentionally returns display-grade floating-point math. Transaction
|
|
57
|
+
* builders must continue to use the original bigint `weight`; this helper is
|
|
58
|
+
* for charts, estimates, and explanatory UI shared by web clients.
|
|
59
|
+
*/
|
|
60
|
+
export declare function rulesetIssuanceRateWithinStage(stage: ResolvedRulesetIssuanceStage, timestamp: number): number;
|
|
61
|
+
/**
|
|
62
|
+
* Sort ruleset stages and resolve explicitly requested inheritance at each
|
|
63
|
+
* boundary. Stored on-chain rulesets should never set `inheritsWeight`: core
|
|
64
|
+
* has already replaced its configured `weight == 1` sentinel with the derived
|
|
65
|
+
* weight. Keeping this explicit also preserves genuine zero-issuance stages.
|
|
66
|
+
*/
|
|
67
|
+
export declare function resolveRulesetIssuanceStages(stages: readonly RulesetIssuanceStage[]): ResolvedRulesetIssuanceStage[];
|
|
68
|
+
/** Approximate issuance rate at a timestamp across a resolved schedule. */
|
|
69
|
+
export declare function rulesetIssuanceRateAt(stages: readonly ResolvedRulesetIssuanceStage[], timestamp: number): number;
|
|
28
70
|
/**
|
|
29
71
|
* Build a `JBController.queueRulesetsOf` transaction request queuing rulesets
|
|
30
72
|
* for an existing project on a single chain.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rulesets.d.ts","sourceRoot":"","sources":["../../../src/v6/rulesets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,YAAY,EACb,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"rulesets.d.ts","sourceRoot":"","sources":["../../../src/v6/rulesets.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYA;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,qBAAqB,CAAC,CAQhC;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,qBAAqB,CAAC,CAQhC;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;IACJ,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACA,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAO3C"}
|