@bananapus/nana-sdk-core 2.10.0 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/cjs/contracts.d.ts +8 -1
  2. package/dist/cjs/contracts.d.ts.map +1 -1
  3. package/dist/cjs/contracts.js +9 -1
  4. package/dist/cjs/contracts.js.map +1 -1
  5. package/dist/cjs/generated/juicebox.d.ts +3846 -0
  6. package/dist/cjs/generated/juicebox.d.ts.map +1 -1
  7. package/dist/cjs/generated/juicebox.js +2802 -2
  8. package/dist/cjs/generated/juicebox.js.map +1 -1
  9. package/dist/cjs/jbcenter/decode.d.ts +0 -10
  10. package/dist/cjs/jbcenter/decode.d.ts.map +1 -1
  11. package/dist/cjs/jbcenter/decode.js +0 -45
  12. package/dist/cjs/jbcenter/decode.js.map +1 -1
  13. package/dist/cjs/v6/index.d.ts +1 -0
  14. package/dist/cjs/v6/index.d.ts.map +1 -1
  15. package/dist/cjs/v6/index.js +1 -0
  16. package/dist/cjs/v6/index.js.map +1 -1
  17. package/dist/cjs/v6/sticky.d.ts +70 -0
  18. package/dist/cjs/v6/sticky.d.ts.map +1 -0
  19. package/dist/cjs/v6/sticky.js +132 -0
  20. package/dist/cjs/v6/sticky.js.map +1 -0
  21. package/dist/esm/contracts.d.ts +8 -1
  22. package/dist/esm/contracts.d.ts.map +1 -1
  23. package/dist/esm/contracts.js +8 -0
  24. package/dist/esm/contracts.js.map +1 -1
  25. package/dist/esm/generated/juicebox.d.ts +3846 -0
  26. package/dist/esm/generated/juicebox.d.ts.map +1 -1
  27. package/dist/esm/generated/juicebox.js +2800 -0
  28. package/dist/esm/generated/juicebox.js.map +1 -1
  29. package/dist/esm/jbcenter/decode.d.ts +0 -10
  30. package/dist/esm/jbcenter/decode.d.ts.map +1 -1
  31. package/dist/esm/jbcenter/decode.js +1 -46
  32. package/dist/esm/jbcenter/decode.js.map +1 -1
  33. package/dist/esm/v6/index.d.ts +1 -0
  34. package/dist/esm/v6/index.d.ts.map +1 -1
  35. package/dist/esm/v6/index.js +1 -0
  36. package/dist/esm/v6/index.js.map +1 -1
  37. package/dist/esm/v6/sticky.d.ts +70 -0
  38. package/dist/esm/v6/sticky.d.ts.map +1 -0
  39. package/dist/esm/v6/sticky.js +123 -0
  40. package/dist/esm/v6/sticky.js.map +1 -0
  41. package/package.json +1 -1
@@ -34,16 +34,6 @@ export type JBCenterDecodedLaunch = {
34
34
  stages: REVConfig["stageConfigurations"];
35
35
  description: REVConfig["description"];
36
36
  accountingContexts: readonly JBAccountingContext[];
37
- } | {
38
- flavor: "homerun-fund";
39
- owner: Address;
40
- projectUri: string;
41
- tokenName: string;
42
- ticker: string;
43
- to: Address;
44
- mustStartAtOrAfter: number;
45
- salt: Hex;
46
- peerSuckerDeployers: readonly Address[];
47
37
  } | {
48
38
  flavor: "safe-create";
49
39
  to: Address;
@@ -1 +1 @@
1
- {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../../src/jbcenter/decode.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,OAAO,EACZ,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AAQd,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAW7D,MAAM,MAAM,qBAAqB,GAC7B;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,SAAS,eAAe,EAAE,CAAC;IAClD,sBAAsB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,SAAS,eAAe,EAAE,CAAC;IAClD,sBAAsB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;CACX,GACD;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,SAAS,eAAe,EAAE,CAAC;IAClD,sBAAsB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB,GACD;IACE,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACzC,WAAW,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IACtC,kBAAkB,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACpD,GACD;IACE,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,OAAO,CAAC;IACZ,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC;IACV,mBAAmB,EAAE,SAAS,OAAO,EAAE,CAAC;CACzC,GACD;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB,GACD;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC;AA2StD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,sBAAsB,GAC3B,qBAAqB,CAMvB"}
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../../src/jbcenter/decode.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,OAAO,EACZ,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AAQd,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAW7D,MAAM,MAAM,qBAAqB,GAC7B;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,SAAS,eAAe,EAAE,CAAC;IAClD,sBAAsB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,SAAS,eAAe,EAAE,CAAC;IAClD,sBAAsB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;CACX,GACD;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,SAAS,eAAe,EAAE,CAAC;IAClD,sBAAsB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB,GACD;IACE,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACzC,WAAW,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IACtC,kBAAkB,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACpD,GACD;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB,GACD;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC;AAmPtD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,sBAAsB,GAC3B,qBAAqB,CAMvB"}
@@ -1,4 +1,4 @@
1
- import { decodeFunctionData, encodeFunctionData, isAddressEqual, parseAbi, slice, toHex, zeroAddress, } from "viem";
1
+ import { decodeFunctionData, encodeFunctionData, isAddressEqual, slice, toHex, zeroAddress, } from "viem";
2
2
  import { jb721TiersHookProjectDeployerAbi, jbControllerAbi, jbOmnichainDeployerAbi, revDeployerAbi, } from "../generated/juicebox.js";
3
3
  import { v6Address } from "../v6/types.js";
4
4
  import { SAFE_CREATE_ABI, SAFE_FACTORY, SAFE_FALLBACK, SAFE_PROXY_CREATION_CODE, SAFE_SINGLETON, buildSafeInitializer, predictSafeAddress, } from "../safe.js";
@@ -129,50 +129,6 @@ function decodeRevnetDeploy(call) {
129
129
  return null;
130
130
  }
131
131
  }
132
- /** Source: HomerunDeployer.sol. Carried here because Homerun deploys its own
133
- * per-chain deployer, which the V6 address registry does not name. */
134
- const homerunLaunchFundAbi = parseAbi([
135
- "function launchFundFor(address owner, string projectUri, string name, string ticker, uint48 mustStartAtOrAfter, bytes32 salt, address[] peerSuckerDeployers) payable returns (uint256 projectId, address token)",
136
- ]);
137
- /** HomerunDeployer's address on each chain it is deployed to: one salt across
138
- * the mainnets, another across the testnets. Source: Homerun's
139
- * `deployments/<chain>/HomerunDeployer.json`. */
140
- const HOMERUN_DEPLOYER_ADDRESSES = {
141
- 1: "0xac9250654ea223513ffee25fdb647dc016873905",
142
- 10: "0xac9250654ea223513ffee25fdb647dc016873905",
143
- 8453: "0xac9250654ea223513ffee25fdb647dc016873905",
144
- 42161: "0xac9250654ea223513ffee25fdb647dc016873905",
145
- 11155111: "0xe944fe96765450877f95cc36aa36ec72b4388721",
146
- 11155420: "0xe944fe96765450877f95cc36aa36ec72b4388721",
147
- 84532: "0xe944fe96765450877f95cc36aa36ec72b4388721",
148
- 421614: "0xe944fe96765450877f95cc36aa36ec72b4388721",
149
- };
150
- function decodeHomerunFundLaunch(call) {
151
- try {
152
- const address = HOMERUN_DEPLOYER_ADDRESSES[call.chainId];
153
- if (!address || !isAddressEqual(address, call.to))
154
- return null;
155
- const decoded = decodeFunctionData({
156
- abi: homerunLaunchFundAbi,
157
- data: call.data,
158
- });
159
- const [owner, projectUri, tokenName, ticker, mustStartAtOrAfter, salt, peerSuckerDeployers,] = decoded.args;
160
- return {
161
- flavor: "homerun-fund",
162
- owner,
163
- projectUri,
164
- tokenName,
165
- ticker,
166
- to: call.to,
167
- mustStartAtOrAfter,
168
- salt,
169
- peerSuckerDeployers,
170
- };
171
- }
172
- catch {
173
- return null;
174
- }
175
- }
176
132
  /** JB Center's ceiling on the owners one intent's Safe may carry. */
177
133
  const MAX_INTENT_SAFE_OWNERS = 20;
178
134
  /**
@@ -253,7 +209,6 @@ const DECODERS = [
253
209
  decodeProject721Launch,
254
210
  decodeOmnichainLaunch,
255
211
  decodeRevnetDeploy,
256
- decodeHomerunFundLaunch,
257
212
  ];
258
213
  /**
259
214
  * Recognize a frozen `{ chainId, to, data }` deployment call (as produced by
@@ -1 +1 @@
1
- {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../../src/jbcenter/decode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../../src/jbcenter/decode.ts"],"names":[],"mappings":"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"}
@@ -20,4 +20,5 @@ export * from "./uniswapV4Fees.js";
20
20
  export * from "./permissions.js";
21
21
  export * from "./suckers.js";
22
22
  export * from "./loans.js";
23
+ export * from "./sticky.js";
23
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -20,4 +20,5 @@ export * from "./uniswapV4Fees.js";
20
20
  export * from "./permissions.js";
21
21
  export * from "./suckers.js";
22
22
  export * from "./loans.js";
23
+ export * from "./sticky.js";
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { Address } from "viem";
2
+ import { JBChainId } from "../types.js";
3
+ import { JBSplit } from "./splits.js";
4
+ /**
5
+ * A split routes funds to Sticky holders when its `hook` is the chain's
6
+ * `StickyDistributor`. The distributor reads the rest of the split this way:
7
+ *
8
+ * - `beneficiary` is the Sticky token whose holders are rewarded.
9
+ * - `projectId` is the reward group: {@link STICKY_DEFAULT_GROUP_ID} splits the
10
+ * pot by delegated voting power at the round's snapshot, and a tenure group
11
+ * ({@link stickyGroupId}) splits it by stake held for a range of weeks.
12
+ *
13
+ * The distributor never reverts on a bad group or beneficiary, since a
14
+ * split-hook revert returns the funds to the project. A `projectId` that
15
+ * {@link validateStickyGroupId} rejects funds the default group instead, and so
16
+ * does a tenure group whose beneficiary the Sticky hook does not track. The
17
+ * distributor has no public view for that second case: a token is tracked when
18
+ * `stickyHookAbi` `tokenOf(projectId)` returns the token, where `projectId` is
19
+ * the token's own `PROJECT_ID()`.
20
+ */
21
+ /** The default reward group: every holder, weighted by delegated voting power. */
22
+ export declare const STICKY_DEFAULT_GROUP_ID = 0n;
23
+ /** A tenure group ID is `minWeeks * STICKY_CRITERIA_BASE + maxWeeks`. */
24
+ export declare const STICKY_CRITERIA_BASE = 1000n;
25
+ /** The highest `minWeeks` or `maxWeeks` a tenure group can use. */
26
+ export declare const STICKY_MAX_CRITERIA_WEEKS = 520;
27
+ /**
28
+ * A Sticky reward group. A tenure group rewards stake added between `maxWeeks`
29
+ * and `minWeeks` before the round started; `maxWeeks` 0 means no upper bound.
30
+ */
31
+ export type StickyGroup = {
32
+ kind: "default";
33
+ } | {
34
+ kind: "tenure";
35
+ minWeeks: number;
36
+ maxWeeks: number;
37
+ };
38
+ /** The `StickyDistributor` a chain's Sticky splits must use as their hook. */
39
+ export declare function stickyDistributorAddress(chainId: JBChainId): Address;
40
+ /** Whether a split pays Sticky holders on this chain. */
41
+ export declare function isStickySplit(split: Pick<JBSplit, "hook">, chainId: JBChainId): boolean;
42
+ /**
43
+ * Why the distributor would not honor a group ID, or null when it would.
44
+ * Gives the same answer as the distributor's pure `isValidGroupId` view: 0 is
45
+ * valid, otherwise `minWeeks` must be 1 to 520 and `maxWeeks` must be 0 or
46
+ * `minWeeks` to 520.
47
+ */
48
+ export declare function validateStickyGroupId(groupId: bigint): string | null;
49
+ /**
50
+ * Encode a tenure group as a split `projectId`. Leave out `maxWeeks` (or pass
51
+ * 0) for no upper bound.
52
+ *
53
+ * @throws If the distributor would not honor the group.
54
+ */
55
+ export declare function stickyGroupId(args: {
56
+ minWeeks: number;
57
+ maxWeeks?: number;
58
+ }): bigint;
59
+ /**
60
+ * The group a split `projectId` actually funds. An invalid group ID decodes as
61
+ * the default group, since that is where the distributor sends it.
62
+ */
63
+ export declare function decodeStickyGroupId(groupId: bigint): StickyGroup;
64
+ /**
65
+ * Short plain text naming who a Sticky split rewards, for confirm dialogs and
66
+ * activity rows. Assumes the beneficiary is a tracked Sticky token; if it is
67
+ * not, a tenure split funds the default group instead.
68
+ */
69
+ export declare function describeStickySplit(split: Pick<JBSplit, "projectId">): string;
70
+ //# sourceMappingURL=sticky.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sticky.d.ts","sourceRoot":"","sources":["../../../src/v6/sticky.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,MAAM,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;;;;;;;GAgBG;AAEH,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C,mEAAmE;AACnE,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,8EAA8E;AAC9E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAEpE;AAED,yDAAyD;AACzD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,SAAS,GACjB,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBpE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAoBT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAShE;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,MAAM,CAgB7E"}
@@ -0,0 +1,123 @@
1
+ import { isAddressEqual } from "viem";
2
+ import { v6Address } from "./types.js";
3
+ /**
4
+ * A split routes funds to Sticky holders when its `hook` is the chain's
5
+ * `StickyDistributor`. The distributor reads the rest of the split this way:
6
+ *
7
+ * - `beneficiary` is the Sticky token whose holders are rewarded.
8
+ * - `projectId` is the reward group: {@link STICKY_DEFAULT_GROUP_ID} splits the
9
+ * pot by delegated voting power at the round's snapshot, and a tenure group
10
+ * ({@link stickyGroupId}) splits it by stake held for a range of weeks.
11
+ *
12
+ * The distributor never reverts on a bad group or beneficiary, since a
13
+ * split-hook revert returns the funds to the project. A `projectId` that
14
+ * {@link validateStickyGroupId} rejects funds the default group instead, and so
15
+ * does a tenure group whose beneficiary the Sticky hook does not track. The
16
+ * distributor has no public view for that second case: a token is tracked when
17
+ * `stickyHookAbi` `tokenOf(projectId)` returns the token, where `projectId` is
18
+ * the token's own `PROJECT_ID()`.
19
+ */
20
+ /** The default reward group: every holder, weighted by delegated voting power. */
21
+ export const STICKY_DEFAULT_GROUP_ID = 0n;
22
+ /** A tenure group ID is `minWeeks * STICKY_CRITERIA_BASE + maxWeeks`. */
23
+ export const STICKY_CRITERIA_BASE = 1000n;
24
+ /** The highest `minWeeks` or `maxWeeks` a tenure group can use. */
25
+ export const STICKY_MAX_CRITERIA_WEEKS = 520;
26
+ /** The `StickyDistributor` a chain's Sticky splits must use as their hook. */
27
+ export function stickyDistributorAddress(chainId) {
28
+ return v6Address("StickyDistributor", chainId);
29
+ }
30
+ /** Whether a split pays Sticky holders on this chain. */
31
+ export function isStickySplit(split, chainId) {
32
+ return isAddressEqual(split.hook, stickyDistributorAddress(chainId));
33
+ }
34
+ /**
35
+ * Why the distributor would not honor a group ID, or null when it would.
36
+ * Gives the same answer as the distributor's pure `isValidGroupId` view: 0 is
37
+ * valid, otherwise `minWeeks` must be 1 to 520 and `maxWeeks` must be 0 or
38
+ * `minWeeks` to 520.
39
+ */
40
+ export function validateStickyGroupId(groupId) {
41
+ if (groupId === STICKY_DEFAULT_GROUP_ID)
42
+ return null;
43
+ if (groupId < 0n)
44
+ return "Group ID can't be negative.";
45
+ const minWeeks = groupId / STICKY_CRITERIA_BASE;
46
+ const maxWeeks = groupId % STICKY_CRITERIA_BASE;
47
+ const limit = BigInt(STICKY_MAX_CRITERIA_WEEKS);
48
+ if (minWeeks === 0n)
49
+ return "Tenure groups need a minimum of at least 1 week.";
50
+ if (minWeeks > limit) {
51
+ return `Minimum weeks can't be more than ${STICKY_MAX_CRITERIA_WEEKS}.`;
52
+ }
53
+ if (maxWeeks > limit) {
54
+ return `Maximum weeks can't be more than ${STICKY_MAX_CRITERIA_WEEKS}.`;
55
+ }
56
+ if (maxWeeks !== 0n && maxWeeks < minWeeks) {
57
+ return "Maximum weeks can't be less than minimum weeks.";
58
+ }
59
+ return null;
60
+ }
61
+ /**
62
+ * Encode a tenure group as a split `projectId`. Leave out `maxWeeks` (or pass
63
+ * 0) for no upper bound.
64
+ *
65
+ * @throws If the distributor would not honor the group.
66
+ */
67
+ export function stickyGroupId(args) {
68
+ const { minWeeks, maxWeeks = 0 } = args;
69
+ if (!Number.isInteger(minWeeks) ||
70
+ !Number.isInteger(maxWeeks) ||
71
+ minWeeks < 0 ||
72
+ maxWeeks < 0) {
73
+ throw new Error("Sticky group weeks must be whole numbers, 0 or more.");
74
+ }
75
+ // Checked before encoding: a larger maxWeeks would carry into minWeeks.
76
+ if (maxWeeks > STICKY_MAX_CRITERIA_WEEKS) {
77
+ throw new Error(`Maximum weeks can't be more than ${STICKY_MAX_CRITERIA_WEEKS}.`);
78
+ }
79
+ const groupId = BigInt(minWeeks) * STICKY_CRITERIA_BASE + BigInt(maxWeeks);
80
+ const reason = validateStickyGroupId(groupId);
81
+ if (reason)
82
+ throw new Error(reason);
83
+ return groupId;
84
+ }
85
+ /**
86
+ * The group a split `projectId` actually funds. An invalid group ID decodes as
87
+ * the default group, since that is where the distributor sends it.
88
+ */
89
+ export function decodeStickyGroupId(groupId) {
90
+ if (groupId === 0n || validateStickyGroupId(groupId) !== null) {
91
+ return { kind: "default" };
92
+ }
93
+ return {
94
+ kind: "tenure",
95
+ minWeeks: Number(groupId / STICKY_CRITERIA_BASE),
96
+ maxWeeks: Number(groupId % STICKY_CRITERIA_BASE),
97
+ };
98
+ }
99
+ function weeks(count) {
100
+ return count === 1 ? "1 week" : `${count} weeks`;
101
+ }
102
+ /**
103
+ * Short plain text naming who a Sticky split rewards, for confirm dialogs and
104
+ * activity rows. Assumes the beneficiary is a tracked Sticky token; if it is
105
+ * not, a tenure split funds the default group instead.
106
+ */
107
+ export function describeStickySplit(split) {
108
+ const group = decodeStickyGroupId(split.projectId);
109
+ if (group.kind === "default") {
110
+ const fallback = split.projectId === 0n
111
+ ? ""
112
+ : `, since group ${split.projectId} is invalid`;
113
+ return `Sticky group 0 (all holders by voting power)${fallback}`;
114
+ }
115
+ if (group.maxWeeks === 0) {
116
+ return `Sticky holders stuck ${weeks(group.minWeeks)} or more`;
117
+ }
118
+ if (group.maxWeeks === group.minWeeks) {
119
+ return `Sticky holders stuck ${weeks(group.minWeeks)}`;
120
+ }
121
+ return `Sticky holders stuck ${group.minWeeks} to ${group.maxWeeks} weeks`;
122
+ }
123
+ //# sourceMappingURL=sticky.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sticky.js","sourceRoot":"","sources":["../../../src/v6/sticky.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bananapus/nana-sdk-core",
3
- "version": "2.10.0",
3
+ "version": "2.12.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "repository": {