@clarigen/core 1.0.2 → 1.0.4
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 +11 -2
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClarityAbi as ClarityAbi$1, ClarityValue, ClarityAbiType as ClarityAbiType$1, ClarityAbiFunction as ClarityAbiFunction$1, ClarityAbiTypeTuple as ClarityAbiTypeTuple$1, ContractPrincipalCV } from 'micro-stacks/clarity';
|
|
1
|
+
import { ClarityAbi as ClarityAbi$1, PrincipalCV, ClarityValue, ClarityAbiType as ClarityAbiType$1, ClarityAbiFunction as ClarityAbiFunction$1, ClarityAbiTypeTuple as ClarityAbiTypeTuple$1, ContractPrincipalCV } from 'micro-stacks/clarity';
|
|
2
2
|
import { StacksNetwork } from 'micro-stacks/network';
|
|
3
3
|
import { StacksTransaction } from 'micro-stacks/transactions';
|
|
4
4
|
|
|
@@ -128,6 +128,7 @@ interface ClarityAbi extends Omit<ClarityAbi$1, 'maps'> {
|
|
|
128
128
|
maps: ClarityAbiMap[];
|
|
129
129
|
clarity_version?: string;
|
|
130
130
|
}
|
|
131
|
+
declare function principalToString(principal: PrincipalCV): string;
|
|
131
132
|
/**
|
|
132
133
|
* @param val - ClarityValue
|
|
133
134
|
* @param returnResponse - if true, this will return a "response" object.
|
|
@@ -144,6 +145,14 @@ declare type TupleInput = Record<string, any>;
|
|
|
144
145
|
declare type CVInput = string | boolean | TupleInput | number | bigint;
|
|
145
146
|
declare function parseToCV(input: CVInput, type: ClarityAbiType$1): ClarityValue;
|
|
146
147
|
declare function cvToString(val: ClarityValue, encoding?: 'tryAscii' | 'hex'): string;
|
|
148
|
+
/**
|
|
149
|
+
* Convert a Clarity value to valid JSON. This does this same thing as
|
|
150
|
+
* `cvToValue`, except that integers are returned as strings, and buffers
|
|
151
|
+
* are returned as hex-encoded strings.
|
|
152
|
+
*
|
|
153
|
+
* @param val - ClarityValue
|
|
154
|
+
*/
|
|
155
|
+
declare function cvToJSON<T = any>(val: ClarityValue): T;
|
|
147
156
|
declare function transformObjectArgs(func: ClarityAbiFunction$1, args: Record<string, any>): ClarityValue[];
|
|
148
157
|
declare function transformArgsArray(func: ClarityAbiFunction$1, args: any[]): ClarityValue[];
|
|
149
158
|
declare function transformArgsToCV(func: ClarityAbiFunction$1, args: any[] | [Record<string, any>]): ClarityValue[];
|
|
@@ -550,4 +559,4 @@ declare function functionsFactory<T extends ContractFunctions>(functions: T, ide
|
|
|
550
559
|
declare function contractFactory<T extends TypedAbi, Id extends string>(abi: T, identifier: Id): FullContractWithIdentifier<T, Id>;
|
|
551
560
|
declare function deploymentFactory<T extends AllContracts>(contracts: T, deployer: DeploymentPlan): ContractFactory<T>;
|
|
552
561
|
|
|
553
|
-
export { AbiPrimitiveTo, AbiTupleTo, AbiTypeTo, AllContracts, ApiOptions, ArgsRecord, ArgsTuple, ArgsType, ClarityAbi, ClarityAbiArg, ClarityAbiFunction, ClarityAbiMap, ClarityAbiType, ClarityAbiTypeBool, ClarityAbiTypeBuffer, ClarityAbiTypeFungibleToken, ClarityAbiTypeInt128, ClarityAbiTypeList, ClarityAbiTypeNonFungibleToken, ClarityAbiTypeNone, ClarityAbiTypeOptional, ClarityAbiTypePrimitive, ClarityAbiTypePrincipal, ClarityAbiTypeResponse, ClarityAbiTypeStringAscii, ClarityAbiTypeStringUtf8, ClarityAbiTypeTraitReference, ClarityAbiTypeTuple, ClarityAbiTypeUInt128, ClarityAbiVariable, Contract, ContractBuilder, ContractCall, ContractCallFunction, ContractCallTyped, ContractCalls, ContractDeployments, ContractFactory, ContractFn, ContractFunctions, ContractInstance, ContractInstances, ContractReturn, ContractReturnErr, ContractReturnOk, Contracts, ContractsToContractCalls, CoreNodeEvent, CoreNodeEventBase, CoreNodeEventType, DEPLOYMENT_NETWORKS, DeploymentNetwork, DeploymentPlan, DeploymentsForContracts, ErrType, ExtractArgs, ExtractArgsRecord, FnToContractCall, FtBurnEvent, FtMintEvent, FtTransferEvent, FullContract, FullContractWithIdentifier, FunctionsToContractCalls, Kebab, KebabObject, MAINNET_BURN_ADDRESS, NftBurnEvent, NftMintEvent, NftTransferEvent, NonStandardClarityValue, OkType, Project, ProjectFactory, Response, ResponseErr, ResponseOk, ResultAssets, SimnetDeploymentPlan, SmartContractEvent, StxBurnEvent, StxLockEvent, StxMintEvent, StxTransferEvent, TESTNET_BURN_ADDRESS, TypedAbi, TypedAbiArg, TypedAbiFunction, TypedAbiMap, TypedAbiVariable, UnionToIntersection, bootContractIdentifier, broadcast, contractFactory, contractsFactory, cvToString, cvToValue, deploymentFactory, err, expectErr, expectOk, fetchMapGet, filterEvents, findJsTupleKey, functionsFactory, getContractIdentifier, getContractNameFromPath, getContractPrincipalCV, hexToCvValue, makeContracts, ok, parseToCV, projectFactory, pureProxy, ro, roErr, roOk, toCamelCase, toKebabCase, transformArgsArray, transformArgsToCV, transformObjectArgs };
|
|
562
|
+
export { AbiPrimitiveTo, AbiTupleTo, AbiTypeTo, AllContracts, ApiOptions, ArgsRecord, ArgsTuple, ArgsType, ClarityAbi, ClarityAbiArg, ClarityAbiFunction, ClarityAbiMap, ClarityAbiType, ClarityAbiTypeBool, ClarityAbiTypeBuffer, ClarityAbiTypeFungibleToken, ClarityAbiTypeInt128, ClarityAbiTypeList, ClarityAbiTypeNonFungibleToken, ClarityAbiTypeNone, ClarityAbiTypeOptional, ClarityAbiTypePrimitive, ClarityAbiTypePrincipal, ClarityAbiTypeResponse, ClarityAbiTypeStringAscii, ClarityAbiTypeStringUtf8, ClarityAbiTypeTraitReference, ClarityAbiTypeTuple, ClarityAbiTypeUInt128, ClarityAbiVariable, Contract, ContractBuilder, ContractCall, ContractCallFunction, ContractCallTyped, ContractCalls, ContractDeployments, ContractFactory, ContractFn, ContractFunctions, ContractInstance, ContractInstances, ContractReturn, ContractReturnErr, ContractReturnOk, Contracts, ContractsToContractCalls, CoreNodeEvent, CoreNodeEventBase, CoreNodeEventType, DEPLOYMENT_NETWORKS, DeploymentNetwork, DeploymentPlan, DeploymentsForContracts, ErrType, ExtractArgs, ExtractArgsRecord, FnToContractCall, FtBurnEvent, FtMintEvent, FtTransferEvent, FullContract, FullContractWithIdentifier, FunctionsToContractCalls, Kebab, KebabObject, MAINNET_BURN_ADDRESS, NftBurnEvent, NftMintEvent, NftTransferEvent, NonStandardClarityValue, OkType, Project, ProjectFactory, Response, ResponseErr, ResponseOk, ResultAssets, SimnetDeploymentPlan, SmartContractEvent, StxBurnEvent, StxLockEvent, StxMintEvent, StxTransferEvent, TESTNET_BURN_ADDRESS, TypedAbi, TypedAbiArg, TypedAbiFunction, TypedAbiMap, TypedAbiVariable, UnionToIntersection, bootContractIdentifier, broadcast, contractFactory, contractsFactory, cvToJSON, cvToString, cvToValue, deploymentFactory, err, expectErr, expectOk, fetchMapGet, filterEvents, findJsTupleKey, functionsFactory, getContractIdentifier, getContractNameFromPath, getContractPrincipalCV, hexToCvValue, makeContracts, ok, parseToCV, principalToString, projectFactory, pureProxy, ro, roErr, roOk, toCamelCase, toKebabCase, transformArgsArray, transformArgsToCV, transformObjectArgs };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var j=Object.defineProperty,K=Object.defineProperties;var L=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable;var N=(t,e,n)=>e in t?j(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,C=(t,e)=>{for(var n in e||(e={}))q.call(e,n)&&N(t,n,e[n]);if(h)for(var n of h(e))H.call(e,n)&&N(t,n,e[n]);return t},x=(t,e)=>K(t,L(e));var _clarity = require('micro-stacks/clarity');var J="ST000000000000000000002AMW42H",W= exports.MAINNET_BURN_ADDRESS ="SP000000000000000000002Q6VF78",f= exports.toCamelCase =(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...o]=n.replace("!","").replace("?","").split("-"),c=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return o.forEach(p=>{c+=p[0].toUpperCase()+p.slice(1)}),c};function k(t){let e=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);return e?e.join("-").toLowerCase():t}var Z=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},Bt= exports.getContractIdentifier =t=>`${t.address}.${t.name}`,It= exports.getContractPrincipalCV =t=>{let e=Z(t.contractFile);return _clarity.contractPrincipalCV.call(void 0, t.address,e)};function Vt(t,e){return`${e?W:J}.${t}`}var z=(s=>(s.ContractEvent="contract_event",s.StxTransferEvent="stx_transfer_event",s.StxMintEvent="stx_mint_event",s.StxBurnEvent="stx_burn_event",s.StxLockEvent="stx_lock_event",s.NftTransferEvent="nft_transfer_event",s.NftMintEvent="nft_mint_event",s.NftBurnEvent="nft_burn_event",s.FtTransferEvent="ft_transfer_event",s.FtMintEvent="ft_mint_event",s.FtBurnEvent="ft_burn_event",s))(z||{});function $t(t,e){return t.filter(n=>n.type===e)}function Ut(t,e={}){let n={};for(let r in t){let o=t[r],i=e.deployerAddress||o.address,c=`${i}.${o.name}`,p=o.contract(i,o.name);n[r]={identifier:c,contract:p}}return n}var _transactions = require('micro-stacks/transactions');var _common = require('micro-stacks/common');function Tt(t){return{isOk:!0,value:t}}function mt(t){return{isOk:!1,value:t}}function F(t){if(t.type===_clarity.ClarityType.PrincipalStandard)return _clarity.addressToString.call(void 0, t.address);if(t.type===_clarity.ClarityType.PrincipalContract)return`${_clarity.addressToString.call(void 0, t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function l(t,e=!1){switch(t.type){case _clarity.ClarityType.BoolTrue:return!0;case _clarity.ClarityType.BoolFalse:return!1;case _clarity.ClarityType.Int:case _clarity.ClarityType.UInt:return t.value;case _clarity.ClarityType.Buffer:return t.buffer;case _clarity.ClarityType.OptionalNone:return null;case _clarity.ClarityType.OptionalSome:return l(t.value);case _clarity.ClarityType.ResponseErr:return e?mt(l(t.value)):l(t.value);case _clarity.ClarityType.ResponseOk:return e?Tt(l(t.value)):l(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return F(t);case _clarity.ClarityType.List:return t.list.map(r=>l(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let c=f(o);return x(C({},r),{[c]:l(i)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function Xt(t,e=!1){return l(_clarity.hexToCV.call(void 0, t),e)}function w(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}function y(t,e){if(_transactions.isClarityAbiTuple.call(void 0, e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let o=g(r.name,t),i=t[o];n[r.name]=y(i,r.type)}),_clarity.tupleCV.call(void 0, n)}else if(_transactions.isClarityAbiList.call(void 0, e)){let r=t.map(o=>y(o,e.list.type));return _clarity.listCV.call(void 0, r)}else{if(_transactions.isClarityAbiOptional.call(void 0, e))return t?_clarity.someCV.call(void 0, y(t,e.optional)):_clarity.noneCV.call(void 0, );if(_transactions.isClarityAbiStringAscii.call(void 0, e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _clarity.stringAsciiCV.call(void 0, t)}else if(_transactions.isClarityAbiStringUtf8.call(void 0, e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _clarity.stringUtf8CV.call(void 0, t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return _transactions.parseToCV.call(void 0, n,e)}else if(e==="uint128"){let n=w(t);return _clarity.uintCV.call(void 0, n.toString())}else if(e==="int128"){let n=w(t);return _clarity.intCV.call(void 0, n.toString())}else if(e==="trait_reference"){if(typeof t!="string")throw new Error("Invalid input for trait_reference");let[n,r]=t.split(".");return _clarity.contractPrincipalCV.call(void 0, n,r)}else if(_transactions.isClarityAbiBuffer.call(void 0, e))return _clarity.bufferCV.call(void 0, t)}return _transactions.parseToCV.call(void 0, t,e)}function T(t,e="hex"){switch(t.type){case _clarity.ClarityType.BoolTrue:return"true";case _clarity.ClarityType.BoolFalse:return"false";case _clarity.ClarityType.Int:return t.value.toString();case _clarity.ClarityType.UInt:return`u${t.value.toString()}`;case _clarity.ClarityType.Buffer:if(e==="tryAscii"){let n=_common.bytesToAscii.call(void 0, t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${_common.bytesToHex.call(void 0, t.buffer)}`;case _clarity.ClarityType.OptionalNone:return"none";case _clarity.ClarityType.OptionalSome:return`(some ${T(t.value,e)})`;case _clarity.ClarityType.ResponseErr:return`(err ${T(t.value,e)})`;case _clarity.ClarityType.ResponseOk:return`(ok ${T(t.value,e)})`;case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return`'${F(t)}`;case _clarity.ClarityType.List:return`(list ${t.list.map(n=>T(n,e)).join(" ")})`;case _clarity.ClarityType.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${T(t.data[n],e)})`).join(" ")})`;case _clarity.ClarityType.StringASCII:return`"${t.data}"`;case _clarity.ClarityType.StringUTF8:return`u"${t.data}"`}}function _(t,e){return t.args.map(n=>{let r=g(n.name,e),o=e[r];return y(o,n.type)})}function xt(t,e){return e.map((n,r)=>y(n,t.args[r].type))}function m(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return _(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(o=>{try{g(o.name,n)}catch (e2){r=!1}}),r)return _(t,n)}catch (e3){}return xt(t,e)}function g(t,e){let n=Object.keys(e).find(r=>{let o=t===r,i=t===k(r);return o||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function O(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function R(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function gt(t,e){let n=t.abi.functions.find(o=>f(o.name)===e);if(n)return function(...o){return{functionArgs:m(n,o),contractAddress:t.contractAddress,contractName:t.contractName,function:n,functionName:n.name,nativeArgs:o}};let r=t.abi.maps.find(o=>f(o.name)===e);if(r)return o=>{let i=y(o,r.key);return{contractAddress:t.contractAddress,contractName:t.contractName,map:r,nativeKey:o,key:i}};throw new Error(`Invalid function call: no function exists for ${String(e)}`)}var vt={get:gt},bt= exports.pureProxy =t=>new Proxy(t,vt);var _api = require('micro-stacks/api');function St(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function B(t,e){let n=St(e),r=await _api.callReadOnlyFunction.call(void 0, {contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,network:e.network});return l(r,!0)}async function pe(t,e){let n=await B(t,e);return O(n)}async function ue(t,e){let n=await B(t,e);return R(n)}async function fe(t,e){let n=_clarity.cvToHex.call(void 0, t.key),r=await _api.fetchContractDataMapEntry.call(void 0, {contract_address:t.contractAddress,contract_name:t.contractName,map_name:t.map.name,lookup_key:n,tip:"latest",url:e.network.getCoreApiUrl(),proof:0}),o=_clarity.hexToCV.call(void 0, r.data);return l(o,!0)}async function ye(t,e){let n=await _transactions.broadcastTransaction.call(void 0, t,e.network);if("error"in n)throw new Error(`Error broadcasting tx: ${n.error} - ${n.reason} - ${JSON.stringify(n.reason_data)}`);return{txId:n.txid,stacksTransaction:t}}function Pt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function I(t){return Pt(t).filter(v)}function V(t){if(!v(t))throw new Error("Unable to get path for tx type.");if("requirement-publish"in t)return t["requirement-publish"].path;if("emulated-contract-publish"in t)return t["emulated-contract-publish"].path;if("contract-publish"in t)return t["contract-publish"].path;throw new Error("Couldnt get path for deployment tx.")}function D(t){if(!v(t))throw new Error("Unable to get ID for tx type.");if("requirement-publish"in t){let e=t["requirement-publish"],[n,r]=e["contract-id"].split(".");return`${e["remap-sender"]}.${r}`}else if("emulated-contract-publish"in t){let e=t["emulated-contract-publish"];return`${e["emulated-sender"]}.${e["contract-name"]}`}else if("contract-publish"in t){let e=t["contract-publish"];return`${e["expected-sender"]}.${e["contract-name"]}`}throw new Error("Unable to find ID for contract.")}function v(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var he=["devnet","simnet","testnet","mainnet"];function Ne(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,$(o,i)]),!1}),Object.fromEntries(n)}function ke(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,$(r,o)]}))}function wt(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=Object.assign((...i)=>{let c=m(r,i),[p,u]=e.split(".");return{functionArgs:c,contractAddress:p,contractName:u,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,o]}))}function $(t,e){let n=C({},t);return x(C(C({},wt(t.functions,e)),n),{identifier:e})}function Se(t,e){let n={};return I(e.plan.batches).forEach(o=>{let i=D(o),[c,p]=i.split("."),u=f(p),M=t[u],d=t[u];if(typeof d>"u")throw new Error(`Clarigen error: mismatch for contract '${u}'`);n[u]=d,d.contractFile=V(o),d.identifier=i,Object.keys(t[u].functions).forEach(s=>{let b=s,U=(...E)=>{let A=M.functions[b];return{functionArgs:m(A,E),contractAddress:c,contractName:d.contractName,function:A,nativeArgs:E}};d[b]=U})}),n}exports.CoreNodeEventType = z; exports.DEPLOYMENT_NETWORKS = he; exports.MAINNET_BURN_ADDRESS = W; exports.TESTNET_BURN_ADDRESS = J; exports.bootContractIdentifier = Vt; exports.broadcast = ye; exports.contractFactory = $; exports.contractsFactory = ke; exports.cvToString = T; exports.cvToValue = l; exports.deploymentFactory = Se; exports.err = mt; exports.expectErr = R; exports.expectOk = O; exports.fetchMapGet = fe; exports.filterEvents = $t; exports.findJsTupleKey = g; exports.functionsFactory = wt; exports.getContractIdentifier = Bt; exports.getContractNameFromPath = Z; exports.getContractPrincipalCV = It; exports.hexToCvValue = Xt; exports.makeContracts = Ut; exports.ok = Tt; exports.parseToCV = y; exports.projectFactory = Ne; exports.pureProxy = bt; exports.ro = B; exports.roErr = ue; exports.roOk = pe; exports.toCamelCase = f; exports.toKebabCase = k; exports.transformArgsArray = xt; exports.transformArgsToCV = m; exports.transformObjectArgs = _;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var L=Object.defineProperty,q=Object.defineProperties;var H=Object.getOwnPropertyDescriptors;var k=Object.getOwnPropertySymbols;var G=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable;var S=(t,e,n)=>e in t?L(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,d=(t,e)=>{for(var n in e||(e={}))G.call(e,n)&&S(t,n,e[n]);if(k)for(var n of k(e))J.call(e,n)&&S(t,n,e[n]);return t},T=(t,e)=>q(t,H(e));var _clarity = require('micro-stacks/clarity');var Z="ST000000000000000000002AMW42H",z= exports.MAINNET_BURN_ADDRESS ="SP000000000000000000002Q6VF78",f= exports.toCamelCase =(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...a]=n.replace("!","").replace("?","").split("-"),c=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return a.forEach(p=>{c+=p[0].toUpperCase()+p.slice(1)}),c};function w(t){let e=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);return e?e.join("-").toLowerCase():t}var Y=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},It= exports.getContractIdentifier =t=>`${t.address}.${t.name}`,Vt= exports.getContractPrincipalCV =t=>{let e=Y(t.contractFile);return _clarity.contractPrincipalCV.call(void 0, t.address,e)};function Dt(t,e){return`${e?z:Z}.${t}`}var Q=(s=>(s.ContractEvent="contract_event",s.StxTransferEvent="stx_transfer_event",s.StxMintEvent="stx_mint_event",s.StxBurnEvent="stx_burn_event",s.StxLockEvent="stx_lock_event",s.NftTransferEvent="nft_transfer_event",s.NftMintEvent="nft_mint_event",s.NftBurnEvent="nft_burn_event",s.FtTransferEvent="ft_transfer_event",s.FtMintEvent="ft_mint_event",s.FtBurnEvent="ft_burn_event",s))(Q||{});function Mt(t,e){return t.filter(n=>n.type===e)}function jt(t,e={}){let n={};for(let r in t){let a=t[r],i=e.deployerAddress||a.address,c=`${i}.${a.name}`,p=a.contract(i,a.name);n[r]={identifier:c,contract:p}}return n}var _transactions = require('micro-stacks/transactions');var _common = require('micro-stacks/common');function mt(t){return{isOk:!0,value:t}}function xt(t){return{isOk:!1,value:t}}function b(t){if(t.type===_clarity.ClarityType.PrincipalStandard)return _clarity.addressToString.call(void 0, t.address);if(t.type===_clarity.ClarityType.PrincipalContract)return`${_clarity.addressToString.call(void 0, t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function l(t,e=!1){switch(t.type){case _clarity.ClarityType.BoolTrue:return!0;case _clarity.ClarityType.BoolFalse:return!1;case _clarity.ClarityType.Int:case _clarity.ClarityType.UInt:return t.value;case _clarity.ClarityType.Buffer:return t.buffer;case _clarity.ClarityType.OptionalNone:return null;case _clarity.ClarityType.OptionalSome:return l(t.value);case _clarity.ClarityType.ResponseErr:return e?xt(l(t.value)):l(t.value);case _clarity.ClarityType.ResponseOk:return e?mt(l(t.value)):l(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return b(t);case _clarity.ClarityType.List:return t.list.map(r=>l(r));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((r,[a,i])=>{let c=f(a);return T(d({},r),{[c]:l(i)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function Xt(t,e=!1){return l(_clarity.hexToCV.call(void 0, t),e)}function _(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}function y(t,e){if(_transactions.isClarityAbiTuple.call(void 0, e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let a=E(r.name,t),i=t[a];n[r.name]=y(i,r.type)}),_clarity.tupleCV.call(void 0, n)}else if(_transactions.isClarityAbiList.call(void 0, e)){let r=t.map(a=>y(a,e.list.type));return _clarity.listCV.call(void 0, r)}else{if(_transactions.isClarityAbiOptional.call(void 0, e))return t?_clarity.someCV.call(void 0, y(t,e.optional)):_clarity.noneCV.call(void 0, );if(_transactions.isClarityAbiStringAscii.call(void 0, e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _clarity.stringAsciiCV.call(void 0, t)}else if(_transactions.isClarityAbiStringUtf8.call(void 0, e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return _clarity.stringUtf8CV.call(void 0, t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return _transactions.parseToCV.call(void 0, n,e)}else if(e==="uint128"){let n=_(t);return _clarity.uintCV.call(void 0, n.toString())}else if(e==="int128"){let n=_(t);return _clarity.intCV.call(void 0, n.toString())}else if(e==="trait_reference"){if(typeof t!="string")throw new Error("Invalid input for trait_reference");let[n,r]=t.split(".");return _clarity.contractPrincipalCV.call(void 0, n,r)}else if(_transactions.isClarityAbiBuffer.call(void 0, e))return _clarity.bufferCV.call(void 0, t)}return _transactions.parseToCV.call(void 0, t,e)}function m(t,e="hex"){switch(t.type){case _clarity.ClarityType.BoolTrue:return"true";case _clarity.ClarityType.BoolFalse:return"false";case _clarity.ClarityType.Int:return t.value.toString();case _clarity.ClarityType.UInt:return`u${t.value.toString()}`;case _clarity.ClarityType.Buffer:if(e==="tryAscii"){let n=_common.bytesToAscii.call(void 0, t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${_common.bytesToHex.call(void 0, t.buffer)}`;case _clarity.ClarityType.OptionalNone:return"none";case _clarity.ClarityType.OptionalSome:return`(some ${m(t.value,e)})`;case _clarity.ClarityType.ResponseErr:return`(err ${m(t.value,e)})`;case _clarity.ClarityType.ResponseOk:return`(ok ${m(t.value,e)})`;case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return`'${b(t)}`;case _clarity.ClarityType.List:return`(list ${t.list.map(n=>m(n,e)).join(" ")})`;case _clarity.ClarityType.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${m(t.data[n],e)})`).join(" ")})`;case _clarity.ClarityType.StringASCII:return`"${t.data}"`;case _clarity.ClarityType.StringUTF8:return`u"${t.data}"`}}function x(t){switch(t.type){case _clarity.ClarityType.BoolTrue:return!0;case _clarity.ClarityType.BoolFalse:return!1;case _clarity.ClarityType.Int:case _clarity.ClarityType.UInt:return`${t.value}`;case _clarity.ClarityType.Buffer:return _common.bytesToHex.call(void 0, t.buffer);case _clarity.ClarityType.OptionalNone:return null;case _clarity.ClarityType.OptionalSome:return x(t.value);case _clarity.ClarityType.ResponseErr:return x(t.value);case _clarity.ClarityType.ResponseOk:return x(t.value);case _clarity.ClarityType.PrincipalStandard:case _clarity.ClarityType.PrincipalContract:return b(t);case _clarity.ClarityType.List:return t.list.map(n=>x(n));case _clarity.ClarityType.Tuple:return Object.entries(t.data).reduce((n,[r,a])=>{let i=f(r);return T(d({},n),{[i]:x(a)})},{});case _clarity.ClarityType.StringASCII:return t.data;case _clarity.ClarityType.StringUTF8:return t.data}}function O(t,e){return t.args.map(n=>{let r=E(n.name,e),a=e[r];return y(a,n.type)})}function gt(t,e){return e.map((n,r)=>y(n,t.args[r].type))}function g(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return O(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(a=>{try{E(a.name,n)}catch (e2){r=!1}}),r)return O(t,n)}catch (e3){}return gt(t,e)}function E(t,e){let n=Object.keys(e).find(r=>{let a=t===r,i=t===w(r);return a||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function B(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function I(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function bt(t,e){let n=t.abi.functions.find(a=>f(a.name)===e);if(n)return function(...a){return{functionArgs:g(n,a),contractAddress:t.contractAddress,contractName:t.contractName,function:n,functionName:n.name,nativeArgs:a}};let r=t.abi.maps.find(a=>f(a.name)===e);if(r)return a=>{let i=y(a,r.key);return{contractAddress:t.contractAddress,contractName:t.contractName,map:r,nativeKey:a,key:i}};throw new Error(`Invalid function call: no function exists for ${String(e)}`)}var Et={get:bt},vt= exports.pureProxy =t=>new Proxy(t,Et);var _api = require('micro-stacks/api');function wt(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function V(t,e){let n=wt(e),r=await _api.callReadOnlyFunction.call(void 0, {contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,network:e.network});return l(r,!0)}async function pe(t,e){let n=await V(t,e);return B(n)}async function ue(t,e){let n=await V(t,e);return I(n)}async function fe(t,e){let n=_clarity.cvToHex.call(void 0, t.key),r=await _api.fetchContractDataMapEntry.call(void 0, {contract_address:t.contractAddress,contract_name:t.contractName,map_name:t.map.name,lookup_key:n,tip:"latest",url:e.network.getCoreApiUrl(),proof:0}),a=_clarity.hexToCV.call(void 0, r.data);return l(a,!0)}async function de(t,e){let n=await _transactions.broadcastTransaction.call(void 0, t,e.network);if("error"in n)throw new Error(`Error broadcasting tx: ${n.error} - ${n.reason} - ${JSON.stringify(n.reason_data)}`);return{txId:n.txid,stacksTransaction:t}}function Pt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function D(t){return Pt(t).filter(v)}function $(t){if(!v(t))throw new Error("Unable to get path for tx type.");if("requirement-publish"in t)return t["requirement-publish"].path;if("emulated-contract-publish"in t)return t["emulated-contract-publish"].path;if("contract-publish"in t)return t["contract-publish"].path;throw new Error("Couldnt get path for deployment tx.")}function M(t){if(!v(t))throw new Error("Unable to get ID for tx type.");if("requirement-publish"in t){let e=t["requirement-publish"],[n,r]=e["contract-id"].split(".");return`${e["remap-sender"]}.${r}`}else if("emulated-contract-publish"in t){let e=t["emulated-contract-publish"];return`${e["emulated-sender"]}.${e["contract-name"]}`}else if("contract-publish"in t){let e=t["contract-publish"];return`${e["expected-sender"]}.${e["contract-name"]}`}throw new Error("Unable to find ID for contract.")}function v(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var he=["devnet","simnet","testnet","mainnet"];function Ne(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,a])=>{let i=t.deployments[r][e];return i&&n.push([r,U(a,i)]),!1}),Object.fromEntries(n)}function ke(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=`${e}.${r.contractName}`;return[n,U(r,a)]}))}function Ft(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=Object.assign((...i)=>{let c=g(r,i),[p,u]=e.split(".");return{functionArgs:c,contractAddress:p,contractName:u,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,a]}))}function U(t,e){let n=d({},t);return T(d(d({},Ft(t.functions,e)),n),{identifier:e})}function Se(t,e){let n={};return D(e.plan.batches).forEach(a=>{let i=M(a),[c,p]=i.split("."),u=f(p),j=t[u],C=t[u];if(typeof C>"u")throw new Error(`Clarigen error: mismatch for contract '${u}'`);n[u]=C,C.contractFile=$(a),C.identifier=i,Object.keys(t[u].functions).forEach(s=>{let A=s,K=(...h)=>{let N=j.functions[A];return{functionArgs:g(N,h),contractAddress:c,contractName:C.contractName,function:N,nativeArgs:h}};C[A]=K})}),n}exports.CoreNodeEventType = Q; exports.DEPLOYMENT_NETWORKS = he; exports.MAINNET_BURN_ADDRESS = z; exports.TESTNET_BURN_ADDRESS = Z; exports.bootContractIdentifier = Dt; exports.broadcast = de; exports.contractFactory = U; exports.contractsFactory = ke; exports.cvToJSON = x; exports.cvToString = m; exports.cvToValue = l; exports.deploymentFactory = Se; exports.err = xt; exports.expectErr = I; exports.expectOk = B; exports.fetchMapGet = fe; exports.filterEvents = Mt; exports.findJsTupleKey = E; exports.functionsFactory = Ft; exports.getContractIdentifier = It; exports.getContractNameFromPath = Y; exports.getContractPrincipalCV = Vt; exports.hexToCvValue = Xt; exports.makeContracts = jt; exports.ok = mt; exports.parseToCV = y; exports.principalToString = b; exports.projectFactory = Ne; exports.pureProxy = vt; exports.ro = V; exports.roErr = ue; exports.roOk = pe; exports.toCamelCase = f; exports.toKebabCase = w; exports.transformArgsArray = gt; exports.transformArgsToCV = g; exports.transformObjectArgs = O;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var j=Object.defineProperty,K=Object.defineProperties;var L=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable;var N=(t,e,n)=>e in t?j(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,C=(t,e)=>{for(var n in e||(e={}))q.call(e,n)&&N(t,n,e[n]);if(h)for(var n of h(e))H.call(e,n)&&N(t,n,e[n]);return t},x=(t,e)=>K(t,L(e));import{contractPrincipalCV as G}from"micro-stacks/clarity";var J="ST000000000000000000002AMW42H",W="SP000000000000000000002Q6VF78",f=(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...o]=n.replace("!","").replace("?","").split("-"),c=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return o.forEach(p=>{c+=p[0].toUpperCase()+p.slice(1)}),c};function k(t){let e=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);return e?e.join("-").toLowerCase():t}var Z=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},Bt=t=>`${t.address}.${t.name}`,It=t=>{let e=Z(t.contractFile);return G(t.address,e)};function Vt(t,e){return`${e?W:J}.${t}`}var z=(s=>(s.ContractEvent="contract_event",s.StxTransferEvent="stx_transfer_event",s.StxMintEvent="stx_mint_event",s.StxBurnEvent="stx_burn_event",s.StxLockEvent="stx_lock_event",s.NftTransferEvent="nft_transfer_event",s.NftMintEvent="nft_mint_event",s.NftBurnEvent="nft_burn_event",s.FtTransferEvent="ft_transfer_event",s.FtMintEvent="ft_mint_event",s.FtBurnEvent="ft_burn_event",s))(z||{});function $t(t,e){return t.filter(n=>n.type===e)}function Ut(t,e={}){let n={};for(let r in t){let o=t[r],i=e.deployerAddress||o.address,c=`${i}.${o.name}`,p=o.contract(i,o.name);n[r]={identifier:c,contract:p}}return n}import{addressToString as S,ClarityType as a,uintCV as Y,contractPrincipalCV as Q,intCV as X,stringAsciiCV as tt,stringUtf8CV as et,noneCV as nt,someCV as rt,tupleCV as ot,listCV as at,hexToCV as it,bufferCV as st}from"micro-stacks/clarity";import{isClarityAbiList as ct,isClarityAbiOptional as lt,isClarityAbiStringAscii as pt,isClarityAbiStringUtf8 as ut,isClarityAbiTuple as ft,isClarityAbiBuffer as yt,parseToCV as P}from"micro-stacks/transactions";import{bytesToAscii as dt,bytesToHex as Ct}from"micro-stacks/common";function Tt(t){return{isOk:!0,value:t}}function mt(t){return{isOk:!1,value:t}}function F(t){if(t.type===a.PrincipalStandard)return S(t.address);if(t.type===a.PrincipalContract)return`${S(t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function l(t,e=!1){switch(t.type){case a.BoolTrue:return!0;case a.BoolFalse:return!1;case a.Int:case a.UInt:return t.value;case a.Buffer:return t.buffer;case a.OptionalNone:return null;case a.OptionalSome:return l(t.value);case a.ResponseErr:return e?mt(l(t.value)):l(t.value);case a.ResponseOk:return e?Tt(l(t.value)):l(t.value);case a.PrincipalStandard:case a.PrincipalContract:return F(t);case a.List:return t.list.map(r=>l(r));case a.Tuple:return Object.entries(t.data).reduce((r,[o,i])=>{let c=f(o);return x(C({},r),{[c]:l(i)})},{});case a.StringASCII:return t.data;case a.StringUTF8:return t.data}}function Xt(t,e=!1){return l(it(t),e)}function w(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}function y(t,e){if(ft(e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let o=g(r.name,t),i=t[o];n[r.name]=y(i,r.type)}),ot(n)}else if(ct(e)){let r=t.map(o=>y(o,e.list.type));return at(r)}else{if(lt(e))return t?rt(y(t,e.optional)):nt();if(pt(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return tt(t)}else if(ut(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return et(t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return P(n,e)}else if(e==="uint128"){let n=w(t);return Y(n.toString())}else if(e==="int128"){let n=w(t);return X(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 Q(n,r)}else if(yt(e))return st(t)}return P(t,e)}function T(t,e="hex"){switch(t.type){case a.BoolTrue:return"true";case a.BoolFalse:return"false";case a.Int:return t.value.toString();case a.UInt:return`u${t.value.toString()}`;case a.Buffer:if(e==="tryAscii"){let n=dt(t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${Ct(t.buffer)}`;case a.OptionalNone:return"none";case a.OptionalSome:return`(some ${T(t.value,e)})`;case a.ResponseErr:return`(err ${T(t.value,e)})`;case a.ResponseOk:return`(ok ${T(t.value,e)})`;case a.PrincipalStandard:case a.PrincipalContract:return`'${F(t)}`;case a.List:return`(list ${t.list.map(n=>T(n,e)).join(" ")})`;case a.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${T(t.data[n],e)})`).join(" ")})`;case a.StringASCII:return`"${t.data}"`;case a.StringUTF8:return`u"${t.data}"`}}function _(t,e){return t.args.map(n=>{let r=g(n.name,e),o=e[r];return y(o,n.type)})}function xt(t,e){return e.map((n,r)=>y(n,t.args[r].type))}function m(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return _(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(o=>{try{g(o.name,n)}catch{r=!1}}),r)return _(t,n)}catch{}return xt(t,e)}function g(t,e){let n=Object.keys(e).find(r=>{let o=t===r,i=t===k(r);return o||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function O(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function R(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function gt(t,e){let n=t.abi.functions.find(o=>f(o.name)===e);if(n)return function(...o){return{functionArgs:m(n,o),contractAddress:t.contractAddress,contractName:t.contractName,function:n,functionName:n.name,nativeArgs:o}};let r=t.abi.maps.find(o=>f(o.name)===e);if(r)return o=>{let i=y(o,r.key);return{contractAddress:t.contractAddress,contractName:t.contractName,map:r,nativeKey:o,key:i}};throw new Error(`Invalid function call: no function exists for ${String(e)}`)}var vt={get:gt},bt=t=>new Proxy(t,vt);import{fetchContractDataMapEntry as Et,callReadOnlyFunction as At}from"micro-stacks/api";import{cvToHex as ht,hexToCV as Nt}from"micro-stacks/clarity";import{broadcastTransaction as kt}from"micro-stacks/transactions";function St(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function B(t,e){let n=St(e),r=await At({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,network:e.network});return l(r,!0)}async function pe(t,e){let n=await B(t,e);return O(n)}async function ue(t,e){let n=await B(t,e);return R(n)}async function fe(t,e){let n=ht(t.key),r=await Et({contract_address:t.contractAddress,contract_name:t.contractName,map_name:t.map.name,lookup_key:n,tip:"latest",url:e.network.getCoreApiUrl(),proof:0}),o=Nt(r.data);return l(o,!0)}async function ye(t,e){let n=await kt(t,e.network);if("error"in n)throw new Error(`Error broadcasting tx: ${n.error} - ${n.reason} - ${JSON.stringify(n.reason_data)}`);return{txId:n.txid,stacksTransaction:t}}function Pt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function I(t){return Pt(t).filter(v)}function V(t){if(!v(t))throw new Error("Unable to get path for tx type.");if("requirement-publish"in t)return t["requirement-publish"].path;if("emulated-contract-publish"in t)return t["emulated-contract-publish"].path;if("contract-publish"in t)return t["contract-publish"].path;throw new Error("Couldnt get path for deployment tx.")}function D(t){if(!v(t))throw new Error("Unable to get ID for tx type.");if("requirement-publish"in t){let e=t["requirement-publish"],[n,r]=e["contract-id"].split(".");return`${e["remap-sender"]}.${r}`}else if("emulated-contract-publish"in t){let e=t["emulated-contract-publish"];return`${e["emulated-sender"]}.${e["contract-name"]}`}else if("contract-publish"in t){let e=t["contract-publish"];return`${e["expected-sender"]}.${e["contract-name"]}`}throw new Error("Unable to find ID for contract.")}function v(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var he=["devnet","simnet","testnet","mainnet"];function Ne(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,o])=>{let i=t.deployments[r][e];return i&&n.push([r,$(o,i)]),!1}),Object.fromEntries(n)}function ke(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=`${e}.${r.contractName}`;return[n,$(r,o)]}))}function wt(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let o=Object.assign((...i)=>{let c=m(r,i),[p,u]=e.split(".");return{functionArgs:c,contractAddress:p,contractName:u,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,o]}))}function $(t,e){let n=C({},t);return x(C(C({},wt(t.functions,e)),n),{identifier:e})}function Se(t,e){let n={};return I(e.plan.batches).forEach(o=>{let i=D(o),[c,p]=i.split("."),u=f(p),M=t[u],d=t[u];if(typeof d>"u")throw new Error(`Clarigen error: mismatch for contract '${u}'`);n[u]=d,d.contractFile=V(o),d.identifier=i,Object.keys(t[u].functions).forEach(s=>{let b=s,U=(...E)=>{let A=M.functions[b];return{functionArgs:m(A,E),contractAddress:c,contractName:d.contractName,function:A,nativeArgs:E}};d[b]=U})}),n}export{z as CoreNodeEventType,he as DEPLOYMENT_NETWORKS,W as MAINNET_BURN_ADDRESS,J as TESTNET_BURN_ADDRESS,Vt as bootContractIdentifier,ye as broadcast,$ as contractFactory,ke as contractsFactory,T as cvToString,l as cvToValue,Se as deploymentFactory,mt as err,R as expectErr,O as expectOk,fe as fetchMapGet,$t as filterEvents,g as findJsTupleKey,wt as functionsFactory,Bt as getContractIdentifier,Z as getContractNameFromPath,It as getContractPrincipalCV,Xt as hexToCvValue,Ut as makeContracts,Tt as ok,y as parseToCV,Ne as projectFactory,bt as pureProxy,B as ro,ue as roErr,pe as roOk,f as toCamelCase,k as toKebabCase,xt as transformArgsArray,m as transformArgsToCV,_ as transformObjectArgs};
|
|
1
|
+
var L=Object.defineProperty,q=Object.defineProperties;var H=Object.getOwnPropertyDescriptors;var k=Object.getOwnPropertySymbols;var G=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable;var S=(t,e,n)=>e in t?L(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,d=(t,e)=>{for(var n in e||(e={}))G.call(e,n)&&S(t,n,e[n]);if(k)for(var n of k(e))J.call(e,n)&&S(t,n,e[n]);return t},T=(t,e)=>q(t,H(e));import{contractPrincipalCV as W}from"micro-stacks/clarity";var Z="ST000000000000000000002AMW42H",z="SP000000000000000000002Q6VF78",f=(t,e)=>{let n=typeof t=="string"?t:String(t),[r,...a]=n.replace("!","").replace("?","").split("-"),c=`${e?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return a.forEach(p=>{c+=p[0].toUpperCase()+p.slice(1)}),c};function w(t){let e=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);return e?e.join("-").toLowerCase():t}var Y=t=>{let e=t.split("/"),n=e[e.length-1],[r]=n.split(".");return r},It=t=>`${t.address}.${t.name}`,Vt=t=>{let e=Y(t.contractFile);return W(t.address,e)};function Dt(t,e){return`${e?z:Z}.${t}`}var Q=(s=>(s.ContractEvent="contract_event",s.StxTransferEvent="stx_transfer_event",s.StxMintEvent="stx_mint_event",s.StxBurnEvent="stx_burn_event",s.StxLockEvent="stx_lock_event",s.NftTransferEvent="nft_transfer_event",s.NftMintEvent="nft_mint_event",s.NftBurnEvent="nft_burn_event",s.FtTransferEvent="ft_transfer_event",s.FtMintEvent="ft_mint_event",s.FtBurnEvent="ft_burn_event",s))(Q||{});function Mt(t,e){return t.filter(n=>n.type===e)}function jt(t,e={}){let n={};for(let r in t){let a=t[r],i=e.deployerAddress||a.address,c=`${i}.${a.name}`,p=a.contract(i,a.name);n[r]={identifier:c,contract:p}}return n}import{addressToString as P,ClarityType as o,uintCV as X,contractPrincipalCV as tt,intCV as et,stringAsciiCV as nt,stringUtf8CV as rt,noneCV as ot,someCV as at,tupleCV as it,listCV as st,hexToCV as ct,bufferCV as lt}from"micro-stacks/clarity";import{isClarityAbiList as pt,isClarityAbiOptional as ut,isClarityAbiStringAscii as ft,isClarityAbiStringUtf8 as dt,isClarityAbiTuple as yt,isClarityAbiBuffer as Ct,parseToCV as F}from"micro-stacks/transactions";import{bytesToAscii as Tt,bytesToHex as R}from"micro-stacks/common";function mt(t){return{isOk:!0,value:t}}function xt(t){return{isOk:!1,value:t}}function b(t){if(t.type===o.PrincipalStandard)return P(t.address);if(t.type===o.PrincipalContract)return`${P(t.address)}.${t.contractName.content}`;throw new Error(`Unexpected principal data: ${JSON.stringify(t)}`)}function l(t,e=!1){switch(t.type){case o.BoolTrue:return!0;case o.BoolFalse:return!1;case o.Int:case o.UInt:return t.value;case o.Buffer:return t.buffer;case o.OptionalNone:return null;case o.OptionalSome:return l(t.value);case o.ResponseErr:return e?xt(l(t.value)):l(t.value);case o.ResponseOk:return e?mt(l(t.value)):l(t.value);case o.PrincipalStandard:case o.PrincipalContract:return b(t);case o.List:return t.list.map(r=>l(r));case o.Tuple:return Object.entries(t.data).reduce((r,[a,i])=>{let c=f(a);return T(d({},r),{[c]:l(i)})},{});case o.StringASCII:return t.data;case o.StringUTF8:return t.data}}function Xt(t,e=!1){return l(ct(t),e)}function _(t){if(!(typeof t=="bigint"||typeof t=="number"||typeof t=="string"))throw new Error("Invalid input type for integer");return BigInt(t)}function y(t,e){if(yt(e)){if(typeof t!="object")throw new Error("Invalid tuple input");let n={};return e.tuple.forEach(r=>{let a=E(r.name,t),i=t[a];n[r.name]=y(i,r.type)}),it(n)}else if(pt(e)){let r=t.map(a=>y(a,e.list.type));return st(r)}else{if(ut(e))return t?at(y(t,e.optional)):ot();if(ft(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return nt(t)}else if(dt(e)){if(typeof t!="string")throw new Error("Invalid string-ascii input");return rt(t)}else if(e==="bool"){let n=typeof t=="boolean"?t.toString():t;return F(n,e)}else if(e==="uint128"){let n=_(t);return X(n.toString())}else if(e==="int128"){let n=_(t);return et(n.toString())}else if(e==="trait_reference"){if(typeof t!="string")throw new Error("Invalid input for trait_reference");let[n,r]=t.split(".");return tt(n,r)}else if(Ct(e))return lt(t)}return F(t,e)}function m(t,e="hex"){switch(t.type){case o.BoolTrue:return"true";case o.BoolFalse:return"false";case o.Int:return t.value.toString();case o.UInt:return`u${t.value.toString()}`;case o.Buffer:if(e==="tryAscii"){let n=Tt(t.buffer);if(/[ -~]/.test(n))return JSON.stringify(n)}return`0x${R(t.buffer)}`;case o.OptionalNone:return"none";case o.OptionalSome:return`(some ${m(t.value,e)})`;case o.ResponseErr:return`(err ${m(t.value,e)})`;case o.ResponseOk:return`(ok ${m(t.value,e)})`;case o.PrincipalStandard:case o.PrincipalContract:return`'${b(t)}`;case o.List:return`(list ${t.list.map(n=>m(n,e)).join(" ")})`;case o.Tuple:return`(tuple ${Object.keys(t.data).map(n=>`(${n} ${m(t.data[n],e)})`).join(" ")})`;case o.StringASCII:return`"${t.data}"`;case o.StringUTF8:return`u"${t.data}"`}}function x(t){switch(t.type){case o.BoolTrue:return!0;case o.BoolFalse:return!1;case o.Int:case o.UInt:return`${t.value}`;case o.Buffer:return R(t.buffer);case o.OptionalNone:return null;case o.OptionalSome:return x(t.value);case o.ResponseErr:return x(t.value);case o.ResponseOk:return x(t.value);case o.PrincipalStandard:case o.PrincipalContract:return b(t);case o.List:return t.list.map(n=>x(n));case o.Tuple:return Object.entries(t.data).reduce((n,[r,a])=>{let i=f(r);return T(d({},n),{[i]:x(a)})},{});case o.StringASCII:return t.data;case o.StringUTF8:return t.data}}function O(t,e){return t.args.map(n=>{let r=E(n.name,e),a=e[r];return y(a,n.type)})}function gt(t,e){return e.map((n,r)=>y(n,t.args[r].type))}function g(t,e){if(e.length===0)return[];let[n]=e;if(e.length===1&&t.args.length!==1)return O(t,n);if(typeof n=="object"&&!Array.isArray(n)&&n!==null)try{let r=!0;if(t.args.forEach(a=>{try{E(a.name,n)}catch{r=!1}}),r)return O(t,n)}catch{}return gt(t,e)}function E(t,e){let n=Object.keys(e).find(r=>{let a=t===r,i=t===w(r);return a||i});if(!n)throw new Error(`Error encoding JS tuple: ${t} not found in input.`);return n}function B(t){if(t.isOk)return t.value;throw new Error(`Expected OK, received error: ${String(t.value)}`)}function I(t){if(!t.isOk)return t.value;throw new Error(`Expected Err, received ok: ${String(t.value)}`)}function bt(t,e){let n=t.abi.functions.find(a=>f(a.name)===e);if(n)return function(...a){return{functionArgs:g(n,a),contractAddress:t.contractAddress,contractName:t.contractName,function:n,functionName:n.name,nativeArgs:a}};let r=t.abi.maps.find(a=>f(a.name)===e);if(r)return a=>{let i=y(a,r.key);return{contractAddress:t.contractAddress,contractName:t.contractName,map:r,nativeKey:a,key:i}};throw new Error(`Invalid function call: no function exists for ${String(e)}`)}var Et={get:bt},vt=t=>new Proxy(t,Et);import{fetchContractDataMapEntry as At,callReadOnlyFunction as ht}from"micro-stacks/api";import{cvToHex as Nt,hexToCV as kt}from"micro-stacks/clarity";import{broadcastTransaction as St}from"micro-stacks/transactions";function wt(t){if(t.latest!==!1)return t.latest||typeof t.tip>"u"?"latest":t.tip}async function V(t,e){let n=wt(e),r=await ht({contractAddress:t.contractAddress,contractName:t.contractName,functionName:t.functionName,functionArgs:t.functionArgs,tip:n,network:e.network});return l(r,!0)}async function pe(t,e){let n=await V(t,e);return B(n)}async function ue(t,e){let n=await V(t,e);return I(n)}async function fe(t,e){let n=Nt(t.key),r=await At({contract_address:t.contractAddress,contract_name:t.contractName,map_name:t.map.name,lookup_key:n,tip:"latest",url:e.network.getCoreApiUrl(),proof:0}),a=kt(r.data);return l(a,!0)}async function de(t,e){let n=await St(t,e.network);if("error"in n)throw new Error(`Error broadcasting tx: ${n.error} - ${n.reason} - ${JSON.stringify(n.reason_data)}`);return{txId:n.txid,stacksTransaction:t}}function Pt(t){let e=[];return t.forEach(n=>e.push(...n.transactions)),e}function D(t){return Pt(t).filter(v)}function $(t){if(!v(t))throw new Error("Unable to get path for tx type.");if("requirement-publish"in t)return t["requirement-publish"].path;if("emulated-contract-publish"in t)return t["emulated-contract-publish"].path;if("contract-publish"in t)return t["contract-publish"].path;throw new Error("Couldnt get path for deployment tx.")}function M(t){if(!v(t))throw new Error("Unable to get ID for tx type.");if("requirement-publish"in t){let e=t["requirement-publish"],[n,r]=e["contract-id"].split(".");return`${e["remap-sender"]}.${r}`}else if("emulated-contract-publish"in t){let e=t["emulated-contract-publish"];return`${e["emulated-sender"]}.${e["contract-name"]}`}else if("contract-publish"in t){let e=t["contract-publish"];return`${e["expected-sender"]}.${e["contract-name"]}`}throw new Error("Unable to find ID for contract.")}function v(t){return!("contract-call"in t||"btc-transfer"in t||"emulated-contract-call"in t)}var he=["devnet","simnet","testnet","mainnet"];function Ne(t,e){let n=[];return Object.entries(t.contracts).forEach(([r,a])=>{let i=t.deployments[r][e];return i&&n.push([r,U(a,i)]),!1}),Object.fromEntries(n)}function ke(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=`${e}.${r.contractName}`;return[n,U(r,a)]}))}function Ft(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>{let a=Object.assign((...i)=>{let c=g(r,i),[p,u]=e.split(".");return{functionArgs:c,contractAddress:p,contractName:u,function:r,functionName:r.name,nativeArgs:i}},{abi:r});return[n,a]}))}function U(t,e){let n=d({},t);return T(d(d({},Ft(t.functions,e)),n),{identifier:e})}function Se(t,e){let n={};return D(e.plan.batches).forEach(a=>{let i=M(a),[c,p]=i.split("."),u=f(p),j=t[u],C=t[u];if(typeof C>"u")throw new Error(`Clarigen error: mismatch for contract '${u}'`);n[u]=C,C.contractFile=$(a),C.identifier=i,Object.keys(t[u].functions).forEach(s=>{let A=s,K=(...h)=>{let N=j.functions[A];return{functionArgs:g(N,h),contractAddress:c,contractName:C.contractName,function:N,nativeArgs:h}};C[A]=K})}),n}export{Q as CoreNodeEventType,he as DEPLOYMENT_NETWORKS,z as MAINNET_BURN_ADDRESS,Z as TESTNET_BURN_ADDRESS,Dt as bootContractIdentifier,de as broadcast,U as contractFactory,ke as contractsFactory,x as cvToJSON,m as cvToString,l as cvToValue,Se as deploymentFactory,xt as err,I as expectErr,B as expectOk,fe as fetchMapGet,Mt as filterEvents,E as findJsTupleKey,Ft as functionsFactory,It as getContractIdentifier,Y as getContractNameFromPath,Vt as getContractPrincipalCV,Xt as hexToCvValue,jt as makeContracts,mt as ok,y as parseToCV,b as principalToString,Ne as projectFactory,vt as pureProxy,V as ro,ue as roErr,pe as roOk,f as toCamelCase,w as toKebabCase,gt as transformArgsArray,g as transformArgsToCV,O as transformObjectArgs};
|
package/package.json
CHANGED