@clarigen/core 4.0.1 → 4.0.2-alpha.1
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/deployment-BuEApfjy.mjs +1 -0
- package/dist/deployment-CJKAJJQx.cjs +1 -0
- package/dist/deployment-DSHddL3l.d.mts +97 -0
- package/dist/deployment-D_ahtPVB.d.cts +97 -0
- package/dist/deployment.cjs +1 -0
- package/dist/deployment.d.cts +2 -0
- package/dist/deployment.d.mts +2 -0
- package/dist/deployment.mjs +1 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +557 -0
- package/dist/index.d.mts +311 -415
- package/dist/index.mjs +1 -1
- package/package.json +17 -6
- package/dist/index.d.ts +0 -661
- package/dist/index.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){let t=[];return e.forEach(e=>t.push(...e.transactions)),t}function t(t){return e(t).filter(a)}function n(t,n){let r=e(n.plan.batches);for(let e of r)if(a(e)){if(`requirement-publish`in e){let[n,r]=e[`requirement-publish`][`contract-id`].split(`.`);if(r===t)return e}else if(`emulated-contract-publish`in e){if(e[`emulated-contract-publish`][`contract-name`]===t)return e}else if(`contract-publish`in e&&e[`contract-publish`][`contract-name`]===t)return e}throw Error(`Unable to find deployment tx for contract '${t}'`)}function r(e){if(!a(e))throw Error(`Unable to get path for tx type.`);if(`requirement-publish`in e)return e[`requirement-publish`].path;if(`emulated-contract-publish`in e)return e[`emulated-contract-publish`].path;if(`contract-publish`in e)return e[`contract-publish`].path;throw Error(`Couldnt get path for deployment tx.`)}function i(e){if(!a(e))throw Error(`Unable to get ID for tx type.`);if(`requirement-publish`in e){let t=e[`requirement-publish`],[n,r]=t[`contract-id`].split(`.`);return`${t[`remap-sender`]}.${r}`}else if(`emulated-contract-publish`in e){let t=e[`emulated-contract-publish`];return`${t[`emulated-sender`]}.${t[`contract-name`]}`}else if(`contract-publish`in e){let t=e[`contract-publish`];return`${t[`expected-sender`]}.${t[`contract-name`]}`}throw Error(`Unable to find ID for contract.`)}function a(e){return!(`contract-call`in e||`btc-transfer`in e||`emulated-contract-call`in e)}export{i as a,r as i,t as n,a as o,n as r,e as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){let t=[];return e.forEach(e=>t.push(...e.transactions)),t}function t(t){return e(t).filter(a)}function n(t,n){let r=e(n.plan.batches);for(let e of r)if(a(e)){if(`requirement-publish`in e){let[n,r]=e[`requirement-publish`][`contract-id`].split(`.`);if(r===t)return e}else if(`emulated-contract-publish`in e){if(e[`emulated-contract-publish`][`contract-name`]===t)return e}else if(`contract-publish`in e&&e[`contract-publish`][`contract-name`]===t)return e}throw Error(`Unable to find deployment tx for contract '${t}'`)}function r(e){if(!a(e))throw Error(`Unable to get path for tx type.`);if(`requirement-publish`in e)return e[`requirement-publish`].path;if(`emulated-contract-publish`in e)return e[`emulated-contract-publish`].path;if(`contract-publish`in e)return e[`contract-publish`].path;throw Error(`Couldnt get path for deployment tx.`)}function i(e){if(!a(e))throw Error(`Unable to get ID for tx type.`);if(`requirement-publish`in e){let t=e[`requirement-publish`],[n,r]=t[`contract-id`].split(`.`);return`${t[`remap-sender`]}.${r}`}else if(`emulated-contract-publish`in e){let t=e[`emulated-contract-publish`];return`${t[`emulated-sender`]}.${t[`contract-name`]}`}else if(`contract-publish`in e){let t=e[`contract-publish`];return`${t[`expected-sender`]}.${t[`contract-name`]}`}throw Error(`Unable to find ID for contract.`)}function a(e){return!(`contract-call`in e||`btc-transfer`in e||`emulated-contract-call`in e)}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return e}});
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
//#region src/deployment.d.ts
|
|
2
|
+
interface EmulatedContractPublishTransaction {
|
|
3
|
+
'emulated-contract-publish': {
|
|
4
|
+
'contract-name': string;
|
|
5
|
+
'emulated-sender': string;
|
|
6
|
+
path: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
interface RequirementPublishTransaction {
|
|
10
|
+
'requirement-publish': {
|
|
11
|
+
'contract-id': string;
|
|
12
|
+
'remap-sender': string;
|
|
13
|
+
'remap-principals': Record<string, string>;
|
|
14
|
+
path: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
interface ContractPublishTransaction {
|
|
18
|
+
'contract-publish': {
|
|
19
|
+
'contract-name': string;
|
|
20
|
+
'expected-sender': string;
|
|
21
|
+
path: string;
|
|
22
|
+
cost: string;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
interface ContractCallTransaction {
|
|
26
|
+
'contract-call': {
|
|
27
|
+
'contract-id': string;
|
|
28
|
+
'expected-sender': string;
|
|
29
|
+
parameters: Readonly<string[]>;
|
|
30
|
+
method: string;
|
|
31
|
+
cost: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
interface EmulatedContractCallTransaction {
|
|
35
|
+
'emulated-contract-call': {
|
|
36
|
+
'contract-id': string;
|
|
37
|
+
'emulated-sender': string;
|
|
38
|
+
parameters: Readonly<string[]>;
|
|
39
|
+
method: string;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
interface BtcTransferTransaction {
|
|
43
|
+
'btc-transfer': {
|
|
44
|
+
'expected-sender': string;
|
|
45
|
+
recipient: string;
|
|
46
|
+
'sats-per-byte': string;
|
|
47
|
+
'sats-amount': string;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
type DeploymentTransaction = EmulatedContractPublishTransaction | RequirementPublishTransaction | ContractPublishTransaction | EmulatedContractCallTransaction | BtcTransferTransaction | ContractCallTransaction;
|
|
51
|
+
type ContractDeploymentTransaction = EmulatedContractPublishTransaction | RequirementPublishTransaction | ContractPublishTransaction;
|
|
52
|
+
interface Batch<T extends DeploymentTransaction> {
|
|
53
|
+
id: number;
|
|
54
|
+
transactions: Readonly<T[]>;
|
|
55
|
+
}
|
|
56
|
+
interface SimnetAccount {
|
|
57
|
+
address: string;
|
|
58
|
+
name: string;
|
|
59
|
+
balance: string;
|
|
60
|
+
}
|
|
61
|
+
interface SimnetAccountDeployer extends SimnetAccount {
|
|
62
|
+
name: 'deployer';
|
|
63
|
+
}
|
|
64
|
+
interface SimnetDeploymentPlan {
|
|
65
|
+
network: 'simnet';
|
|
66
|
+
genesis: {
|
|
67
|
+
wallets: Readonly<[SimnetAccountDeployer, ...SimnetAccount[]]>;
|
|
68
|
+
contracts: Readonly<string[]>;
|
|
69
|
+
};
|
|
70
|
+
plan: {
|
|
71
|
+
batches: Readonly<Batch<EmulatedContractPublishTransaction | EmulatedContractCallTransaction>[]>;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
interface DevnetDeploymentPlan {
|
|
75
|
+
network: 'devnet';
|
|
76
|
+
plan: {
|
|
77
|
+
batches: Readonly<Batch<RequirementPublishTransaction | ContractPublishTransaction | ContractCallTransaction | BtcTransferTransaction>[]>;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
type TestnetDeploymentPlan = Omit<DevnetDeploymentPlan, 'network'> & {
|
|
81
|
+
network: 'testnet';
|
|
82
|
+
};
|
|
83
|
+
interface MainnetDeploymentPlan {
|
|
84
|
+
network: 'mainnet';
|
|
85
|
+
plan: {
|
|
86
|
+
batches: Readonly<Batch<ContractPublishTransaction | ContractCallTransaction | BtcTransferTransaction>[]>;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
type DeploymentPlan = SimnetDeploymentPlan | DevnetDeploymentPlan | TestnetDeploymentPlan | MainnetDeploymentPlan;
|
|
90
|
+
declare function flatBatch<T extends DeploymentTransaction>(batches: Batch<T>[]): T[];
|
|
91
|
+
declare function getContractTxs(batches: Batch<DeploymentTransaction>[]): ContractDeploymentTransaction[];
|
|
92
|
+
declare function getDeploymentContract(contractName: string, deployment: DeploymentPlan): ContractDeploymentTransaction;
|
|
93
|
+
declare function getDeploymentTxPath(tx: ContractDeploymentTransaction): string;
|
|
94
|
+
declare function getIdentifierForDeploymentTx(tx: ContractDeploymentTransaction): string;
|
|
95
|
+
declare function isContractDeploymentTx(tx: DeploymentTransaction): tx is ContractDeploymentTransaction;
|
|
96
|
+
//#endregion
|
|
97
|
+
export { isContractDeploymentTx as S, flatBatch as _, ContractPublishTransaction as a, getDeploymentTxPath as b, DevnetDeploymentPlan as c, MainnetDeploymentPlan as d, RequirementPublishTransaction as f, TestnetDeploymentPlan as g, SimnetDeploymentPlan as h, ContractDeploymentTransaction as i, EmulatedContractCallTransaction as l, SimnetAccountDeployer as m, BtcTransferTransaction as n, DeploymentPlan as o, SimnetAccount as p, ContractCallTransaction as r, DeploymentTransaction as s, Batch as t, EmulatedContractPublishTransaction as u, getContractTxs as v, getIdentifierForDeploymentTx as x, getDeploymentContract as y };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
//#region src/deployment.d.ts
|
|
2
|
+
interface EmulatedContractPublishTransaction {
|
|
3
|
+
'emulated-contract-publish': {
|
|
4
|
+
'contract-name': string;
|
|
5
|
+
'emulated-sender': string;
|
|
6
|
+
path: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
interface RequirementPublishTransaction {
|
|
10
|
+
'requirement-publish': {
|
|
11
|
+
'contract-id': string;
|
|
12
|
+
'remap-sender': string;
|
|
13
|
+
'remap-principals': Record<string, string>;
|
|
14
|
+
path: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
interface ContractPublishTransaction {
|
|
18
|
+
'contract-publish': {
|
|
19
|
+
'contract-name': string;
|
|
20
|
+
'expected-sender': string;
|
|
21
|
+
path: string;
|
|
22
|
+
cost: string;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
interface ContractCallTransaction {
|
|
26
|
+
'contract-call': {
|
|
27
|
+
'contract-id': string;
|
|
28
|
+
'expected-sender': string;
|
|
29
|
+
parameters: Readonly<string[]>;
|
|
30
|
+
method: string;
|
|
31
|
+
cost: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
interface EmulatedContractCallTransaction {
|
|
35
|
+
'emulated-contract-call': {
|
|
36
|
+
'contract-id': string;
|
|
37
|
+
'emulated-sender': string;
|
|
38
|
+
parameters: Readonly<string[]>;
|
|
39
|
+
method: string;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
interface BtcTransferTransaction {
|
|
43
|
+
'btc-transfer': {
|
|
44
|
+
'expected-sender': string;
|
|
45
|
+
recipient: string;
|
|
46
|
+
'sats-per-byte': string;
|
|
47
|
+
'sats-amount': string;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
type DeploymentTransaction = EmulatedContractPublishTransaction | RequirementPublishTransaction | ContractPublishTransaction | EmulatedContractCallTransaction | BtcTransferTransaction | ContractCallTransaction;
|
|
51
|
+
type ContractDeploymentTransaction = EmulatedContractPublishTransaction | RequirementPublishTransaction | ContractPublishTransaction;
|
|
52
|
+
interface Batch<T extends DeploymentTransaction> {
|
|
53
|
+
id: number;
|
|
54
|
+
transactions: Readonly<T[]>;
|
|
55
|
+
}
|
|
56
|
+
interface SimnetAccount {
|
|
57
|
+
address: string;
|
|
58
|
+
name: string;
|
|
59
|
+
balance: string;
|
|
60
|
+
}
|
|
61
|
+
interface SimnetAccountDeployer extends SimnetAccount {
|
|
62
|
+
name: 'deployer';
|
|
63
|
+
}
|
|
64
|
+
interface SimnetDeploymentPlan {
|
|
65
|
+
network: 'simnet';
|
|
66
|
+
genesis: {
|
|
67
|
+
wallets: Readonly<[SimnetAccountDeployer, ...SimnetAccount[]]>;
|
|
68
|
+
contracts: Readonly<string[]>;
|
|
69
|
+
};
|
|
70
|
+
plan: {
|
|
71
|
+
batches: Readonly<Batch<EmulatedContractPublishTransaction | EmulatedContractCallTransaction>[]>;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
interface DevnetDeploymentPlan {
|
|
75
|
+
network: 'devnet';
|
|
76
|
+
plan: {
|
|
77
|
+
batches: Readonly<Batch<RequirementPublishTransaction | ContractPublishTransaction | ContractCallTransaction | BtcTransferTransaction>[]>;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
type TestnetDeploymentPlan = Omit<DevnetDeploymentPlan, 'network'> & {
|
|
81
|
+
network: 'testnet';
|
|
82
|
+
};
|
|
83
|
+
interface MainnetDeploymentPlan {
|
|
84
|
+
network: 'mainnet';
|
|
85
|
+
plan: {
|
|
86
|
+
batches: Readonly<Batch<ContractPublishTransaction | ContractCallTransaction | BtcTransferTransaction>[]>;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
type DeploymentPlan = SimnetDeploymentPlan | DevnetDeploymentPlan | TestnetDeploymentPlan | MainnetDeploymentPlan;
|
|
90
|
+
declare function flatBatch<T extends DeploymentTransaction>(batches: Batch<T>[]): T[];
|
|
91
|
+
declare function getContractTxs(batches: Batch<DeploymentTransaction>[]): ContractDeploymentTransaction[];
|
|
92
|
+
declare function getDeploymentContract(contractName: string, deployment: DeploymentPlan): ContractDeploymentTransaction;
|
|
93
|
+
declare function getDeploymentTxPath(tx: ContractDeploymentTransaction): string;
|
|
94
|
+
declare function getIdentifierForDeploymentTx(tx: ContractDeploymentTransaction): string;
|
|
95
|
+
declare function isContractDeploymentTx(tx: DeploymentTransaction): tx is ContractDeploymentTransaction;
|
|
96
|
+
//#endregion
|
|
97
|
+
export { isContractDeploymentTx as S, flatBatch as _, ContractPublishTransaction as a, getDeploymentTxPath as b, DevnetDeploymentPlan as c, MainnetDeploymentPlan as d, RequirementPublishTransaction as f, TestnetDeploymentPlan as g, SimnetDeploymentPlan as h, ContractDeploymentTransaction as i, EmulatedContractCallTransaction as l, SimnetAccountDeployer as m, BtcTransferTransaction as n, DeploymentPlan as o, SimnetAccount as p, ContractCallTransaction as r, DeploymentTransaction as s, Batch as t, EmulatedContractPublishTransaction as u, getContractTxs as v, getIdentifierForDeploymentTx as x, getDeploymentContract as y };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./deployment-CJKAJJQx.cjs`);exports.flatBatch=e.t,exports.getContractTxs=e.n,exports.getDeploymentContract=e.r,exports.getDeploymentTxPath=e.i,exports.getIdentifierForDeploymentTx=e.a,exports.isContractDeploymentTx=e.o;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { S as isContractDeploymentTx, _ as flatBatch, a as ContractPublishTransaction, b as getDeploymentTxPath, c as DevnetDeploymentPlan, d as MainnetDeploymentPlan, f as RequirementPublishTransaction, g as TestnetDeploymentPlan, h as SimnetDeploymentPlan, i as ContractDeploymentTransaction, l as EmulatedContractCallTransaction, m as SimnetAccountDeployer, n as BtcTransferTransaction, o as DeploymentPlan, p as SimnetAccount, r as ContractCallTransaction, s as DeploymentTransaction, t as Batch, u as EmulatedContractPublishTransaction, v as getContractTxs, x as getIdentifierForDeploymentTx, y as getDeploymentContract } from "./deployment-D_ahtPVB.cjs";
|
|
2
|
+
export { Batch, BtcTransferTransaction, ContractCallTransaction, ContractDeploymentTransaction, ContractPublishTransaction, DeploymentPlan, DeploymentTransaction, DevnetDeploymentPlan, EmulatedContractCallTransaction, EmulatedContractPublishTransaction, MainnetDeploymentPlan, RequirementPublishTransaction, SimnetAccount, SimnetAccountDeployer, SimnetDeploymentPlan, TestnetDeploymentPlan, flatBatch, getContractTxs, getDeploymentContract, getDeploymentTxPath, getIdentifierForDeploymentTx, isContractDeploymentTx };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { S as isContractDeploymentTx, _ as flatBatch, a as ContractPublishTransaction, b as getDeploymentTxPath, c as DevnetDeploymentPlan, d as MainnetDeploymentPlan, f as RequirementPublishTransaction, g as TestnetDeploymentPlan, h as SimnetDeploymentPlan, i as ContractDeploymentTransaction, l as EmulatedContractCallTransaction, m as SimnetAccountDeployer, n as BtcTransferTransaction, o as DeploymentPlan, p as SimnetAccount, r as ContractCallTransaction, s as DeploymentTransaction, t as Batch, u as EmulatedContractPublishTransaction, v as getContractTxs, x as getIdentifierForDeploymentTx, y as getDeploymentContract } from "./deployment-DSHddL3l.mjs";
|
|
2
|
+
export { Batch, BtcTransferTransaction, ContractCallTransaction, ContractDeploymentTransaction, ContractPublishTransaction, DeploymentPlan, DeploymentTransaction, DevnetDeploymentPlan, EmulatedContractCallTransaction, EmulatedContractPublishTransaction, MainnetDeploymentPlan, RequirementPublishTransaction, SimnetAccount, SimnetAccountDeployer, SimnetDeploymentPlan, TestnetDeploymentPlan, flatBatch, getContractTxs, getDeploymentContract, getDeploymentTxPath, getIdentifierForDeploymentTx, isContractDeploymentTx };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,i as t,n,o as r,r as i,t as a}from"./deployment-BuEApfjy.mjs";export{a as flatBatch,n as getContractTxs,i as getDeploymentContract,t as getDeploymentTxPath,e as getIdentifierForDeploymentTx,r as isContractDeploymentTx};
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./deployment-CJKAJJQx.cjs`);let t=require(`@stacks/transactions`),n=require(`@scure/base`),r=require(`@stacks/blockchain-api-client`),i=require(`@stacks/network`);const a=`ST000000000000000000002AMW42H`,o=`SP000000000000000000002Q6VF78`,s=(e,t)=>{let n=typeof e==`string`?e:String(e);if(/^[A-Z_]+$/.test(n))return n;let[r,...i]=n.replace(`!`,`_x`).replace(`?`,`_q`).split(`-`),a=`${t?r[0].toUpperCase():r[0].toLowerCase()}${r.slice(1)}`;return i.forEach(e=>{let t=e[0].toUpperCase()+e.slice(1);a+=t}),a};function c(e){let t=e.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);return t?t.join(`-`).toLowerCase():e}function l(e,t=!0){let n=e.split(`.`)[1];return t?s(n):n}const u=e=>{let t=e.split(`/`),[n]=t[t.length-1].split(`.`);return n},ee=e=>`${e.address}.${e.name}`,te=e=>{let n=u(e.contractFile);return(0,t.contractPrincipalCV)(e.address,n)};function ne(e,t){return`${t?o:a}.${e}`}function re(e){return n.hex.encode(e)}function d(e){return n.hex.decode(e)}function f(e){let t=Array.from(e);return String.fromCharCode.apply(null,t)}const p=e=>typeof e==`number`;function m(e){let{constants:t}=e,n={};for(let e in t)if(e.toLowerCase().startsWith(`err`)){let r=t[e];typeof r==`object`&&r&&`isOk`in r&&!r.isOk&&`value`in r?n[e]=r.value:n[e]=r}return n}function ie(e){let{contracts:t}=e,n={};for(let e in t)n[e]=m(t[e]);return n}let ae=function(e){return e.ContractEvent=`contract_event`,e.StxTransferEvent=`stx_transfer_event`,e.StxMintEvent=`stx_mint_event`,e.StxBurnEvent=`stx_burn_event`,e.StxLockEvent=`stx_lock_event`,e.NftTransferEvent=`nft_transfer_event`,e.NftMintEvent=`nft_mint_event`,e.NftBurnEvent=`nft_burn_event`,e.FtTransferEvent=`ft_transfer_event`,e.FtMintEvent=`ft_mint_event`,e.FtBurnEvent=`ft_burn_event`,e}({});function oe(e,t){return e.filter(e=>e.type===t)}function se(e,t={}){let n={};for(let r in e){let i=e[r],a=t.deployerAddress||i.address;n[r]={identifier:`${a}.${i.name}`,contract:i.contract(a,i.name)}}return n}function h(e){return{isOk:!0,value:e}}function g(e){return{isOk:!1,value:e}}function ce(e){return typeof e==`object`&&!!e&&`isOk`in e}function _(e){return e.value}function v(e,n=!1){switch(e.type){case t.ClarityType.BoolTrue:return!0;case t.ClarityType.BoolFalse:return!1;case t.ClarityType.Int:case t.ClarityType.UInt:return e.value;case t.ClarityType.Buffer:return d(e.value);case t.ClarityType.OptionalNone:return null;case t.ClarityType.OptionalSome:return v(e.value);case t.ClarityType.ResponseErr:return n?g(v(e.value)):v(e.value);case t.ClarityType.ResponseOk:return n?h(v(e.value)):v(e.value);case t.ClarityType.PrincipalStandard:case t.ClarityType.PrincipalContract:return _(e);case t.ClarityType.List:return e.value.map(e=>v(e));case t.ClarityType.Tuple:return Object.entries(e.value).reduce((e,[t,r])=>{let i=s(t);return{...e,[i]:v(r,n)}},{});case t.ClarityType.StringASCII:return e.value;case t.ClarityType.StringUTF8:return e.value}}function le(e,n=!1){return v((0,t.hexToCV)(e),n)}function y(e){if(!(typeof e==`bigint`||typeof e==`number`||typeof e==`string`))throw Error(`Invalid input type for integer`);return BigInt(e)}const b=e=>typeof e==`string`,x=e=>e.buffer!==void 0,S=e=>e[`string-ascii`]!==void 0,C=e=>e[`string-utf8`]!==void 0,w=e=>e.response!==void 0,T=e=>e.optional!==void 0,E=e=>e.tuple!==void 0,D=e=>e.list!==void 0,ue=e=>e===`trait_reference`;function O(e,n){if(E(n)){if(typeof e!=`object`)throw Error(`Invalid tuple input`);let r={};return n.tuple.forEach(t=>{let n=e[P(t.name,e)];r[t.name]=O(n,t.type)}),(0,t.tupleCV)(r)}else if(D(n))return(0,t.listCV)(e.map(e=>O(e,n.list.type)));else if(T(n))return e===null?(0,t.noneCV)():(0,t.someCV)(O(e,n.optional));else if(S(n)){if(typeof e!=`string`)throw Error(`Invalid string-ascii input`);return(0,t.stringAsciiCV)(e)}else if(C(n)){if(typeof e!=`string`)throw Error(`Invalid string-ascii input`);return(0,t.stringUtf8CV)(e)}else if(n===`bool`)return(0,t.parseToCV)(typeof e==`boolean`?e.toString():e,n);else if(n===`uint128`)return(0,t.uintCV)(y(e).toString());else if(n===`int128`)return(0,t.intCV)(y(e).toString());else if(n===`trait_reference`){if(typeof e!=`string`)throw Error(`Invalid input for trait_reference`);let[n,r]=e.split(`.`);return(0,t.contractPrincipalCV)(n,r)}else if(x(n))return(0,t.bufferCV)(e);return(0,t.parseToCV)(e,n)}function k(e,n=`hex`){switch(e.type){case t.ClarityType.BoolTrue:return`true`;case t.ClarityType.BoolFalse:return`false`;case t.ClarityType.Int:return e.value.toString();case t.ClarityType.UInt:return`u${e.value.toString()}`;case t.ClarityType.Buffer:if(n===`tryAscii`){let t=f(d(e.value));if(/[ -~]/.test(t))return JSON.stringify(t)}return`0x${e.value}`;case t.ClarityType.OptionalNone:return`none`;case t.ClarityType.OptionalSome:return`(some ${k(e.value,n)})`;case t.ClarityType.ResponseErr:return`(err ${k(e.value,n)})`;case t.ClarityType.ResponseOk:return`(ok ${k(e.value,n)})`;case t.ClarityType.PrincipalStandard:case t.ClarityType.PrincipalContract:return`'${_(e)}`;case t.ClarityType.List:return`(list ${e.value.map(e=>k(e,n)).join(` `)})`;case t.ClarityType.Tuple:return`(tuple ${Object.keys(e.value).map(t=>`(${t} ${k(e.value[t],n)})`).join(` `)})`;case t.ClarityType.StringASCII:return`"${e.value}"`;case t.ClarityType.StringUTF8:return`u"${e.value}"`}}function A(e,n=!1){switch(e.type){case t.ClarityType.BoolTrue:return!0;case t.ClarityType.BoolFalse:return!1;case t.ClarityType.Int:case t.ClarityType.UInt:return`${e.value}`;case t.ClarityType.Buffer:return e.value;case t.ClarityType.OptionalNone:return null;case t.ClarityType.OptionalSome:return A(e.value);case t.ClarityType.ResponseErr:return n?g(A(e.value)):A(e.value);case t.ClarityType.ResponseOk:return n?h(A(e.value)):A(e.value);case t.ClarityType.PrincipalStandard:case t.ClarityType.PrincipalContract:return _(e);case t.ClarityType.List:return e.value.map(e=>A(e));case t.ClarityType.Tuple:return Object.entries(e.value).reduce((e,[t,n])=>{let r=s(t);return{...e,[r]:A(n)}},{});case t.ClarityType.StringASCII:return e.value;case t.ClarityType.StringUTF8:return e.value}}function j(e,t){return e.args.map(e=>{let n=t[P(e.name,t)];return O(n,e.type)})}function M(e,t){return t.map((t,n)=>O(t,e.args[n].type))}function N(e,t){if(t.length===0)return[];let[n]=t;if(t.length===1&&e.args.length!==1)return j(e,n);if(typeof n==`object`&&!Array.isArray(n)&&n!==null)try{let t=!0;if(e.args.forEach(e=>{try{P(e.name,n)}catch{t=!1}}),t)return j(e,n)}catch{}return M(e,t)}function P(e,t){let n=Object.keys(t).find(t=>{let n=e===t,r=e===c(t);return n||r});if(!n)throw Error(`Error encoding JS tuple: ${e} not found in input.`);return n}function F(e){if(e.isOk)return e.value;throw Error(`Expected OK, received error: ${String(e.value)}`)}function I(e){if(!e.isOk)return e.value;throw Error(`Expected Err, received ok: ${String(e.value)}`)}function L(e){if(b(e))return e===`int128`?`int`:e===`uint128`?`uint`:e;if(x(e))return`(buff ${e.buffer.length})`;if(S(e))return`(string-ascii ${e[`string-ascii`].length})`;if(C(e))return`(string-utf8 ${e[`string-utf8`].length})`;if(w(e))return`(response ${L(e.response.ok)} ${L(e.response.error)})`;if(T(e))return`(optional ${L(e.optional)})`;if(E(e))return`(tuple ${e.tuple.map(e=>`(${e.name} ${L(e.type)})`).join(` `)})`;if(D(e))return`(list ${e.list.length} ${L(e.list.type)})`;throw Error(`Type string unsupported for Clarity type: ${JSON.stringify(e)}`)}function de(e,t){let n=e.abi.functions.find(e=>s(e.name)===t);if(n)return function(...t){return{functionArgs:N(n,t),contractAddress:e.contractAddress,contractName:e.contractName,function:n,functionName:n.name,nativeArgs:t}};let r=e.abi.maps.find(e=>s(e.name)===t);if(r)return t=>{let n=O(t,r.key);return{contractAddress:e.contractAddress,contractName:e.contractName,map:r,nativeKey:t,key:n}};throw Error(`Invalid function call: no function exists for ${String(t)}`)}const fe={get:de},R=e=>new Proxy(e,fe),z=[`devnet`,`simnet`,`testnet`,`mainnet`];function B(e,t){let n=[];return Object.entries(e.contracts).forEach(([r,i])=>{let a=e.deployments[r][t];return a&&n.push([r,H(i,a)]),!1}),Object.fromEntries(n)}function pe(e,t){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,H(n,`${t}.${n.contractName}`)]))}function V(e,t){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,Object.assign((...e)=>{let r=N(n,e),[i,a]=t.split(`.`);return{functionArgs:r,contractAddress:i,contractName:a,function:n,functionName:n.name,nativeArgs:e}},{abi:n})]))}function H(e,t){let n={...e};return{...V(e.functions,t),...n,identifier:t}}function me(t,n){let r={};return e.n(n.plan.batches).forEach(n=>{let i=e.a(n),[a,o]=i.split(`.`),c=s(o),l=t[c],u=t[c];if(u===void 0)throw Error(`Clarigen error: mismatch for contract '${c}'`);r[c]=u,u.contractFile=e.i(n),u.identifier=i,Object.keys(t[c].functions).forEach(e=>{let t=e;u[t]=((...e)=>{let n=l.functions[t];return{functionArgs:N(n,e),contractAddress:a,contractName:u.contractName,function:n,nativeArgs:e}})})}),r}function U(e,t){return{key:t,keyCV:O(t,e.key),map:e}}function W(e,t={}){let n={...t};return e&&(n[`x-api-key`]=e),n}function he(e,t,n){return new r.SmartContractsApi(new r.Configuration({basePath:e,headers:W(t,n)}))}function ge(e){return`${e}/v2`}const _e=(e,t)=>{try{let n=new URL(e);return Object.keys(t).forEach(e=>{let r=t[e];if(r){if(Array.isArray(r))return r.length===0?void 0:n.searchParams.set(`${e}[]`,ve(e,r));if(typeof r==`boolean`||p(r))return n.searchParams.set(e,String(r));n.searchParams.set(e,r)}}),n.toString()}catch(t){return console.error(`generateUrl`),console.error(t),e}},ve=(e,t)=>t!=null&&t.length?`${t.map((t,n)=>`${n>0?encodeURIComponent(`${e}[]`):``}=${encodeURIComponent(t)}`).join(`&`)}`:``;function ye(e){if(e.okay)return(0,t.hexToCV)(e.result);throw Error(e.cause)}async function be(e){let{contractAddress:n,functionArgs:r,senderAddress:i=n,url:a}=e;return ye(await he(a,e.apiKey,e.headers).callReadOnlyFunction({...e,readOnlyFunctionArgs:{sender:i,arguments:r.map(e=>typeof e==`string`?e:(0,t.cvToHex)(e))}}))}function G(e){if(e.latest!==!1)return e.latest||e.tip===void 0?`latest`:e.tip}async function K(e,t){let n=G(t),r=await be({contractAddress:e.contractAddress,contractName:e.contractName,functionName:e.functionName,functionArgs:e.functionArgs,tip:n,url:Y(t),apiKey:t.apiKey,headers:t.headers});return t.json?A(r):v(r,!0)}async function q(e,t){return F(await K(e,t))}async function J(e,t){return I(await K(e,t))}function Y(e){return(0,i.networkFrom)(e.network).client.baseUrl}async function xe(e,n,r,i){let a=U(n,r),o=JSON.stringify((0,t.cvToHex)(a.keyCV)),[s,c]=e.split(`.`),l=_e(`${ge(Y(i))}/map_entry/${s}/${c}/${a.map.name}`,{proof:0,tip:G(i)});return v((0,t.hexToCV)((await(await fetch(l,{method:`POST`,body:o,headers:{"Content-Type":`application/json`,Accept:`application/json`,...W(i.apiKey,i.headers)}})).json()).data),!0)}async function Se(e,n){let r=n.network,i=await(0,t.broadcastTransaction)({transaction:e,network:r});if(`error`in i)throw Error(`Error broadcasting tx: ${i.error} - ${i.reason} - ${JSON.stringify(`reason_data`in i?i.reason_data:void 0)}`);return{txId:i.txid,stacksTransaction:e}}var Ce=class{network;constructor(e,t,n){this.apiKey=t,this.headers=n,this.network=e}roOptions(e){return{network:this.network,apiKey:this.apiKey,headers:this.headers,...e}}ro(e,t){return K(e,this.roOptions(t||{}))}roOk(e,t){return q(e,this.roOptions(t||{}))}roErr(e,t){return J(e,this.roOptions(t||{}))}};function X(e,t){let[n,r]=e.identifier.split(`.`);if(!(`identifier`in e))throw Error(`Invalid contract`);for(let i of e.non_fungible_tokens)if(i.name===t)return`${n}.${r}::${i.name}`;for(let i of e.fungible_tokens)if(i.name===t)return`${n}.${r}::${i.name}`;throw Error(`Invalid asset: "${t}" is not an asset in contract.`)}function we(e,t,n,r){let[i]=e.non_fungible_tokens,a=X(e,i.name),o=i.type;return{type:`nft-postcondition`,address:t,condition:n,asset:a,assetId:O(r,o)}}function Te(e,t,n,r){let[i,a]=t.split(`.`),[o]=e.fungible_tokens;return{type:`ft-postcondition`,address:t,condition:n,asset:X(e,o.name),amount:r}}function Z(e,t=``){return e.slice(t.length+2,-1)}function Q(e,t){if(E(t)){let n=De(e),r={},i=Object.entries(n).reduce((e,[t,n])=>{let r=t.trim();return{...e,[r]:n.trim()}},{});return t.tuple.forEach(({name:e,type:t})=>{let n=s(e);r[n]=Q(i[e],t)}),r}else if(D(t))return $(e).map(e=>Q(e,t.list.type));else if(T(t))return e===`none`?null:Q(Z(e,`some`),t.optional);else if(S(t))return e.slice(1,-1);else if(C(t))return e.slice(2,-1);else if(t===`bool`)return e===`true`;else if(t===`uint128`)return BigInt(e.slice(1));else if(t===`int128`)return BigInt(e);else if(t===`trait_reference`)return e.replace(/^\'/,``);else if(t===`principal`)return e.replace(/^\'/,``);else if(t===`none`)return null;else if(x(t))return d(e.slice(2));else if(w(t))return e.startsWith(`(ok`)?h(Q(Z(e,`ok`),t.response.ok)):g(Q(Z(e,`err`),t.response.error));throw Error(`Unable to parse cv string to value: ${e} ${JSON.stringify(t,null,2)}`)}const Ee=Array(255);for(let e=0;e<=255;++e)Ee[e]=e.toString(16).padStart(2,`0`);function $(e){if(e.charAt(0)!==`[`||e.charAt(e.length-1)!==`]`)throw Error(`Expected (list ..), got ${e.toString()}`);let t=[],n=[],r=1;for(let i=0;i<e.length;i++)e.charAt(i)===`,`&&t.length==1&&(n.push(e.substring(r,i)),r=i+2),[`(`,`[`,`{`].includes(e.charAt(i))&&t.push(e.charAt(i)),e.charAt(i)===`)`&&t[t.length-1]===`(`&&t.pop(),e.charAt(i)===`}`&&t[t.length-1]===`{`&&t.pop(),e.charAt(i)===`]`&&t[t.length-1]===`[`&&t.pop();let i=e.substring(r,e.length-1);return i.length>0&&n.push(i),n}function De(e){if(e.charAt(0)!==`{`||e.charAt(e.length-1)!==`}`)throw Error(`Expected '(tuple ..)', got ${e.toString()}`);let t=1,n=[],r=[];for(let i=0;i<e.length;i++)e.charAt(i)===`,`&&n.length==1&&(r.push(e.substring(t,i)),t=i+2),[`(`,`[`,`{`].includes(e.charAt(i))&&n.push(e.charAt(i)),e.charAt(i)===`)`&&n[n.length-1]===`(`&&n.pop(),e.charAt(i)===`}`&&n[n.length-1]===`{`&&n.pop(),e.charAt(i)===`]`&&n[n.length-1]===`[`&&n.pop();let i=e.substring(t,e.length-1);i.length>0&&r.push(i);let a={};for(let e of r)for(let t=0;t<e.length;t++)if(e.charAt(t)===`:`){let n=e.substring(0,t);a[n]=e.substring(t+2,e.length);break}return a}exports.ClarigenClient=Ce,exports.CoreNodeEventType=ae,exports.DEPLOYMENT_NETWORKS=z,exports.MAINNET_BURN_ADDRESS=o,exports.TESTNET_BURN_ADDRESS=a,exports.bootContractIdentifier=ne,exports.broadcast=Se,exports.bytesToAscii=f,exports.bytesToHex=re,exports.contractFactory=H,exports.contractsFactory=pe,exports.createAssetInfo=X,exports.cvToJSON=A,exports.cvToString=k,exports.cvToValue=v,exports.deploymentFactory=me,exports.err=g,exports.expectErr=I,exports.expectOk=F,exports.extractErrors=m,exports.fetchMapGet=xe,exports.filterEvents=oe,exports.findJsTupleKey=P,exports.functionsFactory=V,exports.getApiUrl=Y,exports.getContractIdentifier=ee,exports.getContractName=l,exports.getContractNameFromPath=u,exports.getContractPrincipalCV=te,exports.getTypeString=L,exports.hexToBytes=d,exports.hexToCvValue=le,exports.isClarityAbiBuffer=x,exports.isClarityAbiList=D,exports.isClarityAbiOptional=T,exports.isClarityAbiPrimitive=b,exports.isClarityAbiResponse=w,exports.isClarityAbiStringAscii=S,exports.isClarityAbiStringUtf8=C,exports.isClarityAbiTraitReference=ue,exports.isClarityAbiTuple=E,exports.isNumber=p,exports.isResponse=ce,exports.makeContracts=se,exports.makeFungiblePostCondition=Te,exports.makeNonFungiblePostCondition=we,exports.mapFactory=U,exports.ok=h,exports.parseToCV=O,exports.principalToString=_,exports.projectErrors=ie,exports.projectFactory=B,exports.pureProxy=R,exports.rawClarityToValue=Q,exports.ro=K,exports.roErr=J,exports.roOk=q,exports.toCamelCase=s,exports.toKebabCase=c,exports.transformArgsArray=M,exports.transformArgsToCV=N,exports.transformObjectArgs=j;
|