@clarigen/core 2.1.2 → 3.0.0

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.mts CHANGED
@@ -1,6 +1,5 @@
1
- import { ClarityAbi as ClarityAbi$1, PrincipalCV, ClarityValue, ClarityAbiTypeTuple as ClarityAbiTypeTuple$1, ContractPrincipalCV, StacksTransaction, AssetInfo, NonFungibleConditionCode, PostCondition, FungibleConditionCode } from '@stacks/transactions';
1
+ import { ClarityAbi as ClarityAbi$1, PrincipalCV, ClarityValue, ClarityAbiTypeTuple as ClarityAbiTypeTuple$1, ContractPrincipalCV, StacksTransactionWire, NonFungiblePostCondition, FungiblePostCondition } from '@stacks/transactions';
2
2
  import { StacksNetwork, StacksNetworkName } from '@stacks/network';
3
- import { IntegerType } from '@stacks/common';
4
3
 
5
4
  type ClarityAbiTypeBuffer = {
6
5
  buffer: {
@@ -89,7 +88,7 @@ interface ClarityAbiTypeNonFungibleToken<T = unknown> {
89
88
  type: ClarityAbiType;
90
89
  _t?: T;
91
90
  }
92
- type StacksEpochId = 'Epoch10' | 'Epoch20' | 'Epoch2_05' | 'Epoch21' | 'Epoch22' | 'Epoch23' | 'Epoch24' | 'Epoch25' | 'Epoch30';
91
+ type StacksEpochId = 'Epoch10' | 'Epoch20' | 'Epoch2_05' | 'Epoch21' | 'Epoch22' | 'Epoch23' | 'Epoch24' | 'Epoch25' | 'Epoch30' | 'Epoch31';
93
92
  type ClarityVersion = 'Clarity1' | 'Clarity2';
94
93
  type TypedAbi = Readonly<{
95
94
  functions: {
@@ -481,9 +480,11 @@ interface ApiOptionsNetwork {
481
480
  network: StacksNetworkName | StacksNetwork;
482
481
  url?: undefined;
483
482
  }
484
- type ApiOptionsBase = (ApiOptionsUrl | ApiOptionsNetwork) & {
483
+ type ApiOptionsBase = {
484
+ network: StacksNetwork | StacksNetworkName;
485
485
  tip?: string;
486
486
  latest?: boolean;
487
+ apiKey?: string;
487
488
  };
488
489
  type ApiOptionsJsonize = ApiOptionsBase & {
489
490
  json: true;
@@ -498,17 +499,18 @@ type JsonIfOption<O extends ApiOptions, R> = O extends ApiOptionsJsonize ? Jsoni
498
499
  declare function ro<O extends ApiOptions, T>(tx: ContractCall<T>, options: O): Promise<JsonIfOption<O, T>>;
499
500
  declare function roOk<O extends ApiOptions, Ok>(tx: ContractCall<Response<Ok, any>>, options: O): Promise<JsonIfOption<O, Ok>>;
500
501
  declare function roErr<O extends ApiOptions, Err>(tx: ContractCall<Response<any, Err>>, options: O): Promise<JsonIfOption<O, Err>>;
501
- declare function getApiUrl(opts: ApiOptionsUrl | ApiOptionsNetwork): string;
502
+ declare function getApiUrl(opts: ApiOptions): string;
502
503
  declare function fetchMapGet<Key, Val>(contractId: string, map: TypedAbiMap<Key, Val>, key: Key, options: ApiOptions): Promise<Val | null>;
503
- declare function broadcast(transaction: StacksTransaction, options: ApiOptions): Promise<{
504
+ declare function broadcast(transaction: StacksTransactionWire, options: ApiOptions): Promise<{
504
505
  txId: string;
505
- stacksTransaction: StacksTransaction;
506
+ stacksTransaction: StacksTransactionWire;
506
507
  }>;
507
- type ClientOptions = Omit<ApiOptions, 'url' | 'network'>;
508
- type JsonIf<O extends ClientOptions, T> = JsonIfOption<O & (ApiOptionsUrl | ApiOptionsNetwork), T>;
508
+ type ClientOptions = Omit<ApiOptions, 'network'>;
509
+ type JsonIf<O extends ClientOptions, T> = JsonIfOption<O & ApiOptions, T>;
509
510
  declare class ClarigenClient {
510
- url: string;
511
- constructor(networkOrUrl: Network | string);
511
+ network: StacksNetwork | StacksNetworkName;
512
+ apiKey?: string;
513
+ constructor(networkOrUrl: StacksNetwork | StacksNetworkName, apiKey?: string);
512
514
  private roOptions;
513
515
  ro<T, O extends ClientOptions>(tx: ContractCall<T>, options?: O): Promise<JsonIf<O, T>>;
514
516
  roOk<T, O extends ClientOptions>(tx: ContractCall<Response<T, any>>, options?: O): Promise<JsonIf<O, T>>;
@@ -643,12 +645,12 @@ declare function mapFactory<Key, Val>(map: TypedAbiMap<Key, Val>, key: Key): Map
643
645
 
644
646
  type AbiWithAssets = Pick<FullContract<TypedAbi>, 'non_fungible_tokens' | 'fungible_tokens' | 'identifier'>;
645
647
  type AssetNames<T extends AbiWithAssets> = T['non_fungible_tokens'][number]['name'] | T['fungible_tokens'][number]['name'];
646
- declare function createAssetInfo<T extends AbiWithAssets>(contract: T, asset: AssetNames<T>): AssetInfo;
648
+ declare function createAssetInfo<T extends AbiWithAssets>(contract: T, asset: AssetNames<T>): `${string}.${string}::${string}`;
647
649
  type NftAssetType<T extends AbiWithAssets> = T['non_fungible_tokens'][0] extends {
648
650
  type: infer Type;
649
651
  } ? Type extends ClarityAbiType | ReadonlyTuple ? AbiTypeTo<Type> : never : never;
650
- declare function makeNonFungiblePostCondition<T extends AbiWithAssets>(contract: T, sender: string, condition: NonFungibleConditionCode, value: NftAssetType<T>): PostCondition;
651
- declare function makeFungiblePostCondition<T extends AbiWithAssets>(contract: T, sender: string, condition: FungibleConditionCode, amount: IntegerType): PostCondition;
652
+ declare function makeNonFungiblePostCondition<T extends AbiWithAssets>(contract: T, sender: string, condition: 'sent' | 'not-sent', value: NftAssetType<T>): NonFungiblePostCondition;
653
+ declare function makeFungiblePostCondition<T extends AbiWithAssets>(contract: T, sender: string, condition: 'eq' | 'gt' | 'gte' | 'lt' | 'lte', amount: number | bigint | string): FungiblePostCondition;
652
654
 
653
655
  type RawClarityTypeTo<T extends ClarityAbiType, A = any> = T extends ClarityAbiTypePrimitive ? AbiPrimitiveTo<T> : A;
654
656
  type ResponseType<F extends TypedAbiFunction<UnknownArgs, any>> = F extends TypedAbiFunction<infer A, infer R> ? R : never;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { ClarityAbi as ClarityAbi$1, PrincipalCV, ClarityValue, ClarityAbiTypeTuple as ClarityAbiTypeTuple$1, ContractPrincipalCV, StacksTransaction, AssetInfo, NonFungibleConditionCode, PostCondition, FungibleConditionCode } from '@stacks/transactions';
1
+ import { ClarityAbi as ClarityAbi$1, PrincipalCV, ClarityValue, ClarityAbiTypeTuple as ClarityAbiTypeTuple$1, ContractPrincipalCV, StacksTransactionWire, NonFungiblePostCondition, FungiblePostCondition } from '@stacks/transactions';
2
2
  import { StacksNetwork, StacksNetworkName } from '@stacks/network';
3
- import { IntegerType } from '@stacks/common';
4
3
 
5
4
  type ClarityAbiTypeBuffer = {
6
5
  buffer: {
@@ -89,7 +88,7 @@ interface ClarityAbiTypeNonFungibleToken<T = unknown> {
89
88
  type: ClarityAbiType;
90
89
  _t?: T;
91
90
  }
92
- type StacksEpochId = 'Epoch10' | 'Epoch20' | 'Epoch2_05' | 'Epoch21' | 'Epoch22' | 'Epoch23' | 'Epoch24' | 'Epoch25' | 'Epoch30';
91
+ type StacksEpochId = 'Epoch10' | 'Epoch20' | 'Epoch2_05' | 'Epoch21' | 'Epoch22' | 'Epoch23' | 'Epoch24' | 'Epoch25' | 'Epoch30' | 'Epoch31';
93
92
  type ClarityVersion = 'Clarity1' | 'Clarity2';
94
93
  type TypedAbi = Readonly<{
95
94
  functions: {
@@ -481,9 +480,11 @@ interface ApiOptionsNetwork {
481
480
  network: StacksNetworkName | StacksNetwork;
482
481
  url?: undefined;
483
482
  }
484
- type ApiOptionsBase = (ApiOptionsUrl | ApiOptionsNetwork) & {
483
+ type ApiOptionsBase = {
484
+ network: StacksNetwork | StacksNetworkName;
485
485
  tip?: string;
486
486
  latest?: boolean;
487
+ apiKey?: string;
487
488
  };
488
489
  type ApiOptionsJsonize = ApiOptionsBase & {
489
490
  json: true;
@@ -498,17 +499,18 @@ type JsonIfOption<O extends ApiOptions, R> = O extends ApiOptionsJsonize ? Jsoni
498
499
  declare function ro<O extends ApiOptions, T>(tx: ContractCall<T>, options: O): Promise<JsonIfOption<O, T>>;
499
500
  declare function roOk<O extends ApiOptions, Ok>(tx: ContractCall<Response<Ok, any>>, options: O): Promise<JsonIfOption<O, Ok>>;
500
501
  declare function roErr<O extends ApiOptions, Err>(tx: ContractCall<Response<any, Err>>, options: O): Promise<JsonIfOption<O, Err>>;
501
- declare function getApiUrl(opts: ApiOptionsUrl | ApiOptionsNetwork): string;
502
+ declare function getApiUrl(opts: ApiOptions): string;
502
503
  declare function fetchMapGet<Key, Val>(contractId: string, map: TypedAbiMap<Key, Val>, key: Key, options: ApiOptions): Promise<Val | null>;
503
- declare function broadcast(transaction: StacksTransaction, options: ApiOptions): Promise<{
504
+ declare function broadcast(transaction: StacksTransactionWire, options: ApiOptions): Promise<{
504
505
  txId: string;
505
- stacksTransaction: StacksTransaction;
506
+ stacksTransaction: StacksTransactionWire;
506
507
  }>;
507
- type ClientOptions = Omit<ApiOptions, 'url' | 'network'>;
508
- type JsonIf<O extends ClientOptions, T> = JsonIfOption<O & (ApiOptionsUrl | ApiOptionsNetwork), T>;
508
+ type ClientOptions = Omit<ApiOptions, 'network'>;
509
+ type JsonIf<O extends ClientOptions, T> = JsonIfOption<O & ApiOptions, T>;
509
510
  declare class ClarigenClient {
510
- url: string;
511
- constructor(networkOrUrl: Network | string);
511
+ network: StacksNetwork | StacksNetworkName;
512
+ apiKey?: string;
513
+ constructor(networkOrUrl: StacksNetwork | StacksNetworkName, apiKey?: string);
512
514
  private roOptions;
513
515
  ro<T, O extends ClientOptions>(tx: ContractCall<T>, options?: O): Promise<JsonIf<O, T>>;
514
516
  roOk<T, O extends ClientOptions>(tx: ContractCall<Response<T, any>>, options?: O): Promise<JsonIf<O, T>>;
@@ -643,12 +645,12 @@ declare function mapFactory<Key, Val>(map: TypedAbiMap<Key, Val>, key: Key): Map
643
645
 
644
646
  type AbiWithAssets = Pick<FullContract<TypedAbi>, 'non_fungible_tokens' | 'fungible_tokens' | 'identifier'>;
645
647
  type AssetNames<T extends AbiWithAssets> = T['non_fungible_tokens'][number]['name'] | T['fungible_tokens'][number]['name'];
646
- declare function createAssetInfo<T extends AbiWithAssets>(contract: T, asset: AssetNames<T>): AssetInfo;
648
+ declare function createAssetInfo<T extends AbiWithAssets>(contract: T, asset: AssetNames<T>): `${string}.${string}::${string}`;
647
649
  type NftAssetType<T extends AbiWithAssets> = T['non_fungible_tokens'][0] extends {
648
650
  type: infer Type;
649
651
  } ? Type extends ClarityAbiType | ReadonlyTuple ? AbiTypeTo<Type> : never : never;
650
- declare function makeNonFungiblePostCondition<T extends AbiWithAssets>(contract: T, sender: string, condition: NonFungibleConditionCode, value: NftAssetType<T>): PostCondition;
651
- declare function makeFungiblePostCondition<T extends AbiWithAssets>(contract: T, sender: string, condition: FungibleConditionCode, amount: IntegerType): PostCondition;
652
+ declare function makeNonFungiblePostCondition<T extends AbiWithAssets>(contract: T, sender: string, condition: 'sent' | 'not-sent', value: NftAssetType<T>): NonFungiblePostCondition;
653
+ declare function makeFungiblePostCondition<T extends AbiWithAssets>(contract: T, sender: string, condition: 'eq' | 'gt' | 'gte' | 'lt' | 'lte', amount: number | bigint | string): FungiblePostCondition;
652
654
 
653
655
  type RawClarityTypeTo<T extends ClarityAbiType, A = any> = T extends ClarityAbiTypePrimitive ? AbiPrimitiveTo<T> : A;
654
656
  type ResponseType<F extends TypedAbiFunction<UnknownArgs, any>> = F extends TypedAbiFunction<infer A, infer R> ? R : never;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _transactions = require('@stacks/transactions');var _base = require('@scure/base');var yt="ST000000000000000000002AMW42H",dt= exports.MAINNET_BURN_ADDRESS ="SP000000000000000000002Q6VF78",u= exports.toCamelCase =(t,e)=>{let n=typeof t=="string"?t:String(t);if(/^[A-Z_]+$/.test(n))return n;let[o,...i]=n.replace("!","_x").replace("?","_q").split("-"),c=`${e?o[0].toUpperCase():o[0].toLowerCase()}${o.slice(1)}`;return i.forEach(l=>{let d=l[0].toUpperCase()+l.slice(1);c+=d}),c};function M(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}function oe(t,e=!0){let n=t.split(".")[1];return e?u(n):n}var Tt=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},ie= exports.getContractIdentifier =t=>`${t.address}.${t.name}`,se= exports.getContractPrincipalCV =t=>{let e=Tt(t.contractFile);return _transactions.contractPrincipalCV.call(void 0, t.address,e)};function ae(t,e){return`${e?dt:yt}.${t}`}function S(t){return _base.hex.encode(t)}function K(t){return _base.hex.decode(t)}function J(t){let e=Array.from(t);return String.fromCharCode.apply(null,e)}var L=t=>typeof t=="number";function Ct(t){let{constants:e}=t,n={};for(let r in e)if(r.toLowerCase().startsWith("err")){let o=e[r];typeof o=="object"&&o&&"isOk"in o&&!o.isOk&&"value"in o?n[r]=o.value:n[r]=o}return n}function ce(t){let{contracts:e}=t,n={};for(let r in e)n[r]=Ct(e[r]);return n}var mt=(p=>(p.ContractEvent="contract_event",p.StxTransferEvent="stx_transfer_event",p.StxMintEvent="stx_mint_event",p.StxBurnEvent="stx_burn_event",p.StxLockEvent="stx_lock_event",p.NftTransferEvent="nft_transfer_event",p.NftMintEvent="nft_mint_event",p.NftBurnEvent="nft_burn_event",p.FtTransferEvent="ft_transfer_event",p.FtMintEvent="ft_mint_event",p.FtBurnEvent="ft_burn_event",p))(mt||{});function pe(t,e){return t.filter(n=>n.type===e)}function fe(t,e={}){let n={};for(let r in t){let o=t[r],i=e.deployerAddress||o.address,a=`${i}.${o.name}`,c=o.contract(i,o.name);n[r]={identifier:a,contract:c}}return n}function A(t){return{isOk:!0,value:t}}function h(t){return{isOk:!1,value:t}}function Ae(t){return typeof t=="object"&&t!==null&&"isOk"in t}function P(t){if(t.type===_transactions.ClarityType.PrincipalStandard)return _transactions.addressToString.call(void 0, t.address);if(t.type===_transactions.ClarityType.PrincipalContract)return`${_transactions.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 _transactions.ClarityType.BoolTrue:return!0;case _transactions.ClarityType.BoolFalse:return!1;case _transactions.ClarityType.Int:case _transactions.ClarityType.UInt:return t.value;case _transactions.ClarityType.Buffer:return t.buffer;case _transactions.ClarityType.OptionalNone:return null;case _transactions.ClarityType.OptionalSome:return f(t.value);case _transactions.ClarityType.ResponseErr:return e?h(f(t.value)):f(t.value);case _transactions.ClarityType.ResponseOk:return e?A(f(t.value)):f(t.value);case _transactions.ClarityType.PrincipalStandard:case _transactions.ClarityType.PrincipalContract:return P(t);case _transactions.ClarityType.List:return t.list.map(r=>f(r));case _transactions.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let a=u(o);return{...r,[a]:f(i,e)}},{});case _transactions.ClarityType.StringASCII:return t.data;case _transactions.ClarityType.StringUTF8:return t.data}}function he(t,e=!1){return f(_transactions.hexToCV.call(void 0, t),e)}function H(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}var St=t=>typeof t=="string",E= exports.isClarityAbiBuffer =t=>t.buffer!==void 0,k= exports.isClarityAbiStringAscii =t=>t["string-ascii"]!==void 0,v= exports.isClarityAbiStringUtf8 =t=>t["string-utf8"]!==void 0,R= exports.isClarityAbiResponse =t=>t.response!==void 0,w= exports.isClarityAbiOptional =t=>t.optional!==void 0,O= exports.isClarityAbiTuple =t=>t.tuple!==void 0,N= exports.isClarityAbiList =t=>t.list!==void 0,Ee= exports.isClarityAbiTraitReference =t=>t==="trait_reference";function y(t,e){if(O(e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let o=F(r.name,t),i=t[o];n[r.name]=y(i,r.type)}),_transactions.tupleCV.call(void 0, n)}else if(N(e)){let r=t.map(o=>y(o,e.list.type));return _transactions.listCV.call(void 0, r)}else{if(w(e))return t===null?_transactions.noneCV.call(void 0, ):_transactions.someCV.call(void 0, y(t,e.optional));if(k(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _transactions.stringAsciiCV.call(void 0, t)}else if(v(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _transactions.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=H(t);return _transactions.uintCV.call(void 0, n.toString())}else if(e==="int128"){let n=H(t);return _transactions.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 _transactions.contractPrincipalCV.call(void 0, n,r)}else if(E(e))return _transactions.bufferCV.call(void 0, t)}return _transactions.parseToCV.call(void 0, t,e)}function m(t,e="hex"){switch(t.type){case _transactions.ClarityType.BoolTrue:return"true";case _transactions.ClarityType.BoolFalse:return"false";case _transactions.ClarityType.Int:return t.value.toString();case _transactions.ClarityType.UInt:return`u${t.value.toString()}`;case _transactions.ClarityType.Buffer:if(e==="tryAscii"){let n=J(t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${S(t.buffer)}`;case _transactions.ClarityType.OptionalNone:return"none";case _transactions.ClarityType.OptionalSome:return`(some ${m(t.value,e)})`;case _transactions.ClarityType.ResponseErr:return`(err ${m(t.value,e)})`;case _transactions.ClarityType.ResponseOk:return`(ok ${m(t.value,e)})`;case _transactions.ClarityType.PrincipalStandard:case _transactions.ClarityType.PrincipalContract:return`'${P(t)}`;case _transactions.ClarityType.List:return`(list ${t.list.map(n=>m(n,e)).join(" ")})`;case _transactions.ClarityType.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${m(t.data[n],e)})`).join(" ")})`;case _transactions.ClarityType.StringASCII:return`"${t.data}"`;case _transactions.ClarityType.StringUTF8:return`u"${t.data}"`}}function T(t,e=!1){switch(t.type){case _transactions.ClarityType.BoolTrue:return!0;case _transactions.ClarityType.BoolFalse:return!1;case _transactions.ClarityType.Int:case _transactions.ClarityType.UInt:return`${t.value}`;case _transactions.ClarityType.Buffer:return S(t.buffer);case _transactions.ClarityType.OptionalNone:return null;case _transactions.ClarityType.OptionalSome:return T(t.value);case _transactions.ClarityType.ResponseErr:return e?h(T(t.value)):T(t.value);case _transactions.ClarityType.ResponseOk:return e?A(T(t.value)):T(t.value);case _transactions.ClarityType.PrincipalStandard:case _transactions.ClarityType.PrincipalContract:return P(t);case _transactions.ClarityType.List:return t.list.map(r=>T(r));case _transactions.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let a=u(o);return{...r,[a]:T(i)}},{});case _transactions.ClarityType.StringASCII:return t.data;case _transactions.ClarityType.StringUTF8:return t.data}}function z(t,e){return t.args.map(n=>{let r=F(n.name,e),o=e[r];return y(o,n.type)})}function Pt(t,e){return e.map((n,r)=>y(n,t.args[r].type))}function x(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return z(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(o=>{try{F(o.name,n)}catch (e2){r=!1}}),r)return z(t,n)}catch (e3){}return Pt(t,e)}function F(t,e){let n=Object.keys(e).find(r=>{let o=t===r,i=t===M(r);return o||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function G(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function Z(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function g(t){if(St(t))return t==="int128"?"int":t==="uint128"?"uint":t;if(E(t))return`(buff ${t.buffer.length})`;if(k(t))return`(string-ascii ${t["string-ascii"].length})`;if(v(t))return`(string-utf8 ${t["string-utf8"].length})`;if(R(t))return`(response ${g(t.response.ok)} ${g(t.response.error)})`;if(w(t))return`(optional ${g(t.optional)})`;if(O(t))return`(tuple ${t.tuple.map(e=>`(${e.name} ${g(e.type)})`).join(" ")})`;if(N(t))return`(list ${t.list.length} ${g(t.list.type)})`;throw new Error(`Type string unsupported for Clarity type: ${JSON.stringify(t)}`)}function Rt(t,e){let n=t.abi.functions.find(o=>u(o.name)===e);if(n)return function(...o){return{functionArgs:x(n,o),contractAddress:t.contractAddress,contractName:t.contractName,function:n,functionName:n.name,nativeArgs:o}};let r=t.abi.maps.find(o=>u(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 Ft={get:Rt},It= exports.pureProxy =t=>new Proxy(t,Ft);function _t(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function Q(t){return _t(t).filter(I)}function Y(t){if(!I(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 X(t){if(!I(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 I(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var De=["devnet","simnet","testnet","mainnet"];function je(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,tt(o,i)]),!1}),Object.fromEntries(n)}function Me(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,tt(r,o)]}))}function Vt(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=Object.assign((...i)=>{let a=x(r,i),[c,l]=e.split(".");return{functionArgs:a,contractAddress:c,contractName:l,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,o]}))}function tt(t,e){let n={...t};return{...Vt(t.functions,e),...n,identifier:e}}function Ke(t,e){let n={};return Q(e.plan.batches).forEach(o=>{let i=X(o),[a,c]=i.split("."),l=u(c),d=t[l],C=t[l];if(typeof C>"u")throw new Error(`Clarigen error: mismatch for contract '${l}'`);n[l]=C,C.contractFile=Y(o),C.identifier=i,Object.keys(t[l].functions).forEach(p=>{let B=p,ut=(...U)=>{let D=d.functions[B];return{functionArgs:x(D,U),contractAddress:a,contractName:C.contractName,function:D,nativeArgs:U}};C[B]=ut})}),n}function et(t,e){let n=y(e,t.key);return{key:e,keyCV:n,map:t}}var _blockchainapiclient = require('@stacks/blockchain-api-client');function nt(t){return new (0, _blockchainapiclient.SmartContractsApi)(new (0, _blockchainapiclient.Configuration)({basePath:t}))}function rt(t){return`${t}/v2`}var ot=(t,e)=>{try{let n=new URL(t);return Object.keys(e).forEach(r=>{let o=e[r];if(o){if(Array.isArray(o))return o.length===0?void 0:n.searchParams.set(`${r}[]`,Ut(r,o));if(typeof o=="boolean"||L(o))return n.searchParams.set(r,String(o));n.searchParams.set(r,o)}}),n.toString()}catch(n){return console.error("generateUrl"),console.error(n),t}},Ut=(t,e)=>e!=null&&e.length?`${e.map((n,r)=>`${r>0?encodeURIComponent(`${t}[]`):""}=${encodeURIComponent(n)}`).join("&")}`:"";function Mt(t){if(t.okay)return _transactions.hexToCV.call(void 0, t.result);throw new Error(t.cause)}async function it(t){let{contractAddress:e,functionArgs:n,senderAddress:r=e,url:o}=t,i=await nt(o).callReadOnlyFunction({...t,readOnlyFunctionArgs:{sender:r,arguments:n.map(c=>typeof c=="string"?c:_transactions.cvToHex.call(void 0, c))}});return Mt(i)}var _network = require('@stacks/network');function at(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function V(t,e){let n=at(e),r=await it({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,url:ct(e)});return e.json?T(r):f(r,!0)}async function qt(t,e){let n=await V(t,e);return G(n)}async function Wt(t,e){let n=await V(t,e);return Z(n)}function ct(t){return t.network?_network.StacksNetwork.fromNameOrNetwork(t.network).coreApiUrl:t.url}async function un(t,e,n,r){let o=et(e,n),i=JSON.stringify(_transactions.cvToHex.call(void 0, o.keyCV)),[a,c]=t.split("."),l=ot(`${rt(ct(r))}/map_entry/${a}/${c}/${o.map.name}`,{proof:0,tip:at(r)}),C=await(await fetch(l,{method:"POST",body:i,headers:{"Content-Type":"application/json",Accept:"application/json"}})).json(),p=_transactions.hexToCV.call(void 0, C.data);return f(p,!0)}async function fn(t,e){let n="network"in e?e.network:new (0, _network.StacksNetwork)({url:e.url}),r=await _transactions.broadcastTransaction.call(void 0, t,n);if(r.error)throw new Error(`Error broadcasting tx: ${r.error} - ${r.reason} - ${JSON.stringify(r.reason_data)}`);return{txId:r.txid,stacksTransaction:t}}var st=class{constructor(e){typeof e=="string"?this.url=e:this.url=_network.StacksNetwork.fromNameOrNetwork(e).coreApiUrl}roOptions(e){return{url:this.url,...e}}ro(e,n){return V(e,this.roOptions(n||{}))}roOk(e,n){return qt(e,this.roOptions(n||{}))}roErr(e,n){return Wt(e,this.roOptions(n||{}))}};function pt(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: "${e}" is not an asset in contract.`)}function hn(t,e,n,r){let[o,i]=e.split("."),[a]=t.non_fungible_tokens,c=pt(t,a.name),l=a.type,d=y(r,l);return typeof i>"u"?_transactions.makeStandardNonFungiblePostCondition.call(void 0, o,n,c,d):_transactions.makeContractNonFungiblePostCondition.call(void 0, o,i,n,c,d)}function En(t,e,n,r){let[o,i]=e.split("."),[a]=t.fungible_tokens,c=pt(t,a.name);return typeof i>"u"?_transactions.makeStandardFungiblePostCondition.call(void 0, o,n,r,c):_transactions.makeContractFungiblePostCondition.call(void 0, o,i,n,r,c)}function $(t,e=""){return t.slice(e.length+2,-1)}function b(t,e){if(O(e)){let n=Xt(t),r={},o=Object.entries(n).reduce((i,[a,c])=>{let l=a.trim();return{...i,[l]:c.trim()}},{});return e.tuple.forEach(({name:i,type:a})=>{let c=u(i);r[c]=b(o[i],a)}),r}else{if(N(e))return Yt(t).map(r=>b(r,e.list.type));if(w(e))return t==="none"?null:b($(t,"some"),e.optional);if(k(e))return t.slice(1,-1);if(v(e))return t.slice(2,-1);if(e==="bool")return t==="true";if(e==="uint128")return BigInt(t.slice(1));if(e==="int128")return BigInt(t);if(e==="trait_reference")return t.replace(/^\'/,"");if(e==="principal")return t.replace(/^\'/,"");if(e==="none")return null;if(E(e))return K(t.slice(2));if(R(e)){if(t.startsWith("(ok")){let r=$(t,"ok");return A(b(r,e.response.ok))}let n=$(t,"err");return h(b(n,e.response.error))}}throw new Error(`Unable to parse cv string to value: ${t} ${JSON.stringify(e,null,2)}`)}var Qt=new Array(255);for(let t=0;t<=255;++t)Qt[t]=t.toString(16).padStart(2,"0");function Yt(t){if(t.charAt(0)!=="["||t.charAt(t.length-1)!=="]")throw new Error(`Expected (list ..), got ${t.toString()}`);let e=[],n=[],r=1;for(let i=0;i<t.length;i++)t.charAt(i)===","&&e.length==1&&(n.push(t.substring(r,i)),r=i+2),["(","[","{"].includes(t.charAt(i))&&e.push(t.charAt(i)),t.charAt(i)===")"&&e[e.length-1]==="("&&e.pop(),t.charAt(i)==="}"&&e[e.length-1]==="{"&&e.pop(),t.charAt(i)==="]"&&e[e.length-1]==="["&&e.pop();let o=t.substring(r,t.length-1);return o.length>0&&n.push(o),n}function Xt(t){if(t.charAt(0)!=="{"||t.charAt(t.length-1)!=="}")throw new Error(`Expected '(tuple ..)', got ${t.toString()}`);let e=1,n=[],r=[];for(let a=0;a<t.length;a++)t.charAt(a)===","&&n.length==1&&(r.push(t.substring(e,a)),e=a+2),["(","[","{"].includes(t.charAt(a))&&n.push(t.charAt(a)),t.charAt(a)===")"&&n[n.length-1]==="("&&n.pop(),t.charAt(a)==="}"&&n[n.length-1]==="{"&&n.pop(),t.charAt(a)==="]"&&n[n.length-1]==="["&&n.pop();let o=t.substring(e,t.length-1);o.length>0&&r.push(o);let i={};for(let a of r)for(let c=0;c<a.length;c++)if(a.charAt(c)===":"){let l=a.substring(0,c),d=a.substring(c+2,a.length);i[l]=d;break}return i}exports.ClarigenClient = st; exports.CoreNodeEventType = mt; exports.DEPLOYMENT_NETWORKS = De; exports.MAINNET_BURN_ADDRESS = dt; exports.TESTNET_BURN_ADDRESS = yt; exports.bootContractIdentifier = ae; exports.broadcast = fn; exports.bytesToAscii = J; exports.bytesToHex = S; exports.contractFactory = tt; exports.contractsFactory = Me; exports.createAssetInfo = pt; exports.cvToJSON = T; exports.cvToString = m; exports.cvToValue = f; exports.deploymentFactory = Ke; exports.err = h; exports.expectErr = Z; exports.expectOk = G; exports.extractErrors = Ct; exports.fetchMapGet = un; exports.filterEvents = pe; exports.findJsTupleKey = F; exports.functionsFactory = Vt; exports.getApiUrl = ct; exports.getContractIdentifier = ie; exports.getContractName = oe; exports.getContractNameFromPath = Tt; exports.getContractPrincipalCV = se; exports.getTypeString = g; exports.hexToBytes = K; exports.hexToCvValue = he; exports.isClarityAbiBuffer = E; exports.isClarityAbiList = N; exports.isClarityAbiOptional = w; exports.isClarityAbiPrimitive = St; exports.isClarityAbiResponse = R; exports.isClarityAbiStringAscii = k; exports.isClarityAbiStringUtf8 = v; exports.isClarityAbiTraitReference = Ee; exports.isClarityAbiTuple = O; exports.isNumber = L; exports.isResponse = Ae; exports.makeContracts = fe; exports.makeFungiblePostCondition = En; exports.makeNonFungiblePostCondition = hn; exports.mapFactory = et; exports.ok = A; exports.parseToCV = y; exports.principalToString = P; exports.projectErrors = ce; exports.projectFactory = je; exports.pureProxy = It; exports.rawClarityToValue = b; exports.ro = V; exports.roErr = Wt; exports.roOk = qt; exports.toCamelCase = u; exports.toKebabCase = M; exports.transformArgsArray = Pt; exports.transformArgsToCV = x; exports.transformObjectArgs = z;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _transactions = require('@stacks/transactions');var _base = require('@scure/base');var pt="ST000000000000000000002AMW42H",ut= exports.MAINNET_BURN_ADDRESS ="SP000000000000000000002Q6VF78",u= exports.toCamelCase =(t,e)=>{let n=typeof t=="string"?t:String(t);if(/^[A-Z_]+$/.test(n))return n;let[o,...i]=n.replace("!","_x").replace("?","_q").split("-"),c=`${e?o[0].toUpperCase():o[0].toLowerCase()}${o.slice(1)}`;return i.forEach(l=>{let C=l[0].toUpperCase()+l.slice(1);c+=C}),c};function j(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}function Yt(t,e=!0){let n=t.split(".")[1];return e?u(n):n}var ft=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},Xt= exports.getContractIdentifier =t=>`${t.address}.${t.name}`,te= exports.getContractPrincipalCV =t=>{let e=ft(t.contractFile);return _transactions.contractPrincipalCV.call(void 0, t.address,e)};function ee(t,e){return`${e?ut:pt}.${t}`}function ne(t){return _base.hex.encode(t)}function m(t){return _base.hex.decode(t)}function M(t){let e=Array.from(t);return String.fromCharCode.apply(null,e)}var J=t=>typeof t=="number";function yt(t){let{constants:e}=t,n={};for(let r in e)if(r.toLowerCase().startsWith("err")){let o=e[r];typeof o=="object"&&o&&"isOk"in o&&!o.isOk&&"value"in o?n[r]=o.value:n[r]=o}return n}function re(t){let{contracts:e}=t,n={};for(let r in e)n[r]=yt(e[r]);return n}var dt=(p=>(p.ContractEvent="contract_event",p.StxTransferEvent="stx_transfer_event",p.StxMintEvent="stx_mint_event",p.StxBurnEvent="stx_burn_event",p.StxLockEvent="stx_lock_event",p.NftTransferEvent="nft_transfer_event",p.NftMintEvent="nft_mint_event",p.NftBurnEvent="nft_burn_event",p.FtTransferEvent="ft_transfer_event",p.FtMintEvent="ft_mint_event",p.FtBurnEvent="ft_burn_event",p))(dt||{});function ie(t,e){return t.filter(n=>n.type===e)}function ae(t,e={}){let n={};for(let r in t){let o=t[r],i=e.deployerAddress||o.address,a=`${i}.${o.name}`,c=o.contract(i,o.name);n[r]={identifier:a,contract:c}}return n}function h(t){return{isOk:!0,value:t}}function E(t){return{isOk:!1,value:t}}function ge(t){return typeof t=="object"&&t!==null&&"isOk"in t}function P(t){return t.value}function f(t,e=!1){switch(t.type){case _transactions.ClarityType.BoolTrue:return!0;case _transactions.ClarityType.BoolFalse:return!1;case _transactions.ClarityType.Int:case _transactions.ClarityType.UInt:return t.value;case _transactions.ClarityType.Buffer:return m(t.value);case _transactions.ClarityType.OptionalNone:return null;case _transactions.ClarityType.OptionalSome:return f(t.value);case _transactions.ClarityType.ResponseErr:return e?E(f(t.value)):f(t.value);case _transactions.ClarityType.ResponseOk:return e?h(f(t.value)):f(t.value);case _transactions.ClarityType.PrincipalStandard:case _transactions.ClarityType.PrincipalContract:return P(t);case _transactions.ClarityType.List:return t.value.map(r=>f(r));case _transactions.ClarityType.Tuple:return Object.entries(t.value).reduce((r,[o,i])=>{let a=u(o);return{...r,[a]:f(i,e)}},{});case _transactions.ClarityType.StringASCII:return t.value;case _transactions.ClarityType.StringUTF8:return t.value}}function xe(t,e=!1){return f(_transactions.hexToCV.call(void 0, t),e)}function q(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}var wt=t=>typeof t=="string",v= exports.isClarityAbiBuffer =t=>t.buffer!==void 0,k= exports.isClarityAbiStringAscii =t=>t["string-ascii"]!==void 0,w= exports.isClarityAbiStringUtf8 =t=>t["string-utf8"]!==void 0,R= exports.isClarityAbiResponse =t=>t.response!==void 0,O= exports.isClarityAbiOptional =t=>t.optional!==void 0,N= exports.isClarityAbiTuple =t=>t.tuple!==void 0,S= exports.isClarityAbiList =t=>t.list!==void 0,be= exports.isClarityAbiTraitReference =t=>t==="trait_reference";function y(t,e){if(N(e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let o=F(r.name,t),i=t[o];n[r.name]=y(i,r.type)}),_transactions.tupleCV.call(void 0, n)}else if(S(e)){let r=t.map(o=>y(o,e.list.type));return _transactions.listCV.call(void 0, r)}else{if(O(e))return t===null?_transactions.noneCV.call(void 0, ):_transactions.someCV.call(void 0, y(t,e.optional));if(k(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _transactions.stringAsciiCV.call(void 0, t)}else if(w(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _transactions.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=q(t);return _transactions.uintCV.call(void 0, n.toString())}else if(e==="int128"){let n=q(t);return _transactions.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 _transactions.contractPrincipalCV.call(void 0, n,r)}else if(v(e))return _transactions.bufferCV.call(void 0, t)}return _transactions.parseToCV.call(void 0, t,e)}function g(t,e="hex"){switch(t.type){case _transactions.ClarityType.BoolTrue:return"true";case _transactions.ClarityType.BoolFalse:return"false";case _transactions.ClarityType.Int:return t.value.toString();case _transactions.ClarityType.UInt:return`u${t.value.toString()}`;case _transactions.ClarityType.Buffer:if(e==="tryAscii"){let n=M(m(t.value));if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${t.value}`;case _transactions.ClarityType.OptionalNone:return"none";case _transactions.ClarityType.OptionalSome:return`(some ${g(t.value,e)})`;case _transactions.ClarityType.ResponseErr:return`(err ${g(t.value,e)})`;case _transactions.ClarityType.ResponseOk:return`(ok ${g(t.value,e)})`;case _transactions.ClarityType.PrincipalStandard:case _transactions.ClarityType.PrincipalContract:return`'${P(t)}`;case _transactions.ClarityType.List:return`(list ${t.value.map(n=>g(n,e)).join(" ")})`;case _transactions.ClarityType.Tuple:return`(tuple ${Object.keys(t.value).map(n=>`(${n} ${g(t.value[n],e)})`).join(" ")})`;case _transactions.ClarityType.StringASCII:return`"${t.value}"`;case _transactions.ClarityType.StringUTF8:return`u"${t.value}"`}}function d(t,e=!1){switch(t.type){case _transactions.ClarityType.BoolTrue:return!0;case _transactions.ClarityType.BoolFalse:return!1;case _transactions.ClarityType.Int:case _transactions.ClarityType.UInt:return`${t.value}`;case _transactions.ClarityType.Buffer:return t.value;case _transactions.ClarityType.OptionalNone:return null;case _transactions.ClarityType.OptionalSome:return d(t.value);case _transactions.ClarityType.ResponseErr:return e?E(d(t.value)):d(t.value);case _transactions.ClarityType.ResponseOk:return e?h(d(t.value)):d(t.value);case _transactions.ClarityType.PrincipalStandard:case _transactions.ClarityType.PrincipalContract:return P(t);case _transactions.ClarityType.List:return t.value.map(r=>d(r));case _transactions.ClarityType.Tuple:return Object.entries(t.value).reduce((r,[o,i])=>{let a=u(o);return{...r,[a]:d(i)}},{});case _transactions.ClarityType.StringASCII:return t.value;case _transactions.ClarityType.StringUTF8:return t.value}}function W(t,e){return t.args.map(n=>{let r=F(n.name,e),o=e[r];return y(o,n.type)})}function Ot(t,e){return e.map((n,r)=>y(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 W(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(o=>{try{F(o.name,n)}catch (e2){r=!1}}),r)return W(t,n)}catch (e3){}return Ot(t,e)}function F(t,e){let n=Object.keys(e).find(r=>{let o=t===r,i=t===j(r);return o||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function H(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function z(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function x(t){if(wt(t))return t==="int128"?"int":t==="uint128"?"uint":t;if(v(t))return`(buff ${t.buffer.length})`;if(k(t))return`(string-ascii ${t["string-ascii"].length})`;if(w(t))return`(string-utf8 ${t["string-utf8"].length})`;if(R(t))return`(response ${x(t.response.ok)} ${x(t.response.error)})`;if(O(t))return`(optional ${x(t.optional)})`;if(N(t))return`(tuple ${t.tuple.map(e=>`(${e.name} ${x(e.type)})`).join(" ")})`;if(S(t))return`(list ${t.list.length} ${x(t.list.type)})`;throw new Error(`Type string unsupported for Clarity type: ${JSON.stringify(t)}`)}function Nt(t,e){let n=t.abi.functions.find(o=>u(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=>u(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 St={get:Nt},Pt= exports.pureProxy =t=>new Proxy(t,St);function Rt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function G(t){return Rt(t).filter(I)}function Z(t){if(!I(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 Q(t){if(!I(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 I(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var Ve=["devnet","simnet","testnet","mainnet"];function Be(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,Y(o,i)]),!1}),Object.fromEntries(n)}function Ue(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,Y(r,o)]}))}function Ft(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=Object.assign((...i)=>{let a=b(r,i),[c,l]=e.split(".");return{functionArgs:a,contractAddress:c,contractName:l,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,o]}))}function Y(t,e){let n={...t};return{...Ft(t.functions,e),...n,identifier:e}}function Ke(t,e){let n={};return G(e.plan.batches).forEach(o=>{let i=Q(o),[a,c]=i.split("."),l=u(c),C=t[l],T=t[l];if(typeof T>"u")throw new Error(`Clarigen error: mismatch for contract '${l}'`);n[l]=T,T.contractFile=Z(o),T.identifier=i,Object.keys(t[l].functions).forEach(p=>{let B=p,ct=(...U)=>{let K=C.functions[B];return{functionArgs:b(K,U),contractAddress:a,contractName:T.contractName,function:K,nativeArgs:U}};T[B]=ct})}),n}function X(t,e){let n=y(e,t.key);return{key:e,keyCV:n,map:t}}var _blockchainapiclient = require('@stacks/blockchain-api-client');function _(t){let e={};return t&&(e["x-api-key"]=t),e}function tt(t,e){let n=_(e);return new (0, _blockchainapiclient.SmartContractsApi)(new (0, _blockchainapiclient.Configuration)({basePath:t,headers:n}))}function et(t){return`${t}/v2`}var nt=(t,e)=>{try{let n=new URL(t);return Object.keys(e).forEach(r=>{let o=e[r];if(o){if(Array.isArray(o))return o.length===0?void 0:n.searchParams.set(`${r}[]`,$t(r,o));if(typeof o=="boolean"||J(o))return n.searchParams.set(r,String(o));n.searchParams.set(r,o)}}),n.toString()}catch(n){return console.error("generateUrl"),console.error(n),t}},$t=(t,e)=>e!=null&&e.length?`${e.map((n,r)=>`${r>0?encodeURIComponent(`${t}[]`):""}=${encodeURIComponent(n)}`).join("&")}`:"";function Ut(t){if(t.okay)return _transactions.hexToCV.call(void 0, t.result);throw new Error(t.cause)}async function rt(t){let{contractAddress:e,functionArgs:n,senderAddress:r=e,url:o}=t,i=await tt(o,t.apiKey).callReadOnlyFunction({...t,readOnlyFunctionArgs:{sender:r,arguments:n.map(c=>typeof c=="string"?c:_transactions.cvToHex.call(void 0, c))}});return Ut(i)}var _network = require('@stacks/network');function it(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function $(t,e){let n=it(e),r=await rt({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,url:st(e),apiKey:e.apiKey});return e.json?d(r):f(r,!0)}async function Jt(t,e){let n=await $(t,e);return H(n)}async function Lt(t,e){let n=await $(t,e);return z(n)}function st(t){return _network.networkFrom.call(void 0, t.network).client.baseUrl}async function cn(t,e,n,r){let o=X(e,n),i=JSON.stringify(_transactions.cvToHex.call(void 0, o.keyCV)),[a,c]=t.split("."),l=nt(`${et(st(r))}/map_entry/${a}/${c}/${o.map.name}`,{proof:0,tip:it(r)}),T=await(await fetch(l,{method:"POST",body:i,headers:{"Content-Type":"application/json",Accept:"application/json",..._(r.apiKey)}})).json(),p=_transactions.hexToCV.call(void 0, T.data);return f(p,!0)}async function ln(t,e){let n=e.network,r=await _transactions.broadcastTransaction.call(void 0, {transaction:t,network:n});if("error"in r)throw new Error(`Error broadcasting tx: ${r.error} - ${r.reason} - ${JSON.stringify("reason_data"in r?r.reason_data:void 0)}`);return{txId:r.txid,stacksTransaction:t}}var ot=class{constructor(e,n){this.network=e,this.apiKey=n}roOptions(e){return{network:this.network,apiKey:this.apiKey,...e}}ro(e,n){return $(e,this.roOptions(n||{}))}roOk(e,n){return Jt(e,this.roOptions(n||{}))}roErr(e,n){return Lt(e,this.roOptions(n||{}))}};function at(t,e){let[n,r]=t.identifier.split(".");if(!("identifier"in t))throw new Error("Invalid contract");for(let o of t.non_fungible_tokens)if(o.name===e)return`${n}.${r}::${o.name}`;for(let o of t.fungible_tokens)if(o.name===e)return`${n}.${r}::${o.name}`;throw new Error(`Invalid asset: "${e}" is not an asset in contract.`)}function Tn(t,e,n,r){let[o]=t.non_fungible_tokens,i=at(t,o.name),a=o.type,c=y(r,a);return{type:"nft-postcondition",address:e,condition:n,asset:i,assetId:c}}function Cn(t,e,n,r){let[o,i]=e.split("."),[a]=t.fungible_tokens,c=at(t,a.name);return{type:"ft-postcondition",address:e,condition:n,asset:c,amount:r}}function V(t,e=""){return t.slice(e.length+2,-1)}function A(t,e){if(N(e)){let n=Ht(t),r={},o=Object.entries(n).reduce((i,[a,c])=>{let l=a.trim();return{...i,[l]:c.trim()}},{});return e.tuple.forEach(({name:i,type:a})=>{let c=u(i);r[c]=A(o[i],a)}),r}else{if(S(e))return Wt(t).map(r=>A(r,e.list.type));if(O(e))return t==="none"?null:A(V(t,"some"),e.optional);if(k(e))return t.slice(1,-1);if(w(e))return t.slice(2,-1);if(e==="bool")return t==="true";if(e==="uint128")return BigInt(t.slice(1));if(e==="int128")return BigInt(t);if(e==="trait_reference")return t.replace(/^\'/,"");if(e==="principal")return t.replace(/^\'/,"");if(e==="none")return null;if(v(e))return m(t.slice(2));if(R(e)){if(t.startsWith("(ok")){let r=V(t,"ok");return h(A(r,e.response.ok))}let n=V(t,"err");return E(A(n,e.response.error))}}throw new Error(`Unable to parse cv string to value: ${t} ${JSON.stringify(e,null,2)}`)}var qt=new Array(255);for(let t=0;t<=255;++t)qt[t]=t.toString(16).padStart(2,"0");function Wt(t){if(t.charAt(0)!=="["||t.charAt(t.length-1)!=="]")throw new Error(`Expected (list ..), got ${t.toString()}`);let e=[],n=[],r=1;for(let i=0;i<t.length;i++)t.charAt(i)===","&&e.length==1&&(n.push(t.substring(r,i)),r=i+2),["(","[","{"].includes(t.charAt(i))&&e.push(t.charAt(i)),t.charAt(i)===")"&&e[e.length-1]==="("&&e.pop(),t.charAt(i)==="}"&&e[e.length-1]==="{"&&e.pop(),t.charAt(i)==="]"&&e[e.length-1]==="["&&e.pop();let o=t.substring(r,t.length-1);return o.length>0&&n.push(o),n}function Ht(t){if(t.charAt(0)!=="{"||t.charAt(t.length-1)!=="}")throw new Error(`Expected '(tuple ..)', got ${t.toString()}`);let e=1,n=[],r=[];for(let a=0;a<t.length;a++)t.charAt(a)===","&&n.length==1&&(r.push(t.substring(e,a)),e=a+2),["(","[","{"].includes(t.charAt(a))&&n.push(t.charAt(a)),t.charAt(a)===")"&&n[n.length-1]==="("&&n.pop(),t.charAt(a)==="}"&&n[n.length-1]==="{"&&n.pop(),t.charAt(a)==="]"&&n[n.length-1]==="["&&n.pop();let o=t.substring(e,t.length-1);o.length>0&&r.push(o);let i={};for(let a of r)for(let c=0;c<a.length;c++)if(a.charAt(c)===":"){let l=a.substring(0,c),C=a.substring(c+2,a.length);i[l]=C;break}return i}exports.ClarigenClient = ot; exports.CoreNodeEventType = dt; exports.DEPLOYMENT_NETWORKS = Ve; exports.MAINNET_BURN_ADDRESS = ut; exports.TESTNET_BURN_ADDRESS = pt; exports.bootContractIdentifier = ee; exports.broadcast = ln; exports.bytesToAscii = M; exports.bytesToHex = ne; exports.contractFactory = Y; exports.contractsFactory = Ue; exports.createAssetInfo = at; exports.cvToJSON = d; exports.cvToString = g; exports.cvToValue = f; exports.deploymentFactory = Ke; exports.err = E; exports.expectErr = z; exports.expectOk = H; exports.extractErrors = yt; exports.fetchMapGet = cn; exports.filterEvents = ie; exports.findJsTupleKey = F; exports.functionsFactory = Ft; exports.getApiUrl = st; exports.getContractIdentifier = Xt; exports.getContractName = Yt; exports.getContractNameFromPath = ft; exports.getContractPrincipalCV = te; exports.getTypeString = x; exports.hexToBytes = m; exports.hexToCvValue = xe; exports.isClarityAbiBuffer = v; exports.isClarityAbiList = S; exports.isClarityAbiOptional = O; exports.isClarityAbiPrimitive = wt; exports.isClarityAbiResponse = R; exports.isClarityAbiStringAscii = k; exports.isClarityAbiStringUtf8 = w; exports.isClarityAbiTraitReference = be; exports.isClarityAbiTuple = N; exports.isNumber = J; exports.isResponse = ge; exports.makeContracts = ae; exports.makeFungiblePostCondition = Cn; exports.makeNonFungiblePostCondition = Tn; exports.mapFactory = X; exports.ok = h; exports.parseToCV = y; exports.principalToString = P; exports.projectErrors = re; exports.projectFactory = Be; exports.pureProxy = Pt; exports.rawClarityToValue = A; exports.ro = $; exports.roErr = Lt; exports.roOk = Jt; exports.toCamelCase = u; exports.toKebabCase = j; exports.transformArgsArray = Ot; exports.transformArgsToCV = b; exports.transformObjectArgs = W;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{contractPrincipalCV as ft}from"@stacks/transactions";import{hex as j}from"@scure/base";var yt="ST000000000000000000002AMW42H",dt="SP000000000000000000002Q6VF78",u=(t,e)=>{let n=typeof t=="string"?t:String(t);if(/^[A-Z_]+$/.test(n))return n;let[o,...i]=n.replace("!","_x").replace("?","_q").split("-"),c=`${e?o[0].toUpperCase():o[0].toLowerCase()}${o.slice(1)}`;return i.forEach(l=>{let d=l[0].toUpperCase()+l.slice(1);c+=d}),c};function M(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}function oe(t,e=!0){let n=t.split(".")[1];return e?u(n):n}var Tt=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},ie=t=>`${t.address}.${t.name}`,se=t=>{let e=Tt(t.contractFile);return ft(t.address,e)};function ae(t,e){return`${e?dt:yt}.${t}`}function S(t){return j.encode(t)}function K(t){return j.decode(t)}function J(t){let e=Array.from(t);return String.fromCharCode.apply(null,e)}var L=t=>typeof t=="number";function Ct(t){let{constants:e}=t,n={};for(let r in e)if(r.toLowerCase().startsWith("err")){let o=e[r];typeof o=="object"&&o&&"isOk"in o&&!o.isOk&&"value"in o?n[r]=o.value:n[r]=o}return n}function ce(t){let{contracts:e}=t,n={};for(let r in e)n[r]=Ct(e[r]);return n}var mt=(p=>(p.ContractEvent="contract_event",p.StxTransferEvent="stx_transfer_event",p.StxMintEvent="stx_mint_event",p.StxBurnEvent="stx_burn_event",p.StxLockEvent="stx_lock_event",p.NftTransferEvent="nft_transfer_event",p.NftMintEvent="nft_mint_event",p.NftBurnEvent="nft_burn_event",p.FtTransferEvent="ft_transfer_event",p.FtMintEvent="ft_mint_event",p.FtBurnEvent="ft_burn_event",p))(mt||{});function pe(t,e){return t.filter(n=>n.type===e)}function fe(t,e={}){let n={};for(let r in t){let o=t[r],i=e.deployerAddress||o.address,a=`${i}.${o.name}`,c=o.contract(i,o.name);n[r]={identifier:a,contract:c}}return n}import{addressToString as q,ClarityType as s,uintCV as gt,contractPrincipalCV as xt,intCV as bt,stringAsciiCV as At,stringUtf8CV as ht,noneCV as Et,someCV as kt,tupleCV as vt,listCV as wt,hexToCV as Ot,bufferCV as Nt,parseToCV as W}from"@stacks/transactions";function A(t){return{isOk:!0,value:t}}function h(t){return{isOk:!1,value:t}}function Ae(t){return typeof t=="object"&&t!==null&&"isOk"in t}function P(t){if(t.type===s.PrincipalStandard)return q(t.address);if(t.type===s.PrincipalContract)return`${q(t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function f(t,e=!1){switch(t.type){case s.BoolTrue:return!0;case s.BoolFalse:return!1;case s.Int:case s.UInt:return t.value;case s.Buffer:return t.buffer;case s.OptionalNone:return null;case s.OptionalSome:return f(t.value);case s.ResponseErr:return e?h(f(t.value)):f(t.value);case s.ResponseOk:return e?A(f(t.value)):f(t.value);case s.PrincipalStandard:case s.PrincipalContract:return P(t);case s.List:return t.list.map(r=>f(r));case s.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let a=u(o);return{...r,[a]:f(i,e)}},{});case s.StringASCII:return t.data;case s.StringUTF8:return t.data}}function he(t,e=!1){return f(Ot(t),e)}function H(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}var St=t=>typeof t=="string",E=t=>t.buffer!==void 0,k=t=>t["string-ascii"]!==void 0,v=t=>t["string-utf8"]!==void 0,R=t=>t.response!==void 0,w=t=>t.optional!==void 0,O=t=>t.tuple!==void 0,N=t=>t.list!==void 0,Ee=t=>t==="trait_reference";function y(t,e){if(O(e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let o=F(r.name,t),i=t[o];n[r.name]=y(i,r.type)}),vt(n)}else if(N(e)){let r=t.map(o=>y(o,e.list.type));return wt(r)}else{if(w(e))return t===null?Et():kt(y(t,e.optional));if(k(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return At(t)}else if(v(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return ht(t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return W(n,e)}else if(e==="uint128"){let n=H(t);return gt(n.toString())}else if(e==="int128"){let n=H(t);return bt(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 xt(n,r)}else if(E(e))return Nt(t)}return W(t,e)}function m(t,e="hex"){switch(t.type){case s.BoolTrue:return"true";case s.BoolFalse:return"false";case s.Int:return t.value.toString();case s.UInt:return`u${t.value.toString()}`;case s.Buffer:if(e==="tryAscii"){let n=J(t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${S(t.buffer)}`;case s.OptionalNone:return"none";case s.OptionalSome:return`(some ${m(t.value,e)})`;case s.ResponseErr:return`(err ${m(t.value,e)})`;case s.ResponseOk:return`(ok ${m(t.value,e)})`;case s.PrincipalStandard:case s.PrincipalContract:return`'${P(t)}`;case s.List:return`(list ${t.list.map(n=>m(n,e)).join(" ")})`;case s.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${m(t.data[n],e)})`).join(" ")})`;case s.StringASCII:return`"${t.data}"`;case s.StringUTF8:return`u"${t.data}"`}}function T(t,e=!1){switch(t.type){case s.BoolTrue:return!0;case s.BoolFalse:return!1;case s.Int:case s.UInt:return`${t.value}`;case s.Buffer:return S(t.buffer);case s.OptionalNone:return null;case s.OptionalSome:return T(t.value);case s.ResponseErr:return e?h(T(t.value)):T(t.value);case s.ResponseOk:return e?A(T(t.value)):T(t.value);case s.PrincipalStandard:case s.PrincipalContract:return P(t);case s.List:return t.list.map(r=>T(r));case s.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let a=u(o);return{...r,[a]:T(i)}},{});case s.StringASCII:return t.data;case s.StringUTF8:return t.data}}function z(t,e){return t.args.map(n=>{let r=F(n.name,e),o=e[r];return y(o,n.type)})}function Pt(t,e){return e.map((n,r)=>y(n,t.args[r].type))}function x(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return z(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(o=>{try{F(o.name,n)}catch{r=!1}}),r)return z(t,n)}catch{}return Pt(t,e)}function F(t,e){let n=Object.keys(e).find(r=>{let o=t===r,i=t===M(r);return o||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function G(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function Z(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function g(t){if(St(t))return t==="int128"?"int":t==="uint128"?"uint":t;if(E(t))return`(buff ${t.buffer.length})`;if(k(t))return`(string-ascii ${t["string-ascii"].length})`;if(v(t))return`(string-utf8 ${t["string-utf8"].length})`;if(R(t))return`(response ${g(t.response.ok)} ${g(t.response.error)})`;if(w(t))return`(optional ${g(t.optional)})`;if(O(t))return`(tuple ${t.tuple.map(e=>`(${e.name} ${g(e.type)})`).join(" ")})`;if(N(t))return`(list ${t.list.length} ${g(t.list.type)})`;throw new Error(`Type string unsupported for Clarity type: ${JSON.stringify(t)}`)}function Rt(t,e){let n=t.abi.functions.find(o=>u(o.name)===e);if(n)return function(...o){return{functionArgs:x(n,o),contractAddress:t.contractAddress,contractName:t.contractName,function:n,functionName:n.name,nativeArgs:o}};let r=t.abi.maps.find(o=>u(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 Ft={get:Rt},It=t=>new Proxy(t,Ft);import{cvToHex as Kt,hexToCV as Jt}from"@stacks/transactions";import{broadcastTransaction as Lt}from"@stacks/transactions";function _t(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function Q(t){return _t(t).filter(I)}function Y(t){if(!I(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 X(t){if(!I(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 I(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var De=["devnet","simnet","testnet","mainnet"];function je(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,tt(o,i)]),!1}),Object.fromEntries(n)}function Me(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,tt(r,o)]}))}function Vt(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=Object.assign((...i)=>{let a=x(r,i),[c,l]=e.split(".");return{functionArgs:a,contractAddress:c,contractName:l,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,o]}))}function tt(t,e){let n={...t};return{...Vt(t.functions,e),...n,identifier:e}}function Ke(t,e){let n={};return Q(e.plan.batches).forEach(o=>{let i=X(o),[a,c]=i.split("."),l=u(c),d=t[l],C=t[l];if(typeof C>"u")throw new Error(`Clarigen error: mismatch for contract '${l}'`);n[l]=C,C.contractFile=Y(o),C.identifier=i,Object.keys(t[l].functions).forEach(p=>{let B=p,ut=(...U)=>{let D=d.functions[B];return{functionArgs:x(D,U),contractAddress:a,contractName:C.contractName,function:D,nativeArgs:U}};C[B]=ut})}),n}function et(t,e){let n=y(e,t.key);return{key:e,keyCV:n,map:t}}import{cvToHex as Dt,hexToCV as jt}from"@stacks/transactions";import{SmartContractsApi as $t,Configuration as Bt,TransactionsApi as qe}from"@stacks/blockchain-api-client";function nt(t){return new $t(new Bt({basePath:t}))}function rt(t){return`${t}/v2`}var ot=(t,e)=>{try{let n=new URL(t);return Object.keys(e).forEach(r=>{let o=e[r];if(o){if(Array.isArray(o))return o.length===0?void 0:n.searchParams.set(`${r}[]`,Ut(r,o));if(typeof o=="boolean"||L(o))return n.searchParams.set(r,String(o));n.searchParams.set(r,o)}}),n.toString()}catch(n){return console.error("generateUrl"),console.error(n),t}},Ut=(t,e)=>e!=null&&e.length?`${e.map((n,r)=>`${r>0?encodeURIComponent(`${t}[]`):""}=${encodeURIComponent(n)}`).join("&")}`:"";function Mt(t){if(t.okay)return jt(t.result);throw new Error(t.cause)}async function it(t){let{contractAddress:e,functionArgs:n,senderAddress:r=e,url:o}=t,i=await nt(o).callReadOnlyFunction({...t,readOnlyFunctionArgs:{sender:r,arguments:n.map(c=>typeof c=="string"?c:Dt(c))}});return Mt(i)}import{StacksNetwork as _}from"@stacks/network";function at(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function V(t,e){let n=at(e),r=await it({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,url:ct(e)});return e.json?T(r):f(r,!0)}async function qt(t,e){let n=await V(t,e);return G(n)}async function Wt(t,e){let n=await V(t,e);return Z(n)}function ct(t){return t.network?_.fromNameOrNetwork(t.network).coreApiUrl:t.url}async function un(t,e,n,r){let o=et(e,n),i=JSON.stringify(Kt(o.keyCV)),[a,c]=t.split("."),l=ot(`${rt(ct(r))}/map_entry/${a}/${c}/${o.map.name}`,{proof:0,tip:at(r)}),C=await(await fetch(l,{method:"POST",body:i,headers:{"Content-Type":"application/json",Accept:"application/json"}})).json(),p=Jt(C.data);return f(p,!0)}async function fn(t,e){let n="network"in e?e.network:new _({url:e.url}),r=await Lt(t,n);if(r.error)throw new Error(`Error broadcasting tx: ${r.error} - ${r.reason} - ${JSON.stringify(r.reason_data)}`);return{txId:r.txid,stacksTransaction:t}}var st=class{url;constructor(e){typeof e=="string"?this.url=e:this.url=_.fromNameOrNetwork(e).coreApiUrl}roOptions(e){return{url:this.url,...e}}ro(e,n){return V(e,this.roOptions(n||{}))}roOk(e,n){return qt(e,this.roOptions(n||{}))}roErr(e,n){return Wt(e,this.roOptions(n||{}))}};import{createAssetInfo as lt,makeContractFungiblePostCondition as Ht,makeContractNonFungiblePostCondition as zt,makeStandardFungiblePostCondition as Gt,makeStandardNonFungiblePostCondition as Zt}from"@stacks/transactions";function pt(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 lt(n,r,o.name);for(let o of t.fungible_tokens)if(o.name===e)return lt(n,r,o.name);throw new Error(`Invalid asset: "${e}" is not an asset in contract.`)}function hn(t,e,n,r){let[o,i]=e.split("."),[a]=t.non_fungible_tokens,c=pt(t,a.name),l=a.type,d=y(r,l);return typeof i>"u"?Zt(o,n,c,d):zt(o,i,n,c,d)}function En(t,e,n,r){let[o,i]=e.split("."),[a]=t.fungible_tokens,c=pt(t,a.name);return typeof i>"u"?Gt(o,n,r,c):Ht(o,i,n,r,c)}function $(t,e=""){return t.slice(e.length+2,-1)}function b(t,e){if(O(e)){let n=Xt(t),r={},o=Object.entries(n).reduce((i,[a,c])=>{let l=a.trim();return{...i,[l]:c.trim()}},{});return e.tuple.forEach(({name:i,type:a})=>{let c=u(i);r[c]=b(o[i],a)}),r}else{if(N(e))return Yt(t).map(r=>b(r,e.list.type));if(w(e))return t==="none"?null:b($(t,"some"),e.optional);if(k(e))return t.slice(1,-1);if(v(e))return t.slice(2,-1);if(e==="bool")return t==="true";if(e==="uint128")return BigInt(t.slice(1));if(e==="int128")return BigInt(t);if(e==="trait_reference")return t.replace(/^\'/,"");if(e==="principal")return t.replace(/^\'/,"");if(e==="none")return null;if(E(e))return K(t.slice(2));if(R(e)){if(t.startsWith("(ok")){let r=$(t,"ok");return A(b(r,e.response.ok))}let n=$(t,"err");return h(b(n,e.response.error))}}throw new Error(`Unable to parse cv string to value: ${t} ${JSON.stringify(e,null,2)}`)}var Qt=new Array(255);for(let t=0;t<=255;++t)Qt[t]=t.toString(16).padStart(2,"0");function Yt(t){if(t.charAt(0)!=="["||t.charAt(t.length-1)!=="]")throw new Error(`Expected (list ..), got ${t.toString()}`);let e=[],n=[],r=1;for(let i=0;i<t.length;i++)t.charAt(i)===","&&e.length==1&&(n.push(t.substring(r,i)),r=i+2),["(","[","{"].includes(t.charAt(i))&&e.push(t.charAt(i)),t.charAt(i)===")"&&e[e.length-1]==="("&&e.pop(),t.charAt(i)==="}"&&e[e.length-1]==="{"&&e.pop(),t.charAt(i)==="]"&&e[e.length-1]==="["&&e.pop();let o=t.substring(r,t.length-1);return o.length>0&&n.push(o),n}function Xt(t){if(t.charAt(0)!=="{"||t.charAt(t.length-1)!=="}")throw new Error(`Expected '(tuple ..)', got ${t.toString()}`);let e=1,n=[],r=[];for(let a=0;a<t.length;a++)t.charAt(a)===","&&n.length==1&&(r.push(t.substring(e,a)),e=a+2),["(","[","{"].includes(t.charAt(a))&&n.push(t.charAt(a)),t.charAt(a)===")"&&n[n.length-1]==="("&&n.pop(),t.charAt(a)==="}"&&n[n.length-1]==="{"&&n.pop(),t.charAt(a)==="]"&&n[n.length-1]==="["&&n.pop();let o=t.substring(e,t.length-1);o.length>0&&r.push(o);let i={};for(let a of r)for(let c=0;c<a.length;c++)if(a.charAt(c)===":"){let l=a.substring(0,c),d=a.substring(c+2,a.length);i[l]=d;break}return i}export{st as ClarigenClient,mt as CoreNodeEventType,De as DEPLOYMENT_NETWORKS,dt as MAINNET_BURN_ADDRESS,yt as TESTNET_BURN_ADDRESS,ae as bootContractIdentifier,fn as broadcast,J as bytesToAscii,S as bytesToHex,tt as contractFactory,Me as contractsFactory,pt as createAssetInfo,T as cvToJSON,m as cvToString,f as cvToValue,Ke as deploymentFactory,h as err,Z as expectErr,G as expectOk,Ct as extractErrors,un as fetchMapGet,pe as filterEvents,F as findJsTupleKey,Vt as functionsFactory,ct as getApiUrl,ie as getContractIdentifier,oe as getContractName,Tt as getContractNameFromPath,se as getContractPrincipalCV,g as getTypeString,K as hexToBytes,he as hexToCvValue,E as isClarityAbiBuffer,N as isClarityAbiList,w as isClarityAbiOptional,St as isClarityAbiPrimitive,R as isClarityAbiResponse,k as isClarityAbiStringAscii,v as isClarityAbiStringUtf8,Ee as isClarityAbiTraitReference,O as isClarityAbiTuple,L as isNumber,Ae as isResponse,fe as makeContracts,En as makeFungiblePostCondition,hn as makeNonFungiblePostCondition,et as mapFactory,A as ok,y as parseToCV,P as principalToString,ce as projectErrors,je as projectFactory,It as pureProxy,b as rawClarityToValue,V as ro,Wt as roErr,qt as roOk,u as toCamelCase,M as toKebabCase,Pt as transformArgsArray,x as transformArgsToCV,z as transformObjectArgs};
1
+ import{contractPrincipalCV as lt}from"@stacks/transactions";import{hex as D}from"@scure/base";var pt="ST000000000000000000002AMW42H",ut="SP000000000000000000002Q6VF78",u=(t,e)=>{let n=typeof t=="string"?t:String(t);if(/^[A-Z_]+$/.test(n))return n;let[o,...i]=n.replace("!","_x").replace("?","_q").split("-"),c=`${e?o[0].toUpperCase():o[0].toLowerCase()}${o.slice(1)}`;return i.forEach(l=>{let C=l[0].toUpperCase()+l.slice(1);c+=C}),c};function j(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}function Yt(t,e=!0){let n=t.split(".")[1];return e?u(n):n}var ft=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},Xt=t=>`${t.address}.${t.name}`,te=t=>{let e=ft(t.contractFile);return lt(t.address,e)};function ee(t,e){return`${e?ut:pt}.${t}`}function ne(t){return D.encode(t)}function m(t){return D.decode(t)}function M(t){let e=Array.from(t);return String.fromCharCode.apply(null,e)}var J=t=>typeof t=="number";function yt(t){let{constants:e}=t,n={};for(let r in e)if(r.toLowerCase().startsWith("err")){let o=e[r];typeof o=="object"&&o&&"isOk"in o&&!o.isOk&&"value"in o?n[r]=o.value:n[r]=o}return n}function re(t){let{contracts:e}=t,n={};for(let r in e)n[r]=yt(e[r]);return n}var dt=(p=>(p.ContractEvent="contract_event",p.StxTransferEvent="stx_transfer_event",p.StxMintEvent="stx_mint_event",p.StxBurnEvent="stx_burn_event",p.StxLockEvent="stx_lock_event",p.NftTransferEvent="nft_transfer_event",p.NftMintEvent="nft_mint_event",p.NftBurnEvent="nft_burn_event",p.FtTransferEvent="ft_transfer_event",p.FtMintEvent="ft_mint_event",p.FtBurnEvent="ft_burn_event",p))(dt||{});function ie(t,e){return t.filter(n=>n.type===e)}function ae(t,e={}){let n={};for(let r in t){let o=t[r],i=e.deployerAddress||o.address,a=`${i}.${o.name}`,c=o.contract(i,o.name);n[r]={identifier:a,contract:c}}return n}import{ClarityType as s,uintCV as Tt,contractPrincipalCV as Ct,intCV as mt,stringAsciiCV as gt,stringUtf8CV as xt,noneCV as bt,someCV as At,tupleCV as ht,listCV as Et,hexToCV as vt,bufferCV as kt,parseToCV as L}from"@stacks/transactions";function h(t){return{isOk:!0,value:t}}function E(t){return{isOk:!1,value:t}}function ge(t){return typeof t=="object"&&t!==null&&"isOk"in t}function P(t){return t.value}function f(t,e=!1){switch(t.type){case s.BoolTrue:return!0;case s.BoolFalse:return!1;case s.Int:case s.UInt:return t.value;case s.Buffer:return m(t.value);case s.OptionalNone:return null;case s.OptionalSome:return f(t.value);case s.ResponseErr:return e?E(f(t.value)):f(t.value);case s.ResponseOk:return e?h(f(t.value)):f(t.value);case s.PrincipalStandard:case s.PrincipalContract:return P(t);case s.List:return t.value.map(r=>f(r));case s.Tuple:return Object.entries(t.value).reduce((r,[o,i])=>{let a=u(o);return{...r,[a]:f(i,e)}},{});case s.StringASCII:return t.value;case s.StringUTF8:return t.value}}function xe(t,e=!1){return f(vt(t),e)}function q(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}var wt=t=>typeof t=="string",v=t=>t.buffer!==void 0,k=t=>t["string-ascii"]!==void 0,w=t=>t["string-utf8"]!==void 0,R=t=>t.response!==void 0,O=t=>t.optional!==void 0,N=t=>t.tuple!==void 0,S=t=>t.list!==void 0,be=t=>t==="trait_reference";function y(t,e){if(N(e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let o=F(r.name,t),i=t[o];n[r.name]=y(i,r.type)}),ht(n)}else if(S(e)){let r=t.map(o=>y(o,e.list.type));return Et(r)}else{if(O(e))return t===null?bt():At(y(t,e.optional));if(k(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return gt(t)}else if(w(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return xt(t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return L(n,e)}else if(e==="uint128"){let n=q(t);return Tt(n.toString())}else if(e==="int128"){let n=q(t);return mt(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 Ct(n,r)}else if(v(e))return kt(t)}return L(t,e)}function g(t,e="hex"){switch(t.type){case s.BoolTrue:return"true";case s.BoolFalse:return"false";case s.Int:return t.value.toString();case s.UInt:return`u${t.value.toString()}`;case s.Buffer:if(e==="tryAscii"){let n=M(m(t.value));if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${t.value}`;case s.OptionalNone:return"none";case s.OptionalSome:return`(some ${g(t.value,e)})`;case s.ResponseErr:return`(err ${g(t.value,e)})`;case s.ResponseOk:return`(ok ${g(t.value,e)})`;case s.PrincipalStandard:case s.PrincipalContract:return`'${P(t)}`;case s.List:return`(list ${t.value.map(n=>g(n,e)).join(" ")})`;case s.Tuple:return`(tuple ${Object.keys(t.value).map(n=>`(${n} ${g(t.value[n],e)})`).join(" ")})`;case s.StringASCII:return`"${t.value}"`;case s.StringUTF8:return`u"${t.value}"`}}function d(t,e=!1){switch(t.type){case s.BoolTrue:return!0;case s.BoolFalse:return!1;case s.Int:case s.UInt:return`${t.value}`;case s.Buffer:return t.value;case s.OptionalNone:return null;case s.OptionalSome:return d(t.value);case s.ResponseErr:return e?E(d(t.value)):d(t.value);case s.ResponseOk:return e?h(d(t.value)):d(t.value);case s.PrincipalStandard:case s.PrincipalContract:return P(t);case s.List:return t.value.map(r=>d(r));case s.Tuple:return Object.entries(t.value).reduce((r,[o,i])=>{let a=u(o);return{...r,[a]:d(i)}},{});case s.StringASCII:return t.value;case s.StringUTF8:return t.value}}function W(t,e){return t.args.map(n=>{let r=F(n.name,e),o=e[r];return y(o,n.type)})}function Ot(t,e){return e.map((n,r)=>y(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 W(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(o=>{try{F(o.name,n)}catch{r=!1}}),r)return W(t,n)}catch{}return Ot(t,e)}function F(t,e){let n=Object.keys(e).find(r=>{let o=t===r,i=t===j(r);return o||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function H(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function z(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function x(t){if(wt(t))return t==="int128"?"int":t==="uint128"?"uint":t;if(v(t))return`(buff ${t.buffer.length})`;if(k(t))return`(string-ascii ${t["string-ascii"].length})`;if(w(t))return`(string-utf8 ${t["string-utf8"].length})`;if(R(t))return`(response ${x(t.response.ok)} ${x(t.response.error)})`;if(O(t))return`(optional ${x(t.optional)})`;if(N(t))return`(tuple ${t.tuple.map(e=>`(${e.name} ${x(e.type)})`).join(" ")})`;if(S(t))return`(list ${t.list.length} ${x(t.list.type)})`;throw new Error(`Type string unsupported for Clarity type: ${JSON.stringify(t)}`)}function Nt(t,e){let n=t.abi.functions.find(o=>u(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=>u(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 St={get:Nt},Pt=t=>new Proxy(t,St);import{cvToHex as Kt,hexToCV as Dt}from"@stacks/transactions";import{broadcastTransaction as jt}from"@stacks/transactions";function Rt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function G(t){return Rt(t).filter(I)}function Z(t){if(!I(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 Q(t){if(!I(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 I(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var Ve=["devnet","simnet","testnet","mainnet"];function Be(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,Y(o,i)]),!1}),Object.fromEntries(n)}function Ue(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,Y(r,o)]}))}function Ft(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=Object.assign((...i)=>{let a=b(r,i),[c,l]=e.split(".");return{functionArgs:a,contractAddress:c,contractName:l,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,o]}))}function Y(t,e){let n={...t};return{...Ft(t.functions,e),...n,identifier:e}}function Ke(t,e){let n={};return G(e.plan.batches).forEach(o=>{let i=Q(o),[a,c]=i.split("."),l=u(c),C=t[l],T=t[l];if(typeof T>"u")throw new Error(`Clarigen error: mismatch for contract '${l}'`);n[l]=T,T.contractFile=Z(o),T.identifier=i,Object.keys(t[l].functions).forEach(p=>{let B=p,ct=(...U)=>{let K=C.functions[B];return{functionArgs:b(K,U),contractAddress:a,contractName:T.contractName,function:K,nativeArgs:U}};T[B]=ct})}),n}function X(t,e){let n=y(e,t.key);return{key:e,keyCV:n,map:t}}import{cvToHex as Vt,hexToCV as Bt}from"@stacks/transactions";import{SmartContractsApi as It,Configuration as _t,TransactionsApi as Me}from"@stacks/blockchain-api-client";function _(t){let e={};return t&&(e["x-api-key"]=t),e}function tt(t,e){let n=_(e);return new It(new _t({basePath:t,headers:n}))}function et(t){return`${t}/v2`}var nt=(t,e)=>{try{let n=new URL(t);return Object.keys(e).forEach(r=>{let o=e[r];if(o){if(Array.isArray(o))return o.length===0?void 0:n.searchParams.set(`${r}[]`,$t(r,o));if(typeof o=="boolean"||J(o))return n.searchParams.set(r,String(o));n.searchParams.set(r,o)}}),n.toString()}catch(n){return console.error("generateUrl"),console.error(n),t}},$t=(t,e)=>e!=null&&e.length?`${e.map((n,r)=>`${r>0?encodeURIComponent(`${t}[]`):""}=${encodeURIComponent(n)}`).join("&")}`:"";function Ut(t){if(t.okay)return Bt(t.result);throw new Error(t.cause)}async function rt(t){let{contractAddress:e,functionArgs:n,senderAddress:r=e,url:o}=t,i=await tt(o,t.apiKey).callReadOnlyFunction({...t,readOnlyFunctionArgs:{sender:r,arguments:n.map(c=>typeof c=="string"?c:Vt(c))}});return Ut(i)}import{networkFrom as Mt}from"@stacks/network";function it(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function $(t,e){let n=it(e),r=await rt({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,url:st(e),apiKey:e.apiKey});return e.json?d(r):f(r,!0)}async function Jt(t,e){let n=await $(t,e);return H(n)}async function Lt(t,e){let n=await $(t,e);return z(n)}function st(t){return Mt(t.network).client.baseUrl}async function cn(t,e,n,r){let o=X(e,n),i=JSON.stringify(Kt(o.keyCV)),[a,c]=t.split("."),l=nt(`${et(st(r))}/map_entry/${a}/${c}/${o.map.name}`,{proof:0,tip:it(r)}),T=await(await fetch(l,{method:"POST",body:i,headers:{"Content-Type":"application/json",Accept:"application/json",..._(r.apiKey)}})).json(),p=Dt(T.data);return f(p,!0)}async function ln(t,e){let n=e.network,r=await jt({transaction:t,network:n});if("error"in r)throw new Error(`Error broadcasting tx: ${r.error} - ${r.reason} - ${JSON.stringify("reason_data"in r?r.reason_data:void 0)}`);return{txId:r.txid,stacksTransaction:t}}var ot=class{network;apiKey;constructor(e,n){this.network=e,this.apiKey=n}roOptions(e){return{network:this.network,apiKey:this.apiKey,...e}}ro(e,n){return $(e,this.roOptions(n||{}))}roOk(e,n){return Jt(e,this.roOptions(n||{}))}roErr(e,n){return Lt(e,this.roOptions(n||{}))}};function at(t,e){let[n,r]=t.identifier.split(".");if(!("identifier"in t))throw new Error("Invalid contract");for(let o of t.non_fungible_tokens)if(o.name===e)return`${n}.${r}::${o.name}`;for(let o of t.fungible_tokens)if(o.name===e)return`${n}.${r}::${o.name}`;throw new Error(`Invalid asset: "${e}" is not an asset in contract.`)}function Tn(t,e,n,r){let[o]=t.non_fungible_tokens,i=at(t,o.name),a=o.type,c=y(r,a);return{type:"nft-postcondition",address:e,condition:n,asset:i,assetId:c}}function Cn(t,e,n,r){let[o,i]=e.split("."),[a]=t.fungible_tokens,c=at(t,a.name);return{type:"ft-postcondition",address:e,condition:n,asset:c,amount:r}}function V(t,e=""){return t.slice(e.length+2,-1)}function A(t,e){if(N(e)){let n=Ht(t),r={},o=Object.entries(n).reduce((i,[a,c])=>{let l=a.trim();return{...i,[l]:c.trim()}},{});return e.tuple.forEach(({name:i,type:a})=>{let c=u(i);r[c]=A(o[i],a)}),r}else{if(S(e))return Wt(t).map(r=>A(r,e.list.type));if(O(e))return t==="none"?null:A(V(t,"some"),e.optional);if(k(e))return t.slice(1,-1);if(w(e))return t.slice(2,-1);if(e==="bool")return t==="true";if(e==="uint128")return BigInt(t.slice(1));if(e==="int128")return BigInt(t);if(e==="trait_reference")return t.replace(/^\'/,"");if(e==="principal")return t.replace(/^\'/,"");if(e==="none")return null;if(v(e))return m(t.slice(2));if(R(e)){if(t.startsWith("(ok")){let r=V(t,"ok");return h(A(r,e.response.ok))}let n=V(t,"err");return E(A(n,e.response.error))}}throw new Error(`Unable to parse cv string to value: ${t} ${JSON.stringify(e,null,2)}`)}var qt=new Array(255);for(let t=0;t<=255;++t)qt[t]=t.toString(16).padStart(2,"0");function Wt(t){if(t.charAt(0)!=="["||t.charAt(t.length-1)!=="]")throw new Error(`Expected (list ..), got ${t.toString()}`);let e=[],n=[],r=1;for(let i=0;i<t.length;i++)t.charAt(i)===","&&e.length==1&&(n.push(t.substring(r,i)),r=i+2),["(","[","{"].includes(t.charAt(i))&&e.push(t.charAt(i)),t.charAt(i)===")"&&e[e.length-1]==="("&&e.pop(),t.charAt(i)==="}"&&e[e.length-1]==="{"&&e.pop(),t.charAt(i)==="]"&&e[e.length-1]==="["&&e.pop();let o=t.substring(r,t.length-1);return o.length>0&&n.push(o),n}function Ht(t){if(t.charAt(0)!=="{"||t.charAt(t.length-1)!=="}")throw new Error(`Expected '(tuple ..)', got ${t.toString()}`);let e=1,n=[],r=[];for(let a=0;a<t.length;a++)t.charAt(a)===","&&n.length==1&&(r.push(t.substring(e,a)),e=a+2),["(","[","{"].includes(t.charAt(a))&&n.push(t.charAt(a)),t.charAt(a)===")"&&n[n.length-1]==="("&&n.pop(),t.charAt(a)==="}"&&n[n.length-1]==="{"&&n.pop(),t.charAt(a)==="]"&&n[n.length-1]==="["&&n.pop();let o=t.substring(e,t.length-1);o.length>0&&r.push(o);let i={};for(let a of r)for(let c=0;c<a.length;c++)if(a.charAt(c)===":"){let l=a.substring(0,c),C=a.substring(c+2,a.length);i[l]=C;break}return i}export{ot as ClarigenClient,dt as CoreNodeEventType,Ve as DEPLOYMENT_NETWORKS,ut as MAINNET_BURN_ADDRESS,pt as TESTNET_BURN_ADDRESS,ee as bootContractIdentifier,ln as broadcast,M as bytesToAscii,ne as bytesToHex,Y as contractFactory,Ue as contractsFactory,at as createAssetInfo,d as cvToJSON,g as cvToString,f as cvToValue,Ke as deploymentFactory,E as err,z as expectErr,H as expectOk,yt as extractErrors,cn as fetchMapGet,ie as filterEvents,F as findJsTupleKey,Ft as functionsFactory,st as getApiUrl,Xt as getContractIdentifier,Yt as getContractName,ft as getContractNameFromPath,te as getContractPrincipalCV,x as getTypeString,m as hexToBytes,xe as hexToCvValue,v as isClarityAbiBuffer,S as isClarityAbiList,O as isClarityAbiOptional,wt as isClarityAbiPrimitive,R as isClarityAbiResponse,k as isClarityAbiStringAscii,w as isClarityAbiStringUtf8,be as isClarityAbiTraitReference,N as isClarityAbiTuple,J as isNumber,ge as isResponse,ae as makeContracts,Cn as makeFungiblePostCondition,Tn as makeNonFungiblePostCondition,X as mapFactory,h as ok,y as parseToCV,P as principalToString,re as projectErrors,Be as projectFactory,Pt as pureProxy,A as rawClarityToValue,$ as ro,Lt as roErr,Jt as roOk,u as toCamelCase,j as toKebabCase,Ot as transformArgsArray,b as transformArgsToCV,W as transformObjectArgs};
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.1.2",
2
+ "version": "3.0.0",
3
3
  "license": "MIT",
4
4
  "types": "./dist/index.d.ts",
5
5
  "main": "./dist/index.js",
@@ -17,10 +17,10 @@
17
17
  "dependencies": {
18
18
  "@scure/base": "^1.1.6",
19
19
  "@stacks/blockchain-api-client": "7.10.0",
20
- "@stacks/common": "^6.13.0",
21
- "@stacks/network": "^6.16.0",
20
+ "@stacks/common": "^7.0.2",
21
+ "@stacks/network": "^7.0.2",
22
22
  "@stacks/stacks-blockchain-api-types": "7.10.0",
23
- "@stacks/transactions": "6.13.1"
23
+ "@stacks/transactions": "7.1.0"
24
24
  },
25
25
  "devDependencies": {},
26
26
  "publishConfig": {