@bananapus/nana-sdk-core 2.7.0 → 2.9.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 (49) hide show
  1. package/dist/cjs/jbcenter/decode.d.ts +19 -0
  2. package/dist/cjs/jbcenter/decode.d.ts.map +1 -1
  3. package/dist/cjs/jbcenter/decode.js +121 -0
  4. package/dist/cjs/jbcenter/decode.js.map +1 -1
  5. package/dist/cjs/jbcenter/publish.d.ts +26 -0
  6. package/dist/cjs/jbcenter/publish.d.ts.map +1 -0
  7. package/dist/cjs/jbcenter/publish.js +86 -0
  8. package/dist/cjs/jbcenter/publish.js.map +1 -0
  9. package/dist/cjs/jbcenter/refusal.d.ts +12 -0
  10. package/dist/cjs/jbcenter/refusal.d.ts.map +1 -0
  11. package/dist/cjs/jbcenter/refusal.js +37 -0
  12. package/dist/cjs/jbcenter/refusal.js.map +1 -0
  13. package/dist/cjs/jbcenter/setupCalls.d.ts +26 -0
  14. package/dist/cjs/jbcenter/setupCalls.d.ts.map +1 -0
  15. package/dist/cjs/jbcenter/setupCalls.js +57 -0
  16. package/dist/cjs/jbcenter/setupCalls.js.map +1 -0
  17. package/dist/cjs/jbcenter.d.ts +10 -0
  18. package/dist/cjs/jbcenter.d.ts.map +1 -1
  19. package/dist/cjs/jbcenter.js +19 -7
  20. package/dist/cjs/jbcenter.js.map +1 -1
  21. package/dist/cjs/safe.d.ts +8 -0
  22. package/dist/cjs/safe.d.ts.map +1 -1
  23. package/dist/cjs/safe.js +9 -1
  24. package/dist/cjs/safe.js.map +1 -1
  25. package/dist/esm/jbcenter/decode.d.ts +19 -0
  26. package/dist/esm/jbcenter/decode.d.ts.map +1 -1
  27. package/dist/esm/jbcenter/decode.js +122 -1
  28. package/dist/esm/jbcenter/decode.js.map +1 -1
  29. package/dist/esm/jbcenter/publish.d.ts +26 -0
  30. package/dist/esm/jbcenter/publish.d.ts.map +1 -0
  31. package/dist/esm/jbcenter/publish.js +81 -0
  32. package/dist/esm/jbcenter/publish.js.map +1 -0
  33. package/dist/esm/jbcenter/refusal.d.ts +12 -0
  34. package/dist/esm/jbcenter/refusal.d.ts.map +1 -0
  35. package/dist/esm/jbcenter/refusal.js +34 -0
  36. package/dist/esm/jbcenter/refusal.js.map +1 -0
  37. package/dist/esm/jbcenter/setupCalls.d.ts +26 -0
  38. package/dist/esm/jbcenter/setupCalls.d.ts.map +1 -0
  39. package/dist/esm/jbcenter/setupCalls.js +52 -0
  40. package/dist/esm/jbcenter/setupCalls.js.map +1 -0
  41. package/dist/esm/jbcenter.d.ts +10 -0
  42. package/dist/esm/jbcenter.d.ts.map +1 -1
  43. package/dist/esm/jbcenter.js +14 -6
  44. package/dist/esm/jbcenter.js.map +1 -1
  45. package/dist/esm/safe.d.ts +8 -0
  46. package/dist/esm/safe.d.ts.map +1 -1
  47. package/dist/esm/safe.js +8 -0
  48. package/dist/esm/safe.js.map +1 -1
  49. package/package.json +1 -1
@@ -34,6 +34,25 @@ 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
+ } | {
48
+ flavor: "safe-create";
49
+ to: Address;
50
+ singleton: Address;
51
+ saltNonce: Hex;
52
+ owners: readonly Address[];
53
+ threshold: number;
54
+ fallbackHandler: Address;
55
+ address: Address;
37
56
  } | {
38
57
  flavor: "unknown";
39
58
  to: Address;
@@ -1 +1 @@
1
- {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../../src/jbcenter/decode.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,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;AAE7D,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;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC;AA4JtD;;;;;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,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"}
@@ -4,6 +4,7 @@ exports.decodeDeploymentCall = decodeDeploymentCall;
4
4
  const viem_1 = require("viem");
5
5
  const juicebox_js_1 = require("../generated/juicebox.js");
6
6
  const types_js_1 = require("../v6/types.js");
7
+ const safe_js_1 = require("../safe.js");
7
8
  /** The address of `contract` on `chainId`, or null when it isn't deployed there. */
8
9
  function addressFor(contract, chainId) {
9
10
  try {
@@ -131,11 +132,131 @@ function decodeRevnetDeploy(call) {
131
132
  return null;
132
133
  }
133
134
  }
135
+ /** Source: HomerunDeployer.sol. Carried here because Homerun deploys its own
136
+ * per-chain deployer, which the V6 address registry does not name. */
137
+ const homerunLaunchFundAbi = (0, viem_1.parseAbi)([
138
+ "function launchFundFor(address owner, string projectUri, string name, string ticker, uint48 mustStartAtOrAfter, bytes32 salt, address[] peerSuckerDeployers) payable returns (uint256 projectId, address token)",
139
+ ]);
140
+ /** HomerunDeployer's address on each chain it is deployed to: one salt across
141
+ * the mainnets, another across the testnets. Source: Homerun's
142
+ * `deployments/<chain>/HomerunDeployer.json`. */
143
+ const HOMERUN_DEPLOYER_ADDRESSES = {
144
+ 1: "0xac9250654ea223513ffee25fdb647dc016873905",
145
+ 10: "0xac9250654ea223513ffee25fdb647dc016873905",
146
+ 8453: "0xac9250654ea223513ffee25fdb647dc016873905",
147
+ 42161: "0xac9250654ea223513ffee25fdb647dc016873905",
148
+ 11155111: "0xe944fe96765450877f95cc36aa36ec72b4388721",
149
+ 11155420: "0xe944fe96765450877f95cc36aa36ec72b4388721",
150
+ 84532: "0xe944fe96765450877f95cc36aa36ec72b4388721",
151
+ 421614: "0xe944fe96765450877f95cc36aa36ec72b4388721",
152
+ };
153
+ function decodeHomerunFundLaunch(call) {
154
+ try {
155
+ const address = HOMERUN_DEPLOYER_ADDRESSES[call.chainId];
156
+ if (!address || !(0, viem_1.isAddressEqual)(address, call.to))
157
+ return null;
158
+ const decoded = (0, viem_1.decodeFunctionData)({
159
+ abi: homerunLaunchFundAbi,
160
+ data: call.data,
161
+ });
162
+ const [owner, projectUri, tokenName, ticker, mustStartAtOrAfter, salt, peerSuckerDeployers,] = decoded.args;
163
+ return {
164
+ flavor: "homerun-fund",
165
+ owner,
166
+ projectUri,
167
+ tokenName,
168
+ ticker,
169
+ to: call.to,
170
+ mustStartAtOrAfter,
171
+ salt,
172
+ peerSuckerDeployers,
173
+ };
174
+ }
175
+ catch {
176
+ return null;
177
+ }
178
+ }
179
+ /** JB Center's ceiling on the owners one intent's Safe may carry. */
180
+ const MAX_INTENT_SAFE_OWNERS = 20;
181
+ /**
182
+ * A setup call: `createProxyWithNonce` to the canonical Safe factory, for the
183
+ * canonical singleton and fallback handler, with no delegatecall hook and no
184
+ * setup payment. The address is the one the factory would compute, derived
185
+ * from the pinned proxy creation code, so nothing here reaches a chain.
186
+ */
187
+ function decodeSafeCreate(call) {
188
+ try {
189
+ if (!(0, viem_1.isAddressEqual)(safe_js_1.SAFE_FACTORY, call.to))
190
+ return null;
191
+ const create = (0, viem_1.decodeFunctionData)({
192
+ abi: safe_js_1.SAFE_CREATE_ABI,
193
+ data: call.data,
194
+ });
195
+ if (create.functionName !== "createProxyWithNonce")
196
+ return null;
197
+ const [singleton, initializer, nonce] = create.args;
198
+ if (!(0, viem_1.isAddressEqual)(singleton, safe_js_1.SAFE_SINGLETON))
199
+ return null;
200
+ const setup = (0, viem_1.decodeFunctionData)({
201
+ abi: safe_js_1.SAFE_CREATE_ABI,
202
+ data: initializer,
203
+ });
204
+ if (setup.functionName !== "setup")
205
+ return null;
206
+ const [owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver,] = setup.args;
207
+ if (owners.length < 1 ||
208
+ owners.length > MAX_INTENT_SAFE_OWNERS ||
209
+ owners.some((owner) => BigInt(owner) === 0n) ||
210
+ new Set(owners.map((owner) => owner.toLowerCase())).size !==
211
+ owners.length ||
212
+ threshold < 1n ||
213
+ threshold > BigInt(owners.length) ||
214
+ !(0, viem_1.isAddressEqual)(to, viem_1.zeroAddress) ||
215
+ data !== "0x" ||
216
+ !(0, viem_1.isAddressEqual)(fallbackHandler, safe_js_1.SAFE_FALLBACK) ||
217
+ !(0, viem_1.isAddressEqual)(paymentToken, viem_1.zeroAddress) ||
218
+ payment !== 0n ||
219
+ !(0, viem_1.isAddressEqual)(paymentReceiver, viem_1.zeroAddress)) {
220
+ return null;
221
+ }
222
+ const plan = {
223
+ owners: [...owners],
224
+ threshold: Number(threshold),
225
+ saltNonce: (0, viem_1.toHex)(nonce, { size: 32 }),
226
+ proxyCreationCode: safe_js_1.SAFE_PROXY_CREATION_CODE,
227
+ };
228
+ // Only the canonical encoding predicts the address the factory computes,
229
+ // so the call has to be exactly what this plan re-encodes to. This also
230
+ // refuses the sentinel owner, which `buildSafeInitializer` rejects.
231
+ if ((0, viem_1.encodeFunctionData)({
232
+ abi: safe_js_1.SAFE_CREATE_ABI,
233
+ functionName: "createProxyWithNonce",
234
+ args: [safe_js_1.SAFE_SINGLETON, (0, safe_js_1.buildSafeInitializer)(plan), nonce],
235
+ }).toLowerCase() !== call.data.toLowerCase()) {
236
+ return null;
237
+ }
238
+ return {
239
+ flavor: "safe-create",
240
+ to: call.to,
241
+ singleton,
242
+ saltNonce: plan.saltNonce,
243
+ owners: plan.owners,
244
+ threshold: plan.threshold,
245
+ fallbackHandler,
246
+ address: (0, safe_js_1.predictSafeAddress)(plan),
247
+ };
248
+ }
249
+ catch {
250
+ return null;
251
+ }
252
+ }
134
253
  const DECODERS = [
254
+ decodeSafeCreate,
135
255
  decodeProjectLaunch,
136
256
  decodeProject721Launch,
137
257
  decodeOmnichainLaunch,
138
258
  decodeRevnetDeploy,
259
+ decodeHomerunFundLaunch,
139
260
  ];
140
261
  /**
141
262
  * 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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"}
@@ -0,0 +1,26 @@
1
+ import type { Address, Hex } from "viem";
2
+ import type { JBCenterClient, JBCenterIntent, JBCenterIntentInput, JBCenterJsonObject, JBCenterRequestOptions } from "../jbcenter.js";
3
+ /** JB Center prepared something other than the intent the caller built. */
4
+ export declare class JBCenterIntentMismatchError extends Error {
5
+ readonly reason: "envelope" | "message";
6
+ constructor(reason: "envelope" | "message");
7
+ }
8
+ export type PublishSignedIntentOptions = {
9
+ /** The address whose signature `sign` returns. */
10
+ publisher: Address;
11
+ /**
12
+ * The whole message the publisher may be asked to sign for a content hash.
13
+ * Defaults to JB Center's own signing message.
14
+ */
15
+ expectMessage?: (contentHash: Hex) => string;
16
+ request?: JBCenterRequestOptions;
17
+ };
18
+ /**
19
+ * Publish an intent, signing only JB Center's prepared message and only once
20
+ * it has been checked: the prepared envelope must carry the same values as
21
+ * the intent built here, and the message must be the whole signing message
22
+ * for the content hash of what is being signed. `sign` is the caller's own
23
+ * signer; this package never reaches a wallet itself.
24
+ */
25
+ export declare function publishSignedIntent<TJb extends JBCenterJsonObject>(client: JBCenterClient, intent: JBCenterIntentInput<TJb>, sign: (message: string) => Promise<Hex>, options: PublishSignedIntentOptions): Promise<JBCenterIntent<TJb>>;
26
+ //# sourceMappingURL=publish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/jbcenter/publish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AA+DxB,2EAA2E;AAC3E,qBAAa,2BAA4B,SAAQ,KAAK;IACxC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS;gBAA9B,MAAM,EAAE,UAAU,GAAG,SAAS;CAQpD;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,MAAM,CAAC;IAC7C,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,SAAS,kBAAkB,EACtE,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,EACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAmB9B"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JBCenterIntentMismatchError = void 0;
4
+ exports.publishSignedIntent = publishSignedIntent;
5
+ /**
6
+ * Key order and the casing of addresses and calldata are JB Center's to
7
+ * choose; the values are not. Sorting keys and lowercasing hex long enough to
8
+ * be an address or calldata puts both sides in one form so the comparison
9
+ * reads values only. Shorter hex-looking text is a value like any other and is
10
+ * compared as written.
11
+ */
12
+ function canonical(value) {
13
+ return JSON.stringify(value, (_key, item) => {
14
+ if (typeof item === "string") {
15
+ return /^0x[0-9a-fA-F]{40,}$/u.test(item) ? item.toLowerCase() : item;
16
+ }
17
+ if (!item || typeof item !== "object" || Array.isArray(item))
18
+ return item;
19
+ return Object.fromEntries(Object.entries(item).sort(([a], [b]) => a < b ? -1 : 1));
20
+ });
21
+ }
22
+ /**
23
+ * The shape JB Center normalizes an envelope into before it hashes: unique
24
+ * chain ids in ascending order, deployment calls in the same order, and
25
+ * `format` and `deploymentVersion` without surrounding space.
26
+ */
27
+ function normalized(envelope) {
28
+ return {
29
+ ...envelope,
30
+ format: envelope.format.trim(),
31
+ deploymentVersion: envelope.deploymentVersion.trim(),
32
+ chainIds: [...new Set(envelope.chainIds)].sort((a, b) => a - b),
33
+ deploymentCalls: [...envelope.deploymentCalls].sort((a, b) => a.chainId - b.chainId),
34
+ };
35
+ }
36
+ /** A copy of its own, so what is checked is what is published even if the
37
+ * caller keeps writing to its object while the signer is open. */
38
+ function snapshot(envelope) {
39
+ return JSON.parse(JSON.stringify(envelope));
40
+ }
41
+ /** JB Center's own signing message, word for word. */
42
+ function centerSigningMessage(contentHash) {
43
+ return `Juice Central project intent\nVersion: 1\nContent hash: ${contentHash}`;
44
+ }
45
+ /** The casing of the hash JB Center echoes is its to choose; every other
46
+ * character of the message is not. */
47
+ function withLowercaseHash(message, contentHash) {
48
+ const at = message.toLowerCase().indexOf(contentHash);
49
+ if (at === -1)
50
+ return message;
51
+ return `${message.slice(0, at)}${contentHash}${message.slice(at + contentHash.length)}`;
52
+ }
53
+ /** JB Center prepared something other than the intent the caller built. */
54
+ class JBCenterIntentMismatchError extends Error {
55
+ constructor(reason) {
56
+ super(reason === "envelope"
57
+ ? "JB Center prepared a different intent than the one built here"
58
+ : "JB Center's prepared message is not Center's signing message for that content hash");
59
+ this.reason = reason;
60
+ this.name = "JBCenterIntentMismatchError";
61
+ }
62
+ }
63
+ exports.JBCenterIntentMismatchError = JBCenterIntentMismatchError;
64
+ /**
65
+ * Publish an intent, signing only JB Center's prepared message and only once
66
+ * it has been checked: the prepared envelope must carry the same values as
67
+ * the intent built here, and the message must be the whole signing message
68
+ * for the content hash of what is being signed. `sign` is the caller's own
69
+ * signer; this package never reaches a wallet itself.
70
+ */
71
+ async function publishSignedIntent(client, intent, sign, options) {
72
+ const checked = snapshot(normalized(intent));
73
+ const prepared = await client.prepareIntent(checked, options.request);
74
+ if (canonical(normalized(prepared.envelope)) !== canonical(checked)) {
75
+ throw new JBCenterIntentMismatchError("envelope");
76
+ }
77
+ const contentHash = prepared.contentHash.toLowerCase();
78
+ const expected = (options.expectMessage ?? centerSigningMessage)(contentHash);
79
+ if (withLowercaseHash(prepared.message, contentHash) !==
80
+ withLowercaseHash(expected, contentHash)) {
81
+ throw new JBCenterIntentMismatchError("message");
82
+ }
83
+ const signature = await sign(prepared.message);
84
+ return client.publishIntent({ ...checked, publisher: options.publisher, signature }, options.request);
85
+ }
86
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/jbcenter/publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export type JBCenterRefusalCode = "sponsor_quota" | "sponsor_budget" | "unavailable" | "rate_limited";
2
+ export type JBCenterRefusal = {
3
+ code: JBCenterRefusalCode;
4
+ message: string;
5
+ };
6
+ /**
7
+ * The sentence to show when JB Center declines to sponsor a deploy, or `null`
8
+ * when the failure is something else and the caller should keep its own
9
+ * wording.
10
+ */
11
+ export declare function describeCenterRefusal(error: unknown): JBCenterRefusal | null;
12
+ //# sourceMappingURL=refusal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refusal.d.ts","sourceRoot":"","sources":["../../../src/jbcenter/refusal.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,cAAc,CAAC;AAEnB,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAgBF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAY5E"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.describeCenterRefusal = describeCenterRefusal;
4
+ // `jbcenter.ts` re-exports this module, so the two form an import cycle. Keep
5
+ // the `JBCenterRequestError` read inside the function body: a top-level read
6
+ // would resolve before `jbcenter.ts` finishes evaluating under CJS.
7
+ const jbcenter_js_1 = require("../jbcenter.js");
8
+ /** One sentence per refusal, so no provider or gateway text reaches a reader. */
9
+ const MESSAGES = {
10
+ sponsor_quota: "Center's daily sponsored-deploy quota is used up. Try again tomorrow.",
11
+ sponsor_budget: "Center's daily sponsorship budget is spent. Try again tomorrow.",
12
+ unavailable: "Sponsored deploys are paused right now. Try again shortly.",
13
+ rate_limited: "Center is rate limiting sponsored deploys. Try again shortly.",
14
+ };
15
+ function refusal(code) {
16
+ return { code, message: MESSAGES[code] };
17
+ }
18
+ /**
19
+ * The sentence to show when JB Center declines to sponsor a deploy, or `null`
20
+ * when the failure is something else and the caller should keep its own
21
+ * wording.
22
+ */
23
+ function describeCenterRefusal(error) {
24
+ if (!(error instanceof jbcenter_js_1.JBCenterRequestError))
25
+ return null;
26
+ if (error.code === "sponsor_quota" ||
27
+ error.code === "sponsor_budget" ||
28
+ error.code === "unavailable") {
29
+ return refusal(error.code);
30
+ }
31
+ if (error.status === 429)
32
+ return refusal("rate_limited");
33
+ if (error.status === 503)
34
+ return refusal("unavailable");
35
+ return null;
36
+ }
37
+ //# sourceMappingURL=refusal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refusal.js","sourceRoot":"","sources":["../../../src/jbcenter/refusal.ts"],"names":[],"mappings":";;AAmCA,sDAYC;AA/CD,8EAA8E;AAC9E,6EAA6E;AAC7E,oEAAoE;AACpE,gDAAsD;AAatD,iFAAiF;AACjF,MAAM,QAAQ,GAAwC;IACpD,aAAa,EACX,uEAAuE;IACzE,cAAc,EACZ,iEAAiE;IACnE,WAAW,EAAE,4DAA4D;IACzE,YAAY,EAAE,+DAA+D;CAC9E,CAAC;AAEF,SAAS,OAAO,CAAC,IAAyB;IACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,KAAc;IAClD,IAAI,CAAC,CAAC,KAAK,YAAY,kCAAoB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,IACE,KAAK,CAAC,IAAI,KAAK,eAAe;QAC9B,KAAK,CAAC,IAAI,KAAK,gBAAgB;QAC/B,KAAK,CAAC,IAAI,KAAK,aAAa,EAC5B,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { JBCenterDeploymentCall, JBCenterIntent, JBCenterJsonObject } from "../jbcenter.js";
2
+ import type { JBCenterDecodedLaunch } from "./decode.js";
3
+ /** An intent's `deploymentCalls` per chain, each chain's calls in order. */
4
+ export declare function groupDeploymentCalls(calls: readonly JBCenterDeploymentCall[]): Map<number, JBCenterDeploymentCall[]>;
5
+ /**
6
+ * JB Center's rule, mirrored: a chain carries 1 to 4 calls, the last call for
7
+ * a chain is its launch, and every call before it creates a Safe through the
8
+ * canonical factory. Whether the chains named match the calls is the
9
+ * envelope's own check.
10
+ */
11
+ export declare function isValidDeploymentCalls(calls: readonly JBCenterDeploymentCall[]): boolean;
12
+ /** One of an intent's calls, with the launch or Safe creation it carries. */
13
+ export type JBCenterDecodedCall = JBCenterDeploymentCall & {
14
+ decoded: JBCenterDecodedLaunch;
15
+ };
16
+ export type JBCenterChainCalls = {
17
+ setup: JBCenterDecodedCall[];
18
+ launch: JBCenterDecodedCall;
19
+ };
20
+ /**
21
+ * An intent's calls per chain, decoded, so a client renders "creates this
22
+ * Safe, then launches" without repeating the rule: the last call for a chain
23
+ * is its launch and every call before it is a setup call.
24
+ */
25
+ export declare function intentCalls(intent: JBCenterIntent<JBCenterJsonObject>): Map<number, JBCenterChainCalls>;
26
+ //# sourceMappingURL=setupCalls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupCalls.d.ts","sourceRoot":"","sources":["../../../src/jbcenter/setupCalls.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAKzD,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,sBAAsB,EAAE,GACvC,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAUvC;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,sBAAsB,EAAE,GACvC,OAAO,CAST;AAED,6EAA6E;AAC7E,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG;IACzD,OAAO,EAAE,qBAAqB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,CAAC,kBAAkB,CAAC,GACzC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAiBjC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.groupDeploymentCalls = groupDeploymentCalls;
4
+ exports.isValidDeploymentCalls = isValidDeploymentCalls;
5
+ exports.intentCalls = intentCalls;
6
+ const decode_js_1 = require("./decode.js");
7
+ /** JB Center's ceiling: one launch per chain, with up to three setup calls. */
8
+ const MAX_CALLS_PER_CHAIN = 4;
9
+ /** An intent's `deploymentCalls` per chain, each chain's calls in order. */
10
+ function groupDeploymentCalls(calls) {
11
+ const groups = new Map();
12
+ for (const call of calls) {
13
+ const group = groups.get(call.chainId);
14
+ if (group)
15
+ group.push(call);
16
+ else
17
+ groups.set(call.chainId, [call]);
18
+ }
19
+ return groups;
20
+ }
21
+ /**
22
+ * JB Center's rule, mirrored: a chain carries 1 to 4 calls, the last call for
23
+ * a chain is its launch, and every call before it creates a Safe through the
24
+ * canonical factory. Whether the chains named match the calls is the
25
+ * envelope's own check.
26
+ */
27
+ function isValidDeploymentCalls(calls) {
28
+ for (const group of groupDeploymentCalls(calls).values()) {
29
+ if (group.length > MAX_CALLS_PER_CHAIN)
30
+ return false;
31
+ for (const call of group.slice(0, -1)) {
32
+ if ((0, decode_js_1.decodeDeploymentCall)(call).flavor !== "safe-create")
33
+ return false;
34
+ }
35
+ }
36
+ return true;
37
+ }
38
+ /**
39
+ * An intent's calls per chain, decoded, so a client renders "creates this
40
+ * Safe, then launches" without repeating the rule: the last call for a chain
41
+ * is its launch and every call before it is a setup call.
42
+ */
43
+ function intentCalls(intent) {
44
+ const result = new Map();
45
+ for (const [chainId, calls] of groupDeploymentCalls(intent.envelope.deploymentCalls)) {
46
+ const decoded = calls.map((call) => ({
47
+ ...call,
48
+ decoded: (0, decode_js_1.decodeDeploymentCall)(call),
49
+ }));
50
+ result.set(chainId, {
51
+ setup: decoded.slice(0, -1),
52
+ launch: decoded[decoded.length - 1],
53
+ });
54
+ }
55
+ return result;
56
+ }
57
+ //# sourceMappingURL=setupCalls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupCalls.js","sourceRoot":"","sources":["../../../src/jbcenter/setupCalls.ts"],"names":[],"mappings":";;AAeA,oDAYC;AAQD,wDAWC;AAiBD,kCAmBC;AA1ED,2CAAmD;AAGnD,+EAA+E;AAC/E,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,4EAA4E;AAC5E,SAAgB,oBAAoB,CAClC,KAAwC;IAExC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoC,CAAC;IAE3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACvB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CACpC,KAAwC;IAExC,KAAK,MAAM,KAAK,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACzD,IAAI,KAAK,CAAC,MAAM,GAAG,mBAAmB;YAAE,OAAO,KAAK,CAAC;QACrD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,IAAI,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa;gBAAE,OAAO,KAAK,CAAC;QACxE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAYD;;;;GAIG;AACH,SAAgB,WAAW,CACzB,MAA0C;IAE1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;IAErD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,oBAAoB,CACjD,MAAM,CAAC,QAAQ,CAAC,eAAe,CAChC,EAAE,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnC,GAAG,IAAI;YACP,OAAO,EAAE,IAAA,gCAAoB,EAAC,IAAI,CAAC;SACpC,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -28,10 +28,16 @@ export type JBCenterDeploymentCall = {
28
28
  };
29
29
  export type { JBCenterDecodedLaunch } from "./jbcenter/decode.js";
30
30
  export { decodeDeploymentCall } from "./jbcenter/decode.js";
31
+ export type { JBCenterChainCalls, JBCenterDecodedCall, } from "./jbcenter/setupCalls.js";
32
+ export { intentCalls } from "./jbcenter/setupCalls.js";
31
33
  export type { JBCenterIntentRow } from "./jbcenter/merge.js";
32
34
  export { deployedChains, intentPath, intentRow, isFullyDeployed, mergeSearch, } from "./jbcenter/merge.js";
33
35
  export type { EnsureDeployedOptions, EnsureDeployedStep, } from "./jbcenter/ensureDeployed.js";
34
36
  export { EnsureDeployedError, ensureDeployed, } from "./jbcenter/ensureDeployed.js";
37
+ export type { PublishSignedIntentOptions } from "./jbcenter/publish.js";
38
+ export { JBCenterIntentMismatchError, publishSignedIntent, } from "./jbcenter/publish.js";
39
+ export type { JBCenterRefusal, JBCenterRefusalCode, } from "./jbcenter/refusal.js";
40
+ export { describeCenterRefusal } from "./jbcenter/refusal.js";
35
41
  export type JBCenterContractCall<TAbi extends Abi = Abi, TFunctionName extends ContractFunctionName<TAbi, "payable" | "nonpayable"> = ContractFunctionName<TAbi, "payable" | "nonpayable">> = {
36
42
  chainId: number;
37
43
  address: Address;
@@ -112,6 +118,10 @@ export type JBCenterSearchParams = {
112
118
  query?: string;
113
119
  limit?: number;
114
120
  cursor?: string;
121
+ /** The intent's `jb.owner`, matched without regard to checksum casing. */
122
+ owner?: Address;
123
+ /** The address that signed the intent, matched the same way. */
124
+ publisher?: Address;
115
125
  };
116
126
  export type JBCenterPin = {
117
127
  cid: string;
@@ -1 +1 @@
1
- {"version":3,"file":"jbcenter.d.ts","sourceRoot":"","sources":["../../src/jbcenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jbcenter.d.ts","sourceRoot":"","sources":["../../src/jbcenter.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JBCenterClient = exports.JBCenterRpcError = exports.JBCenterTimeoutError = exports.JBCenterRequestError = exports.JBCENTER_SPONSORED_CHAIN_IDS = exports.ensureDeployed = exports.EnsureDeployedError = exports.mergeSearch = exports.isFullyDeployed = exports.intentRow = exports.intentPath = exports.deployedChains = exports.decodeDeploymentCall = exports.JBCENTER_RPC_METHODS = exports.MAX_JBCENTER_RESPONSE_BYTES = exports.JBCENTER_PIN_TIMEOUT_MS = exports.JBCENTER_DEPLOYMENT_TIMEOUT_MS = exports.JBCENTER_REQUEST_TIMEOUT_MS = exports.JBCENTER_DEFAULT_URL = void 0;
3
+ exports.JBCenterClient = exports.JBCenterRpcError = exports.JBCenterTimeoutError = exports.JBCenterRequestError = exports.JBCENTER_SPONSORED_CHAIN_IDS = exports.describeCenterRefusal = exports.publishSignedIntent = exports.JBCenterIntentMismatchError = exports.ensureDeployed = exports.EnsureDeployedError = exports.mergeSearch = exports.isFullyDeployed = exports.intentRow = exports.intentPath = exports.deployedChains = exports.intentCalls = exports.decodeDeploymentCall = exports.JBCENTER_RPC_METHODS = exports.MAX_JBCENTER_RESPONSE_BYTES = exports.JBCENTER_PIN_TIMEOUT_MS = exports.JBCENTER_DEPLOYMENT_TIMEOUT_MS = exports.JBCENTER_REQUEST_TIMEOUT_MS = exports.JBCENTER_DEFAULT_URL = void 0;
4
4
  exports.createJBCenterDeploymentCall = createJBCenterDeploymentCall;
5
5
  exports.isSponsorable = isSponsorable;
6
6
  exports.createJBCenterClient = createJBCenterClient;
7
7
  exports.createJBCenterRpcProvider = createJBCenterRpcProvider;
8
8
  const viem_1 = require("viem");
9
+ const setupCalls_js_1 = require("./jbcenter/setupCalls.js");
9
10
  exports.JBCENTER_DEFAULT_URL = "https://juicebox.center";
10
11
  exports.JBCENTER_REQUEST_TIMEOUT_MS = 15_000;
11
12
  exports.JBCENTER_DEPLOYMENT_TIMEOUT_MS = 45_000;
@@ -42,6 +43,8 @@ exports.JBCENTER_RPC_METHODS = [
42
43
  ];
43
44
  var decode_js_1 = require("./jbcenter/decode.js");
44
45
  Object.defineProperty(exports, "decodeDeploymentCall", { enumerable: true, get: function () { return decode_js_1.decodeDeploymentCall; } });
46
+ var setupCalls_js_2 = require("./jbcenter/setupCalls.js");
47
+ Object.defineProperty(exports, "intentCalls", { enumerable: true, get: function () { return setupCalls_js_2.intentCalls; } });
45
48
  var merge_js_1 = require("./jbcenter/merge.js");
46
49
  Object.defineProperty(exports, "deployedChains", { enumerable: true, get: function () { return merge_js_1.deployedChains; } });
47
50
  Object.defineProperty(exports, "intentPath", { enumerable: true, get: function () { return merge_js_1.intentPath; } });
@@ -51,6 +54,11 @@ Object.defineProperty(exports, "mergeSearch", { enumerable: true, get: function
51
54
  var ensureDeployed_js_1 = require("./jbcenter/ensureDeployed.js");
52
55
  Object.defineProperty(exports, "EnsureDeployedError", { enumerable: true, get: function () { return ensureDeployed_js_1.EnsureDeployedError; } });
53
56
  Object.defineProperty(exports, "ensureDeployed", { enumerable: true, get: function () { return ensureDeployed_js_1.ensureDeployed; } });
57
+ var publish_js_1 = require("./jbcenter/publish.js");
58
+ Object.defineProperty(exports, "JBCenterIntentMismatchError", { enumerable: true, get: function () { return publish_js_1.JBCenterIntentMismatchError; } });
59
+ Object.defineProperty(exports, "publishSignedIntent", { enumerable: true, get: function () { return publish_js_1.publishSignedIntent; } });
60
+ var refusal_js_1 = require("./jbcenter/refusal.js");
61
+ Object.defineProperty(exports, "describeCenterRefusal", { enumerable: true, get: function () { return refusal_js_1.describeCenterRefusal; } });
54
62
  /** Freeze a typed viem contract request into the call signed by JB Center. */
55
63
  function createJBCenterDeploymentCall(request) {
56
64
  const { chainId, address, ...parameters } = request;
@@ -154,15 +162,15 @@ function isEnvelope(value) {
154
162
  return false;
155
163
  }
156
164
  if (!Array.isArray(value.deploymentCalls) ||
157
- !value.deploymentCalls.every(isDeploymentCall) ||
158
- value.deploymentCalls.length !== value.chainIds.length) {
165
+ !value.deploymentCalls.every(isDeploymentCall)) {
159
166
  return false;
160
167
  }
168
+ const calls = value.deploymentCalls;
169
+ if (!(0, setupCalls_js_1.isValidDeploymentCalls)(calls))
170
+ return false;
161
171
  const chains = [...value.chainIds].sort((a, b) => a - b);
162
- const callChains = value.deploymentCalls
163
- .map(({ chainId }) => chainId)
164
- .sort((a, b) => a - b);
165
- return (new Set(callChains).size === callChains.length &&
172
+ const callChains = [...(0, setupCalls_js_1.groupDeploymentCalls)(calls).keys()].sort((a, b) => a - b);
173
+ return (callChains.length === chains.length &&
166
174
  chains.every((chainId, index) => callChains[index] === chainId));
167
175
  }
168
176
  function isMetadata(value) {
@@ -355,6 +363,10 @@ class JBCenterClient {
355
363
  query.set("limit", String(params.limit));
356
364
  if (params.cursor !== undefined)
357
365
  query.set("cursor", params.cursor);
366
+ if (params.owner !== undefined)
367
+ query.set("owner", params.owner);
368
+ if (params.publisher !== undefined)
369
+ query.set("publisher", params.publisher);
358
370
  const suffix = query.size ? `?${query}` : "";
359
371
  return this.fetchJson(`v1/search${suffix}`, {}, isSearchPage, options);
360
372
  }