@clarigen/core 1.0.16-alpha.3 → 1.0.16-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -125,6 +125,7 @@ type ErrType<R> = R extends ResponseErr<unknown, infer V> ? V : never;
|
|
|
125
125
|
|
|
126
126
|
declare function ok<T, Err = never>(value: T): ResponseOk<T, Err>;
|
|
127
127
|
declare function err<Ok = never, T = unknown>(value: T): ResponseErr<Ok, T>;
|
|
128
|
+
declare function isResponse<T>(value: Response<T, T> | T): value is Response<T, T>;
|
|
128
129
|
interface ClarityAbi extends Omit<ClarityAbi$1, 'maps'> {
|
|
129
130
|
maps: ClarityAbiMap[];
|
|
130
131
|
clarity_version?: string;
|
|
@@ -624,4 +625,4 @@ type RawClarityTypeTo<T extends ClarityAbiType, A = any> = T extends ClarityAbiT
|
|
|
624
625
|
type ResponseType<F extends TypedAbiFunction<UnknownArgs, any>> = F extends TypedAbiFunction<infer A, infer R> ? R : never;
|
|
625
626
|
declare function rawClarityToValue<T = any>(input: string, type: ClarityAbiType): T;
|
|
626
627
|
|
|
627
|
-
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, NftBurnEvent, NftMintEvent, NftTransferEvent, NonStandardClarityValue, OkType, Project, ProjectFactory, RawClarityTypeTo, ReadonlyTuple, Response, ResponseErr, ResponseOk, ResponseType, ResultAssets, SimnetDeploymentPlan, SmartContractEvent, StxBurnEvent, StxLockEvent, StxMintEvent, StxTransferEvent, TESTNET_BURN_ADDRESS, TupleInput, TypedAbi, TypedAbiArg, TypedAbiFunction, TypedAbiMap, TypedAbiVariable, UnionToIntersection, UnknownArg, UnknownArgs, bootContractIdentifier, broadcast, contractFactory, contractsFactory, createAssetInfo, cvToJSON, cvToString, cvToValue, deploymentFactory, err, expectErr, expectOk, fetchMapGet, filterEvents, findJsTupleKey, functionsFactory, getApiUrl, getContractIdentifier, getContractNameFromPath, getContractPrincipalCV, hexToCvValue, isClarityAbiBuffer, isClarityAbiList, isClarityAbiOptional, isClarityAbiPrimitive, isClarityAbiResponse, isClarityAbiStringAscii, isClarityAbiStringUtf8, isClarityAbiTuple, makeContracts, makeFungiblePostCondition, makeNonFungiblePostCondition, mapFactory, ok, parseToCV, principalToString, projectFactory, pureProxy, rawClarityToValue, ro, roErr, roOk, toCamelCase, toKebabCase, transformArgsArray, transformArgsToCV, transformObjectArgs };
|
|
628
|
+
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, NftBurnEvent, NftMintEvent, NftTransferEvent, NonStandardClarityValue, OkType, Project, ProjectFactory, RawClarityTypeTo, ReadonlyTuple, Response, ResponseErr, ResponseOk, ResponseType, ResultAssets, SimnetDeploymentPlan, SmartContractEvent, StxBurnEvent, StxLockEvent, StxMintEvent, StxTransferEvent, TESTNET_BURN_ADDRESS, TupleInput, TypedAbi, TypedAbiArg, TypedAbiFunction, TypedAbiMap, TypedAbiVariable, UnionToIntersection, UnknownArg, UnknownArgs, bootContractIdentifier, broadcast, contractFactory, contractsFactory, createAssetInfo, cvToJSON, cvToString, cvToValue, deploymentFactory, err, expectErr, expectOk, fetchMapGet, filterEvents, findJsTupleKey, functionsFactory, getApiUrl, getContractIdentifier, getContractNameFromPath, getContractPrincipalCV, hexToCvValue, isClarityAbiBuffer, isClarityAbiList, isClarityAbiOptional, isClarityAbiPrimitive, isClarityAbiResponse, isClarityAbiStringAscii, isClarityAbiStringUtf8, isClarityAbiTuple, isResponse, makeContracts, makeFungiblePostCondition, makeNonFungiblePostCondition, mapFactory, ok, parseToCV, principalToString, projectFactory, pureProxy, rawClarityToValue, 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 at=Object.defineProperty,ct=Object.defineProperties;var lt=Object.getOwnPropertyDescriptors;var D=Object.getOwnPropertySymbols;var pt=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable;var M=(t,e,n)=>e in t?at(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,f=(t,e)=>{for(var n in e||(e={}))pt.call(e,n)&&M(t,n,e[n]);if(D)for(var n of D(e))ut.call(e,n)&&M(t,n,e[n]);return t},g=(t,e)=>ct(t,lt(e));var _clarity = require('micro-stacks/clarity');var yt="ST000000000000000000002AMW42H",dt= exports.MAINNET_BURN_ADDRESS ="SP000000000000000000002Q6VF78",T= exports.toCamelCase =(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...o]=n.replace("!","").replace("?","").split("-"),a=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return o.forEach(c=>{a+=c[0].toUpperCase()+c.slice(1)}),a};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}var Tt=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},re= exports.getContractIdentifier =t=>`${t.address}.${t.name}`,oe= exports.getContractPrincipalCV =t=>{let e=Tt(t.contractFile);return _clarity.contractPrincipalCV.call(void 0, t.address,e)};function ie(t,e){return`${e?dt:yt}.${t}`}var Ct=(l=>(l.ContractEvent="contract_event",l.StxTransferEvent="stx_transfer_event",l.StxMintEvent="stx_mint_event",l.StxBurnEvent="stx_burn_event",l.StxLockEvent="stx_lock_event",l.NftTransferEvent="nft_transfer_event",l.NftMintEvent="nft_mint_event",l.NftBurnEvent="nft_burn_event",l.FtTransferEvent="ft_transfer_event",l.FtMintEvent="ft_mint_event",l.FtBurnEvent="ft_burn_event",l))(Ct||{});function ae(t,e){return t.filter(n=>n.type===e)}function le(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}var _transactions = require('micro-stacks/transactions');var _common = require('micro-stacks/common');function h(t){return{isOk:!0,value:t}}function v(t){return{isOk:!1,value:t}}function k(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 y(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 y(t.value);case _clarity.ClarityType.ResponseErr:return e?v(y(t.value)):y(t.value);case _clarity.ClarityType.ResponseOk:return e?h(y(t.value)):y(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return k(t);case _clarity.ClarityType.List:return t.list.map(r=>y(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let a=T(o);return g(f({},r),{[a]:y(i)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function be(t,e=!1){return y(_clarity.hexToCV.call(void 0, t),e)}function L(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}var Ae=t=>typeof t=="string",O= exports.isClarityAbiBuffer =t=>t.buffer!==void 0,w= exports.isClarityAbiStringAscii =t=>t["string-ascii"]!==void 0,N= exports.isClarityAbiStringUtf8 =t=>t["string-utf8"]!==void 0,W= exports.isClarityAbiResponse =t=>t.response!==void 0,P= exports.isClarityAbiOptional =t=>t.optional!==void 0,S= exports.isClarityAbiTuple =t=>t.tuple!==void 0,R= exports.isClarityAbiList =t=>t.list!==void 0;function d(t,e){if(S(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]=d(i,r.type)}),_clarity.tupleCV.call(void 0, n)}else if(R(e)){let r=t.map(o=>d(o,e.list.type));return _clarity.listCV.call(void 0, r)}else{if(P(e))return t===null?_clarity.noneCV.call(void 0, ):_clarity.someCV.call(void 0, d(t,e.optional));if(w(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _clarity.stringAsciiCV.call(void 0, t)}else if(N(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=L(t);return _clarity.uintCV.call(void 0, n.toString())}else if(e==="int128"){let n=L(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(O(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`'${k(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 m(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 m(t.value);case _clarity.ClarityType.ResponseErr:return e?v(m(t.value)):m(t.value);case _clarity.ClarityType.ResponseOk:return e?h(m(t.value)):m(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return k(t);case _clarity.ClarityType.List:return t.list.map(r=>m(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let a=T(o);return g(f({},r),{[a]:m(i)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function q(t,e){return t.args.map(n=>{let r=F(n.name,e),o=e[r];return d(o,n.type)})}function Pt(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 q(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 q(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===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 G(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function St(t,e){let n=t.abi.functions.find(o=>T(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=>T(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 Rt={get:St},Ft= exports.pureProxy =t=>new Proxy(t,Rt);var _api = require('micro-stacks/api');function It(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function Z(t){return It(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 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 $e=["devnet","simnet","testnet","mainnet"];function Ue(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,X(o,i)]),!1}),Object.fromEntries(n)}function De(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,X(r,o)]}))}function _t(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=Object.assign((...i)=>{let a=b(r,i),[c,p]=e.split(".");return{functionArgs:a,contractAddress:c,contractName:p,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,o]}))}function X(t,e){let n=f({},t);return g(f(f({},_t(t.functions,e)),n),{identifier:e})}function Me(t,e){let n={};return Z(e.plan.batches).forEach(o=>{let i=Q(o),[a,c]=i.split("."),p=T(c),C=t[p],u=t[p];if(typeof u>"u")throw new Error(`Clarigen error: mismatch for contract '${p}'`);n[p]=u,u.contractFile=Y(o),u.identifier=i,Object.keys(t[p].functions).forEach(l=>{let E=l,st=(...$)=>{let U=C.functions[E];return{functionArgs:b(U,$),contractAddress:a,contractName:u.contractName,function:U,nativeArgs:$}};u[E]=st})}),n}function tt(t,e){let n=d(e,t.key);return{key:e,keyCV:n,map:t}}async function et(t){let{contractName:e,contractAddress:n,functionName:r,functionArgs:o,senderAddress:i=n,tip:a,url:c}=t,p=`${c}/v2/contracts/call-read/${n}/${e}/${encodeURIComponent(r)}`;a&&(p+=`?tip=${a}`);let C=JSON.stringify({sender:i,arguments:o.map(l=>typeof l=="string"?l:_clarity.cvToHex.call(void 0, l))}),u=await _common.fetchPrivate.call(void 0, p,{method:"POST",body:C,headers:{"Content-Type":"application/json"}});if(!u.ok){let l="";try{l=await u.text()}catch (e4){}throw new Error(`Error calling read-only function. Response ${u.status}: ${u.statusText}. Attempted to fetch ${p} and failed with the message: "${l}"`)}return _api.parseReadOnlyResponse.call(void 0, await u.json())}function rt(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function _(t,e){let n=rt(e),r=await et({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,url:B(e)});return e.json?m(r):y(r,!0)}async function Kt(t,e){let n=await _(t,e);return H(n)}async function Lt(t,e){let n=await _(t,e);return G(n)}function B(t){return"network"in t?t.network.getCoreApiUrl():t.url}async function on(t,e,n,r){let o=tt(e,n),i=JSON.stringify(_clarity.cvToHex.call(void 0, o.keyCV)),[a,c]=t.split("."),p=_api.generateUrl.call(void 0, `${_api.v2Endpoint.call(void 0, B(r))}/map_entry/${a}/${c}/${o.map.name}`,{proof:0,tip:rt(r)}),u=await(await fetch(p,{method:"POST",body:i,headers:{"Content-Type":"application/json",Accept:"application/json"}})).json(),l=_clarity.hexToCV.call(void 0, u.data);return y(l,!0)}async function sn(t,e){let n=`${B(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 nt=class{constructor(e){typeof e=="string"?this.url=e:this.url=e.getCoreApiUrl()}roOptions(e){return f({url:this.url},e)}ro(e,n){return _(e,this.roOptions(n||{}))}roOk(e,n){return Kt(e,this.roOptions(n||{}))}roErr(e,n){return Lt(e,this.roOptions(n||{}))}};function it(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 Cn(t,e,n,r){let[o,i]=e.split("."),[a]=t.non_fungible_tokens,c=it(t,a.name),p=a.type,C=d(r,p);return typeof i>"u"?_transactions.makeStandardNonFungiblePostCondition.call(void 0, o,n,c,C):_transactions.makeContractNonFungiblePostCondition.call(void 0, o,i,n,c,C)}function mn(t,e,n,r){let[o,i]=e.split("."),[a]=t.fungible_tokens,c=it(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 V(t,e=""){return t.slice(e.length+2,-1)}function A(t,e){if(S(e)){let n=Qt(t),r={},o=Object.entries(n).reduce((i,[a,c])=>{let p=a.trim();return g(f({},i),{[p]:c.trim()})},{});return e.tuple.forEach(({name:i,type:a})=>{let c=T(i);r[c]=A(o[i],a)}),r}else{if(R(e))return Yt(t).map(r=>A(r,e.list.type));if(P(e))return t==="none"?null:A(V(t,"some"),e.optional);if(w(e))return t.slice(1,-1);if(N(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(O(e))return _common.hexToBytes.call(void 0, t.slice(2));if(W(e)){if(t.startsWith("(ok")){let r=V(t,"ok");return h(A(r,e.response.ok))}let n=V(t,"err");return v(A(n,e.response.error))}}throw new Error(`Unable to parse cv string to value: ${t} ${JSON.stringify(e,null,2)}`)}var Zt=new Array(255);for(let t=0;t<=255;++t)Zt[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 Qt(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 p=a.substring(0,c),C=a.substring(c+2,a.length);i[p]=C;break}return i}exports.ClarigenClient = nt; exports.CoreNodeEventType = Ct; exports.DEPLOYMENT_NETWORKS = $e; exports.MAINNET_BURN_ADDRESS = dt; exports.TESTNET_BURN_ADDRESS = yt; exports.bootContractIdentifier = ie; exports.broadcast = sn; exports.contractFactory = X; exports.contractsFactory = De; exports.createAssetInfo = it; exports.cvToJSON = m; exports.cvToString = x; exports.cvToValue = y; exports.deploymentFactory = Me; exports.err = v; exports.expectErr = G; exports.expectOk = H; exports.fetchMapGet = on; exports.filterEvents = ae; exports.findJsTupleKey = F; exports.functionsFactory = _t; exports.getApiUrl = B; exports.getContractIdentifier = re; exports.getContractNameFromPath = Tt; exports.getContractPrincipalCV = oe; exports.hexToCvValue = be; exports.isClarityAbiBuffer = O; exports.isClarityAbiList = R; exports.isClarityAbiOptional = P; exports.isClarityAbiPrimitive = Ae; exports.isClarityAbiResponse = W; exports.isClarityAbiStringAscii = w; exports.isClarityAbiStringUtf8 = N; exports.isClarityAbiTuple = S; exports.makeContracts = le; exports.makeFungiblePostCondition = mn; exports.makeNonFungiblePostCondition = Cn; exports.mapFactory = tt; exports.ok = h; exports.parseToCV = d; exports.principalToString = k; exports.projectFactory = Ue; exports.pureProxy = Ft; exports.rawClarityToValue = A; exports.ro = _; exports.roErr = Lt; exports.roOk = Kt; exports.toCamelCase = T; exports.toKebabCase = j; exports.transformArgsArray = Pt; exports.transformArgsToCV = b; exports.transformObjectArgs = q;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var at=Object.defineProperty,ct=Object.defineProperties;var lt=Object.getOwnPropertyDescriptors;var D=Object.getOwnPropertySymbols;var pt=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable;var M=(t,e,n)=>e in t?at(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,f=(t,e)=>{for(var n in e||(e={}))pt.call(e,n)&&M(t,n,e[n]);if(D)for(var n of D(e))ut.call(e,n)&&M(t,n,e[n]);return t},g=(t,e)=>ct(t,lt(e));var _clarity = require('micro-stacks/clarity');var yt="ST000000000000000000002AMW42H",dt= exports.MAINNET_BURN_ADDRESS ="SP000000000000000000002Q6VF78",C= exports.toCamelCase =(t,e)=>{let n=typeof t=="string"?t:String(t);if(/^[A-Z_]+$/.test(n))return n;let[o,...i]=n.replace("!","").replace("?","").split("-"),c=`${e?o[0].toUpperCase():o[0].toLowerCase()}${o.slice(1)}`;return i.forEach(l=>{c+=l[0].toUpperCase()+l.slice(1)}),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}var Tt=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},re= exports.getContractIdentifier =t=>`${t.address}.${t.name}`,oe= exports.getContractPrincipalCV =t=>{let e=Tt(t.contractFile);return _clarity.contractPrincipalCV.call(void 0, t.address,e)};function ie(t,e){return`${e?dt:yt}.${t}`}var Ct=(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))(Ct||{});function ae(t,e){return t.filter(n=>n.type===e)}function le(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}var _transactions = require('micro-stacks/transactions');var _common = require('micro-stacks/common');function h(t){return{isOk:!0,value:t}}function v(t){return{isOk:!1,value:t}}function be(t){return typeof t=="object"&&t!==null&&"isOk"in t}function k(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 y(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 y(t.value);case _clarity.ClarityType.ResponseErr:return e?v(y(t.value)):y(t.value);case _clarity.ClarityType.ResponseOk:return e?h(y(t.value)):y(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return k(t);case _clarity.ClarityType.List:return t.list.map(r=>y(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let a=C(o);return g(f({},r),{[a]:y(i)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function Ae(t,e=!1){return y(_clarity.hexToCV.call(void 0, t),e)}function L(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}var he=t=>typeof t=="string",O= exports.isClarityAbiBuffer =t=>t.buffer!==void 0,w= exports.isClarityAbiStringAscii =t=>t["string-ascii"]!==void 0,N= exports.isClarityAbiStringUtf8 =t=>t["string-utf8"]!==void 0,W= exports.isClarityAbiResponse =t=>t.response!==void 0,P= exports.isClarityAbiOptional =t=>t.optional!==void 0,S= exports.isClarityAbiTuple =t=>t.tuple!==void 0,R= exports.isClarityAbiList =t=>t.list!==void 0;function d(t,e){if(S(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]=d(i,r.type)}),_clarity.tupleCV.call(void 0, n)}else if(R(e)){let r=t.map(o=>d(o,e.list.type));return _clarity.listCV.call(void 0, r)}else{if(P(e))return t===null?_clarity.noneCV.call(void 0, ):_clarity.someCV.call(void 0, d(t,e.optional));if(w(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _clarity.stringAsciiCV.call(void 0, t)}else if(N(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=L(t);return _clarity.uintCV.call(void 0, n.toString())}else if(e==="int128"){let n=L(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(O(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`'${k(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 m(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 m(t.value);case _clarity.ClarityType.ResponseErr:return e?v(m(t.value)):m(t.value);case _clarity.ClarityType.ResponseOk:return e?h(m(t.value)):m(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return k(t);case _clarity.ClarityType.List:return t.list.map(r=>m(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let a=C(o);return g(f({},r),{[a]:m(i)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function q(t,e){return t.args.map(n=>{let r=F(n.name,e),o=e[r];return d(o,n.type)})}function Pt(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 q(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 q(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===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 G(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function St(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 Rt={get:St},Ft= exports.pureProxy =t=>new Proxy(t,Rt);var _api = require('micro-stacks/api');function It(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function Z(t){return It(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 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 Ue=["devnet","simnet","testnet","mainnet"];function De(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,X(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,X(r,o)]}))}function _t(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 X(t,e){let n=f({},t);return g(f(f({},_t(t.functions,e)),n),{identifier:e})}function je(t,e){let n={};return Z(e.plan.batches).forEach(o=>{let i=Q(o),[a,c]=i.split("."),l=C(c),T=t[l],u=t[l];if(typeof u>"u")throw new Error(`Clarigen error: mismatch for contract '${l}'`);n[l]=u,u.contractFile=Y(o),u.identifier=i,Object.keys(t[l].functions).forEach(p=>{let E=p,st=(...$)=>{let U=T.functions[E];return{functionArgs:b(U,$),contractAddress:a,contractName:u.contractName,function:U,nativeArgs:$}};u[E]=st})}),n}function tt(t,e){let n=d(e,t.key);return{key:e,keyCV:n,map:t}}async function et(t){let{contractName:e,contractAddress:n,functionName:r,functionArgs:o,senderAddress:i=n,tip:a,url:c}=t,l=`${c}/v2/contracts/call-read/${n}/${e}/${encodeURIComponent(r)}`;a&&(l+=`?tip=${a}`);let T=JSON.stringify({sender:i,arguments:o.map(p=>typeof p=="string"?p:_clarity.cvToHex.call(void 0, p))}),u=await _common.fetchPrivate.call(void 0, l,{method:"POST",body:T,headers:{"Content-Type":"application/json"}});if(!u.ok){let p="";try{p=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: "${p}"`)}return _api.parseReadOnlyResponse.call(void 0, await u.json())}function rt(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function _(t,e){let n=rt(e),r=await et({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,url:B(e)});return e.json?m(r):y(r,!0)}async function Kt(t,e){let n=await _(t,e);return H(n)}async function Lt(t,e){let n=await _(t,e);return G(n)}function B(t){return"network"in t?t.network.getCoreApiUrl():t.url}async function sn(t,e,n,r){let o=tt(e,n),i=JSON.stringify(_clarity.cvToHex.call(void 0, o.keyCV)),[a,c]=t.split("."),l=_api.generateUrl.call(void 0, `${_api.v2Endpoint.call(void 0, B(r))}/map_entry/${a}/${c}/${o.map.name}`,{proof:0,tip:rt(r)}),u=await(await fetch(l,{method:"POST",body:i,headers:{"Content-Type":"application/json",Accept:"application/json"}})).json(),p=_clarity.hexToCV.call(void 0, u.data);return y(p,!0)}async function an(t,e){let n=`${B(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 nt=class{constructor(e){typeof e=="string"?this.url=e:this.url=e.getCoreApiUrl()}roOptions(e){return f({url:this.url},e)}ro(e,n){return _(e,this.roOptions(n||{}))}roOk(e,n){return Kt(e,this.roOptions(n||{}))}roErr(e,n){return Lt(e,this.roOptions(n||{}))}};function it(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 mn(t,e,n,r){let[o,i]=e.split("."),[a]=t.non_fungible_tokens,c=it(t,a.name),l=a.type,T=d(r,l);return typeof i>"u"?_transactions.makeStandardNonFungiblePostCondition.call(void 0, o,n,c,T):_transactions.makeContractNonFungiblePostCondition.call(void 0, o,i,n,c,T)}function gn(t,e,n,r){let[o,i]=e.split("."),[a]=t.fungible_tokens,c=it(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 V(t,e=""){return t.slice(e.length+2,-1)}function A(t,e){if(S(e)){let n=Qt(t),r={},o=Object.entries(n).reduce((i,[a,c])=>{let l=a.trim();return g(f({},i),{[l]:c.trim()})},{});return e.tuple.forEach(({name:i,type:a})=>{let c=C(i);r[c]=A(o[i],a)}),r}else{if(R(e))return Yt(t).map(r=>A(r,e.list.type));if(P(e))return t==="none"?null:A(V(t,"some"),e.optional);if(w(e))return t.slice(1,-1);if(N(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(O(e))return _common.hexToBytes.call(void 0, t.slice(2));if(W(e)){if(t.startsWith("(ok")){let r=V(t,"ok");return h(A(r,e.response.ok))}let n=V(t,"err");return v(A(n,e.response.error))}}throw new Error(`Unable to parse cv string to value: ${t} ${JSON.stringify(e,null,2)}`)}var Zt=new Array(255);for(let t=0;t<=255;++t)Zt[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 Qt(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),T=a.substring(c+2,a.length);i[l]=T;break}return i}exports.ClarigenClient = nt; exports.CoreNodeEventType = Ct; exports.DEPLOYMENT_NETWORKS = Ue; exports.MAINNET_BURN_ADDRESS = dt; exports.TESTNET_BURN_ADDRESS = yt; exports.bootContractIdentifier = ie; exports.broadcast = an; exports.contractFactory = X; exports.contractsFactory = Me; exports.createAssetInfo = it; exports.cvToJSON = m; exports.cvToString = x; exports.cvToValue = y; exports.deploymentFactory = je; exports.err = v; exports.expectErr = G; exports.expectOk = H; exports.fetchMapGet = sn; exports.filterEvents = ae; exports.findJsTupleKey = F; exports.functionsFactory = _t; exports.getApiUrl = B; exports.getContractIdentifier = re; exports.getContractNameFromPath = Tt; exports.getContractPrincipalCV = oe; exports.hexToCvValue = Ae; exports.isClarityAbiBuffer = O; exports.isClarityAbiList = R; exports.isClarityAbiOptional = P; exports.isClarityAbiPrimitive = he; exports.isClarityAbiResponse = W; exports.isClarityAbiStringAscii = w; exports.isClarityAbiStringUtf8 = N; exports.isClarityAbiTuple = S; exports.isResponse = be; exports.makeContracts = le; exports.makeFungiblePostCondition = gn; exports.makeNonFungiblePostCondition = mn; exports.mapFactory = tt; exports.ok = h; exports.parseToCV = d; exports.principalToString = k; exports.projectFactory = De; exports.pureProxy = Ft; exports.rawClarityToValue = A; exports.ro = _; exports.roErr = Lt; exports.roOk = Kt; exports.toCamelCase = C; exports.toKebabCase = j; exports.transformArgsArray = Pt; exports.transformArgsToCV = b; exports.transformObjectArgs = q;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var at=Object.defineProperty,ct=Object.defineProperties;var lt=Object.getOwnPropertyDescriptors;var D=Object.getOwnPropertySymbols;var pt=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable;var M=(t,e,n)=>e in t?at(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,f=(t,e)=>{for(var n in e||(e={}))pt.call(e,n)&&M(t,n,e[n]);if(D)for(var n of D(e))ut.call(e,n)&&M(t,n,e[n]);return t},g=(t,e)=>ct(t,lt(e));import{contractPrincipalCV as ft}from"micro-stacks/clarity";var yt="ST000000000000000000002AMW42H",dt="SP000000000000000000002Q6VF78",T=(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...o]=n.replace("!","").replace("?","").split("-"),a=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return o.forEach(c=>{a+=c[0].toUpperCase()+c.slice(1)}),a};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}var Tt=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},re=t=>`${t.address}.${t.name}`,oe=t=>{let e=Tt(t.contractFile);return ft(t.address,e)};function ie(t,e){return`${e?dt:yt}.${t}`}var Ct=(l=>(l.ContractEvent="contract_event",l.StxTransferEvent="stx_transfer_event",l.StxMintEvent="stx_mint_event",l.StxBurnEvent="stx_burn_event",l.StxLockEvent="stx_lock_event",l.NftTransferEvent="nft_transfer_event",l.NftMintEvent="nft_mint_event",l.NftBurnEvent="nft_burn_event",l.FtTransferEvent="ft_transfer_event",l.FtMintEvent="ft_mint_event",l.FtBurnEvent="ft_burn_event",l))(Ct||{});function ae(t,e){return t.filter(n=>n.type===e)}function le(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 J,ClarityType as s,uintCV as mt,contractPrincipalCV as gt,intCV as xt,stringAsciiCV as bt,stringUtf8CV as At,noneCV as ht,someCV as vt,tupleCV as Et,listCV as kt,hexToCV as Ot,bufferCV as wt}from"micro-stacks/clarity";import{parseToCV as K}from"micro-stacks/transactions";import{bytesToAscii as Nt,bytesToHex as z}from"micro-stacks/common";function h(t){return{isOk:!0,value:t}}function v(t){return{isOk:!1,value:t}}function k(t){if(t.type===s.PrincipalStandard)return J(t.address);if(t.type===s.PrincipalContract)return`${J(t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function y(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 y(t.value);case s.ResponseErr:return e?v(y(t.value)):y(t.value);case s.ResponseOk:return e?h(y(t.value)):y(t.value);case s.PrincipalStandard:case s.PrincipalContract:return k(t);case s.List:return t.list.map(r=>y(r));case s.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let a=T(o);return g(f({},r),{[a]:y(i)})},{});case s.StringASCII:return t.data;case s.StringUTF8:return t.data}}function be(t,e=!1){return y(Ot(t),e)}function L(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}var Ae=t=>typeof t=="string",O=t=>t.buffer!==void 0,w=t=>t["string-ascii"]!==void 0,N=t=>t["string-utf8"]!==void 0,W=t=>t.response!==void 0,P=t=>t.optional!==void 0,S=t=>t.tuple!==void 0,R=t=>t.list!==void 0;function d(t,e){if(S(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]=d(i,r.type)}),Et(n)}else if(R(e)){let r=t.map(o=>d(o,e.list.type));return kt(r)}else{if(P(e))return t===null?ht():vt(d(t,e.optional));if(w(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return bt(t)}else if(N(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return At(t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return K(n,e)}else if(e==="uint128"){let n=L(t);return mt(n.toString())}else if(e==="int128"){let n=L(t);return xt(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 gt(n,r)}else if(O(e))return wt(t)}return K(t,e)}function x(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=Nt(t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${z(t.buffer)}`;case s.OptionalNone:return"none";case s.OptionalSome:return`(some ${x(t.value,e)})`;case s.ResponseErr:return`(err ${x(t.value,e)})`;case s.ResponseOk:return`(ok ${x(t.value,e)})`;case s.PrincipalStandard:case s.PrincipalContract:return`'${k(t)}`;case s.List:return`(list ${t.list.map(n=>x(n,e)).join(" ")})`;case s.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${x(t.data[n],e)})`).join(" ")})`;case s.StringASCII:return`"${t.data}"`;case s.StringUTF8:return`u"${t.data}"`}}function m(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 z(t.buffer);case s.OptionalNone:return null;case s.OptionalSome:return m(t.value);case s.ResponseErr:return e?v(m(t.value)):m(t.value);case s.ResponseOk:return e?h(m(t.value)):m(t.value);case s.PrincipalStandard:case s.PrincipalContract:return k(t);case s.List:return t.list.map(r=>m(r));case s.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let a=T(o);return g(f({},r),{[a]:m(i)})},{});case s.StringASCII:return t.data;case s.StringUTF8:return t.data}}function q(t,e){return t.args.map(n=>{let r=F(n.name,e),o=e[r];return d(o,n.type)})}function Pt(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 q(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 q(t,n)}catch{}return Pt(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 G(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function St(t,e){let n=t.abi.functions.find(o=>T(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=>T(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 Rt={get:St},Ft=t=>new Proxy(t,Rt);import{v2Endpoint as Ut,generateUrl as Dt}from"micro-stacks/api";import{cvToHex as Mt,hexToCV as jt}from"micro-stacks/clarity";import{broadcastRawTransaction as Jt}from"micro-stacks/transactions";function It(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function Z(t){return It(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 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 $e=["devnet","simnet","testnet","mainnet"];function Ue(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,X(o,i)]),!1}),Object.fromEntries(n)}function De(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,X(r,o)]}))}function _t(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=Object.assign((...i)=>{let a=b(r,i),[c,p]=e.split(".");return{functionArgs:a,contractAddress:c,contractName:p,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,o]}))}function X(t,e){let n=f({},t);return g(f(f({},_t(t.functions,e)),n),{identifier:e})}function Me(t,e){let n={};return Z(e.plan.batches).forEach(o=>{let i=Q(o),[a,c]=i.split("."),p=T(c),C=t[p],u=t[p];if(typeof u>"u")throw new Error(`Clarigen error: mismatch for contract '${p}'`);n[p]=u,u.contractFile=Y(o),u.identifier=i,Object.keys(t[p].functions).forEach(l=>{let E=l,st=(...$)=>{let U=C.functions[E];return{functionArgs:b(U,$),contractAddress:a,contractName:u.contractName,function:U,nativeArgs:$}};u[E]=st})}),n}function tt(t,e){let n=d(e,t.key);return{key:e,keyCV:n,map:t}}import{parseReadOnlyResponse as Bt}from"micro-stacks/api";import{cvToHex as Vt}from"micro-stacks/clarity";import{fetchPrivate as $t}from"micro-stacks/common";async function et(t){let{contractName:e,contractAddress:n,functionName:r,functionArgs:o,senderAddress:i=n,tip:a,url:c}=t,p=`${c}/v2/contracts/call-read/${n}/${e}/${encodeURIComponent(r)}`;a&&(p+=`?tip=${a}`);let C=JSON.stringify({sender:i,arguments:o.map(l=>typeof l=="string"?l:Vt(l))}),u=await $t(p,{method:"POST",body:C,headers:{"Content-Type":"application/json"}});if(!u.ok){let l="";try{l=await u.text()}catch{}throw new Error(`Error calling read-only function. Response ${u.status}: ${u.statusText}. Attempted to fetch ${p} and failed with the message: "${l}"`)}return Bt(await u.json())}function rt(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function _(t,e){let n=rt(e),r=await et({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,url:B(e)});return e.json?m(r):y(r,!0)}async function Kt(t,e){let n=await _(t,e);return H(n)}async function Lt(t,e){let n=await _(t,e);return G(n)}function B(t){return"network"in t?t.network.getCoreApiUrl():t.url}async function on(t,e,n,r){let o=tt(e,n),i=JSON.stringify(Mt(o.keyCV)),[a,c]=t.split("."),p=Dt(`${Ut(B(r))}/map_entry/${a}/${c}/${o.map.name}`,{proof:0,tip:rt(r)}),u=await(await fetch(p,{method:"POST",body:i,headers:{"Content-Type":"application/json",Accept:"application/json"}})).json(),l=jt(u.data);return y(l,!0)}async function sn(t,e){let n=`${B(e)}/v2/transactions`,r=await Jt(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 nt=class{constructor(e){typeof e=="string"?this.url=e:this.url=e.getCoreApiUrl()}roOptions(e){return f({url:this.url},e)}ro(e,n){return _(e,this.roOptions(n||{}))}roOk(e,n){return Kt(e,this.roOptions(n||{}))}roErr(e,n){return Lt(e,this.roOptions(n||{}))}};import{createAssetInfo as ot,makeContractFungiblePostCondition as qt,makeContractNonFungiblePostCondition as zt,makeStandardFungiblePostCondition as Wt,makeStandardNonFungiblePostCondition as Ht}from"micro-stacks/transactions";function it(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 ot(n,r,o.name);for(let o of t.fungible_tokens)if(o.name===e)return ot(n,r,o.name);throw new Error(`Invalid asset: "${e}" is not an asset in contract.`)}function Cn(t,e,n,r){let[o,i]=e.split("."),[a]=t.non_fungible_tokens,c=it(t,a.name),p=a.type,C=d(r,p);return typeof i>"u"?Ht(o,n,c,C):zt(o,i,n,c,C)}function mn(t,e,n,r){let[o,i]=e.split("."),[a]=t.fungible_tokens,c=it(t,a.name);return typeof i>"u"?Wt(o,n,r,c):qt(o,i,n,r,c)}import{hexToBytes as Gt}from"micro-stacks/common";function V(t,e=""){return t.slice(e.length+2,-1)}function A(t,e){if(S(e)){let n=Qt(t),r={},o=Object.entries(n).reduce((i,[a,c])=>{let p=a.trim();return g(f({},i),{[p]:c.trim()})},{});return e.tuple.forEach(({name:i,type:a})=>{let c=T(i);r[c]=A(o[i],a)}),r}else{if(R(e))return Yt(t).map(r=>A(r,e.list.type));if(P(e))return t==="none"?null:A(V(t,"some"),e.optional);if(w(e))return t.slice(1,-1);if(N(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(O(e))return Gt(t.slice(2));if(W(e)){if(t.startsWith("(ok")){let r=V(t,"ok");return h(A(r,e.response.ok))}let n=V(t,"err");return v(A(n,e.response.error))}}throw new Error(`Unable to parse cv string to value: ${t} ${JSON.stringify(e,null,2)}`)}var Zt=new Array(255);for(let t=0;t<=255;++t)Zt[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 Qt(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 p=a.substring(0,c),C=a.substring(c+2,a.length);i[p]=C;break}return i}export{nt as ClarigenClient,Ct as CoreNodeEventType,$e as DEPLOYMENT_NETWORKS,dt as MAINNET_BURN_ADDRESS,yt as TESTNET_BURN_ADDRESS,ie as bootContractIdentifier,sn as broadcast,X as contractFactory,De as contractsFactory,it as createAssetInfo,m as cvToJSON,x as cvToString,y as cvToValue,Me as deploymentFactory,v as err,G as expectErr,H as expectOk,on as fetchMapGet,ae as filterEvents,F as findJsTupleKey,_t as functionsFactory,B as getApiUrl,re as getContractIdentifier,Tt as getContractNameFromPath,oe as getContractPrincipalCV,be as hexToCvValue,O as isClarityAbiBuffer,R as isClarityAbiList,P as isClarityAbiOptional,Ae as isClarityAbiPrimitive,W as isClarityAbiResponse,w as isClarityAbiStringAscii,N as isClarityAbiStringUtf8,S as isClarityAbiTuple,le as makeContracts,mn as makeFungiblePostCondition,Cn as makeNonFungiblePostCondition,tt as mapFactory,h as ok,d as parseToCV,k as principalToString,Ue as projectFactory,Ft as pureProxy,A as rawClarityToValue,_ as ro,Lt as roErr,Kt as roOk,T as toCamelCase,j as toKebabCase,Pt as transformArgsArray,b as transformArgsToCV,q as transformObjectArgs};
|
|
1
|
+
var at=Object.defineProperty,ct=Object.defineProperties;var lt=Object.getOwnPropertyDescriptors;var D=Object.getOwnPropertySymbols;var pt=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable;var M=(t,e,n)=>e in t?at(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,f=(t,e)=>{for(var n in e||(e={}))pt.call(e,n)&&M(t,n,e[n]);if(D)for(var n of D(e))ut.call(e,n)&&M(t,n,e[n]);return t},g=(t,e)=>ct(t,lt(e));import{contractPrincipalCV as ft}from"micro-stacks/clarity";var yt="ST000000000000000000002AMW42H",dt="SP000000000000000000002Q6VF78",C=(t,e)=>{let n=typeof t=="string"?t:String(t);if(/^[A-Z_]+$/.test(n))return n;let[o,...i]=n.replace("!","").replace("?","").split("-"),c=`${e?o[0].toUpperCase():o[0].toLowerCase()}${o.slice(1)}`;return i.forEach(l=>{c+=l[0].toUpperCase()+l.slice(1)}),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}var Tt=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},re=t=>`${t.address}.${t.name}`,oe=t=>{let e=Tt(t.contractFile);return ft(t.address,e)};function ie(t,e){return`${e?dt:yt}.${t}`}var Ct=(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))(Ct||{});function ae(t,e){return t.filter(n=>n.type===e)}function le(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 J,ClarityType as s,uintCV as mt,contractPrincipalCV as gt,intCV as xt,stringAsciiCV as bt,stringUtf8CV as At,noneCV as ht,someCV as vt,tupleCV as Et,listCV as kt,hexToCV as Ot,bufferCV as wt}from"micro-stacks/clarity";import{parseToCV as K}from"micro-stacks/transactions";import{bytesToAscii as Nt,bytesToHex as z}from"micro-stacks/common";function h(t){return{isOk:!0,value:t}}function v(t){return{isOk:!1,value:t}}function be(t){return typeof t=="object"&&t!==null&&"isOk"in t}function k(t){if(t.type===s.PrincipalStandard)return J(t.address);if(t.type===s.PrincipalContract)return`${J(t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function y(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 y(t.value);case s.ResponseErr:return e?v(y(t.value)):y(t.value);case s.ResponseOk:return e?h(y(t.value)):y(t.value);case s.PrincipalStandard:case s.PrincipalContract:return k(t);case s.List:return t.list.map(r=>y(r));case s.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let a=C(o);return g(f({},r),{[a]:y(i)})},{});case s.StringASCII:return t.data;case s.StringUTF8:return t.data}}function Ae(t,e=!1){return y(Ot(t),e)}function L(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}var he=t=>typeof t=="string",O=t=>t.buffer!==void 0,w=t=>t["string-ascii"]!==void 0,N=t=>t["string-utf8"]!==void 0,W=t=>t.response!==void 0,P=t=>t.optional!==void 0,S=t=>t.tuple!==void 0,R=t=>t.list!==void 0;function d(t,e){if(S(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]=d(i,r.type)}),Et(n)}else if(R(e)){let r=t.map(o=>d(o,e.list.type));return kt(r)}else{if(P(e))return t===null?ht():vt(d(t,e.optional));if(w(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return bt(t)}else if(N(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return At(t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return K(n,e)}else if(e==="uint128"){let n=L(t);return mt(n.toString())}else if(e==="int128"){let n=L(t);return xt(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 gt(n,r)}else if(O(e))return wt(t)}return K(t,e)}function x(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=Nt(t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${z(t.buffer)}`;case s.OptionalNone:return"none";case s.OptionalSome:return`(some ${x(t.value,e)})`;case s.ResponseErr:return`(err ${x(t.value,e)})`;case s.ResponseOk:return`(ok ${x(t.value,e)})`;case s.PrincipalStandard:case s.PrincipalContract:return`'${k(t)}`;case s.List:return`(list ${t.list.map(n=>x(n,e)).join(" ")})`;case s.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${x(t.data[n],e)})`).join(" ")})`;case s.StringASCII:return`"${t.data}"`;case s.StringUTF8:return`u"${t.data}"`}}function m(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 z(t.buffer);case s.OptionalNone:return null;case s.OptionalSome:return m(t.value);case s.ResponseErr:return e?v(m(t.value)):m(t.value);case s.ResponseOk:return e?h(m(t.value)):m(t.value);case s.PrincipalStandard:case s.PrincipalContract:return k(t);case s.List:return t.list.map(r=>m(r));case s.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let a=C(o);return g(f({},r),{[a]:m(i)})},{});case s.StringASCII:return t.data;case s.StringUTF8:return t.data}}function q(t,e){return t.args.map(n=>{let r=F(n.name,e),o=e[r];return d(o,n.type)})}function Pt(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 q(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 q(t,n)}catch{}return Pt(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 G(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function St(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 Rt={get:St},Ft=t=>new Proxy(t,Rt);import{v2Endpoint as Ut,generateUrl as Dt}from"micro-stacks/api";import{cvToHex as Mt,hexToCV as jt}from"micro-stacks/clarity";import{broadcastRawTransaction as Jt}from"micro-stacks/transactions";function It(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function Z(t){return It(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 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 Ue=["devnet","simnet","testnet","mainnet"];function De(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,X(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,X(r,o)]}))}function _t(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 X(t,e){let n=f({},t);return g(f(f({},_t(t.functions,e)),n),{identifier:e})}function je(t,e){let n={};return Z(e.plan.batches).forEach(o=>{let i=Q(o),[a,c]=i.split("."),l=C(c),T=t[l],u=t[l];if(typeof u>"u")throw new Error(`Clarigen error: mismatch for contract '${l}'`);n[l]=u,u.contractFile=Y(o),u.identifier=i,Object.keys(t[l].functions).forEach(p=>{let E=p,st=(...$)=>{let U=T.functions[E];return{functionArgs:b(U,$),contractAddress:a,contractName:u.contractName,function:U,nativeArgs:$}};u[E]=st})}),n}function tt(t,e){let n=d(e,t.key);return{key:e,keyCV:n,map:t}}import{parseReadOnlyResponse as Bt}from"micro-stacks/api";import{cvToHex as Vt}from"micro-stacks/clarity";import{fetchPrivate as $t}from"micro-stacks/common";async function et(t){let{contractName:e,contractAddress:n,functionName:r,functionArgs:o,senderAddress:i=n,tip:a,url:c}=t,l=`${c}/v2/contracts/call-read/${n}/${e}/${encodeURIComponent(r)}`;a&&(l+=`?tip=${a}`);let T=JSON.stringify({sender:i,arguments:o.map(p=>typeof p=="string"?p:Vt(p))}),u=await $t(l,{method:"POST",body:T,headers:{"Content-Type":"application/json"}});if(!u.ok){let p="";try{p=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: "${p}"`)}return Bt(await u.json())}function rt(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function _(t,e){let n=rt(e),r=await et({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,url:B(e)});return e.json?m(r):y(r,!0)}async function Kt(t,e){let n=await _(t,e);return H(n)}async function Lt(t,e){let n=await _(t,e);return G(n)}function B(t){return"network"in t?t.network.getCoreApiUrl():t.url}async function sn(t,e,n,r){let o=tt(e,n),i=JSON.stringify(Mt(o.keyCV)),[a,c]=t.split("."),l=Dt(`${Ut(B(r))}/map_entry/${a}/${c}/${o.map.name}`,{proof:0,tip:rt(r)}),u=await(await fetch(l,{method:"POST",body:i,headers:{"Content-Type":"application/json",Accept:"application/json"}})).json(),p=jt(u.data);return y(p,!0)}async function an(t,e){let n=`${B(e)}/v2/transactions`,r=await Jt(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 nt=class{constructor(e){typeof e=="string"?this.url=e:this.url=e.getCoreApiUrl()}roOptions(e){return f({url:this.url},e)}ro(e,n){return _(e,this.roOptions(n||{}))}roOk(e,n){return Kt(e,this.roOptions(n||{}))}roErr(e,n){return Lt(e,this.roOptions(n||{}))}};import{createAssetInfo as ot,makeContractFungiblePostCondition as qt,makeContractNonFungiblePostCondition as zt,makeStandardFungiblePostCondition as Wt,makeStandardNonFungiblePostCondition as Ht}from"micro-stacks/transactions";function it(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 ot(n,r,o.name);for(let o of t.fungible_tokens)if(o.name===e)return ot(n,r,o.name);throw new Error(`Invalid asset: "${e}" is not an asset in contract.`)}function mn(t,e,n,r){let[o,i]=e.split("."),[a]=t.non_fungible_tokens,c=it(t,a.name),l=a.type,T=d(r,l);return typeof i>"u"?Ht(o,n,c,T):zt(o,i,n,c,T)}function gn(t,e,n,r){let[o,i]=e.split("."),[a]=t.fungible_tokens,c=it(t,a.name);return typeof i>"u"?Wt(o,n,r,c):qt(o,i,n,r,c)}import{hexToBytes as Gt}from"micro-stacks/common";function V(t,e=""){return t.slice(e.length+2,-1)}function A(t,e){if(S(e)){let n=Qt(t),r={},o=Object.entries(n).reduce((i,[a,c])=>{let l=a.trim();return g(f({},i),{[l]:c.trim()})},{});return e.tuple.forEach(({name:i,type:a})=>{let c=C(i);r[c]=A(o[i],a)}),r}else{if(R(e))return Yt(t).map(r=>A(r,e.list.type));if(P(e))return t==="none"?null:A(V(t,"some"),e.optional);if(w(e))return t.slice(1,-1);if(N(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(O(e))return Gt(t.slice(2));if(W(e)){if(t.startsWith("(ok")){let r=V(t,"ok");return h(A(r,e.response.ok))}let n=V(t,"err");return v(A(n,e.response.error))}}throw new Error(`Unable to parse cv string to value: ${t} ${JSON.stringify(e,null,2)}`)}var Zt=new Array(255);for(let t=0;t<=255;++t)Zt[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 Qt(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),T=a.substring(c+2,a.length);i[l]=T;break}return i}export{nt as ClarigenClient,Ct as CoreNodeEventType,Ue as DEPLOYMENT_NETWORKS,dt as MAINNET_BURN_ADDRESS,yt as TESTNET_BURN_ADDRESS,ie as bootContractIdentifier,an as broadcast,X as contractFactory,Me as contractsFactory,it as createAssetInfo,m as cvToJSON,x as cvToString,y as cvToValue,je as deploymentFactory,v as err,G as expectErr,H as expectOk,sn as fetchMapGet,ae as filterEvents,F as findJsTupleKey,_t as functionsFactory,B as getApiUrl,re as getContractIdentifier,Tt as getContractNameFromPath,oe as getContractPrincipalCV,Ae as hexToCvValue,O as isClarityAbiBuffer,R as isClarityAbiList,P as isClarityAbiOptional,he as isClarityAbiPrimitive,W as isClarityAbiResponse,w as isClarityAbiStringAscii,N as isClarityAbiStringUtf8,S as isClarityAbiTuple,be as isResponse,le as makeContracts,gn as makeFungiblePostCondition,mn as makeNonFungiblePostCondition,tt as mapFactory,h as ok,d as parseToCV,k as principalToString,De as projectFactory,Ft as pureProxy,A as rawClarityToValue,_ as ro,Lt as roErr,Kt as roOk,C as toCamelCase,j as toKebabCase,Pt as transformArgsArray,b as transformArgsToCV,q as transformObjectArgs};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.0.16-alpha.
|
|
2
|
+
"version": "1.0.16-alpha.6",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"types": "./dist/index.d.ts",
|
|
5
5
|
"main": "./dist/index.js",
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"name": "@clarigen/core",
|
|
16
16
|
"author": "Hank Stoever",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"micro-stacks": "^1.1
|
|
18
|
+
"micro-stacks": "^1.2.1"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"demo-project": "1.0.16-alpha.
|
|
21
|
+
"demo-project": "1.0.16-alpha.6"
|
|
22
22
|
},
|
|
23
23
|
"publishConfig": {
|
|
24
24
|
"access": "public"
|