@clarigen/core 1.0.4 → 1.0.6

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/index.d.ts CHANGED
@@ -2,50 +2,50 @@ import { ClarityAbi as ClarityAbi$1, PrincipalCV, ClarityValue, ClarityAbiType a
2
2
  import { StacksNetwork } from 'micro-stacks/network';
3
3
  import { StacksTransaction } from 'micro-stacks/transactions';
4
4
 
5
- declare type ClarityAbiTypeBuffer = {
5
+ type ClarityAbiTypeBuffer = {
6
6
  buffer: {
7
7
  length: number;
8
8
  };
9
9
  };
10
- declare type ClarityAbiTypeStringAscii = {
10
+ type ClarityAbiTypeStringAscii = {
11
11
  'string-ascii': {
12
12
  length: number;
13
13
  };
14
14
  };
15
- declare type ClarityAbiTypeStringUtf8 = {
15
+ type ClarityAbiTypeStringUtf8 = {
16
16
  'string-utf8': {
17
17
  length: number;
18
18
  };
19
19
  };
20
- declare type ClarityAbiTypeResponse = {
20
+ type ClarityAbiTypeResponse = {
21
21
  response: {
22
22
  ok: ClarityAbiType;
23
23
  error: ClarityAbiType;
24
24
  };
25
25
  };
26
- declare type ClarityAbiTypeOptional = {
26
+ type ClarityAbiTypeOptional = {
27
27
  optional: ClarityAbiType;
28
28
  };
29
- declare type ClarityAbiTypeTuple = {
29
+ type ClarityAbiTypeTuple = {
30
30
  tuple: {
31
31
  name: string;
32
32
  type: ClarityAbiType;
33
33
  }[];
34
34
  };
35
- declare type ClarityAbiTypeList = {
35
+ type ClarityAbiTypeList = {
36
36
  list: {
37
37
  type: ClarityAbiType;
38
38
  length: number;
39
39
  };
40
40
  };
41
- declare type ClarityAbiTypeUInt128 = 'uint128';
42
- declare type ClarityAbiTypeInt128 = 'int128';
43
- declare type ClarityAbiTypeBool = 'bool';
44
- declare type ClarityAbiTypePrincipal = 'principal';
45
- declare type ClarityAbiTypeTraitReference = 'trait_reference';
46
- declare type ClarityAbiTypeNone = 'none';
47
- declare type ClarityAbiTypePrimitive = ClarityAbiTypeUInt128 | ClarityAbiTypeInt128 | ClarityAbiTypeBool | ClarityAbiTypePrincipal | ClarityAbiTypeTraitReference | ClarityAbiTypeNone;
48
- declare type ClarityAbiType = ClarityAbiTypePrimitive | ClarityAbiTypeBuffer | ClarityAbiTypeResponse | ClarityAbiTypeOptional | ClarityAbiTypeTuple | ClarityAbiTypeList | ClarityAbiTypeStringAscii | ClarityAbiTypeStringUtf8 | ClarityAbiTypeTraitReference;
41
+ type ClarityAbiTypeUInt128 = 'uint128';
42
+ type ClarityAbiTypeInt128 = 'int128';
43
+ type ClarityAbiTypeBool = 'bool';
44
+ type ClarityAbiTypePrincipal = 'principal';
45
+ type ClarityAbiTypeTraitReference = 'trait_reference';
46
+ type ClarityAbiTypeNone = 'none';
47
+ type ClarityAbiTypePrimitive = ClarityAbiTypeUInt128 | ClarityAbiTypeInt128 | ClarityAbiTypeBool | ClarityAbiTypePrincipal | ClarityAbiTypeTraitReference | ClarityAbiTypeNone;
48
+ type ClarityAbiType = ClarityAbiTypePrimitive | ClarityAbiTypeBuffer | ClarityAbiTypeResponse | ClarityAbiTypeOptional | ClarityAbiTypeTuple | ClarityAbiTypeList | ClarityAbiTypeStringAscii | ClarityAbiTypeStringUtf8 | ClarityAbiTypeTraitReference;
49
49
  interface ClarityAbiArg {
50
50
  name: string;
51
51
  type: ClarityAbiType;
@@ -58,11 +58,11 @@ interface ClarityAbiFunction {
58
58
  type: ClarityAbiType;
59
59
  };
60
60
  }
61
- declare type TypedAbiArg<T, N extends string> = {
61
+ type TypedAbiArg<T, N extends string> = {
62
62
  _t?: T;
63
63
  name: N;
64
64
  };
65
- declare type TypedAbiFunction<T extends TypedAbiArg<unknown, string>[], R> = ClarityAbiFunction & {
65
+ type TypedAbiFunction<T extends TypedAbiArg<unknown, string>[], R> = ClarityAbiFunction & {
66
66
  _t?: T;
67
67
  _r?: R;
68
68
  };
@@ -71,7 +71,7 @@ interface ClarityAbiVariable {
71
71
  access: 'variable' | 'constant';
72
72
  type: ClarityAbiType;
73
73
  }
74
- declare type TypedAbiVariable<T> = ClarityAbiVariable & {
74
+ type TypedAbiVariable<T> = ClarityAbiVariable & {
75
75
  defaultValue: T;
76
76
  };
77
77
  interface ClarityAbiMap {
@@ -79,7 +79,7 @@ interface ClarityAbiMap {
79
79
  key: ClarityAbiType;
80
80
  value: ClarityAbiType;
81
81
  }
82
- declare type TypedAbiMap<K, V> = ClarityAbiMap & {
82
+ type TypedAbiMap<K, V> = ClarityAbiMap & {
83
83
  _k?: K;
84
84
  _v?: V;
85
85
  };
@@ -90,7 +90,7 @@ interface ClarityAbiTypeNonFungibleToken {
90
90
  name: string;
91
91
  type: ClarityAbiType | Readonly<ClarityAbiType>;
92
92
  }
93
- declare type TypedAbi = Readonly<{
93
+ type TypedAbi = Readonly<{
94
94
  functions: {
95
95
  [key: string]: TypedAbiFunction<TypedAbiArg<unknown, string>[], unknown>;
96
96
  };
@@ -118,9 +118,9 @@ interface ResponseErr<T, E> {
118
118
  isOk: false;
119
119
  _o?: T;
120
120
  }
121
- declare type Response<Ok, Err> = ResponseOk<Ok, Err> | ResponseErr<Ok, Err>;
122
- declare type OkType<R> = R extends ResponseOk<infer V, unknown> ? V : never;
123
- declare type ErrType<R> = R extends ResponseErr<unknown, infer V> ? V : never;
121
+ type Response<Ok, Err> = ResponseOk<Ok, Err> | ResponseErr<Ok, Err>;
122
+ type OkType<R> = R extends ResponseOk<infer V, unknown> ? V : never;
123
+ type ErrType<R> = R extends ResponseErr<unknown, infer V> ? V : never;
124
124
 
125
125
  declare function ok<T, Err = never>(value: T): ResponseOk<T, Err>;
126
126
  declare function err<Ok = never, T = unknown>(value: T): ResponseErr<Ok, T>;
@@ -141,8 +141,8 @@ declare function cvToValue<T = any>(val: ClarityValue, returnResponse?: boolean)
141
141
  * @param jsonCompat - enable to serialize bigints to strings
142
142
  */
143
143
  declare function hexToCvValue<T>(hex: string, jsonCompat?: boolean): any;
144
- declare type TupleInput = Record<string, any>;
145
- declare type CVInput = string | boolean | TupleInput | number | bigint;
144
+ type TupleInput = Record<string, any>;
145
+ type CVInput = string | boolean | TupleInput | number | bigint;
146
146
  declare function parseToCV(input: CVInput, type: ClarityAbiType$1): ClarityValue;
147
147
  declare function cvToString(val: ClarityValue, encoding?: 'tryAscii' | 'hex'): string;
148
148
  /**
@@ -152,26 +152,30 @@ declare function cvToString(val: ClarityValue, encoding?: 'tryAscii' | 'hex'): s
152
152
  *
153
153
  * @param val - ClarityValue
154
154
  */
155
- declare function cvToJSON<T = any>(val: ClarityValue): T;
155
+ declare function cvToJSON<T = any>(val: ClarityValue, returnResponse?: boolean): T;
156
156
  declare function transformObjectArgs(func: ClarityAbiFunction$1, args: Record<string, any>): ClarityValue[];
157
157
  declare function transformArgsArray(func: ClarityAbiFunction$1, args: any[]): ClarityValue[];
158
158
  declare function transformArgsToCV(func: ClarityAbiFunction$1, args: any[] | [Record<string, any>]): ClarityValue[];
159
159
  declare function findJsTupleKey(key: string, input: Record<string, any>): string;
160
160
  declare function expectOk<Ok>(response: Response<Ok, any>): Ok;
161
161
  declare function expectErr<Err>(response: Response<any, Err>): Err;
162
- declare type AbiPrimitiveTo<T extends ClarityAbiTypePrimitive> = T extends ClarityAbiTypeInt128 ? bigint : T extends ClarityAbiTypeUInt128 ? bigint : T extends ClarityAbiTypeBool ? boolean : T extends ClarityAbiTypePrincipal ? string : T extends ClarityAbiTypeTraitReference ? string : T extends ClarityAbiTypeNone ? never : T;
163
- declare type ReadonlyTuple = {
162
+ type AbiPrimitiveTo<T extends ClarityAbiTypePrimitive> = T extends ClarityAbiTypeInt128 ? bigint : T extends ClarityAbiTypeUInt128 ? bigint : T extends ClarityAbiTypeBool ? boolean : T extends ClarityAbiTypePrincipal ? string : T extends ClarityAbiTypeTraitReference ? string : T extends ClarityAbiTypeNone ? never : T;
163
+ type ReadonlyTuple = {
164
164
  readonly tuple: Readonly<ClarityAbiTypeTuple$1['tuple']>;
165
165
  };
166
- declare type TupleTypeUnion<T> = T extends Readonly<ClarityAbiTypeTuple$1['tuple'][number]> ? {
166
+ type TupleTypeUnion<T> = T extends Readonly<ClarityAbiTypeTuple$1['tuple'][number]> ? {
167
167
  -readonly [Z in T['name']]: AbiTypeTo<T['type']>;
168
168
  } : never;
169
- declare type UnionToIntersection$1<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
170
- declare type Compact$1<T> = {
169
+ type UnionToIntersection$1<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
170
+ type Compact$1<T> = {
171
171
  [K in keyof T]: T[K];
172
172
  };
173
- declare type AbiTupleTo<T extends ReadonlyTuple> = Compact$1<UnionToIntersection$1<TupleTypeUnion<T['tuple'][number]>>>;
174
- declare type AbiTypeTo<T extends ClarityAbiType$1 | ReadonlyTuple> = T extends ClarityAbiTypePrimitive ? AbiPrimitiveTo<T> : T extends ClarityAbiTypeBuffer ? Uint8Array : T extends ClarityAbiTypeStringAscii ? string : T extends ClarityAbiTypeStringUtf8 ? string : T extends ClarityAbiTypeList ? AbiTypeTo<T['list']['type']>[] : T extends ClarityAbiTypeOptional ? AbiTypeTo<T['optional']> | null : T extends ClarityAbiTypeResponse ? Response<AbiTypeTo<T['response']['ok']>, AbiTypeTo<T['response']['error']>> : T extends ReadonlyTuple ? AbiTupleTo<T> : T;
173
+ type AbiTupleTo<T extends ReadonlyTuple> = Compact$1<UnionToIntersection$1<TupleTypeUnion<T['tuple'][number]>>>;
174
+ type AbiTypeTo<T extends ClarityAbiType$1 | ReadonlyTuple> = T extends ClarityAbiTypePrimitive ? AbiPrimitiveTo<T> : T extends ClarityAbiTypeBuffer ? Uint8Array : T extends ClarityAbiTypeStringAscii ? string : T extends ClarityAbiTypeStringUtf8 ? string : T extends ClarityAbiTypeList ? AbiTypeTo<T['list']['type']>[] : T extends ClarityAbiTypeOptional ? AbiTypeTo<T['optional']> | null : T extends ClarityAbiTypeResponse ? Response<AbiTypeTo<T['response']['ok']>, AbiTypeTo<T['response']['error']>> : T extends ReadonlyTuple ? AbiTupleTo<T> : T;
175
+ type FunctionReturnType<T> = T extends TypedAbiFunction<TypedAbiArg<unknown, string>[], infer R> ? R : never;
176
+ type Jsonize<T> = T extends BigInt ? string : T extends Uint8Array ? string : T extends Record<keyof T, unknown> ? {
177
+ [K in keyof T as K]: Jsonize<T[K]>;
178
+ } : T;
175
179
 
176
180
  interface ResultAssets {
177
181
  stx: Record<string, string>;
@@ -192,52 +196,52 @@ interface ContractCall<T> {
192
196
  interface ContractCallTyped<Args extends UnknownArgs, R> extends Omit<ContractCall<R>, 'nativeArgs'> {
193
197
  nativeArgs: ArgsType<Args>;
194
198
  }
195
- declare type ContractFunctions = {
199
+ type ContractFunctions = {
196
200
  [key: string]: TypedAbiFunction<UnknownArgs, unknown>;
197
201
  };
198
- declare type AllContracts = Record<string, TypedAbi>;
199
- declare type UnknownArg = TypedAbiArg<unknown, string>;
200
- declare type UnknownArgs = UnknownArg[];
201
- declare type ArgsTuple<T extends UnknownArgs> = {
202
+ type AllContracts = Record<string, TypedAbi>;
203
+ type UnknownArg = TypedAbiArg<unknown, string>;
204
+ type UnknownArgs = UnknownArg[];
205
+ type ArgsTuple<T extends UnknownArgs> = {
202
206
  [K in keyof T]: T[K] extends TypedAbiArg<infer A, string> ? A : never;
203
207
  };
204
- declare type ArgsRecordUnion<T extends TypedAbiArg<unknown, string>> = T extends TypedAbiArg<infer A, infer N> ? {
208
+ type ArgsRecordUnion<T extends TypedAbiArg<unknown, string>> = T extends TypedAbiArg<infer A, infer N> ? {
205
209
  [K in T as N]: A;
206
210
  } : never;
207
- declare type InnerUnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
208
- declare type Compact<T> = {
211
+ type InnerUnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
212
+ type Compact<T> = {
209
213
  [K in keyof T]: T[K];
210
214
  };
211
- declare type UnionToIntersection<T> = Compact<InnerUnionToIntersection<T>>;
212
- declare type ArgsRecord<T extends UnknownArgs> = UnionToIntersection<ArgsRecordUnion<T[number]>>;
213
- declare type ArgsType<T extends UnknownArgs> = [ArgsRecord<T>] | ArgsTuple<T>;
214
- declare type ContractCallFunction<Args extends UnknownArgs, R> = {
215
+ type UnionToIntersection<T> = Compact<InnerUnionToIntersection<T>>;
216
+ type ArgsRecord<T extends UnknownArgs> = UnionToIntersection<ArgsRecordUnion<T[number]>>;
217
+ type ArgsType<T extends UnknownArgs> = [ArgsRecord<T>] | ArgsTuple<T>;
218
+ type ContractCallFunction<Args extends UnknownArgs, R> = {
215
219
  (...args: ArgsType<Args>): ContractCallTyped<Args, R>;
216
220
  abi: TypedAbiFunction<Args, R>;
217
221
  };
218
- declare type FnToContractCall<T> = T extends TypedAbiFunction<infer Arg, infer R> ? ContractCallFunction<Arg, R> : never;
219
- declare type FunctionsToContractCalls<T> = T extends ContractFunctions ? {
222
+ type FnToContractCall<T> = T extends TypedAbiFunction<infer Arg, infer R> ? ContractCallFunction<Arg, R> : never;
223
+ type FunctionsToContractCalls<T> = T extends ContractFunctions ? {
220
224
  [key in keyof T]: FnToContractCall<T[key]>;
221
225
  } : never;
222
- declare type ContractsToContractCalls<T> = T extends AllContracts ? {
226
+ type ContractsToContractCalls<T> = T extends AllContracts ? {
223
227
  [key in keyof T]: FunctionsToContractCalls<T[key]['functions']>;
224
228
  } : never;
225
- declare type FullContract<T> = T extends TypedAbi ? FunctionsToContractCalls<T['functions']> & T & {
229
+ type FullContract<T> = T extends TypedAbi ? FunctionsToContractCalls<T['functions']> & T & {
226
230
  identifier: string;
227
231
  } & {
228
232
  contractFile: string;
229
233
  } : never;
230
- declare type ContractFactory<T extends AllContracts> = {
234
+ type ContractFactory<T extends AllContracts> = {
231
235
  [key in keyof T]: FullContract<T[key]>;
232
236
  };
233
237
 
234
- declare type Kebab<T extends string, A extends string = ''> = T extends `${infer F}${infer R}` ? Kebab<R, `${A}${F extends Lowercase<F> ? '' : '-'}${Lowercase<F>}`> : A;
235
- declare type KebabObject<T> = T extends Uint8Array ? T : T extends Record<string, unknown> ? {
238
+ type Kebab<T extends string, A extends string = ''> = T extends `${infer F}${infer R}` ? Kebab<R, `${A}${F extends Lowercase<F> ? '' : '-'}${Lowercase<F>}`> : A;
239
+ type KebabObject<T> = T extends Uint8Array ? T : T extends Record<string, unknown> ? {
236
240
  [K in keyof T as K extends string ? Kebab<K> : K]: KebabObject<T[K]>;
237
241
  } : T;
238
- declare type ExtractArgs<F> = F extends TypedAbiFunction<infer Args, unknown> ? ArgsTuple<Args> : never;
239
- declare type ExtractArgsRecord<F> = F extends TypedAbiFunction<infer Args, unknown> ? ArgsRecord<Args> : never;
240
- declare type ContractBuilder<T> = (contractAddress: string, contractName: string) => T;
242
+ type ExtractArgs<F> = F extends TypedAbiFunction<infer Args, unknown> ? ArgsTuple<Args> : never;
243
+ type ExtractArgsRecord<F> = F extends TypedAbiFunction<infer Args, unknown> ? ArgsRecord<Args> : never;
244
+ type ContractBuilder<T> = (contractAddress: string, contractName: string) => T;
241
245
  interface Contract<T> {
242
246
  address: string;
243
247
  contractFile: string;
@@ -252,7 +256,7 @@ interface ContractInstance<T> {
252
256
  identifier: string;
253
257
  contract: T;
254
258
  }
255
- declare type ContractInstances<T extends Contracts<any>> = {
259
+ type ContractInstances<T extends Contracts<any>> = {
256
260
  [Name in keyof T]: ContractInstance<ReturnType<T[Name]['contract']>>;
257
261
  };
258
262
 
@@ -278,7 +282,7 @@ declare enum CoreNodeEventType {
278
282
  FtMintEvent = "ft_mint_event",
279
283
  FtBurnEvent = "ft_burn_event"
280
284
  }
281
- declare type NonStandardClarityValue = unknown;
285
+ type NonStandardClarityValue = unknown;
282
286
  interface CoreNodeEventBase {
283
287
  /** 0x-prefix transaction hash. */
284
288
  txid: string;
@@ -393,7 +397,7 @@ interface FtBurnEvent extends CoreNodeEventBase {
393
397
  amount: string;
394
398
  };
395
399
  }
396
- declare type CoreNodeEvent = SmartContractEvent | StxTransferEvent | StxMintEvent | StxBurnEvent | StxLockEvent | FtTransferEvent | FtMintEvent | FtBurnEvent | NftTransferEvent | NftMintEvent | NftBurnEvent;
400
+ type CoreNodeEvent = SmartContractEvent | StxTransferEvent | StxMintEvent | StxBurnEvent | StxLockEvent | FtTransferEvent | FtMintEvent | FtBurnEvent | NftTransferEvent | NftMintEvent | NftBurnEvent;
397
401
  declare function filterEvents(events: CoreNodeEvent[], type: CoreNodeEventType.ContractEvent): SmartContractEvent[];
398
402
  declare function filterEvents(events: CoreNodeEvent[], type: CoreNodeEventType.StxTransferEvent): StxTransferEvent[];
399
403
  declare function filterEvents(events: CoreNodeEvent[], type: CoreNodeEventType.StxMintEvent): StxMintEvent[];
@@ -416,10 +420,10 @@ interface PureContractInfo {
416
420
  contractAddress: string;
417
421
  contractName: string;
418
422
  }
419
- declare type ContractFn<T> = (args: any) => T;
420
- declare type ContractReturn<C extends ContractFn<ContractCalls.ReadOnly<any>>> = C extends ContractFn<ContractCalls.ReadOnly<infer T>> ? T : unknown;
421
- declare type ContractReturnOk<C extends ContractFn<ContractCalls.ReadOnly<any>>> = ContractReturn<C> extends Response<infer O, any> ? O : unknown;
422
- declare type ContractReturnErr<C extends ContractFn<ContractCalls.ReadOnly<any>>> = ContractReturn<C> extends Response<any, infer E> ? E : unknown;
423
+ type ContractFn<T> = (args: any) => T;
424
+ type ContractReturn<C extends ContractFn<ContractCalls.ReadOnly<any>>> = C extends ContractFn<ContractCalls.ReadOnly<infer T>> ? T : unknown;
425
+ type ContractReturnOk<C extends ContractFn<ContractCalls.ReadOnly<any>>> = ContractReturn<C> extends Response<infer O, any> ? O : unknown;
426
+ type ContractReturnErr<C extends ContractFn<ContractCalls.ReadOnly<any>>> = ContractReturn<C> extends Response<any, infer E> ? E : unknown;
423
427
  interface MapGet<Key, Val> {
424
428
  map: ClarityAbiMap;
425
429
  nativeKey: Key;
@@ -435,14 +439,24 @@ declare namespace ContractCalls {
435
439
  }
436
440
  declare const pureProxy: <T extends object>(target: PureContractInfo) => T;
437
441
 
438
- interface ApiOptions {
442
+ interface ApiOptionsBase {
439
443
  network: StacksNetwork;
440
444
  tip?: string;
441
445
  latest?: boolean;
442
446
  }
443
- declare function ro<T>(tx: ContractCall<T>, options: ApiOptions): Promise<T>;
444
- declare function roOk<Ok>(tx: ContractCall<Response<Ok, any>>, options: ApiOptions): Promise<Ok>;
445
- declare function roErr<Err>(tx: ContractCall<Response<any, Err>>, options: ApiOptions): Promise<Err>;
447
+ interface ApiOptionsJsonize extends ApiOptionsBase {
448
+ json: true;
449
+ }
450
+ interface ApiOptionsNoJson extends ApiOptionsBase {
451
+ json?: false | undefined;
452
+ }
453
+ interface ApiOptions extends ApiOptionsBase {
454
+ json?: boolean;
455
+ }
456
+ type JsonIfOption<O extends ApiOptions, R> = O extends ApiOptionsJsonize ? Jsonize<R> : R;
457
+ declare function ro<O extends ApiOptions, T>(tx: ContractCall<T>, options: O): Promise<JsonIfOption<O, T>>;
458
+ declare function roOk<O extends ApiOptions, Ok>(tx: ContractCall<Response<Ok, any>>, options: O): Promise<JsonIfOption<O, Ok>>;
459
+ declare function roErr<O extends ApiOptions, Err>(tx: ContractCall<Response<any, Err>>, options: O): Promise<JsonIfOption<O, Err>>;
446
460
  declare function fetchMapGet<T extends ContractCalls.Map<any, Val>, Val>(map: T, options: ApiOptions): Promise<Val | null>;
447
461
  declare function broadcast(transaction: StacksTransaction, options: ApiOptions): Promise<{
448
462
  txId: string;
@@ -495,7 +509,7 @@ interface BtcTransferTransaction {
495
509
  'sats-amount': string;
496
510
  };
497
511
  }
498
- declare type Transaction = EmulatedContractPublishTransaction | RequirementPublishTransaction | ContractPublishTransaction | EmulatedContractCallTransaction | BtcTransferTransaction | ContractCallTransaction;
512
+ type Transaction = EmulatedContractPublishTransaction | RequirementPublishTransaction | ContractPublishTransaction | EmulatedContractCallTransaction | BtcTransferTransaction | ContractCallTransaction;
499
513
  interface Batch<T extends Transaction> {
500
514
  id: number;
501
515
  transactions: Readonly<T[]>;
@@ -524,7 +538,7 @@ interface DevnetDeploymentPlan {
524
538
  batches: Readonly<Batch<RequirementPublishTransaction | ContractPublishTransaction | ContractCallTransaction | BtcTransferTransaction>[]>;
525
539
  };
526
540
  }
527
- declare type TestnetDeploymentPlan = Omit<DevnetDeploymentPlan, 'network'> & {
541
+ type TestnetDeploymentPlan = Omit<DevnetDeploymentPlan, 'network'> & {
528
542
  network: 'testnet';
529
543
  };
530
544
  interface MainnetDeploymentPlan {
@@ -533,24 +547,24 @@ interface MainnetDeploymentPlan {
533
547
  batches: Readonly<Batch<ContractPublishTransaction | ContractCallTransaction | BtcTransferTransaction>[]>;
534
548
  };
535
549
  }
536
- declare type DeploymentPlan = SimnetDeploymentPlan | DevnetDeploymentPlan | TestnetDeploymentPlan | MainnetDeploymentPlan;
550
+ type DeploymentPlan = SimnetDeploymentPlan | DevnetDeploymentPlan | TestnetDeploymentPlan | MainnetDeploymentPlan;
537
551
 
538
552
  declare const DEPLOYMENT_NETWORKS: readonly ["devnet", "simnet", "testnet", "mainnet"];
539
- declare type DeploymentNetwork = typeof DEPLOYMENT_NETWORKS[number];
540
- declare type DeploymentsForContracts<C extends AllContracts> = {
553
+ type DeploymentNetwork = typeof DEPLOYMENT_NETWORKS[number];
554
+ type DeploymentsForContracts<C extends AllContracts> = {
541
555
  [K in keyof C]: ContractDeployments;
542
556
  };
543
- declare type ContractDeployments = {
557
+ type ContractDeployments = {
544
558
  [key in DeploymentNetwork]: string | null;
545
559
  };
546
- declare type Project<C extends AllContracts, D extends DeploymentsForContracts<C>> = {
560
+ type Project<C extends AllContracts, D extends DeploymentsForContracts<C>> = {
547
561
  contracts: C;
548
562
  deployments: D;
549
563
  };
550
- declare type FullContractWithIdentifier<C extends TypedAbi, Id extends string> = FullContract<C> & {
564
+ type FullContractWithIdentifier<C extends TypedAbi, Id extends string> = FullContract<C> & {
551
565
  identifier: Id;
552
566
  };
553
- declare type ProjectFactory<P extends Project<any, any>, N extends DeploymentNetwork> = {
567
+ type ProjectFactory<P extends Project<any, any>, N extends DeploymentNetwork> = {
554
568
  [ContractName in keyof P['contracts']]: P['deployments'][ContractName][N] extends string ? FullContractWithIdentifier<P['contracts'][ContractName], P['deployments'][ContractName][N]> : undefined;
555
569
  };
556
570
  declare function projectFactory<P extends Project<C, D>, N extends DeploymentNetwork, C extends AllContracts, D extends DeploymentsForContracts<C>>(project: P, network: N): ProjectFactory<P, N>;
@@ -559,4 +573,4 @@ declare function functionsFactory<T extends ContractFunctions>(functions: T, ide
559
573
  declare function contractFactory<T extends TypedAbi, Id extends string>(abi: T, identifier: Id): FullContractWithIdentifier<T, Id>;
560
574
  declare function deploymentFactory<T extends AllContracts>(contracts: T, deployer: DeploymentPlan): ContractFactory<T>;
561
575
 
562
- export { AbiPrimitiveTo, AbiTupleTo, AbiTypeTo, AllContracts, ApiOptions, ArgsRecord, ArgsTuple, ArgsType, ClarityAbi, ClarityAbiArg, ClarityAbiFunction, ClarityAbiMap, ClarityAbiType, ClarityAbiTypeBool, ClarityAbiTypeBuffer, ClarityAbiTypeFungibleToken, ClarityAbiTypeInt128, ClarityAbiTypeList, ClarityAbiTypeNonFungibleToken, ClarityAbiTypeNone, ClarityAbiTypeOptional, ClarityAbiTypePrimitive, ClarityAbiTypePrincipal, ClarityAbiTypeResponse, ClarityAbiTypeStringAscii, ClarityAbiTypeStringUtf8, ClarityAbiTypeTraitReference, ClarityAbiTypeTuple, ClarityAbiTypeUInt128, ClarityAbiVariable, Contract, ContractBuilder, ContractCall, ContractCallFunction, ContractCallTyped, ContractCalls, ContractDeployments, ContractFactory, ContractFn, ContractFunctions, ContractInstance, ContractInstances, ContractReturn, ContractReturnErr, ContractReturnOk, Contracts, ContractsToContractCalls, CoreNodeEvent, CoreNodeEventBase, CoreNodeEventType, DEPLOYMENT_NETWORKS, DeploymentNetwork, DeploymentPlan, DeploymentsForContracts, ErrType, ExtractArgs, ExtractArgsRecord, FnToContractCall, FtBurnEvent, FtMintEvent, FtTransferEvent, FullContract, FullContractWithIdentifier, FunctionsToContractCalls, Kebab, KebabObject, MAINNET_BURN_ADDRESS, NftBurnEvent, NftMintEvent, NftTransferEvent, NonStandardClarityValue, OkType, Project, ProjectFactory, Response, ResponseErr, ResponseOk, ResultAssets, SimnetDeploymentPlan, SmartContractEvent, StxBurnEvent, StxLockEvent, StxMintEvent, StxTransferEvent, TESTNET_BURN_ADDRESS, TypedAbi, TypedAbiArg, TypedAbiFunction, TypedAbiMap, TypedAbiVariable, UnionToIntersection, bootContractIdentifier, broadcast, contractFactory, contractsFactory, cvToJSON, cvToString, cvToValue, deploymentFactory, err, expectErr, expectOk, fetchMapGet, filterEvents, findJsTupleKey, functionsFactory, getContractIdentifier, getContractNameFromPath, getContractPrincipalCV, hexToCvValue, makeContracts, ok, parseToCV, principalToString, projectFactory, pureProxy, ro, roErr, roOk, toCamelCase, toKebabCase, transformArgsArray, transformArgsToCV, transformObjectArgs };
576
+ export { AbiPrimitiveTo, AbiTupleTo, AbiTypeTo, AllContracts, ApiOptions, ApiOptionsBase, ApiOptionsJsonize, ApiOptionsNoJson, ArgsRecord, ArgsTuple, ArgsType, ClarityAbi, ClarityAbiArg, ClarityAbiFunction, ClarityAbiMap, ClarityAbiType, ClarityAbiTypeBool, ClarityAbiTypeBuffer, ClarityAbiTypeFungibleToken, ClarityAbiTypeInt128, ClarityAbiTypeList, ClarityAbiTypeNonFungibleToken, ClarityAbiTypeNone, ClarityAbiTypeOptional, ClarityAbiTypePrimitive, ClarityAbiTypePrincipal, ClarityAbiTypeResponse, ClarityAbiTypeStringAscii, ClarityAbiTypeStringUtf8, ClarityAbiTypeTraitReference, ClarityAbiTypeTuple, ClarityAbiTypeUInt128, ClarityAbiVariable, Contract, ContractBuilder, ContractCall, ContractCallFunction, ContractCallTyped, ContractCalls, ContractDeployments, ContractFactory, ContractFn, ContractFunctions, ContractInstance, ContractInstances, ContractReturn, ContractReturnErr, ContractReturnOk, Contracts, ContractsToContractCalls, CoreNodeEvent, CoreNodeEventBase, CoreNodeEventType, DEPLOYMENT_NETWORKS, DeploymentNetwork, DeploymentPlan, DeploymentsForContracts, ErrType, ExtractArgs, ExtractArgsRecord, FnToContractCall, FtBurnEvent, FtMintEvent, FtTransferEvent, FullContract, FullContractWithIdentifier, FunctionReturnType, FunctionsToContractCalls, JsonIfOption, Jsonize, Kebab, KebabObject, MAINNET_BURN_ADDRESS, NftBurnEvent, NftMintEvent, NftTransferEvent, NonStandardClarityValue, OkType, Project, ProjectFactory, Response, ResponseErr, ResponseOk, ResultAssets, SimnetDeploymentPlan, SmartContractEvent, StxBurnEvent, StxLockEvent, StxMintEvent, StxTransferEvent, TESTNET_BURN_ADDRESS, TypedAbi, TypedAbiArg, TypedAbiFunction, TypedAbiMap, TypedAbiVariable, UnionToIntersection, bootContractIdentifier, broadcast, contractFactory, contractsFactory, cvToJSON, cvToString, cvToValue, deploymentFactory, err, expectErr, expectOk, fetchMapGet, filterEvents, findJsTupleKey, functionsFactory, getContractIdentifier, getContractNameFromPath, getContractPrincipalCV, hexToCvValue, makeContracts, ok, parseToCV, principalToString, projectFactory, pureProxy, ro, roErr, roOk, toCamelCase, toKebabCase, transformArgsArray, transformArgsToCV, transformObjectArgs };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var L=Object.defineProperty,q=Object.defineProperties;var H=Object.getOwnPropertyDescriptors;var k=Object.getOwnPropertySymbols;var G=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable;var S=(t,e,n)=>e in t?L(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,d=(t,e)=>{for(var n in e||(e={}))G.call(e,n)&&S(t,n,e[n]);if(k)for(var n of k(e))J.call(e,n)&&S(t,n,e[n]);return t},T=(t,e)=>q(t,H(e));var _clarity = require('micro-stacks/clarity');var Z="ST000000000000000000002AMW42H",z= exports.MAINNET_BURN_ADDRESS ="SP000000000000000000002Q6VF78",f= exports.toCamelCase =(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...a]=n.replace("!","").replace("?","").split("-"),c=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return a.forEach(p=>{c+=p[0].toUpperCase()+p.slice(1)}),c};function w(t){let e=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);return e?e.join("-").toLowerCase():t}var Y=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},It= exports.getContractIdentifier =t=>`${t.address}.${t.name}`,Vt= exports.getContractPrincipalCV =t=>{let e=Y(t.contractFile);return _clarity.contractPrincipalCV.call(void 0, t.address,e)};function Dt(t,e){return`${e?z:Z}.${t}`}var Q=(s=>(s.ContractEvent="contract_event",s.StxTransferEvent="stx_transfer_event",s.StxMintEvent="stx_mint_event",s.StxBurnEvent="stx_burn_event",s.StxLockEvent="stx_lock_event",s.NftTransferEvent="nft_transfer_event",s.NftMintEvent="nft_mint_event",s.NftBurnEvent="nft_burn_event",s.FtTransferEvent="ft_transfer_event",s.FtMintEvent="ft_mint_event",s.FtBurnEvent="ft_burn_event",s))(Q||{});function Mt(t,e){return t.filter(n=>n.type===e)}function jt(t,e={}){let n={};for(let r in t){let a=t[r],i=e.deployerAddress||a.address,c=`${i}.${a.name}`,p=a.contract(i,a.name);n[r]={identifier:c,contract:p}}return n}var _transactions = require('micro-stacks/transactions');var _common = require('micro-stacks/common');function mt(t){return{isOk:!0,value:t}}function xt(t){return{isOk:!1,value:t}}function b(t){if(t.type===_clarity.ClarityType.PrincipalStandard)return _clarity.addressToString.call(void 0, t.address);if(t.type===_clarity.ClarityType.PrincipalContract)return`${_clarity.addressToString.call(void 0, t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function l(t,e=!1){switch(t.type){case _clarity.ClarityType.BoolTrue:return!0;case _clarity.ClarityType.BoolFalse:return!1;case _clarity.ClarityType.Int:case _clarity.ClarityType.UInt:return t.value;case _clarity.ClarityType.Buffer:return t.buffer;case _clarity.ClarityType.OptionalNone:return null;case _clarity.ClarityType.OptionalSome:return l(t.value);case _clarity.ClarityType.ResponseErr:return e?xt(l(t.value)):l(t.value);case _clarity.ClarityType.ResponseOk:return e?mt(l(t.value)):l(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return b(t);case _clarity.ClarityType.List:return t.list.map(r=>l(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[a,i])=>{let c=f(a);return T(d({},r),{[c]:l(i)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function Xt(t,e=!1){return l(_clarity.hexToCV.call(void 0, t),e)}function _(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}function y(t,e){if(_transactions.isClarityAbiTuple.call(void 0, e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let a=E(r.name,t),i=t[a];n[r.name]=y(i,r.type)}),_clarity.tupleCV.call(void 0, n)}else if(_transactions.isClarityAbiList.call(void 0, e)){let r=t.map(a=>y(a,e.list.type));return _clarity.listCV.call(void 0, r)}else{if(_transactions.isClarityAbiOptional.call(void 0, e))return t?_clarity.someCV.call(void 0, y(t,e.optional)):_clarity.noneCV.call(void 0, );if(_transactions.isClarityAbiStringAscii.call(void 0, e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _clarity.stringAsciiCV.call(void 0, t)}else if(_transactions.isClarityAbiStringUtf8.call(void 0, e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _clarity.stringUtf8CV.call(void 0, t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return _transactions.parseToCV.call(void 0, n,e)}else if(e==="uint128"){let n=_(t);return _clarity.uintCV.call(void 0, n.toString())}else if(e==="int128"){let n=_(t);return _clarity.intCV.call(void 0, n.toString())}else if(e==="trait_reference"){if(typeof t!="string")throw new Error("Invalid input for trait_reference");let[n,r]=t.split(".");return _clarity.contractPrincipalCV.call(void 0, n,r)}else if(_transactions.isClarityAbiBuffer.call(void 0, e))return _clarity.bufferCV.call(void 0, t)}return _transactions.parseToCV.call(void 0, t,e)}function m(t,e="hex"){switch(t.type){case _clarity.ClarityType.BoolTrue:return"true";case _clarity.ClarityType.BoolFalse:return"false";case _clarity.ClarityType.Int:return t.value.toString();case _clarity.ClarityType.UInt:return`u${t.value.toString()}`;case _clarity.ClarityType.Buffer:if(e==="tryAscii"){let n=_common.bytesToAscii.call(void 0, t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${_common.bytesToHex.call(void 0, t.buffer)}`;case _clarity.ClarityType.OptionalNone:return"none";case _clarity.ClarityType.OptionalSome:return`(some ${m(t.value,e)})`;case _clarity.ClarityType.ResponseErr:return`(err ${m(t.value,e)})`;case _clarity.ClarityType.ResponseOk:return`(ok ${m(t.value,e)})`;case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return`'${b(t)}`;case _clarity.ClarityType.List:return`(list ${t.list.map(n=>m(n,e)).join(" ")})`;case _clarity.ClarityType.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${m(t.data[n],e)})`).join(" ")})`;case _clarity.ClarityType.StringASCII:return`"${t.data}"`;case _clarity.ClarityType.StringUTF8:return`u"${t.data}"`}}function x(t){switch(t.type){case _clarity.ClarityType.BoolTrue:return!0;case _clarity.ClarityType.BoolFalse:return!1;case _clarity.ClarityType.Int:case _clarity.ClarityType.UInt:return`${t.value}`;case _clarity.ClarityType.Buffer:return _common.bytesToHex.call(void 0, t.buffer);case _clarity.ClarityType.OptionalNone:return null;case _clarity.ClarityType.OptionalSome:return x(t.value);case _clarity.ClarityType.ResponseErr:return x(t.value);case _clarity.ClarityType.ResponseOk:return x(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return b(t);case _clarity.ClarityType.List:return t.list.map(n=>x(n));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((n,[r,a])=>{let i=f(r);return T(d({},n),{[i]:x(a)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function O(t,e){return t.args.map(n=>{let r=E(n.name,e),a=e[r];return y(a,n.type)})}function gt(t,e){return e.map((n,r)=>y(n,t.args[r].type))}function g(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return O(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(a=>{try{E(a.name,n)}catch (e2){r=!1}}),r)return O(t,n)}catch (e3){}return gt(t,e)}function E(t,e){let n=Object.keys(e).find(r=>{let a=t===r,i=t===w(r);return a||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function B(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function I(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function bt(t,e){let n=t.abi.functions.find(a=>f(a.name)===e);if(n)return function(...a){return{functionArgs:g(n,a),contractAddress:t.contractAddress,contractName:t.contractName,function:n,functionName:n.name,nativeArgs:a}};let r=t.abi.maps.find(a=>f(a.name)===e);if(r)return a=>{let i=y(a,r.key);return{contractAddress:t.contractAddress,contractName:t.contractName,map:r,nativeKey:a,key:i}};throw new Error(`Invalid function call: no function exists for ${String(e)}`)}var Et={get:bt},vt= exports.pureProxy =t=>new Proxy(t,Et);var _api = require('micro-stacks/api');function wt(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function V(t,e){let n=wt(e),r=await _api.callReadOnlyFunction.call(void 0, {contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,network:e.network});return l(r,!0)}async function pe(t,e){let n=await V(t,e);return B(n)}async function ue(t,e){let n=await V(t,e);return I(n)}async function fe(t,e){let n=_clarity.cvToHex.call(void 0, t.key),r=await _api.fetchContractDataMapEntry.call(void 0, {contract_address:t.contractAddress,contract_name:t.contractName,map_name:t.map.name,lookup_key:n,tip:"latest",url:e.network.getCoreApiUrl(),proof:0}),a=_clarity.hexToCV.call(void 0, r.data);return l(a,!0)}async function de(t,e){let n=await _transactions.broadcastTransaction.call(void 0, t,e.network);if("error"in n)throw new Error(`Error broadcasting tx: ${n.error} - ${n.reason} - ${JSON.stringify(n.reason_data)}`);return{txId:n.txid,stacksTransaction:t}}function Pt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function D(t){return Pt(t).filter(v)}function $(t){if(!v(t))throw new Error("Unable to get path for tx type.");if("requirement-publish"in t)return t["requirement-publish"].path;if("emulated-contract-publish"in t)return t["emulated-contract-publish"].path;if("contract-publish"in t)return t["contract-publish"].path;throw new Error("Couldnt get path for deployment tx.")}function M(t){if(!v(t))throw new Error("Unable to get ID for tx type.");if("requirement-publish"in t){let e=t["requirement-publish"],[n,r]=e["contract-id"].split(".");return`${e["remap-sender"]}.${r}`}else if("emulated-contract-publish"in t){let e=t["emulated-contract-publish"];return`${e["emulated-sender"]}.${e["contract-name"]}`}else if("contract-publish"in t){let e=t["contract-publish"];return`${e["expected-sender"]}.${e["contract-name"]}`}throw new Error("Unable to find ID for contract.")}function v(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var he=["devnet","simnet","testnet","mainnet"];function Ne(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,a])=>{let i=t.deployments[r][e];return i&&n.push([r,U(a,i)]),!1}),Object.fromEntries(n)}function ke(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=`${e}.${r.contractName}`;return[n,U(r,a)]}))}function Ft(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=Object.assign((...i)=>{let c=g(r,i),[p,u]=e.split(".");return{functionArgs:c,contractAddress:p,contractName:u,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,a]}))}function U(t,e){let n=d({},t);return T(d(d({},Ft(t.functions,e)),n),{identifier:e})}function Se(t,e){let n={};return D(e.plan.batches).forEach(a=>{let i=M(a),[c,p]=i.split("."),u=f(p),j=t[u],C=t[u];if(typeof C>"u")throw new Error(`Clarigen error: mismatch for contract '${u}'`);n[u]=C,C.contractFile=$(a),C.identifier=i,Object.keys(t[u].functions).forEach(s=>{let A=s,K=(...h)=>{let N=j.functions[A];return{functionArgs:g(N,h),contractAddress:c,contractName:C.contractName,function:N,nativeArgs:h}};C[A]=K})}),n}exports.CoreNodeEventType = Q; exports.DEPLOYMENT_NETWORKS = he; exports.MAINNET_BURN_ADDRESS = z; exports.TESTNET_BURN_ADDRESS = Z; exports.bootContractIdentifier = Dt; exports.broadcast = de; exports.contractFactory = U; exports.contractsFactory = ke; exports.cvToJSON = x; exports.cvToString = m; exports.cvToValue = l; exports.deploymentFactory = Se; exports.err = xt; exports.expectErr = I; exports.expectOk = B; exports.fetchMapGet = fe; exports.filterEvents = Mt; exports.findJsTupleKey = E; exports.functionsFactory = Ft; exports.getContractIdentifier = It; exports.getContractNameFromPath = Y; exports.getContractPrincipalCV = Vt; exports.hexToCvValue = Xt; exports.makeContracts = jt; exports.ok = mt; exports.parseToCV = y; exports.principalToString = b; exports.projectFactory = Ne; exports.pureProxy = vt; exports.ro = V; exports.roErr = ue; exports.roOk = pe; exports.toCamelCase = f; exports.toKebabCase = w; exports.transformArgsArray = gt; exports.transformArgsToCV = g; exports.transformObjectArgs = O;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var q=Object.defineProperty,z=Object.defineProperties;var H=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var G=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var O=(t,e,n)=>e in t?q(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,y=(t,e)=>{for(var n in e||(e={}))G.call(e,n)&&O(t,n,e[n]);if(h)for(var n of h(e))W.call(e,n)&&O(t,n,e[n]);return t},m=(t,e)=>z(t,H(e));var _clarity = require('micro-stacks/clarity');var Y="ST000000000000000000002AMW42H",Q= exports.MAINNET_BURN_ADDRESS ="SP000000000000000000002Q6VF78",d= exports.toCamelCase =(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...a]=n.replace("!","").replace("?","").split("-"),s=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return a.forEach(u=>{s+=u[0].toUpperCase()+u.slice(1)}),s};function S(t){let e=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);return e?e.join("-").toLowerCase():t}var X=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},It= exports.getContractIdentifier =t=>`${t.address}.${t.name}`,Vt= exports.getContractPrincipalCV =t=>{let e=X(t.contractFile);return _clarity.contractPrincipalCV.call(void 0, t.address,e)};function Dt(t,e){return`${e?Q:Y}.${t}`}var tt=(c=>(c.ContractEvent="contract_event",c.StxTransferEvent="stx_transfer_event",c.StxMintEvent="stx_mint_event",c.StxBurnEvent="stx_burn_event",c.StxLockEvent="stx_lock_event",c.NftTransferEvent="nft_transfer_event",c.NftMintEvent="nft_mint_event",c.NftBurnEvent="nft_burn_event",c.FtTransferEvent="ft_transfer_event",c.FtMintEvent="ft_mint_event",c.FtBurnEvent="ft_burn_event",c))(tt||{});function Mt(t,e){return t.filter(n=>n.type===e)}function Ut(t,e={}){let n={};for(let r in t){let a=t[r],i=e.deployerAddress||a.address,s=`${i}.${a.name}`,u=a.contract(i,a.name);n[r]={identifier:s,contract:u}}return n}var _transactions = require('micro-stacks/transactions');var _common = require('micro-stacks/common');function B(t){return{isOk:!0,value:t}}function I(t){return{isOk:!1,value:t}}function b(t){if(t.type===_clarity.ClarityType.PrincipalStandard)return _clarity.addressToString.call(void 0, t.address);if(t.type===_clarity.ClarityType.PrincipalContract)return`${_clarity.addressToString.call(void 0, t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function p(t,e=!1){switch(t.type){case _clarity.ClarityType.BoolTrue:return!0;case _clarity.ClarityType.BoolFalse:return!1;case _clarity.ClarityType.Int:case _clarity.ClarityType.UInt:return t.value;case _clarity.ClarityType.Buffer:return t.buffer;case _clarity.ClarityType.OptionalNone:return null;case _clarity.ClarityType.OptionalSome:return p(t.value);case _clarity.ClarityType.ResponseErr:return e?I(p(t.value)):p(t.value);case _clarity.ClarityType.ResponseOk:return e?B(p(t.value)):p(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return b(t);case _clarity.ClarityType.List:return t.list.map(r=>p(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[a,i])=>{let s=d(a);return m(y({},r),{[s]:p(i)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function Xt(t,e=!1){return p(_clarity.hexToCV.call(void 0, t),e)}function R(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}function T(t,e){if(_transactions.isClarityAbiTuple.call(void 0, e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let a=E(r.name,t),i=t[a];n[r.name]=T(i,r.type)}),_clarity.tupleCV.call(void 0, n)}else if(_transactions.isClarityAbiList.call(void 0, e)){let r=t.map(a=>T(a,e.list.type));return _clarity.listCV.call(void 0, r)}else{if(_transactions.isClarityAbiOptional.call(void 0, e))return t?_clarity.someCV.call(void 0, T(t,e.optional)):_clarity.noneCV.call(void 0, );if(_transactions.isClarityAbiStringAscii.call(void 0, e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _clarity.stringAsciiCV.call(void 0, t)}else if(_transactions.isClarityAbiStringUtf8.call(void 0, e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _clarity.stringUtf8CV.call(void 0, t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return _transactions.parseToCV.call(void 0, n,e)}else if(e==="uint128"){let n=R(t);return _clarity.uintCV.call(void 0, n.toString())}else if(e==="int128"){let n=R(t);return _clarity.intCV.call(void 0, n.toString())}else if(e==="trait_reference"){if(typeof t!="string")throw new Error("Invalid input for trait_reference");let[n,r]=t.split(".");return _clarity.contractPrincipalCV.call(void 0, n,r)}else if(_transactions.isClarityAbiBuffer.call(void 0, e))return _clarity.bufferCV.call(void 0, t)}return _transactions.parseToCV.call(void 0, t,e)}function x(t,e="hex"){switch(t.type){case _clarity.ClarityType.BoolTrue:return"true";case _clarity.ClarityType.BoolFalse:return"false";case _clarity.ClarityType.Int:return t.value.toString();case _clarity.ClarityType.UInt:return`u${t.value.toString()}`;case _clarity.ClarityType.Buffer:if(e==="tryAscii"){let n=_common.bytesToAscii.call(void 0, t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${_common.bytesToHex.call(void 0, t.buffer)}`;case _clarity.ClarityType.OptionalNone:return"none";case _clarity.ClarityType.OptionalSome:return`(some ${x(t.value,e)})`;case _clarity.ClarityType.ResponseErr:return`(err ${x(t.value,e)})`;case _clarity.ClarityType.ResponseOk:return`(ok ${x(t.value,e)})`;case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return`'${b(t)}`;case _clarity.ClarityType.List:return`(list ${t.list.map(n=>x(n,e)).join(" ")})`;case _clarity.ClarityType.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${x(t.data[n],e)})`).join(" ")})`;case _clarity.ClarityType.StringASCII:return`"${t.data}"`;case _clarity.ClarityType.StringUTF8:return`u"${t.data}"`}}function l(t,e=!1){switch(t.type){case _clarity.ClarityType.BoolTrue:return!0;case _clarity.ClarityType.BoolFalse:return!1;case _clarity.ClarityType.Int:case _clarity.ClarityType.UInt:return`${t.value}`;case _clarity.ClarityType.Buffer:return _common.bytesToHex.call(void 0, t.buffer);case _clarity.ClarityType.OptionalNone:return null;case _clarity.ClarityType.OptionalSome:return l(t.value);case _clarity.ClarityType.ResponseErr:return e?I(l(t.value)):l(t.value);case _clarity.ClarityType.ResponseOk:return e?B(l(t.value)):l(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return b(t);case _clarity.ClarityType.List:return t.list.map(r=>l(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[a,i])=>{let s=d(a);return m(y({},r),{[s]:l(i)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function F(t,e){return t.args.map(n=>{let r=E(n.name,e),a=e[r];return T(a,n.type)})}function gt(t,e){return e.map((n,r)=>T(n,t.args[r].type))}function g(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return F(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(a=>{try{E(a.name,n)}catch (e2){r=!1}}),r)return F(t,n)}catch (e3){}return gt(t,e)}function E(t,e){let n=Object.keys(e).find(r=>{let a=t===r,i=t===S(r);return a||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function V(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function D(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function bt(t,e){let n=t.abi.functions.find(a=>d(a.name)===e);if(n)return function(...a){return{functionArgs:g(n,a),contractAddress:t.contractAddress,contractName:t.contractName,function:n,functionName:n.name,nativeArgs:a}};let r=t.abi.maps.find(a=>d(a.name)===e);if(r)return a=>{let i=T(a,r.key);return{contractAddress:t.contractAddress,contractName:t.contractName,map:r,nativeKey:a,key:i}};throw new Error(`Invalid function call: no function exists for ${String(e)}`)}var Et={get:bt},vt= exports.pureProxy =t=>new Proxy(t,Et);var _api = require('micro-stacks/api');function St(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function $(t,e){let n=St(e),r=await _api.callReadOnlyFunction.call(void 0, {contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,network:e.network});return e.json?l(r):p(r,!0)}async function ue(t,e){let n=await $(t,e);return V(n)}async function fe(t,e){let n=await $(t,e);return D(n)}async function de(t,e){let n=_clarity.cvToHex.call(void 0, t.key),r=await _api.fetchContractDataMapEntry.call(void 0, {contract_address:t.contractAddress,contract_name:t.contractName,map_name:t.map.name,lookup_key:n,tip:"latest",url:e.network.getCoreApiUrl(),proof:0}),a=_clarity.hexToCV.call(void 0, r.data);return p(a,!0)}async function ye(t,e){let n=await _transactions.broadcastTransaction.call(void 0, t,e.network);if("error"in n)throw new Error(`Error broadcasting tx: ${n.error} - ${n.reason} - ${JSON.stringify(n.reason_data)}`);return{txId:n.txid,stacksTransaction:t}}function wt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function M(t){return wt(t).filter(v)}function j(t){if(!v(t))throw new Error("Unable to get path for tx type.");if("requirement-publish"in t)return t["requirement-publish"].path;if("emulated-contract-publish"in t)return t["emulated-contract-publish"].path;if("contract-publish"in t)return t["contract-publish"].path;throw new Error("Couldnt get path for deployment tx.")}function U(t){if(!v(t))throw new Error("Unable to get ID for tx type.");if("requirement-publish"in t){let e=t["requirement-publish"],[n,r]=e["contract-id"].split(".");return`${e["remap-sender"]}.${r}`}else if("emulated-contract-publish"in t){let e=t["emulated-contract-publish"];return`${e["emulated-sender"]}.${e["contract-name"]}`}else if("contract-publish"in t){let e=t["contract-publish"];return`${e["expected-sender"]}.${e["contract-name"]}`}throw new Error("Unable to find ID for contract.")}function v(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var Ne=["devnet","simnet","testnet","mainnet"];function he(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,a])=>{let i=t.deployments[r][e];return i&&n.push([r,J(a,i)]),!1}),Object.fromEntries(n)}function Oe(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=`${e}.${r.contractName}`;return[n,J(r,a)]}))}function Pt(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=Object.assign((...i)=>{let s=g(r,i),[u,f]=e.split(".");return{functionArgs:s,contractAddress:u,contractName:f,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,a]}))}function J(t,e){let n=y({},t);return m(y(y({},Pt(t.functions,e)),n),{identifier:e})}function Se(t,e){let n={};return M(e.plan.batches).forEach(a=>{let i=U(a),[s,u]=i.split("."),f=d(u),K=t[f],C=t[f];if(typeof C>"u")throw new Error(`Clarigen error: mismatch for contract '${f}'`);n[f]=C,C.contractFile=j(a),C.identifier=i,Object.keys(t[f].functions).forEach(c=>{let A=c,L=(...k)=>{let N=K.functions[A];return{functionArgs:g(N,k),contractAddress:s,contractName:C.contractName,function:N,nativeArgs:k}};C[A]=L})}),n}exports.CoreNodeEventType = tt; exports.DEPLOYMENT_NETWORKS = Ne; exports.MAINNET_BURN_ADDRESS = Q; exports.TESTNET_BURN_ADDRESS = Y; exports.bootContractIdentifier = Dt; exports.broadcast = ye; exports.contractFactory = J; exports.contractsFactory = Oe; exports.cvToJSON = l; exports.cvToString = x; exports.cvToValue = p; exports.deploymentFactory = Se; exports.err = I; exports.expectErr = D; exports.expectOk = V; exports.fetchMapGet = de; exports.filterEvents = Mt; exports.findJsTupleKey = E; exports.functionsFactory = Pt; exports.getContractIdentifier = It; exports.getContractNameFromPath = X; exports.getContractPrincipalCV = Vt; exports.hexToCvValue = Xt; exports.makeContracts = Ut; exports.ok = B; exports.parseToCV = T; exports.principalToString = b; exports.projectFactory = he; exports.pureProxy = vt; exports.ro = $; exports.roErr = fe; exports.roOk = ue; exports.toCamelCase = d; exports.toKebabCase = S; exports.transformArgsArray = gt; exports.transformArgsToCV = g; exports.transformObjectArgs = F;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var L=Object.defineProperty,q=Object.defineProperties;var H=Object.getOwnPropertyDescriptors;var k=Object.getOwnPropertySymbols;var G=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable;var S=(t,e,n)=>e in t?L(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,d=(t,e)=>{for(var n in e||(e={}))G.call(e,n)&&S(t,n,e[n]);if(k)for(var n of k(e))J.call(e,n)&&S(t,n,e[n]);return t},T=(t,e)=>q(t,H(e));import{contractPrincipalCV as W}from"micro-stacks/clarity";var Z="ST000000000000000000002AMW42H",z="SP000000000000000000002Q6VF78",f=(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...a]=n.replace("!","").replace("?","").split("-"),c=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return a.forEach(p=>{c+=p[0].toUpperCase()+p.slice(1)}),c};function w(t){let e=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);return e?e.join("-").toLowerCase():t}var Y=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},It=t=>`${t.address}.${t.name}`,Vt=t=>{let e=Y(t.contractFile);return W(t.address,e)};function Dt(t,e){return`${e?z:Z}.${t}`}var Q=(s=>(s.ContractEvent="contract_event",s.StxTransferEvent="stx_transfer_event",s.StxMintEvent="stx_mint_event",s.StxBurnEvent="stx_burn_event",s.StxLockEvent="stx_lock_event",s.NftTransferEvent="nft_transfer_event",s.NftMintEvent="nft_mint_event",s.NftBurnEvent="nft_burn_event",s.FtTransferEvent="ft_transfer_event",s.FtMintEvent="ft_mint_event",s.FtBurnEvent="ft_burn_event",s))(Q||{});function Mt(t,e){return t.filter(n=>n.type===e)}function jt(t,e={}){let n={};for(let r in t){let a=t[r],i=e.deployerAddress||a.address,c=`${i}.${a.name}`,p=a.contract(i,a.name);n[r]={identifier:c,contract:p}}return n}import{addressToString as P,ClarityType as o,uintCV as X,contractPrincipalCV as tt,intCV as et,stringAsciiCV as nt,stringUtf8CV as rt,noneCV as ot,someCV as at,tupleCV as it,listCV as st,hexToCV as ct,bufferCV as lt}from"micro-stacks/clarity";import{isClarityAbiList as pt,isClarityAbiOptional as ut,isClarityAbiStringAscii as ft,isClarityAbiStringUtf8 as dt,isClarityAbiTuple as yt,isClarityAbiBuffer as Ct,parseToCV as F}from"micro-stacks/transactions";import{bytesToAscii as Tt,bytesToHex as R}from"micro-stacks/common";function mt(t){return{isOk:!0,value:t}}function xt(t){return{isOk:!1,value:t}}function b(t){if(t.type===o.PrincipalStandard)return P(t.address);if(t.type===o.PrincipalContract)return`${P(t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function l(t,e=!1){switch(t.type){case o.BoolTrue:return!0;case o.BoolFalse:return!1;case o.Int:case o.UInt:return t.value;case o.Buffer:return t.buffer;case o.OptionalNone:return null;case o.OptionalSome:return l(t.value);case o.ResponseErr:return e?xt(l(t.value)):l(t.value);case o.ResponseOk:return e?mt(l(t.value)):l(t.value);case o.PrincipalStandard:case o.PrincipalContract:return b(t);case o.List:return t.list.map(r=>l(r));case o.Tuple:return Object.entries(t.data).reduce((r,[a,i])=>{let c=f(a);return T(d({},r),{[c]:l(i)})},{});case o.StringASCII:return t.data;case o.StringUTF8:return t.data}}function Xt(t,e=!1){return l(ct(t),e)}function _(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}function y(t,e){if(yt(e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let a=E(r.name,t),i=t[a];n[r.name]=y(i,r.type)}),it(n)}else if(pt(e)){let r=t.map(a=>y(a,e.list.type));return st(r)}else{if(ut(e))return t?at(y(t,e.optional)):ot();if(ft(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return nt(t)}else if(dt(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return rt(t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return F(n,e)}else if(e==="uint128"){let n=_(t);return X(n.toString())}else if(e==="int128"){let n=_(t);return et(n.toString())}else if(e==="trait_reference"){if(typeof t!="string")throw new Error("Invalid input for trait_reference");let[n,r]=t.split(".");return tt(n,r)}else if(Ct(e))return lt(t)}return F(t,e)}function m(t,e="hex"){switch(t.type){case o.BoolTrue:return"true";case o.BoolFalse:return"false";case o.Int:return t.value.toString();case o.UInt:return`u${t.value.toString()}`;case o.Buffer:if(e==="tryAscii"){let n=Tt(t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${R(t.buffer)}`;case o.OptionalNone:return"none";case o.OptionalSome:return`(some ${m(t.value,e)})`;case o.ResponseErr:return`(err ${m(t.value,e)})`;case o.ResponseOk:return`(ok ${m(t.value,e)})`;case o.PrincipalStandard:case o.PrincipalContract:return`'${b(t)}`;case o.List:return`(list ${t.list.map(n=>m(n,e)).join(" ")})`;case o.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${m(t.data[n],e)})`).join(" ")})`;case o.StringASCII:return`"${t.data}"`;case o.StringUTF8:return`u"${t.data}"`}}function x(t){switch(t.type){case o.BoolTrue:return!0;case o.BoolFalse:return!1;case o.Int:case o.UInt:return`${t.value}`;case o.Buffer:return R(t.buffer);case o.OptionalNone:return null;case o.OptionalSome:return x(t.value);case o.ResponseErr:return x(t.value);case o.ResponseOk:return x(t.value);case o.PrincipalStandard:case o.PrincipalContract:return b(t);case o.List:return t.list.map(n=>x(n));case o.Tuple:return Object.entries(t.data).reduce((n,[r,a])=>{let i=f(r);return T(d({},n),{[i]:x(a)})},{});case o.StringASCII:return t.data;case o.StringUTF8:return t.data}}function O(t,e){return t.args.map(n=>{let r=E(n.name,e),a=e[r];return y(a,n.type)})}function gt(t,e){return e.map((n,r)=>y(n,t.args[r].type))}function g(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return O(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(a=>{try{E(a.name,n)}catch{r=!1}}),r)return O(t,n)}catch{}return gt(t,e)}function E(t,e){let n=Object.keys(e).find(r=>{let a=t===r,i=t===w(r);return a||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function B(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function I(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function bt(t,e){let n=t.abi.functions.find(a=>f(a.name)===e);if(n)return function(...a){return{functionArgs:g(n,a),contractAddress:t.contractAddress,contractName:t.contractName,function:n,functionName:n.name,nativeArgs:a}};let r=t.abi.maps.find(a=>f(a.name)===e);if(r)return a=>{let i=y(a,r.key);return{contractAddress:t.contractAddress,contractName:t.contractName,map:r,nativeKey:a,key:i}};throw new Error(`Invalid function call: no function exists for ${String(e)}`)}var Et={get:bt},vt=t=>new Proxy(t,Et);import{fetchContractDataMapEntry as At,callReadOnlyFunction as ht}from"micro-stacks/api";import{cvToHex as Nt,hexToCV as kt}from"micro-stacks/clarity";import{broadcastTransaction as St}from"micro-stacks/transactions";function wt(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function V(t,e){let n=wt(e),r=await ht({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,network:e.network});return l(r,!0)}async function pe(t,e){let n=await V(t,e);return B(n)}async function ue(t,e){let n=await V(t,e);return I(n)}async function fe(t,e){let n=Nt(t.key),r=await At({contract_address:t.contractAddress,contract_name:t.contractName,map_name:t.map.name,lookup_key:n,tip:"latest",url:e.network.getCoreApiUrl(),proof:0}),a=kt(r.data);return l(a,!0)}async function de(t,e){let n=await St(t,e.network);if("error"in n)throw new Error(`Error broadcasting tx: ${n.error} - ${n.reason} - ${JSON.stringify(n.reason_data)}`);return{txId:n.txid,stacksTransaction:t}}function Pt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function D(t){return Pt(t).filter(v)}function $(t){if(!v(t))throw new Error("Unable to get path for tx type.");if("requirement-publish"in t)return t["requirement-publish"].path;if("emulated-contract-publish"in t)return t["emulated-contract-publish"].path;if("contract-publish"in t)return t["contract-publish"].path;throw new Error("Couldnt get path for deployment tx.")}function M(t){if(!v(t))throw new Error("Unable to get ID for tx type.");if("requirement-publish"in t){let e=t["requirement-publish"],[n,r]=e["contract-id"].split(".");return`${e["remap-sender"]}.${r}`}else if("emulated-contract-publish"in t){let e=t["emulated-contract-publish"];return`${e["emulated-sender"]}.${e["contract-name"]}`}else if("contract-publish"in t){let e=t["contract-publish"];return`${e["expected-sender"]}.${e["contract-name"]}`}throw new Error("Unable to find ID for contract.")}function v(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var he=["devnet","simnet","testnet","mainnet"];function Ne(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,a])=>{let i=t.deployments[r][e];return i&&n.push([r,U(a,i)]),!1}),Object.fromEntries(n)}function ke(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=`${e}.${r.contractName}`;return[n,U(r,a)]}))}function Ft(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=Object.assign((...i)=>{let c=g(r,i),[p,u]=e.split(".");return{functionArgs:c,contractAddress:p,contractName:u,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,a]}))}function U(t,e){let n=d({},t);return T(d(d({},Ft(t.functions,e)),n),{identifier:e})}function Se(t,e){let n={};return D(e.plan.batches).forEach(a=>{let i=M(a),[c,p]=i.split("."),u=f(p),j=t[u],C=t[u];if(typeof C>"u")throw new Error(`Clarigen error: mismatch for contract '${u}'`);n[u]=C,C.contractFile=$(a),C.identifier=i,Object.keys(t[u].functions).forEach(s=>{let A=s,K=(...h)=>{let N=j.functions[A];return{functionArgs:g(N,h),contractAddress:c,contractName:C.contractName,function:N,nativeArgs:h}};C[A]=K})}),n}export{Q as CoreNodeEventType,he as DEPLOYMENT_NETWORKS,z as MAINNET_BURN_ADDRESS,Z as TESTNET_BURN_ADDRESS,Dt as bootContractIdentifier,de as broadcast,U as contractFactory,ke as contractsFactory,x as cvToJSON,m as cvToString,l as cvToValue,Se as deploymentFactory,xt as err,I as expectErr,B as expectOk,fe as fetchMapGet,Mt as filterEvents,E as findJsTupleKey,Ft as functionsFactory,It as getContractIdentifier,Y as getContractNameFromPath,Vt as getContractPrincipalCV,Xt as hexToCvValue,jt as makeContracts,mt as ok,y as parseToCV,b as principalToString,Ne as projectFactory,vt as pureProxy,V as ro,ue as roErr,pe as roOk,f as toCamelCase,w as toKebabCase,gt as transformArgsArray,g as transformArgsToCV,O as transformObjectArgs};
1
+ var q=Object.defineProperty,z=Object.defineProperties;var H=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var G=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var O=(t,e,n)=>e in t?q(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,y=(t,e)=>{for(var n in e||(e={}))G.call(e,n)&&O(t,n,e[n]);if(h)for(var n of h(e))W.call(e,n)&&O(t,n,e[n]);return t},m=(t,e)=>z(t,H(e));import{contractPrincipalCV as Z}from"micro-stacks/clarity";var Y="ST000000000000000000002AMW42H",Q="SP000000000000000000002Q6VF78",d=(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...a]=n.replace("!","").replace("?","").split("-"),s=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return a.forEach(u=>{s+=u[0].toUpperCase()+u.slice(1)}),s};function S(t){let e=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);return e?e.join("-").toLowerCase():t}var X=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},It=t=>`${t.address}.${t.name}`,Vt=t=>{let e=X(t.contractFile);return Z(t.address,e)};function Dt(t,e){return`${e?Q:Y}.${t}`}var tt=(c=>(c.ContractEvent="contract_event",c.StxTransferEvent="stx_transfer_event",c.StxMintEvent="stx_mint_event",c.StxBurnEvent="stx_burn_event",c.StxLockEvent="stx_lock_event",c.NftTransferEvent="nft_transfer_event",c.NftMintEvent="nft_mint_event",c.NftBurnEvent="nft_burn_event",c.FtTransferEvent="ft_transfer_event",c.FtMintEvent="ft_mint_event",c.FtBurnEvent="ft_burn_event",c))(tt||{});function Mt(t,e){return t.filter(n=>n.type===e)}function Ut(t,e={}){let n={};for(let r in t){let a=t[r],i=e.deployerAddress||a.address,s=`${i}.${a.name}`,u=a.contract(i,a.name);n[r]={identifier:s,contract:u}}return n}import{addressToString as w,ClarityType as o,uintCV as et,contractPrincipalCV as nt,intCV as rt,stringAsciiCV as ot,stringUtf8CV as at,noneCV as it,someCV as st,tupleCV as ct,listCV as pt,hexToCV as lt,bufferCV as ut}from"micro-stacks/clarity";import{isClarityAbiList as ft,isClarityAbiOptional as dt,isClarityAbiStringAscii as yt,isClarityAbiStringUtf8 as Tt,isClarityAbiTuple as Ct,isClarityAbiBuffer as mt,parseToCV as P}from"micro-stacks/transactions";import{bytesToAscii as xt,bytesToHex as _}from"micro-stacks/common";function B(t){return{isOk:!0,value:t}}function I(t){return{isOk:!1,value:t}}function b(t){if(t.type===o.PrincipalStandard)return w(t.address);if(t.type===o.PrincipalContract)return`${w(t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function p(t,e=!1){switch(t.type){case o.BoolTrue:return!0;case o.BoolFalse:return!1;case o.Int:case o.UInt:return t.value;case o.Buffer:return t.buffer;case o.OptionalNone:return null;case o.OptionalSome:return p(t.value);case o.ResponseErr:return e?I(p(t.value)):p(t.value);case o.ResponseOk:return e?B(p(t.value)):p(t.value);case o.PrincipalStandard:case o.PrincipalContract:return b(t);case o.List:return t.list.map(r=>p(r));case o.Tuple:return Object.entries(t.data).reduce((r,[a,i])=>{let s=d(a);return m(y({},r),{[s]:p(i)})},{});case o.StringASCII:return t.data;case o.StringUTF8:return t.data}}function Xt(t,e=!1){return p(lt(t),e)}function R(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}function T(t,e){if(Ct(e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let a=E(r.name,t),i=t[a];n[r.name]=T(i,r.type)}),ct(n)}else if(ft(e)){let r=t.map(a=>T(a,e.list.type));return pt(r)}else{if(dt(e))return t?st(T(t,e.optional)):it();if(yt(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return ot(t)}else if(Tt(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return at(t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return P(n,e)}else if(e==="uint128"){let n=R(t);return et(n.toString())}else if(e==="int128"){let n=R(t);return rt(n.toString())}else if(e==="trait_reference"){if(typeof t!="string")throw new Error("Invalid input for trait_reference");let[n,r]=t.split(".");return nt(n,r)}else if(mt(e))return ut(t)}return P(t,e)}function x(t,e="hex"){switch(t.type){case o.BoolTrue:return"true";case o.BoolFalse:return"false";case o.Int:return t.value.toString();case o.UInt:return`u${t.value.toString()}`;case o.Buffer:if(e==="tryAscii"){let n=xt(t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${_(t.buffer)}`;case o.OptionalNone:return"none";case o.OptionalSome:return`(some ${x(t.value,e)})`;case o.ResponseErr:return`(err ${x(t.value,e)})`;case o.ResponseOk:return`(ok ${x(t.value,e)})`;case o.PrincipalStandard:case o.PrincipalContract:return`'${b(t)}`;case o.List:return`(list ${t.list.map(n=>x(n,e)).join(" ")})`;case o.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${x(t.data[n],e)})`).join(" ")})`;case o.StringASCII:return`"${t.data}"`;case o.StringUTF8:return`u"${t.data}"`}}function l(t,e=!1){switch(t.type){case o.BoolTrue:return!0;case o.BoolFalse:return!1;case o.Int:case o.UInt:return`${t.value}`;case o.Buffer:return _(t.buffer);case o.OptionalNone:return null;case o.OptionalSome:return l(t.value);case o.ResponseErr:return e?I(l(t.value)):l(t.value);case o.ResponseOk:return e?B(l(t.value)):l(t.value);case o.PrincipalStandard:case o.PrincipalContract:return b(t);case o.List:return t.list.map(r=>l(r));case o.Tuple:return Object.entries(t.data).reduce((r,[a,i])=>{let s=d(a);return m(y({},r),{[s]:l(i)})},{});case o.StringASCII:return t.data;case o.StringUTF8:return t.data}}function F(t,e){return t.args.map(n=>{let r=E(n.name,e),a=e[r];return T(a,n.type)})}function gt(t,e){return e.map((n,r)=>T(n,t.args[r].type))}function g(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return F(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(a=>{try{E(a.name,n)}catch{r=!1}}),r)return F(t,n)}catch{}return gt(t,e)}function E(t,e){let n=Object.keys(e).find(r=>{let a=t===r,i=t===S(r);return a||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function V(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function D(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function bt(t,e){let n=t.abi.functions.find(a=>d(a.name)===e);if(n)return function(...a){return{functionArgs:g(n,a),contractAddress:t.contractAddress,contractName:t.contractName,function:n,functionName:n.name,nativeArgs:a}};let r=t.abi.maps.find(a=>d(a.name)===e);if(r)return a=>{let i=T(a,r.key);return{contractAddress:t.contractAddress,contractName:t.contractName,map:r,nativeKey:a,key:i}};throw new Error(`Invalid function call: no function exists for ${String(e)}`)}var Et={get:bt},vt=t=>new Proxy(t,Et);import{fetchContractDataMapEntry as At,callReadOnlyFunction as kt}from"micro-stacks/api";import{cvToHex as Nt,hexToCV as ht}from"micro-stacks/clarity";import{broadcastTransaction as Ot}from"micro-stacks/transactions";function St(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function $(t,e){let n=St(e),r=await kt({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,network:e.network});return e.json?l(r):p(r,!0)}async function ue(t,e){let n=await $(t,e);return V(n)}async function fe(t,e){let n=await $(t,e);return D(n)}async function de(t,e){let n=Nt(t.key),r=await At({contract_address:t.contractAddress,contract_name:t.contractName,map_name:t.map.name,lookup_key:n,tip:"latest",url:e.network.getCoreApiUrl(),proof:0}),a=ht(r.data);return p(a,!0)}async function ye(t,e){let n=await Ot(t,e.network);if("error"in n)throw new Error(`Error broadcasting tx: ${n.error} - ${n.reason} - ${JSON.stringify(n.reason_data)}`);return{txId:n.txid,stacksTransaction:t}}function wt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function M(t){return wt(t).filter(v)}function j(t){if(!v(t))throw new Error("Unable to get path for tx type.");if("requirement-publish"in t)return t["requirement-publish"].path;if("emulated-contract-publish"in t)return t["emulated-contract-publish"].path;if("contract-publish"in t)return t["contract-publish"].path;throw new Error("Couldnt get path for deployment tx.")}function U(t){if(!v(t))throw new Error("Unable to get ID for tx type.");if("requirement-publish"in t){let e=t["requirement-publish"],[n,r]=e["contract-id"].split(".");return`${e["remap-sender"]}.${r}`}else if("emulated-contract-publish"in t){let e=t["emulated-contract-publish"];return`${e["emulated-sender"]}.${e["contract-name"]}`}else if("contract-publish"in t){let e=t["contract-publish"];return`${e["expected-sender"]}.${e["contract-name"]}`}throw new Error("Unable to find ID for contract.")}function v(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var Ne=["devnet","simnet","testnet","mainnet"];function he(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,a])=>{let i=t.deployments[r][e];return i&&n.push([r,J(a,i)]),!1}),Object.fromEntries(n)}function Oe(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=`${e}.${r.contractName}`;return[n,J(r,a)]}))}function Pt(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=Object.assign((...i)=>{let s=g(r,i),[u,f]=e.split(".");return{functionArgs:s,contractAddress:u,contractName:f,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,a]}))}function J(t,e){let n=y({},t);return m(y(y({},Pt(t.functions,e)),n),{identifier:e})}function Se(t,e){let n={};return M(e.plan.batches).forEach(a=>{let i=U(a),[s,u]=i.split("."),f=d(u),K=t[f],C=t[f];if(typeof C>"u")throw new Error(`Clarigen error: mismatch for contract '${f}'`);n[f]=C,C.contractFile=j(a),C.identifier=i,Object.keys(t[f].functions).forEach(c=>{let A=c,L=(...k)=>{let N=K.functions[A];return{functionArgs:g(N,k),contractAddress:s,contractName:C.contractName,function:N,nativeArgs:k}};C[A]=L})}),n}export{tt as CoreNodeEventType,Ne as DEPLOYMENT_NETWORKS,Q as MAINNET_BURN_ADDRESS,Y as TESTNET_BURN_ADDRESS,Dt as bootContractIdentifier,ye as broadcast,J as contractFactory,Oe as contractsFactory,l as cvToJSON,x as cvToString,p as cvToValue,Se as deploymentFactory,I as err,D as expectErr,V as expectOk,de as fetchMapGet,Mt as filterEvents,E as findJsTupleKey,Pt as functionsFactory,It as getContractIdentifier,X as getContractNameFromPath,Vt as getContractPrincipalCV,Xt as hexToCvValue,Ut as makeContracts,B as ok,T as parseToCV,b as principalToString,he as projectFactory,vt as pureProxy,$ as ro,fe as roErr,ue as roOk,d as toCamelCase,S as toKebabCase,gt as transformArgsArray,g as transformArgsToCV,F as transformObjectArgs};
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.4",
2
+ "version": "1.0.6",
3
3
  "license": "MIT",
4
4
  "types": "./dist/index.d.ts",
5
5
  "main": "./dist/index.js",
@@ -26,7 +26,7 @@
26
26
  "build": "shx rm -rf ./dist && tsup",
27
27
  "test": "jest",
28
28
  "lint": "eslint \"src/**/*.{ts,tsx}\" && prettier --check src/**/*.ts",
29
- "typecheck": "tsc --noEmit",
29
+ "typecheck": "tsc --noEmit -p tsconfig-test.json",
30
30
  "publish:dev": "pnpm build && yalc publish --push",
31
31
  "copy-types": "node copy-types.js"
32
32
  }