@sparkdotfi/abi-cli 0.2.0-20251029.1a3e2bf9 → 0.2.0-20251031.00360a84

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.
@@ -0,0 +1,6 @@
1
+ export function codegenCheckedAddressMap(addresses) {
2
+ const entries = Object.entries(addresses)
3
+ .map(([domain, address]) => `'${domain}': CheckedAddress('${address}')`)
4
+ .join(`,\n`);
5
+ return `{\n${entries}\n}`;
6
+ }
@@ -1,10 +1,14 @@
1
1
  import { formatWithPrettier } from './formatWithPrettier.js';
2
- import { contractSection, eoaSection } from './sections.js';
2
+ import { contractSection, eoaSection, importsSection } from './sections.js';
3
3
  export function codegenModule(manifest, metadataStore) {
4
+ const options = {
5
+ useCheckedAddress: manifest.config.useCheckedAddress,
6
+ };
4
7
  const sections = [
5
- ...Object.keys(manifest.eoa).map((name) => eoaSection(name, metadataStore.getEoa(name))),
6
- ...Object.keys(manifest.contracts).map((name) => contractSection(name, metadataStore.getContract(name))),
7
- ...Object.keys(manifest.interfaces).map((name) => contractSection(name, metadataStore.getInterface(name))),
8
+ ...importsSection(options),
9
+ ...Object.keys(manifest.eoa).map((name) => eoaSection(name, metadataStore.getEoa(name), options)),
10
+ ...Object.keys(manifest.contracts).map((name) => contractSection(name, metadataStore.getContract(name), options)),
11
+ ...Object.keys(manifest.interfaces).map((name) => contractSection(name, metadataStore.getInterface(name), options)),
8
12
  ];
9
13
  const source = sections.join('\n');
10
14
  return formatWithPrettier(source);
@@ -1,17 +1,18 @@
1
1
  import { domainToChain, domainToChainId } from '@sparkdotfi/common-universal';
2
2
  import { toCamelCase } from 'remeda';
3
- export function eoaSection(name, metadata) {
3
+ import { codegenCheckedAddressMap } from './codegenCheckedAddressMap.js';
4
+ export function eoaSection(name, metadata, options) {
4
5
  return `
5
6
  ${headerSection(name, 'eoa')}
6
7
  ${linksSection(metadata.addresses)}
7
- ${addressesSection(name, metadata.addresses, 'eoa')}
8
+ ${addressesSection(name, metadata.addresses, 'eoa', options)}
8
9
  `;
9
10
  }
10
- export function contractSection(name, metadata) {
11
+ export function contractSection(name, metadata, options) {
11
12
  return `
12
13
  ${headerSection(name, 'contract')}
13
14
  ${abiSection(name, metadata.abi)}
14
- ${multiAddressesSection(name, metadata.instances)}
15
+ ${multiAddressesSection(name, metadata.instances, options)}
15
16
  `;
16
17
  }
17
18
  export function headerSection(name, type) {
@@ -29,11 +30,17 @@ export function headerSection(name, type) {
29
30
  //////////////////////////////////////////////////////////////////
30
31
  `;
31
32
  }
32
- export function multiAddressesSection(name, addressesMetadata) {
33
+ export function importsSection(options) {
34
+ if (options.useCheckedAddress) {
35
+ return ["import { CheckedAddress } from '@sparkdotfi/common-universal'"];
36
+ }
37
+ return [];
38
+ }
39
+ export function multiAddressesSection(name, addressesMetadata, options) {
33
40
  return addressesMetadata
34
41
  .flatMap((metadata) => [
35
42
  linksSection(metadata.addresses),
36
- addressesSection(metadata.name, metadata.addresses, 'contract'),
43
+ addressesSection(metadata.name, metadata.addresses, 'contract', options),
37
44
  configSection(name, metadata.name),
38
45
  ])
39
46
  .join('\n');
@@ -51,8 +58,8 @@ function abiSection(name, data) {
51
58
  const stringified = JSON.stringify(data);
52
59
  return constDeclaration(getAbiSymbol(name), stringified);
53
60
  }
54
- export function addressesSection(name, addresses, type) {
55
- const stringified = JSON.stringify(multiDomainAddressToMultiChain(addresses), null, 2);
61
+ export function addressesSection(name, addresses, type, options) {
62
+ const stringified = stringifyAddresses(addresses, options);
56
63
  return constDeclaration(getAddressSymbol(name, type), stringified);
57
64
  }
58
65
  function getAbiSymbol(name) {
@@ -73,6 +80,13 @@ function getAddressSymbol(name, type) {
73
80
  const typePostfix = type === 'eoa' ? 'Eoa' : '';
74
81
  return `${toCamelCase(name)}${typePostfix}Address`;
75
82
  }
83
+ function stringifyAddresses(addresses, options) {
84
+ const multiChainAddresses = multiDomainAddressToMultiChain(addresses);
85
+ if (options.useCheckedAddress) {
86
+ return codegenCheckedAddressMap(multiChainAddresses);
87
+ }
88
+ return JSON.stringify(multiChainAddresses, null, 2);
89
+ }
76
90
  function multiDomainAddressToMultiChain(address) {
77
91
  const entries = Object.entries(address).map(([domain, address]) => [domainToChainId[domain], address]);
78
92
  return Object.fromEntries(entries);
@@ -43,6 +43,7 @@ export const ManifestSchema = z.object({
43
43
  drpcApiKey: z.string(),
44
44
  etherscanApiKey: z.string(),
45
45
  }),
46
+ useCheckedAddress: z.boolean().default(false),
46
47
  }),
47
48
  eoa: EoasSchema.default({}),
48
49
  contracts: ContractsSchema.default({}),
@@ -0,0 +1,3 @@
1
+ import { CheckedAddress } from '@sparkdotfi/common-universal';
2
+ export declare function codegenCheckedAddressMap(addresses: Record<string, CheckedAddress>): string;
3
+ //# sourceMappingURL=codegenCheckedAddressMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegenCheckedAddressMap.d.ts","sourceRoot":"","sources":["../../../../src/codegen/codegenCheckedAddressMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,MAAM,CAM1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"codegenModule.d.ts","sourceRoot":"","sources":["../../../../src/codegen/codegenModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAIlE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAU/F"}
1
+ {"version":3,"file":"codegenModule.d.ts","sourceRoot":"","sources":["../../../../src/codegen/codegenModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAKlE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAe/F"}
@@ -1,10 +1,11 @@
1
1
  import { MultiDomainAddress } from '../manifest/manifest.js';
2
2
  import { ContractMetadata, EoaMetadata, InstancesMetadata, InterfaceMetadata } from '../metadata-store/MetadataStore.js';
3
- import { EntityType } from './types.js';
4
- export declare function eoaSection(name: string, metadata: EoaMetadata): string;
5
- export declare function contractSection(name: string, metadata: ContractMetadata | InterfaceMetadata): string;
3
+ import { CodegenOptions, EntityType } from './types.js';
4
+ export declare function eoaSection(name: string, metadata: EoaMetadata, options: CodegenOptions): string;
5
+ export declare function contractSection(name: string, metadata: ContractMetadata | InterfaceMetadata, options: CodegenOptions): string;
6
6
  export declare function headerSection(name: string, type: EntityType): string;
7
- export declare function multiAddressesSection(name: string, addressesMetadata: InstancesMetadata): string;
7
+ export declare function importsSection(options: CodegenOptions): string[];
8
+ export declare function multiAddressesSection(name: string, addressesMetadata: InstancesMetadata, options: CodegenOptions): string;
8
9
  export declare function linksSection(addresses: MultiDomainAddress): string;
9
- export declare function addressesSection(name: string, addresses: MultiDomainAddress, type: EntityType): string;
10
+ export declare function addressesSection(name: string, addresses: MultiDomainAddress, type: EntityType, options: CodegenOptions): string;
10
11
  //# sourceMappingURL=sections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../../../../src/codegen/sections.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACxH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM,CAMtE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,MAAM,CAMpG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAepE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,GAAG,MAAM,CAQhG;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CASlE;AAOD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAGtG"}
1
+ {"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../../../../src/codegen/sections.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAExH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAM/F;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,gBAAgB,GAAG,iBAAiB,EAC9C,OAAO,EAAE,cAAc,GACtB,MAAM,CAMR;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAepE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,EAAE,CAKhE;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,cAAc,GACtB,MAAM,CAQR;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CASlE;AAOD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,kBAAkB,EAC7B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,cAAc,GACtB,MAAM,CAGR"}
@@ -1,2 +1,5 @@
1
1
  export type EntityType = 'contract' | 'eoa';
2
+ export interface CodegenOptions {
3
+ useCheckedAddress: boolean;
4
+ }
2
5
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/codegen/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,KAAK,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/codegen/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,KAAK,CAAA;AAE3C,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,OAAO,CAAA;CAC3B"}
@@ -575,18 +575,21 @@ export declare const ManifestSchema: z.ZodObject<{
575
575
  drpcApiKey: string;
576
576
  etherscanApiKey: string;
577
577
  }>;
578
+ useCheckedAddress: z.ZodDefault<z.ZodBoolean>;
578
579
  }, "strip", z.ZodTypeAny, {
579
580
  out: string;
580
581
  secrets: {
581
582
  drpcApiKey: string;
582
583
  etherscanApiKey: string;
583
584
  };
585
+ useCheckedAddress: boolean;
584
586
  }, {
585
587
  out: string;
586
588
  secrets: {
587
589
  drpcApiKey: string;
588
590
  etherscanApiKey: string;
589
591
  };
592
+ useCheckedAddress?: boolean | undefined;
590
593
  }>;
591
594
  eoa: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodString, `0x${string}` & {
592
595
  readonly __TAG__: "CheckedAddress";
@@ -836,6 +839,7 @@ export declare const ManifestSchema: z.ZodObject<{
836
839
  drpcApiKey: string;
837
840
  etherscanApiKey: string;
838
841
  };
842
+ useCheckedAddress: boolean;
839
843
  };
840
844
  eoa: Record<string, Partial<Record<"mainnet" | "base" | "gnosis" | "arbitrum" | "optimism" | "worldchain" | "unichain" | "avalanche" | "sepolia" | "baseSepolia", {
841
845
  address: `0x${string}` & {
@@ -867,6 +871,7 @@ export declare const ManifestSchema: z.ZodObject<{
867
871
  drpcApiKey: string;
868
872
  etherscanApiKey: string;
869
873
  };
874
+ useCheckedAddress?: boolean | undefined;
870
875
  };
871
876
  eoa?: Record<string, Record<string, string | {
872
877
  address: string;
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../../src/manifest/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA4B,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAEpG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,oBAAoB;;UAAuC,CAAA;AACxE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;EAG5B,CAAA;AACF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;EAQjC,CAAA;AAEJ,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAO9C,CAAA;AAEJ,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAK5C,CAAA;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKxC,CAAA;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAuD,CAAA;AAE9E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAA2D,CAAA;AAEvF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIpC,CAAA;AACF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAkD,CAAA;AAE/E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWzB,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AACxD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAA;AACtD,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;AACvC,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC5E,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAC/F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAA;AACzE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qCAAqC,CAAC,CAAA;AAE5F,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../../src/manifest/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA4B,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAEpG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,oBAAoB;;UAAuC,CAAA;AACxE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;EAG5B,CAAA;AACF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;EAQjC,CAAA;AAEJ,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAO9C,CAAA;AAEJ,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAK5C,CAAA;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKxC,CAAA;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAuD,CAAA;AAE9E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAA2D,CAAA;AAEvF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIpC,CAAA;AACF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAkD,CAAA;AAE/E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzB,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AACxD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAA;AACtD,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;AACvC,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC5E,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAC/F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAA;AACzE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qCAAqC,CAAC,CAAA;AAE5F,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sparkdotfi/abi-cli",
3
- "version": "0.2.0-20251029.1a3e2bf9",
3
+ "version": "0.2.0-20251031.00360a84",
4
4
  "engines": {
5
5
  "node": ">=22.0.0"
6
6
  },