@secondlayer/stacks 6.0.0 → 6.1.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/shared/stacks-esm-0pc6tmf0.js +50 -0
- package/dist/shared/{stacks-qex691bh.js.map → stacks-esm-0pc6tmf0.js.map} +2 -2
- package/dist/shared/{stacks-qt8ehebn.js → stacks-esm-16d82wyc.js} +10 -10
- package/dist/shared/{stacks-qt8ehebn.js.map → stacks-esm-16d82wyc.js.map} +2 -2
- package/dist/shared/{stacks-qs5fzts5.js → stacks-esm-7a0ehykf.js} +43 -43
- package/dist/shared/{stacks-qs5fzts5.js.map → stacks-esm-7a0ehykf.js.map} +2 -2
- package/dist/shared/{stacks-4hs8r4q2.js → stacks-esm-7v18h5dk.js} +4 -4
- package/dist/shared/{stacks-xjkn3en1.cjs.map → stacks-esm-7v18h5dk.js.map} +2 -2
- package/dist/shared/{stacks-71k0vmct.js → stacks-esm-8f5catbf.js} +126 -126
- package/dist/shared/{stacks-71k0vmct.js.map → stacks-esm-8f5catbf.js.map} +2 -2
- package/dist/shared/{stacks-wxfd6r4b.js → stacks-esm-8jt6k8p3.js} +13 -13
- package/dist/shared/{stacks-wxfd6r4b.js.map → stacks-esm-8jt6k8p3.js.map} +2 -2
- package/dist/shared/{stacks-x0qqwrev.js → stacks-esm-a20wyky3.js} +92 -92
- package/dist/shared/{stacks-agk106zs.cjs.map → stacks-esm-a20wyky3.js.map} +2 -2
- package/dist/shared/{stacks-gjz26k6b.js → stacks-esm-b54n1jdx.js} +102 -58
- package/dist/shared/stacks-esm-b54n1jdx.js.map +12 -0
- package/dist/shared/{stacks-9c1yam8b.js → stacks-esm-cmtj5vky.js} +162 -162
- package/dist/shared/{stacks-9c1yam8b.js.map → stacks-esm-cmtj5vky.js.map} +2 -2
- package/dist/shared/{stacks-z90xdr1x.js → stacks-esm-e2qhfgke.js} +36 -36
- package/dist/shared/{stacks-z90xdr1x.js.map → stacks-esm-e2qhfgke.js.map} +2 -2
- package/dist/shared/{stacks-v03zef3g.js → stacks-esm-ea4m4bk7.js} +117 -117
- package/dist/shared/{stacks-v03zef3g.js.map → stacks-esm-ea4m4bk7.js.map} +2 -2
- package/dist/shared/{stacks-69nq48jp.js → stacks-esm-hkw1kvd4.js} +140 -140
- package/dist/shared/{stacks-69nq48jp.js.map → stacks-esm-hkw1kvd4.js.map} +2 -2
- package/dist/shared/{stacks-qcae5852.js → stacks-esm-k108pemv.js} +4 -4
- package/dist/shared/{stacks-qcae5852.js.map → stacks-esm-k108pemv.js.map} +2 -2
- package/dist/shared/stacks-esm-kbz5s6v8.js +84 -0
- package/dist/shared/{stacks-4d7c3x27.js.map → stacks-esm-kbz5s6v8.js.map} +2 -2
- package/dist/shared/{stacks-kg1npstf.js → stacks-esm-mt1thm7k.js} +9 -9
- package/dist/shared/{stacks-kg1npstf.js.map → stacks-esm-mt1thm7k.js.map} +2 -2
- package/dist/shared/{stacks-yvb7rvwk.js → stacks-esm-n1mekwnb.js} +9 -9
- package/dist/shared/{stacks-8vzxax5e.cjs.map → stacks-esm-n1mekwnb.js.map} +2 -2
- package/dist/shared/{stacks-mftyrc60.js → stacks-esm-nt5hf8ht.js} +34 -34
- package/dist/shared/{stacks-mftyrc60.js.map → stacks-esm-nt5hf8ht.js.map} +2 -2
- package/dist/shared/{stacks-51ybf135.js → stacks-esm-phgy8yqf.js} +210 -210
- package/dist/shared/{stacks-51ybf135.js.map → stacks-esm-phgy8yqf.js.map} +2 -2
- package/dist/shared/{stacks-mbt36bzt.js → stacks-esm-pxv6ny92.js} +116 -116
- package/dist/shared/{stacks-mbt36bzt.js.map → stacks-esm-pxv6ny92.js.map} +2 -2
- package/dist/shared/{stacks-8brgfvqx.js → stacks-esm-qfzxhdqz.js} +19 -19
- package/dist/shared/{stacks-8brgfvqx.js.map → stacks-esm-qfzxhdqz.js.map} +2 -2
- package/dist/shared/{stacks-fd4rx56e.js → stacks-esm-snj9s2q8.js} +43 -43
- package/dist/shared/{stacks-fd4rx56e.js.map → stacks-esm-snj9s2q8.js.map} +2 -2
- package/dist/shared/{stacks-yajyej2y.js → stacks-esm-ss9ap75h.js} +28 -28
- package/dist/shared/{stacks-yajyej2y.js.map → stacks-esm-ss9ap75h.js.map} +2 -2
- package/dist/shared/{stacks-1m3m1agc.js → stacks-esm-t88hc019.js} +18 -18
- package/dist/shared/{stacks-1m3m1agc.js.map → stacks-esm-t88hc019.js.map} +2 -2
- package/dist/shared/stacks-esm-tdrdye4y.js +48 -0
- package/dist/shared/{stacks-enpj9krt.cjs.map → stacks-esm-tdrdye4y.js.map} +2 -2
- package/dist/src/accounts/index.cjs +565 -9
- package/dist/src/accounts/index.cjs.map +10 -4
- package/dist/src/accounts/index.d.cts +1 -1
- package/dist/src/accounts/index.d.ts +1 -1
- package/dist/src/accounts/index.js +26 -26
- package/dist/src/accounts/index.js.map +2 -2
- package/dist/src/actions/index.cjs +3860 -44
- package/dist/src/actions/index.cjs.map +65 -3
- package/dist/src/actions/index.d.cts +1 -1
- package/dist/src/actions/index.d.ts +1 -1
- package/dist/src/actions/index.js +102 -103
- package/dist/src/actions/index.js.map +1 -1
- package/dist/src/bitcoin/index.cjs +2506 -31
- package/dist/src/bitcoin/index.cjs.map +31 -3
- package/dist/src/bitcoin/index.d.cts +92 -92
- package/dist/src/bitcoin/index.d.ts +92 -92
- package/dist/src/bitcoin/index.js +88 -90
- package/dist/src/bitcoin/index.js.map +2 -2
- package/dist/src/bns/index.cjs +4435 -10
- package/dist/src/bns/index.cjs.map +50 -3
- package/dist/src/bns/index.d.cts +1 -1
- package/dist/src/bns/index.d.ts +1 -1
- package/dist/src/bns/index.js +39 -41
- package/dist/src/bns/index.js.map +2 -2
- package/dist/src/chains/index.cjs +141 -5
- package/dist/src/chains/index.cjs.map +5 -3
- package/dist/src/chains/index.d.cts +1 -1
- package/dist/src/chains/index.d.ts +1 -1
- package/dist/src/chains/index.js +12 -12
- package/dist/src/chains/index.js.map +1 -1
- package/dist/src/clarity/index.cjs +2021 -1
- package/dist/src/clarity/index.cjs.map +24 -3
- package/dist/src/clarity/index.d.cts +1 -1
- package/dist/src/clarity/index.d.ts +1 -1
- package/dist/src/clarity/index.js +170 -171
- package/dist/src/clarity/index.js.map +1 -1
- package/dist/src/connect/index.cjs +19 -19
- package/dist/src/connect/index.cjs.map +2 -2
- package/dist/src/connect/index.d.cts +1 -1
- package/dist/src/connect/index.d.ts +1 -1
- package/dist/src/connect/index.js +19 -19
- package/dist/src/connect/index.js.map +2 -2
- package/dist/src/connect/walletconnect/index.cjs +6 -46
- package/dist/src/connect/walletconnect/index.cjs.map +3 -4
- package/dist/src/connect/walletconnect/index.d.cts +1 -1
- package/dist/src/connect/walletconnect/index.d.ts +1 -1
- package/dist/src/connect/walletconnect/index.js +6 -46
- package/dist/src/connect/walletconnect/index.js.map +3 -4
- package/dist/src/filters/index.cjs +727 -1
- package/dist/src/filters/index.cjs.map +11 -3
- package/dist/src/filters/index.d.cts +76 -13
- package/dist/src/filters/index.d.ts +76 -13
- package/dist/src/filters/index.js +30 -26
- package/dist/src/filters/index.js.map +1 -1
- package/dist/src/index.cjs +4000 -126
- package/dist/src/index.cjs.map +69 -4
- package/dist/src/index.d.cts +658 -607
- package/dist/src/index.d.ts +658 -607
- package/dist/src/index.js +219 -219
- package/dist/src/index.js.map +2 -2
- package/dist/src/postconditions/index.cjs +1728 -1
- package/dist/src/postconditions/index.cjs.map +20 -3
- package/dist/src/postconditions/index.d.cts +1 -1
- package/dist/src/postconditions/index.d.ts +1 -1
- package/dist/src/postconditions/index.js +16 -17
- package/dist/src/postconditions/index.js.map +1 -1
- package/dist/src/pox/index.cjs +3866 -11
- package/dist/src/pox/index.cjs.map +48 -3
- package/dist/src/pox/index.d.cts +1 -1
- package/dist/src/pox/index.d.ts +1 -1
- package/dist/src/pox/index.js +40 -41
- package/dist/src/pox/index.js.map +2 -2
- package/dist/src/pox5/index.cjs +4124 -95
- package/dist/src/pox5/index.cjs.map +55 -4
- package/dist/src/pox5/index.d.cts +9 -1
- package/dist/src/pox5/index.d.ts +9 -1
- package/dist/src/pox5/index.js +210 -209
- package/dist/src/pox5/index.js.map +3 -3
- package/dist/src/sbtc/index.cjs +3719 -16
- package/dist/src/sbtc/index.cjs.map +47 -3
- package/dist/src/sbtc/index.d.cts +1 -1
- package/dist/src/sbtc/index.d.ts +1 -1
- package/dist/src/sbtc/index.js +39 -40
- package/dist/src/sbtc/index.js.map +2 -2
- package/dist/src/simnet/index.cjs +16 -16
- package/dist/src/simnet/index.cjs.map +2 -2
- package/dist/src/simnet/index.d.cts +1 -1
- package/dist/src/simnet/index.d.ts +1 -1
- package/dist/src/simnet/index.js +16 -16
- package/dist/src/simnet/index.js.map +2 -2
- package/dist/src/stackingdao/index.cjs +3747 -3
- package/dist/src/stackingdao/index.cjs.map +45 -3
- package/dist/src/stackingdao/index.d.cts +1 -1
- package/dist/src/stackingdao/index.d.ts +1 -1
- package/dist/src/stackingdao/index.js +26 -27
- package/dist/src/stackingdao/index.js.map +2 -2
- package/dist/src/subscriptions/index.cjs +160 -6
- package/dist/src/subscriptions/index.cjs.map +6 -3
- package/dist/src/subscriptions/index.d.cts +1 -1
- package/dist/src/subscriptions/index.d.ts +1 -1
- package/dist/src/subscriptions/index.js +14 -15
- package/dist/src/subscriptions/index.js.map +1 -1
- package/dist/src/transactions/index.cjs +2189 -49
- package/dist/src/transactions/index.cjs.map +23 -3
- package/dist/src/transactions/index.d.cts +1 -1
- package/dist/src/transactions/index.d.ts +1 -1
- package/dist/src/transactions/index.js +104 -105
- package/dist/src/transactions/index.js.map +1 -1
- package/dist/src/utils/index.cjs +503 -69
- package/dist/src/utils/index.cjs.map +9 -3
- package/dist/src/utils/index.d.cts +1 -1
- package/dist/src/utils/index.d.ts +1 -1
- package/dist/src/utils/index.js +131 -131
- package/dist/src/utils/index.js.map +2 -2
- package/package.json +1 -1
- package/dist/shared/stacks-02actsrx.cjs +0 -17
- package/dist/shared/stacks-02actsrx.cjs.map +0 -10
- package/dist/shared/stacks-03vfm21t.cjs +0 -222
- package/dist/shared/stacks-03vfm21t.cjs.map +0 -12
- package/dist/shared/stacks-24h5k94q.cjs +0 -74
- package/dist/shared/stacks-24h5k94q.cjs.map +0 -11
- package/dist/shared/stacks-37kz5t9f.cjs +0 -764
- package/dist/shared/stacks-37kz5t9f.cjs.map +0 -23
- package/dist/shared/stacks-3mt2q2na.cjs +0 -65
- package/dist/shared/stacks-3mt2q2na.cjs.map +0 -9
- package/dist/shared/stacks-4d7c3x27.js +0 -84
- package/dist/shared/stacks-4hs8r4q2.js.map +0 -10
- package/dist/shared/stacks-8vzxax5e.cjs +0 -45
- package/dist/shared/stacks-agk106zs.cjs +0 -267
- package/dist/shared/stacks-bdgh9n83.cjs +0 -212
- package/dist/shared/stacks-bdgh9n83.cjs.map +0 -11
- package/dist/shared/stacks-dpxnxhqb.cjs +0 -51
- package/dist/shared/stacks-dpxnxhqb.cjs.map +0 -11
- package/dist/shared/stacks-ee53k9j2.cjs +0 -651
- package/dist/shared/stacks-ee53k9j2.cjs.map +0 -13
- package/dist/shared/stacks-enpj9krt.cjs +0 -38
- package/dist/shared/stacks-f35mnrmg.cjs +0 -164
- package/dist/shared/stacks-f35mnrmg.cjs.map +0 -10
- package/dist/shared/stacks-fhzwsn5d.cjs +0 -261
- package/dist/shared/stacks-fhzwsn5d.cjs.map +0 -12
- package/dist/shared/stacks-gjz26k6b.js.map +0 -12
- package/dist/shared/stacks-gza2n1zs.cjs +0 -73
- package/dist/shared/stacks-gza2n1zs.cjs.map +0 -11
- package/dist/shared/stacks-kem68d80.cjs +0 -156
- package/dist/shared/stacks-kem68d80.cjs.map +0 -10
- package/dist/shared/stacks-n98w7g57.cjs +0 -234
- package/dist/shared/stacks-n98w7g57.cjs.map +0 -10
- package/dist/shared/stacks-p337hp6m.cjs +0 -336
- package/dist/shared/stacks-p337hp6m.cjs.map +0 -25
- package/dist/shared/stacks-q34k4vnc.cjs +0 -286
- package/dist/shared/stacks-q34k4vnc.cjs.map +0 -12
- package/dist/shared/stacks-qex691bh.js +0 -50
- package/dist/shared/stacks-rryme9bv.cjs +0 -569
- package/dist/shared/stacks-rryme9bv.cjs.map +0 -13
- package/dist/shared/stacks-s5vej5z6.cjs +0 -410
- package/dist/shared/stacks-s5vej5z6.cjs.map +0 -15
- package/dist/shared/stacks-sdqkapct.cjs +0 -67
- package/dist/shared/stacks-sdqkapct.cjs.map +0 -12
- package/dist/shared/stacks-v2rfr46a.js +0 -48
- package/dist/shared/stacks-v2rfr46a.js.map +0 -10
- package/dist/shared/stacks-vea7nde7.cjs +0 -731
- package/dist/shared/stacks-vea7nde7.cjs.map +0 -13
- package/dist/shared/stacks-wk8yp13j.cjs +0 -33
- package/dist/shared/stacks-wk8yp13j.cjs.map +0 -11
- package/dist/shared/stacks-x0qqwrev.js.map +0 -12
- package/dist/shared/stacks-xjkn3en1.cjs +0 -42
- package/dist/shared/stacks-xnrywjf1.cjs +0 -131
- package/dist/shared/stacks-xnrywjf1.cjs.map +0 -11
- package/dist/shared/stacks-yvb7rvwk.js.map +0 -10
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
} from "./stacks-qex691bh.js";
|
|
2
|
+
deserializeCVBytes2
|
|
3
|
+
} from "./stacks-esm-hkw1kvd4.js";
|
|
5
4
|
import {
|
|
6
|
-
|
|
7
|
-
} from "./stacks-
|
|
5
|
+
parseContractId2
|
|
6
|
+
} from "./stacks-esm-kbz5s6v8.js";
|
|
8
7
|
import {
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
MalformedResponseError2,
|
|
9
|
+
readContract2
|
|
10
|
+
} from "./stacks-esm-0pc6tmf0.js";
|
|
11
11
|
|
|
12
12
|
// src/actions/public/getBalance.ts
|
|
13
|
-
async function
|
|
13
|
+
async function getBalance2(client, params) {
|
|
14
14
|
const data = await client.request(`/v2/accounts/${encodeURIComponent(params.address)}`, {
|
|
15
15
|
method: "GET"
|
|
16
16
|
});
|
|
17
17
|
const balance = data?.balance;
|
|
18
18
|
if (typeof balance !== "string" && typeof balance !== "number") {
|
|
19
|
-
throw new
|
|
19
|
+
throw new MalformedResponseError2(`getBalance: /v2/accounts/${params.address} response is missing "balance"`);
|
|
20
20
|
}
|
|
21
21
|
return BigInt(balance);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
// src/actions/public/getDataVar.ts
|
|
25
|
-
async function
|
|
26
|
-
const [address, name] =
|
|
25
|
+
async function getDataVar2(client, params) {
|
|
26
|
+
const [address, name] = parseContractId2(params.contract);
|
|
27
27
|
const path = `/v2/data_var/${address}/${name}/${params.varName}?proof=0`;
|
|
28
28
|
const data = await client.request(path, { method: "GET" });
|
|
29
29
|
if (typeof data?.data !== "string") {
|
|
30
|
-
throw new
|
|
30
|
+
throw new MalformedResponseError2(`getDataVar: /v2/data_var/${address}/${name}/${params.varName} response is missing "data"`);
|
|
31
31
|
}
|
|
32
|
-
return
|
|
32
|
+
return deserializeCVBytes2(data.data);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
// src/actions/public/multicall.ts
|
|
@@ -53,12 +53,12 @@ async function mapWithConcurrency(items, limit, fn) {
|
|
|
53
53
|
await Promise.all(Array.from({ length: workers }, worker));
|
|
54
54
|
return results;
|
|
55
55
|
}
|
|
56
|
-
async function
|
|
56
|
+
async function multicall2(client, params) {
|
|
57
57
|
const { calls, allowFailure = true, concurrency = 8 } = params;
|
|
58
58
|
if (!Number.isInteger(concurrency) || concurrency < 1) {
|
|
59
59
|
throw new RangeError(`multicall concurrency must be a positive integer, got ${concurrency}`);
|
|
60
60
|
}
|
|
61
|
-
const settled = await mapWithConcurrency(calls, concurrency, (call) =>
|
|
61
|
+
const settled = await mapWithConcurrency(calls, concurrency, (call) => readContract2(client, call));
|
|
62
62
|
if (allowFailure) {
|
|
63
63
|
return settled.map((r) => r.status === "fulfilled" ? { status: "success", result: r.value } : {
|
|
64
64
|
status: "failure",
|
|
@@ -74,7 +74,7 @@ async function multicall(client, params) {
|
|
|
74
74
|
return results;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
export {
|
|
77
|
+
export { getBalance2, getDataVar2, multicall2 };
|
|
78
78
|
|
|
79
|
-
//# debugId=
|
|
80
|
-
//# sourceMappingURL=stacks-
|
|
79
|
+
//# debugId=67ECD438D984CEAE64756E2164756E21
|
|
80
|
+
//# sourceMappingURL=stacks-esm-t88hc019.js.map
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"import { deserializeCVBytes } from \"../../clarity/deserialize.ts\";\nimport type { ClarityValue } from \"../../clarity/types.ts\";\nimport type { Client } from \"../../clients/types.ts\";\nimport { MalformedResponseError } from \"../../errors/response.ts\";\nimport { parseContractId } from \"../../utils/address.ts\";\n\nexport type GetDataVarParams = {\n\tcontract: string; // \"address.name\"\n\tvarName: string;\n};\n\nexport async function getDataVar<T extends ClarityValue = ClarityValue>(\n\tclient: Client,\n\tparams: GetDataVarParams,\n): Promise<T> {\n\tconst [address, name] = parseContractId(params.contract);\n\tconst path = `/v2/data_var/${address}/${name}/${params.varName}?proof=0`;\n\n\tconst data = await client.request(path, { method: \"GET\" });\n\n\tif (typeof data?.data !== \"string\") {\n\t\tthrow new MalformedResponseError(\n\t\t\t`getDataVar: /v2/data_var/${address}/${name}/${params.varName} response is missing \"data\"`,\n\t\t);\n\t}\n\treturn deserializeCVBytes<T>(data.data);\n}\n",
|
|
7
7
|
"import type { ClarityValue } from \"../../clarity/types.ts\";\nimport type { Client } from \"../../clients/types.ts\";\nimport { readContract } from \"./readContract.ts\";\n\nexport type MulticallCall = {\n\tcontract: string;\n\tfunctionName: string;\n\targs?: ClarityValue[];\n\tsender?: string;\n};\n\nexport type MulticallParams<TAllowFailure extends boolean = true> = {\n\tcalls: readonly MulticallCall[];\n\tallowFailure?: TAllowFailure;\n\t/**\n\t * Reads in flight at once. Default 8. Each call is its own\n\t * `/v2/contracts/call-read` request (Stacks nodes have no batch RPC), so\n\t * an uncapped fan-out turns one multicall into a burst that trips rate\n\t * limits and then retries in lockstep.\n\t */\n\tconcurrency?: number;\n};\n\nexport type MulticallSuccessResult = {\n\tstatus: \"success\";\n\tresult: ClarityValue;\n};\nexport type MulticallFailureResult = { status: \"failure\"; error: Error };\n\nexport type MulticallResult<T extends boolean> = T extends true\n\t? (MulticallSuccessResult | MulticallFailureResult)[]\n\t: ClarityValue[];\n\n/** Run `fn` over `items` with at most `limit` in flight, preserving order. */\nasync function mapWithConcurrency<T, R>(\n\titems: readonly T[],\n\tlimit: number,\n\tfn: (item: T) => Promise<R>,\n): Promise<PromiseSettledResult<R>[]> {\n\tconst results: PromiseSettledResult<R>[] = new Array(items.length);\n\tlet cursor = 0;\n\tconst worker = async () => {\n\t\twhile (cursor < items.length) {\n\t\t\tconst index = cursor++;\n\t\t\ttry {\n\t\t\t\tresults[index] = {\n\t\t\t\t\tstatus: \"fulfilled\",\n\t\t\t\t\tvalue: await fn(items[index] as T),\n\t\t\t\t};\n\t\t\t} catch (reason) {\n\t\t\t\tresults[index] = { status: \"rejected\", reason };\n\t\t\t}\n\t\t}\n\t};\n\tconst workers = Math.max(1, Math.min(limit, items.length));\n\tawait Promise.all(Array.from({ length: workers }, worker));\n\treturn results;\n}\n\nexport async function multicall<TAllowFailure extends boolean = true>(\n\tclient: Client,\n\tparams: MulticallParams<TAllowFailure>,\n): Promise<MulticallResult<TAllowFailure>> {\n\tconst { calls, allowFailure = true, concurrency = 8 } = params;\n\tif (!Number.isInteger(concurrency) || concurrency < 1) {\n\t\tthrow new RangeError(\n\t\t\t`multicall concurrency must be a positive integer, got ${concurrency}`,\n\t\t);\n\t}\n\n\tconst settled = await mapWithConcurrency(calls, concurrency, (call) =>\n\t\treadContract(client, call),\n\t);\n\n\tif (allowFailure) {\n\t\treturn settled.map((r) =>\n\t\t\tr.status === \"fulfilled\"\n\t\t\t\t? { status: \"success\" as const, result: r.value }\n\t\t\t\t: {\n\t\t\t\t\t\tstatus: \"failure\" as const,\n\t\t\t\t\t\terror:\n\t\t\t\t\t\t\tr.reason instanceof Error\n\t\t\t\t\t\t\t\t? r.reason\n\t\t\t\t\t\t\t\t: new Error(String(r.reason)),\n\t\t\t\t\t},\n\t\t) as MulticallResult<TAllowFailure>;\n\t}\n\n\tconst results: ClarityValue[] = [];\n\tfor (const r of settled) {\n\t\tif (r.status === \"rejected\") throw r.reason;\n\t\tresults.push(r.value);\n\t}\n\treturn results as MulticallResult<TAllowFailure>;\n}\n"
|
|
8
8
|
],
|
|
9
|
-
"mappings": ";;;;;;;;;;;;AAOA,eAAsB,
|
|
10
|
-
"debugId": "
|
|
9
|
+
"mappings": ";;;;;;;;;;;;AAOA,eAAsB,WAAU,CAC/B,QACA,QACkB;AAAA,EAClB,MAAM,OAAO,MAAM,OAAO,QACzB,gBAAgB,mBAAmB,OAAO,OAAO,KACjD;AAAA,IACC,QAAQ;AAAA,EACT,CACD;AAAA,EACA,MAAM,UAAW,MAAgC;AAAA,EACjD,IAAI,OAAO,YAAY,YAAY,OAAO,YAAY,UAAU;AAAA,IAC/D,MAAM,IAAI,wBACT,4BAA4B,OAAO,uCACpC;AAAA,EACD;AAAA,EACA,OAAO,OAAO,OAAO;AAAA;;;ACZtB,eAAsB,WAAiD,CACtE,QACA,QACa;AAAA,EACb,OAAO,SAAS,QAAQ,iBAAgB,OAAO,QAAQ;AAAA,EACvD,MAAM,OAAO,gBAAgB,WAAW,QAAQ,OAAO;AAAA,EAEvD,MAAM,OAAO,MAAM,OAAO,QAAQ,MAAM,EAAE,QAAQ,MAAM,CAAC;AAAA,EAEzD,IAAI,OAAO,MAAM,SAAS,UAAU;AAAA,IACnC,MAAM,IAAI,wBACT,4BAA4B,WAAW,QAAQ,OAAO,oCACvD;AAAA,EACD;AAAA,EACA,OAAO,oBAAsB,KAAK,IAAI;AAAA;;;ACSvC,eAAe,kBAAwB,CACtC,OACA,OACA,IACqC;AAAA,EACrC,MAAM,UAAqC,IAAI,MAAM,MAAM,MAAM;AAAA,EACjE,IAAI,SAAS;AAAA,EACb,MAAM,SAAS,YAAY;AAAA,IAC1B,OAAO,SAAS,MAAM,QAAQ;AAAA,MAC7B,MAAM,QAAQ;AAAA,MACd,IAAI;AAAA,QACH,QAAQ,SAAS;AAAA,UAChB,QAAQ;AAAA,UACR,OAAO,MAAM,GAAG,MAAM,MAAW;AAAA,QAClC;AAAA,QACC,OAAO,QAAQ;AAAA,QAChB,QAAQ,SAAS,EAAE,QAAQ,YAAY,OAAO;AAAA;AAAA,IAEhD;AAAA;AAAA,EAED,MAAM,UAAU,KAAK,IAAI,GAAG,KAAK,IAAI,OAAO,MAAM,MAAM,CAAC;AAAA,EACzD,MAAM,QAAQ,IAAI,MAAM,KAAK,EAAE,QAAQ,QAAQ,GAAG,MAAM,CAAC;AAAA,EACzD,OAAO;AAAA;AAGR,eAAsB,UAA+C,CACpE,QACA,QAC0C;AAAA,EAC1C,QAAQ,OAAO,eAAe,MAAM,cAAc,MAAM;AAAA,EACxD,IAAI,CAAC,OAAO,UAAU,WAAW,KAAK,cAAc,GAAG;AAAA,IACtD,MAAM,IAAI,WACT,yDAAyD,aAC1D;AAAA,EACD;AAAA,EAEA,MAAM,UAAU,MAAM,mBAAmB,OAAO,aAAa,CAAC,SAC7D,cAAa,QAAQ,IAAI,CAC1B;AAAA,EAEA,IAAI,cAAc;AAAA,IACjB,OAAO,QAAQ,IAAI,CAAC,MACnB,EAAE,WAAW,cACV,EAAE,QAAQ,WAAoB,QAAQ,EAAE,MAAM,IAC9C;AAAA,MACA,QAAQ;AAAA,MACR,OACC,EAAE,kBAAkB,QACjB,EAAE,SACF,IAAI,MAAM,OAAO,EAAE,MAAM,CAAC;AAAA,IAC/B,CACH;AAAA,EACD;AAAA,EAEA,MAAM,UAA0B,CAAC;AAAA,EACjC,WAAW,KAAK,SAAS;AAAA,IACxB,IAAI,EAAE,WAAW;AAAA,MAAY,MAAM,EAAE;AAAA,IACrC,QAAQ,KAAK,EAAE,KAAK;AAAA,EACrB;AAAA,EACA,OAAO;AAAA;",
|
|
10
|
+
"debugId": "67ECD438D984CEAE64756E2164756E21",
|
|
11
11
|
"names": []
|
|
12
12
|
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import {
|
|
2
|
+
bytesToHex2,
|
|
3
|
+
concatBytes2
|
|
4
|
+
} from "./stacks-esm-7a0ehykf.js";
|
|
5
|
+
import {
|
|
6
|
+
serializeCVBytes2
|
|
7
|
+
} from "./stacks-esm-hkw1kvd4.js";
|
|
8
|
+
|
|
9
|
+
// src/clarity/structuredData.ts
|
|
10
|
+
import { sha256 } from "@noble/hashes/sha2.js";
|
|
11
|
+
var SIP018_PREFIX2 = new Uint8Array([
|
|
12
|
+
83,
|
|
13
|
+
73,
|
|
14
|
+
80,
|
|
15
|
+
48,
|
|
16
|
+
49,
|
|
17
|
+
56
|
|
18
|
+
]);
|
|
19
|
+
function hashStructuredData2(structuredData) {
|
|
20
|
+
return sha256(serializeCVBytes2(structuredData));
|
|
21
|
+
}
|
|
22
|
+
function isDomain(value) {
|
|
23
|
+
if (value.type !== "tuple")
|
|
24
|
+
return false;
|
|
25
|
+
const { name, version, "chain-id": chainId } = value.value;
|
|
26
|
+
return name?.type === "ascii" && version?.type === "ascii" && chainId?.type === "uint";
|
|
27
|
+
}
|
|
28
|
+
function encodeStructuredData2(opts) {
|
|
29
|
+
if (!isDomain(opts.domain)) {
|
|
30
|
+
throw new Error("domain must be a tuple { name: ascii, version: ascii, chain-id: uint }");
|
|
31
|
+
}
|
|
32
|
+
return concatBytes2(SIP018_PREFIX2, hashStructuredData2(opts.domain), hashStructuredData2(opts.message));
|
|
33
|
+
}
|
|
34
|
+
function structuredDataHash2(opts) {
|
|
35
|
+
return sha256(encodeStructuredData2(opts));
|
|
36
|
+
}
|
|
37
|
+
async function signStructuredData2(account, opts) {
|
|
38
|
+
const vrs = await account.sign(structuredDataHash2(opts));
|
|
39
|
+
if (vrs.length !== 65) {
|
|
40
|
+
throw new Error(`Expected 65-byte recoverable signature, got ${vrs.length}`);
|
|
41
|
+
}
|
|
42
|
+
return bytesToHex2(concatBytes2(vrs.slice(1), vrs.slice(0, 1)));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export { SIP018_PREFIX2, hashStructuredData2, encodeStructuredData2, structuredDataHash2, signStructuredData2 };
|
|
46
|
+
|
|
47
|
+
//# debugId=A7BA1AC1CF45D0DA64756E2164756E21
|
|
48
|
+
//# sourceMappingURL=stacks-esm-tdrdye4y.js.map
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import { sha256 } from \"@noble/hashes/sha2.js\";\nimport type { LocalAccount } from \"../accounts/types.ts\";\nimport { bytesToHex, concatBytes } from \"../utils/encoding.ts\";\nimport { serializeCVBytes } from \"./serialize.ts\";\nimport type { ClarityValue, TupleCV } from \"./types.ts\";\n\n/** asciiToBytes(\"SIP018\") */\nexport const SIP018_PREFIX: Uint8Array = new Uint8Array([\n\t0x53, 0x49, 0x50, 0x30, 0x31, 0x38,\n]);\n\n/** sha256(serialize(cv)) — inner hash used by SIP-018. */\nexport function hashStructuredData(structuredData: ClarityValue): Uint8Array {\n\treturn sha256(serializeCVBytes(structuredData));\n}\n\nfunction isDomain(value: ClarityValue): value is TupleCV {\n\tif (value.type !== \"tuple\") return false;\n\tconst { name, version, \"chain-id\": chainId } = value.value;\n\treturn (\n\t\tname?.type === \"ascii\" &&\n\t\tversion?.type === \"ascii\" &&\n\t\tchainId?.type === \"uint\"\n\t);\n}\n\n/**\n * SIP-018 encoding: `\"SIP018\" || sha256(serialize(domain)) || sha256(serialize(message))`.\n * The signature is over `sha256` of this buffer.\n */\nexport function encodeStructuredData(opts: {\n\tmessage: ClarityValue;\n\tdomain: ClarityValue;\n}): Uint8Array {\n\tif (!isDomain(opts.domain)) {\n\t\tthrow new Error(\n\t\t\t\"domain must be a tuple { name: ascii, version: ascii, chain-id: uint }\",\n\t\t);\n\t}\n\treturn concatBytes(\n\t\tSIP018_PREFIX,\n\t\thashStructuredData(opts.domain),\n\t\thashStructuredData(opts.message),\n\t);\n}\n\n/** SIP-018 message hash: sha256(encodeStructuredData(...)). */\nexport function structuredDataHash(opts: {\n\tmessage: ClarityValue;\n\tdomain: ClarityValue;\n}): Uint8Array {\n\treturn sha256(encodeStructuredData(opts));\n}\n\n/**\n * Sign a SIP-018 structured message. Returns a 65-byte recoverable signature\n * in RSV order (recovery byte last) — the layout contracts expect.\n */\nexport async function signStructuredData(\n\taccount: LocalAccount,\n\topts: { message: ClarityValue; domain: ClarityValue },\n): Promise<string> {\n\tconst vrs = await account.sign(structuredDataHash(opts));\n\tif (vrs.length !== 65) {\n\t\tthrow new Error(\n\t\t\t`Expected 65-byte recoverable signature, got ${vrs.length}`,\n\t\t);\n\t}\n\treturn bytesToHex(concatBytes(vrs.slice(1), vrs.slice(0, 1)));\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": ";
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": ";;;;;;;;;AAAA;AAOO,IAAM,iBAA4B,IAAI,WAAW;AAAA,EACvD;AAAA,EAAM;AAAA,EAAM;AAAA,EAAM;AAAA,EAAM;AAAA,EAAM;AAC/B,CAAC;AAGM,SAAS,mBAAkB,CAAC,gBAA0C;AAAA,EAC5E,OAAO,OAAO,kBAAiB,cAAc,CAAC;AAAA;AAG/C,SAAS,QAAQ,CAAC,OAAuC;AAAA,EACxD,IAAI,MAAM,SAAS;AAAA,IAAS,OAAO;AAAA,EACnC,QAAQ,MAAM,SAAS,YAAY,YAAY,MAAM;AAAA,EACrD,OACC,MAAM,SAAS,WACf,SAAS,SAAS,WAClB,SAAS,SAAS;AAAA;AAQb,SAAS,qBAAoB,CAAC,MAGtB;AAAA,EACd,IAAI,CAAC,SAAS,KAAK,MAAM,GAAG;AAAA,IAC3B,MAAM,IAAI,MACT,wEACD;AAAA,EACD;AAAA,EACA,OAAO,aACN,gBACA,oBAAmB,KAAK,MAAM,GAC9B,oBAAmB,KAAK,OAAO,CAChC;AAAA;AAIM,SAAS,mBAAkB,CAAC,MAGpB;AAAA,EACd,OAAO,OAAO,sBAAqB,IAAI,CAAC;AAAA;AAOzC,eAAsB,mBAAkB,CACvC,SACA,MACkB;AAAA,EAClB,MAAM,MAAM,MAAM,QAAQ,KAAK,oBAAmB,IAAI,CAAC;AAAA,EACvD,IAAI,IAAI,WAAW,IAAI;AAAA,IACtB,MAAM,IAAI,MACT,+CAA+C,IAAI,QACpD;AAAA,EACD;AAAA,EACA,OAAO,YAAW,aAAY,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;AAAA;",
|
|
8
|
+
"debugId": "A7BA1AC1CF45D0DA64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|