@ar.io/deploy 0.1.0-alpha.20260610213851.5857f96
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/LICENSE +21 -0
- package/README.md +753 -0
- package/bin/dev.js +5 -0
- package/bin/run.js +5 -0
- package/dist/chunks/cache-C1tEeUx2.js +6 -0
- package/dist/chunks/cache-C1tEeUx2.js.map +1 -0
- package/dist/chunks/display-DRcjDj9k.js +104 -0
- package/dist/chunks/display-DRcjDj9k.js.map +1 -0
- package/dist/chunks/upload-workflow-DSS5FIa5.js +204 -0
- package/dist/chunks/upload-workflow-DSS5FIa5.js.map +1 -0
- package/dist/chunks/uploader-B2tC-1Qw.js +472 -0
- package/dist/chunks/uploader-B2tC-1Qw.js.map +1 -0
- package/dist/commands/deploy.js +238 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/upload.js +126 -0
- package/dist/commands/upload.js.map +1 -0
- package/dist/constants/flags.js +268 -0
- package/dist/constants/flags.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/arns.js +86 -0
- package/dist/prompts/arns.js.map +1 -0
- package/dist/prompts/deployment.js +27 -0
- package/dist/prompts/deployment.js.map +1 -0
- package/dist/prompts/wallet.js +55 -0
- package/dist/prompts/wallet.js.map +1 -0
- package/dist/src/commands/deploy.d.ts +9 -0
- package/dist/src/commands/deploy.d.ts.map +1 -0
- package/dist/src/commands/upload.d.ts +9 -0
- package/dist/src/commands/upload.d.ts.map +1 -0
- package/dist/src/constants/cache.d.ts +4 -0
- package/dist/src/constants/cache.d.ts.map +1 -0
- package/dist/src/constants/flags.d.ts +132 -0
- package/dist/src/constants/flags.d.ts.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/prompts/arns.d.ts +14 -0
- package/dist/src/prompts/arns.d.ts.map +1 -0
- package/dist/src/prompts/deployment.d.ts +6 -0
- package/dist/src/prompts/deployment.d.ts.map +1 -0
- package/dist/src/prompts/wallet.d.ts +26 -0
- package/dist/src/prompts/wallet.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +31 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/utils/__tests__/cache.test.d.ts +2 -0
- package/dist/src/utils/__tests__/cache.test.d.ts.map +1 -0
- package/dist/src/utils/__tests__/constants.test.d.ts +2 -0
- package/dist/src/utils/__tests__/constants.test.d.ts.map +1 -0
- package/dist/src/utils/__tests__/display.test.d.ts +2 -0
- package/dist/src/utils/__tests__/display.test.d.ts.map +1 -0
- package/dist/src/utils/cache.d.ts +48 -0
- package/dist/src/utils/cache.d.ts.map +1 -0
- package/dist/src/utils/chalk.d.ts +9 -0
- package/dist/src/utils/chalk.d.ts.map +1 -0
- package/dist/src/utils/config-resolver.d.ts +72 -0
- package/dist/src/utils/config-resolver.d.ts.map +1 -0
- package/dist/src/utils/constants.d.ts +4 -0
- package/dist/src/utils/constants.d.ts.map +1 -0
- package/dist/src/utils/deploy-key.d.ts +15 -0
- package/dist/src/utils/deploy-key.d.ts.map +1 -0
- package/dist/src/utils/display.d.ts +7 -0
- package/dist/src/utils/display.d.ts.map +1 -0
- package/dist/src/utils/path.d.ts +5 -0
- package/dist/src/utils/path.d.ts.map +1 -0
- package/dist/src/utils/signer.d.ts +19 -0
- package/dist/src/utils/signer.d.ts.map +1 -0
- package/dist/src/utils/solana.d.ts +29 -0
- package/dist/src/utils/solana.d.ts.map +1 -0
- package/dist/src/utils/upload-types.d.ts +35 -0
- package/dist/src/utils/upload-types.d.ts.map +1 -0
- package/dist/src/utils/uploader.d.ts +50 -0
- package/dist/src/utils/uploader.d.ts.map +1 -0
- package/dist/src/utils/validators.d.ts +21 -0
- package/dist/src/utils/validators.d.ts.map +1 -0
- package/dist/src/workflows/upload-workflow.d.ts +28 -0
- package/dist/src/workflows/upload-workflow.d.ts.map +1 -0
- package/dist/tests/constants.d.ts +11 -0
- package/dist/tests/constants.d.ts.map +1 -0
- package/dist/tests/e2e/deploy-command.test.d.ts +2 -0
- package/dist/tests/e2e/deploy-command.test.d.ts.map +1 -0
- package/dist/tests/global-setup.d.ts +6 -0
- package/dist/tests/global-setup.d.ts.map +1 -0
- package/dist/tests/mocks/turbo-handlers.d.ts +106 -0
- package/dist/tests/mocks/turbo-handlers.d.ts.map +1 -0
- package/dist/tests/setup.d.ts +11 -0
- package/dist/tests/setup.d.ts.map +1 -0
- package/dist/tests/types/payment-service.d.ts +218 -0
- package/dist/tests/types/payment-service.d.ts.map +1 -0
- package/dist/tests/types/upload-service.d.ts +168 -0
- package/dist/tests/types/upload-service.d.ts.map +1 -0
- package/dist/tests/unit/deploy-key.test.d.ts +2 -0
- package/dist/tests/unit/deploy-key.test.d.ts.map +1 -0
- package/dist/tests/unit/signer.test.d.ts +2 -0
- package/dist/tests/unit/signer.test.d.ts.map +1 -0
- package/dist/tests/unit/solana.test.d.ts +2 -0
- package/dist/tests/unit/solana.test.d.ts.map +1 -0
- package/dist/tests/unit/uploader-tags.test.d.ts +2 -0
- package/dist/tests/unit/uploader-tags.test.d.ts.map +1 -0
- package/dist/tests/unit/validators.test.d.ts +2 -0
- package/dist/tests/unit/validators.test.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/config-resolver.js +39 -0
- package/dist/utils/config-resolver.js.map +1 -0
- package/dist/utils/constants.js +6 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/path.js +15 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/utils/signer.js +45 -0
- package/dist/utils/signer.js.map +1 -0
- package/dist/utils/uploader.js +5 -0
- package/dist/utils/uploader.js.map +1 -0
- package/dist/utils/validators.js +43 -0
- package/dist/utils/validators.js.map +1 -0
- package/dist/workflows/upload-workflow.js +9 -0
- package/dist/workflows/upload-workflow.js.map +1 -0
- package/package.json +111 -0
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { promptCluster, promptArnsName } from '../prompts/arns.js';
|
|
3
|
+
import { promptDeployTarget } from '../prompts/deployment.js';
|
|
4
|
+
import { promptSignerType } from '../prompts/wallet.js';
|
|
5
|
+
import { createFlagConfig } from '../utils/config-resolver.js';
|
|
6
|
+
import { TTL_MIN, TTL_MAX } from '../utils/constants.js';
|
|
7
|
+
import { validateFileExists, validateUndername, validateFolderExists, validateTtl } from '../utils/validators.js';
|
|
8
|
+
import { D as DEFAULT_CACHE_MAX_ENTRIES } from '../chunks/cache-C1tEeUx2.js';
|
|
9
|
+
|
|
10
|
+
const globalFlags = {
|
|
11
|
+
arnsName: createFlagConfig({
|
|
12
|
+
flag: Flags.string({
|
|
13
|
+
char: "n",
|
|
14
|
+
description: "The ArNS name to deploy to",
|
|
15
|
+
required: false
|
|
16
|
+
}),
|
|
17
|
+
prompt: promptArnsName,
|
|
18
|
+
triggersInteractive: true
|
|
19
|
+
}),
|
|
20
|
+
arnsPrivateKey: createFlagConfig({
|
|
21
|
+
flag: Flags.string({
|
|
22
|
+
description: "ArNS authority key: base58 Solana secret key that controls the ArNS name and signs the record update (alternative to --arns-wallet). Falls back to the ARNS_KEY env var. This is separate from the upload key.",
|
|
23
|
+
exclusive: ["arns-wallet"],
|
|
24
|
+
required: false
|
|
25
|
+
})
|
|
26
|
+
}),
|
|
27
|
+
arnsWallet: createFlagConfig({
|
|
28
|
+
flag: Flags.string({
|
|
29
|
+
description: "ArNS authority key: path to the Solana wallet file (solana-keygen id.json) that controls the ArNS name and signs the record update. Falls back to the ARNS_KEY env var. This is separate from the upload key.",
|
|
30
|
+
exclusive: ["arns-private-key"],
|
|
31
|
+
async parse(input) {
|
|
32
|
+
const validation = validateFileExists(input);
|
|
33
|
+
if (validation !== true) {
|
|
34
|
+
throw new Error(validation);
|
|
35
|
+
}
|
|
36
|
+
return input;
|
|
37
|
+
},
|
|
38
|
+
required: false
|
|
39
|
+
})
|
|
40
|
+
}),
|
|
41
|
+
cluster: createFlagConfig({
|
|
42
|
+
flag: Flags.string({
|
|
43
|
+
char: "p",
|
|
44
|
+
default: "mainnet",
|
|
45
|
+
description: "Solana cluster for ArNS updates (mainnet or devnet)",
|
|
46
|
+
options: ["mainnet", "devnet"],
|
|
47
|
+
required: false
|
|
48
|
+
}),
|
|
49
|
+
prompt: promptCluster
|
|
50
|
+
}),
|
|
51
|
+
dedupeCacheMaxEntries: createFlagConfig({
|
|
52
|
+
flag: Flags.integer({
|
|
53
|
+
default: DEFAULT_CACHE_MAX_ENTRIES,
|
|
54
|
+
description: "Maximum number of entries to keep in the dedupe cache (LRU)",
|
|
55
|
+
min: 0,
|
|
56
|
+
required: false
|
|
57
|
+
})
|
|
58
|
+
}),
|
|
59
|
+
deployFile: createFlagConfig({
|
|
60
|
+
flag: Flags.string({
|
|
61
|
+
char: "f",
|
|
62
|
+
description: "File to deploy (overrides deploy-folder)",
|
|
63
|
+
async parse(input) {
|
|
64
|
+
const validation = validateFileExists(input);
|
|
65
|
+
if (validation !== true) {
|
|
66
|
+
throw new Error(validation);
|
|
67
|
+
}
|
|
68
|
+
return input;
|
|
69
|
+
},
|
|
70
|
+
required: false
|
|
71
|
+
}),
|
|
72
|
+
async prompt() {
|
|
73
|
+
const target = await promptDeployTarget();
|
|
74
|
+
return target.type === "file" ? target.path : void 0;
|
|
75
|
+
}
|
|
76
|
+
}),
|
|
77
|
+
deployFolder: createFlagConfig({
|
|
78
|
+
flag: Flags.string({
|
|
79
|
+
char: "d",
|
|
80
|
+
default: "./dist",
|
|
81
|
+
description: "Folder to deploy",
|
|
82
|
+
async parse(input) {
|
|
83
|
+
const validation = validateFolderExists(input);
|
|
84
|
+
if (validation !== true) {
|
|
85
|
+
throw new Error(validation);
|
|
86
|
+
}
|
|
87
|
+
return input;
|
|
88
|
+
},
|
|
89
|
+
required: false
|
|
90
|
+
}),
|
|
91
|
+
async prompt() {
|
|
92
|
+
const target = await promptDeployTarget();
|
|
93
|
+
return target.type === "folder" ? target.path : "./dist";
|
|
94
|
+
}
|
|
95
|
+
}),
|
|
96
|
+
// Advanced payment settings
|
|
97
|
+
maxTokenAmount: createFlagConfig({
|
|
98
|
+
flag: Flags.string({
|
|
99
|
+
description: "Maximum token amount for on-demand payment",
|
|
100
|
+
required: false
|
|
101
|
+
})
|
|
102
|
+
}),
|
|
103
|
+
noDedupe: createFlagConfig({
|
|
104
|
+
flag: Flags.boolean({
|
|
105
|
+
default: false,
|
|
106
|
+
description: "Disable deduplication (do not cache or reuse previous uploads)",
|
|
107
|
+
required: false
|
|
108
|
+
})
|
|
109
|
+
}),
|
|
110
|
+
onDemand: createFlagConfig({
|
|
111
|
+
flag: Flags.string({
|
|
112
|
+
description: "Enable on-demand payment with specified token (ario or base-eth)",
|
|
113
|
+
options: ["ario", "base-eth"],
|
|
114
|
+
required: false
|
|
115
|
+
})
|
|
116
|
+
}),
|
|
117
|
+
privateKey: createFlagConfig({
|
|
118
|
+
flag: Flags.string({
|
|
119
|
+
char: "k",
|
|
120
|
+
description: "Upload key (pays for the upload): private key string, alternative to --wallet. JWK JSON for Arweave, hex for EVM chains, base58 secret key for Solana.",
|
|
121
|
+
exclusive: ["wallet"],
|
|
122
|
+
required: false
|
|
123
|
+
})
|
|
124
|
+
}),
|
|
125
|
+
rpcUrl: createFlagConfig({
|
|
126
|
+
flag: Flags.string({
|
|
127
|
+
description: "Optional Solana RPC URL override for ArNS updates",
|
|
128
|
+
required: false
|
|
129
|
+
})
|
|
130
|
+
}),
|
|
131
|
+
sigType: createFlagConfig({
|
|
132
|
+
flag: Flags.string({
|
|
133
|
+
char: "s",
|
|
134
|
+
default: "arweave",
|
|
135
|
+
description: "Signer type for the upload key (pays for the upload).",
|
|
136
|
+
options: ["arweave", "ethereum", "polygon", "kyve", "solana"],
|
|
137
|
+
required: false
|
|
138
|
+
}),
|
|
139
|
+
prompt: promptSignerType
|
|
140
|
+
}),
|
|
141
|
+
ttlSeconds: createFlagConfig({
|
|
142
|
+
flag: Flags.string({
|
|
143
|
+
char: "t",
|
|
144
|
+
default: "60",
|
|
145
|
+
description: `ArNS TTL in seconds (${TTL_MIN}-${TTL_MAX})`,
|
|
146
|
+
async parse(input) {
|
|
147
|
+
const validation = validateTtl(input);
|
|
148
|
+
if (validation !== true) {
|
|
149
|
+
throw new Error(validation);
|
|
150
|
+
}
|
|
151
|
+
return input;
|
|
152
|
+
},
|
|
153
|
+
required: false
|
|
154
|
+
})
|
|
155
|
+
}),
|
|
156
|
+
undername: createFlagConfig({
|
|
157
|
+
flag: Flags.string({
|
|
158
|
+
char: "u",
|
|
159
|
+
default: "@",
|
|
160
|
+
description: "ANT undername to update",
|
|
161
|
+
async parse(input) {
|
|
162
|
+
const validation = validateUndername(input);
|
|
163
|
+
if (validation !== true) {
|
|
164
|
+
throw new Error(validation);
|
|
165
|
+
}
|
|
166
|
+
return input;
|
|
167
|
+
},
|
|
168
|
+
required: false
|
|
169
|
+
})
|
|
170
|
+
}),
|
|
171
|
+
uploader: createFlagConfig({
|
|
172
|
+
flag: Flags.string({
|
|
173
|
+
description: "Custom Turbo upload service base URL. Omit for ArDrive production: https://upload.ardrive.io.",
|
|
174
|
+
required: false
|
|
175
|
+
})
|
|
176
|
+
}),
|
|
177
|
+
useArns: createFlagConfig({
|
|
178
|
+
flag: Flags.boolean({
|
|
179
|
+
default: false,
|
|
180
|
+
description: "Update an ArNS/ANT record after upload.",
|
|
181
|
+
required: false
|
|
182
|
+
})
|
|
183
|
+
}),
|
|
184
|
+
wallet: createFlagConfig({
|
|
185
|
+
flag: Flags.string({
|
|
186
|
+
char: "w",
|
|
187
|
+
description: "Upload key (pays for the upload): path to wallet file. JWK for Arweave, private key for EVM chains, solana-keygen id.json for Solana.",
|
|
188
|
+
exclusive: ["private-key"],
|
|
189
|
+
async parse(input) {
|
|
190
|
+
const validation = validateFileExists(input);
|
|
191
|
+
if (validation !== true) {
|
|
192
|
+
throw new Error(validation);
|
|
193
|
+
}
|
|
194
|
+
return input;
|
|
195
|
+
},
|
|
196
|
+
required: false
|
|
197
|
+
})
|
|
198
|
+
})
|
|
199
|
+
};
|
|
200
|
+
const deployFlags = {
|
|
201
|
+
"arns-name": globalFlags.arnsName.flag,
|
|
202
|
+
"arns-private-key": globalFlags.arnsPrivateKey.flag,
|
|
203
|
+
"arns-wallet": globalFlags.arnsWallet.flag,
|
|
204
|
+
cluster: globalFlags.cluster.flag,
|
|
205
|
+
"dedupe-cache-max-entries": globalFlags.dedupeCacheMaxEntries.flag,
|
|
206
|
+
"deploy-file": globalFlags.deployFile.flag,
|
|
207
|
+
"deploy-folder": globalFlags.deployFolder.flag,
|
|
208
|
+
"max-token-amount": globalFlags.maxTokenAmount.flag,
|
|
209
|
+
"no-dedupe": globalFlags.noDedupe.flag,
|
|
210
|
+
"on-demand": globalFlags.onDemand.flag,
|
|
211
|
+
"private-key": globalFlags.privateKey.flag,
|
|
212
|
+
"rpc-url": globalFlags.rpcUrl.flag,
|
|
213
|
+
"sig-type": globalFlags.sigType.flag,
|
|
214
|
+
"ttl-seconds": globalFlags.ttlSeconds.flag,
|
|
215
|
+
undername: globalFlags.undername.flag,
|
|
216
|
+
uploader: globalFlags.uploader.flag,
|
|
217
|
+
"use-arns": globalFlags.useArns.flag,
|
|
218
|
+
wallet: globalFlags.wallet.flag
|
|
219
|
+
};
|
|
220
|
+
const arnsFlags = {
|
|
221
|
+
"arns-name": globalFlags.arnsName.flag,
|
|
222
|
+
"arns-private-key": globalFlags.arnsPrivateKey.flag,
|
|
223
|
+
"arns-wallet": globalFlags.arnsWallet.flag,
|
|
224
|
+
cluster: globalFlags.cluster.flag,
|
|
225
|
+
"rpc-url": globalFlags.rpcUrl.flag,
|
|
226
|
+
"ttl-seconds": globalFlags.ttlSeconds.flag,
|
|
227
|
+
undername: globalFlags.undername.flag
|
|
228
|
+
};
|
|
229
|
+
const walletFlags = {
|
|
230
|
+
"private-key": globalFlags.privateKey.flag,
|
|
231
|
+
"sig-type": globalFlags.sigType.flag,
|
|
232
|
+
wallet: globalFlags.wallet.flag
|
|
233
|
+
};
|
|
234
|
+
const deployFlagConfigs = {
|
|
235
|
+
"arns-name": globalFlags.arnsName,
|
|
236
|
+
"arns-private-key": globalFlags.arnsPrivateKey,
|
|
237
|
+
"arns-wallet": globalFlags.arnsWallet,
|
|
238
|
+
cluster: globalFlags.cluster,
|
|
239
|
+
"dedupe-cache-max-entries": globalFlags.dedupeCacheMaxEntries,
|
|
240
|
+
"deploy-file": globalFlags.deployFile,
|
|
241
|
+
"deploy-folder": globalFlags.deployFolder,
|
|
242
|
+
"max-token-amount": globalFlags.maxTokenAmount,
|
|
243
|
+
"no-dedupe": globalFlags.noDedupe,
|
|
244
|
+
"on-demand": globalFlags.onDemand,
|
|
245
|
+
"private-key": globalFlags.privateKey,
|
|
246
|
+
"rpc-url": globalFlags.rpcUrl,
|
|
247
|
+
"sig-type": globalFlags.sigType,
|
|
248
|
+
"ttl-seconds": globalFlags.ttlSeconds,
|
|
249
|
+
undername: globalFlags.undername,
|
|
250
|
+
uploader: globalFlags.uploader,
|
|
251
|
+
"use-arns": globalFlags.useArns,
|
|
252
|
+
wallet: globalFlags.wallet
|
|
253
|
+
};
|
|
254
|
+
const uploadFlagConfigs = {
|
|
255
|
+
"dedupe-cache-max-entries": globalFlags.dedupeCacheMaxEntries,
|
|
256
|
+
"deploy-file": globalFlags.deployFile,
|
|
257
|
+
"deploy-folder": globalFlags.deployFolder,
|
|
258
|
+
"max-token-amount": globalFlags.maxTokenAmount,
|
|
259
|
+
"no-dedupe": globalFlags.noDedupe,
|
|
260
|
+
"on-demand": globalFlags.onDemand,
|
|
261
|
+
"private-key": globalFlags.privateKey,
|
|
262
|
+
"sig-type": globalFlags.sigType,
|
|
263
|
+
uploader: globalFlags.uploader,
|
|
264
|
+
wallet: globalFlags.wallet
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
export { arnsFlags, deployFlagConfigs, deployFlags, globalFlags, uploadFlagConfigs, walletFlags };
|
|
268
|
+
//# sourceMappingURL=flags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flags.js","sources":["../../src/constants/flags.ts"],"sourcesContent":["import { Flags } from '@oclif/core'\n\nimport { promptArnsName, promptCluster } from '../prompts/arns.js'\nimport { promptDeployTarget } from '../prompts/deployment.js'\nimport { promptSignerType } from '../prompts/wallet.js'\nimport { createFlagConfig, type ResolvedConfig } from '../utils/config-resolver.js'\nimport { TTL_MAX, TTL_MIN } from '../utils/constants.js'\nimport {\n validateFileExists,\n validateFolderExists,\n validateTtl,\n validateUndername,\n} from '../utils/validators.js'\nimport { DEFAULT_CACHE_MAX_ENTRIES } from './cache.js'\n\n/**\n * Global flag definitions - single source of truth for all flags\n * Each flag includes its oclif definition and optional prompt function\n */\nexport const globalFlags = {\n arnsName: createFlagConfig<string>({\n flag: Flags.string({\n char: 'n',\n description: 'The ArNS name to deploy to',\n required: false,\n }),\n prompt: promptArnsName,\n triggersInteractive: true,\n }),\n arnsPrivateKey: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description:\n 'ArNS authority key: base58 Solana secret key that controls the ArNS name and signs the record update (alternative to --arns-wallet). Falls back to the ARNS_KEY env var. This is separate from the upload key.',\n exclusive: ['arns-wallet'],\n required: false,\n }),\n }),\n arnsWallet: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description:\n 'ArNS authority key: path to the Solana wallet file (solana-keygen id.json) that controls the ArNS name and signs the record update. Falls back to the ARNS_KEY env var. This is separate from the upload key.',\n exclusive: ['arns-private-key'],\n async parse(input) {\n const validation = validateFileExists(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n }),\n cluster: createFlagConfig<string>({\n flag: Flags.string({\n char: 'p',\n default: 'mainnet',\n description: 'Solana cluster for ArNS updates (mainnet or devnet)',\n options: ['mainnet', 'devnet'],\n required: false,\n }),\n prompt: promptCluster,\n }),\n dedupeCacheMaxEntries: createFlagConfig<number>({\n flag: Flags.integer({\n default: DEFAULT_CACHE_MAX_ENTRIES,\n description: 'Maximum number of entries to keep in the dedupe cache (LRU)',\n min: 0,\n required: false,\n }),\n }),\n deployFile: createFlagConfig<string | undefined>({\n flag: Flags.string({\n char: 'f',\n description: 'File to deploy (overrides deploy-folder)',\n async parse(input) {\n const validation = validateFileExists(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n async prompt() {\n const target = await promptDeployTarget()\n return target.type === 'file' ? target.path : undefined\n },\n }),\n deployFolder: createFlagConfig<string>({\n flag: Flags.string({\n char: 'd',\n default: './dist',\n description: 'Folder to deploy',\n async parse(input) {\n const validation = validateFolderExists(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n async prompt() {\n const target = await promptDeployTarget()\n return target.type === 'folder' ? target.path : './dist'\n },\n }),\n // Advanced payment settings\n maxTokenAmount: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description: 'Maximum token amount for on-demand payment',\n required: false,\n }),\n }),\n noDedupe: createFlagConfig<boolean>({\n flag: Flags.boolean({\n default: false,\n description: 'Disable deduplication (do not cache or reuse previous uploads)',\n required: false,\n }),\n }),\n onDemand: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description: 'Enable on-demand payment with specified token (ario or base-eth)',\n options: ['ario', 'base-eth'],\n required: false,\n }),\n }),\n privateKey: createFlagConfig<string | undefined>({\n flag: Flags.string({\n char: 'k',\n description:\n 'Upload key (pays for the upload): private key string, alternative to --wallet. JWK JSON for Arweave, hex for EVM chains, base58 secret key for Solana.',\n exclusive: ['wallet'],\n required: false,\n }),\n }),\n rpcUrl: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description: 'Optional Solana RPC URL override for ArNS updates',\n required: false,\n }),\n }),\n sigType: createFlagConfig<string>({\n flag: Flags.string({\n char: 's',\n default: 'arweave',\n description: 'Signer type for the upload key (pays for the upload).',\n options: ['arweave', 'ethereum', 'polygon', 'kyve', 'solana'],\n required: false,\n }),\n prompt: promptSignerType,\n }),\n ttlSeconds: createFlagConfig<string>({\n flag: Flags.string({\n char: 't',\n default: '60',\n description: `ArNS TTL in seconds (${TTL_MIN}-${TTL_MAX})`,\n async parse(input) {\n const validation = validateTtl(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n }),\n undername: createFlagConfig<string>({\n flag: Flags.string({\n char: 'u',\n default: '@',\n description: 'ANT undername to update',\n async parse(input) {\n const validation = validateUndername(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n }),\n uploader: createFlagConfig<string | undefined>({\n flag: Flags.string({\n description:\n 'Custom Turbo upload service base URL. Omit for ArDrive production: https://upload.ardrive.io.',\n required: false,\n }),\n }),\n useArns: createFlagConfig<boolean>({\n flag: Flags.boolean({\n default: false,\n description: 'Update an ArNS/ANT record after upload.',\n required: false,\n }),\n }),\n wallet: createFlagConfig<string | undefined>({\n flag: Flags.string({\n char: 'w',\n description:\n 'Upload key (pays for the upload): path to wallet file. JWK for Arweave, private key for EVM chains, solana-keygen id.json for Solana.',\n exclusive: ['private-key'],\n async parse(input) {\n const validation = validateFileExists(input)\n if (validation !== true) {\n throw new Error(validation)\n }\n\n return input\n },\n required: false,\n }),\n }),\n}\n\n/**\n * Complete set of flags for the deploy command\n */\nexport const deployFlags = {\n 'arns-name': globalFlags.arnsName.flag,\n 'arns-private-key': globalFlags.arnsPrivateKey.flag,\n 'arns-wallet': globalFlags.arnsWallet.flag,\n cluster: globalFlags.cluster.flag,\n 'dedupe-cache-max-entries': globalFlags.dedupeCacheMaxEntries.flag,\n 'deploy-file': globalFlags.deployFile.flag,\n 'deploy-folder': globalFlags.deployFolder.flag,\n 'max-token-amount': globalFlags.maxTokenAmount.flag,\n 'no-dedupe': globalFlags.noDedupe.flag,\n 'on-demand': globalFlags.onDemand.flag,\n 'private-key': globalFlags.privateKey.flag,\n 'rpc-url': globalFlags.rpcUrl.flag,\n 'sig-type': globalFlags.sigType.flag,\n 'ttl-seconds': globalFlags.ttlSeconds.flag,\n undername: globalFlags.undername.flag,\n uploader: globalFlags.uploader.flag,\n 'use-arns': globalFlags.useArns.flag,\n wallet: globalFlags.wallet.flag,\n}\n\n/**\n * ArNS-specific flags (subset of deploy flags)\n */\nexport const arnsFlags = {\n 'arns-name': globalFlags.arnsName.flag,\n 'arns-private-key': globalFlags.arnsPrivateKey.flag,\n 'arns-wallet': globalFlags.arnsWallet.flag,\n cluster: globalFlags.cluster.flag,\n 'rpc-url': globalFlags.rpcUrl.flag,\n 'ttl-seconds': globalFlags.ttlSeconds.flag,\n undername: globalFlags.undername.flag,\n}\n\n/**\n * Wallet/authentication flags (subset of deploy flags)\n */\nexport const walletFlags = {\n 'private-key': globalFlags.privateKey.flag,\n 'sig-type': globalFlags.sigType.flag,\n wallet: globalFlags.wallet.flag,\n}\n\n/**\n * Deploy command configuration type\n */\nexport interface DeployConfig {\n 'arns-name'?: string\n 'arns-private-key'?: string\n 'arns-wallet'?: string\n cluster: string\n 'dedupe-cache-max-entries': number\n 'deploy-file'?: string\n 'deploy-folder': string\n 'max-token-amount'?: string\n 'no-dedupe': boolean\n 'on-demand'?: string\n 'private-key'?: string\n 'rpc-url'?: string\n 'sig-type': string\n 'ttl-seconds': string\n undername: string\n 'use-arns': boolean\n uploader?: string\n wallet?: string\n}\n\n/**\n * Deploy command flag configurations\n * Maps kebab-case flag names to their camelCase globalFlags definitions\n */\nexport const deployFlagConfigs = {\n 'arns-name': globalFlags.arnsName,\n 'arns-private-key': globalFlags.arnsPrivateKey,\n 'arns-wallet': globalFlags.arnsWallet,\n cluster: globalFlags.cluster,\n 'dedupe-cache-max-entries': globalFlags.dedupeCacheMaxEntries,\n 'deploy-file': globalFlags.deployFile,\n 'deploy-folder': globalFlags.deployFolder,\n 'max-token-amount': globalFlags.maxTokenAmount,\n 'no-dedupe': globalFlags.noDedupe,\n 'on-demand': globalFlags.onDemand,\n 'private-key': globalFlags.privateKey,\n 'rpc-url': globalFlags.rpcUrl,\n 'sig-type': globalFlags.sigType,\n 'ttl-seconds': globalFlags.ttlSeconds,\n undername: globalFlags.undername,\n uploader: globalFlags.uploader,\n 'use-arns': globalFlags.useArns,\n wallet: globalFlags.wallet,\n} as const\n\n/**\n * Upload command — file/folder to Arweave via Turbo without updating ArNS\n */\nexport const uploadFlagConfigs = {\n 'dedupe-cache-max-entries': globalFlags.dedupeCacheMaxEntries,\n 'deploy-file': globalFlags.deployFile,\n 'deploy-folder': globalFlags.deployFolder,\n 'max-token-amount': globalFlags.maxTokenAmount,\n 'no-dedupe': globalFlags.noDedupe,\n 'on-demand': globalFlags.onDemand,\n 'private-key': globalFlags.privateKey,\n 'sig-type': globalFlags.sigType,\n uploader: globalFlags.uploader,\n wallet: globalFlags.wallet,\n} as const\n\nexport type UploadConfig = ResolvedConfig<typeof uploadFlagConfigs>\n"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { select, input, confirm } from '@inquirer/prompts';
|
|
2
|
+
import { validateArnsName, validateTtl } from '../utils/validators.js';
|
|
3
|
+
|
|
4
|
+
async function promptUpdateArns() {
|
|
5
|
+
return confirm({
|
|
6
|
+
default: true,
|
|
7
|
+
message: "Update an ArNS name after upload?"
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
async function promptArnsName() {
|
|
11
|
+
return input({
|
|
12
|
+
message: "Enter your ArNS name:",
|
|
13
|
+
required: true,
|
|
14
|
+
validate: validateArnsName
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
async function promptUndername() {
|
|
18
|
+
return input({
|
|
19
|
+
default: "@",
|
|
20
|
+
message: "Enter undername (subdomain):"
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async function promptTtl() {
|
|
24
|
+
return input({
|
|
25
|
+
default: "60",
|
|
26
|
+
message: "Enter TTL in seconds:",
|
|
27
|
+
validate: validateTtl
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async function promptCluster() {
|
|
31
|
+
return select({
|
|
32
|
+
choices: [
|
|
33
|
+
{ name: "Mainnet", value: "mainnet" },
|
|
34
|
+
{ name: "Devnet", value: "devnet" }
|
|
35
|
+
],
|
|
36
|
+
default: "mainnet",
|
|
37
|
+
message: "Select Solana cluster:"
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async function promptAdvancedOptions() {
|
|
41
|
+
const wantsAdvanced = await confirm({
|
|
42
|
+
default: false,
|
|
43
|
+
message: "Configure advanced options?"
|
|
44
|
+
});
|
|
45
|
+
if (!wantsAdvanced) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
const undername = await promptUndername();
|
|
49
|
+
const ttlSeconds = await promptTtl();
|
|
50
|
+
const cluster = await promptCluster();
|
|
51
|
+
const wantsOnDemand = await confirm({
|
|
52
|
+
default: false,
|
|
53
|
+
message: "Enable on-demand payment?"
|
|
54
|
+
});
|
|
55
|
+
let onDemand;
|
|
56
|
+
let maxTokenAmount;
|
|
57
|
+
if (wantsOnDemand) {
|
|
58
|
+
onDemand = await select({
|
|
59
|
+
choices: [
|
|
60
|
+
{ name: "ARIO", value: "ario" },
|
|
61
|
+
{ name: "ETH (Base Network)", value: "base-eth" }
|
|
62
|
+
],
|
|
63
|
+
message: "Select payment token:"
|
|
64
|
+
});
|
|
65
|
+
maxTokenAmount = await input({
|
|
66
|
+
message: "Enter maximum token amount:",
|
|
67
|
+
validate(value) {
|
|
68
|
+
const num = Number.parseFloat(value);
|
|
69
|
+
if (Number.isNaN(num) || num <= 0) {
|
|
70
|
+
return "Please enter a valid positive number";
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
cluster,
|
|
78
|
+
maxTokenAmount,
|
|
79
|
+
onDemand,
|
|
80
|
+
ttlSeconds,
|
|
81
|
+
undername
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export { promptAdvancedOptions, promptArnsName, promptCluster, promptTtl, promptUndername, promptUpdateArns };
|
|
86
|
+
//# sourceMappingURL=arns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arns.js","sources":["../../src/prompts/arns.ts"],"sourcesContent":["import { confirm, input, select } from '@inquirer/prompts'\n\nimport { validateArnsName, validateTtl } from '../utils/validators.js'\n\nexport interface AdvancedOptions {\n cluster: string\n maxTokenAmount?: string\n onDemand?: string\n ttlSeconds: string\n undername: string\n}\n\nexport async function promptUpdateArns(): Promise<boolean> {\n return confirm({\n default: true,\n message: 'Update an ArNS name after upload?',\n })\n}\n\nexport async function promptArnsName(): Promise<string> {\n return input({\n message: 'Enter your ArNS name:',\n required: true,\n validate: validateArnsName,\n })\n}\n\nexport async function promptUndername(): Promise<string> {\n return input({\n default: '@',\n message: 'Enter undername (subdomain):',\n })\n}\n\nexport async function promptTtl(): Promise<string> {\n return input({\n default: '60',\n message: 'Enter TTL in seconds:',\n validate: validateTtl,\n })\n}\n\nexport async function promptCluster(): Promise<string> {\n return select({\n choices: [\n { name: 'Mainnet', value: 'mainnet' },\n { name: 'Devnet', value: 'devnet' },\n ],\n default: 'mainnet',\n message: 'Select Solana cluster:',\n })\n}\n\nexport async function promptAdvancedOptions(): Promise<AdvancedOptions | null> {\n const wantsAdvanced = await confirm({\n default: false,\n message: 'Configure advanced options?',\n })\n\n if (!wantsAdvanced) {\n return null\n }\n\n const undername = await promptUndername()\n const ttlSeconds = await promptTtl()\n const cluster = await promptCluster()\n\n // On-demand payment options\n const wantsOnDemand = await confirm({\n default: false,\n message: 'Enable on-demand payment?',\n })\n\n let onDemand: string | undefined\n let maxTokenAmount: string | undefined\n\n if (wantsOnDemand) {\n onDemand = await select({\n choices: [\n { name: 'ARIO', value: 'ario' },\n { name: 'ETH (Base Network)', value: 'base-eth' },\n ],\n message: 'Select payment token:',\n })\n\n maxTokenAmount = await input({\n message: 'Enter maximum token amount:',\n validate(value: string) {\n const num = Number.parseFloat(value)\n if (Number.isNaN(num) || num <= 0) {\n return 'Please enter a valid positive number'\n }\n\n return true\n },\n })\n }\n\n return {\n cluster,\n maxTokenAmount,\n onDemand,\n ttlSeconds,\n undername,\n }\n}\n"],"names":[],"mappings":";;;AAYA,eAAsB,gBAAA,GAAqC;AACzD,EAAA,OAAO,OAAA,CAAQ;AAAA,IACb,OAAA,EAAS,IAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACV,CAAA;AACH;AAEA,eAAsB,cAAA,GAAkC;AACtD,EAAA,OAAO,KAAA,CAAM;AAAA,IACX,OAAA,EAAS,uBAAA;AAAA,IACT,QAAA,EAAU,IAAA;AAAA,IACV,QAAA,EAAU;AAAA,GACX,CAAA;AACH;AAEA,eAAsB,eAAA,GAAmC;AACvD,EAAA,OAAO,KAAA,CAAM;AAAA,IACX,OAAA,EAAS,GAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACV,CAAA;AACH;AAEA,eAAsB,SAAA,GAA6B;AACjD,EAAA,OAAO,KAAA,CAAM;AAAA,IACX,OAAA,EAAS,IAAA;AAAA,IACT,OAAA,EAAS,uBAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACX,CAAA;AACH;AAEA,eAAsB,aAAA,GAAiC;AACrD,EAAA,OAAO,MAAA,CAAO;AAAA,IACZ,OAAA,EAAS;AAAA,MACP,EAAE,IAAA,EAAM,SAAA,EAAW,KAAA,EAAO,SAAA,EAAU;AAAA,MACpC,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,QAAA;AAAS,KACpC;AAAA,IACA,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACV,CAAA;AACH;AAEA,eAAsB,qBAAA,GAAyD;AAC7E,EAAA,MAAM,aAAA,GAAgB,MAAM,OAAA,CAAQ;AAAA,IAClC,OAAA,EAAS,KAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACV,CAAA;AAED,EAAA,IAAI,CAAC,aAAA,EAAe;AAClB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,SAAA,GAAY,MAAM,eAAA,EAAgB;AACxC,EAAA,MAAM,UAAA,GAAa,MAAM,SAAA,EAAU;AACnC,EAAA,MAAM,OAAA,GAAU,MAAM,aAAA,EAAc;AAGpC,EAAA,MAAM,aAAA,GAAgB,MAAM,OAAA,CAAQ;AAAA,IAClC,OAAA,EAAS,KAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACV,CAAA;AAED,EAAA,IAAI,QAAA;AACJ,EAAA,IAAI,cAAA;AAEJ,EAAA,IAAI,aAAA,EAAe;AACjB,IAAA,QAAA,GAAW,MAAM,MAAA,CAAO;AAAA,MACtB,OAAA,EAAS;AAAA,QACP,EAAE,IAAA,EAAM,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAO;AAAA,QAC9B,EAAE,IAAA,EAAM,oBAAA,EAAsB,KAAA,EAAO,UAAA;AAAW,OAClD;AAAA,MACA,OAAA,EAAS;AAAA,KACV,CAAA;AAED,IAAA,cAAA,GAAiB,MAAM,KAAA,CAAM;AAAA,MAC3B,OAAA,EAAS,6BAAA;AAAA,MACT,SAAS,KAAA,EAAe;AACtB,QAAA,MAAM,GAAA,GAAM,MAAA,CAAO,UAAA,CAAW,KAAK,CAAA;AACnC,QAAA,IAAI,MAAA,CAAO,KAAA,CAAM,GAAG,CAAA,IAAK,OAAO,CAAA,EAAG;AACjC,UAAA,OAAO,sCAAA;AAAA,QACT;AAEA,QAAA,OAAO,IAAA;AAAA,MACT;AAAA,KACD,CAAA;AAAA,EACH;AAEA,EAAA,OAAO;AAAA,IACL,OAAA;AAAA,IACA,cAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { select, input } from '@inquirer/prompts';
|
|
2
|
+
import { validateFolderExists, validateFileExists } from '../utils/validators.js';
|
|
3
|
+
|
|
4
|
+
async function promptDeployTarget() {
|
|
5
|
+
const deployType = await select({
|
|
6
|
+
choices: [
|
|
7
|
+
{ name: "Deploy a folder", value: "folder" },
|
|
8
|
+
{ name: "Deploy a single file", value: "file" }
|
|
9
|
+
],
|
|
10
|
+
message: "What do you want to deploy?"
|
|
11
|
+
});
|
|
12
|
+
const deployPath = await (deployType === "folder" ? input({
|
|
13
|
+
default: "./dist",
|
|
14
|
+
message: "Enter folder path to deploy:",
|
|
15
|
+
validate: validateFolderExists
|
|
16
|
+
}) : input({
|
|
17
|
+
message: "Enter file path to deploy:",
|
|
18
|
+
validate: validateFileExists
|
|
19
|
+
}));
|
|
20
|
+
return {
|
|
21
|
+
path: deployPath,
|
|
22
|
+
type: deployType
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { promptDeployTarget };
|
|
27
|
+
//# sourceMappingURL=deployment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment.js","sources":["../../src/prompts/deployment.ts"],"sourcesContent":["import { input, select } from '@inquirer/prompts'\n\nimport { validateFileExists, validateFolderExists } from '../utils/validators.js'\n\nexport interface DeployTarget {\n path: string\n type: 'file' | 'folder'\n}\n\nexport async function promptDeployTarget(): Promise<DeployTarget> {\n const deployType = (await select({\n choices: [\n { name: 'Deploy a folder', value: 'folder' },\n { name: 'Deploy a single file', value: 'file' },\n ],\n message: 'What do you want to deploy?',\n })) as 'file' | 'folder'\n\n const deployPath = await (deployType === 'folder'\n ? input({\n default: './dist',\n message: 'Enter folder path to deploy:',\n validate: validateFolderExists,\n })\n : input({\n message: 'Enter file path to deploy:',\n validate: validateFileExists,\n }))\n\n return {\n path: deployPath,\n type: deployType,\n }\n}\n"],"names":[],"mappings":";;;AASA,eAAsB,kBAAA,GAA4C;AAChE,EAAA,MAAM,UAAA,GAAc,MAAM,MAAA,CAAO;AAAA,IAC/B,OAAA,EAAS;AAAA,MACP,EAAE,IAAA,EAAM,iBAAA,EAAmB,KAAA,EAAO,QAAA,EAAS;AAAA,MAC3C,EAAE,IAAA,EAAM,sBAAA,EAAwB,KAAA,EAAO,MAAA;AAAO,KAChD;AAAA,IACA,OAAA,EAAS;AAAA,GACV,CAAA;AAED,EAAA,MAAM,UAAA,GAAa,OAAO,UAAA,KAAe,QAAA,GACrC,KAAA,CAAM;AAAA,IACJ,OAAA,EAAS,QAAA;AAAA,IACT,OAAA,EAAS,8BAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACX,IACD,KAAA,CAAM;AAAA,IACJ,OAAA,EAAS,4BAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACX,CAAA,CAAA;AAEL,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AACF;;;;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { select, input } from '@inquirer/prompts';
|
|
2
|
+
import { validateFileExists } from '../utils/validators.js';
|
|
3
|
+
|
|
4
|
+
async function promptWalletMethod(opts) {
|
|
5
|
+
return select({
|
|
6
|
+
choices: [
|
|
7
|
+
{ name: `${capitalize(opts.label)} file path`, value: "file" },
|
|
8
|
+
{ name: `${capitalize(opts.label)} private key/JWK string`, value: "string" },
|
|
9
|
+
{ name: `Environment variable (${opts.envVar})`, value: "env" }
|
|
10
|
+
],
|
|
11
|
+
message: `How do you want to provide your ${opts.label} (${opts.purpose})?`
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
async function promptWalletFile(opts) {
|
|
15
|
+
return input({
|
|
16
|
+
default: opts.fileDefault ?? "./wallet.json",
|
|
17
|
+
message: `Enter ${opts.label} file path:`,
|
|
18
|
+
validate: validateFileExists
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
async function promptPrivateKey(opts) {
|
|
22
|
+
return input({
|
|
23
|
+
message: `Enter your ${opts.label} (private key or JWK JSON):`,
|
|
24
|
+
required: true
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
function capitalize(value) {
|
|
28
|
+
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
29
|
+
}
|
|
30
|
+
async function promptSignerType() {
|
|
31
|
+
return select({
|
|
32
|
+
choices: [
|
|
33
|
+
{ name: "Arweave", value: "arweave" },
|
|
34
|
+
{ name: "Ethereum", value: "ethereum" },
|
|
35
|
+
{ name: "Polygon", value: "polygon" },
|
|
36
|
+
{ name: "KYVE", value: "kyve" },
|
|
37
|
+
{ name: "Solana", value: "solana" }
|
|
38
|
+
],
|
|
39
|
+
default: "arweave",
|
|
40
|
+
message: "Select signer type:"
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
async function getWalletConfig(opts) {
|
|
44
|
+
const method = await promptWalletMethod(opts);
|
|
45
|
+
const config = { method };
|
|
46
|
+
if (method === "file") {
|
|
47
|
+
config.wallet = await promptWalletFile(opts);
|
|
48
|
+
} else if (method === "string") {
|
|
49
|
+
config.privateKey = await promptPrivateKey(opts);
|
|
50
|
+
}
|
|
51
|
+
return config;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { getWalletConfig, promptPrivateKey, promptSignerType, promptWalletFile, promptWalletMethod };
|
|
55
|
+
//# sourceMappingURL=wallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.js","sources":["../../src/prompts/wallet.ts"],"sourcesContent":["import { input, select } from '@inquirer/prompts'\n\nimport { validateFileExists } from '../utils/validators.js'\n\nexport interface WalletConfig {\n method: 'env' | 'file' | 'string'\n privateKey?: string\n wallet?: string\n}\n\n/**\n * Describes which key is being collected so prompts can be explicit about\n * purpose (e.g. the upload key that pays for the upload vs. the ArNS authority\n * key that signs the record update).\n */\nexport interface KeyPromptOptions {\n /** Short name for the key, e.g. 'upload key' or 'ArNS authority key' */\n label: string\n /** What the key is used for, e.g. 'pays for the upload' */\n purpose: string\n /** Environment variable that can supply this key, e.g. 'DEPLOY_KEY' */\n envVar: string\n /** Default path shown in the file prompt */\n fileDefault?: string\n}\n\nexport async function promptWalletMethod(opts: KeyPromptOptions): Promise<string> {\n return select({\n choices: [\n { name: `${capitalize(opts.label)} file path`, value: 'file' },\n { name: `${capitalize(opts.label)} private key/JWK string`, value: 'string' },\n { name: `Environment variable (${opts.envVar})`, value: 'env' },\n ],\n message: `How do you want to provide your ${opts.label} (${opts.purpose})?`,\n })\n}\n\nexport async function promptWalletFile(opts: KeyPromptOptions): Promise<string> {\n return input({\n default: opts.fileDefault ?? './wallet.json',\n message: `Enter ${opts.label} file path:`,\n validate: validateFileExists,\n })\n}\n\nexport async function promptPrivateKey(opts: KeyPromptOptions): Promise<string> {\n return input({\n message: `Enter your ${opts.label} (private key or JWK JSON):`,\n required: true,\n })\n}\n\nfunction capitalize(value: string): string {\n return value.charAt(0).toUpperCase() + value.slice(1)\n}\n\nexport async function promptSignerType(): Promise<string> {\n return select({\n choices: [\n { name: 'Arweave', value: 'arweave' },\n { name: 'Ethereum', value: 'ethereum' },\n { name: 'Polygon', value: 'polygon' },\n { name: 'KYVE', value: 'kyve' },\n { name: 'Solana', value: 'solana' },\n ],\n default: 'arweave',\n message: 'Select signer type:',\n })\n}\n\nexport async function getWalletConfig(opts: KeyPromptOptions): Promise<WalletConfig> {\n const method = (await promptWalletMethod(opts)) as 'env' | 'file' | 'string'\n\n const config: WalletConfig = { method }\n\n if (method === 'file') {\n config.wallet = await promptWalletFile(opts)\n } else if (method === 'string') {\n config.privateKey = await promptPrivateKey(opts)\n }\n\n return config\n}\n"],"names":[],"mappings":";;;AA0BA,eAAsB,mBAAmB,IAAA,EAAyC;AAChF,EAAA,OAAO,MAAA,CAAO;AAAA,IACZ,OAAA,EAAS;AAAA,MACP,EAAE,MAAM,CAAA,EAAG,UAAA,CAAW,KAAK,KAAK,CAAC,CAAA,UAAA,CAAA,EAAc,KAAA,EAAO,MAAA,EAAO;AAAA,MAC7D,EAAE,MAAM,CAAA,EAAG,UAAA,CAAW,KAAK,KAAK,CAAC,CAAA,uBAAA,CAAA,EAA2B,KAAA,EAAO,QAAA,EAAS;AAAA,MAC5E,EAAE,IAAA,EAAM,CAAA,sBAAA,EAAyB,KAAK,MAAM,CAAA,CAAA,CAAA,EAAK,OAAO,KAAA;AAAM,KAChE;AAAA,IACA,SAAS,CAAA,gCAAA,EAAmC,IAAA,CAAK,KAAK,CAAA,EAAA,EAAK,KAAK,OAAO,CAAA,EAAA;AAAA,GACxE,CAAA;AACH;AAEA,eAAsB,iBAAiB,IAAA,EAAyC;AAC9E,EAAA,OAAO,KAAA,CAAM;AAAA,IACX,OAAA,EAAS,KAAK,WAAA,IAAe,eAAA;AAAA,IAC7B,OAAA,EAAS,CAAA,MAAA,EAAS,IAAA,CAAK,KAAK,CAAA,WAAA,CAAA;AAAA,IAC5B,QAAA,EAAU;AAAA,GACX,CAAA;AACH;AAEA,eAAsB,iBAAiB,IAAA,EAAyC;AAC9E,EAAA,OAAO,KAAA,CAAM;AAAA,IACX,OAAA,EAAS,CAAA,WAAA,EAAc,IAAA,CAAK,KAAK,CAAA,2BAAA,CAAA;AAAA,IACjC,QAAA,EAAU;AAAA,GACX,CAAA;AACH;AAEA,SAAS,WAAW,KAAA,EAAuB;AACzC,EAAA,OAAO,KAAA,CAAM,OAAO,CAAC,CAAA,CAAE,aAAY,GAAI,KAAA,CAAM,MAAM,CAAC,CAAA;AACtD;AAEA,eAAsB,gBAAA,GAAoC;AACxD,EAAA,OAAO,MAAA,CAAO;AAAA,IACZ,OAAA,EAAS;AAAA,MACP,EAAE,IAAA,EAAM,SAAA,EAAW,KAAA,EAAO,SAAA,EAAU;AAAA,MACpC,EAAE,IAAA,EAAM,UAAA,EAAY,KAAA,EAAO,UAAA,EAAW;AAAA,MACtC,EAAE,IAAA,EAAM,SAAA,EAAW,KAAA,EAAO,SAAA,EAAU;AAAA,MACpC,EAAE,IAAA,EAAM,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAO;AAAA,MAC9B,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,QAAA;AAAS,KACpC;AAAA,IACA,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACV,CAAA;AACH;AAEA,eAAsB,gBAAgB,IAAA,EAA+C;AACnF,EAAA,MAAM,MAAA,GAAU,MAAM,kBAAA,CAAmB,IAAI,CAAA;AAE7C,EAAA,MAAM,MAAA,GAAuB,EAAE,MAAA,EAAO;AAEtC,EAAA,IAAI,WAAW,MAAA,EAAQ;AACrB,IAAA,MAAA,CAAO,MAAA,GAAS,MAAM,gBAAA,CAAiB,IAAI,CAAA;AAAA,EAC7C,CAAA,MAAA,IAAW,WAAW,QAAA,EAAU;AAC9B,IAAA,MAAA,CAAO,UAAA,GAAa,MAAM,gBAAA,CAAiB,IAAI,CAAA;AAAA,EACjD;AAEA,EAAA,OAAO,MAAA;AACT;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Deploy extends Command {
|
|
3
|
+
static args: {};
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: Record<string, any>;
|
|
7
|
+
run(): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAoBrC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,OAAgB,IAAI,KAAK;IAEzB,OAAgB,WAAW,SAAoE;IAE/F,OAAgB,QAAQ,WAMvB;IAED,OAAgB,KAAK,sBAAkC;IAE1C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgTlC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Upload extends Command {
|
|
3
|
+
static args: {};
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: Record<string, any>;
|
|
7
|
+
run(): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=upload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/commands/upload.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAiBrC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,OAAgB,IAAI,KAAK;IAEzB,OAAgB,WAAW,SAAuE;IAElG,OAAgB,QAAQ,WAOvB;IAED,OAAgB,KAAK,sBAAkC;IAE1C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiIlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/constants/cache.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,QAAS,CAAA;AAC/C,eAAO,MAAM,SAAS,iBAAiB,CAAA;AACvC,eAAO,MAAM,UAAU,2BAA2B,CAAA"}
|