@clarigen/core 1.0.0-next.29 → 1.0.0-next.31

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
@@ -171,6 +171,59 @@ interface ResultAssets {
171
171
  assets: Record<string, Record<string, string>>;
172
172
  }
173
173
 
174
+ interface ContractCall<T> {
175
+ function: ClarityAbiFunction;
176
+ nativeArgs: any[];
177
+ functionArgs: ClarityValue[];
178
+ contractAddress: string;
179
+ contractName: string;
180
+ _r?: T;
181
+ }
182
+ interface ContractCallTyped<Args extends UnknownArgs, R> extends Omit<ContractCall<R>, 'nativeArgs'> {
183
+ nativeArgs: ArgsType<Args>;
184
+ }
185
+ declare type ContractFunctions = {
186
+ [key: string]: TypedAbiFunction<UnknownArgs, unknown>;
187
+ };
188
+ declare type AllContracts = Record<string, TypedAbi>;
189
+ declare type UnknownArg = TypedAbiArg<unknown, string>;
190
+ declare type UnknownArgs = UnknownArg[];
191
+ declare type ArgsTuple<T extends UnknownArgs> = {
192
+ [K in keyof T]: T[K] extends TypedAbiArg<infer A, string> ? A : never;
193
+ };
194
+ declare type ArgsRecordUnion<T extends TypedAbiArg<unknown, string>> = T extends TypedAbiArg<infer A, infer N> ? {
195
+ [K in T as N]: A;
196
+ } : never;
197
+ declare type InnerUnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
198
+ declare type Compact<T> = {
199
+ [K in keyof T]: T[K];
200
+ };
201
+ declare type UnionToIntersection<T> = Compact<InnerUnionToIntersection<T>>;
202
+ declare type ArgsRecord<T extends UnknownArgs> = UnionToIntersection<ArgsRecordUnion<T[number]>>;
203
+ declare type ArgsType<T extends UnknownArgs> = [ArgsRecord<T>] | ArgsTuple<T>;
204
+ declare type ContractCallFunction<Args extends UnknownArgs, R> = (...args: ArgsType<Args>) => ContractCallTyped<Args, R>;
205
+ declare type FnToContractCall<T> = T extends TypedAbiFunction<infer Arg, infer R> ? ContractCallFunction<Arg, R> : never;
206
+ declare type FunctionsToContractCalls<T> = T extends ContractFunctions ? {
207
+ [key in keyof T]: FnToContractCall<T[key]>;
208
+ } : never;
209
+ declare type ContractsToContractCalls<T> = T extends AllContracts ? {
210
+ [key in keyof T]: FunctionsToContractCalls<T[key]['functions']>;
211
+ } : never;
212
+ declare type FullContract<T> = T extends TypedAbi ? FunctionsToContractCalls<T['functions']> & T & {
213
+ identifier: string;
214
+ } & {
215
+ contractFile: string;
216
+ } : never;
217
+ declare type ContractFactory<T extends AllContracts> = {
218
+ [key in keyof T]: FullContract<T[key]>;
219
+ };
220
+
221
+ 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;
222
+ declare type KebabObject<T> = T extends Uint8Array ? T : T extends Record<string, unknown> ? {
223
+ [K in keyof T as K extends string ? Kebab<K> : K]: KebabObject<T[K]>;
224
+ } : T;
225
+ declare type ExtractArgs<F> = F extends TypedAbiFunction<infer Args, unknown> ? ArgsTuple<Args> : never;
226
+ declare type ExtractArgsRecord<F> = F extends TypedAbiFunction<infer Args, unknown> ? ArgsRecord<Args> : never;
174
227
  declare type ContractBuilder<T> = (contractAddress: string, contractName: string) => T;
175
228
  interface Contract<T> {
176
229
  address: string;
@@ -345,53 +398,6 @@ interface MakeContractsOptions {
345
398
  }
346
399
  declare function makeContracts<T extends Contracts<any>>(contracts: T, options?: MakeContractsOptions): ContractInstances<T>;
347
400
 
348
- interface ContractCall<T> {
349
- function: ClarityAbiFunction;
350
- nativeArgs: any[];
351
- functionArgs: ClarityValue[];
352
- contractAddress: string;
353
- contractName: string;
354
- _r?: T;
355
- }
356
- interface ContractCallTyped<Args extends UnknownArgs, R> extends Omit<ContractCall<R>, 'nativeArgs'> {
357
- nativeArgs: ArgsType<Args>;
358
- }
359
- declare type ContractFunctions = {
360
- [key: string]: TypedAbiFunction<UnknownArgs, unknown>;
361
- };
362
- declare type AllContracts = Record<string, TypedAbi>;
363
- declare type UnknownArg = TypedAbiArg<unknown, string>;
364
- declare type UnknownArgs = UnknownArg[];
365
- declare type ArgsTuple<T extends UnknownArgs> = {
366
- [K in keyof T]: T[K] extends TypedAbiArg<infer A, string> ? A : never;
367
- };
368
- declare type ArgsRecordUnion<T extends TypedAbiArg<unknown, string>> = T extends TypedAbiArg<infer A, infer N> ? {
369
- [K in T as N]: A;
370
- } : never;
371
- declare type InnerUnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
372
- declare type Compact<T> = {
373
- [K in keyof T]: T[K];
374
- };
375
- declare type UnionToIntersection<T> = Compact<InnerUnionToIntersection<T>>;
376
- declare type ArgsRecord<T extends UnknownArgs> = UnionToIntersection<ArgsRecordUnion<T[number]>>;
377
- declare type ArgsType<T extends UnknownArgs> = [ArgsRecord<T>] | ArgsTuple<T>;
378
- declare type ContractCallFunction<Args extends UnknownArgs, R> = (...args: ArgsType<Args>) => ContractCallTyped<Args, R>;
379
- declare type FnToContractCall<T> = T extends TypedAbiFunction<infer Arg, infer R> ? ContractCallFunction<Arg, R> : never;
380
- declare type FunctionsToContractCalls<T> = T extends ContractFunctions ? {
381
- [key in keyof T]: FnToContractCall<T[key]>;
382
- } : never;
383
- declare type ContractsToContractCalls<T> = T extends AllContracts ? {
384
- [key in keyof T]: FunctionsToContractCalls<T[key]['functions']>;
385
- } : never;
386
- declare type FullContract<T> = T extends TypedAbi ? FunctionsToContractCalls<T['functions']> & T & {
387
- identifier: string;
388
- } & {
389
- contractFile: string;
390
- } : never;
391
- declare type ContractFactory<T extends AllContracts> = {
392
- [key in keyof T]: FullContract<T[key]>;
393
- };
394
-
395
401
  interface PureContractInfo {
396
402
  abi: ClarityAbi;
397
403
  contractAddress: string;
@@ -538,4 +544,4 @@ declare function functionsFactory<T extends ContractFunctions>(functions: T, ide
538
544
  declare function contractFactory<T extends TypedAbi, Id extends string>(abi: T, identifier: Id): FullContractWithIdentifier<T, Id>;
539
545
  declare function deploymentFactory<T extends AllContracts>(contracts: T, deployer: DeploymentPlan): ContractFactory<T>;
540
546
 
541
- export { AbiPrimitiveTo, AbiTupleTo, AbiTypeTo, AllContracts, 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, FnToContractCall, FtBurnEvent, FtMintEvent, FtTransferEvent, FullContract, FullContractWithIdentifier, FunctionsToContractCalls, 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, cvToString, cvToValue, deploymentFactory, err, expectErr, expectOk, fetchMapGet, filterEvents, findJsTupleKey, functionsFactory, getContractIdentifier, getContractNameFromPath, getContractPrincipalCV, hexToCvValue, makeContracts, ok, parseToCV, projectFactory, pureProxy, ro, roErr, roOk, toCamelCase, toKebabCase, transformArgsArray, transformArgsToCV, transformObjectArgs };
547
+ export { AbiPrimitiveTo, AbiTupleTo, AbiTypeTo, AllContracts, 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, cvToString, cvToValue, deploymentFactory, err, expectErr, expectOk, fetchMapGet, filterEvents, findJsTupleKey, functionsFactory, getContractIdentifier, getContractNameFromPath, getContractPrincipalCV, hexToCvValue, makeContracts, ok, parseToCV, 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 K=Object.defineProperty,L=Object.defineProperties;var q=Object.getOwnPropertyDescriptors;var b=Object.getOwnPropertySymbols;var H=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;var A=(t,e,n)=>e in t?K(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,m=(t,e)=>{for(var n in e||(e={}))H.call(e,n)&&A(t,n,e[n]);if(b)for(var n of b(e))G.call(e,n)&&A(t,n,e[n]);return t},h=(t,e)=>L(t,q(e));var _clarity = require('micro-stacks/clarity');var W="ST000000000000000000002AMW42H",Z= exports.MAINNET_BURN_ADDRESS ="SP000000000000000000002Q6VF78",d= exports.toCamelCase =(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...o]=n.replace("!","").replace("?","").split("-"),l=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return o.forEach(s=>{l+=s[0].toUpperCase()+s.slice(1)}),l};function N(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 z=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},Bt= exports.getContractIdentifier =t=>`${t.address}.${t.name}`,It= exports.getContractPrincipalCV =t=>{let e=z(t.contractFile);return _clarity.contractPrincipalCV.call(void 0, t.address,e)};function Vt(t,e){return`${e?Z:W}.${t}`}var Y=(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))(Y||{});function $t(t,e){return t.filter(n=>n.type===e)}function Ut(t,e={}){let n={};for(let r in t){let o=t[r],i=e.deployerAddress||o.address,l=`${i}.${o.name}`,s=o.contract(i,o.name);n[r]={identifier:l,contract:s}}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 F(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?xt(p(t.value)):p(t.value);case _clarity.ClarityType.ResponseOk:return e?mt(p(t.value)):p(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return F(t);case _clarity.ClarityType.List:return t.list.map(o=>p(o));case _clarity.ClarityType.Tuple:let n={};return Object.keys(t.data).map(o=>[o,p(t.data[o])]).forEach(([o,i])=>{n[o]=i}),n;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 P(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}function f(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 o=t[r.name];n[r.name]=f(o,r.type)}),_clarity.tupleCV.call(void 0, n)}else if(_transactions.isClarityAbiList.call(void 0, e)){let r=t.map(o=>f(o,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, f(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=P(t);return _clarity.uintCV.call(void 0, n.toString())}else if(e==="int128"){let n=P(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 C(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 ${C(t.value,e)})`;case _clarity.ClarityType.ResponseErr:return`(err ${C(t.value,e)})`;case _clarity.ClarityType.ResponseOk:return`(ok ${C(t.value,e)})`;case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return`'${F(t)}`;case _clarity.ClarityType.List:return`(list ${t.list.map(n=>C(n,e)).join(" ")})`;case _clarity.ClarityType.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${C(t.data[n],e)})`).join(" ")})`;case _clarity.ClarityType.StringASCII:return`"${t.data}"`;case _clarity.ClarityType.StringUTF8:return`u"${t.data}"`}}function w(t,e){return t.args.map(n=>{let r=_(n.name,e),o=e[r];return f(o,n.type)})}function gt(t,e){return e.map((n,r)=>f(n,t.args[r].type))}function T(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return w(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=t.args.map(o=>_(o.name,n));return w(t,n)}catch (e2){}return gt(t,e)}function _(t,e){let n=Object.keys(e).find(r=>{let o=t===r,i=t===N(r);return o||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function R(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function O(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function vt(t,e){let n=t.abi.functions.find(o=>d(o.name)===e);if(n)return function(...o){return{functionArgs:T(n,o),contractAddress:t.contractAddress,contractName:t.contractName,function:n,nativeArgs:o}};let r=t.abi.maps.find(o=>d(o.name)===e);if(r)return o=>{let i=f(o,r.key);return{contractAddress:t.contractAddress,contractName:t.contractName,map:r,nativeKey:o,key:i}};throw new Error(`Invalid function call: no function exists for ${String(e)}`)}var Et={get:vt},bt= exports.pureProxy =t=>new Proxy(t,Et);var _api = require('micro-stacks/api');async function I(t,e){let r=`${e.network.getReadOnlyFunctionCallApiUrl(t.contractAddress,t.contractName,t.function.name)}?tip=latest`,o=JSON.stringify({sender:t.contractAddress,arguments:t.functionArgs.map(s=>typeof s=="string"?s:_clarity.cvToHex.call(void 0, s))}),i=await _common.fetchPrivate.call(void 0, r,{method:"POST",body:o,headers:{"Content-Type":"application/json"}});if(!i.ok){let s="";try{s=await i.text()}catch (e3){}throw new Error(`Error calling read-only function. Response ${i.status}: ${i.statusText}. Attempted to fetch ${r} and failed with the message: "${s}"`)}let l=_api.parseReadOnlyResponse.call(void 0, await i.json());return p(l,!0)}async function fe(t,e){let n=await I(t,e);return R(n)}async function ye(t,e){let n=await I(t,e);return O(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}),o=_clarity.hexToCV.call(void 0, r.data);return p(o,!0)}async function Ce(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} - ${n.reason_data}`);return{txId:n.txid,stacksTransaction:t}}function Pt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function V(t){return Pt(t).filter(x)}function D(t){if(!x(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 $(t){if(!x(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 x(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var ke=["devnet","simnet","testnet","mainnet"];function Se(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,M(o,i)]),!1}),Object.fromEntries(n)}function Pe(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,M(r,o)]}))}function wt(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>[n,(...i)=>{let l=T(r,i),[s,u]=e.split(".");return{functionArgs:l,contractAddress:s,contractName:u,function:r,nativeArgs:i}}]))}function M(t,e){let n=m({},t);return h(m(m({},wt(t.functions,e)),n),{identifier:e})}function we(t,e){let n={};return V(e.plan.batches).forEach(o=>{let i=$(o),[l,s]=i.split("."),u=d(s),U=t[u],y=t[u];if(typeof y>"u")throw new Error(`Clarigen error: mismatch for contract '${u}'`);n[u]=y,y.contractFile=D(o),y.identifier=i,Object.keys(t[u].functions).forEach(c=>{let g=c,j=(...v)=>{let E=U.functions[g];return{functionArgs:T(E,v),contractAddress:l,contractName:y.contractName,function:E,nativeArgs:v}};y[g]=j})}),n}exports.CoreNodeEventType = Y; exports.DEPLOYMENT_NETWORKS = ke; exports.MAINNET_BURN_ADDRESS = Z; exports.TESTNET_BURN_ADDRESS = W; exports.bootContractIdentifier = Vt; exports.broadcast = Ce; exports.contractFactory = M; exports.contractsFactory = Pe; exports.cvToString = C; exports.cvToValue = p; exports.deploymentFactory = we; exports.err = xt; exports.expectErr = O; exports.expectOk = R; exports.fetchMapGet = de; exports.filterEvents = $t; exports.findJsTupleKey = _; exports.functionsFactory = wt; exports.getContractIdentifier = Bt; exports.getContractNameFromPath = z; exports.getContractPrincipalCV = It; exports.hexToCvValue = Xt; exports.makeContracts = Ut; exports.ok = mt; exports.parseToCV = f; exports.projectFactory = Se; exports.pureProxy = bt; exports.ro = I; exports.roErr = ye; exports.roOk = fe; exports.toCamelCase = d; exports.toKebabCase = N; exports.transformArgsArray = gt; exports.transformArgsToCV = T; exports.transformObjectArgs = w;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var K=Object.defineProperty,L=Object.defineProperties;var q=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var H=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;var N=(t,e,n)=>e in t?K(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,C=(t,e)=>{for(var n in e||(e={}))H.call(e,n)&&N(t,n,e[n]);if(h)for(var n of h(e))G.call(e,n)&&N(t,n,e[n]);return t},x=(t,e)=>L(t,q(e));var _clarity = require('micro-stacks/clarity');var W="ST000000000000000000002AMW42H",Z= exports.MAINNET_BURN_ADDRESS ="SP000000000000000000002Q6VF78",f= exports.toCamelCase =(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...o]=n.replace("!","").replace("?","").split("-"),c=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return o.forEach(s=>{c+=s[0].toUpperCase()+s.slice(1)}),c};function k(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 z=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},Bt= exports.getContractIdentifier =t=>`${t.address}.${t.name}`,It= exports.getContractPrincipalCV =t=>{let e=z(t.contractFile);return _clarity.contractPrincipalCV.call(void 0, t.address,e)};function Vt(t,e){return`${e?Z:W}.${t}`}var Y=(l=>(l.ContractEvent="contract_event",l.StxTransferEvent="stx_transfer_event",l.StxMintEvent="stx_mint_event",l.StxBurnEvent="stx_burn_event",l.StxLockEvent="stx_lock_event",l.NftTransferEvent="nft_transfer_event",l.NftMintEvent="nft_mint_event",l.NftBurnEvent="nft_burn_event",l.FtTransferEvent="ft_transfer_event",l.FtMintEvent="ft_mint_event",l.FtBurnEvent="ft_burn_event",l))(Y||{});function $t(t,e){return t.filter(n=>n.type===e)}function Ut(t,e={}){let n={};for(let r in t){let o=t[r],i=e.deployerAddress||o.address,c=`${i}.${o.name}`,s=o.contract(i,o.name);n[r]={identifier:c,contract:s}}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 R(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?xt(p(t.value)):p(t.value);case _clarity.ClarityType.ResponseOk:return e?mt(p(t.value)):p(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return R(t);case _clarity.ClarityType.List:return t.list.map(r=>p(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let c=f(o);return x(C({},r),{[c]: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 w(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 o=g(r.name,t),i=t[o];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(o=>y(o,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=w(t);return _clarity.uintCV.call(void 0, n.toString())}else if(e==="int128"){let n=w(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 T(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 ${T(t.value,e)})`;case _clarity.ClarityType.ResponseErr:return`(err ${T(t.value,e)})`;case _clarity.ClarityType.ResponseOk:return`(ok ${T(t.value,e)})`;case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return`'${R(t)}`;case _clarity.ClarityType.List:return`(list ${t.list.map(n=>T(n,e)).join(" ")})`;case _clarity.ClarityType.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${T(t.data[n],e)})`).join(" ")})`;case _clarity.ClarityType.StringASCII:return`"${t.data}"`;case _clarity.ClarityType.StringUTF8:return`u"${t.data}"`}}function F(t,e){return t.args.map(n=>{let r=g(n.name,e),o=e[r];return y(o,n.type)})}function gt(t,e){return e.map((n,r)=>y(n,t.args[r].type))}function m(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(o=>{try{g(o.name,n)}catch (e2){r=!1}}),r)return F(t,n)}catch (e3){}return gt(t,e)}function g(t,e){let n=Object.keys(e).find(r=>{let o=t===r,i=t===k(r);return o||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function _(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function O(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function vt(t,e){let n=t.abi.functions.find(o=>f(o.name)===e);if(n)return function(...o){return{functionArgs:m(n,o),contractAddress:t.contractAddress,contractName:t.contractName,function:n,nativeArgs:o}};let r=t.abi.maps.find(o=>f(o.name)===e);if(r)return o=>{let i=y(o,r.key);return{contractAddress:t.contractAddress,contractName:t.contractName,map:r,nativeKey:o,key:i}};throw new Error(`Invalid function call: no function exists for ${String(e)}`)}var Et={get:vt},bt= exports.pureProxy =t=>new Proxy(t,Et);var _api = require('micro-stacks/api');async function I(t,e){let r=`${e.network.getReadOnlyFunctionCallApiUrl(t.contractAddress,t.contractName,t.function.name)}?tip=latest`,o=JSON.stringify({sender:t.contractAddress,arguments:t.functionArgs.map(s=>typeof s=="string"?s:_clarity.cvToHex.call(void 0, s))}),i=await _common.fetchPrivate.call(void 0, r,{method:"POST",body:o,headers:{"Content-Type":"application/json"}});if(!i.ok){let s="";try{s=await i.text()}catch (e4){}throw new Error(`Error calling read-only function. Response ${i.status}: ${i.statusText}. Attempted to fetch ${r} and failed with the message: "${s}"`)}let c=_api.parseReadOnlyResponse.call(void 0, await i.json());return p(c,!0)}async function fe(t,e){let n=await I(t,e);return _(n)}async function ye(t,e){let n=await I(t,e);return O(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}),o=_clarity.hexToCV.call(void 0, r.data);return p(o,!0)}async function Ce(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} - ${n.reason_data}`);return{txId:n.txid,stacksTransaction:t}}function Pt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function V(t){return Pt(t).filter(v)}function D(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 $(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 ke=["devnet","simnet","testnet","mainnet"];function Se(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,M(o,i)]),!1}),Object.fromEntries(n)}function Pe(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,M(r,o)]}))}function wt(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>[n,(...i)=>{let c=m(r,i),[s,u]=e.split(".");return{functionArgs:c,contractAddress:s,contractName:u,function:r,nativeArgs:i}}]))}function M(t,e){let n=C({},t);return x(C(C({},wt(t.functions,e)),n),{identifier:e})}function we(t,e){let n={};return V(e.plan.batches).forEach(o=>{let i=$(o),[c,s]=i.split("."),u=f(s),U=t[u],d=t[u];if(typeof d>"u")throw new Error(`Clarigen error: mismatch for contract '${u}'`);n[u]=d,d.contractFile=D(o),d.identifier=i,Object.keys(t[u].functions).forEach(l=>{let E=l,j=(...b)=>{let A=U.functions[E];return{functionArgs:m(A,b),contractAddress:c,contractName:d.contractName,function:A,nativeArgs:b}};d[E]=j})}),n}exports.CoreNodeEventType = Y; exports.DEPLOYMENT_NETWORKS = ke; exports.MAINNET_BURN_ADDRESS = Z; exports.TESTNET_BURN_ADDRESS = W; exports.bootContractIdentifier = Vt; exports.broadcast = Ce; exports.contractFactory = M; exports.contractsFactory = Pe; exports.cvToString = T; exports.cvToValue = p; exports.deploymentFactory = we; exports.err = xt; exports.expectErr = O; exports.expectOk = _; exports.fetchMapGet = de; exports.filterEvents = $t; exports.findJsTupleKey = g; exports.functionsFactory = wt; exports.getContractIdentifier = Bt; exports.getContractNameFromPath = z; exports.getContractPrincipalCV = It; exports.hexToCvValue = Xt; exports.makeContracts = Ut; exports.ok = mt; exports.parseToCV = y; exports.projectFactory = Se; exports.pureProxy = bt; exports.ro = I; exports.roErr = ye; exports.roOk = fe; exports.toCamelCase = f; exports.toKebabCase = k; exports.transformArgsArray = gt; exports.transformArgsToCV = m; exports.transformObjectArgs = F;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var K=Object.defineProperty,L=Object.defineProperties;var q=Object.getOwnPropertyDescriptors;var b=Object.getOwnPropertySymbols;var H=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;var A=(t,e,n)=>e in t?K(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,m=(t,e)=>{for(var n in e||(e={}))H.call(e,n)&&A(t,n,e[n]);if(b)for(var n of b(e))G.call(e,n)&&A(t,n,e[n]);return t},h=(t,e)=>L(t,q(e));import{contractPrincipalCV as J}from"micro-stacks/clarity";var W="ST000000000000000000002AMW42H",Z="SP000000000000000000002Q6VF78",d=(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...o]=n.replace("!","").replace("?","").split("-"),l=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return o.forEach(s=>{l+=s[0].toUpperCase()+s.slice(1)}),l};function N(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 z=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},Bt=t=>`${t.address}.${t.name}`,It=t=>{let e=z(t.contractFile);return J(t.address,e)};function Vt(t,e){return`${e?Z:W}.${t}`}var Y=(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))(Y||{});function $t(t,e){return t.filter(n=>n.type===e)}function Ut(t,e={}){let n={};for(let r in t){let o=t[r],i=e.deployerAddress||o.address,l=`${i}.${o.name}`,s=o.contract(i,o.name);n[r]={identifier:l,contract:s}}return n}import{addressToString as k,ClarityType as a,uintCV as Q,contractPrincipalCV as X,intCV as tt,stringAsciiCV as et,stringUtf8CV as nt,noneCV as rt,someCV as ot,tupleCV as at,listCV as it,hexToCV as st,bufferCV as ct}from"micro-stacks/clarity";import{isClarityAbiList as lt,isClarityAbiOptional as pt,isClarityAbiStringAscii as ut,isClarityAbiStringUtf8 as ft,isClarityAbiTuple as yt,isClarityAbiBuffer as dt,parseToCV as S}from"micro-stacks/transactions";import{bytesToAscii as Ct,bytesToHex as Tt}from"micro-stacks/common";function mt(t){return{isOk:!0,value:t}}function xt(t){return{isOk:!1,value:t}}function F(t){if(t.type===a.PrincipalStandard)return k(t.address);if(t.type===a.PrincipalContract)return`${k(t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function p(t,e=!1){switch(t.type){case a.BoolTrue:return!0;case a.BoolFalse:return!1;case a.Int:case a.UInt:return t.value;case a.Buffer:return t.buffer;case a.OptionalNone:return null;case a.OptionalSome:return p(t.value);case a.ResponseErr:return e?xt(p(t.value)):p(t.value);case a.ResponseOk:return e?mt(p(t.value)):p(t.value);case a.PrincipalStandard:case a.PrincipalContract:return F(t);case a.List:return t.list.map(o=>p(o));case a.Tuple:let n={};return Object.keys(t.data).map(o=>[o,p(t.data[o])]).forEach(([o,i])=>{n[o]=i}),n;case a.StringASCII:return t.data;case a.StringUTF8:return t.data}}function Xt(t,e=!1){return p(st(t),e)}function P(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}function f(t,e){if(yt(e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let o=t[r.name];n[r.name]=f(o,r.type)}),at(n)}else if(lt(e)){let r=t.map(o=>f(o,e.list.type));return it(r)}else{if(pt(e))return t?ot(f(t,e.optional)):rt();if(ut(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return et(t)}else if(ft(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return nt(t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return S(n,e)}else if(e==="uint128"){let n=P(t);return Q(n.toString())}else if(e==="int128"){let n=P(t);return tt(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 X(n,r)}else if(dt(e))return ct(t)}return S(t,e)}function C(t,e="hex"){switch(t.type){case a.BoolTrue:return"true";case a.BoolFalse:return"false";case a.Int:return t.value.toString();case a.UInt:return`u${t.value.toString()}`;case a.Buffer:if(e==="tryAscii"){let n=Ct(t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${Tt(t.buffer)}`;case a.OptionalNone:return"none";case a.OptionalSome:return`(some ${C(t.value,e)})`;case a.ResponseErr:return`(err ${C(t.value,e)})`;case a.ResponseOk:return`(ok ${C(t.value,e)})`;case a.PrincipalStandard:case a.PrincipalContract:return`'${F(t)}`;case a.List:return`(list ${t.list.map(n=>C(n,e)).join(" ")})`;case a.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${C(t.data[n],e)})`).join(" ")})`;case a.StringASCII:return`"${t.data}"`;case a.StringUTF8:return`u"${t.data}"`}}function w(t,e){return t.args.map(n=>{let r=_(n.name,e),o=e[r];return f(o,n.type)})}function gt(t,e){return e.map((n,r)=>f(n,t.args[r].type))}function T(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return w(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=t.args.map(o=>_(o.name,n));return w(t,n)}catch{}return gt(t,e)}function _(t,e){let n=Object.keys(e).find(r=>{let o=t===r,i=t===N(r);return o||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function R(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function O(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function vt(t,e){let n=t.abi.functions.find(o=>d(o.name)===e);if(n)return function(...o){return{functionArgs:T(n,o),contractAddress:t.contractAddress,contractName:t.contractName,function:n,nativeArgs:o}};let r=t.abi.maps.find(o=>d(o.name)===e);if(r)return o=>{let i=f(o,r.key);return{contractAddress:t.contractAddress,contractName:t.contractName,map:r,nativeKey:o,key:i}};throw new Error(`Invalid function call: no function exists for ${String(e)}`)}var Et={get:vt},bt=t=>new Proxy(t,Et);import{parseReadOnlyResponse as At,fetchContractDataMapEntry as ht}from"micro-stacks/api";import{cvToHex as B,hexToCV as Nt}from"micro-stacks/clarity";import{fetchPrivate as kt}from"micro-stacks/common";import{broadcastTransaction as St}from"micro-stacks/transactions";async function I(t,e){let r=`${e.network.getReadOnlyFunctionCallApiUrl(t.contractAddress,t.contractName,t.function.name)}?tip=latest`,o=JSON.stringify({sender:t.contractAddress,arguments:t.functionArgs.map(s=>typeof s=="string"?s:B(s))}),i=await kt(r,{method:"POST",body:o,headers:{"Content-Type":"application/json"}});if(!i.ok){let s="";try{s=await i.text()}catch{}throw new Error(`Error calling read-only function. Response ${i.status}: ${i.statusText}. Attempted to fetch ${r} and failed with the message: "${s}"`)}let l=At(await i.json());return p(l,!0)}async function fe(t,e){let n=await I(t,e);return R(n)}async function ye(t,e){let n=await I(t,e);return O(n)}async function de(t,e){let n=B(t.key),r=await ht({contract_address:t.contractAddress,contract_name:t.contractName,map_name:t.map.name,lookup_key:n,tip:"latest",url:e.network.getCoreApiUrl(),proof:0}),o=Nt(r.data);return p(o,!0)}async function Ce(t,e){let n=await St(t,e.network);if("error"in n)throw new Error(`Error broadcasting tx: ${n.error} - ${n.reason} - ${n.reason_data}`);return{txId:n.txid,stacksTransaction:t}}function Pt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function V(t){return Pt(t).filter(x)}function D(t){if(!x(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 $(t){if(!x(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 x(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var ke=["devnet","simnet","testnet","mainnet"];function Se(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,M(o,i)]),!1}),Object.fromEntries(n)}function Pe(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,M(r,o)]}))}function wt(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>[n,(...i)=>{let l=T(r,i),[s,u]=e.split(".");return{functionArgs:l,contractAddress:s,contractName:u,function:r,nativeArgs:i}}]))}function M(t,e){let n=m({},t);return h(m(m({},wt(t.functions,e)),n),{identifier:e})}function we(t,e){let n={};return V(e.plan.batches).forEach(o=>{let i=$(o),[l,s]=i.split("."),u=d(s),U=t[u],y=t[u];if(typeof y>"u")throw new Error(`Clarigen error: mismatch for contract '${u}'`);n[u]=y,y.contractFile=D(o),y.identifier=i,Object.keys(t[u].functions).forEach(c=>{let g=c,j=(...v)=>{let E=U.functions[g];return{functionArgs:T(E,v),contractAddress:l,contractName:y.contractName,function:E,nativeArgs:v}};y[g]=j})}),n}export{Y as CoreNodeEventType,ke as DEPLOYMENT_NETWORKS,Z as MAINNET_BURN_ADDRESS,W as TESTNET_BURN_ADDRESS,Vt as bootContractIdentifier,Ce as broadcast,M as contractFactory,Pe as contractsFactory,C as cvToString,p as cvToValue,we as deploymentFactory,xt as err,O as expectErr,R as expectOk,de as fetchMapGet,$t as filterEvents,_ as findJsTupleKey,wt as functionsFactory,Bt as getContractIdentifier,z as getContractNameFromPath,It as getContractPrincipalCV,Xt as hexToCvValue,Ut as makeContracts,mt as ok,f as parseToCV,Se as projectFactory,bt as pureProxy,I as ro,ye as roErr,fe as roOk,d as toCamelCase,N as toKebabCase,gt as transformArgsArray,T as transformArgsToCV,w as transformObjectArgs};
1
+ var K=Object.defineProperty,L=Object.defineProperties;var q=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var H=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;var N=(t,e,n)=>e in t?K(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,C=(t,e)=>{for(var n in e||(e={}))H.call(e,n)&&N(t,n,e[n]);if(h)for(var n of h(e))G.call(e,n)&&N(t,n,e[n]);return t},x=(t,e)=>L(t,q(e));import{contractPrincipalCV as J}from"micro-stacks/clarity";var W="ST000000000000000000002AMW42H",Z="SP000000000000000000002Q6VF78",f=(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...o]=n.replace("!","").replace("?","").split("-"),c=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return o.forEach(s=>{c+=s[0].toUpperCase()+s.slice(1)}),c};function k(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 z=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},Bt=t=>`${t.address}.${t.name}`,It=t=>{let e=z(t.contractFile);return J(t.address,e)};function Vt(t,e){return`${e?Z:W}.${t}`}var Y=(l=>(l.ContractEvent="contract_event",l.StxTransferEvent="stx_transfer_event",l.StxMintEvent="stx_mint_event",l.StxBurnEvent="stx_burn_event",l.StxLockEvent="stx_lock_event",l.NftTransferEvent="nft_transfer_event",l.NftMintEvent="nft_mint_event",l.NftBurnEvent="nft_burn_event",l.FtTransferEvent="ft_transfer_event",l.FtMintEvent="ft_mint_event",l.FtBurnEvent="ft_burn_event",l))(Y||{});function $t(t,e){return t.filter(n=>n.type===e)}function Ut(t,e={}){let n={};for(let r in t){let o=t[r],i=e.deployerAddress||o.address,c=`${i}.${o.name}`,s=o.contract(i,o.name);n[r]={identifier:c,contract:s}}return n}import{addressToString as S,ClarityType as a,uintCV as Q,contractPrincipalCV as X,intCV as tt,stringAsciiCV as et,stringUtf8CV as nt,noneCV as rt,someCV as ot,tupleCV as at,listCV as it,hexToCV as st,bufferCV as ct}from"micro-stacks/clarity";import{isClarityAbiList as lt,isClarityAbiOptional as pt,isClarityAbiStringAscii as ut,isClarityAbiStringUtf8 as ft,isClarityAbiTuple as yt,isClarityAbiBuffer as dt,parseToCV as P}from"micro-stacks/transactions";import{bytesToAscii as Ct,bytesToHex as Tt}from"micro-stacks/common";function mt(t){return{isOk:!0,value:t}}function xt(t){return{isOk:!1,value:t}}function R(t){if(t.type===a.PrincipalStandard)return S(t.address);if(t.type===a.PrincipalContract)return`${S(t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function p(t,e=!1){switch(t.type){case a.BoolTrue:return!0;case a.BoolFalse:return!1;case a.Int:case a.UInt:return t.value;case a.Buffer:return t.buffer;case a.OptionalNone:return null;case a.OptionalSome:return p(t.value);case a.ResponseErr:return e?xt(p(t.value)):p(t.value);case a.ResponseOk:return e?mt(p(t.value)):p(t.value);case a.PrincipalStandard:case a.PrincipalContract:return R(t);case a.List:return t.list.map(r=>p(r));case a.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let c=f(o);return x(C({},r),{[c]:p(i)})},{});case a.StringASCII:return t.data;case a.StringUTF8:return t.data}}function Xt(t,e=!1){return p(st(t),e)}function w(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 o=g(r.name,t),i=t[o];n[r.name]=y(i,r.type)}),at(n)}else if(lt(e)){let r=t.map(o=>y(o,e.list.type));return it(r)}else{if(pt(e))return t?ot(y(t,e.optional)):rt();if(ut(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return et(t)}else if(ft(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return nt(t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return P(n,e)}else if(e==="uint128"){let n=w(t);return Q(n.toString())}else if(e==="int128"){let n=w(t);return tt(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 X(n,r)}else if(dt(e))return ct(t)}return P(t,e)}function T(t,e="hex"){switch(t.type){case a.BoolTrue:return"true";case a.BoolFalse:return"false";case a.Int:return t.value.toString();case a.UInt:return`u${t.value.toString()}`;case a.Buffer:if(e==="tryAscii"){let n=Ct(t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${Tt(t.buffer)}`;case a.OptionalNone:return"none";case a.OptionalSome:return`(some ${T(t.value,e)})`;case a.ResponseErr:return`(err ${T(t.value,e)})`;case a.ResponseOk:return`(ok ${T(t.value,e)})`;case a.PrincipalStandard:case a.PrincipalContract:return`'${R(t)}`;case a.List:return`(list ${t.list.map(n=>T(n,e)).join(" ")})`;case a.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${T(t.data[n],e)})`).join(" ")})`;case a.StringASCII:return`"${t.data}"`;case a.StringUTF8:return`u"${t.data}"`}}function F(t,e){return t.args.map(n=>{let r=g(n.name,e),o=e[r];return y(o,n.type)})}function gt(t,e){return e.map((n,r)=>y(n,t.args[r].type))}function m(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(o=>{try{g(o.name,n)}catch{r=!1}}),r)return F(t,n)}catch{}return gt(t,e)}function g(t,e){let n=Object.keys(e).find(r=>{let o=t===r,i=t===k(r);return o||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function _(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function O(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function vt(t,e){let n=t.abi.functions.find(o=>f(o.name)===e);if(n)return function(...o){return{functionArgs:m(n,o),contractAddress:t.contractAddress,contractName:t.contractName,function:n,nativeArgs:o}};let r=t.abi.maps.find(o=>f(o.name)===e);if(r)return o=>{let i=y(o,r.key);return{contractAddress:t.contractAddress,contractName:t.contractName,map:r,nativeKey:o,key:i}};throw new Error(`Invalid function call: no function exists for ${String(e)}`)}var Et={get:vt},bt=t=>new Proxy(t,Et);import{parseReadOnlyResponse as At,fetchContractDataMapEntry as ht}from"micro-stacks/api";import{cvToHex as B,hexToCV as Nt}from"micro-stacks/clarity";import{fetchPrivate as kt}from"micro-stacks/common";import{broadcastTransaction as St}from"micro-stacks/transactions";async function I(t,e){let r=`${e.network.getReadOnlyFunctionCallApiUrl(t.contractAddress,t.contractName,t.function.name)}?tip=latest`,o=JSON.stringify({sender:t.contractAddress,arguments:t.functionArgs.map(s=>typeof s=="string"?s:B(s))}),i=await kt(r,{method:"POST",body:o,headers:{"Content-Type":"application/json"}});if(!i.ok){let s="";try{s=await i.text()}catch{}throw new Error(`Error calling read-only function. Response ${i.status}: ${i.statusText}. Attempted to fetch ${r} and failed with the message: "${s}"`)}let c=At(await i.json());return p(c,!0)}async function fe(t,e){let n=await I(t,e);return _(n)}async function ye(t,e){let n=await I(t,e);return O(n)}async function de(t,e){let n=B(t.key),r=await ht({contract_address:t.contractAddress,contract_name:t.contractName,map_name:t.map.name,lookup_key:n,tip:"latest",url:e.network.getCoreApiUrl(),proof:0}),o=Nt(r.data);return p(o,!0)}async function Ce(t,e){let n=await St(t,e.network);if("error"in n)throw new Error(`Error broadcasting tx: ${n.error} - ${n.reason} - ${n.reason_data}`);return{txId:n.txid,stacksTransaction:t}}function Pt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function V(t){return Pt(t).filter(v)}function D(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 $(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 ke=["devnet","simnet","testnet","mainnet"];function Se(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,M(o,i)]),!1}),Object.fromEntries(n)}function Pe(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,M(r,o)]}))}function wt(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>[n,(...i)=>{let c=m(r,i),[s,u]=e.split(".");return{functionArgs:c,contractAddress:s,contractName:u,function:r,nativeArgs:i}}]))}function M(t,e){let n=C({},t);return x(C(C({},wt(t.functions,e)),n),{identifier:e})}function we(t,e){let n={};return V(e.plan.batches).forEach(o=>{let i=$(o),[c,s]=i.split("."),u=f(s),U=t[u],d=t[u];if(typeof d>"u")throw new Error(`Clarigen error: mismatch for contract '${u}'`);n[u]=d,d.contractFile=D(o),d.identifier=i,Object.keys(t[u].functions).forEach(l=>{let E=l,j=(...b)=>{let A=U.functions[E];return{functionArgs:m(A,b),contractAddress:c,contractName:d.contractName,function:A,nativeArgs:b}};d[E]=j})}),n}export{Y as CoreNodeEventType,ke as DEPLOYMENT_NETWORKS,Z as MAINNET_BURN_ADDRESS,W as TESTNET_BURN_ADDRESS,Vt as bootContractIdentifier,Ce as broadcast,M as contractFactory,Pe as contractsFactory,T as cvToString,p as cvToValue,we as deploymentFactory,xt as err,O as expectErr,_ as expectOk,de as fetchMapGet,$t as filterEvents,g as findJsTupleKey,wt as functionsFactory,Bt as getContractIdentifier,z as getContractNameFromPath,It as getContractPrincipalCV,Xt as hexToCvValue,Ut as makeContracts,mt as ok,y as parseToCV,Se as projectFactory,bt as pureProxy,I as ro,ye as roErr,fe as roOk,f as toCamelCase,k as toKebabCase,gt as transformArgsArray,m as transformArgsToCV,F as transformObjectArgs};
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.0-next.29",
2
+ "version": "1.0.0-next.31",
3
3
  "license": "MIT",
4
4
  "types": "./dist/index.d.ts",
5
5
  "main": "./dist/index.js",