@clarigen/core 1.0.12 → 1.0.13

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
@@ -1,6 +1,6 @@
1
- import { ClarityAbi as ClarityAbi$1, PrincipalCV, ClarityValue, ClarityAbiType as ClarityAbiType$1, ClarityAbiFunction as ClarityAbiFunction$1, ClarityAbiTypeTuple as ClarityAbiTypeTuple$1, ContractPrincipalCV } from 'micro-stacks/clarity';
2
- import { StacksNetwork } from 'micro-stacks/network';
3
- import { StacksTransaction } from 'micro-stacks/transactions';
1
+ import { ClarityAbi as ClarityAbi$1, PrincipalCV, ClarityValue, ClarityAbiType as ClarityAbiType$1, ClarityAbiFunction as ClarityAbiFunction$1, ClarityAbiTypeTuple as ClarityAbiTypeTuple$1, ContractPrincipalCV, AssetInfo } from 'micro-stacks/clarity';
2
+ import { StacksTransaction, NonFungibleConditionCode, PostCondition, FungibleConditionCode } from 'micro-stacks/transactions';
3
+ import { IntegerType } from 'micro-stacks/common';
4
4
 
5
5
  type ClarityAbiTypeBuffer = {
6
6
  buffer: {
@@ -86,9 +86,10 @@ type TypedAbiMap<K, V> = ClarityAbiMap & {
86
86
  interface ClarityAbiTypeFungibleToken {
87
87
  name: string;
88
88
  }
89
- interface ClarityAbiTypeNonFungibleToken {
89
+ interface ClarityAbiTypeNonFungibleToken<T = unknown> {
90
90
  name: string;
91
- type: ClarityAbiType | Readonly<ClarityAbiType>;
91
+ type: ClarityAbiType;
92
+ _t?: T;
92
93
  }
93
94
  type TypedAbi = Readonly<{
94
95
  functions: {
@@ -101,10 +102,10 @@ type TypedAbi = Readonly<{
101
102
  [key: string]: TypedAbiMap<unknown, unknown>;
102
103
  };
103
104
  constants: {
104
- [key: string]: any;
105
+ [key: string]: unknown;
105
106
  };
106
107
  fungible_tokens: Readonly<ClarityAbiTypeFungibleToken[]>;
107
- non_fungible_tokens: Readonly<ClarityAbiTypeNonFungibleToken[]>;
108
+ non_fungible_tokens: Readonly<ClarityAbiTypeNonFungibleToken<unknown>[]>;
108
109
  contractName: string;
109
110
  contractFile?: string;
110
111
  }>;
@@ -442,8 +443,11 @@ declare const pureProxy: <T extends object>(target: PureContractInfo) => T;
442
443
  interface ApiOptionsUrl {
443
444
  url: string;
444
445
  }
446
+ type Network = {
447
+ getCoreApiUrl: () => string;
448
+ };
445
449
  interface ApiOptionsNetwork {
446
- network: StacksNetwork;
450
+ network: Network;
447
451
  }
448
452
  type ApiOptionsBase = (ApiOptionsUrl | ApiOptionsNetwork) & {
449
453
  tip?: string;
@@ -474,7 +478,7 @@ type JsonIf<O extends ClientOptions, T> = JsonIfOption<O & {
474
478
  }, T>;
475
479
  declare class ClarigenClient {
476
480
  url: string;
477
- constructor(networkOrUrl: StacksNetwork | string);
481
+ constructor(networkOrUrl: Network | string);
478
482
  private roOptions;
479
483
  ro<T, O extends ClientOptions>(tx: ContractCall<T>, options?: O): Promise<JsonIf<O, T>>;
480
484
  roOk<T, O extends ClientOptions>(tx: ContractCall<Response<T, any>>, options?: O): Promise<JsonIf<O, T>>;
@@ -568,7 +572,7 @@ interface MainnetDeploymentPlan {
568
572
  type DeploymentPlan = SimnetDeploymentPlan | DevnetDeploymentPlan | TestnetDeploymentPlan | MainnetDeploymentPlan;
569
573
 
570
574
  declare const DEPLOYMENT_NETWORKS: readonly ["devnet", "simnet", "testnet", "mainnet"];
571
- type DeploymentNetwork = typeof DEPLOYMENT_NETWORKS[number];
575
+ type DeploymentNetwork = (typeof DEPLOYMENT_NETWORKS)[number];
572
576
  type DeploymentsForContracts<C extends AllContracts> = {
573
577
  [K in keyof C]: ContractDeployments;
574
578
  };
@@ -598,4 +602,14 @@ type MapFactory<M extends TypedAbiMap<K, V>, K, V> = {
598
602
  };
599
603
  declare function mapFactory<Key, Val>(map: TypedAbiMap<Key, Val>, key: Key): MapFactory<TypedAbiMap<Key, Val>, Key, Val>;
600
604
 
601
- export { AbiPrimitiveTo, AbiTupleTo, AbiTypeTo, AllContracts, ApiOptions, ApiOptionsBase, ApiOptionsJsonize, ApiOptionsNetwork, ApiOptionsNoJson, ApiOptionsUrl, ArgsRecord, ArgsTuple, ArgsType, CVInput, ClarigenClient, 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, MapFactory, NftBurnEvent, NftMintEvent, NftTransferEvent, NonStandardClarityValue, OkType, Project, ProjectFactory, Response, ResponseErr, ResponseOk, ResultAssets, SimnetDeploymentPlan, SmartContractEvent, StxBurnEvent, StxLockEvent, StxMintEvent, StxTransferEvent, TESTNET_BURN_ADDRESS, TupleInput, TypedAbi, TypedAbiArg, TypedAbiFunction, TypedAbiMap, TypedAbiVariable, UnionToIntersection, bootContractIdentifier, broadcast, contractFactory, contractsFactory, cvToJSON, cvToString, cvToValue, deploymentFactory, err, expectErr, expectOk, fetchMapGet, filterEvents, findJsTupleKey, functionsFactory, getApiUrl, getContractIdentifier, getContractNameFromPath, getContractPrincipalCV, hexToCvValue, makeContracts, mapFactory, ok, parseToCV, principalToString, projectFactory, pureProxy, ro, roErr, roOk, toCamelCase, toKebabCase, transformArgsArray, transformArgsToCV, transformObjectArgs };
605
+ type AbiWithAssets = Pick<FullContract<TypedAbi>, 'non_fungible_tokens' | 'fungible_tokens' | 'identifier'>;
606
+ type AssetNames<T extends AbiWithAssets> = T['non_fungible_tokens'][number]['name'] | T['fungible_tokens'][number]['name'];
607
+ type NftAssets<T extends AbiWithAssets> = {
608
+ [K in keyof T['non_fungible_tokens']]: K extends number ? [T['non_fungible_tokens'][K]['name'], T['non_fungible_tokens'][K]['type']] : never;
609
+ };
610
+ declare function createAssetInfo<T extends AbiWithAssets>(contract: T, asset: AssetNames<T>): AssetInfo;
611
+ type NftAssetType<T extends AbiWithAssets> = T['non_fungible_tokens'][0] extends ClarityAbiTypeNonFungibleToken<infer A> ? A : never;
612
+ declare function makeNonFungiblePostCondition<T extends AbiWithAssets>(contract: T, sender: string, condition: NonFungibleConditionCode, value: NftAssetType<T>): PostCondition;
613
+ declare function makeFungiblePostCondition<T extends AbiWithAssets>(contract: T, sender: string, condition: FungibleConditionCode, amount: IntegerType): PostCondition;
614
+
615
+ export { AbiPrimitiveTo, AbiTupleTo, AbiTypeTo, AllContracts, ApiOptions, ApiOptionsBase, ApiOptionsJsonize, ApiOptionsNetwork, ApiOptionsNoJson, ApiOptionsUrl, ArgsRecord, ArgsTuple, ArgsType, AssetNames, CVInput, ClarigenClient, 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, MapFactory, Network, NftAssetType, NftAssets, NftBurnEvent, NftMintEvent, NftTransferEvent, NonStandardClarityValue, OkType, Project, ProjectFactory, Response, ResponseErr, ResponseOk, ResultAssets, SimnetDeploymentPlan, SmartContractEvent, StxBurnEvent, StxLockEvent, StxMintEvent, StxTransferEvent, TESTNET_BURN_ADDRESS, TupleInput, TypedAbi, TypedAbiArg, TypedAbiFunction, TypedAbiMap, TypedAbiVariable, UnionToIntersection, bootContractIdentifier, broadcast, contractFactory, contractsFactory, createAssetInfo, cvToJSON, cvToString, cvToValue, deploymentFactory, err, expectErr, expectOk, fetchMapGet, filterEvents, findJsTupleKey, functionsFactory, getApiUrl, getContractIdentifier, getContractNameFromPath, getContractPrincipalCV, hexToCvValue, makeContracts, makeFungiblePostCondition, makeNonFungiblePostCondition, mapFactory, 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 Z=Object.defineProperty,Y=Object.defineProperties;var Q=Object.getOwnPropertyDescriptors;var S=Object.getOwnPropertySymbols;var X=Object.prototype.hasOwnProperty,tt=Object.prototype.propertyIsEnumerable;var P=(t,e,n)=>e in t?Z(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,y=(t,e)=>{for(var n in e||(e={}))X.call(e,n)&&P(t,n,e[n]);if(S)for(var n of S(e))tt.call(e,n)&&P(t,n,e[n]);return t},m=(t,e)=>Y(t,Q(e));var _clarity = require('micro-stacks/clarity');var nt="ST000000000000000000002AMW42H",rt= exports.MAINNET_BURN_ADDRESS ="SP000000000000000000002Q6VF78",C= 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(u=>{c+=u[0].toUpperCase()+u.slice(1)}),c};function R(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 ot=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},Lt= exports.getContractIdentifier =t=>`${t.address}.${t.name}`,qt= exports.getContractPrincipalCV =t=>{let e=ot(t.contractFile);return _clarity.contractPrincipalCV.call(void 0, t.address,e)};function zt(t,e){return`${e?rt:nt}.${t}`}var at=(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))(at||{});function Gt(t,e){return t.filter(n=>n.type===e)}function Zt(t,e={}){let n={};for(let r in t){let a=t[r],i=e.deployerAddress||a.address,c=`${i}.${a.name}`,u=a.contract(i,a.name);n[r]={identifier:c,contract:u}}return n}var _transactions = require('micro-stacks/transactions');var _common = require('micro-stacks/common');function $(t){return{isOk:!0,value:t}}function M(t){return{isOk:!1,value:t}}function E(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 f(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 f(t.value);case _clarity.ClarityType.ResponseErr:return e?M(f(t.value)):f(t.value);case _clarity.ClarityType.ResponseOk:return e?$(f(t.value)):f(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return E(t);case _clarity.ClarityType.List:return t.list.map(r=>f(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[a,i])=>{let c=C(a);return m(y({},r),{[c]:f(i)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function ce(t,e=!1){return f(_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 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=A(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=_(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 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`'${E(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 d(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 d(t.value);case _clarity.ClarityType.ResponseErr:return e?M(d(t.value)):d(t.value);case _clarity.ClarityType.ResponseOk:return e?$(d(t.value)):d(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return E(t);case _clarity.ClarityType.List:return t.list.map(r=>d(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[a,i])=>{let c=C(a);return m(y({},r),{[c]:d(i)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function V(t,e){return t.args.map(n=>{let r=A(n.name,e),a=e[r];return T(a,n.type)})}function Ot(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 V(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(a=>{try{A(a.name,n)}catch (e2){r=!1}}),r)return V(t,n)}catch (e3){}return Ot(t,e)}function A(t,e){let n=Object.keys(e).find(r=>{let a=t===r,i=t===R(r);return a||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function D(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function j(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function ht(t,e){let n=t.abi.functions.find(a=>C(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=>C(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 kt={get:ht},Nt= exports.pureProxy =t=>new Proxy(t,kt);var _api = require('micro-stacks/api');function wt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function U(t){return wt(t).filter(O)}function J(t){if(!O(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 K(t){if(!O(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 O(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var Oe=["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,L(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,L(r,a)]}))}function St(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=Object.assign((...i)=>{let c=g(r,i),[u,p]=e.split(".");return{functionArgs:c,contractAddress:u,contractName:p,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,a]}))}function L(t,e){let n=y({},t);return m(y(y({},St(t.functions,e)),n),{identifier:e})}function Ne(t,e){let n={};return U(e.plan.batches).forEach(a=>{let i=K(a),[c,u]=i.split("."),p=C(u),b=t[p],l=t[p];if(typeof l>"u")throw new Error(`Clarigen error: mismatch for contract '${p}'`);n[p]=l,l.contractFile=J(a),l.identifier=i,Object.keys(t[p].functions).forEach(s=>{let v=s,W=(...N)=>{let w=b.functions[v];return{functionArgs:g(w,N),contractAddress:c,contractName:l.contractName,function:w,nativeArgs:N}};l[v]=W})}),n}function q(t,e){let n=T(e,t.key);return{key:e,keyCV:n,map:t}}async function z(t){let{contractName:e,contractAddress:n,functionName:r,functionArgs:a,senderAddress:i=n,tip:c,url:u}=t,p=`${u}/v2/contracts/call-read/${n}/${e}/${encodeURIComponent(r)}`;c&&(p+=`?tip=${c}`);let b=JSON.stringify({sender:i,arguments:a.map(s=>typeof s=="string"?s:_clarity.cvToHex.call(void 0, s))}),l=await _common.fetchPrivate.call(void 0, p,{method:"POST",body:b,headers:{"Content-Type":"application/json"}});if(!l.ok){let s="";try{s=await l.text()}catch (e4){}throw new Error(`Error calling read-only function. Response ${l.status}: ${l.statusText}. Attempted to fetch ${p} and failed with the message: "${s}"`)}return _api.parseReadOnlyResponse.call(void 0, await l.json())}function G(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function h(t,e){let n=G(e),r=await z({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,url:k(e)});return e.json?d(r):f(r,!0)}async function Mt(t,e){let n=await h(t,e);return D(n)}async function Dt(t,e){let n=await h(t,e);return j(n)}function k(t){return"network"in t?t.network.getCoreApiUrl():t.url}async function qe(t,e,n,r){let a=q(e,n),i=JSON.stringify(_clarity.cvToHex.call(void 0, a.keyCV)),[c,u]=t.split("."),p=_api.generateUrl.call(void 0, `${_api.v2Endpoint.call(void 0, k(r))}/map_entry/${c}/${u}/${a.map.name}`,{proof:0,tip:G(r)}),l=await(await fetch(p,{method:"POST",body:i,headers:{"Content-Type":"application/json",Accept:"application/json"}})).json(),s=_clarity.hexToCV.call(void 0, l.data);return f(s,!0)}async function ze(t,e){let n=`${k(e)}/v2/transactions`,r=await _transactions.broadcastRawTransaction.call(void 0, t.serialize(),n);if("error"in r)throw new Error(`Error broadcasting tx: ${r.error} - ${r.reason} - ${JSON.stringify(r.reason_data)}`);return{txId:r.txid,stacksTransaction:t}}var H=class{constructor(e){typeof e=="string"?this.url=e:this.url=e.getCoreApiUrl()}roOptions(e){return y({url:this.url},e)}ro(e,n){return h(e,this.roOptions(n||{}))}roOk(e,n){return Mt(e,this.roOptions(n||{}))}roErr(e,n){return Dt(e,this.roOptions(n||{}))}};exports.ClarigenClient = H; exports.CoreNodeEventType = at; exports.DEPLOYMENT_NETWORKS = Oe; exports.MAINNET_BURN_ADDRESS = rt; exports.TESTNET_BURN_ADDRESS = nt; exports.bootContractIdentifier = zt; exports.broadcast = ze; exports.contractFactory = L; exports.contractsFactory = ke; exports.cvToJSON = d; exports.cvToString = x; exports.cvToValue = f; exports.deploymentFactory = Ne; exports.err = M; exports.expectErr = j; exports.expectOk = D; exports.fetchMapGet = qe; exports.filterEvents = Gt; exports.findJsTupleKey = A; exports.functionsFactory = St; exports.getApiUrl = k; exports.getContractIdentifier = Lt; exports.getContractNameFromPath = ot; exports.getContractPrincipalCV = qt; exports.hexToCvValue = ce; exports.makeContracts = Zt; exports.mapFactory = q; exports.ok = $; exports.parseToCV = T; exports.principalToString = E; exports.projectFactory = he; exports.pureProxy = Nt; exports.ro = h; exports.roErr = Dt; exports.roOk = Mt; exports.toCamelCase = C; exports.toKebabCase = R; exports.transformArgsArray = Ot; exports.transformArgsToCV = g; exports.transformObjectArgs = V;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var Q=Object.defineProperty,X=Object.defineProperties;var tt=Object.getOwnPropertyDescriptors;var w=Object.getOwnPropertySymbols;var et=Object.prototype.hasOwnProperty,nt=Object.prototype.propertyIsEnumerable;var F=(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={}))et.call(e,n)&&F(t,n,e[n]);if(w)for(var n of w(e))nt.call(e,n)&&F(t,n,e[n]);return t},x=(t,e)=>X(t,tt(e));var _clarity = require('micro-stacks/clarity');var ot="ST000000000000000000002AMW42H",at= exports.MAINNET_BURN_ADDRESS ="SP000000000000000000002Q6VF78",C= exports.toCamelCase =(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...o]=n.replace("!","").replace("?","").split("-"),s=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return o.forEach(p=>{s+=p[0].toUpperCase()+p.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 it=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},Zt= exports.getContractIdentifier =t=>`${t.address}.${t.name}`,Yt= exports.getContractPrincipalCV =t=>{let e=it(t.contractFile);return _clarity.contractPrincipalCV.call(void 0, t.address,e)};function Qt(t,e){return`${e?at:ot}.${t}`}var st=(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))(st||{});function te(t,e){return t.filter(n=>n.type===e)}function ne(t,e={}){let n={};for(let r in t){let o=t[r],i=e.deployerAddress||o.address,s=`${i}.${o.name}`,p=o.contract(i,o.name);n[r]={identifier:s,contract:p}}return n}var _transactions = require('micro-stacks/transactions');var _common = require('micro-stacks/common');function $(t){return{isOk:!0,value:t}}function M(t){return{isOk:!1,value:t}}function v(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 f(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 f(t.value);case _clarity.ClarityType.ResponseErr:return e?M(f(t.value)):f(t.value);case _clarity.ClarityType.ResponseOk:return e?$(f(t.value)):f(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return v(t);case _clarity.ClarityType.List:return t.list.map(r=>f(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let s=C(o);return x(y({},r),{[s]:f(i)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function ye(t,e=!1){return f(_clarity.hexToCV.call(void 0, t),e)}function I(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}function d(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=E(r.name,t),i=t[o];n[r.name]=d(i,r.type)}),_clarity.tupleCV.call(void 0, n)}else if(_transactions.isClarityAbiList.call(void 0, e)){let r=t.map(o=>d(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, d(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=I(t);return _clarity.uintCV.call(void 0, n.toString())}else if(e==="int128"){let n=I(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 g(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 ${g(t.value,e)})`;case _clarity.ClarityType.ResponseErr:return`(err ${g(t.value,e)})`;case _clarity.ClarityType.ResponseOk:return`(ok ${g(t.value,e)})`;case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return`'${v(t)}`;case _clarity.ClarityType.List:return`(list ${t.list.map(n=>g(n,e)).join(" ")})`;case _clarity.ClarityType.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${g(t.data[n],e)})`).join(" ")})`;case _clarity.ClarityType.StringASCII:return`"${t.data}"`;case _clarity.ClarityType.StringUTF8:return`u"${t.data}"`}}function T(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 T(t.value);case _clarity.ClarityType.ResponseErr:return e?M(T(t.value)):T(t.value);case _clarity.ClarityType.ResponseOk:return e?$(T(t.value)):T(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return v(t);case _clarity.ClarityType.List:return t.list.map(r=>T(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let s=C(o);return x(y({},r),{[s]:T(i)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function V(t,e){return t.args.map(n=>{let r=E(n.name,e),o=e[r];return d(o,n.type)})}function ht(t,e){return e.map((n,r)=>d(n,t.args[r].type))}function b(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return V(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(o=>{try{E(o.name,n)}catch (e2){r=!1}}),r)return V(t,n)}catch (e3){}return ht(t,e)}function E(t,e){let n=Object.keys(e).find(r=>{let o=t===r,i=t===S(r);return o||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function D(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function U(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function Nt(t,e){let n=t.abi.functions.find(o=>C(o.name)===e);if(n)return function(...o){return{functionArgs:b(n,o),contractAddress:t.contractAddress,contractName:t.contractName,function:n,functionName:n.name,nativeArgs:o}};let r=t.abi.maps.find(o=>C(o.name)===e);if(r)return o=>{let i=d(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 Pt={get:Nt},wt= exports.pureProxy =t=>new Proxy(t,Pt);var _api = require('micro-stacks/api');function Ft(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function j(t){return Ft(t).filter(O)}function K(t){if(!O(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 J(t){if(!O(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 O(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var Fe=["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,L(o,i)]),!1}),Object.fromEntries(n)}function Re(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,L(r,o)]}))}function St(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=Object.assign((...i)=>{let s=b(r,i),[p,l]=e.split(".");return{functionArgs:s,contractAddress:p,contractName:l,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,o]}))}function L(t,e){let n=y({},t);return x(y(y({},St(t.functions,e)),n),{identifier:e})}function _e(t,e){let n={};return j(e.plan.batches).forEach(o=>{let i=J(o),[s,p]=i.split("."),l=C(p),m=t[l],u=t[l];if(typeof u>"u")throw new Error(`Clarigen error: mismatch for contract '${l}'`);n[l]=u,u.contractFile=K(o),u.identifier=i,Object.keys(t[l].functions).forEach(c=>{let A=c,Y=(...N)=>{let P=m.functions[A];return{functionArgs:b(P,N),contractAddress:s,contractName:u.contractName,function:P,nativeArgs:N}};u[A]=Y})}),n}function q(t,e){let n=d(e,t.key);return{key:e,keyCV:n,map:t}}async function W(t){let{contractName:e,contractAddress:n,functionName:r,functionArgs:o,senderAddress:i=n,tip:s,url:p}=t,l=`${p}/v2/contracts/call-read/${n}/${e}/${encodeURIComponent(r)}`;s&&(l+=`?tip=${s}`);let m=JSON.stringify({sender:i,arguments:o.map(c=>typeof c=="string"?c:_clarity.cvToHex.call(void 0, c))}),u=await _common.fetchPrivate.call(void 0, l,{method:"POST",body:m,headers:{"Content-Type":"application/json"}});if(!u.ok){let c="";try{c=await u.text()}catch (e4){}throw new Error(`Error calling read-only function. Response ${u.status}: ${u.statusText}. Attempted to fetch ${l} and failed with the message: "${c}"`)}return _api.parseReadOnlyResponse.call(void 0, await u.json())}function H(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function k(t,e){let n=H(e),r=await W({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,url:h(e)});return e.json?T(r):f(r,!0)}async function Ut(t,e){let n=await k(t,e);return D(n)}async function jt(t,e){let n=await k(t,e);return U(n)}function h(t){return"network"in t?t.network.getCoreApiUrl():t.url}async function Ye(t,e,n,r){let o=q(e,n),i=JSON.stringify(_clarity.cvToHex.call(void 0, o.keyCV)),[s,p]=t.split("."),l=_api.generateUrl.call(void 0, `${_api.v2Endpoint.call(void 0, h(r))}/map_entry/${s}/${p}/${o.map.name}`,{proof:0,tip:H(r)}),u=await(await fetch(l,{method:"POST",body:i,headers:{"Content-Type":"application/json",Accept:"application/json"}})).json(),c=_clarity.hexToCV.call(void 0, u.data);return f(c,!0)}async function Qe(t,e){let n=`${h(e)}/v2/transactions`,r=await _transactions.broadcastRawTransaction.call(void 0, t.serialize(),n);if("error"in r)throw new Error(`Error broadcasting tx: ${r.error} - ${r.reason} - ${JSON.stringify(r.reason_data)}`);return{txId:r.txid,stacksTransaction:t}}var z=class{constructor(e){typeof e=="string"?this.url=e:this.url=e.getCoreApiUrl()}roOptions(e){return y({url:this.url},e)}ro(e,n){return k(e,this.roOptions(n||{}))}roOk(e,n){return Ut(e,this.roOptions(n||{}))}roErr(e,n){return jt(e,this.roOptions(n||{}))}};function Z(t,e){if(!("identifier"in t))throw new Error("Invalid contract");let[n,r]=t.identifier.split(".");for(let o of t.non_fungible_tokens)if(o.name===e)return _transactions.createAssetInfo.call(void 0, n,r,o.name);for(let o of t.fungible_tokens)if(o.name===e)return _transactions.createAssetInfo.call(void 0, n,r,o.name);throw new Error(`Invalid asset: "${r}" is not an asset in contract.`)}function cn(t,e,n,r){let[o,i]=e.split("."),[s]=t.non_fungible_tokens,p=Z(t,s.name),l=s.type,m=d(r,l);return typeof i>"u"?_transactions.makeStandardNonFungiblePostCondition.call(void 0, o,n,p,m):_transactions.makeContractNonFungiblePostCondition.call(void 0, o,i,n,p,m)}function pn(t,e,n,r){let[o,i]=e.split("."),[s]=t.fungible_tokens,p=Z(t,s.name);return typeof i>"u"?_transactions.makeStandardFungiblePostCondition.call(void 0, o,n,r,p):_transactions.makeContractFungiblePostCondition.call(void 0, o,i,n,r,p)}exports.ClarigenClient = z; exports.CoreNodeEventType = st; exports.DEPLOYMENT_NETWORKS = Fe; exports.MAINNET_BURN_ADDRESS = at; exports.TESTNET_BURN_ADDRESS = ot; exports.bootContractIdentifier = Qt; exports.broadcast = Qe; exports.contractFactory = L; exports.contractsFactory = Re; exports.createAssetInfo = Z; exports.cvToJSON = T; exports.cvToString = g; exports.cvToValue = f; exports.deploymentFactory = _e; exports.err = M; exports.expectErr = U; exports.expectOk = D; exports.fetchMapGet = Ye; exports.filterEvents = te; exports.findJsTupleKey = E; exports.functionsFactory = St; exports.getApiUrl = h; exports.getContractIdentifier = Zt; exports.getContractNameFromPath = it; exports.getContractPrincipalCV = Yt; exports.hexToCvValue = ye; exports.makeContracts = ne; exports.makeFungiblePostCondition = pn; exports.makeNonFungiblePostCondition = cn; exports.mapFactory = q; exports.ok = $; exports.parseToCV = d; exports.principalToString = v; exports.projectFactory = Se; exports.pureProxy = wt; exports.ro = k; exports.roErr = jt; exports.roOk = Ut; exports.toCamelCase = C; exports.toKebabCase = S; exports.transformArgsArray = ht; exports.transformArgsToCV = b; exports.transformObjectArgs = V;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var Z=Object.defineProperty,Y=Object.defineProperties;var Q=Object.getOwnPropertyDescriptors;var S=Object.getOwnPropertySymbols;var X=Object.prototype.hasOwnProperty,tt=Object.prototype.propertyIsEnumerable;var P=(t,e,n)=>e in t?Z(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,y=(t,e)=>{for(var n in e||(e={}))X.call(e,n)&&P(t,n,e[n]);if(S)for(var n of S(e))tt.call(e,n)&&P(t,n,e[n]);return t},m=(t,e)=>Y(t,Q(e));import{contractPrincipalCV as et}from"micro-stacks/clarity";var nt="ST000000000000000000002AMW42H",rt="SP000000000000000000002Q6VF78",C=(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(u=>{c+=u[0].toUpperCase()+u.slice(1)}),c};function R(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 ot=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},Lt=t=>`${t.address}.${t.name}`,qt=t=>{let e=ot(t.contractFile);return et(t.address,e)};function zt(t,e){return`${e?rt:nt}.${t}`}var at=(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))(at||{});function Gt(t,e){return t.filter(n=>n.type===e)}function Zt(t,e={}){let n={};for(let r in t){let a=t[r],i=e.deployerAddress||a.address,c=`${i}.${a.name}`,u=a.contract(i,a.name);n[r]={identifier:c,contract:u}}return n}import{addressToString as F,ClarityType as o,uintCV as it,contractPrincipalCV as st,intCV as ct,stringAsciiCV as pt,stringUtf8CV as lt,noneCV as ut,someCV as ft,tupleCV as yt,listCV as dt,hexToCV as Tt,bufferCV as Ct}from"micro-stacks/clarity";import{isClarityAbiList as mt,isClarityAbiOptional as xt,isClarityAbiStringAscii as gt,isClarityAbiStringUtf8 as bt,isClarityAbiTuple as vt,isClarityAbiBuffer as Et,parseToCV as I}from"micro-stacks/transactions";import{bytesToAscii as At,bytesToHex as B}from"micro-stacks/common";function $(t){return{isOk:!0,value:t}}function M(t){return{isOk:!1,value:t}}function E(t){if(t.type===o.PrincipalStandard)return F(t.address);if(t.type===o.PrincipalContract)return`${F(t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function f(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 f(t.value);case o.ResponseErr:return e?M(f(t.value)):f(t.value);case o.ResponseOk:return e?$(f(t.value)):f(t.value);case o.PrincipalStandard:case o.PrincipalContract:return E(t);case o.List:return t.list.map(r=>f(r));case o.Tuple:return Object.entries(t.data).reduce((r,[a,i])=>{let c=C(a);return m(y({},r),{[c]:f(i)})},{});case o.StringASCII:return t.data;case o.StringUTF8:return t.data}}function ce(t,e=!1){return f(Tt(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 T(t,e){if(vt(e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let a=A(r.name,t),i=t[a];n[r.name]=T(i,r.type)}),yt(n)}else if(mt(e)){let r=t.map(a=>T(a,e.list.type));return dt(r)}else{if(xt(e))return t?ft(T(t,e.optional)):ut();if(gt(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return pt(t)}else if(bt(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return lt(t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return I(n,e)}else if(e==="uint128"){let n=_(t);return it(n.toString())}else if(e==="int128"){let n=_(t);return ct(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 st(n,r)}else if(Et(e))return Ct(t)}return I(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=At(t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${B(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`'${E(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 d(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 B(t.buffer);case o.OptionalNone:return null;case o.OptionalSome:return d(t.value);case o.ResponseErr:return e?M(d(t.value)):d(t.value);case o.ResponseOk:return e?$(d(t.value)):d(t.value);case o.PrincipalStandard:case o.PrincipalContract:return E(t);case o.List:return t.list.map(r=>d(r));case o.Tuple:return Object.entries(t.data).reduce((r,[a,i])=>{let c=C(a);return m(y({},r),{[c]:d(i)})},{});case o.StringASCII:return t.data;case o.StringUTF8:return t.data}}function V(t,e){return t.args.map(n=>{let r=A(n.name,e),a=e[r];return T(a,n.type)})}function Ot(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 V(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(a=>{try{A(a.name,n)}catch{r=!1}}),r)return V(t,n)}catch{}return Ot(t,e)}function A(t,e){let n=Object.keys(e).find(r=>{let a=t===r,i=t===R(r);return a||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function D(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function j(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function ht(t,e){let n=t.abi.functions.find(a=>C(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=>C(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 kt={get:ht},Nt=t=>new Proxy(t,kt);import{v2Endpoint as It,generateUrl as _t}from"micro-stacks/api";import{cvToHex as Vt,hexToCV as Bt}from"micro-stacks/clarity";import{broadcastRawTransaction as $t}from"micro-stacks/transactions";function wt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function U(t){return wt(t).filter(O)}function J(t){if(!O(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 K(t){if(!O(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 O(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var Oe=["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,L(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,L(r,a)]}))}function St(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=Object.assign((...i)=>{let c=g(r,i),[u,p]=e.split(".");return{functionArgs:c,contractAddress:u,contractName:p,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,a]}))}function L(t,e){let n=y({},t);return m(y(y({},St(t.functions,e)),n),{identifier:e})}function Ne(t,e){let n={};return U(e.plan.batches).forEach(a=>{let i=K(a),[c,u]=i.split("."),p=C(u),b=t[p],l=t[p];if(typeof l>"u")throw new Error(`Clarigen error: mismatch for contract '${p}'`);n[p]=l,l.contractFile=J(a),l.identifier=i,Object.keys(t[p].functions).forEach(s=>{let v=s,W=(...N)=>{let w=b.functions[v];return{functionArgs:g(w,N),contractAddress:c,contractName:l.contractName,function:w,nativeArgs:N}};l[v]=W})}),n}function q(t,e){let n=T(e,t.key);return{key:e,keyCV:n,map:t}}import{parseReadOnlyResponse as Pt}from"micro-stacks/api";import{cvToHex as Rt}from"micro-stacks/clarity";import{fetchPrivate as Ft}from"micro-stacks/common";async function z(t){let{contractName:e,contractAddress:n,functionName:r,functionArgs:a,senderAddress:i=n,tip:c,url:u}=t,p=`${u}/v2/contracts/call-read/${n}/${e}/${encodeURIComponent(r)}`;c&&(p+=`?tip=${c}`);let b=JSON.stringify({sender:i,arguments:a.map(s=>typeof s=="string"?s:Rt(s))}),l=await Ft(p,{method:"POST",body:b,headers:{"Content-Type":"application/json"}});if(!l.ok){let s="";try{s=await l.text()}catch{}throw new Error(`Error calling read-only function. Response ${l.status}: ${l.statusText}. Attempted to fetch ${p} and failed with the message: "${s}"`)}return Pt(await l.json())}function G(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function h(t,e){let n=G(e),r=await z({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,url:k(e)});return e.json?d(r):f(r,!0)}async function Mt(t,e){let n=await h(t,e);return D(n)}async function Dt(t,e){let n=await h(t,e);return j(n)}function k(t){return"network"in t?t.network.getCoreApiUrl():t.url}async function qe(t,e,n,r){let a=q(e,n),i=JSON.stringify(Vt(a.keyCV)),[c,u]=t.split("."),p=_t(`${It(k(r))}/map_entry/${c}/${u}/${a.map.name}`,{proof:0,tip:G(r)}),l=await(await fetch(p,{method:"POST",body:i,headers:{"Content-Type":"application/json",Accept:"application/json"}})).json(),s=Bt(l.data);return f(s,!0)}async function ze(t,e){let n=`${k(e)}/v2/transactions`,r=await $t(t.serialize(),n);if("error"in r)throw new Error(`Error broadcasting tx: ${r.error} - ${r.reason} - ${JSON.stringify(r.reason_data)}`);return{txId:r.txid,stacksTransaction:t}}var H=class{constructor(e){typeof e=="string"?this.url=e:this.url=e.getCoreApiUrl()}roOptions(e){return y({url:this.url},e)}ro(e,n){return h(e,this.roOptions(n||{}))}roOk(e,n){return Mt(e,this.roOptions(n||{}))}roErr(e,n){return Dt(e,this.roOptions(n||{}))}};export{H as ClarigenClient,at as CoreNodeEventType,Oe as DEPLOYMENT_NETWORKS,rt as MAINNET_BURN_ADDRESS,nt as TESTNET_BURN_ADDRESS,zt as bootContractIdentifier,ze as broadcast,L as contractFactory,ke as contractsFactory,d as cvToJSON,x as cvToString,f as cvToValue,Ne as deploymentFactory,M as err,j as expectErr,D as expectOk,qe as fetchMapGet,Gt as filterEvents,A as findJsTupleKey,St as functionsFactory,k as getApiUrl,Lt as getContractIdentifier,ot as getContractNameFromPath,qt as getContractPrincipalCV,ce as hexToCvValue,Zt as makeContracts,q as mapFactory,$ as ok,T as parseToCV,E as principalToString,he as projectFactory,Nt as pureProxy,h as ro,Dt as roErr,Mt as roOk,C as toCamelCase,R as toKebabCase,Ot as transformArgsArray,g as transformArgsToCV,V as transformObjectArgs};
1
+ var Q=Object.defineProperty,X=Object.defineProperties;var tt=Object.getOwnPropertyDescriptors;var w=Object.getOwnPropertySymbols;var et=Object.prototype.hasOwnProperty,nt=Object.prototype.propertyIsEnumerable;var F=(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={}))et.call(e,n)&&F(t,n,e[n]);if(w)for(var n of w(e))nt.call(e,n)&&F(t,n,e[n]);return t},x=(t,e)=>X(t,tt(e));import{contractPrincipalCV as rt}from"micro-stacks/clarity";var ot="ST000000000000000000002AMW42H",at="SP000000000000000000002Q6VF78",C=(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...o]=n.replace("!","").replace("?","").split("-"),s=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return o.forEach(p=>{s+=p[0].toUpperCase()+p.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 it=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},Zt=t=>`${t.address}.${t.name}`,Yt=t=>{let e=it(t.contractFile);return rt(t.address,e)};function Qt(t,e){return`${e?at:ot}.${t}`}var st=(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))(st||{});function te(t,e){return t.filter(n=>n.type===e)}function ne(t,e={}){let n={};for(let r in t){let o=t[r],i=e.deployerAddress||o.address,s=`${i}.${o.name}`,p=o.contract(i,o.name);n[r]={identifier:s,contract:p}}return n}import{addressToString as R,ClarityType as a,uintCV as ct,contractPrincipalCV as pt,intCV as lt,stringAsciiCV as ut,stringUtf8CV as ft,noneCV as dt,someCV as yt,tupleCV as Tt,listCV as Ct,hexToCV as mt,bufferCV as xt}from"micro-stacks/clarity";import{isClarityAbiList as gt,isClarityAbiOptional as bt,isClarityAbiStringAscii as At,isClarityAbiStringUtf8 as vt,isClarityAbiTuple as Et,isClarityAbiBuffer as Ot,parseToCV as _}from"micro-stacks/transactions";import{bytesToAscii as kt,bytesToHex as B}from"micro-stacks/common";function $(t){return{isOk:!0,value:t}}function M(t){return{isOk:!1,value:t}}function v(t){if(t.type===a.PrincipalStandard)return R(t.address);if(t.type===a.PrincipalContract)return`${R(t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function f(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 f(t.value);case a.ResponseErr:return e?M(f(t.value)):f(t.value);case a.ResponseOk:return e?$(f(t.value)):f(t.value);case a.PrincipalStandard:case a.PrincipalContract:return v(t);case a.List:return t.list.map(r=>f(r));case a.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let s=C(o);return x(y({},r),{[s]:f(i)})},{});case a.StringASCII:return t.data;case a.StringUTF8:return t.data}}function ye(t,e=!1){return f(mt(t),e)}function I(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}function d(t,e){if(Et(e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let o=E(r.name,t),i=t[o];n[r.name]=d(i,r.type)}),Tt(n)}else if(gt(e)){let r=t.map(o=>d(o,e.list.type));return Ct(r)}else{if(bt(e))return t?yt(d(t,e.optional)):dt();if(At(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return ut(t)}else if(vt(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return ft(t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return _(n,e)}else if(e==="uint128"){let n=I(t);return ct(n.toString())}else if(e==="int128"){let n=I(t);return lt(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 pt(n,r)}else if(Ot(e))return xt(t)}return _(t,e)}function g(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=kt(t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${B(t.buffer)}`;case a.OptionalNone:return"none";case a.OptionalSome:return`(some ${g(t.value,e)})`;case a.ResponseErr:return`(err ${g(t.value,e)})`;case a.ResponseOk:return`(ok ${g(t.value,e)})`;case a.PrincipalStandard:case a.PrincipalContract:return`'${v(t)}`;case a.List:return`(list ${t.list.map(n=>g(n,e)).join(" ")})`;case a.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${g(t.data[n],e)})`).join(" ")})`;case a.StringASCII:return`"${t.data}"`;case a.StringUTF8:return`u"${t.data}"`}}function T(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 B(t.buffer);case a.OptionalNone:return null;case a.OptionalSome:return T(t.value);case a.ResponseErr:return e?M(T(t.value)):T(t.value);case a.ResponseOk:return e?$(T(t.value)):T(t.value);case a.PrincipalStandard:case a.PrincipalContract:return v(t);case a.List:return t.list.map(r=>T(r));case a.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let s=C(o);return x(y({},r),{[s]:T(i)})},{});case a.StringASCII:return t.data;case a.StringUTF8:return t.data}}function V(t,e){return t.args.map(n=>{let r=E(n.name,e),o=e[r];return d(o,n.type)})}function ht(t,e){return e.map((n,r)=>d(n,t.args[r].type))}function b(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return V(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(o=>{try{E(o.name,n)}catch{r=!1}}),r)return V(t,n)}catch{}return ht(t,e)}function E(t,e){let n=Object.keys(e).find(r=>{let o=t===r,i=t===S(r);return o||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function D(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function U(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function Nt(t,e){let n=t.abi.functions.find(o=>C(o.name)===e);if(n)return function(...o){return{functionArgs:b(n,o),contractAddress:t.contractAddress,contractName:t.contractName,function:n,functionName:n.name,nativeArgs:o}};let r=t.abi.maps.find(o=>C(o.name)===e);if(r)return o=>{let i=d(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 Pt={get:Nt},wt=t=>new Proxy(t,Pt);import{v2Endpoint as Vt,generateUrl as Bt}from"micro-stacks/api";import{cvToHex as $t,hexToCV as Mt}from"micro-stacks/clarity";import{broadcastRawTransaction as Dt}from"micro-stacks/transactions";function Ft(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function j(t){return Ft(t).filter(O)}function K(t){if(!O(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 J(t){if(!O(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 O(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var Fe=["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,L(o,i)]),!1}),Object.fromEntries(n)}function Re(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,L(r,o)]}))}function St(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=Object.assign((...i)=>{let s=b(r,i),[p,l]=e.split(".");return{functionArgs:s,contractAddress:p,contractName:l,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,o]}))}function L(t,e){let n=y({},t);return x(y(y({},St(t.functions,e)),n),{identifier:e})}function _e(t,e){let n={};return j(e.plan.batches).forEach(o=>{let i=J(o),[s,p]=i.split("."),l=C(p),m=t[l],u=t[l];if(typeof u>"u")throw new Error(`Clarigen error: mismatch for contract '${l}'`);n[l]=u,u.contractFile=K(o),u.identifier=i,Object.keys(t[l].functions).forEach(c=>{let A=c,Y=(...N)=>{let P=m.functions[A];return{functionArgs:b(P,N),contractAddress:s,contractName:u.contractName,function:P,nativeArgs:N}};u[A]=Y})}),n}function q(t,e){let n=d(e,t.key);return{key:e,keyCV:n,map:t}}import{parseReadOnlyResponse as Rt}from"micro-stacks/api";import{cvToHex as _t}from"micro-stacks/clarity";import{fetchPrivate as It}from"micro-stacks/common";async function W(t){let{contractName:e,contractAddress:n,functionName:r,functionArgs:o,senderAddress:i=n,tip:s,url:p}=t,l=`${p}/v2/contracts/call-read/${n}/${e}/${encodeURIComponent(r)}`;s&&(l+=`?tip=${s}`);let m=JSON.stringify({sender:i,arguments:o.map(c=>typeof c=="string"?c:_t(c))}),u=await It(l,{method:"POST",body:m,headers:{"Content-Type":"application/json"}});if(!u.ok){let c="";try{c=await u.text()}catch{}throw new Error(`Error calling read-only function. Response ${u.status}: ${u.statusText}. Attempted to fetch ${l} and failed with the message: "${c}"`)}return Rt(await u.json())}function H(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function k(t,e){let n=H(e),r=await W({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,url:h(e)});return e.json?T(r):f(r,!0)}async function Ut(t,e){let n=await k(t,e);return D(n)}async function jt(t,e){let n=await k(t,e);return U(n)}function h(t){return"network"in t?t.network.getCoreApiUrl():t.url}async function Ye(t,e,n,r){let o=q(e,n),i=JSON.stringify($t(o.keyCV)),[s,p]=t.split("."),l=Bt(`${Vt(h(r))}/map_entry/${s}/${p}/${o.map.name}`,{proof:0,tip:H(r)}),u=await(await fetch(l,{method:"POST",body:i,headers:{"Content-Type":"application/json",Accept:"application/json"}})).json(),c=Mt(u.data);return f(c,!0)}async function Qe(t,e){let n=`${h(e)}/v2/transactions`,r=await Dt(t.serialize(),n);if("error"in r)throw new Error(`Error broadcasting tx: ${r.error} - ${r.reason} - ${JSON.stringify(r.reason_data)}`);return{txId:r.txid,stacksTransaction:t}}var z=class{constructor(e){typeof e=="string"?this.url=e:this.url=e.getCoreApiUrl()}roOptions(e){return y({url:this.url},e)}ro(e,n){return k(e,this.roOptions(n||{}))}roOk(e,n){return Ut(e,this.roOptions(n||{}))}roErr(e,n){return jt(e,this.roOptions(n||{}))}};import{createAssetInfo as G,makeContractFungiblePostCondition as Kt,makeContractNonFungiblePostCondition as Jt,makeStandardFungiblePostCondition as Lt,makeStandardNonFungiblePostCondition as qt}from"micro-stacks/transactions";function Z(t,e){if(!("identifier"in t))throw new Error("Invalid contract");let[n,r]=t.identifier.split(".");for(let o of t.non_fungible_tokens)if(o.name===e)return G(n,r,o.name);for(let o of t.fungible_tokens)if(o.name===e)return G(n,r,o.name);throw new Error(`Invalid asset: "${r}" is not an asset in contract.`)}function cn(t,e,n,r){let[o,i]=e.split("."),[s]=t.non_fungible_tokens,p=Z(t,s.name),l=s.type,m=d(r,l);return typeof i>"u"?qt(o,n,p,m):Jt(o,i,n,p,m)}function pn(t,e,n,r){let[o,i]=e.split("."),[s]=t.fungible_tokens,p=Z(t,s.name);return typeof i>"u"?Lt(o,n,r,p):Kt(o,i,n,r,p)}export{z as ClarigenClient,st as CoreNodeEventType,Fe as DEPLOYMENT_NETWORKS,at as MAINNET_BURN_ADDRESS,ot as TESTNET_BURN_ADDRESS,Qt as bootContractIdentifier,Qe as broadcast,L as contractFactory,Re as contractsFactory,Z as createAssetInfo,T as cvToJSON,g as cvToString,f as cvToValue,_e as deploymentFactory,M as err,U as expectErr,D as expectOk,Ye as fetchMapGet,te as filterEvents,E as findJsTupleKey,St as functionsFactory,h as getApiUrl,Zt as getContractIdentifier,it as getContractNameFromPath,Yt as getContractPrincipalCV,ye as hexToCvValue,ne as makeContracts,pn as makeFungiblePostCondition,cn as makeNonFungiblePostCondition,q as mapFactory,$ as ok,d as parseToCV,v as principalToString,Se as projectFactory,wt as pureProxy,k as ro,jt as roErr,Ut as roOk,C as toCamelCase,S as toKebabCase,ht as transformArgsArray,b as transformArgsToCV,V as transformObjectArgs};
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.12",
2
+ "version": "1.0.13",
3
3
  "license": "MIT",
4
4
  "types": "./dist/index.d.ts",
5
5
  "main": "./dist/index.js",
@@ -25,7 +25,7 @@
25
25
  "dev": "tsup --watch",
26
26
  "build": "shx rm -rf ./dist && tsup",
27
27
  "test": "jest",
28
- "lint": "eslint \"src/**/*.{ts,tsx}\" && prettier --check src/**/*.ts",
28
+ "lint": "eslint \"src/**/*.{ts,tsx}\" && prettier --check \"./**/*.{ts,js}\"",
29
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"