@bananapus/nana-sdk-core 2.5.1 → 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/cjs/safe.d.ts +208 -0
- package/dist/cjs/safe.d.ts.map +1 -0
- package/dist/cjs/safe.js +396 -0
- package/dist/cjs/safe.js.map +1 -0
- 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/dist/esm/safe.d.ts +208 -0
- package/dist/esm/safe.d.ts.map +1 -0
- package/dist/esm/safe.js +381 -0
- package/dist/esm/safe.js.map +1 -0
- package/package.json +6 -1
|
@@ -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,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeDeploymentCall = decodeDeploymentCall;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const juicebox_js_1 = require("../generated/juicebox.js");
|
|
6
|
+
const types_js_1 = require("../v6/types.js");
|
|
7
|
+
/** The address of `contract` on `chainId`, or null when it isn't deployed there. */
|
|
8
|
+
function addressFor(contract, chainId) {
|
|
9
|
+
try {
|
|
10
|
+
return (0, types_js_1.v6Address)(contract, chainId);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function decodeProjectLaunch(call) {
|
|
17
|
+
try {
|
|
18
|
+
const address = addressFor("JBController", call.chainId);
|
|
19
|
+
if (!address || !(0, viem_1.isAddressEqual)(address, call.to))
|
|
20
|
+
return null;
|
|
21
|
+
const decoded = (0, viem_1.decodeFunctionData)({
|
|
22
|
+
abi: juicebox_js_1.jbControllerAbi,
|
|
23
|
+
data: call.data,
|
|
24
|
+
});
|
|
25
|
+
if (decoded.functionName !== "launchProjectFor")
|
|
26
|
+
return null;
|
|
27
|
+
const [owner, projectUri, rulesetConfigurations, terminalConfigurations, memo,] = decoded.args;
|
|
28
|
+
return {
|
|
29
|
+
flavor: "project",
|
|
30
|
+
owner,
|
|
31
|
+
projectUri,
|
|
32
|
+
rulesetConfigurations,
|
|
33
|
+
terminalConfigurations,
|
|
34
|
+
memo,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function decodeProject721Launch(call) {
|
|
42
|
+
try {
|
|
43
|
+
const address = addressFor("JB721TiersHookProjectDeployer", call.chainId);
|
|
44
|
+
if (!address || !(0, viem_1.isAddressEqual)(address, call.to))
|
|
45
|
+
return null;
|
|
46
|
+
const decoded = (0, viem_1.decodeFunctionData)({
|
|
47
|
+
abi: juicebox_js_1.jb721TiersHookProjectDeployerAbi,
|
|
48
|
+
data: call.data,
|
|
49
|
+
});
|
|
50
|
+
if (decoded.functionName !== "launchProjectFor")
|
|
51
|
+
return null;
|
|
52
|
+
const [owner, , launchProjectConfig, , salt] = decoded.args;
|
|
53
|
+
return {
|
|
54
|
+
flavor: "project-721",
|
|
55
|
+
owner,
|
|
56
|
+
projectUri: launchProjectConfig.projectUri,
|
|
57
|
+
// This deployer's ruleset metadata always turns the pay data hook on and
|
|
58
|
+
// points it at the hook it deploys, so `dataHook`/`useDataHookForPay`
|
|
59
|
+
// aren't inputs here — they read as `undefined` on this flavor's shell.
|
|
60
|
+
rulesetConfigurations: launchProjectConfig.rulesetConfigurations,
|
|
61
|
+
terminalConfigurations: launchProjectConfig.terminalConfigurations,
|
|
62
|
+
memo: launchProjectConfig.memo,
|
|
63
|
+
salt,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function decodeOmnichainLaunch(call) {
|
|
71
|
+
try {
|
|
72
|
+
const address = addressFor("JBOmnichainDeployer", call.chainId);
|
|
73
|
+
if (!address || !(0, viem_1.isAddressEqual)(address, call.to))
|
|
74
|
+
return null;
|
|
75
|
+
const decoded = (0, viem_1.decodeFunctionData)({
|
|
76
|
+
abi: juicebox_js_1.jbOmnichainDeployerAbi,
|
|
77
|
+
data: call.data,
|
|
78
|
+
});
|
|
79
|
+
if (decoded.functionName !== "launchProjectFor")
|
|
80
|
+
return null;
|
|
81
|
+
const args = decoded.args;
|
|
82
|
+
if (args.length === 7) {
|
|
83
|
+
const [owner, projectUri, , rulesetConfigurations, terminalConfigurations, memo,] = args;
|
|
84
|
+
return {
|
|
85
|
+
flavor: "omnichain",
|
|
86
|
+
owner,
|
|
87
|
+
projectUri,
|
|
88
|
+
rulesetConfigurations,
|
|
89
|
+
terminalConfigurations,
|
|
90
|
+
memo,
|
|
91
|
+
has721: true,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
const [owner, projectUri, rulesetConfigurations, terminalConfigurations, memo,] = args;
|
|
95
|
+
return {
|
|
96
|
+
flavor: "omnichain",
|
|
97
|
+
owner,
|
|
98
|
+
projectUri,
|
|
99
|
+
rulesetConfigurations,
|
|
100
|
+
terminalConfigurations,
|
|
101
|
+
memo,
|
|
102
|
+
has721: false,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
function decodeRevnetDeploy(call) {
|
|
110
|
+
try {
|
|
111
|
+
const address = addressFor("REVDeployer", call.chainId);
|
|
112
|
+
if (!address || !(0, viem_1.isAddressEqual)(address, call.to))
|
|
113
|
+
return null;
|
|
114
|
+
const decoded = (0, viem_1.decodeFunctionData)({
|
|
115
|
+
abi: juicebox_js_1.revDeployerAbi,
|
|
116
|
+
data: call.data,
|
|
117
|
+
});
|
|
118
|
+
if (decoded.functionName !== "deployFor")
|
|
119
|
+
return null;
|
|
120
|
+
const [, config, accountingContexts] = decoded.args;
|
|
121
|
+
return {
|
|
122
|
+
flavor: "revnet",
|
|
123
|
+
operator: config.operator,
|
|
124
|
+
projectUri: config.description.uri,
|
|
125
|
+
stages: config.stageConfigurations,
|
|
126
|
+
description: config.description,
|
|
127
|
+
accountingContexts,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
const DECODERS = [
|
|
135
|
+
decodeProjectLaunch,
|
|
136
|
+
decodeProject721Launch,
|
|
137
|
+
decodeOmnichainLaunch,
|
|
138
|
+
decodeRevnetDeploy,
|
|
139
|
+
];
|
|
140
|
+
/**
|
|
141
|
+
* Recognize a frozen `{ chainId, to, data }` deployment call (as produced by
|
|
142
|
+
* {@link createJBCenterDeploymentCall}) as one of the known v6 launch
|
|
143
|
+
* flavors, or `"unknown"` when the target address or selector isn't
|
|
144
|
+
* recognized.
|
|
145
|
+
*/
|
|
146
|
+
function decodeDeploymentCall(call) {
|
|
147
|
+
for (const decode of DECODERS) {
|
|
148
|
+
const decoded = decode(call);
|
|
149
|
+
if (decoded)
|
|
150
|
+
return decoded;
|
|
151
|
+
}
|
|
152
|
+
return { flavor: "unknown", to: call.to, selector: (0, viem_1.slice)(call.data, 0, 4) };
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=decode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decode.js","sourceRoot":"","sources":["../../../src/jbcenter/decode.ts"],"names":[],"mappings":";;AA0NA,oDAQC;AAlOD,+BAMc;AACd,0DAKkC;AAMlC,6CAA4D;AAwC5D,oFAAoF;AACpF,SAAS,UAAU,CAAC,QAAoB,EAAE,OAAe;IACvD,IAAI,CAAC;QACH,OAAO,IAAA,oBAAS,EAAC,QAAQ,EAAE,OAAoB,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,IAAI,CAAC,IAAA,qBAAc,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC;YACjC,GAAG,EAAE,6BAAe;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,YAAY,KAAK,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAC7D,MAAM,CACJ,KAAK,EACL,UAAU,EACV,qBAAqB,EACrB,sBAAsB,EACtB,IAAI,EACL,GAAG,OAAO,CAAC,IAAI,CAAC;QACjB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,KAAK;YACL,UAAU;YACV,qBAAqB;YACrB,sBAAsB;YACtB,IAAI;SACL,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,CAAC,+BAA+B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,OAAO,IAAI,CAAC,IAAA,qBAAc,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC;YACjC,GAAG,EAAE,8CAAgC;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,YAAY,KAAK,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAC7D,MAAM,CAAC,KAAK,EAAE,AAAD,EAAG,mBAAmB,EAAE,AAAD,EAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5D,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,KAAK;YACL,UAAU,EAAE,mBAAmB,CAAC,UAAU;YAC1C,yEAAyE;YACzE,sEAAsE;YACtE,wEAAwE;YACxE,qBAAqB,EACnB,mBAAmB,CAAC,qBAA8D;YACpF,sBAAsB,EAAE,mBAAmB,CAAC,sBAAsB;YAClE,IAAI,EAAE,mBAAmB,CAAC,IAAI;YAC9B,IAAI;SACL,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,IAAI,CAAC,IAAA,qBAAc,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC;YACjC,GAAG,EAAE,oCAAsB;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,YAAY,KAAK,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,CACJ,KAAK,EACL,UAAU,EACV,AADW,EAEX,qBAAqB,EACrB,sBAAsB,EACtB,IAAI,EACL,GAAG,IAAI,CAAC;YACT,OAAO;gBACL,MAAM,EAAE,WAAW;gBACnB,KAAK;gBACL,UAAU;gBACV,qBAAqB;gBACrB,sBAAsB;gBACtB,IAAI;gBACJ,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC;QACD,MAAM,CACJ,KAAK,EACL,UAAU,EACV,qBAAqB,EACrB,sBAAsB,EACtB,IAAI,EACL,GAAG,IAAI,CAAC;QACT,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,KAAK;YACL,UAAU;YACV,qBAAqB;YACrB,sBAAsB;YACtB,IAAI;YACJ,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,IAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,IAAI,CAAC,IAAA,qBAAc,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC;YACjC,GAAG,EAAE,4BAAc;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,YAAY,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QACtD,MAAM,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;QACpD,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG;YAClC,MAAM,EAAE,MAAM,CAAC,mBAAmB;YAClC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAG;IACf,mBAAmB;IACnB,sBAAsB;IACtB,qBAAqB;IACrB,kBAAkB;CACnB,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,oBAAoB,CAClC,IAA4B;IAE5B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAA,YAAK,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC"}
|
|
@@ -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,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EnsureDeployedError = void 0;
|
|
4
|
+
exports.ensureDeployed = ensureDeployed;
|
|
5
|
+
// `jbcenter.ts` re-exports this module, so the two form an import cycle. Keep
|
|
6
|
+
// every value either side takes from the other inside a function body: a
|
|
7
|
+
// top-level read of `JBCenterRequestError` or `isSponsorable` would resolve
|
|
8
|
+
// before `jbcenter.ts` finishes evaluating under CJS.
|
|
9
|
+
const jbcenter_js_1 = require("../jbcenter.js");
|
|
10
|
+
const merge_js_1 = require("./merge.js");
|
|
11
|
+
const DEFAULT_POLL_MS = 4_000;
|
|
12
|
+
const DEFAULT_TIMEOUT_MS = 600_000;
|
|
13
|
+
const SELF_PAID_FALLBACK_STATUSES = new Set([400, 429, 503]);
|
|
14
|
+
class EnsureDeployedError extends Error {
|
|
15
|
+
constructor(message, chainId) {
|
|
16
|
+
super(message);
|
|
17
|
+
this.chainId = chainId;
|
|
18
|
+
this.name = "EnsureDeployedError";
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.EnsureDeployedError = EnsureDeployedError;
|
|
22
|
+
function checkAborted(signal) {
|
|
23
|
+
if (signal?.aborted) {
|
|
24
|
+
throw signal.reason;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function sleep(ms, signal) {
|
|
28
|
+
return new Promise((resolve, reject) => {
|
|
29
|
+
const onAbort = () => {
|
|
30
|
+
clearTimeout(timer);
|
|
31
|
+
reject(signal?.reason);
|
|
32
|
+
};
|
|
33
|
+
const timer = setTimeout(() => {
|
|
34
|
+
signal?.removeEventListener("abort", onAbort);
|
|
35
|
+
resolve();
|
|
36
|
+
}, ms);
|
|
37
|
+
signal?.addEventListener("abort", onAbort, { once: true });
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function reportSteps(deploys, seen, onStep) {
|
|
41
|
+
let failedChainId;
|
|
42
|
+
for (const deploy of deploys) {
|
|
43
|
+
if (seen.get(deploy.chainId) === deploy.status)
|
|
44
|
+
continue;
|
|
45
|
+
seen.set(deploy.chainId, deploy.status);
|
|
46
|
+
onStep?.({
|
|
47
|
+
chainId: deploy.chainId,
|
|
48
|
+
status: deploy.status,
|
|
49
|
+
transactionHash: deploy.transactionHash ?? undefined,
|
|
50
|
+
});
|
|
51
|
+
if (deploy.status === "failed" && failedChainId === undefined) {
|
|
52
|
+
failedChainId = deploy.chainId;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (failedChainId !== undefined) {
|
|
56
|
+
throw new EnsureDeployedError(`JB Center could not deploy chain ${failedChainId}`, failedChainId);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async function pollUntilDeployed(client, seed, pollMs, timeoutMs, signal, onStep) {
|
|
60
|
+
const seen = new Map();
|
|
61
|
+
const startedAt = Date.now();
|
|
62
|
+
let current = seed;
|
|
63
|
+
while (true) {
|
|
64
|
+
checkAborted(signal);
|
|
65
|
+
reportSteps(current.deploys, seen, onStep);
|
|
66
|
+
if ((0, merge_js_1.isFullyDeployed)(current)) {
|
|
67
|
+
return (0, merge_js_1.deployedChains)(current);
|
|
68
|
+
}
|
|
69
|
+
if (Date.now() - startedAt >= timeoutMs) {
|
|
70
|
+
throw new EnsureDeployedError("JB Center deploy polling timed out");
|
|
71
|
+
}
|
|
72
|
+
await sleep(pollMs, signal);
|
|
73
|
+
current = await client.getIntent(current.id, { signal });
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
async function runSelfPaid(client, intent, selfPaid, onStep, signal) {
|
|
77
|
+
if (!selfPaid) {
|
|
78
|
+
throw new EnsureDeployedError("JB Center cannot sponsor this deploy and no self-paid fallback was provided");
|
|
79
|
+
}
|
|
80
|
+
checkAborted(signal);
|
|
81
|
+
const deployed = (0, merge_js_1.deployedChains)(intent);
|
|
82
|
+
const remainingCalls = intent.envelope.deploymentCalls.filter((call) => !(call.chainId in deployed));
|
|
83
|
+
const deployments = await selfPaid(remainingCalls);
|
|
84
|
+
const remainingChainIds = new Set(remainingCalls.map((call) => call.chainId));
|
|
85
|
+
const returnedChainIds = new Set();
|
|
86
|
+
for (const deployment of deployments) {
|
|
87
|
+
if (!remainingChainIds.has(deployment.chainId)) {
|
|
88
|
+
throw new EnsureDeployedError(`Self-paid deploy returned an unexpected chain ${deployment.chainId}`, deployment.chainId);
|
|
89
|
+
}
|
|
90
|
+
if (returnedChainIds.has(deployment.chainId)) {
|
|
91
|
+
throw new EnsureDeployedError(`Self-paid deploy returned chain ${deployment.chainId} more than once`, deployment.chainId);
|
|
92
|
+
}
|
|
93
|
+
returnedChainIds.add(deployment.chainId);
|
|
94
|
+
}
|
|
95
|
+
for (const chainId of remainingChainIds) {
|
|
96
|
+
if (!returnedChainIds.has(chainId)) {
|
|
97
|
+
throw new EnsureDeployedError(`Self-paid deploy left chain ${chainId} undeployed`, chainId);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const result = { ...deployed };
|
|
101
|
+
for (const deployment of deployments) {
|
|
102
|
+
checkAborted(signal);
|
|
103
|
+
await client.recordDeployment(intent.id, deployment, { signal });
|
|
104
|
+
result[deployment.chainId] = deployment.projectId;
|
|
105
|
+
onStep?.({
|
|
106
|
+
chainId: deployment.chainId,
|
|
107
|
+
status: "self-paid",
|
|
108
|
+
transactionHash: deployment.transactionHash,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return result;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* The sender an intent already has, or `undefined` when nothing has started
|
|
115
|
+
* it yet. Every chain in an intent belongs to one sender, so this decides the
|
|
116
|
+
* route before any new request goes out.
|
|
117
|
+
*/
|
|
118
|
+
function existingSender(options, intent, pollMs, timeoutMs) {
|
|
119
|
+
const { client, onStep, selfPaid, signal } = options;
|
|
120
|
+
if ((0, merge_js_1.isFullyDeployed)(intent)) {
|
|
121
|
+
return Promise.resolve((0, merge_js_1.deployedChains)(intent));
|
|
122
|
+
}
|
|
123
|
+
if (intent.deploys.length > 0) {
|
|
124
|
+
return pollUntilDeployed(client, intent, pollMs, timeoutMs, signal, onStep);
|
|
125
|
+
}
|
|
126
|
+
if (intent.deployments.length > 0) {
|
|
127
|
+
return runSelfPaid(client, intent, selfPaid, onStep, signal);
|
|
128
|
+
}
|
|
129
|
+
return undefined;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* The pre-step every webclient runs before the first on-chain write against
|
|
133
|
+
* an undeployed intent: sponsor the deploy through JB Center when eligible
|
|
134
|
+
* and poll until every chain lands, or fall back to the caller's own launch
|
|
135
|
+
* pipeline when JB Center can't or won't sponsor it.
|
|
136
|
+
*/
|
|
137
|
+
async function ensureDeployed(options) {
|
|
138
|
+
const { client, intent, onStep, selfPaid, signal } = options;
|
|
139
|
+
const pollMs = options.pollMs ?? DEFAULT_POLL_MS;
|
|
140
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
141
|
+
const started = existingSender(options, intent, pollMs, timeoutMs);
|
|
142
|
+
if (started)
|
|
143
|
+
return started;
|
|
144
|
+
if (!(0, jbcenter_js_1.isSponsorable)(intent.envelope.chainIds)) {
|
|
145
|
+
return runSelfPaid(client, intent, selfPaid, onStep, signal);
|
|
146
|
+
}
|
|
147
|
+
let deploys;
|
|
148
|
+
try {
|
|
149
|
+
checkAborted(signal);
|
|
150
|
+
({ deploys } = await client.requestDeploy(intent.id, { signal }));
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
if (error instanceof jbcenter_js_1.JBCenterRequestError &&
|
|
154
|
+
SELF_PAID_FALLBACK_STATUSES.has(error.status)) {
|
|
155
|
+
// The refusal may mean the sponsor already took this intent, so read the
|
|
156
|
+
// intent back and follow whatever sender it now has instead of adding a
|
|
157
|
+
// second one.
|
|
158
|
+
const fresh = await client.getIntent(intent.id, { signal });
|
|
159
|
+
return (existingSender(options, fresh, pollMs, timeoutMs) ??
|
|
160
|
+
runSelfPaid(client, fresh, selfPaid, onStep, signal));
|
|
161
|
+
}
|
|
162
|
+
throw error;
|
|
163
|
+
}
|
|
164
|
+
return pollUntilDeployed(client, { ...intent, deploys }, pollMs, timeoutMs, signal, onStep);
|
|
165
|
+
}
|
|
166
|
+
//# 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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.intentRow = intentRow;
|
|
4
|
+
exports.mergeSearch = mergeSearch;
|
|
5
|
+
exports.intentPath = intentPath;
|
|
6
|
+
exports.deployedChains = deployedChains;
|
|
7
|
+
exports.isFullyDeployed = isFullyDeployed;
|
|
8
|
+
function intentRow(item) {
|
|
9
|
+
const createdAt = Date.parse(item.createdAt);
|
|
10
|
+
return {
|
|
11
|
+
undeployed: true,
|
|
12
|
+
intentId: item.intentId,
|
|
13
|
+
name: item.name,
|
|
14
|
+
tagline: item.tagline,
|
|
15
|
+
logoUri: item.logoUri,
|
|
16
|
+
owner: item.owner,
|
|
17
|
+
chainIds: item.chainIds,
|
|
18
|
+
createdAt: Number.isNaN(createdAt) ? 0 : Math.floor(createdAt / 1000),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/** Deployed rows win ties so a list never reorders once an intent lands. */
|
|
22
|
+
function mergeSearch(rows, items) {
|
|
23
|
+
const entries = [
|
|
24
|
+
...rows.map((value) => ({ value, isRow: true })),
|
|
25
|
+
...items.map((item) => ({ value: intentRow(item), isRow: false })),
|
|
26
|
+
];
|
|
27
|
+
entries.sort((a, b) => {
|
|
28
|
+
if (a.value.createdAt !== b.value.createdAt) {
|
|
29
|
+
return b.value.createdAt - a.value.createdAt;
|
|
30
|
+
}
|
|
31
|
+
if (a.isRow !== b.isRow)
|
|
32
|
+
return a.isRow ? -1 : 1;
|
|
33
|
+
return 0;
|
|
34
|
+
});
|
|
35
|
+
return entries.map((entry) => entry.value);
|
|
36
|
+
}
|
|
37
|
+
function intentPath(intentId) {
|
|
38
|
+
return `/intent/${encodeURIComponent(intentId)}`;
|
|
39
|
+
}
|
|
40
|
+
function deployedChains(intent) {
|
|
41
|
+
const result = {};
|
|
42
|
+
for (const deployment of intent.deployments) {
|
|
43
|
+
result[deployment.chainId] = deployment.projectId;
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
function isFullyDeployed(intent) {
|
|
48
|
+
const deployed = deployedChains(intent);
|
|
49
|
+
return intent.envelope.chainIds.every((chainId) => chainId in deployed);
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../src/jbcenter/merge.ts"],"names":[],"mappings":";;AAkBA,8BAaC;AAGD,kCAoBC;AAED,gCAEC;AAED,wCAUC;AAED,0CAMC;AA5DD,SAAgB,SAAS,CAAC,IAAwB;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE7C,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,SAAgB,WAAW,CACzB,IAAkB,EAClB,KAAoC;IAIpC,MAAM,OAAO,GAAY;QACvB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAS,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAS,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;KAC1E,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAC5C,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,UAAU,CAAC,QAAgB;IACzC,OAAO,WAAW,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,SAAgB,cAAc,CAC5B,MAA0C;IAE1C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;IACpD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,eAAe,CAC7B,MAA0C;IAE1C,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAExC,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;AAC1E,CAAC"}
|
package/dist/cjs/jbcenter.d.ts
CHANGED
|
@@ -26,6 +26,12 @@ export type JBCenterDeploymentCall = {
|
|
|
26
26
|
to: Address;
|
|
27
27
|
data: Hex;
|
|
28
28
|
};
|
|
29
|
+
export type { JBCenterDecodedLaunch } from "./jbcenter/decode.js";
|
|
30
|
+
export { decodeDeploymentCall } from "./jbcenter/decode.js";
|
|
31
|
+
export type { JBCenterIntentRow } from "./jbcenter/merge.js";
|
|
32
|
+
export { deployedChains, intentPath, intentRow, isFullyDeployed, mergeSearch, } from "./jbcenter/merge.js";
|
|
33
|
+
export type { EnsureDeployedOptions, EnsureDeployedStep, } from "./jbcenter/ensureDeployed.js";
|
|
34
|
+
export { EnsureDeployedError, ensureDeployed, } from "./jbcenter/ensureDeployed.js";
|
|
29
35
|
export type JBCenterContractCall<TAbi extends Abi = Abi, TFunctionName extends ContractFunctionName<TAbi, "payable" | "nonpayable"> = ContractFunctionName<TAbi, "payable" | "nonpayable">> = {
|
|
30
36
|
chainId: number;
|
|
31
37
|
address: Address;
|
|
@@ -64,6 +70,15 @@ export type JBCenterDeployment = {
|
|
|
64
70
|
createdAt: string;
|
|
65
71
|
};
|
|
66
72
|
export type JBCenterDeploymentInput = Omit<JBCenterDeployment, "createdAt">;
|
|
73
|
+
export type JBCenterIntentDeploy = {
|
|
74
|
+
chainId: number;
|
|
75
|
+
status: "queued" | "sent" | "confirmed" | "failed";
|
|
76
|
+
transactionHash: Hex | null;
|
|
77
|
+
bundleUuid: string | null;
|
|
78
|
+
error: string | null;
|
|
79
|
+
createdAt: string;
|
|
80
|
+
updatedAt: string;
|
|
81
|
+
};
|
|
67
82
|
export type JBCenterIntent<TJb extends JBCenterJsonObject = JBCenterJsonObject> = JBCenterIntentMetadata & {
|
|
68
83
|
id: string;
|
|
69
84
|
status: "undeployed" | "deployed";
|
|
@@ -73,7 +88,10 @@ export type JBCenterIntent<TJb extends JBCenterJsonObject = JBCenterJsonObject>
|
|
|
73
88
|
signature: Hex;
|
|
74
89
|
createdAt: string;
|
|
75
90
|
deployments: JBCenterDeployment[];
|
|
91
|
+
deploys: JBCenterIntentDeploy[];
|
|
76
92
|
};
|
|
93
|
+
export declare const JBCENTER_SPONSORED_CHAIN_IDS: readonly number[];
|
|
94
|
+
export declare function isSponsorable(chainIds: readonly number[]): boolean;
|
|
77
95
|
export type JBCenterSearchItem = JBCenterIntentMetadata & {
|
|
78
96
|
source: "jbcenter";
|
|
79
97
|
status: "undeployed";
|
|
@@ -139,6 +157,9 @@ export declare class JBCenterClient {
|
|
|
139
157
|
getIntent<TJb extends JBCenterJsonObject = JBCenterJsonObject>(intentId: string, options?: JBCenterRequestOptions): Promise<JBCenterIntent<TJb>>;
|
|
140
158
|
searchIntents(params?: JBCenterSearchParams, options?: JBCenterRequestOptions): Promise<JBCenterSearchPage>;
|
|
141
159
|
recordDeployment(intentId: string, deployment: JBCenterDeploymentInput, options?: JBCenterRequestOptions): Promise<JBCenterDeployment>;
|
|
160
|
+
requestDeploy(intentId: string, options?: JBCenterRequestOptions): Promise<{
|
|
161
|
+
deploys: JBCenterIntentDeploy[];
|
|
162
|
+
}>;
|
|
142
163
|
pinJson(value: JBCenterJsonObject, options?: JBCenterRequestOptions): Promise<JBCenterPin>;
|
|
143
164
|
pinImage(content: Blob, options?: JBCenterRequestOptions & {
|
|
144
165
|
filename?: 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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"}
|