@bananapus/nana-sdk-core 2.6.0 → 2.7.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/jbcenter/decode.d.ts +49 -0
- package/dist/cjs/jbcenter/decode.d.ts.map +1 -0
- package/dist/cjs/jbcenter/decode.js +154 -0
- package/dist/cjs/jbcenter/decode.js.map +1 -0
- package/dist/cjs/jbcenter/ensureDeployed.d.ts +29 -0
- package/dist/cjs/jbcenter/ensureDeployed.d.ts.map +1 -0
- package/dist/cjs/jbcenter/ensureDeployed.js +166 -0
- package/dist/cjs/jbcenter/ensureDeployed.js.map +1 -0
- package/dist/cjs/jbcenter/merge.d.ts +21 -0
- package/dist/cjs/jbcenter/merge.d.ts.map +1 -0
- package/dist/cjs/jbcenter/merge.js +51 -0
- package/dist/cjs/jbcenter/merge.js.map +1 -0
- package/dist/cjs/jbcenter.d.ts +21 -0
- package/dist/cjs/jbcenter.d.ts.map +1 -1
- package/dist/cjs/jbcenter.js +56 -3
- package/dist/cjs/jbcenter.js.map +1 -1
- package/dist/esm/jbcenter/decode.d.ts +49 -0
- package/dist/esm/jbcenter/decode.d.ts.map +1 -0
- package/dist/esm/jbcenter/decode.js +151 -0
- package/dist/esm/jbcenter/decode.js.map +1 -0
- package/dist/esm/jbcenter/ensureDeployed.d.ts +29 -0
- package/dist/esm/jbcenter/ensureDeployed.d.ts.map +1 -0
- package/dist/esm/jbcenter/ensureDeployed.js +161 -0
- package/dist/esm/jbcenter/ensureDeployed.js.map +1 -0
- package/dist/esm/jbcenter/merge.d.ts +21 -0
- package/dist/esm/jbcenter/merge.d.ts.map +1 -0
- package/dist/esm/jbcenter/merge.js +44 -0
- package/dist/esm/jbcenter/merge.js.map +1 -0
- package/dist/esm/jbcenter.d.ts +21 -0
- package/dist/esm/jbcenter.d.ts.map +1 -1
- package/dist/esm/jbcenter.js +46 -2
- package/dist/esm/jbcenter.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/jbcenter.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JBCenterClient = exports.JBCenterRpcError = exports.JBCenterTimeoutError = exports.JBCenterRequestError = 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.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;
|
|
4
4
|
exports.createJBCenterDeploymentCall = createJBCenterDeploymentCall;
|
|
5
|
+
exports.isSponsorable = isSponsorable;
|
|
5
6
|
exports.createJBCenterClient = createJBCenterClient;
|
|
6
7
|
exports.createJBCenterRpcProvider = createJBCenterRpcProvider;
|
|
7
8
|
const viem_1 = require("viem");
|
|
@@ -39,6 +40,17 @@ exports.JBCENTER_RPC_METHODS = [
|
|
|
39
40
|
"eth_syncing",
|
|
40
41
|
"net_version",
|
|
41
42
|
];
|
|
43
|
+
var decode_js_1 = require("./jbcenter/decode.js");
|
|
44
|
+
Object.defineProperty(exports, "decodeDeploymentCall", { enumerable: true, get: function () { return decode_js_1.decodeDeploymentCall; } });
|
|
45
|
+
var merge_js_1 = require("./jbcenter/merge.js");
|
|
46
|
+
Object.defineProperty(exports, "deployedChains", { enumerable: true, get: function () { return merge_js_1.deployedChains; } });
|
|
47
|
+
Object.defineProperty(exports, "intentPath", { enumerable: true, get: function () { return merge_js_1.intentPath; } });
|
|
48
|
+
Object.defineProperty(exports, "intentRow", { enumerable: true, get: function () { return merge_js_1.intentRow; } });
|
|
49
|
+
Object.defineProperty(exports, "isFullyDeployed", { enumerable: true, get: function () { return merge_js_1.isFullyDeployed; } });
|
|
50
|
+
Object.defineProperty(exports, "mergeSearch", { enumerable: true, get: function () { return merge_js_1.mergeSearch; } });
|
|
51
|
+
var ensureDeployed_js_1 = require("./jbcenter/ensureDeployed.js");
|
|
52
|
+
Object.defineProperty(exports, "EnsureDeployedError", { enumerable: true, get: function () { return ensureDeployed_js_1.EnsureDeployedError; } });
|
|
53
|
+
Object.defineProperty(exports, "ensureDeployed", { enumerable: true, get: function () { return ensureDeployed_js_1.ensureDeployed; } });
|
|
42
54
|
/** Freeze a typed viem contract request into the call signed by JB Center. */
|
|
43
55
|
function createJBCenterDeploymentCall(request) {
|
|
44
56
|
const { chainId, address, ...parameters } = request;
|
|
@@ -48,6 +60,13 @@ function createJBCenterDeploymentCall(request) {
|
|
|
48
60
|
data: (0, viem_1.encodeFunctionData)(parameters),
|
|
49
61
|
};
|
|
50
62
|
}
|
|
63
|
+
exports.JBCENTER_SPONSORED_CHAIN_IDS = Object.freeze([
|
|
64
|
+
10, 8453, 42161, 11155111, 11155420, 84532, 421614,
|
|
65
|
+
]);
|
|
66
|
+
function isSponsorable(chainIds) {
|
|
67
|
+
return (chainIds.length > 0 &&
|
|
68
|
+
chainIds.every((id) => exports.JBCENTER_SPONSORED_CHAIN_IDS.includes(id)));
|
|
69
|
+
}
|
|
51
70
|
class JBCenterRequestError extends Error {
|
|
52
71
|
constructor(message, status, code, requestId, retryAfter) {
|
|
53
72
|
super(message);
|
|
@@ -129,6 +148,7 @@ function isEnvelope(value) {
|
|
|
129
148
|
typeof value.format !== "string" ||
|
|
130
149
|
typeof value.deploymentVersion !== "string" ||
|
|
131
150
|
!isNumberArray(value.chainIds) ||
|
|
151
|
+
value.chainIds.length === 0 ||
|
|
132
152
|
new Set(value.chainIds).size !== value.chainIds.length ||
|
|
133
153
|
!record(value.jb)) {
|
|
134
154
|
return false;
|
|
@@ -158,13 +178,41 @@ function isDeployment(value) {
|
|
|
158
178
|
Number.isSafeInteger(value.chainId) &&
|
|
159
179
|
Number(value.chainId) > 0 &&
|
|
160
180
|
typeof value.projectId === "string" &&
|
|
181
|
+
/^[0-9]+$/u.test(value.projectId) &&
|
|
161
182
|
isHash(value.transactionHash) &&
|
|
162
183
|
typeof value.createdAt === "string");
|
|
163
184
|
}
|
|
185
|
+
const JBCENTER_DEPLOY_STATUSES = [
|
|
186
|
+
"queued",
|
|
187
|
+
"sent",
|
|
188
|
+
"confirmed",
|
|
189
|
+
"failed",
|
|
190
|
+
];
|
|
191
|
+
function isIntentDeploy(value) {
|
|
192
|
+
return (record(value) &&
|
|
193
|
+
Number.isSafeInteger(value.chainId) &&
|
|
194
|
+
Number(value.chainId) > 0 &&
|
|
195
|
+
typeof value.status === "string" &&
|
|
196
|
+
JBCENTER_DEPLOY_STATUSES.includes(value.status) &&
|
|
197
|
+
(value.transactionHash === null || isHash(value.transactionHash)) &&
|
|
198
|
+
(value.bundleUuid === null || typeof value.bundleUuid === "string") &&
|
|
199
|
+
(value.error === null || typeof value.error === "string") &&
|
|
200
|
+
typeof value.createdAt === "string" &&
|
|
201
|
+
typeof value.updatedAt === "string");
|
|
202
|
+
}
|
|
203
|
+
function isDeployResponse(value) {
|
|
204
|
+
return (record(value) &&
|
|
205
|
+
Array.isArray(value.deploys) &&
|
|
206
|
+
value.deploys.every(isIntentDeploy));
|
|
207
|
+
}
|
|
208
|
+
function isUuid(value) {
|
|
209
|
+
return (typeof value === "string" &&
|
|
210
|
+
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu.test(value));
|
|
211
|
+
}
|
|
164
212
|
function isIntent(value) {
|
|
165
213
|
return (record(value) &&
|
|
166
214
|
isMetadata(value) &&
|
|
167
|
-
|
|
215
|
+
isUuid(value.id) &&
|
|
168
216
|
(value.status === "undeployed" || value.status === "deployed") &&
|
|
169
217
|
isHash(value.contentHash) &&
|
|
170
218
|
isEnvelope(value.envelope) &&
|
|
@@ -172,7 +220,9 @@ function isIntent(value) {
|
|
|
172
220
|
isSignature(value.signature) &&
|
|
173
221
|
typeof value.createdAt === "string" &&
|
|
174
222
|
Array.isArray(value.deployments) &&
|
|
175
|
-
value.deployments.every(isDeployment)
|
|
223
|
+
value.deployments.every(isDeployment) &&
|
|
224
|
+
Array.isArray(value.deploys) &&
|
|
225
|
+
value.deploys.every(isIntentDeploy));
|
|
176
226
|
}
|
|
177
227
|
function isPreparedIntent(value) {
|
|
178
228
|
return (record(value) &&
|
|
@@ -314,6 +364,9 @@ class JBCenterClient {
|
|
|
314
364
|
timeoutMs: options?.timeoutMs ?? exports.JBCENTER_DEPLOYMENT_TIMEOUT_MS,
|
|
315
365
|
});
|
|
316
366
|
}
|
|
367
|
+
requestDeploy(intentId, options) {
|
|
368
|
+
return this.fetchJson(`v1/intents/${encodeURIComponent(intentId)}/deploy`, { method: "POST" }, isDeployResponse, options);
|
|
369
|
+
}
|
|
317
370
|
pinJson(value, options) {
|
|
318
371
|
return this.fetchJson("v1/pins/json", { method: "POST", body: JSON.stringify(value) }, isPin, { ...options, timeoutMs: options?.timeoutMs ?? exports.JBCENTER_PIN_TIMEOUT_MS });
|
|
319
372
|
}
|
package/dist/cjs/jbcenter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jbcenter.js","sourceRoot":"","sources":["../../src/jbcenter.ts"],"names":[],"mappings":";;;AAwFA,oEAYC;AAkqBD,oDAIC;AAED,8DAKC;AAjxBD,+BAOc;AAED,QAAA,oBAAoB,GAAG,yBAAyB,CAAC;AACjD,QAAA,2BAA2B,GAAG,MAAM,CAAC;AACrC,QAAA,8BAA8B,GAAG,MAAM,CAAC;AACxC,QAAA,uBAAuB,GAAG,OAAO,CAAC;AAClC,QAAA,2BAA2B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,QAAA,oBAAoB,GAAG;IAClC,iBAAiB;IACjB,iBAAiB;IACjB,UAAU;IACV,aAAa;IACb,sBAAsB;IACtB,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,oBAAoB;IACpB,sBAAsB;IACtB,sBAAsB;IACtB,oCAAoC;IACpC,sCAAsC;IACtC,aAAa;IACb,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,uCAAuC;IACvC,yCAAyC;IACzC,0BAA0B;IAC1B,yBAAyB;IACzB,2BAA2B;IAC3B,0BAA0B;IAC1B,gBAAgB;IAChB,aAAa;IACb,aAAa;CACL,CAAC;AA4CX,8EAA8E;AAC9E,SAAgB,4BAA4B,CAG1C,OAAkD;IAClD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC;IACpD,OAAO;QACL,OAAO;QACP,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,IAAA,yBAAkB,EACtB,UAAsD,CACvD;KACF,CAAC;AACJ,CAAC;AAuHD,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YACE,OAAe,EACN,MAAc,EACd,IAAa,EACb,SAAkB,EAClB,UAAmB;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QALN,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAS;QACb,cAAS,GAAT,SAAS,CAAS;QAClB,eAAU,GAAV,UAAU,CAAS;QAG5B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAXD,oDAWC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAqB,SAAiB;QACpC,KAAK,CAAC,qCAAqC,SAAS,IAAI,CAAC,CAAC;QADvC,cAAS,GAAT,SAAS,CAAQ;QAEpC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AALD,oDAKC;AAED,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YACW,IAAY,EACrB,OAAe,EACN,IAAU;QAEnB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,SAAI,GAAJ,IAAI,CAAQ;QAEZ,SAAI,GAAJ,IAAI,CAAM;QAGnB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AATD,4CASC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,uCAAuC,CAAC,IAAI,CAAC,KAAK,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,EAAU;IAC7B,OAAO,CAAC,KAAc,EAAwB,EAAE;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACjE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACtE,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACzC,IAAI,SAAS;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,CACL,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YACnB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACtC,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ;YACvC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACrE,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CACxE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CACtE,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,CACL,MAAM,CAAC,KAAK,CAAC;QACb,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACzB,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAC7C,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IACE,CAAC,MAAM,CAAC,KAAK,CAAC;QACd,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ;QAC3C,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM;QACtD,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EACjB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;QACrC,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC9C,KAAK,CAAC,eAAe,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,EACtD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe;SACrC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC;SAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,OAAO,CACL,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM;QAC9C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,CAChE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B;IAChD,OAAO,CACL,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC;QACrE,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC;QAC7D,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC;QAC7D,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACjD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,MAAM,CAAC,KAAK,CAAC;QACb,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACzB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;QAC7B,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CACL,MAAM,CAAC,KAAK,CAAC;QACb,UAAU,CAAC,KAAK,CAAC;QACjB,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,CAAC,KAAK,CAAC,MAAM,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;QACzB,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1B,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1B,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;QAC5B,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QAChC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,CACL,MAAM,CAAC,KAAK,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;QACzB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,MAAM,CAAC,KAAK,CAAC;QACb,UAAU,CAAC,KAAK,CAAC;QACjB,KAAK,CAAC,MAAM,KAAK,UAAU;QAC3B,KAAK,CAAC,MAAM,KAAK,YAAY;QAC7B,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ;QAC3C,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1B,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,MAAM,CAAC,KAAK,CAAC;QACb,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;QAC/B,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAC7B,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CACpE,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,CACL,MAAM,CAAC,KAAK,CAAC;QACb,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAC7B,qDAAqD,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACrE,KAAK,CAAC,MAAM,KAAK,QAAQ;QACzB,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAC7B,KAAK,CAAC,GAAG,KAAK,UAAU,KAAK,CAAC,GAAG,EAAE;QACnC,KAAK,CAAC,UAAU,KAAK,SAAS,KAAK,CAAC,GAAG,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,IAAI,SAAS,CACjB,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,QAAkB,EAClB,gBAAwB;IAExB,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,gBAAgB,EAAE,CAAC;QACrE,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAC9B,MAAM,IAAI,oBAAoB,CAC5B,2CAA2C,EAC3C,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1E,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAC9B,MAAM,IAAI,oBAAoB,CAC5B,4CAA4C,EAC5C,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,oBAAoB,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;YAC1B,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;gBAC7B,MAAM,MAAM,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC;gBACjE,MAAM,IAAI,oBAAoB,CAC5B,2CAA2C,EAC3C,GAAG,CACJ,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,oBAAoB,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,OAAa,EAAE,QAAgB;IACjD,MAAM,SAAS,GAAI,OAAqC,CAAC,IAAI,CAAC;IAC9D,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3E,CAAC;AAED,MAAa,cAAc;IAOzB,YAAY,UAAiC,EAAE;QAFvC,cAAS,GAAG,CAAC,CAAC;QAGpB,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,IAAI,4BAAoB,CAAC,CAAC;QACzE,yEAAyE;QACzE,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB;YACnB,OAAO,CAAC,gBAAgB,IAAI,mCAA2B,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,mCAA2B,CAAC;QAClE,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC5C,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAC1B,CAAC;YACD,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,aAAa,CACX,MAAgC,EAChC,OAAgC;QAEhC,OAAO,IAAI,CAAC,SAAS,CACnB,oBAAoB,EACpB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAChD,gBAAgB,EAChB,OAAO,CACgC,CAAC;IAC5C,CAAC;IAED,aAAa,CACX,MAAuC,EACvC,OAAgC;QAEhC,OAAO,IAAI,CAAC,SAAS,CACnB,YAAY,EACZ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAChD,QAAQ,EACR,OAAO,CACwB,CAAC;IACpC,CAAC;IAED,SAAS,CACP,QAAgB,EAChB,OAAgC;QAEhC,OAAO,IAAI,CAAC,SAAS,CACnB,cAAc,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAC5C,EAAE,EACF,QAAQ,EACR,OAAO,CACwB,CAAC;IACpC,CAAC;IAED,aAAa,CACX,SAA+B,EAAE,EACjC,OAAgC;QAEhC,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,MAAM,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,gBAAgB,CACd,QAAgB,EAChB,UAAmC,EACnC,OAAgC;QAEhC,OAAO,IAAI,CAAC,SAAS,CACnB,cAAc,kBAAkB,CAAC,QAAQ,CAAC,cAAc,EACxD,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EACpD,YAAY,EACZ;YACE,GAAG,OAAO;YACV,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,sCAA8B;SAChE,CACF,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAyB,EACzB,OAAgC;QAEhC,OAAO,IAAI,CAAC,SAAS,CACnB,cAAc,EACd,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAC/C,KAAK,EACL,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,+BAAuB,EAAE,CACzE,CAAC;IACJ,CAAC;IAED,QAAQ,CACN,OAAa,EACb,OAAwD;QAExD,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,QAAQ,CACN,OAAa,EACb,OAAwD;QAExD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG,CACP,OAAe,EACf,OAA2B,EAC3B,OAAgC;QAEhC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,4BAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAC/B,UAAU,OAAO,EAAE,EACnB;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC;SACzD,EACD,WAAW,CAAC,EAAE,CAAC,EACf,OAAO,CACR,CAAC;QACF,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,gBAAgB,CACxB,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,IAAI,CAAC,KAAK,CAAC,OAAO,EAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAiB,CAAC;IAChC,CAAC;IAED,wEAAwE;IACxE,WAAW,CAAC,OAAe;QACzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;QACjE,CAAC;QACD,OAAO;YACL,OAAO,EAAE,KAAK,EAAqB,OAGlC,EAAE,EAAE;gBACH,IACE,CAAE,4BAA0C,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EACrE,CAAC;oBACD,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO,IAAI,CAAC,GAAG,CAAU,OAAO,EAAE,OAA6B,CAAC,CAAC;YACnE,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,OAAO,CACb,IAAY,EACZ,OAAa,EACb,YAAoB,EACpB,OAAwD;QAExD,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CACT,MAAM,EACN,OAAO,EACP,OAAO,EAAE,QAAQ,IAAI,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CACvD,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE;YAC3D,GAAG,OAAO;YACV,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,+BAAuB;SACzD,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,IAAY,EACZ,IAAiB,EACjB,QAAsB,EACtB,UAAkC,EAAE;QAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,UAAU,CACxB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,EACrC,SAAS,CACV,CAAC;QACF,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;gBAAE,KAAK,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAC1C,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,EAAE;gBAC/D,GAAG,IAAI;gBACP,OAAO;gBACP,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,GACR,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ;oBACtC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;oBACrB,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,OAAO,GACX,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ;oBACzC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;oBACxB,CAAC,CAAC,6BAA6B,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACtD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC5C,MAAM,IAAI,oBAAoB,CAC5B,OAAO,EACP,QAAQ,CAAC,MAAM,EACf,IAAI,EACJ,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,EACjD,gBAAgB,KAAK,IAAI;oBACzB,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC3B,UAAU,IAAI,CAAC;oBACb,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,SAAS,CACd,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,oBAAoB,CAC5B,wCAAwC,EACxC,GAAG,EACH,SAAS,EACT,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAClD,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa;gBAAE,MAAM,aAAa,CAAC;YACpE,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AA5QD,wCA4QC;AAED,SAAgB,oBAAoB,CAClC,UAAiC,EAAE;IAEnC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,yBAAyB,CACvC,OAAe,EACf,UAAiC,EAAE;IAEnC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC"}
|
|
1
|
+
{"version":3,"file":"jbcenter.js","sourceRoot":"","sources":["../../src/jbcenter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type Address, type Hex } from "viem";
|
|
2
|
+
import type { JBTerminalConfig } from "../v6/launch.js";
|
|
3
|
+
import type { REVConfig } from "../v6/revnets.js";
|
|
4
|
+
import type { JBRulesetConfig } from "../v6/rulesets.js";
|
|
5
|
+
import type { JBAccountingContext } from "../v6/terminals.js";
|
|
6
|
+
import type { JBCenterDeploymentCall } from "../jbcenter.js";
|
|
7
|
+
export type JBCenterDecodedLaunch = {
|
|
8
|
+
flavor: "project";
|
|
9
|
+
owner: Address;
|
|
10
|
+
projectUri: string;
|
|
11
|
+
rulesetConfigurations: readonly JBRulesetConfig[];
|
|
12
|
+
terminalConfigurations: readonly JBTerminalConfig[];
|
|
13
|
+
memo: string;
|
|
14
|
+
} | {
|
|
15
|
+
flavor: "project-721";
|
|
16
|
+
owner: Address;
|
|
17
|
+
projectUri: string;
|
|
18
|
+
rulesetConfigurations: readonly JBRulesetConfig[];
|
|
19
|
+
terminalConfigurations: readonly JBTerminalConfig[];
|
|
20
|
+
memo: string;
|
|
21
|
+
salt: Hex;
|
|
22
|
+
} | {
|
|
23
|
+
flavor: "omnichain";
|
|
24
|
+
owner: Address;
|
|
25
|
+
projectUri: string;
|
|
26
|
+
rulesetConfigurations: readonly JBRulesetConfig[];
|
|
27
|
+
terminalConfigurations: readonly JBTerminalConfig[];
|
|
28
|
+
memo: string;
|
|
29
|
+
has721: boolean;
|
|
30
|
+
} | {
|
|
31
|
+
flavor: "revnet";
|
|
32
|
+
operator: Address;
|
|
33
|
+
projectUri: string;
|
|
34
|
+
stages: REVConfig["stageConfigurations"];
|
|
35
|
+
description: REVConfig["description"];
|
|
36
|
+
accountingContexts: readonly JBAccountingContext[];
|
|
37
|
+
} | {
|
|
38
|
+
flavor: "unknown";
|
|
39
|
+
to: Address;
|
|
40
|
+
selector: Hex;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Recognize a frozen `{ chainId, to, data }` deployment call (as produced by
|
|
44
|
+
* {@link createJBCenterDeploymentCall}) as one of the known v6 launch
|
|
45
|
+
* flavors, or `"unknown"` when the target address or selector isn't
|
|
46
|
+
* recognized.
|
|
47
|
+
*/
|
|
48
|
+
export declare function decodeDeploymentCall(call: JBCenterDeploymentCall): JBCenterDecodedLaunch;
|
|
49
|
+
//# sourceMappingURL=decode.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { decodeFunctionData, isAddressEqual, slice, } from "viem";
|
|
2
|
+
import { jb721TiersHookProjectDeployerAbi, jbControllerAbi, jbOmnichainDeployerAbi, revDeployerAbi, } from "../generated/juicebox.js";
|
|
3
|
+
import { v6Address } from "../v6/types.js";
|
|
4
|
+
/** The address of `contract` on `chainId`, or null when it isn't deployed there. */
|
|
5
|
+
function addressFor(contract, chainId) {
|
|
6
|
+
try {
|
|
7
|
+
return v6Address(contract, chainId);
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function decodeProjectLaunch(call) {
|
|
14
|
+
try {
|
|
15
|
+
const address = addressFor("JBController", call.chainId);
|
|
16
|
+
if (!address || !isAddressEqual(address, call.to))
|
|
17
|
+
return null;
|
|
18
|
+
const decoded = decodeFunctionData({
|
|
19
|
+
abi: jbControllerAbi,
|
|
20
|
+
data: call.data,
|
|
21
|
+
});
|
|
22
|
+
if (decoded.functionName !== "launchProjectFor")
|
|
23
|
+
return null;
|
|
24
|
+
const [owner, projectUri, rulesetConfigurations, terminalConfigurations, memo,] = decoded.args;
|
|
25
|
+
return {
|
|
26
|
+
flavor: "project",
|
|
27
|
+
owner,
|
|
28
|
+
projectUri,
|
|
29
|
+
rulesetConfigurations,
|
|
30
|
+
terminalConfigurations,
|
|
31
|
+
memo,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function decodeProject721Launch(call) {
|
|
39
|
+
try {
|
|
40
|
+
const address = addressFor("JB721TiersHookProjectDeployer", call.chainId);
|
|
41
|
+
if (!address || !isAddressEqual(address, call.to))
|
|
42
|
+
return null;
|
|
43
|
+
const decoded = decodeFunctionData({
|
|
44
|
+
abi: jb721TiersHookProjectDeployerAbi,
|
|
45
|
+
data: call.data,
|
|
46
|
+
});
|
|
47
|
+
if (decoded.functionName !== "launchProjectFor")
|
|
48
|
+
return null;
|
|
49
|
+
const [owner, , launchProjectConfig, , salt] = decoded.args;
|
|
50
|
+
return {
|
|
51
|
+
flavor: "project-721",
|
|
52
|
+
owner,
|
|
53
|
+
projectUri: launchProjectConfig.projectUri,
|
|
54
|
+
// This deployer's ruleset metadata always turns the pay data hook on and
|
|
55
|
+
// points it at the hook it deploys, so `dataHook`/`useDataHookForPay`
|
|
56
|
+
// aren't inputs here — they read as `undefined` on this flavor's shell.
|
|
57
|
+
rulesetConfigurations: launchProjectConfig.rulesetConfigurations,
|
|
58
|
+
terminalConfigurations: launchProjectConfig.terminalConfigurations,
|
|
59
|
+
memo: launchProjectConfig.memo,
|
|
60
|
+
salt,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function decodeOmnichainLaunch(call) {
|
|
68
|
+
try {
|
|
69
|
+
const address = addressFor("JBOmnichainDeployer", call.chainId);
|
|
70
|
+
if (!address || !isAddressEqual(address, call.to))
|
|
71
|
+
return null;
|
|
72
|
+
const decoded = decodeFunctionData({
|
|
73
|
+
abi: jbOmnichainDeployerAbi,
|
|
74
|
+
data: call.data,
|
|
75
|
+
});
|
|
76
|
+
if (decoded.functionName !== "launchProjectFor")
|
|
77
|
+
return null;
|
|
78
|
+
const args = decoded.args;
|
|
79
|
+
if (args.length === 7) {
|
|
80
|
+
const [owner, projectUri, , rulesetConfigurations, terminalConfigurations, memo,] = args;
|
|
81
|
+
return {
|
|
82
|
+
flavor: "omnichain",
|
|
83
|
+
owner,
|
|
84
|
+
projectUri,
|
|
85
|
+
rulesetConfigurations,
|
|
86
|
+
terminalConfigurations,
|
|
87
|
+
memo,
|
|
88
|
+
has721: true,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
const [owner, projectUri, rulesetConfigurations, terminalConfigurations, memo,] = args;
|
|
92
|
+
return {
|
|
93
|
+
flavor: "omnichain",
|
|
94
|
+
owner,
|
|
95
|
+
projectUri,
|
|
96
|
+
rulesetConfigurations,
|
|
97
|
+
terminalConfigurations,
|
|
98
|
+
memo,
|
|
99
|
+
has721: false,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function decodeRevnetDeploy(call) {
|
|
107
|
+
try {
|
|
108
|
+
const address = addressFor("REVDeployer", call.chainId);
|
|
109
|
+
if (!address || !isAddressEqual(address, call.to))
|
|
110
|
+
return null;
|
|
111
|
+
const decoded = decodeFunctionData({
|
|
112
|
+
abi: revDeployerAbi,
|
|
113
|
+
data: call.data,
|
|
114
|
+
});
|
|
115
|
+
if (decoded.functionName !== "deployFor")
|
|
116
|
+
return null;
|
|
117
|
+
const [, config, accountingContexts] = decoded.args;
|
|
118
|
+
return {
|
|
119
|
+
flavor: "revnet",
|
|
120
|
+
operator: config.operator,
|
|
121
|
+
projectUri: config.description.uri,
|
|
122
|
+
stages: config.stageConfigurations,
|
|
123
|
+
description: config.description,
|
|
124
|
+
accountingContexts,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const DECODERS = [
|
|
132
|
+
decodeProjectLaunch,
|
|
133
|
+
decodeProject721Launch,
|
|
134
|
+
decodeOmnichainLaunch,
|
|
135
|
+
decodeRevnetDeploy,
|
|
136
|
+
];
|
|
137
|
+
/**
|
|
138
|
+
* Recognize a frozen `{ chainId, to, data }` deployment call (as produced by
|
|
139
|
+
* {@link createJBCenterDeploymentCall}) as one of the known v6 launch
|
|
140
|
+
* flavors, or `"unknown"` when the target address or selector isn't
|
|
141
|
+
* recognized.
|
|
142
|
+
*/
|
|
143
|
+
export function decodeDeploymentCall(call) {
|
|
144
|
+
for (const decode of DECODERS) {
|
|
145
|
+
const decoded = decode(call);
|
|
146
|
+
if (decoded)
|
|
147
|
+
return decoded;
|
|
148
|
+
}
|
|
149
|
+
return { flavor: "unknown", to: call.to, selector: slice(call.data, 0, 4) };
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=decode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decode.js","sourceRoot":"","sources":["../../../src/jbcenter/decode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Hex } from "viem";
|
|
2
|
+
import { type JBCenterClient, type JBCenterDeploymentCall, type JBCenterDeploymentInput, type JBCenterIntent, type JBCenterJsonObject } from "../jbcenter.js";
|
|
3
|
+
export type EnsureDeployedStep = {
|
|
4
|
+
chainId: number;
|
|
5
|
+
status: "queued" | "sent" | "confirmed" | "failed" | "self-paid";
|
|
6
|
+
transactionHash?: Hex;
|
|
7
|
+
};
|
|
8
|
+
export type EnsureDeployedOptions = {
|
|
9
|
+
client: JBCenterClient;
|
|
10
|
+
intent: JBCenterIntent<JBCenterJsonObject>;
|
|
11
|
+
/** Runs the client's own launch pipeline for every remaining chain. */
|
|
12
|
+
selfPaid?: (calls: JBCenterDeploymentCall[]) => Promise<JBCenterDeploymentInput[]>;
|
|
13
|
+
onStep?: (step: EnsureDeployedStep) => void;
|
|
14
|
+
pollMs?: number;
|
|
15
|
+
timeoutMs?: number;
|
|
16
|
+
signal?: AbortSignal;
|
|
17
|
+
};
|
|
18
|
+
export declare class EnsureDeployedError extends Error {
|
|
19
|
+
readonly chainId?: number | undefined;
|
|
20
|
+
constructor(message: string, chainId?: number | undefined);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The pre-step every webclient runs before the first on-chain write against
|
|
24
|
+
* an undeployed intent: sponsor the deploy through JB Center when eligible
|
|
25
|
+
* and poll until every chain lands, or fall back to the caller's own launch
|
|
26
|
+
* pipeline when JB Center can't or won't sponsor it.
|
|
27
|
+
*/
|
|
28
|
+
export declare function ensureDeployed(options: EnsureDeployedOptions): Promise<Record<number, string>>;
|
|
29
|
+
//# sourceMappingURL=ensureDeployed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureDeployed.d.ts","sourceRoot":"","sources":["../../../src/jbcenter/ensureDeployed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAKhC,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EAEnB,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AAOxB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IACjE,eAAe,CAAC,EAAE,GAAG,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC3C,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,sBAAsB,EAAE,KAC5B,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,KAAK;IAG1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM;gBADzB,OAAO,EAAE,MAAM,EACN,OAAO,CAAC,EAAE,MAAM,YAAA;CAK5B;AA4KD;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAyCjC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
// `jbcenter.ts` re-exports this module, so the two form an import cycle. Keep
|
|
2
|
+
// every value either side takes from the other inside a function body: a
|
|
3
|
+
// top-level read of `JBCenterRequestError` or `isSponsorable` would resolve
|
|
4
|
+
// before `jbcenter.ts` finishes evaluating under CJS.
|
|
5
|
+
import { JBCenterRequestError, isSponsorable, } from "../jbcenter.js";
|
|
6
|
+
import { deployedChains, isFullyDeployed } from "./merge.js";
|
|
7
|
+
const DEFAULT_POLL_MS = 4_000;
|
|
8
|
+
const DEFAULT_TIMEOUT_MS = 600_000;
|
|
9
|
+
const SELF_PAID_FALLBACK_STATUSES = new Set([400, 429, 503]);
|
|
10
|
+
export class EnsureDeployedError extends Error {
|
|
11
|
+
constructor(message, chainId) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.chainId = chainId;
|
|
14
|
+
this.name = "EnsureDeployedError";
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function checkAborted(signal) {
|
|
18
|
+
if (signal?.aborted) {
|
|
19
|
+
throw signal.reason;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function sleep(ms, signal) {
|
|
23
|
+
return new Promise((resolve, reject) => {
|
|
24
|
+
const onAbort = () => {
|
|
25
|
+
clearTimeout(timer);
|
|
26
|
+
reject(signal?.reason);
|
|
27
|
+
};
|
|
28
|
+
const timer = setTimeout(() => {
|
|
29
|
+
signal?.removeEventListener("abort", onAbort);
|
|
30
|
+
resolve();
|
|
31
|
+
}, ms);
|
|
32
|
+
signal?.addEventListener("abort", onAbort, { once: true });
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function reportSteps(deploys, seen, onStep) {
|
|
36
|
+
let failedChainId;
|
|
37
|
+
for (const deploy of deploys) {
|
|
38
|
+
if (seen.get(deploy.chainId) === deploy.status)
|
|
39
|
+
continue;
|
|
40
|
+
seen.set(deploy.chainId, deploy.status);
|
|
41
|
+
onStep?.({
|
|
42
|
+
chainId: deploy.chainId,
|
|
43
|
+
status: deploy.status,
|
|
44
|
+
transactionHash: deploy.transactionHash ?? undefined,
|
|
45
|
+
});
|
|
46
|
+
if (deploy.status === "failed" && failedChainId === undefined) {
|
|
47
|
+
failedChainId = deploy.chainId;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (failedChainId !== undefined) {
|
|
51
|
+
throw new EnsureDeployedError(`JB Center could not deploy chain ${failedChainId}`, failedChainId);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async function pollUntilDeployed(client, seed, pollMs, timeoutMs, signal, onStep) {
|
|
55
|
+
const seen = new Map();
|
|
56
|
+
const startedAt = Date.now();
|
|
57
|
+
let current = seed;
|
|
58
|
+
while (true) {
|
|
59
|
+
checkAborted(signal);
|
|
60
|
+
reportSteps(current.deploys, seen, onStep);
|
|
61
|
+
if (isFullyDeployed(current)) {
|
|
62
|
+
return deployedChains(current);
|
|
63
|
+
}
|
|
64
|
+
if (Date.now() - startedAt >= timeoutMs) {
|
|
65
|
+
throw new EnsureDeployedError("JB Center deploy polling timed out");
|
|
66
|
+
}
|
|
67
|
+
await sleep(pollMs, signal);
|
|
68
|
+
current = await client.getIntent(current.id, { signal });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async function runSelfPaid(client, intent, selfPaid, onStep, signal) {
|
|
72
|
+
if (!selfPaid) {
|
|
73
|
+
throw new EnsureDeployedError("JB Center cannot sponsor this deploy and no self-paid fallback was provided");
|
|
74
|
+
}
|
|
75
|
+
checkAborted(signal);
|
|
76
|
+
const deployed = deployedChains(intent);
|
|
77
|
+
const remainingCalls = intent.envelope.deploymentCalls.filter((call) => !(call.chainId in deployed));
|
|
78
|
+
const deployments = await selfPaid(remainingCalls);
|
|
79
|
+
const remainingChainIds = new Set(remainingCalls.map((call) => call.chainId));
|
|
80
|
+
const returnedChainIds = new Set();
|
|
81
|
+
for (const deployment of deployments) {
|
|
82
|
+
if (!remainingChainIds.has(deployment.chainId)) {
|
|
83
|
+
throw new EnsureDeployedError(`Self-paid deploy returned an unexpected chain ${deployment.chainId}`, deployment.chainId);
|
|
84
|
+
}
|
|
85
|
+
if (returnedChainIds.has(deployment.chainId)) {
|
|
86
|
+
throw new EnsureDeployedError(`Self-paid deploy returned chain ${deployment.chainId} more than once`, deployment.chainId);
|
|
87
|
+
}
|
|
88
|
+
returnedChainIds.add(deployment.chainId);
|
|
89
|
+
}
|
|
90
|
+
for (const chainId of remainingChainIds) {
|
|
91
|
+
if (!returnedChainIds.has(chainId)) {
|
|
92
|
+
throw new EnsureDeployedError(`Self-paid deploy left chain ${chainId} undeployed`, chainId);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const result = { ...deployed };
|
|
96
|
+
for (const deployment of deployments) {
|
|
97
|
+
checkAborted(signal);
|
|
98
|
+
await client.recordDeployment(intent.id, deployment, { signal });
|
|
99
|
+
result[deployment.chainId] = deployment.projectId;
|
|
100
|
+
onStep?.({
|
|
101
|
+
chainId: deployment.chainId,
|
|
102
|
+
status: "self-paid",
|
|
103
|
+
transactionHash: deployment.transactionHash,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The sender an intent already has, or `undefined` when nothing has started
|
|
110
|
+
* it yet. Every chain in an intent belongs to one sender, so this decides the
|
|
111
|
+
* route before any new request goes out.
|
|
112
|
+
*/
|
|
113
|
+
function existingSender(options, intent, pollMs, timeoutMs) {
|
|
114
|
+
const { client, onStep, selfPaid, signal } = options;
|
|
115
|
+
if (isFullyDeployed(intent)) {
|
|
116
|
+
return Promise.resolve(deployedChains(intent));
|
|
117
|
+
}
|
|
118
|
+
if (intent.deploys.length > 0) {
|
|
119
|
+
return pollUntilDeployed(client, intent, pollMs, timeoutMs, signal, onStep);
|
|
120
|
+
}
|
|
121
|
+
if (intent.deployments.length > 0) {
|
|
122
|
+
return runSelfPaid(client, intent, selfPaid, onStep, signal);
|
|
123
|
+
}
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* The pre-step every webclient runs before the first on-chain write against
|
|
128
|
+
* an undeployed intent: sponsor the deploy through JB Center when eligible
|
|
129
|
+
* and poll until every chain lands, or fall back to the caller's own launch
|
|
130
|
+
* pipeline when JB Center can't or won't sponsor it.
|
|
131
|
+
*/
|
|
132
|
+
export async function ensureDeployed(options) {
|
|
133
|
+
const { client, intent, onStep, selfPaid, signal } = options;
|
|
134
|
+
const pollMs = options.pollMs ?? DEFAULT_POLL_MS;
|
|
135
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
136
|
+
const started = existingSender(options, intent, pollMs, timeoutMs);
|
|
137
|
+
if (started)
|
|
138
|
+
return started;
|
|
139
|
+
if (!isSponsorable(intent.envelope.chainIds)) {
|
|
140
|
+
return runSelfPaid(client, intent, selfPaid, onStep, signal);
|
|
141
|
+
}
|
|
142
|
+
let deploys;
|
|
143
|
+
try {
|
|
144
|
+
checkAborted(signal);
|
|
145
|
+
({ deploys } = await client.requestDeploy(intent.id, { signal }));
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
if (error instanceof JBCenterRequestError &&
|
|
149
|
+
SELF_PAID_FALLBACK_STATUSES.has(error.status)) {
|
|
150
|
+
// The refusal may mean the sponsor already took this intent, so read the
|
|
151
|
+
// intent back and follow whatever sender it now has instead of adding a
|
|
152
|
+
// second one.
|
|
153
|
+
const fresh = await client.getIntent(intent.id, { signal });
|
|
154
|
+
return (existingSender(options, fresh, pollMs, timeoutMs) ??
|
|
155
|
+
runSelfPaid(client, fresh, selfPaid, onStep, signal));
|
|
156
|
+
}
|
|
157
|
+
throw error;
|
|
158
|
+
}
|
|
159
|
+
return pollUntilDeployed(client, { ...intent, deploys }, pollMs, timeoutMs, signal, onStep);
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=ensureDeployed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureDeployed.js","sourceRoot":"","sources":["../../../src/jbcenter/ensureDeployed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
import type { JBCenterIntent, JBCenterSearchItem, JBCenterJsonObject } from "../jbcenter.js";
|
|
3
|
+
export type JBCenterIntentRow = {
|
|
4
|
+
undeployed: true;
|
|
5
|
+
intentId: string;
|
|
6
|
+
name: string;
|
|
7
|
+
tagline: string | null;
|
|
8
|
+
logoUri: string | null;
|
|
9
|
+
owner: Address | null;
|
|
10
|
+
chainIds: number[];
|
|
11
|
+
createdAt: number;
|
|
12
|
+
};
|
|
13
|
+
export declare function intentRow(item: JBCenterSearchItem): JBCenterIntentRow;
|
|
14
|
+
/** Deployed rows win ties so a list never reorders once an intent lands. */
|
|
15
|
+
export declare function mergeSearch<T extends {
|
|
16
|
+
createdAt: number;
|
|
17
|
+
}>(rows: readonly T[], items: readonly JBCenterSearchItem[]): (T | JBCenterIntentRow)[];
|
|
18
|
+
export declare function intentPath(intentId: string): string;
|
|
19
|
+
export declare function deployedChains(intent: JBCenterIntent<JBCenterJsonObject>): Record<number, string>;
|
|
20
|
+
export declare function isFullyDeployed(intent: JBCenterIntent<JBCenterJsonObject>): boolean;
|
|
21
|
+
//# sourceMappingURL=merge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/jbcenter/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,CAarE;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EACzD,IAAI,EAAE,SAAS,CAAC,EAAE,EAClB,KAAK,EAAE,SAAS,kBAAkB,EAAE,GACnC,CAAC,CAAC,GAAG,iBAAiB,CAAC,EAAE,CAiB3B;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,CAAC,kBAAkB,CAAC,GACzC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxB;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,CAAC,kBAAkB,CAAC,GACzC,OAAO,CAIT"}
|