@twin.org/move-to-json 0.0.2-next.10 → 0.0.2-next.11
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/index.cjs +10 -11
- package/dist/esm/index.mjs +10 -11
- package/dist/locales/en.json +31 -89
- package/docs/changelog.md +14 -0
- package/locales/en.json +11 -51
- package/package.json +15 -3
package/dist/cjs/index.cjs
CHANGED
|
@@ -108,7 +108,7 @@ async function actionCommandBuild(inputGlob, opts) {
|
|
|
108
108
|
cliCore.CLIDisplay.value(core.I18n.formatMessage("commands.build.warnings.noMoveFilesFound", { inputGlob }), "", 2);
|
|
109
109
|
}
|
|
110
110
|
else if (matchedFiles.length > 1) {
|
|
111
|
-
throw new core.GeneralError("commands", "commands.build.
|
|
111
|
+
throw new core.GeneralError("commands", "commands.build.multipleFilesNotSupported", {
|
|
112
112
|
fileCount: matchedFiles.length,
|
|
113
113
|
fileList: matchedFiles.map(f => path.basename(f)).join(", ")
|
|
114
114
|
});
|
|
@@ -308,18 +308,17 @@ async function execAsyncWithError(command, options) {
|
|
|
308
308
|
return { stdout: stdout.toString(), stderr: stderr.toString() };
|
|
309
309
|
}
|
|
310
310
|
catch (error) {
|
|
311
|
-
let
|
|
312
|
-
|
|
313
|
-
output: ""
|
|
314
|
-
};
|
|
311
|
+
let cmd;
|
|
312
|
+
let output;
|
|
315
313
|
if (core.Is.object(error) &&
|
|
316
314
|
core.Is.stringValue(error.cmd)) {
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
output: `${error.stdout}\n${error.stderr}`.trim()
|
|
320
|
-
};
|
|
315
|
+
cmd = error.cmd;
|
|
316
|
+
output = `${error.stdout}\n${error.stderr}`.trim();
|
|
321
317
|
}
|
|
322
|
-
throw new core.GeneralError("environmentUtils", "commandExecutionFailedParams",
|
|
318
|
+
throw new core.GeneralError("environmentUtils", "commandExecutionFailedParams", {
|
|
319
|
+
command: cmd ?? "",
|
|
320
|
+
output: output ?? ""
|
|
321
|
+
});
|
|
323
322
|
}
|
|
324
323
|
}
|
|
325
324
|
/**
|
|
@@ -1451,7 +1450,7 @@ class CLI extends cliCore.CLIBase {
|
|
|
1451
1450
|
return this.execute({
|
|
1452
1451
|
title: "TWIN Move to JSON",
|
|
1453
1452
|
appName: "move-to-json",
|
|
1454
|
-
version: "0.0.2-next.
|
|
1453
|
+
version: "0.0.2-next.11", // x-release-please-version
|
|
1455
1454
|
icon: "⚙️ ",
|
|
1456
1455
|
supportsEnvFiles: true,
|
|
1457
1456
|
overrideOutputWidth: options?.overrideOutputWidth
|
package/dist/esm/index.mjs
CHANGED
|
@@ -105,7 +105,7 @@ async function actionCommandBuild(inputGlob, opts) {
|
|
|
105
105
|
CLIDisplay.value(I18n.formatMessage("commands.build.warnings.noMoveFilesFound", { inputGlob }), "", 2);
|
|
106
106
|
}
|
|
107
107
|
else if (matchedFiles.length > 1) {
|
|
108
|
-
throw new GeneralError("commands", "commands.build.
|
|
108
|
+
throw new GeneralError("commands", "commands.build.multipleFilesNotSupported", {
|
|
109
109
|
fileCount: matchedFiles.length,
|
|
110
110
|
fileList: matchedFiles.map(f => path.basename(f)).join(", ")
|
|
111
111
|
});
|
|
@@ -305,18 +305,17 @@ async function execAsyncWithError(command, options) {
|
|
|
305
305
|
return { stdout: stdout.toString(), stderr: stderr.toString() };
|
|
306
306
|
}
|
|
307
307
|
catch (error) {
|
|
308
|
-
let
|
|
309
|
-
|
|
310
|
-
output: ""
|
|
311
|
-
};
|
|
308
|
+
let cmd;
|
|
309
|
+
let output;
|
|
312
310
|
if (Is.object(error) &&
|
|
313
311
|
Is.stringValue(error.cmd)) {
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
output: `${error.stdout}\n${error.stderr}`.trim()
|
|
317
|
-
};
|
|
312
|
+
cmd = error.cmd;
|
|
313
|
+
output = `${error.stdout}\n${error.stderr}`.trim();
|
|
318
314
|
}
|
|
319
|
-
throw new GeneralError("environmentUtils", "commandExecutionFailedParams",
|
|
315
|
+
throw new GeneralError("environmentUtils", "commandExecutionFailedParams", {
|
|
316
|
+
command: cmd ?? "",
|
|
317
|
+
output: output ?? ""
|
|
318
|
+
});
|
|
320
319
|
}
|
|
321
320
|
}
|
|
322
321
|
/**
|
|
@@ -1448,7 +1447,7 @@ class CLI extends CLIBase {
|
|
|
1448
1447
|
return this.execute({
|
|
1449
1448
|
title: "TWIN Move to JSON",
|
|
1450
1449
|
appName: "move-to-json",
|
|
1451
|
-
version: "0.0.2-next.
|
|
1450
|
+
version: "0.0.2-next.11", // x-release-please-version
|
|
1452
1451
|
icon: "⚙️ ",
|
|
1453
1452
|
supportsEnvFiles: true,
|
|
1454
1453
|
overrideOutputWidth: options?.overrideOutputWidth
|
package/dist/locales/en.json
CHANGED
|
@@ -6,24 +6,19 @@
|
|
|
6
6
|
"optionInvalidHex": "The \"{option}\" does not appear to be hex. \"{value}\"",
|
|
7
7
|
"optionInvalidBase64": "The \"{option}\" does not appear to be base64. \"{value}\"",
|
|
8
8
|
"optionInvalidHexBase64": "The \"{option}\" does not appear to be hex or base64. \"{value}\"",
|
|
9
|
-
"optionInvalidBech32": "The \"{option}\" does not appear to be bech32. \"{value}\"",
|
|
10
9
|
"optionMinValue": "The \"{option}\" option must be greater than or equal to {minValue}, it is {value}.",
|
|
11
10
|
"optionMaxValue": "The \"{option}\" option must be less than or equal to {maxValue}, it is {value}."
|
|
12
11
|
},
|
|
13
12
|
"build": {
|
|
14
|
-
"invalidNetwork": "Invalid network: {network}. Must be one of: {validNetworks}",
|
|
15
|
-
"failedReadingOutputJson": "Failed to read output JSON file: {file}",
|
|
16
13
|
"contractProcessingFailed": "Failed to process contract: {file}",
|
|
17
|
-
"mkdirFailed": "Failed to create output directory: {dir}",
|
|
18
14
|
"buildFailed": "Build failed on for file {file}",
|
|
19
|
-
"sdkNotInstalled": "The SDK is not installed. Please install it first."
|
|
15
|
+
"sdkNotInstalled": "The SDK is not installed. Please install it first.",
|
|
16
|
+
"multipleFilesNotSupported": "Multiple Move files detected. Found {fileCount} files: {fileList}. Please specify a single .move file per build command."
|
|
20
17
|
},
|
|
21
18
|
"deploy": {
|
|
22
|
-
"environmentNotFound": "IOTA CLI environment \"{network}\" not found. Please configure it first.",
|
|
23
19
|
"environmentSwitchFailed": "Failed to switch to {network} environment. Active environment: {activeEnv}",
|
|
24
20
|
"environmentOperationFailed": "Failed to {operation} {network} environment. Make sure IOTA CLI is configured with this environment.",
|
|
25
21
|
"noContractsFound": "No contracts found for network: {network}",
|
|
26
|
-
"envFileLoadFailed": "Failed to load environment file: {envFilePath}",
|
|
27
22
|
"networkConfigInvalid": "Invalid network configuration",
|
|
28
23
|
"networkMismatch": "Network mismatch",
|
|
29
24
|
"deployerCredentialRequired": "Missing required deployer credentials. Provide either DEPLOYER_MNEMONIC or DEPLOYER_SEED environment variable, or use --deployer-mnemonic or --deployer-seed options.",
|
|
@@ -31,33 +26,24 @@
|
|
|
31
26
|
"invalidContractsFile": "Invalid contracts file: must contain an object",
|
|
32
27
|
"contractsLoadFailed": "Failed to load compiled contracts",
|
|
33
28
|
"insufficientBalance": "Insufficient wallet balance for deployment",
|
|
34
|
-
"deploymentEnvironmentCheckFailed": "Deployment environment validation failed",
|
|
35
|
-
"addressNotFound": "Could not find address at index {addressIndex}",
|
|
36
|
-
"balanceCheckFailed": "Failed to get wallet balance",
|
|
37
29
|
"deploymentFailed": "Contract deployment failed",
|
|
38
30
|
"packageIdNotFound": "Could not find package ID in deployment result",
|
|
39
31
|
"contractsFileUpdateFailed": "Failed to update contracts file",
|
|
40
|
-
"invalidJsonResponse": "Invalid JSON response from IOTA CLI",
|
|
41
|
-
"unexpectedResponseFormat": "Unexpected response format from IOTA CLI: {message}",
|
|
42
|
-
"invalidCoinObject": "Invalid coin object at index {index}: {actualType}",
|
|
43
|
-
"invalidCoinBalance": "Invalid coin balance at index {index}: {balance}",
|
|
44
|
-
"contractDataNotFound": "Contract data not found for network {network}. Available networks: {availableNetworks}",
|
|
45
|
-
"noPackageData": "No package data found for contract in compiled modules",
|
|
46
|
-
"packageNotFoundOnNetwork": "Package {packageId} not found on network {network}. Please ensure the package is deployed.",
|
|
47
|
-
"dryRunInvalidConfig": "Dry run failed due to invalid configuration",
|
|
48
32
|
"noMoveTomlFilesFound": "No Move.toml files found in current directory or subdirectories. Make sure you're running this from a directory containing Move projects.",
|
|
49
33
|
"addressSwitchFailed": "Failed to switch to active address {targetAddress} for {network}. Active address: {activeAddress}",
|
|
50
34
|
"addressNotInClient": "Address {expectedAddress} not found in IOTA client addresses for alias {aliasName}",
|
|
51
35
|
"noFaucetConfigured": "No faucet URL configured, cannot request funds for deployment.",
|
|
52
36
|
"noPreviousDeploymentForUpgrade": "Cannot upgrade contract: no previous deployment found. Use initial deployment instead.",
|
|
53
37
|
"upgradePackageIdNotFound": "Upgrade failed: new package ID not found in response",
|
|
54
|
-
"moveTomlUpdateFailed": "Failed to update Move.toml file for upgrade",
|
|
55
38
|
"upgradeCapabilityNotFound": "Upgrade capability not found in deployment data",
|
|
56
|
-
"moveTomlNotFound": "Move.toml not found. Expected at: {moveTomlPath}",
|
|
57
39
|
"contractNotBuilt": "Contract has not been built. Run 'move-to-json build' first.",
|
|
58
40
|
"contractDataOutdated": "Contract data is missing or outdated. Run 'move-to-json build' first.",
|
|
59
41
|
"upgradeFailed": "Contract upgrade failed",
|
|
60
|
-
"buildPathNotDirectory": "Build path exists but is not a directory: {buildDir}"
|
|
42
|
+
"buildPathNotDirectory": "Build path exists but is not a directory: {buildDir}",
|
|
43
|
+
"rpcUrlRequired": "Missing required ROC Url.",
|
|
44
|
+
"contractsFileNotFound": "The contracts file is not found \"{contractsPath}\".",
|
|
45
|
+
"fundingFailed": "Funding failed",
|
|
46
|
+
"deployerKeySetupFailed": "Deployer key setup failed network: \"{network}\" alias: \"{aliasName}\" expectedAddress: \"{expectedAddress}\""
|
|
61
47
|
}
|
|
62
48
|
},
|
|
63
49
|
"validation": {
|
|
@@ -99,8 +85,13 @@
|
|
|
99
85
|
"beUrl": "{fieldName} must be a correctly formatted url",
|
|
100
86
|
"beJSON": "{fieldName} must be correctly formatted JSON",
|
|
101
87
|
"beEmail": "{fieldName} must be a correctly formatted e-mail address",
|
|
102
|
-
"
|
|
103
|
-
"
|
|
88
|
+
"minLengthRequired": "The value length should be at least {minLength}, it is {actualLength}",
|
|
89
|
+
"maxLengthRequired": "The value length should be at most {maxLength}, it is {actualLength}",
|
|
90
|
+
"repeatedCharacters": "The value should not contain repeated characters in sequence",
|
|
91
|
+
"atLeastOneLowerCase": "The value should contain at least one lowercase character",
|
|
92
|
+
"atLeastOneUpperCase": "The value should contain at least one uppercase character",
|
|
93
|
+
"atLeastOneNumber": "The value should contain at least one number",
|
|
94
|
+
"atLeastOneSpecialChar": "The value should contain at least one symbol"
|
|
104
95
|
},
|
|
105
96
|
"guard": {
|
|
106
97
|
"undefined": "Property \"{property}\" must be defined, it is \"{value}\"",
|
|
@@ -133,9 +124,7 @@
|
|
|
133
124
|
"url": "Property \"{property}\" must be a Url formatted string, it is \"{value}\"",
|
|
134
125
|
"email": "Property \"{property}\" must be string in e-mail format, it is \"{value}\"",
|
|
135
126
|
"length32Multiple": "Property \"{property}\" should be a multiple of 32, it is {value}",
|
|
136
|
-
"lengthEntropy": "Property \"{property}\" should be a multiple of 4, >=16 and <= 32, it is {value}"
|
|
137
|
-
"length3Multiple": "Property \"{property}\" should be a multiple of 3, it is {value}",
|
|
138
|
-
"greaterThan0": "Property \"{property}\" must be greater than zero, it is {value}"
|
|
127
|
+
"lengthEntropy": "Property \"{property}\" should be a multiple of 4, >=16 and <= 32, it is {value}"
|
|
139
128
|
},
|
|
140
129
|
"objectHelper": {
|
|
141
130
|
"failedBytesToJSON": "Failed converting bytes to JSON",
|
|
@@ -151,7 +140,7 @@
|
|
|
151
140
|
"noGet": "The requested {typeName} \"{name}\" does not exist in the factory"
|
|
152
141
|
},
|
|
153
142
|
"bitString": {
|
|
154
|
-
"outOfRange": "The index should be >= 0 and less than the length of the bit string"
|
|
143
|
+
"outOfRange": "The index should be >= 0 and less than the length of the bit string, the index is \"{index}\" and the number of bit is \"{numberBits}\""
|
|
155
144
|
},
|
|
156
145
|
"base32": {
|
|
157
146
|
"invalidCharacter": "Data contains a character \"{invalidCharacter}\" which is not in the charset"
|
|
@@ -165,10 +154,6 @@
|
|
|
165
154
|
"jsonHelper": {
|
|
166
155
|
"failedPatch": "Failed to patch the JSON object, patch index \"{index}\" failed"
|
|
167
156
|
},
|
|
168
|
-
"bip39": {
|
|
169
|
-
"missingMnemonicWord": "The mnemonic contains a word not in the wordlist, \"{value}\"",
|
|
170
|
-
"checksumMismatch": "The checksum does not match \"{newChecksum}\" != \"{checksumBits}\""
|
|
171
|
-
},
|
|
172
157
|
"ed25519": {
|
|
173
158
|
"privateKeyLength": "The private key length is incorrect, it should be \"{requiredSize}\" but is \"{actualSize}\"",
|
|
174
159
|
"publicKeyLength": "The public key length is incorrect, it should be \"{requiredSize}\" but is \"{actualSize}\""
|
|
@@ -177,13 +162,6 @@
|
|
|
177
162
|
"privateKeyLength": "The private key length is incorrect, it should be \"{requiredSize}\" but is \"{actualSize}\"",
|
|
178
163
|
"publicKeyLength": "The public key length is incorrect, it should be \"{requiredSize}\" but is \"{actualSize}\""
|
|
179
164
|
},
|
|
180
|
-
"x25519": {
|
|
181
|
-
"invalidPublicKey": "Invalid Ed25519 Public Key"
|
|
182
|
-
},
|
|
183
|
-
"blake2b": {
|
|
184
|
-
"outputLength64": "The output length should be between 1 and 64, it is \"{outputLength}\"",
|
|
185
|
-
"keyLength64": "The key length should be between 1 and 64, it is \"{keyLength}\""
|
|
186
|
-
},
|
|
187
165
|
"sha512": {
|
|
188
166
|
"bitSize": "Only 224, 256, 384 or 512 bits are supported, it is \"{bitSize}\""
|
|
189
167
|
},
|
|
@@ -206,27 +184,12 @@
|
|
|
206
184
|
"lowerUpper": "The address my use either lowercase or uppercase, \"{bech32}\"",
|
|
207
185
|
"dataTooShort": "The address does not contain enough data to decode, \"{bech32}\""
|
|
208
186
|
},
|
|
209
|
-
"pbkdf2": {
|
|
210
|
-
"keyTooLong": "The requested key length \"{keyLength}\" is too long, based on the \"{macLength}\""
|
|
211
|
-
},
|
|
212
|
-
"chaCha20Poly1305": {
|
|
213
|
-
"noAadWithData": "You can not set the aad when there is already data",
|
|
214
|
-
"noAuthTag": "Can not finalise when the auth tag is not set",
|
|
215
|
-
"authenticationFailed": "The data could not be authenticated",
|
|
216
|
-
"authTagDecrypting": "Can not get the auth tag when decrypting",
|
|
217
|
-
"authTagEncrypting": "Can not set the auth tag when encrypting",
|
|
218
|
-
"noAuthTagSet": "The auth tag has not been set"
|
|
219
|
-
},
|
|
220
187
|
"bip44": {
|
|
221
188
|
"unsupportedKeyType": "The key type \"{keyType}\" is not supported"
|
|
222
189
|
},
|
|
223
190
|
"slip0010": {
|
|
224
191
|
"invalidSeed": "The seed is invalid \"{seed}\""
|
|
225
192
|
},
|
|
226
|
-
"rsa": {
|
|
227
|
-
"noPrivateKey": "Private key is required for this operation",
|
|
228
|
-
"invalidKeySize": "Invalid RSA key size"
|
|
229
|
-
},
|
|
230
193
|
"iota": {
|
|
231
194
|
"insufficientFunds": "There were insufficient funds to complete the operation",
|
|
232
195
|
"packageNotFoundOnNetwork": "The package \"{packageId}\" was not found on the network",
|
|
@@ -235,8 +198,7 @@
|
|
|
235
198
|
"transactionFailed": "The transaction failed",
|
|
236
199
|
"addressNotFound": "The address is missing could not be found from the seed \"{address}\"",
|
|
237
200
|
"gasStationTransactionFailed": "The gas station transaction failed",
|
|
238
|
-
"
|
|
239
|
-
"gasStationExecutionFailed": "The gas station execution failed"
|
|
201
|
+
"dryRunFailed": "The dry run execution failed"
|
|
240
202
|
},
|
|
241
203
|
"iotaSmartContractUtils": {
|
|
242
204
|
"migrationFailed": "Smart contract migration failed",
|
|
@@ -267,11 +229,12 @@
|
|
|
267
229
|
"invalidSignature": "The JSON Web token signature could not be verified"
|
|
268
230
|
},
|
|
269
231
|
"fetchHelper": {
|
|
270
|
-
"decodingJSON": "Decoding JSON failed for route \"{
|
|
232
|
+
"decodingJSON": "Decoding JSON failed for route \"{url}\"",
|
|
271
233
|
"failureStatusText": "The request to the API failed: \"{statusText}\"",
|
|
272
234
|
"connectivity": "The request failed, the API could be offline, or there are other connectivity issues",
|
|
273
235
|
"timeout": "The request timed out",
|
|
274
|
-
"general": "A general failure occurred during the request"
|
|
236
|
+
"general": "A general failure occurred during the request",
|
|
237
|
+
"retryLimitExceeded": "The retry limit was exceeded for route \"{url}\""
|
|
275
238
|
},
|
|
276
239
|
"jwt": {
|
|
277
240
|
"noKeyOrSigner": "No key or signer was provided for JWT creation",
|
|
@@ -295,10 +258,8 @@
|
|
|
295
258
|
"faucetRateLimit": "Faucet rate limit exceeded"
|
|
296
259
|
},
|
|
297
260
|
"envSetup": {
|
|
298
|
-
"envFileLoadFailed": "Failed to load environment file: {envFilePath}",
|
|
299
261
|
"mnemonicMissing": "Missing required DEPLOYER_MNEMONIC environment variable for {network}. Set DEPLOYER_MNEMONIC in your environment or use --load-env to load from configuration file (e.g., configs/{network}.env).\n\nYou can generate a mnemonic using:\nnpx \"@twin.org/wallet-cli\" mnemonic --env wallet.env\n\nThen add the MNEMONIC value to your configs/{network}.env file:\n{mnemonicVar}=\"word1 word2 word3 ... word24\"\n\nSee configs/{network}.env.example for reference.",
|
|
300
|
-
"mnemonicInvalidFormat": "Invalid DEPLOYER_MNEMONIC environment variable format for {network}.
|
|
301
|
-
"mnemonicValidationFailed": "Mnemonic validation failed",
|
|
262
|
+
"mnemonicInvalidFormat": "Invalid DEPLOYER_MNEMONIC environment variable format for {network}. Please ensure {mnemonicVar} in your environment or configs/{network}.env contains a valid 24-word mnemonic phrase.",
|
|
302
263
|
"seedInvalidFormat": "Invalid DEPLOYER_SEED environment variable format for {network}. Expected hex string starting with 0x and at least 64 characters.\nPlease ensure {seedVar} in your environment or configs/{network}.env contains a valid hex seed value."
|
|
303
264
|
},
|
|
304
265
|
"environmentUtils": {
|
|
@@ -368,17 +329,22 @@
|
|
|
368
329
|
"alreadyExistsError": "Already Exists",
|
|
369
330
|
"notImplementedError": "Not Implemented",
|
|
370
331
|
"validationError": "Validation",
|
|
371
|
-
"unprocessableError": "Unprocessable"
|
|
332
|
+
"unprocessableError": "Unprocessable",
|
|
333
|
+
"unauthorizedError": "Unauthorized"
|
|
372
334
|
},
|
|
373
335
|
"validation": {
|
|
374
336
|
"defaultFieldName": "The field"
|
|
375
337
|
},
|
|
338
|
+
"info": {
|
|
339
|
+
"iota": {
|
|
340
|
+
"transactionCosts": "Transaction costs for operation \"{operation}\", \"{cost}\""
|
|
341
|
+
}
|
|
342
|
+
},
|
|
376
343
|
"errorMessages": {
|
|
377
344
|
"fetch": "Fetch"
|
|
378
345
|
},
|
|
379
346
|
"commands": {
|
|
380
347
|
"build": {
|
|
381
|
-
"summary": "Compile Move contracts for specified network and generate network-aware JSON structure",
|
|
382
348
|
"description": "Compiles Move smart contracts using the IOTA CLI and generates a network-aware JSON structure containing compiled bytecode modules.",
|
|
383
349
|
"options": {
|
|
384
350
|
"inputGlob": {
|
|
@@ -427,12 +393,10 @@
|
|
|
427
393
|
"warnings": {
|
|
428
394
|
"noMoveFilesFound": "No Move files found for pattern: {inputGlob}",
|
|
429
395
|
"noBytecodeModulesFolder": "No bytecode_modules folder found for contract: {contractName}",
|
|
430
|
-
"noMvFilesFound": "No .mv files found for contract: {contractName}"
|
|
431
|
-
"multipleFilesNotSupported": "Multiple Move files detected. Found {fileCount} files: {fileList}. Please specify a single .move file per build command."
|
|
396
|
+
"noMvFilesFound": "No .mv files found for contract: {contractName}"
|
|
432
397
|
}
|
|
433
398
|
},
|
|
434
399
|
"deploy": {
|
|
435
|
-
"summary": "Deploy compiled contracts to the specified network",
|
|
436
400
|
"description": "Deploys previously compiled Move contracts to the specified IOTA network using the configured environment.",
|
|
437
401
|
"options": {
|
|
438
402
|
"contracts": {
|
|
@@ -485,31 +449,19 @@
|
|
|
485
449
|
}
|
|
486
450
|
},
|
|
487
451
|
"labels": {
|
|
488
|
-
"contractsFile": "Contracts File",
|
|
489
|
-
"network": "Network",
|
|
490
|
-
"dryRunMode": "Dry Run Mode",
|
|
491
|
-
"forceMode": "Force Mode",
|
|
492
|
-
"deployedPackageId": "Deployed Package ID",
|
|
493
|
-
"upgradeCapabilityId": "Upgrade Capability ID",
|
|
494
|
-
"gasUsed": "Gas Used",
|
|
495
|
-
"deploymentStatus": "Deployment Status",
|
|
496
452
|
"iotaEnvironmentCheck": "IOTA environment check",
|
|
497
453
|
"switchedIotaEnvironment": "Switched IOTA environment",
|
|
498
|
-
"contractAlreadyDeployed": "Contract already deployed",
|
|
499
454
|
"dryRunWouldDeploy": "DRY RUN: Would deploy contract",
|
|
500
455
|
"dryRunPackageId": "DRY RUN: Package ID",
|
|
501
456
|
"dryRunGasBudget": "DRY RUN: Gas Budget",
|
|
502
457
|
"dryRunRpcUrl": "DRY RUN: RPC URL",
|
|
503
458
|
"dryRunWalletAddress": "DRY RUN: Wallet Address",
|
|
504
459
|
"dryRunWalletBalance": "DRY RUN: Wallet Balance",
|
|
505
|
-
"dryRunRequiredBalance": "DRY RUN: Required Balance",
|
|
506
|
-
"dryRunBalanceStatus": "DRY RUN: Balance Status",
|
|
507
460
|
"walletAddress": "Wallet Address",
|
|
508
461
|
"walletBalance": "Wallet Balance",
|
|
509
462
|
"deployedPackageIdResult": "Deployed Package ID",
|
|
510
463
|
"upgradeCapabilityIdResult": "Upgrade Capability ID",
|
|
511
464
|
"migrationStateIdResult": "Migration State ID",
|
|
512
|
-
"importedDeployerAddress": "Imported deployer address",
|
|
513
465
|
"switchedActiveAddress": "Switched active address",
|
|
514
466
|
"moveProjectRoot": "Move Project Root",
|
|
515
467
|
"publishCommand": "Publish Command",
|
|
@@ -519,10 +471,7 @@
|
|
|
519
471
|
"insufficientBalanceWarning": "Insufficient balance: {currentBalance} IOTA < {requiredBalance} IOTA",
|
|
520
472
|
"environmentValidationWarning": "Environment validation failed: {message}",
|
|
521
473
|
"gasBudget": "Gas Budget",
|
|
522
|
-
"requiredBalance": "Required Balance",
|
|
523
|
-
"balanceStatus": "Balance Status",
|
|
524
474
|
"faucetFundsRequested": "Faucet funds requested",
|
|
525
|
-
"faucetRequestFailed": "Faucet request failed for {network}: {error}",
|
|
526
475
|
"insufficientBalanceAfterFaucet": "Insufficient balance after faucet request on {network}: {balance} IOTA < {required} IOTA for wallet {walletAddress}. Attempting deployment anyway.",
|
|
527
476
|
"updatedWalletBalance": "Updated wallet balance",
|
|
528
477
|
"balanceCheck": "Balance check",
|
|
@@ -541,19 +490,14 @@
|
|
|
541
490
|
"moveTomlRestored": "Move.toml Restored",
|
|
542
491
|
"contractStatus": "Contract Status",
|
|
543
492
|
"upgradeGuidance": "Upgrade Guidance",
|
|
544
|
-
"lastDeployment": "Last Deployment",
|
|
545
493
|
"previousDeployment": "Previous Deployment",
|
|
546
|
-
"deploymentStrategy": "Deployment Strategy",
|
|
547
494
|
"currentDeployment": "Current Deployment",
|
|
548
495
|
"buildValidation": "Build Validation"
|
|
549
496
|
},
|
|
550
497
|
"progress": {
|
|
551
|
-
"loadingContracts": "Loading compiled contracts...",
|
|
552
498
|
"checkingEnvironment": "Checking IOTA CLI environment...",
|
|
553
499
|
"settingEnvironment": "Setting IOTA CLI environment...",
|
|
554
|
-
"importingDeployerAddress": "Importing deployer address to IOTA CLI...",
|
|
555
500
|
"deployingContract": "Deploying contract: {contractName} ({network})",
|
|
556
|
-
"updatingContractsFile": "Updating contracts file...",
|
|
557
501
|
"requestingFaucetFunds": "Requesting funds from {network} faucet...",
|
|
558
502
|
"requestingAdditionalFaucetFunds": "Requesting additional funds from faucet...",
|
|
559
503
|
"renamingConflictingKey": "Renaming conflicting key alias \"{aliasName}\" to preserve existing key",
|
|
@@ -568,14 +512,12 @@
|
|
|
568
512
|
"contractBuiltAndReadyForUpgrade": "Contract has been built and is ready for upgrade"
|
|
569
513
|
},
|
|
570
514
|
"section": {
|
|
571
|
-
"
|
|
572
|
-
"deploymentResults": "Deployment Results",
|
|
573
|
-
"deployContracts": "Deploy Contracts",
|
|
574
|
-
"contractsFile": "Contracts File"
|
|
515
|
+
"deployContracts": "Deploy Contracts"
|
|
575
516
|
}
|
|
576
517
|
},
|
|
577
518
|
"common": {
|
|
578
519
|
"info": {
|
|
520
|
+
"createdEnvironment": "Created IOTA environment",
|
|
579
521
|
"creatingDefaultEnvironments": "Creating default IOTA environments",
|
|
580
522
|
"noEnvironments": "No IOTA environments found",
|
|
581
523
|
"creatingDefaults": "Creating Defaults",
|
package/docs/changelog.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @twin.org/move-to-json - Changelog
|
|
2
2
|
|
|
3
|
+
## [0.0.2-next.11](https://github.com/twinfoundation/dlt/compare/move-to-json-v0.0.2-next.10...move-to-json-v0.0.2-next.11) (2025-10-09)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add validate-locales ([8465099](https://github.com/twinfoundation/dlt/commit/8465099626ab1891d419a35870fae447efc3008d))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* The following workspace dependencies were updated
|
|
14
|
+
* dependencies
|
|
15
|
+
* @twin.org/dlt-iota bumped from 0.0.2-next.10 to 0.0.2-next.11
|
|
16
|
+
|
|
3
17
|
## [0.0.2-next.10](https://github.com/twinfoundation/dlt/compare/move-to-json-v0.0.2-next.9...move-to-json-v0.0.2-next.10) (2025-09-29)
|
|
4
18
|
|
|
5
19
|
|
package/locales/en.json
CHANGED
|
@@ -2,19 +2,15 @@
|
|
|
2
2
|
"error": {
|
|
3
3
|
"commands": {
|
|
4
4
|
"build": {
|
|
5
|
-
"invalidNetwork": "Invalid network: {network}. Must be one of: {validNetworks}",
|
|
6
|
-
"failedReadingOutputJson": "Failed to read output JSON file: {file}",
|
|
7
5
|
"contractProcessingFailed": "Failed to process contract: {file}",
|
|
8
|
-
"mkdirFailed": "Failed to create output directory: {dir}",
|
|
9
6
|
"buildFailed": "Build failed on for file {file}",
|
|
10
|
-
"sdkNotInstalled": "The SDK is not installed. Please install it first."
|
|
7
|
+
"sdkNotInstalled": "The SDK is not installed. Please install it first.",
|
|
8
|
+
"multipleFilesNotSupported": "Multiple Move files detected. Found {fileCount} files: {fileList}. Please specify a single .move file per build command."
|
|
11
9
|
},
|
|
12
10
|
"deploy": {
|
|
13
|
-
"environmentNotFound": "IOTA CLI environment \"{network}\" not found. Please configure it first.",
|
|
14
11
|
"environmentSwitchFailed": "Failed to switch to {network} environment. Active environment: {activeEnv}",
|
|
15
12
|
"environmentOperationFailed": "Failed to {operation} {network} environment. Make sure IOTA CLI is configured with this environment.",
|
|
16
13
|
"noContractsFound": "No contracts found for network: {network}",
|
|
17
|
-
"envFileLoadFailed": "Failed to load environment file: {envFilePath}",
|
|
18
14
|
"networkConfigInvalid": "Invalid network configuration",
|
|
19
15
|
"networkMismatch": "Network mismatch",
|
|
20
16
|
"deployerCredentialRequired": "Missing required deployer credentials. Provide either DEPLOYER_MNEMONIC or DEPLOYER_SEED environment variable, or use --deployer-mnemonic or --deployer-seed options.",
|
|
@@ -22,40 +18,29 @@
|
|
|
22
18
|
"invalidContractsFile": "Invalid contracts file: must contain an object",
|
|
23
19
|
"contractsLoadFailed": "Failed to load compiled contracts",
|
|
24
20
|
"insufficientBalance": "Insufficient wallet balance for deployment",
|
|
25
|
-
"deploymentEnvironmentCheckFailed": "Deployment environment validation failed",
|
|
26
|
-
"addressNotFound": "Could not find address at index {addressIndex}",
|
|
27
|
-
"balanceCheckFailed": "Failed to get wallet balance",
|
|
28
21
|
"deploymentFailed": "Contract deployment failed",
|
|
29
22
|
"packageIdNotFound": "Could not find package ID in deployment result",
|
|
30
23
|
"contractsFileUpdateFailed": "Failed to update contracts file",
|
|
31
|
-
"invalidJsonResponse": "Invalid JSON response from IOTA CLI",
|
|
32
|
-
"unexpectedResponseFormat": "Unexpected response format from IOTA CLI: {message}",
|
|
33
|
-
"invalidCoinObject": "Invalid coin object at index {index}: {actualType}",
|
|
34
|
-
"invalidCoinBalance": "Invalid coin balance at index {index}: {balance}",
|
|
35
|
-
"contractDataNotFound": "Contract data not found for network {network}. Available networks: {availableNetworks}",
|
|
36
|
-
"noPackageData": "No package data found for contract in compiled modules",
|
|
37
|
-
"packageNotFoundOnNetwork": "Package {packageId} not found on network {network}. Please ensure the package is deployed.",
|
|
38
|
-
"dryRunInvalidConfig": "Dry run failed due to invalid configuration",
|
|
39
24
|
"noMoveTomlFilesFound": "No Move.toml files found in current directory or subdirectories. Make sure you're running this from a directory containing Move projects.",
|
|
40
25
|
"addressSwitchFailed": "Failed to switch to active address {targetAddress} for {network}. Active address: {activeAddress}",
|
|
41
26
|
"addressNotInClient": "Address {expectedAddress} not found in IOTA client addresses for alias {aliasName}",
|
|
42
27
|
"noFaucetConfigured": "No faucet URL configured, cannot request funds for deployment.",
|
|
43
28
|
"noPreviousDeploymentForUpgrade": "Cannot upgrade contract: no previous deployment found. Use initial deployment instead.",
|
|
44
29
|
"upgradePackageIdNotFound": "Upgrade failed: new package ID not found in response",
|
|
45
|
-
"moveTomlUpdateFailed": "Failed to update Move.toml file for upgrade",
|
|
46
30
|
"upgradeCapabilityNotFound": "Upgrade capability not found in deployment data",
|
|
47
|
-
"moveTomlNotFound": "Move.toml not found. Expected at: {moveTomlPath}",
|
|
48
31
|
"contractNotBuilt": "Contract has not been built. Run 'move-to-json build' first.",
|
|
49
32
|
"contractDataOutdated": "Contract data is missing or outdated. Run 'move-to-json build' first.",
|
|
50
33
|
"upgradeFailed": "Contract upgrade failed",
|
|
51
|
-
"buildPathNotDirectory": "Build path exists but is not a directory: {buildDir}"
|
|
34
|
+
"buildPathNotDirectory": "Build path exists but is not a directory: {buildDir}",
|
|
35
|
+
"rpcUrlRequired": "Missing required ROC Url.",
|
|
36
|
+
"contractsFileNotFound": "The contracts file is not found \"{contractsPath}\".",
|
|
37
|
+
"fundingFailed": "Funding failed",
|
|
38
|
+
"deployerKeySetupFailed": "Deployer key setup failed network: \"{network}\" alias: \"{aliasName}\" expectedAddress: \"{expectedAddress}\""
|
|
52
39
|
}
|
|
53
40
|
},
|
|
54
41
|
"envSetup": {
|
|
55
|
-
"envFileLoadFailed": "Failed to load environment file: {envFilePath}",
|
|
56
42
|
"mnemonicMissing": "Missing required DEPLOYER_MNEMONIC environment variable for {network}. Set DEPLOYER_MNEMONIC in your environment or use --load-env to load from configuration file (e.g., configs/{network}.env).\n\nYou can generate a mnemonic using:\nnpx \"@twin.org/wallet-cli\" mnemonic --env wallet.env\n\nThen add the MNEMONIC value to your configs/{network}.env file:\n{mnemonicVar}=\"word1 word2 word3 ... word24\"\n\nSee configs/{network}.env.example for reference.",
|
|
57
|
-
"mnemonicInvalidFormat": "Invalid DEPLOYER_MNEMONIC environment variable format for {network}.
|
|
58
|
-
"mnemonicValidationFailed": "Mnemonic validation failed",
|
|
43
|
+
"mnemonicInvalidFormat": "Invalid DEPLOYER_MNEMONIC environment variable format for {network}. Please ensure {mnemonicVar} in your environment or configs/{network}.env contains a valid 24-word mnemonic phrase.",
|
|
59
44
|
"seedInvalidFormat": "Invalid DEPLOYER_SEED environment variable format for {network}. Expected hex string starting with 0x and at least 64 characters.\nPlease ensure {seedVar} in your environment or configs/{network}.env contains a valid hex seed value."
|
|
60
45
|
},
|
|
61
46
|
"environmentUtils": {
|
|
@@ -70,7 +55,6 @@
|
|
|
70
55
|
},
|
|
71
56
|
"commands": {
|
|
72
57
|
"build": {
|
|
73
|
-
"summary": "Compile Move contracts for specified network and generate network-aware JSON structure",
|
|
74
58
|
"description": "Compiles Move smart contracts using the IOTA CLI and generates a network-aware JSON structure containing compiled bytecode modules.",
|
|
75
59
|
"options": {
|
|
76
60
|
"inputGlob": {
|
|
@@ -119,12 +103,10 @@
|
|
|
119
103
|
"warnings": {
|
|
120
104
|
"noMoveFilesFound": "No Move files found for pattern: {inputGlob}",
|
|
121
105
|
"noBytecodeModulesFolder": "No bytecode_modules folder found for contract: {contractName}",
|
|
122
|
-
"noMvFilesFound": "No .mv files found for contract: {contractName}"
|
|
123
|
-
"multipleFilesNotSupported": "Multiple Move files detected. Found {fileCount} files: {fileList}. Please specify a single .move file per build command."
|
|
106
|
+
"noMvFilesFound": "No .mv files found for contract: {contractName}"
|
|
124
107
|
}
|
|
125
108
|
},
|
|
126
109
|
"deploy": {
|
|
127
|
-
"summary": "Deploy compiled contracts to the specified network",
|
|
128
110
|
"description": "Deploys previously compiled Move contracts to the specified IOTA network using the configured environment.",
|
|
129
111
|
"options": {
|
|
130
112
|
"contracts": {
|
|
@@ -177,31 +159,19 @@
|
|
|
177
159
|
}
|
|
178
160
|
},
|
|
179
161
|
"labels": {
|
|
180
|
-
"contractsFile": "Contracts File",
|
|
181
|
-
"network": "Network",
|
|
182
|
-
"dryRunMode": "Dry Run Mode",
|
|
183
|
-
"forceMode": "Force Mode",
|
|
184
|
-
"deployedPackageId": "Deployed Package ID",
|
|
185
|
-
"upgradeCapabilityId": "Upgrade Capability ID",
|
|
186
|
-
"gasUsed": "Gas Used",
|
|
187
|
-
"deploymentStatus": "Deployment Status",
|
|
188
162
|
"iotaEnvironmentCheck": "IOTA environment check",
|
|
189
163
|
"switchedIotaEnvironment": "Switched IOTA environment",
|
|
190
|
-
"contractAlreadyDeployed": "Contract already deployed",
|
|
191
164
|
"dryRunWouldDeploy": "DRY RUN: Would deploy contract",
|
|
192
165
|
"dryRunPackageId": "DRY RUN: Package ID",
|
|
193
166
|
"dryRunGasBudget": "DRY RUN: Gas Budget",
|
|
194
167
|
"dryRunRpcUrl": "DRY RUN: RPC URL",
|
|
195
168
|
"dryRunWalletAddress": "DRY RUN: Wallet Address",
|
|
196
169
|
"dryRunWalletBalance": "DRY RUN: Wallet Balance",
|
|
197
|
-
"dryRunRequiredBalance": "DRY RUN: Required Balance",
|
|
198
|
-
"dryRunBalanceStatus": "DRY RUN: Balance Status",
|
|
199
170
|
"walletAddress": "Wallet Address",
|
|
200
171
|
"walletBalance": "Wallet Balance",
|
|
201
172
|
"deployedPackageIdResult": "Deployed Package ID",
|
|
202
173
|
"upgradeCapabilityIdResult": "Upgrade Capability ID",
|
|
203
174
|
"migrationStateIdResult": "Migration State ID",
|
|
204
|
-
"importedDeployerAddress": "Imported deployer address",
|
|
205
175
|
"switchedActiveAddress": "Switched active address",
|
|
206
176
|
"moveProjectRoot": "Move Project Root",
|
|
207
177
|
"publishCommand": "Publish Command",
|
|
@@ -211,10 +181,7 @@
|
|
|
211
181
|
"insufficientBalanceWarning": "Insufficient balance: {currentBalance} IOTA < {requiredBalance} IOTA",
|
|
212
182
|
"environmentValidationWarning": "Environment validation failed: {message}",
|
|
213
183
|
"gasBudget": "Gas Budget",
|
|
214
|
-
"requiredBalance": "Required Balance",
|
|
215
|
-
"balanceStatus": "Balance Status",
|
|
216
184
|
"faucetFundsRequested": "Faucet funds requested",
|
|
217
|
-
"faucetRequestFailed": "Faucet request failed for {network}: {error}",
|
|
218
185
|
"insufficientBalanceAfterFaucet": "Insufficient balance after faucet request on {network}: {balance} IOTA < {required} IOTA for wallet {walletAddress}. Attempting deployment anyway.",
|
|
219
186
|
"updatedWalletBalance": "Updated wallet balance",
|
|
220
187
|
"balanceCheck": "Balance check",
|
|
@@ -233,19 +200,14 @@
|
|
|
233
200
|
"moveTomlRestored": "Move.toml Restored",
|
|
234
201
|
"contractStatus": "Contract Status",
|
|
235
202
|
"upgradeGuidance": "Upgrade Guidance",
|
|
236
|
-
"lastDeployment": "Last Deployment",
|
|
237
203
|
"previousDeployment": "Previous Deployment",
|
|
238
|
-
"deploymentStrategy": "Deployment Strategy",
|
|
239
204
|
"currentDeployment": "Current Deployment",
|
|
240
205
|
"buildValidation": "Build Validation"
|
|
241
206
|
},
|
|
242
207
|
"progress": {
|
|
243
|
-
"loadingContracts": "Loading compiled contracts...",
|
|
244
208
|
"checkingEnvironment": "Checking IOTA CLI environment...",
|
|
245
209
|
"settingEnvironment": "Setting IOTA CLI environment...",
|
|
246
|
-
"importingDeployerAddress": "Importing deployer address to IOTA CLI...",
|
|
247
210
|
"deployingContract": "Deploying contract: {contractName} ({network})",
|
|
248
|
-
"updatingContractsFile": "Updating contracts file...",
|
|
249
211
|
"requestingFaucetFunds": "Requesting funds from {network} faucet...",
|
|
250
212
|
"requestingAdditionalFaucetFunds": "Requesting additional funds from faucet...",
|
|
251
213
|
"renamingConflictingKey": "Renaming conflicting key alias \"{aliasName}\" to preserve existing key",
|
|
@@ -260,14 +222,12 @@
|
|
|
260
222
|
"contractBuiltAndReadyForUpgrade": "Contract has been built and is ready for upgrade"
|
|
261
223
|
},
|
|
262
224
|
"section": {
|
|
263
|
-
"
|
|
264
|
-
"deploymentResults": "Deployment Results",
|
|
265
|
-
"deployContracts": "Deploy Contracts",
|
|
266
|
-
"contractsFile": "Contracts File"
|
|
225
|
+
"deployContracts": "Deploy Contracts"
|
|
267
226
|
}
|
|
268
227
|
},
|
|
269
228
|
"common": {
|
|
270
229
|
"info": {
|
|
230
|
+
"createdEnvironment": "Created IOTA environment",
|
|
271
231
|
"creatingDefaultEnvironments": "Creating default IOTA environments",
|
|
272
232
|
"noEnvironments": "No IOTA environments found",
|
|
273
233
|
"creatingDefaults": "Creating Defaults",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twin.org/move-to-json",
|
|
3
|
-
"version": "0.0.2-next.
|
|
3
|
+
"version": "0.0.2-next.11",
|
|
4
4
|
"description": "Tool to convert Move source files to JSON",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"@twin.org/cli-core": "next",
|
|
19
19
|
"@twin.org/core": "next",
|
|
20
20
|
"@twin.org/crypto": "next",
|
|
21
|
-
"@twin.org/dlt-iota": "0.0.2-next.
|
|
21
|
+
"@twin.org/dlt-iota": "0.0.2-next.11",
|
|
22
22
|
"@twin.org/nameof": "next",
|
|
23
23
|
"@twin.org/wallet-connector-iota": "next",
|
|
24
24
|
"commander": "14.0.1",
|
|
@@ -45,5 +45,17 @@
|
|
|
45
45
|
],
|
|
46
46
|
"bin": {
|
|
47
47
|
"move-to-json": "bin/index.js"
|
|
48
|
-
}
|
|
48
|
+
},
|
|
49
|
+
"keywords": [
|
|
50
|
+
"twin",
|
|
51
|
+
"trade",
|
|
52
|
+
"iota",
|
|
53
|
+
"framework",
|
|
54
|
+
"blockchain",
|
|
55
|
+
"dlt"
|
|
56
|
+
],
|
|
57
|
+
"bugs": {
|
|
58
|
+
"url": "git+https://github.com/twinfoundation/dlt/issues"
|
|
59
|
+
},
|
|
60
|
+
"homepage": "https://twindev.org"
|
|
49
61
|
}
|