@secondlayer/cli 1.3.0 → 1.4.1
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/cli.js +14962 -14700
- package/dist/cli.js.map +95 -91
- package/dist/index.js +62 -60
- package/dist/index.js.map +9 -9
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import { createRequire } from "node:module";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
2
4
|
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
8
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
9
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
10
|
+
for (let key of __getOwnPropNames(mod))
|
|
11
|
+
if (!__hasOwnProp.call(to, key))
|
|
12
|
+
__defProp(to, key, {
|
|
13
|
+
get: () => mod[key],
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
3
18
|
var __export = (target, all) => {
|
|
4
19
|
for (var name in all)
|
|
5
20
|
__defProp(target, name, {
|
|
@@ -377,12 +392,12 @@ ${JSON.stringify(content, null, 2)}`;
|
|
|
377
392
|
}
|
|
378
393
|
// src/plugins/clarinet/index.ts
|
|
379
394
|
import { initSimnet } from "@hirosystems/clarinet-sdk";
|
|
380
|
-
import { toCamelCase as
|
|
395
|
+
import { toCamelCase as toCamelCase5 } from "@secondlayer/stacks/clarity";
|
|
381
396
|
|
|
382
397
|
// src/generators/contract.ts
|
|
383
398
|
init_format();
|
|
384
399
|
import {
|
|
385
|
-
toCamelCase as
|
|
400
|
+
toCamelCase as toCamelCase4
|
|
386
401
|
} from "@secondlayer/stacks/clarity";
|
|
387
402
|
|
|
388
403
|
// src/utils/type-mapping.ts
|
|
@@ -599,6 +614,37 @@ function generateClarityConversion(argName, argType) {
|
|
|
599
614
|
return `${argName}`;
|
|
600
615
|
}
|
|
601
616
|
|
|
617
|
+
// src/utils/generator-helpers.ts
|
|
618
|
+
import { toCamelCase as toCamelCase3, isAbiTuple as isAbiTuple3 } from "@secondlayer/stacks/clarity";
|
|
619
|
+
function generateArgsSignature(args) {
|
|
620
|
+
if (args.length === 0)
|
|
621
|
+
return "";
|
|
622
|
+
const argsTypes = args.map((arg) => {
|
|
623
|
+
const camelName = toCamelCase3(arg.name);
|
|
624
|
+
return `${camelName}: ${getTypeForArg(arg)}`;
|
|
625
|
+
}).join("; ");
|
|
626
|
+
return `args: { ${argsTypes} }, `;
|
|
627
|
+
}
|
|
628
|
+
function generateClarityArgs(args) {
|
|
629
|
+
if (args.length === 0)
|
|
630
|
+
return "";
|
|
631
|
+
return args.map((arg) => {
|
|
632
|
+
const argName = `args.${toCamelCase3(arg.name)}`;
|
|
633
|
+
return generateClarityConversion(argName, arg);
|
|
634
|
+
}).join(", ");
|
|
635
|
+
}
|
|
636
|
+
function generateMapKeyConversion(keyType) {
|
|
637
|
+
if (isAbiTuple3(keyType)) {
|
|
638
|
+
const fields = keyType.tuple.map((field) => {
|
|
639
|
+
const camelFieldName = toCamelCase3(field.name);
|
|
640
|
+
const fieldConversion = generateClarityConversion(`key.${camelFieldName}`, { type: field.type });
|
|
641
|
+
return `"${field.name}": ${fieldConversion}`;
|
|
642
|
+
}).join(", ");
|
|
643
|
+
return `Cl.tuple({ ${fields} })`;
|
|
644
|
+
}
|
|
645
|
+
return generateClarityConversion("key", { type: keyType });
|
|
646
|
+
}
|
|
647
|
+
|
|
602
648
|
// src/generators/contract.ts
|
|
603
649
|
function generateNetworkUtils() {
|
|
604
650
|
return `/**
|
|
@@ -690,7 +736,7 @@ function generateAbiConstant(name, abi) {
|
|
|
690
736
|
return `export const ${name}Abi = ${abiJson} as const`;
|
|
691
737
|
}
|
|
692
738
|
function generateMethod(func, address, contractName) {
|
|
693
|
-
const methodName =
|
|
739
|
+
const methodName = toCamelCase4(func.name);
|
|
694
740
|
if (func.args.length === 0) {
|
|
695
741
|
return `${methodName}() {
|
|
696
742
|
return {
|
|
@@ -703,7 +749,7 @@ function generateMethod(func, address, contractName) {
|
|
|
703
749
|
}
|
|
704
750
|
if (func.args.length === 1) {
|
|
705
751
|
const originalArgName = func.args[0].name;
|
|
706
|
-
const argName =
|
|
752
|
+
const argName = toCamelCase4(originalArgName);
|
|
707
753
|
const argType = getTypeForArg(func.args[0]);
|
|
708
754
|
const clarityConversion = generateClarityConversion(argName, func.args[0]);
|
|
709
755
|
return `${methodName}(...args: [{ ${argName}: ${argType} }] | [${argType}]) {
|
|
@@ -719,17 +765,17 @@ function generateMethod(func, address, contractName) {
|
|
|
719
765
|
}
|
|
720
766
|
}`;
|
|
721
767
|
}
|
|
722
|
-
const argsList = func.args.map((arg) =>
|
|
768
|
+
const argsList = func.args.map((arg) => toCamelCase4(arg.name)).join(", ");
|
|
723
769
|
const argsTypes = func.args.map((arg) => {
|
|
724
|
-
const camelName =
|
|
770
|
+
const camelName = toCamelCase4(arg.name);
|
|
725
771
|
return `${camelName}: ${getTypeForArg(arg)}`;
|
|
726
772
|
}).join("; ");
|
|
727
773
|
const argsArray = func.args.map((arg) => {
|
|
728
|
-
const argName =
|
|
774
|
+
const argName = toCamelCase4(arg.name);
|
|
729
775
|
return generateClarityConversion(argName, arg);
|
|
730
776
|
}).join(", ");
|
|
731
777
|
const objectAccess = func.args.map((arg) => {
|
|
732
|
-
const camelName =
|
|
778
|
+
const camelName = toCamelCase4(arg.name);
|
|
733
779
|
return `args[0].${camelName}`;
|
|
734
780
|
}).join(", ");
|
|
735
781
|
const positionTypes = func.args.map((arg) => getTypeForArg(arg)).join(", ");
|
|
@@ -751,7 +797,7 @@ function generateMapsObject(maps, address, contractName) {
|
|
|
751
797
|
return "";
|
|
752
798
|
}
|
|
753
799
|
const mapMethods = maps.map((map) => {
|
|
754
|
-
const methodName =
|
|
800
|
+
const methodName = toCamelCase4(map.name);
|
|
755
801
|
const keyType = getTypeForArg({ type: map.key });
|
|
756
802
|
const valueType = getTypeForArg({ type: map.value });
|
|
757
803
|
const keyConversion = generateMapKeyConversion(map.key);
|
|
@@ -812,7 +858,7 @@ function generateVarsObject(variables, address, contractName) {
|
|
|
812
858
|
return "";
|
|
813
859
|
}
|
|
814
860
|
const varMethods = dataVars.map((variable) => {
|
|
815
|
-
const methodName =
|
|
861
|
+
const methodName = toCamelCase4(variable.name);
|
|
816
862
|
const valueType = getTypeForArg({ type: variable.type });
|
|
817
863
|
return `${methodName}: {
|
|
818
864
|
async get(options?: { network?: 'mainnet' | 'testnet' | 'devnet' }): Promise<${valueType}> {
|
|
@@ -857,7 +903,7 @@ function generateConstantsObject(variables, address, contractName) {
|
|
|
857
903
|
return "";
|
|
858
904
|
}
|
|
859
905
|
const constMethods = constants.map((constant) => {
|
|
860
|
-
const methodName =
|
|
906
|
+
const methodName = toCamelCase4(constant.name);
|
|
861
907
|
const valueType = getTypeForArg({ type: constant.type });
|
|
862
908
|
return `${methodName}: {
|
|
863
909
|
async get(options?: { network?: 'mainnet' | 'testnet' | 'devnet' }): Promise<${valueType}> {
|
|
@@ -893,17 +939,6 @@ function generateConstantsObject(variables, address, contractName) {
|
|
|
893
939
|
`)}
|
|
894
940
|
}`;
|
|
895
941
|
}
|
|
896
|
-
function generateMapKeyConversion(keyType) {
|
|
897
|
-
if (keyType.tuple) {
|
|
898
|
-
const fields = keyType.tuple.map((field) => {
|
|
899
|
-
const camelFieldName = toCamelCase3(field.name);
|
|
900
|
-
const fieldConversion = generateClarityConversion(`key.${camelFieldName}`, { type: field.type });
|
|
901
|
-
return `"${field.name}": ${fieldConversion}`;
|
|
902
|
-
}).join(", ");
|
|
903
|
-
return `Cl.tuple({ ${fields} })`;
|
|
904
|
-
}
|
|
905
|
-
return generateClarityConversion("key", { type: keyType });
|
|
906
|
-
}
|
|
907
942
|
|
|
908
943
|
// src/utils/abi-compat.ts
|
|
909
944
|
function normalizeAccess(access) {
|
|
@@ -1060,7 +1095,7 @@ function normalizeAbi(abi) {
|
|
|
1060
1095
|
|
|
1061
1096
|
// src/plugins/clarinet/index.ts
|
|
1062
1097
|
function sanitizeContractName(name) {
|
|
1063
|
-
return
|
|
1098
|
+
return toCamelCase5(name);
|
|
1064
1099
|
}
|
|
1065
1100
|
async function isUserDefinedContract(contractId, manifestPath) {
|
|
1066
1101
|
const { address, contractName } = parseContractId(contractId);
|
|
@@ -1171,28 +1206,6 @@ async function hasClarinetProject(path2 = "./Clarinet.toml") {
|
|
|
1171
1206
|
}
|
|
1172
1207
|
// src/plugins/actions/generators.ts
|
|
1173
1208
|
import { toCamelCase as toCamelCase6 } from "@secondlayer/stacks/clarity";
|
|
1174
|
-
|
|
1175
|
-
// src/utils/generator-helpers.ts
|
|
1176
|
-
import { toCamelCase as toCamelCase5 } from "@secondlayer/stacks/clarity";
|
|
1177
|
-
function generateArgsSignature(args) {
|
|
1178
|
-
if (args.length === 0)
|
|
1179
|
-
return "";
|
|
1180
|
-
const argsTypes = args.map((arg) => {
|
|
1181
|
-
const camelName = toCamelCase5(arg.name);
|
|
1182
|
-
return `${camelName}: ${getTypeForArg(arg)}`;
|
|
1183
|
-
}).join("; ");
|
|
1184
|
-
return `args: { ${argsTypes} }, `;
|
|
1185
|
-
}
|
|
1186
|
-
function generateClarityArgs(args) {
|
|
1187
|
-
if (args.length === 0)
|
|
1188
|
-
return "";
|
|
1189
|
-
return args.map((arg) => {
|
|
1190
|
-
const argName = `args.${toCamelCase5(arg.name)}`;
|
|
1191
|
-
return generateClarityConversion(argName, arg);
|
|
1192
|
-
}).join(", ");
|
|
1193
|
-
}
|
|
1194
|
-
|
|
1195
|
-
// src/plugins/actions/generators.ts
|
|
1196
1209
|
function generateReadHelpers(contract, options) {
|
|
1197
1210
|
const { abi } = contract;
|
|
1198
1211
|
const functions = abi.functions || [];
|
|
@@ -2483,7 +2496,7 @@ var react = (options = {}) => {
|
|
|
2483
2496
|
// src/plugins/testing/generators.ts
|
|
2484
2497
|
import {
|
|
2485
2498
|
toCamelCase as toCamelCase8,
|
|
2486
|
-
isAbiTuple as
|
|
2499
|
+
isAbiTuple as isAbiTuple4
|
|
2487
2500
|
} from "@secondlayer/stacks/clarity";
|
|
2488
2501
|
function toPascalCase(str) {
|
|
2489
2502
|
const camel = toCamelCase8(str);
|
|
@@ -2539,27 +2552,16 @@ function generateDataVarHelper(variable, contractId) {
|
|
|
2539
2552
|
}`;
|
|
2540
2553
|
}
|
|
2541
2554
|
function getMapKeyType(keyType) {
|
|
2542
|
-
if (
|
|
2555
|
+
if (isAbiTuple4(keyType)) {
|
|
2543
2556
|
const fields = keyType.tuple.map((field) => `${toCamelCase8(field.name)}: ${getTypeForArg({ type: field.type })}`).join("; ");
|
|
2544
2557
|
return `{ ${fields} }`;
|
|
2545
2558
|
}
|
|
2546
2559
|
return getTypeForArg({ type: keyType });
|
|
2547
2560
|
}
|
|
2548
|
-
function generateMapKeyConversion2(keyType) {
|
|
2549
|
-
if (isAbiTuple3(keyType)) {
|
|
2550
|
-
const fields = keyType.tuple.map((field) => {
|
|
2551
|
-
const camelFieldName = toCamelCase8(field.name);
|
|
2552
|
-
const fieldConversion = generateClarityConversion(`key.${camelFieldName}`, { type: field.type });
|
|
2553
|
-
return `"${field.name}": ${fieldConversion}`;
|
|
2554
|
-
}).join(", ");
|
|
2555
|
-
return `Cl.tuple({ ${fields} })`;
|
|
2556
|
-
}
|
|
2557
|
-
return generateClarityConversion("key", { type: keyType });
|
|
2558
|
-
}
|
|
2559
2561
|
function generateMapEntryHelper(map, contractId) {
|
|
2560
2562
|
const methodName = toCamelCase8(map.name);
|
|
2561
2563
|
const keyType = getMapKeyType(map.key);
|
|
2562
|
-
const keyConversion =
|
|
2564
|
+
const keyConversion = generateMapKeyConversion(map.key);
|
|
2563
2565
|
return `${methodName}: (key: ${keyType}) => {
|
|
2564
2566
|
return simnet.getMapEntry(
|
|
2565
2567
|
'${contractId}',
|
|
@@ -2755,5 +2757,5 @@ export {
|
|
|
2755
2757
|
PluginManager
|
|
2756
2758
|
};
|
|
2757
2759
|
|
|
2758
|
-
//# debugId=
|
|
2760
|
+
//# debugId=A0CB31E87C48058164756E2164756E21
|
|
2759
2761
|
//# sourceMappingURL=index.js.map
|