@artblocks/abx-cli 0.1.0-alpha.55 → 0.1.0-alpha.57
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/CHANGELOG.md +25 -0
- package/dist/capabilities.d.ts +25 -1
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +18 -2
- package/dist/capabilities.js.map +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +68 -12
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/service.d.ts.map +1 -1
- package/dist/commands/service.js +12 -1
- package/dist/commands/service.js.map +1 -1
- package/dist/commands/submit-app.d.ts.map +1 -1
- package/dist/commands/submit-app.js +16 -0
- package/dist/commands/submit-app.js.map +1 -1
- package/dist/creator-agent.d.ts +40 -0
- package/dist/creator-agent.d.ts.map +1 -0
- package/dist/creator-agent.js +206 -0
- package/dist/creator-agent.js.map +1 -0
- package/dist/creator-signer.d.ts +23 -0
- package/dist/creator-signer.d.ts.map +1 -0
- package/dist/creator-signer.js +168 -0
- package/dist/creator-signer.js.map +1 -0
- package/dist/deploy-plan.d.ts +2 -2
- package/dist/deploy-plan.d.ts.map +1 -1
- package/dist/flag-allowlists.d.ts +1 -1
- package/dist/flag-allowlists.d.ts.map +1 -1
- package/dist/flag-allowlists.js +1 -0
- package/dist/flag-allowlists.js.map +1 -1
- package/dist/main.js +5 -5
- package/dist/main.js.map +1 -1
- package/dist/ownerops.d.ts +1 -1
- package/dist/ownerops.d.ts.map +1 -1
- package/dist/ownerops.js +21 -2
- package/dist/ownerops.js.map +1 -1
- package/dist/riskgate.d.ts +2 -2
- package/dist/riskgate.d.ts.map +1 -1
- package/dist/riskgate.js +6 -4
- package/dist/riskgate.js.map +1 -1
- package/dist/signer.d.ts +2 -1
- package/dist/signer.d.ts.map +1 -1
- package/dist/signer.js +21 -0
- package/dist/signer.js.map +1 -1
- package/package.json +9 -6
- package/skill/SKILL.md +10 -4
- package/skill/reference/capabilities.md +4 -0
- package/skill/reference/hosting.md +3 -1
- package/skill/reference/operate.md +3 -3
- package/skill/reference/services.md +38 -2
- package/skill/reference/setup.md +21 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @artblocks/abx-cli
|
|
2
2
|
|
|
3
|
+
## 0.1.0-alpha.57
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 5164922: Teach the bundled agent skill to prefer live-advertised gas sponsorship for eligible operations while
|
|
8
|
+
keeping hot-key, browser-wallet, and unsigned signing as first-class choices.
|
|
9
|
+
|
|
10
|
+
## 0.1.0-alpha.56
|
|
11
|
+
|
|
12
|
+
### Minor Changes
|
|
13
|
+
|
|
14
|
+
- ea57f7a: Add provider-neutral remote interface discovery, the ABX Creators account API client, and the Base
|
|
15
|
+
Sepolia creator-wallet `--sponsor` signing lane. A provider catalog may advertise its account and
|
|
16
|
+
wallet interfaces at a separate HTTPS origin without changing existing same-origin remotes.
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- f9ba363: Clarify edition live-supply caps, intentional ERC-721 self-transfer hook callbacks, and OP Stack
|
|
21
|
+
seed-source behavior in the bundled ABX skill.
|
|
22
|
+
- Updated dependencies [ea57f7a]
|
|
23
|
+
- @artblocks/abx-sdk@0.1.0-alpha.42
|
|
24
|
+
- @artblocks/abx-indexer@0.1.0-alpha.43
|
|
25
|
+
- @artblocks/abx-storage@0.1.0-alpha.42
|
|
26
|
+
- @artblocks/abx-token-api@0.1.0-alpha.45
|
|
27
|
+
|
|
3
28
|
## 0.1.0-alpha.55
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
package/dist/capabilities.d.ts
CHANGED
|
@@ -9,11 +9,35 @@ import type { Flags } from './flags.js';
|
|
|
9
9
|
* matrices in prose.
|
|
10
10
|
*/
|
|
11
11
|
export declare const ABX_CAPABILITIES: {
|
|
12
|
-
readonly schemaVersion:
|
|
12
|
+
readonly schemaVersion: 3;
|
|
13
13
|
readonly defaultChain: string;
|
|
14
14
|
readonly chains: readonly import("@artblocks/abx-sdk").ChainSupport[];
|
|
15
15
|
/** Compatibility field for consumers that only need selectable chain keys. */
|
|
16
16
|
readonly supportedChains: readonly string[];
|
|
17
|
+
readonly signingLanes: {
|
|
18
|
+
readonly send: {
|
|
19
|
+
readonly flag: "--send";
|
|
20
|
+
readonly summary: "local environment key pays gas";
|
|
21
|
+
readonly supportLevel: "supported";
|
|
22
|
+
};
|
|
23
|
+
readonly sign: {
|
|
24
|
+
readonly flag: "--sign";
|
|
25
|
+
readonly summary: "connected browser wallet pays gas";
|
|
26
|
+
readonly supportLevel: "supported";
|
|
27
|
+
};
|
|
28
|
+
readonly sponsor: {
|
|
29
|
+
readonly flag: "--sponsor";
|
|
30
|
+
readonly summary: "account-bound ABX creator wallet; ABX Services pays eligible gas";
|
|
31
|
+
readonly supportLevel: "beta";
|
|
32
|
+
readonly chainIds: readonly [84532];
|
|
33
|
+
readonly limits: readonly ["zero value", "3,000,000 gas per transaction", "no direct CREATE", "no staged --onchain-image"];
|
|
34
|
+
};
|
|
35
|
+
readonly unsigned: {
|
|
36
|
+
readonly flag: "--unsigned";
|
|
37
|
+
readonly summary: "print for an external signer";
|
|
38
|
+
readonly supportLevel: "supported";
|
|
39
|
+
};
|
|
40
|
+
};
|
|
17
41
|
readonly deploymentCommands: {
|
|
18
42
|
readonly deploy: {
|
|
19
43
|
readonly artifact: "one static work";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEtC;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;;IAI3B,8EAA8E
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEtC;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;;IAI3B,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuHtE,CAAC;AAEX,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAoClD"}
|
package/dist/capabilities.js
CHANGED
|
@@ -9,11 +9,23 @@ import { CHAIN_SUPPORT, DEFAULT_CHAIN_KEY, KNOWN_CHAIN_KEYS } from '@artblocks/a
|
|
|
9
9
|
* matrices in prose.
|
|
10
10
|
*/
|
|
11
11
|
export const ABX_CAPABILITIES = {
|
|
12
|
-
schemaVersion:
|
|
12
|
+
schemaVersion: 3,
|
|
13
13
|
defaultChain: DEFAULT_CHAIN_KEY,
|
|
14
14
|
chains: CHAIN_SUPPORT,
|
|
15
15
|
/** Compatibility field for consumers that only need selectable chain keys. */
|
|
16
16
|
supportedChains: [...KNOWN_CHAIN_KEYS],
|
|
17
|
+
signingLanes: {
|
|
18
|
+
send: { flag: '--send', summary: 'local environment key pays gas', supportLevel: 'supported' },
|
|
19
|
+
sign: { flag: '--sign', summary: 'connected browser wallet pays gas', supportLevel: 'supported' },
|
|
20
|
+
sponsor: {
|
|
21
|
+
flag: '--sponsor',
|
|
22
|
+
summary: 'account-bound ABX creator wallet; ABX Services pays eligible gas',
|
|
23
|
+
supportLevel: 'beta',
|
|
24
|
+
chainIds: [84_532],
|
|
25
|
+
limits: ['zero value', '3,000,000 gas per transaction', 'no direct CREATE', 'no staged --onchain-image'],
|
|
26
|
+
},
|
|
27
|
+
unsigned: { flag: '--unsigned', summary: 'print for an external signer', supportLevel: 'supported' },
|
|
28
|
+
},
|
|
17
29
|
deploymentCommands: {
|
|
18
30
|
deploy: {
|
|
19
31
|
artifact: 'one static work',
|
|
@@ -125,12 +137,16 @@ export function cmdCapabilities(flags) {
|
|
|
125
137
|
console.log(JSON.stringify(ABX_CAPABILITIES, null, 2));
|
|
126
138
|
return;
|
|
127
139
|
}
|
|
128
|
-
console.log(
|
|
140
|
+
console.log(`ABX capability contract v${ABX_CAPABILITIES.schemaVersion}\n`);
|
|
129
141
|
console.log(`Default chain: ${ABX_CAPABILITIES.defaultChain}`);
|
|
130
142
|
console.log('Networks:');
|
|
131
143
|
for (const chain of ABX_CAPABILITIES.chains) {
|
|
132
144
|
console.log(` ${chain.key} (${chain.chainId}): ${chain.environment} · ${chain.supportLevel} · contracts ${chain.contractStatus}`);
|
|
133
145
|
}
|
|
146
|
+
console.log('Signing lanes:');
|
|
147
|
+
for (const lane of Object.values(ABX_CAPABILITIES.signingLanes)) {
|
|
148
|
+
console.log(` ${lane.flag}: ${lane.summary} · ${lane.supportLevel}`);
|
|
149
|
+
}
|
|
134
150
|
console.log('Native deployment lanes:');
|
|
135
151
|
for (const [name, lane] of Object.entries(ABX_CAPABILITIES.deploymentCommands)) {
|
|
136
152
|
console.log(` ${name}: ${lane.artifact}`);
|
package/dist/capabilities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,KAAK,OAAO,EAMZ,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,YAAY,EAMjB,KAAK,qBAAqB,EAE1B,KAAK,aAAa,EAMlB,KAAK,UAAU,EAoDhB,MAAM,oBAAoB,CAAC;AAY5B,OAAO,EAAC,KAAK,GAAG,EAAqD,MAAM,MAAM,CAAC;AAClF,OAAO,EAGL,KAAK,gBAAgB,EAmBtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAC,KAAK,KAAK,EAA8E,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/deploy.js
CHANGED
|
@@ -34,6 +34,7 @@ import { describeSchema, editionSchemaAdvisory, parseSchemaSpecs } from '../sche
|
|
|
34
34
|
import { parseSeriesTraits } from '../series-traits.js';
|
|
35
35
|
import { decodeOnChainJson } from '../served.js';
|
|
36
36
|
import { openWalletSession, signHotSequence, signTx } from '../signer.js';
|
|
37
|
+
import { assertSponsorConfigured, openSponsoredSession } from '../creator-signer.js';
|
|
37
38
|
// ── plan-object warning capture ──────────────────────────────────────────────────────────────────
|
|
38
39
|
// The structured `--json` plan object (deploy-plan.ts) reports "the warnings the lane raised"
|
|
39
40
|
// alongside every other computed field — but ~400 `warn()` call sites in this file exist purely as
|
|
@@ -689,6 +690,8 @@ export async function cmdDeployBody(flags, serveAfter, emit) {
|
|
|
689
690
|
// for their browser wallet — a signing choke point that ignored the lane it was handed. The demo
|
|
690
691
|
// deploy is a single tx, so the wallet lane works here exactly as it does for `deploy`.
|
|
691
692
|
const lane = laneFromFlags(flags);
|
|
693
|
+
if (lane === 'sponsor')
|
|
694
|
+
assertSponsorConfigured(CHAIN);
|
|
692
695
|
// The cold lane only PRINTS a tx; demo's whole point is to index + serve what it just deployed,
|
|
693
696
|
// and there is nothing to index until someone broadcasts. Refuse the combo instead of doing
|
|
694
697
|
// half the job — `abx deploy --unsigned` is the command for that lane.
|
|
@@ -902,9 +905,9 @@ export async function cmdDeployBody(flags, serveAfter, emit) {
|
|
|
902
905
|
throw new Error('--onchain-image needs --image <path> (the bytes to put on-chain)');
|
|
903
906
|
// On-chain staging is a SEQUENCE (chunk write(s) → the deploy that references the manifest)
|
|
904
907
|
// where each tx's receipt feeds the next, so it can't be signed offline in one run.
|
|
905
|
-
if (lane === 'unsigned') {
|
|
908
|
+
if (lane === 'unsigned' || lane === 'sponsor') {
|
|
906
909
|
throw new Error('Staging an on-chain image (--onchain-image) needs interactive signing — each chunk tx feeds ' +
|
|
907
|
-
"the next
|
|
910
|
+
"the next. Use the hot lane (a funded key) or --sign (browser wallet); --unsigned and the initial --sponsor beta do not stage content.");
|
|
908
911
|
}
|
|
909
912
|
step('Stage on-chain image');
|
|
910
913
|
if (dryRun) {
|
|
@@ -1427,6 +1430,8 @@ export async function cmdDeployOneOfOneEditionBody(flags, emit) {
|
|
|
1427
1430
|
if (editionSize === 1n)
|
|
1428
1431
|
info(copiesOneNote('deploy'));
|
|
1429
1432
|
const lane = laneFromFlags(flags);
|
|
1433
|
+
if (lane === 'sponsor')
|
|
1434
|
+
assertSponsorConfigured(CHAIN);
|
|
1430
1435
|
const dryRun = isDryRun(flags);
|
|
1431
1436
|
const onchainImage = !!flags['onchain-image'];
|
|
1432
1437
|
// Pure flag-combo validation — checked BEFORE any chain read (predict/factory/renderer all touch
|
|
@@ -1436,9 +1441,9 @@ export async function cmdDeployOneOfOneEditionBody(flags, emit) {
|
|
|
1436
1441
|
// every lineage, 721 and edition alike. The wallet lane CAN do it (one session signs the chunk
|
|
1437
1442
|
// writes and the deploy); this edition path was hot-lane-only purely because it lacked that
|
|
1438
1443
|
// session branch, which it now has.
|
|
1439
|
-
if (onchainImage && lane === 'unsigned') {
|
|
1444
|
+
if (onchainImage && (lane === 'unsigned' || lane === 'sponsor')) {
|
|
1440
1445
|
throw new Error('Staging an on-chain image (--onchain-image) needs interactive signing — each chunk tx feeds ' +
|
|
1441
|
-
"the next
|
|
1446
|
+
"the next. Use the hot lane (a funded key) or --sign (browser wallet); --unsigned and the initial --sponsor beta do not stage content.");
|
|
1442
1447
|
}
|
|
1443
1448
|
if (dryRun)
|
|
1444
1449
|
assertPreviewDeployer(flags);
|
|
@@ -1892,6 +1897,8 @@ export async function cmdDeploySeriesBody(flags, emit) {
|
|
|
1892
1897
|
assertPreviewDeployer(flags); // fail fast, before the preview does any work (see cmdDeploy)
|
|
1893
1898
|
assertRealIdentity(flags, { name, symbol, dryRun });
|
|
1894
1899
|
const lane = laneFromFlags(flags);
|
|
1900
|
+
if (lane === 'sponsor')
|
|
1901
|
+
assertSponsorConfigured(CHAIN);
|
|
1895
1902
|
const publicClient = makePublicClient({ chainKey: CHAIN });
|
|
1896
1903
|
// Catch a wrong-network RPC with the clear mismatch message even on dry-run (which still reads
|
|
1897
1904
|
// the chain to predict the address); tolerate an unreachable RPC so an offline preview still works.
|
|
@@ -1912,9 +1919,9 @@ export async function cmdDeploySeriesBody(flags, emit) {
|
|
|
1912
1919
|
// Staging is a SEQUENCE (chunk write(s) → the deploy that references each manifest) where each
|
|
1913
1920
|
// receipt feeds the next, so it can't be signed offline in one pass — reject the cold lane
|
|
1914
1921
|
// up front (same rule as the 1/1's --onchain-image).
|
|
1915
|
-
if (onchainImage && lane === 'unsigned') {
|
|
1922
|
+
if (onchainImage && (lane === 'unsigned' || lane === 'sponsor')) {
|
|
1916
1923
|
throw new Error('Staging on-chain images (--onchain-image) needs interactive signing — each chunk tx feeds ' +
|
|
1917
|
-
"the next
|
|
1924
|
+
"the next. Use the hot lane (a funded key) or --sign (browser wallet); --unsigned and the initial --sponsor beta do not stage content.");
|
|
1918
1925
|
}
|
|
1919
1926
|
// Whole-collection WRITE-cost guard: a set of many small files can still sum to an expensive
|
|
1920
1927
|
// on-chain deploy, so flag the total once, up front. This is a cost signal only — the READ gate is
|
|
@@ -2542,14 +2549,16 @@ export async function cmdDeployEditionImageBody(flags, emit) {
|
|
|
2542
2549
|
assertPreviewDeployer(flags);
|
|
2543
2550
|
assertRealIdentity(flags, { name, symbol, dryRun });
|
|
2544
2551
|
const lane = laneFromFlags(flags);
|
|
2552
|
+
if (lane === 'sponsor')
|
|
2553
|
+
assertSponsorConfigured(CHAIN);
|
|
2545
2554
|
const onchainImage = !!flags['onchain-image'];
|
|
2546
2555
|
const compress = parseCompress(flags.compress);
|
|
2547
2556
|
// Staging is a SEQUENCE (chunk writes → the deploy that references each manifest) where every tx's
|
|
2548
2557
|
// receipt feeds the next, so it can't be signed offline in one run. Refused on the cold lane for the
|
|
2549
2558
|
// same reason on every lineage, 721 and edition alike; hot + wallet both work.
|
|
2550
|
-
if (onchainImage && lane === 'unsigned') {
|
|
2559
|
+
if (onchainImage && (lane === 'unsigned' || lane === 'sponsor')) {
|
|
2551
2560
|
throw new Error('Staging on-chain images (--onchain-image) needs interactive signing — each chunk tx feeds ' +
|
|
2552
|
-
"the next
|
|
2561
|
+
"the next. Use the hot lane (a funded key) or --sign (browser wallet); --unsigned and the initial --sponsor beta do not stage content.");
|
|
2553
2562
|
}
|
|
2554
2563
|
const publicClient = makePublicClient({ chainKey: CHAIN });
|
|
2555
2564
|
await assertChainId(CHAIN, { allowUnreachable: dryRun });
|
|
@@ -3243,7 +3252,7 @@ export const DEPLOY_CODE_FLAGS = new Set([
|
|
|
3243
3252
|
// storage (directory mode) — mirrors storageOverrides()
|
|
3244
3253
|
'backend', 'endpoint', 'bucket', 'region', 'prefix', 'public-base', 'gateway', 'mode', 'api-url', 'upload-url', 'provider', 'storage-signer',
|
|
3245
3254
|
// signing lane + safety + trust anchor ('send' = the default lane, stated explicitly; see SHARED_DEPLOY_FLAGS)
|
|
3246
|
-
'send', 'sign', 'unsigned', 'for', 'salt', 'factory', 'bootstrap-factory', 'sign-url-file',
|
|
3255
|
+
'send', 'sign', 'sponsor', 'unsigned', 'for', 'salt', 'factory', 'bootstrap-factory', 'sign-url-file',
|
|
3247
3256
|
// preview / confirm
|
|
3248
3257
|
'dry-run', 'confirm', 'yes',
|
|
3249
3258
|
'json', // the deployed address as data, narration to stderr
|
|
@@ -3262,13 +3271,14 @@ export const SHARED_DEPLOY_FLAGS = [
|
|
|
3262
3271
|
// these override it when the two should differ. Every deploy path takes them.
|
|
3263
3272
|
'ipfs-gateway', 'arweave-gateway',
|
|
3264
3273
|
// `--send` is the DEFAULT lane, and it is accepted explicitly because every deploy's own help
|
|
3265
|
-
// advertises it by name ("signing: --send hot/env key · --sign wallet page · --
|
|
3274
|
+
// advertises it by name ("signing: --send hot/env key · --sign wallet page · --sponsor
|
|
3275
|
+
// ABX creator wallet · --unsigned print tx").
|
|
3266
3276
|
// It was the one of the three the parser rejected, so a reader who typed what the help showed got
|
|
3267
3277
|
// `unrecognized flag(s): --send` from the guard whose whole job is catching flags that would be
|
|
3268
3278
|
// ignored — the guard firing on the tool's own documentation. Explicit is also better than bare for
|
|
3269
3279
|
// a script or an agent: the lane that signs and sends is worth stating out loud.
|
|
3270
3280
|
'send',
|
|
3271
|
-
'sign', 'unsigned', 'for', 'sign-url-file', 'dry-run', 'confirm', 'yes', 'salt', 'factory', 'bootstrap-factory', 'port', 'renderer', 'public-base-url',
|
|
3281
|
+
'sign', 'sponsor', 'unsigned', 'for', 'sign-url-file', 'dry-run', 'confirm', 'yes', 'salt', 'factory', 'bootstrap-factory', 'port', 'renderer', 'public-base-url',
|
|
3272
3282
|
'721c', // opt-in ERC-721C enrollment (recommended | 0x…) — every deploy path takes it
|
|
3273
3283
|
'json', // the deployed address as data, narration to stderr — every deploy path takes it
|
|
3274
3284
|
];
|
|
@@ -4304,6 +4314,8 @@ export async function cmdDeployCodeBody(flags, emit) {
|
|
|
4304
4314
|
}
|
|
4305
4315
|
step('Deploy');
|
|
4306
4316
|
const lane = laneFromFlags(flags);
|
|
4317
|
+
if (lane === 'sponsor')
|
|
4318
|
+
assertSponsorConfigured(CHAIN);
|
|
4307
4319
|
// --onchain-uri with no explicit public URL: leave the off-chain pointer EMPTY rather than
|
|
4308
4320
|
// baking a misleading localhost (the renderer is authoritative while set) — the same rule as
|
|
4309
4321
|
// the 1/1's on-chain lane. The renderers themselves are set as setup-multicall legs, so the
|
|
@@ -4685,6 +4697,27 @@ export async function cmdDeployCodeBody(flags, emit) {
|
|
|
4685
4697
|
session.close();
|
|
4686
4698
|
}
|
|
4687
4699
|
}
|
|
4700
|
+
else if (lane === 'sponsor') {
|
|
4701
|
+
const session = await openSponsoredSession(CHAIN);
|
|
4702
|
+
try {
|
|
4703
|
+
if (flags.for && String(flags.for).toLowerCase() !== session.address.toLowerCase()) {
|
|
4704
|
+
throw new Error(`The ABX creator wallet ${session.address} is not the required signer ${flags.for}.`);
|
|
4705
|
+
}
|
|
4706
|
+
deployerAddr = session.address;
|
|
4707
|
+
const { clone: predicted, txs } = await preparedFor(session.address);
|
|
4708
|
+
let first;
|
|
4709
|
+
for (const tx of txs) {
|
|
4710
|
+
const sent = await session.send(tx);
|
|
4711
|
+
if (first === undefined)
|
|
4712
|
+
first = sent.receipt.blockNumber;
|
|
4713
|
+
}
|
|
4714
|
+
clone = predicted;
|
|
4715
|
+
deployBlock = first ?? 0n;
|
|
4716
|
+
}
|
|
4717
|
+
finally {
|
|
4718
|
+
session.close();
|
|
4719
|
+
}
|
|
4720
|
+
}
|
|
4688
4721
|
else {
|
|
4689
4722
|
// hot lane: the env key signs the WHOLE sequence (deploy, then the setup multicall that
|
|
4690
4723
|
// targets the clone the deploy just created) through one `makeHotSender` — nonce pinned once,
|
|
@@ -4847,7 +4880,7 @@ export const DEPLOY_CODE_EDITION_FLAGS = new Set([
|
|
|
4847
4880
|
'max', 'mint-count', 'mint-all', 'no-mint', 'mint-amount', 'unpaused', 'minter', 'primary-payee', 'royalty-bps', 'royalty-cap', 'burnable', '721c',
|
|
4848
4881
|
'schema', 'no-seed', 'seed-source',
|
|
4849
4882
|
'public-base-url', 'onchain-uri', 'generator', 'renderer', 'port',
|
|
4850
|
-
'send', 'sign', 'unsigned', 'for', 'salt', 'factory', 'bootstrap-factory', 'sign-url-file',
|
|
4883
|
+
'send', 'sign', 'sponsor', 'unsigned', 'for', 'salt', 'factory', 'bootstrap-factory', 'sign-url-file',
|
|
4851
4884
|
'dry-run', 'confirm', 'yes', 'json', 'copies',
|
|
4852
4885
|
// storage (directory mode + --image-base's off-chain still) — mirrors storageOverrides(), same
|
|
4853
4886
|
// allowlist entries as the 721 twin's DEPLOY_CODE_FLAGS.
|
|
@@ -5185,6 +5218,8 @@ export async function cmdDeployEditionCodeBody(flags, emit) {
|
|
|
5185
5218
|
const onchainUriLegs = onChainUri ? onchainUriSetupCalls({ generator, metadataRenderer }) : [];
|
|
5186
5219
|
step('Deploy');
|
|
5187
5220
|
const lane = laneFromFlags(flags);
|
|
5221
|
+
if (lane === 'sponsor')
|
|
5222
|
+
assertSponsorConfigured(CHAIN);
|
|
5188
5223
|
const minter = flags.minter ?? zeroAddress;
|
|
5189
5224
|
const primaryPayee = flags['primary-payee'] ?? zeroAddress;
|
|
5190
5225
|
const explicitSalt = parseSaltFlag(flags.salt);
|
|
@@ -5395,6 +5430,27 @@ export async function cmdDeployEditionCodeBody(flags, emit) {
|
|
|
5395
5430
|
session.close();
|
|
5396
5431
|
}
|
|
5397
5432
|
}
|
|
5433
|
+
else if (lane === 'sponsor') {
|
|
5434
|
+
const session = await openSponsoredSession(CHAIN);
|
|
5435
|
+
try {
|
|
5436
|
+
if (flags.for && String(flags.for).toLowerCase() !== session.address.toLowerCase()) {
|
|
5437
|
+
throw new Error(`The ABX creator wallet ${session.address} is not the required signer ${flags.for}.`);
|
|
5438
|
+
}
|
|
5439
|
+
deployerAddr = session.address;
|
|
5440
|
+
const { clone: predicted, txs } = await preparedFor(session.address);
|
|
5441
|
+
let first;
|
|
5442
|
+
for (const tx of txs) {
|
|
5443
|
+
const sent = await session.send(tx);
|
|
5444
|
+
if (first === undefined)
|
|
5445
|
+
first = sent.receipt.blockNumber;
|
|
5446
|
+
}
|
|
5447
|
+
clone = predicted;
|
|
5448
|
+
deployBlock = first ?? 0n;
|
|
5449
|
+
}
|
|
5450
|
+
finally {
|
|
5451
|
+
session.close();
|
|
5452
|
+
}
|
|
5453
|
+
}
|
|
5398
5454
|
else {
|
|
5399
5455
|
const { account } = makeWalletClient({ chainKey: CHAIN });
|
|
5400
5456
|
deployerAddr = account.address;
|