@secondlayer/stacks 0.2.0 → 0.2.2
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-2ar4prfz.cjs +328 -0
- package/dist/shared/stacks-2ar4prfz.cjs.map +11 -0
- package/dist/shared/{stacks-ph4a6322.js → stacks-6m1z4j07.js} +26 -24
- package/dist/shared/stacks-6m1z4j07.js.map +10 -0
- package/dist/shared/{stacks-0hqzpm29.js → stacks-96gaxfcf.js} +9 -13
- package/dist/shared/{stacks-0hqzpm29.js.map → stacks-96gaxfcf.js.map} +2 -2
- package/dist/shared/stacks-dr5en54r.cjs +119 -0
- package/dist/shared/stacks-dr5en54r.cjs.map +10 -0
- package/dist/shared/{stacks-v3zy6zds.cjs → stacks-etf219gs.cjs} +11 -7
- package/dist/shared/stacks-etf219gs.cjs.map +10 -0
- package/dist/shared/stacks-je937aas.js +121 -0
- package/dist/shared/stacks-je937aas.js.map +10 -0
- package/dist/shared/stacks-jrnmh4kc.js +282 -0
- package/dist/shared/stacks-jrnmh4kc.js.map +11 -0
- package/dist/shared/{stacks-8qhfd37f.js → stacks-k9p8m3wf.js} +15 -19
- package/dist/shared/{stacks-8qhfd37f.js.map → stacks-k9p8m3wf.js.map} +2 -2
- package/dist/shared/{stacks-j2cy7qtt.js → stacks-ky14tdf6.cjs} +109 -24
- package/dist/shared/stacks-ky14tdf6.cjs.map +13 -0
- package/dist/shared/stacks-mrk6tkkh.cjs +41 -0
- package/dist/shared/{stacks-2gdt3aqj.cjs.map → stacks-mrk6tkkh.cjs.map} +1 -1
- package/dist/shared/{stacks-d1fmkv3p.js → stacks-p93g814f.js} +3 -3
- package/dist/shared/{stacks-zhd20wgz.js → stacks-q79dx28x.js} +3 -3
- package/dist/shared/{stacks-r1t6g3c3.cjs → stacks-ra02bpny.cjs} +8 -3
- package/dist/shared/{stacks-r1t6g3c3.cjs.map → stacks-ra02bpny.cjs.map} +3 -3
- package/dist/shared/{stacks-b008c3w8.cjs → stacks-rg1g0fja.js} +134 -2
- package/dist/shared/stacks-rg1g0fja.js.map +13 -0
- package/dist/shared/{stacks-bycy6t9k.js → stacks-rwfgts3s.js} +2 -2
- package/dist/shared/{stacks-gjvbq6w7.js → stacks-s10yb9gz.js} +2 -2
- package/dist/shared/{stacks-nqytwfcc.js → stacks-s7z5q8be.js} +8 -3
- package/dist/shared/{stacks-nqytwfcc.js.map → stacks-s7z5q8be.js.map} +3 -3
- package/dist/shared/{stacks-hfem9dck.cjs → stacks-v6ja2eh7.cjs} +342 -91
- package/dist/shared/stacks-v6ja2eh7.cjs.map +15 -0
- package/dist/shared/{stacks-xtz0n62y.js → stacks-xp9n3r0t.js} +357 -112
- package/dist/shared/stacks-xp9n3r0t.js.map +15 -0
- package/dist/src/accounts/index.js +3 -4
- package/dist/src/accounts/index.js.map +2 -2
- package/dist/src/actions/index.d.cts +7 -0
- package/dist/src/actions/index.d.ts +7 -0
- package/dist/src/actions/index.js +11 -14
- package/dist/src/actions/index.js.map +1 -1
- package/dist/src/bns/index.js +13 -16
- package/dist/src/bns/index.js.map +2 -2
- package/dist/src/chains/index.js +1 -2
- package/dist/src/chains/index.js.map +1 -1
- package/dist/src/clarity/index.cjs +1 -326
- package/dist/src/clarity/index.cjs.map +3 -5
- package/dist/src/clarity/index.js +19 -273
- package/dist/src/clarity/index.js.map +3 -5
- package/dist/src/connect/index.cjs +19 -9
- package/dist/src/connect/index.cjs.map +3 -3
- package/dist/src/connect/index.js.map +2 -2
- package/dist/src/connect/walletconnect/index.cjs +19 -9
- package/dist/src/connect/walletconnect/index.cjs.map +3 -3
- package/dist/src/connect/walletconnect/index.js.map +1 -1
- package/dist/src/index.cjs +1 -2
- package/dist/src/index.cjs.map +3 -3
- package/dist/src/index.d.cts +7 -0
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.js +12 -19
- package/dist/src/index.js.map +3 -3
- package/dist/src/postconditions/index.cjs +1 -117
- package/dist/src/postconditions/index.cjs.map +3 -4
- package/dist/src/postconditions/index.js +5 -119
- package/dist/src/postconditions/index.js.map +3 -4
- package/dist/src/pox/index.js +12 -15
- package/dist/src/pox/index.js.map +2 -2
- package/dist/src/stackingdao/index.js +11 -14
- package/dist/src/stackingdao/index.js.map +2 -2
- package/dist/src/subscriptions/index.js +1 -2
- package/dist/src/subscriptions/index.js.map +1 -1
- package/dist/src/transactions/index.d.cts +7 -0
- package/dist/src/transactions/index.d.ts +7 -0
- package/dist/src/transactions/index.js +18 -22
- package/dist/src/transactions/index.js.map +1 -1
- package/dist/src/utils/index.js +4 -5
- package/dist/src/utils/index.js.map +2 -2
- package/package.json +1 -1
- package/dist/shared/stacks-1aqm7c2h.cjs +0 -110
- package/dist/shared/stacks-1aqm7c2h.cjs.map +0 -11
- package/dist/shared/stacks-2gdt3aqj.cjs +0 -44
- package/dist/shared/stacks-8yykgdww.js +0 -125
- package/dist/shared/stacks-8yykgdww.js.map +0 -11
- package/dist/shared/stacks-b008c3w8.cjs.map +0 -11
- package/dist/shared/stacks-hfem9dck.cjs.map +0 -13
- package/dist/shared/stacks-j2cy7qtt.js.map +0 -11
- package/dist/shared/stacks-kgesjxq4.cjs +0 -247
- package/dist/shared/stacks-kgesjxq4.cjs.map +0 -11
- package/dist/shared/stacks-nbz193yk.js +0 -282
- package/dist/shared/stacks-nbz193yk.js.map +0 -11
- package/dist/shared/stacks-njvyj3ab.js +0 -23
- package/dist/shared/stacks-njvyj3ab.js.map +0 -9
- package/dist/shared/stacks-ph4a6322.js.map +0 -10
- package/dist/shared/stacks-v3zy6zds.cjs.map +0 -10
- package/dist/shared/stacks-xtz0n62y.js.map +0 -13
- /package/dist/shared/{stacks-d1fmkv3p.js.map → stacks-p93g814f.js.map} +0 -0
- /package/dist/shared/{stacks-zhd20wgz.js.map → stacks-q79dx28x.js.map} +0 -0
- /package/dist/shared/{stacks-bycy6t9k.js.map → stacks-rwfgts3s.js.map} +0 -0
- /package/dist/shared/{stacks-gjvbq6w7.js.map → stacks-s10yb9gz.js.map} +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/clarity/prettyPrint.ts", "../src/clarity/abi/converters.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { hexToBytes, bytesToAscii, asciiToBytes, utf8ToBytes } from \"../utils/encoding.ts\";\nimport type { ClarityValue } from \"./types.ts\";\n\nexport function prettyPrint(val: ClarityValue, encoding: \"tryAscii\" | \"hex\" = \"hex\"): string | undefined {\n switch (val.type) {\n case \"true\":\n return \"true\";\n case \"false\":\n return \"false\";\n case \"int\":\n return val.value.toString();\n case \"uint\":\n return `u${val.value.toString()}`;\n case \"buffer\":\n if (encoding === \"tryAscii\") {\n const str = bytesToAscii(hexToBytes(val.value));\n if (/^[ -~]*$/.test(str)) return JSON.stringify(str);\n }\n return `0x${val.value}`;\n case \"none\":\n return \"none\";\n case \"some\":\n return `(some ${prettyPrint(val.value, encoding)})`;\n case \"ok\":\n return `(ok ${prettyPrint(val.value, encoding)})`;\n case \"err\":\n return `(err ${prettyPrint(val.value, encoding)})`;\n case \"address\":\n case \"contract\":\n return val.value;\n case \"list\":\n return `(list ${val.value.map((v) => prettyPrint(v, encoding)).join(\" \")})`;\n case \"tuple\":\n return `(tuple ${Object.keys(val.value)\n .map((key) => `(${key} ${prettyPrint(val.value[key]!, encoding)})`)\n .join(\" \")})`;\n case \"ascii\":\n return `\"${val.value}\"`;\n case \"utf8\":\n return `u\"${val.value}\"`;\n }\n}\n\nexport function cvToJSON(val: ClarityValue): any {\n switch (val.type) {\n case \"true\":\n return { type: \"bool\", value: true };\n case \"false\":\n return { type: \"bool\", value: false };\n case \"int\":\n return { type: \"int\", value: val.value.toString() };\n case \"uint\":\n return { type: \"uint\", value: val.value.toString() };\n case \"buffer\":\n return { type: `(buff ${Math.ceil(val.value.length / 2)})`, value: `0x${val.value}` };\n case \"none\":\n return { type: \"(optional none)\", value: null };\n case \"some\":\n return { type: `(optional)`, value: cvToJSON(val.value) };\n case \"ok\":\n return { type: \"(response)\", value: cvToJSON(val.value), success: true };\n case \"err\":\n return { type: \"(response)\", value: cvToJSON(val.value), success: false };\n case \"address\":\n case \"contract\":\n return { type: \"principal\", value: val.value };\n case \"list\":\n return { type: \"(list)\", value: val.value.map(cvToJSON) };\n case \"tuple\": {\n const result: Record<string, any> = {};\n for (const key of Object.keys(val.value)) {\n result[key] = cvToJSON(val.value[key]!);\n }\n return { type: \"(tuple)\", value: result };\n }\n case \"ascii\":\n return { type: `(string-ascii ${asciiToBytes(val.value).length})`, value: val.value };\n case \"utf8\":\n return { type: `(string-utf8 ${utf8ToBytes(val.value).length})`, value: val.value };\n }\n}\n\nexport function cvToValue(val: ClarityValue): any {\n switch (val.type) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n case \"int\":\n case \"uint\":\n return val.value;\n case \"buffer\":\n return `0x${val.value}`;\n case \"none\":\n return null;\n case \"some\":\n return cvToValue(val.value);\n case \"ok\":\n case \"err\":\n return cvToValue(val.value);\n case \"address\":\n case \"contract\":\n return val.value;\n case \"list\":\n return val.value.map(cvToValue);\n case \"tuple\": {\n const result: Record<string, any> = {};\n for (const key of Object.keys(val.value)) {\n result[key] = cvToValue(val.value[key]!);\n }\n return result;\n }\n case \"ascii\":\n case \"utf8\":\n return val.value;\n }\n}\n",
|
|
6
|
+
"import type { AbiType } from \"./types.ts\";\nimport type { AbiFunction } from \"./contract.ts\";\nimport {\n isUint128,\n isInt128,\n isBool,\n isPrincipal,\n isString,\n isUint8Array,\n isAbiList,\n isAbiTuple,\n isAbiOptional,\n isAbiResponse,\n isAbiBuffer,\n isAbiStringAscii,\n isAbiStringUtf8,\n} from \"./guards.ts\";\nimport { toCamelCase } from \"./utils.ts\";\n\nexport class ClarityConversionError extends Error {\n constructor(\n message: string,\n public readonly type: AbiType,\n public readonly value: unknown,\n ) {\n super(message);\n this.name = \"ClarityConversionError\";\n }\n}\n\nexport function jsToClarity(type: AbiType, value: unknown): unknown {\n if (type === \"none\") return null;\n\n if (type === \"uint128\") {\n if (!isUint128(value))\n throw new ClarityConversionError(\"Invalid uint128 value\", type, value);\n return value;\n }\n\n if (type === \"int128\") {\n if (!isInt128(value))\n throw new ClarityConversionError(\"Invalid int128 value\", type, value);\n return value;\n }\n\n if (type === \"bool\") {\n if (!isBool(value))\n throw new ClarityConversionError(\"Invalid bool value\", type, value);\n return value;\n }\n\n if (type === \"principal\") {\n if (!isPrincipal(value))\n throw new ClarityConversionError(\"Invalid principal value\", type, value);\n return value;\n }\n\n if (type === \"trait_reference\") {\n if (!isPrincipal(value))\n throw new ClarityConversionError(\n \"Invalid trait_reference value\",\n type,\n value,\n );\n return value;\n }\n\n if (isAbiStringAscii(type)) {\n if (!isString(value))\n throw new ClarityConversionError(\n \"Invalid string-ascii value\",\n type,\n value,\n );\n const str = value as string;\n for (let i = 0; i < str.length; i++) {\n if (str.charCodeAt(i) > 127) {\n throw new ClarityConversionError(\n `Non-ASCII character at position ${i}: '${str[i]}' (code ${str.charCodeAt(i)})`,\n type,\n value,\n );\n }\n }\n if (str.length > type[\"string-ascii\"].length) {\n throw new ClarityConversionError(\n `String length ${str.length} exceeds max ${type[\"string-ascii\"].length}`,\n type,\n value,\n );\n }\n return value;\n }\n\n if (isAbiStringUtf8(type)) {\n if (!isString(value))\n throw new ClarityConversionError(\n \"Invalid string-utf8 value\",\n type,\n value,\n );\n const str = value as string;\n const byteLength = new TextEncoder().encode(str).length;\n if (byteLength > type[\"string-utf8\"].length) {\n throw new ClarityConversionError(\n `String byte length ${byteLength} exceeds max ${type[\"string-utf8\"].length}`,\n type,\n value,\n );\n }\n return value;\n }\n\n if (isAbiBuffer(type)) {\n if (!isUint8Array(value))\n throw new ClarityConversionError(\"Invalid buffer value\", type, value);\n const buff = value as Uint8Array;\n if (buff.length > type.buff.length) {\n throw new ClarityConversionError(\n `Buffer length ${buff.length} exceeds max ${type.buff.length}`,\n type,\n value,\n );\n }\n return value;\n }\n\n if (isAbiList(type)) {\n if (!Array.isArray(value))\n throw new ClarityConversionError(\n \"Expected array for list type\",\n type,\n value,\n );\n if (value.length > type.list.length) {\n throw new ClarityConversionError(\n `List length ${value.length} exceeds max ${type.list.length}`,\n type,\n value,\n );\n }\n return value.map((item) => jsToClarity(type.list.type, item));\n }\n\n if (isAbiTuple(type)) {\n if (typeof value !== \"object\" || value === null)\n throw new ClarityConversionError(\n \"Expected object for tuple type\",\n type,\n value,\n );\n const result: Record<string, unknown> = {};\n for (const field of type.tuple) {\n const camelKey = toCamelCase(field.name);\n const hasOriginal = field.name in (value as object);\n const hasCamel = camelKey in (value as object);\n if (!hasOriginal && !hasCamel) {\n throw new ClarityConversionError(\n `Missing tuple field: ${field.name}`,\n type,\n value,\n );\n }\n const fieldValue = hasOriginal\n ? (value as Record<string, unknown>)[field.name]\n : (value as Record<string, unknown>)[camelKey];\n result[field.name] = jsToClarity(field.type, fieldValue);\n }\n return result;\n }\n\n if (isAbiOptional(type)) {\n if (value === null || value === undefined) return null;\n return jsToClarity(type.optional, value);\n }\n\n if (isAbiResponse(type)) {\n if (typeof value !== \"object\" || value === null)\n throw new ClarityConversionError(\n \"Expected object for response type\",\n type,\n value,\n );\n const hasOk = \"ok\" in value;\n const hasErr = \"err\" in value;\n if (hasOk && !hasErr) {\n return {\n ok: jsToClarity(type.response.ok, (value as { ok: unknown }).ok),\n };\n }\n if (hasErr && !hasOk) {\n return {\n err: jsToClarity(\n type.response.error,\n (value as { err: unknown }).err,\n ),\n };\n }\n throw new ClarityConversionError(\n \"Response must have exactly 'ok' or 'err' property\",\n type,\n value,\n );\n }\n\n throw new ClarityConversionError(`Unknown Clarity type`, type, value);\n}\n\nexport function prepareArgs<F extends AbiFunction>(\n func: F,\n args: Record<string, unknown>,\n): unknown[] {\n return func.args.map((arg) => {\n if (!(arg.name in args)) {\n throw new ClarityConversionError(\n `Missing argument: ${arg.name}`,\n arg.type,\n undefined,\n );\n }\n return jsToClarity(arg.type, args[arg.name]);\n });\n}\n\nexport function validateArgs<F extends AbiFunction>(\n func: F,\n args: Record<string, unknown>,\n): void {\n for (const arg of func.args) {\n if (!(arg.name in args)) {\n throw new ClarityConversionError(\n `Missing argument: ${arg.name}`,\n arg.type,\n undefined,\n );\n }\n jsToClarity(arg.type, args[arg.name]);\n }\n}\n\nexport function validateArgsArray<F extends AbiFunction>(\n func: F,\n args: unknown[],\n): void {\n if (args.length !== func.args.length) {\n throw new ClarityConversionError(\n `Expected ${func.args.length} arguments, got ${args.length}`,\n func.args[0]?.type ?? \"bool\",\n args,\n );\n }\n func.args.forEach((arg, i) => {\n jsToClarity(arg.type, args[i]);\n });\n}\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAGO,SAAS,WAAW,CAAC,KAAmB,WAA+B,OAA2B;AAAA,EACvG,QAAQ,IAAI;AAAA,SACL;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO,IAAI,MAAM,SAAS;AAAA,SACvB;AAAA,MACH,OAAO,IAAI,IAAI,MAAM,SAAS;AAAA,SAC3B;AAAA,MACH,IAAI,aAAa,YAAY;AAAA,QAC3B,MAAM,MAAM,aAAa,WAAW,IAAI,KAAK,CAAC;AAAA,QAC9C,IAAI,WAAW,KAAK,GAAG;AAAA,UAAG,OAAO,KAAK,UAAU,GAAG;AAAA,MACrD;AAAA,MACA,OAAO,KAAK,IAAI;AAAA,SACb;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO,SAAS,YAAY,IAAI,OAAO,QAAQ;AAAA,SAC5C;AAAA,MACH,OAAO,OAAO,YAAY,IAAI,OAAO,QAAQ;AAAA,SAC1C;AAAA,MACH,OAAO,QAAQ,YAAY,IAAI,OAAO,QAAQ;AAAA,SAC3C;AAAA,SACA;AAAA,MACH,OAAO,IAAI;AAAA,SACR;AAAA,MACH,OAAO,SAAS,IAAI,MAAM,IAAI,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC,EAAE,KAAK,GAAG;AAAA,SACpE;AAAA,MACH,OAAO,UAAU,OAAO,KAAK,IAAI,KAAK,EACnC,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,IAAI,MAAM,MAAO,QAAQ,IAAI,EACjE,KAAK,GAAG;AAAA,SACR;AAAA,MACH,OAAO,IAAI,IAAI;AAAA,SACZ;AAAA,MACH,OAAO,KAAK,IAAI;AAAA;AAAA;AAIf,SAAS,QAAQ,CAAC,KAAwB;AAAA,EAC/C,QAAQ,IAAI;AAAA,SACL;AAAA,MACH,OAAO,EAAE,MAAM,QAAQ,OAAO,KAAK;AAAA,SAChC;AAAA,MACH,OAAO,EAAE,MAAM,QAAQ,OAAO,MAAM;AAAA,SACjC;AAAA,MACH,OAAO,EAAE,MAAM,OAAO,OAAO,IAAI,MAAM,SAAS,EAAE;AAAA,SAC/C;AAAA,MACH,OAAO,EAAE,MAAM,QAAQ,OAAO,IAAI,MAAM,SAAS,EAAE;AAAA,SAChD;AAAA,MACH,OAAO,EAAE,MAAM,SAAS,KAAK,KAAK,IAAI,MAAM,SAAS,CAAC,MAAM,OAAO,KAAK,IAAI,QAAQ;AAAA,SACjF;AAAA,MACH,OAAO,EAAE,MAAM,mBAAmB,OAAO,KAAK;AAAA,SAC3C;AAAA,MACH,OAAO,EAAE,MAAM,cAAc,OAAO,SAAS,IAAI,KAAK,EAAE;AAAA,SACrD;AAAA,MACH,OAAO,EAAE,MAAM,cAAc,OAAO,SAAS,IAAI,KAAK,GAAG,SAAS,KAAK;AAAA,SACpE;AAAA,MACH,OAAO,EAAE,MAAM,cAAc,OAAO,SAAS,IAAI,KAAK,GAAG,SAAS,MAAM;AAAA,SACrE;AAAA,SACA;AAAA,MACH,OAAO,EAAE,MAAM,aAAa,OAAO,IAAI,MAAM;AAAA,SAC1C;AAAA,MACH,OAAO,EAAE,MAAM,UAAU,OAAO,IAAI,MAAM,IAAI,QAAQ,EAAE;AAAA,SACrD,SAAS;AAAA,MACZ,MAAM,SAA8B,CAAC;AAAA,MACrC,WAAW,OAAO,OAAO,KAAK,IAAI,KAAK,GAAG;AAAA,QACxC,OAAO,OAAO,SAAS,IAAI,MAAM,IAAK;AAAA,MACxC;AAAA,MACA,OAAO,EAAE,MAAM,WAAW,OAAO,OAAO;AAAA,IAC1C;AAAA,SACK;AAAA,MACH,OAAO,EAAE,MAAM,iBAAiB,aAAa,IAAI,KAAK,EAAE,WAAW,OAAO,IAAI,MAAM;AAAA,SACjF;AAAA,MACH,OAAO,EAAE,MAAM,gBAAgB,YAAY,IAAI,KAAK,EAAE,WAAW,OAAO,IAAI,MAAM;AAAA;AAAA;AAIjF,SAAS,SAAS,CAAC,KAAwB;AAAA,EAChD,QAAQ,IAAI;AAAA,SACL;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,SACA;AAAA,MACH,OAAO,IAAI;AAAA,SACR;AAAA,MACH,OAAO,KAAK,IAAI;AAAA,SACb;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO,UAAU,IAAI,KAAK;AAAA,SACvB;AAAA,SACA;AAAA,MACH,OAAO,UAAU,IAAI,KAAK;AAAA,SACvB;AAAA,SACA;AAAA,MACH,OAAO,IAAI;AAAA,SACR;AAAA,MACH,OAAO,IAAI,MAAM,IAAI,SAAS;AAAA,SAC3B,SAAS;AAAA,MACZ,MAAM,SAA8B,CAAC;AAAA,MACrC,WAAW,OAAO,OAAO,KAAK,IAAI,KAAK,GAAG;AAAA,QACxC,OAAO,OAAO,UAAU,IAAI,MAAM,IAAK;AAAA,MACzC;AAAA,MACA,OAAO;AAAA,IACT;AAAA,SACK;AAAA,SACA;AAAA,MACH,OAAO,IAAI;AAAA;AAAA;;AC/FV,MAAM,+BAA+B,MAAM;AAAA,EAG9B;AAAA,EACA;AAAA,EAHlB,WAAW,CACT,SACgB,MACA,OAChB;AAAA,IACA,MAAM,OAAO;AAAA,IAHG;AAAA,IACA;AAAA,IAGhB,KAAK,OAAO;AAAA;AAEhB;AAEO,SAAS,WAAW,CAAC,MAAe,OAAyB;AAAA,EAClE,IAAI,SAAS;AAAA,IAAQ,OAAO;AAAA,EAE5B,IAAI,SAAS,WAAW;AAAA,IACtB,IAAI,CAAC,UAAU,KAAK;AAAA,MAClB,MAAM,IAAI,uBAAuB,yBAAyB,MAAM,KAAK;AAAA,IACvE,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,SAAS,UAAU;AAAA,IACrB,IAAI,CAAC,SAAS,KAAK;AAAA,MACjB,MAAM,IAAI,uBAAuB,wBAAwB,MAAM,KAAK;AAAA,IACtE,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,SAAS,QAAQ;AAAA,IACnB,IAAI,CAAC,OAAO,KAAK;AAAA,MACf,MAAM,IAAI,uBAAuB,sBAAsB,MAAM,KAAK;AAAA,IACpE,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,SAAS,aAAa;AAAA,IACxB,IAAI,CAAC,YAAY,KAAK;AAAA,MACpB,MAAM,IAAI,uBAAuB,2BAA2B,MAAM,KAAK;AAAA,IACzE,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,SAAS,mBAAmB;AAAA,IAC9B,IAAI,CAAC,YAAY,KAAK;AAAA,MACpB,MAAM,IAAI,uBACR,iCACA,MACA,KACF;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,iBAAiB,IAAI,GAAG;AAAA,IAC1B,IAAI,CAAC,SAAS,KAAK;AAAA,MACjB,MAAM,IAAI,uBACR,8BACA,MACA,KACF;AAAA,IACF,MAAM,MAAM;AAAA,IACZ,SAAS,IAAI,EAAG,IAAI,IAAI,QAAQ,KAAK;AAAA,MACnC,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK;AAAA,QAC3B,MAAM,IAAI,uBACR,mCAAmC,OAAO,IAAI,aAAa,IAAI,WAAW,CAAC,MAC3E,MACA,KACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,IAAI,IAAI,SAAS,KAAK,gBAAgB,QAAQ;AAAA,MAC5C,MAAM,IAAI,uBACR,iBAAiB,IAAI,sBAAsB,KAAK,gBAAgB,UAChE,MACA,KACF;AAAA,IACF;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,gBAAgB,IAAI,GAAG;AAAA,IACzB,IAAI,CAAC,SAAS,KAAK;AAAA,MACjB,MAAM,IAAI,uBACR,6BACA,MACA,KACF;AAAA,IACF,MAAM,MAAM;AAAA,IACZ,MAAM,aAAa,IAAI,YAAY,EAAE,OAAO,GAAG,EAAE;AAAA,IACjD,IAAI,aAAa,KAAK,eAAe,QAAQ;AAAA,MAC3C,MAAM,IAAI,uBACR,sBAAsB,0BAA0B,KAAK,eAAe,UACpE,MACA,KACF;AAAA,IACF;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,YAAY,IAAI,GAAG;AAAA,IACrB,IAAI,CAAC,aAAa,KAAK;AAAA,MACrB,MAAM,IAAI,uBAAuB,wBAAwB,MAAM,KAAK;AAAA,IACtE,MAAM,OAAO;AAAA,IACb,IAAI,KAAK,SAAS,KAAK,KAAK,QAAQ;AAAA,MAClC,MAAM,IAAI,uBACR,iBAAiB,KAAK,sBAAsB,KAAK,KAAK,UACtD,MACA,KACF;AAAA,IACF;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,UAAU,IAAI,GAAG;AAAA,IACnB,IAAI,CAAC,MAAM,QAAQ,KAAK;AAAA,MACtB,MAAM,IAAI,uBACR,gCACA,MACA,KACF;AAAA,IACF,IAAI,MAAM,SAAS,KAAK,KAAK,QAAQ;AAAA,MACnC,MAAM,IAAI,uBACR,eAAe,MAAM,sBAAsB,KAAK,KAAK,UACrD,MACA,KACF;AAAA,IACF;AAAA,IACA,OAAO,MAAM,IAAI,CAAC,SAAS,YAAY,KAAK,KAAK,MAAM,IAAI,CAAC;AAAA,EAC9D;AAAA,EAEA,IAAI,WAAW,IAAI,GAAG;AAAA,IACpB,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,MACzC,MAAM,IAAI,uBACR,kCACA,MACA,KACF;AAAA,IACF,MAAM,SAAkC,CAAC;AAAA,IACzC,WAAW,SAAS,KAAK,OAAO;AAAA,MAC9B,MAAM,WAAW,YAAY,MAAM,IAAI;AAAA,MACvC,MAAM,cAAc,MAAM,QAAS;AAAA,MACnC,MAAM,WAAW,YAAa;AAAA,MAC9B,IAAI,CAAC,eAAe,CAAC,UAAU;AAAA,QAC7B,MAAM,IAAI,uBACR,wBAAwB,MAAM,QAC9B,MACA,KACF;AAAA,MACF;AAAA,MACA,MAAM,aAAa,cACd,MAAkC,MAAM,QACxC,MAAkC;AAAA,MACvC,OAAO,MAAM,QAAQ,YAAY,MAAM,MAAM,UAAU;AAAA,IACzD;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,cAAc,IAAI,GAAG;AAAA,IACvB,IAAI,UAAU,QAAQ,UAAU;AAAA,MAAW,OAAO;AAAA,IAClD,OAAO,YAAY,KAAK,UAAU,KAAK;AAAA,EACzC;AAAA,EAEA,IAAI,cAAc,IAAI,GAAG;AAAA,IACvB,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,MACzC,MAAM,IAAI,uBACR,qCACA,MACA,KACF;AAAA,IACF,MAAM,QAAQ,QAAQ;AAAA,IACtB,MAAM,SAAS,SAAS;AAAA,IACxB,IAAI,SAAS,CAAC,QAAQ;AAAA,MACpB,OAAO;AAAA,QACL,IAAI,YAAY,KAAK,SAAS,IAAK,MAA0B,EAAE;AAAA,MACjE;AAAA,IACF;AAAA,IACA,IAAI,UAAU,CAAC,OAAO;AAAA,MACpB,OAAO;AAAA,QACL,KAAK,YACH,KAAK,SAAS,OACb,MAA2B,GAC9B;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM,IAAI,uBACR,qDACA,MACA,KACF;AAAA,EACF;AAAA,EAEA,MAAM,IAAI,uBAAuB,wBAAwB,MAAM,KAAK;AAAA;AAG/D,SAAS,WAAkC,CAChD,MACA,MACW;AAAA,EACX,OAAO,KAAK,KAAK,IAAI,CAAC,QAAQ;AAAA,IAC5B,IAAI,EAAE,IAAI,QAAQ,OAAO;AAAA,MACvB,MAAM,IAAI,uBACR,qBAAqB,IAAI,QACzB,IAAI,MACJ,SACF;AAAA,IACF;AAAA,IACA,OAAO,YAAY,IAAI,MAAM,KAAK,IAAI,KAAK;AAAA,GAC5C;AAAA;AAGI,SAAS,YAAmC,CACjD,MACA,MACM;AAAA,EACN,WAAW,OAAO,KAAK,MAAM;AAAA,IAC3B,IAAI,EAAE,IAAI,QAAQ,OAAO;AAAA,MACvB,MAAM,IAAI,uBACR,qBAAqB,IAAI,QACzB,IAAI,MACJ,SACF;AAAA,IACF;AAAA,IACA,YAAY,IAAI,MAAM,KAAK,IAAI,KAAK;AAAA,EACtC;AAAA;AAGK,SAAS,iBAAwC,CACtD,MACA,MACM;AAAA,EACN,IAAI,KAAK,WAAW,KAAK,KAAK,QAAQ;AAAA,IACpC,MAAM,IAAI,uBACR,YAAY,KAAK,KAAK,yBAAyB,KAAK,UACpD,KAAK,KAAK,IAAI,QAAQ,QACtB,IACF;AAAA,EACF;AAAA,EACA,KAAK,KAAK,QAAQ,CAAC,KAAK,MAAM;AAAA,IAC5B,YAAY,IAAI,MAAM,KAAK,EAAE;AAAA,GAC9B;AAAA;",
|
|
9
|
+
"debugId": "DAD8B8065D272C2164756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -4,44 +4,40 @@ import {
|
|
|
4
4
|
isProviderAccount,
|
|
5
5
|
readContract,
|
|
6
6
|
sendTransaction
|
|
7
|
-
} from "./stacks-
|
|
7
|
+
} from "./stacks-96gaxfcf.js";
|
|
8
8
|
import {
|
|
9
9
|
BaseError
|
|
10
10
|
} from "./stacks-709tra19.js";
|
|
11
11
|
import {
|
|
12
12
|
deserializeTransaction
|
|
13
|
-
} from "./stacks-
|
|
13
|
+
} from "./stacks-6m1z4j07.js";
|
|
14
14
|
import {
|
|
15
|
+
AddressHashMode,
|
|
16
|
+
AuthType,
|
|
17
|
+
PayloadType,
|
|
15
18
|
buildContractDeploy,
|
|
16
19
|
buildTokenTransfer,
|
|
20
|
+
createSingleSigSpendingCondition,
|
|
21
|
+
serializeTransactionHex,
|
|
22
|
+
signMultiSigWithAccount,
|
|
17
23
|
signSponsorWithAccount,
|
|
18
24
|
signTransactionWithAccount
|
|
19
|
-
} from "./stacks-
|
|
25
|
+
} from "./stacks-xp9n3r0t.js";
|
|
20
26
|
import {
|
|
21
27
|
Cl,
|
|
22
|
-
deserializeCVBytes
|
|
23
|
-
} from "./stacks-j2cy7qtt.js";
|
|
24
|
-
import {
|
|
28
|
+
deserializeCVBytes,
|
|
25
29
|
serializeCVBytes
|
|
26
|
-
} from "./stacks-
|
|
30
|
+
} from "./stacks-rg1g0fja.js";
|
|
27
31
|
import {
|
|
28
32
|
parseContractId
|
|
29
|
-
} from "./stacks-
|
|
33
|
+
} from "./stacks-s10yb9gz.js";
|
|
30
34
|
import {
|
|
31
35
|
bytesToHex,
|
|
32
36
|
c32address,
|
|
33
37
|
concatBytes,
|
|
34
38
|
intToBigInt,
|
|
35
39
|
with0x
|
|
36
|
-
} from "./stacks-
|
|
37
|
-
import {
|
|
38
|
-
AddressHashMode,
|
|
39
|
-
AuthType,
|
|
40
|
-
PayloadType,
|
|
41
|
-
createSingleSigSpendingCondition,
|
|
42
|
-
serializeTransactionHex,
|
|
43
|
-
signMultiSigWithAccount
|
|
44
|
-
} from "./stacks-xtz0n62y.js";
|
|
40
|
+
} from "./stacks-s7z5q8be.js";
|
|
45
41
|
|
|
46
42
|
// src/actions/public/getBalance.ts
|
|
47
43
|
async function getBalance(client, params) {
|
|
@@ -334,5 +330,5 @@ async function sponsorTransaction(client, params) {
|
|
|
334
330
|
|
|
335
331
|
export { getBalance, getAccountInfo, getBlock, getBlockHeight, getContractAbi, multicall, simulateCall, simulateTransaction, signTransactionAction, transferStx, deployContract, signMessage, sponsorTransaction };
|
|
336
332
|
|
|
337
|
-
//# debugId=
|
|
338
|
-
//# sourceMappingURL=stacks-
|
|
333
|
+
//# debugId=EB1C10EEB8BA72D364756E2164756E21
|
|
334
|
+
//# sourceMappingURL=stacks-k9p8m3wf.js.map
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"import type { Client } from \"../../clients/types.ts\";\nimport type { ClarityValue } from \"../../clarity/types.ts\";\nimport { Cl } from \"../../clarity/values.ts\";\nimport { serializeCVBytes } from \"../../clarity/serialize.ts\";\nimport { concatBytes, bytesToHex } from \"../../utils/encoding.ts\";\nimport { sha256 } from \"@noble/hashes/sha2.js\";\nimport { isProviderAccount } from \"./utils.ts\";\n\nexport type SignMessageParams = {\n message: string | ClarityValue;\n domain?: {\n name: string;\n version: string;\n chainId: number;\n };\n};\n\nconst SIP018_PREFIX = new Uint8Array([0x53, 0x49, 0x50, 0x30, 0x31, 0x38]); // \"SIP018\"\n\n/** Sign a structured message per SIP-018 */\nexport async function signMessage(\n client: Client,\n params: SignMessageParams\n): Promise<string> {\n const account = client.account;\n if (!account) throw new Error(\"Account required\");\n\n // Provider: delegate to wallet\n if (isProviderAccount(account)) {\n const method = params.domain\n ? \"stx_signStructuredMessage\"\n : \"stx_signMessage\";\n const result = await account.provider.request(method, {\n message: params.message,\n domain: params.domain,\n });\n return result.signature;\n }\n\n // Local/Custom: sign locally\n const cv =\n typeof params.message === \"string\"\n ? Cl.stringAscii(params.message)\n : params.message;\n\n const serializedMsg = serializeCVBytes(cv);\n\n let hash: Uint8Array;\n\n if (params.domain) {\n const domainCV = Cl.tuple({\n name: Cl.stringAscii(params.domain.name),\n version: Cl.stringAscii(params.domain.version),\n \"chain-id\": Cl.uint(params.domain.chainId),\n });\n const serializedDomain = serializeCVBytes(domainCV);\n hash = sha256(concatBytes(SIP018_PREFIX, serializedDomain, serializedMsg));\n } else {\n hash = sha256(serializedMsg);\n }\n\n const sigBytes = await account.sign(hash);\n return bytesToHex(sigBytes);\n}\n",
|
|
18
18
|
"import type { Client } from \"../../clients/types.ts\";\nimport type { IntegerType } from \"../../utils/encoding.ts\";\nimport { intToBigInt } from \"../../utils/encoding.ts\";\nimport {\n AuthType,\n type StacksTransaction,\n type SponsoredAuthorization,\n} from \"../../transactions/types.ts\";\nimport { createSingleSigSpendingCondition } from \"../../transactions/authorization.ts\";\nimport { signSponsorWithAccount } from \"../../transactions/signer.ts\";\nimport { getNonce } from \"../public/getNonce.ts\";\nimport { estimateFee } from \"../public/estimateFee.ts\";\nimport { isProviderAccount } from \"./utils.ts\";\n\nexport type SponsorTransactionParams = {\n transaction: StacksTransaction;\n fee?: IntegerType;\n nonce?: IntegerType;\n};\n\n/** Sponsor a transaction: set sponsor spending condition, sign as sponsor */\nexport async function sponsorTransaction(\n client: Client,\n params: SponsorTransactionParams\n): Promise<StacksTransaction> {\n const { transaction } = params;\n\n if (transaction.auth.authType !== AuthType.Sponsored) {\n throw new Error(\"Transaction must have sponsored authorization\");\n }\n\n const account = client.account;\n if (!account) throw new Error(\"Account required\");\n if (isProviderAccount(account)) {\n throw new Error(\"Provider accounts cannot sponsor transactions\");\n }\n\n // Resolve sponsor nonce\n const nonce = params.nonce != null\n ? intToBigInt(params.nonce)\n : await getNonce(client, { address: account.address });\n\n // Resolve sponsor fee\n let fee: bigint;\n if (params.fee != null) {\n fee = intToBigInt(params.fee);\n } else {\n const estimates = await estimateFee(client, { transaction });\n const mid = estimates[1] ?? estimates[0];\n fee = mid ? BigInt(mid.fee) : 0n;\n }\n\n // Create sponsor spending condition\n const sponsorCondition = createSingleSigSpendingCondition(\n account.publicKey,\n nonce,\n fee\n );\n\n // Set sponsor spending condition on the tx\n const auth = transaction.auth as SponsoredAuthorization;\n const sponsored: StacksTransaction = {\n ...transaction,\n auth: {\n ...auth,\n sponsorSpendingCondition: sponsorCondition,\n },\n };\n\n // Sign as sponsor\n return signSponsorWithAccount(sponsored, account);\n}\n"
|
|
19
19
|
],
|
|
20
|
-
"mappings": "
|
|
21
|
-
"debugId": "
|
|
20
|
+
"mappings": "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",
|
|
21
|
+
"debugId": "EB1C10EEB8BA72D364756E2164756E21",
|
|
22
22
|
"names": []
|
|
23
23
|
}
|
|
@@ -1,23 +1,110 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
// src/clarity/types.ts
|
|
2
|
+
var ClarityWireType = {
|
|
3
|
+
int: 0,
|
|
4
|
+
uint: 1,
|
|
5
|
+
buffer: 2,
|
|
6
|
+
true: 3,
|
|
7
|
+
false: 4,
|
|
8
|
+
address: 5,
|
|
9
|
+
contract: 6,
|
|
10
|
+
ok: 7,
|
|
11
|
+
err: 8,
|
|
12
|
+
none: 9,
|
|
13
|
+
some: 10,
|
|
14
|
+
list: 11,
|
|
15
|
+
tuple: 12,
|
|
16
|
+
ascii: 13,
|
|
17
|
+
utf8: 14
|
|
18
|
+
};
|
|
19
|
+
var wireTypeToClarity = Object.fromEntries(Object.entries(ClarityWireType).map(([k, v]) => [v, k]));
|
|
20
|
+
function clarityTypeFromByte(byte) {
|
|
21
|
+
const type = wireTypeToClarity[byte];
|
|
22
|
+
if (!type)
|
|
23
|
+
throw new Error(`Unknown clarity wire type: ${byte}`);
|
|
24
|
+
return type;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// src/clarity/serialize.ts
|
|
28
|
+
var CLARITY_INT_SIZE = 128n;
|
|
29
|
+
var CLARITY_INT_BYTE_SIZE = 16;
|
|
30
|
+
function typeIdByte(type) {
|
|
31
|
+
return ClarityWireType[type];
|
|
32
|
+
}
|
|
33
|
+
function withTypeId(type, bytes) {
|
|
34
|
+
return concatBytes(new Uint8Array([typeIdByte(type)]), bytes);
|
|
35
|
+
}
|
|
36
|
+
function serializeAddress(c32Address) {
|
|
37
|
+
const [version, hash160] = c32addressDecode(c32Address);
|
|
38
|
+
return concatBytes(new Uint8Array([version]), hexToBytes(hash160));
|
|
39
|
+
}
|
|
40
|
+
function serializeLPString(str, prefixBytes = 1) {
|
|
41
|
+
const content = utf8ToBytes(str);
|
|
42
|
+
const lengthPrefix = hexToBytes(intToHex(content.byteLength, prefixBytes));
|
|
43
|
+
return concatBytes(lengthPrefix, content);
|
|
44
|
+
}
|
|
45
|
+
function serializeCVBytes(value) {
|
|
46
|
+
switch (value.type) {
|
|
47
|
+
case "true":
|
|
48
|
+
case "false":
|
|
49
|
+
return new Uint8Array([typeIdByte(value.type)]);
|
|
50
|
+
case "int": {
|
|
51
|
+
const bytes = bigIntToBytes(toTwos(BigInt(value.value), CLARITY_INT_SIZE), CLARITY_INT_BYTE_SIZE);
|
|
52
|
+
return withTypeId(value.type, bytes);
|
|
53
|
+
}
|
|
54
|
+
case "uint": {
|
|
55
|
+
const bytes = bigIntToBytes(BigInt(value.value), CLARITY_INT_BYTE_SIZE);
|
|
56
|
+
return withTypeId(value.type, bytes);
|
|
57
|
+
}
|
|
58
|
+
case "buffer": {
|
|
59
|
+
const bufBytes = hexToBytes(value.value);
|
|
60
|
+
return withTypeId(value.type, concatBytes(writeUInt32BE(bufBytes.length), bufBytes));
|
|
61
|
+
}
|
|
62
|
+
case "none":
|
|
63
|
+
return new Uint8Array([typeIdByte(value.type)]);
|
|
64
|
+
case "some":
|
|
65
|
+
return withTypeId(value.type, serializeCVBytes(value.value));
|
|
66
|
+
case "ok":
|
|
67
|
+
case "err":
|
|
68
|
+
return withTypeId(value.type, serializeCVBytes(value.value));
|
|
69
|
+
case "address":
|
|
70
|
+
return withTypeId(value.type, serializeAddress(value.value));
|
|
71
|
+
case "contract": {
|
|
72
|
+
const [addr, name] = value.value.split(".");
|
|
73
|
+
if (!addr || !name)
|
|
74
|
+
throw new Error(`Invalid contract principal: ${value.value}`);
|
|
75
|
+
return withTypeId(value.type, concatBytes(serializeAddress(addr), serializeLPString(name)));
|
|
76
|
+
}
|
|
77
|
+
case "list": {
|
|
78
|
+
const parts = [writeUInt32BE(value.value.length)];
|
|
79
|
+
for (const item of value.value) {
|
|
80
|
+
parts.push(serializeCVBytes(item));
|
|
81
|
+
}
|
|
82
|
+
return withTypeId(value.type, concatBytes(...parts));
|
|
83
|
+
}
|
|
84
|
+
case "tuple": {
|
|
85
|
+
const keys = Object.keys(value.value).sort((a, b) => a.localeCompare(b));
|
|
86
|
+
const parts = [writeUInt32BE(keys.length)];
|
|
87
|
+
for (const key of keys) {
|
|
88
|
+
parts.push(serializeLPString(key));
|
|
89
|
+
parts.push(serializeCVBytes(value.value[key]));
|
|
90
|
+
}
|
|
91
|
+
return withTypeId(value.type, concatBytes(...parts));
|
|
92
|
+
}
|
|
93
|
+
case "ascii": {
|
|
94
|
+
const strBytes = asciiToBytes(value.value);
|
|
95
|
+
return withTypeId(value.type, concatBytes(writeUInt32BE(strBytes.length), strBytes));
|
|
96
|
+
}
|
|
97
|
+
case "utf8": {
|
|
98
|
+
const strBytes = utf8ToBytes(value.value);
|
|
99
|
+
return withTypeId(value.type, concatBytes(writeUInt32BE(strBytes.length), strBytes));
|
|
100
|
+
}
|
|
101
|
+
default:
|
|
102
|
+
throw new Error(`Cannot serialize unknown clarity type`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
function serializeCV(value) {
|
|
106
|
+
return bytesToHex(serializeCVBytes(value));
|
|
107
|
+
}
|
|
21
108
|
|
|
22
109
|
// src/clarity/deserialize.ts
|
|
23
110
|
class BytesReader {
|
|
@@ -231,7 +318,5 @@ var Cl = {
|
|
|
231
318
|
deserialize: deserializeCVBytes
|
|
232
319
|
};
|
|
233
320
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
//# debugId=DB2BCD6778DE48E964756E2164756E21
|
|
237
|
-
//# sourceMappingURL=stacks-j2cy7qtt.js.map
|
|
321
|
+
//# debugId=204FAEA7057C254064756E2164756E21
|
|
322
|
+
//# sourceMappingURL=stacks-ky14tdf6.cjs.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/clarity/types.ts", "../src/clarity/serialize.ts", "../src/clarity/deserialize.ts", "../src/clarity/values.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"export type ClarityType =\n | \"int\"\n | \"uint\"\n | \"buffer\"\n | \"true\"\n | \"false\"\n | \"address\"\n | \"contract\"\n | \"ok\"\n | \"err\"\n | \"none\"\n | \"some\"\n | \"list\"\n | \"tuple\"\n | \"ascii\"\n | \"utf8\";\n\n/** Wire type IDs matching the Stacks binary format (SIP-005) */\nexport const ClarityWireType = {\n int: 0x00,\n uint: 0x01,\n buffer: 0x02,\n true: 0x03,\n false: 0x04,\n address: 0x05,\n contract: 0x06,\n ok: 0x07,\n err: 0x08,\n none: 0x09,\n some: 0x0a,\n list: 0x0b,\n tuple: 0x0c,\n ascii: 0x0d,\n utf8: 0x0e,\n} as const satisfies Record<ClarityType, number>;\n\n/** Reverse lookup: wire byte → ClarityType string */\nconst wireTypeToClarity = Object.fromEntries(\n Object.entries(ClarityWireType).map(([k, v]) => [v, k])\n) as Record<number, ClarityType>;\n\nexport function clarityTypeFromByte(byte: number): ClarityType {\n const type = wireTypeToClarity[byte];\n if (!type) throw new Error(`Unknown clarity wire type: ${byte}`);\n return type;\n}\n\n// CV types\n\nexport type IntCV = { readonly type: \"int\"; readonly value: bigint };\nexport type UIntCV = { readonly type: \"uint\"; readonly value: bigint };\nexport type BooleanCV = TrueCV | FalseCV;\nexport type TrueCV = { readonly type: \"true\" };\nexport type FalseCV = { readonly type: \"false\" };\nexport type BufferCV = { readonly type: \"buffer\"; readonly value: string }; // hex\nexport type NoneCV = { readonly type: \"none\" };\nexport type SomeCV = {\n readonly type: \"some\";\n readonly value: ClarityValue;\n};\nexport type OptionalCV = NoneCV | SomeCV;\nexport type ResponseOkCV = {\n readonly type: \"ok\";\n readonly value: ClarityValue;\n};\nexport type ResponseErrorCV = {\n readonly type: \"err\";\n readonly value: ClarityValue;\n};\nexport type ResponseCV = ResponseOkCV | ResponseErrorCV;\nexport type StandardPrincipalCV = {\n readonly type: \"address\";\n readonly value: string;\n};\nexport type ContractPrincipalCV = {\n readonly type: \"contract\";\n readonly value: string; // \"address.name\"\n};\nexport type PrincipalCV = StandardPrincipalCV | ContractPrincipalCV;\nexport type ListCV = {\n type: \"list\";\n value: ClarityValue[];\n};\nexport type TupleData = {\n [key: string]: ClarityValue;\n};\nexport type TupleCV = {\n type: \"tuple\";\n value: TupleData;\n};\nexport type StringAsciiCV = {\n readonly type: \"ascii\";\n readonly value: string;\n};\nexport type StringUtf8CV = {\n readonly type: \"utf8\";\n readonly value: string;\n};\n\nexport type ClarityValue =\n | IntCV\n | UIntCV\n | BooleanCV\n | BufferCV\n | NoneCV\n | SomeCV\n | ResponseOkCV\n | ResponseErrorCV\n | StandardPrincipalCV\n | ContractPrincipalCV\n | ListCV\n | TupleCV\n | StringAsciiCV\n | StringUtf8CV;\n",
|
|
6
|
+
"import {\n bytesToHex,\n hexToBytes,\n concatBytes,\n bigIntToBytes,\n toTwos,\n asciiToBytes,\n utf8ToBytes,\n writeUInt32BE,\n intToHex,\n} from \"../utils/encoding.ts\";\nimport { c32addressDecode } from \"../utils/c32.ts\";\nimport { ClarityWireType, type ClarityValue, type ClarityType } from \"./types.ts\";\n\nconst CLARITY_INT_SIZE = 128n;\nconst CLARITY_INT_BYTE_SIZE = 16;\n\nfunction typeIdByte(type: ClarityType): number {\n return ClarityWireType[type];\n}\n\nfunction withTypeId(type: ClarityType, bytes: Uint8Array): Uint8Array {\n return concatBytes(new Uint8Array([typeIdByte(type)]), bytes);\n}\n\nfunction serializeAddress(c32Address: string): Uint8Array {\n const [version, hash160] = c32addressDecode(c32Address);\n return concatBytes(new Uint8Array([version]), hexToBytes(hash160));\n}\n\nfunction serializeLPString(str: string, prefixBytes = 1): Uint8Array {\n const content = utf8ToBytes(str);\n const lengthPrefix = hexToBytes(intToHex(content.byteLength, prefixBytes));\n return concatBytes(lengthPrefix, content);\n}\n\nexport function serializeCVBytes(value: ClarityValue): Uint8Array {\n switch (value.type) {\n case \"true\":\n case \"false\":\n return new Uint8Array([typeIdByte(value.type)]);\n\n case \"int\": {\n const bytes = bigIntToBytes(\n toTwos(BigInt(value.value), CLARITY_INT_SIZE),\n CLARITY_INT_BYTE_SIZE\n );\n return withTypeId(value.type, bytes);\n }\n\n case \"uint\": {\n const bytes = bigIntToBytes(BigInt(value.value), CLARITY_INT_BYTE_SIZE);\n return withTypeId(value.type, bytes);\n }\n\n case \"buffer\": {\n const bufBytes = hexToBytes(value.value);\n return withTypeId(\n value.type,\n concatBytes(writeUInt32BE(bufBytes.length), bufBytes)\n );\n }\n\n case \"none\":\n return new Uint8Array([typeIdByte(value.type)]);\n\n case \"some\":\n return withTypeId(value.type, serializeCVBytes(value.value));\n\n case \"ok\":\n case \"err\":\n return withTypeId(value.type, serializeCVBytes(value.value));\n\n case \"address\":\n return withTypeId(value.type, serializeAddress(value.value));\n\n case \"contract\": {\n const [addr, name] = value.value.split(\".\");\n if (!addr || !name) throw new Error(`Invalid contract principal: ${value.value}`);\n return withTypeId(\n value.type,\n concatBytes(serializeAddress(addr), serializeLPString(name))\n );\n }\n\n case \"list\": {\n const parts: Uint8Array[] = [writeUInt32BE(value.value.length)];\n for (const item of value.value) {\n parts.push(serializeCVBytes(item));\n }\n return withTypeId(value.type, concatBytes(...parts));\n }\n\n case \"tuple\": {\n const keys = Object.keys(value.value).sort((a, b) => a.localeCompare(b));\n const parts: Uint8Array[] = [writeUInt32BE(keys.length)];\n for (const key of keys) {\n parts.push(serializeLPString(key));\n parts.push(serializeCVBytes(value.value[key]!));\n }\n return withTypeId(value.type, concatBytes(...parts));\n }\n\n case \"ascii\": {\n const strBytes = asciiToBytes(value.value);\n return withTypeId(\n value.type,\n concatBytes(writeUInt32BE(strBytes.length), strBytes)\n );\n }\n\n case \"utf8\": {\n const strBytes = utf8ToBytes(value.value);\n return withTypeId(\n value.type,\n concatBytes(writeUInt32BE(strBytes.length), strBytes)\n );\n }\n\n default:\n throw new Error(`Cannot serialize unknown clarity type`);\n }\n}\n\nexport function serializeCV(value: ClarityValue): string {\n return bytesToHex(serializeCVBytes(value));\n}\n",
|
|
7
|
+
"import {\n hexToBytes,\n bytesToHex,\n bytesToAscii,\n bytesToUtf8,\n bytesToTwosBigInt,\n without0x,\n} from \"../utils/encoding.ts\";\nimport { c32address } from \"../utils/c32.ts\";\nimport {\n clarityTypeFromByte,\n type ClarityValue,\n} from \"./types.ts\";\nimport {\n intCV,\n uintCV,\n trueCV,\n falseCV,\n bufferCV,\n noneCV,\n someCV,\n responseOkCV,\n responseErrorCV,\n standardPrincipalCV,\n contractPrincipalCV,\n listCV,\n tupleCV,\n stringAsciiCV,\n stringUtf8CV,\n} from \"./values.ts\";\n\nclass BytesReader {\n private data: Uint8Array;\n private offset = 0;\n\n constructor(data: Uint8Array) {\n this.data = data;\n }\n\n readUInt8(): number {\n const value = this.data[this.offset]!;\n this.offset += 1;\n return value;\n }\n\n readUInt32BE(): number {\n const value =\n ((this.data[this.offset]! << 24) |\n (this.data[this.offset + 1]! << 16) |\n (this.data[this.offset + 2]! << 8) |\n this.data[this.offset + 3]!) >>>\n 0;\n this.offset += 4;\n return value;\n }\n\n readBytes(length: number): Uint8Array {\n const slice = this.data.slice(this.offset, this.offset + length);\n this.offset += length;\n return slice;\n }\n}\n\nfunction readAddress(reader: BytesReader): string {\n const version = reader.readUInt8();\n const hash160 = bytesToHex(reader.readBytes(20));\n return c32address(version, hash160);\n}\n\nfunction readLPString(reader: BytesReader, prefixBytes = 1): string {\n let length = 0;\n for (let i = 0; i < prefixBytes; i++) {\n length = (length << 8) | reader.readUInt8();\n }\n return bytesToUtf8(reader.readBytes(length));\n}\n\nfunction readCV(reader: BytesReader): ClarityValue {\n const typeByte = reader.readUInt8();\n const type = clarityTypeFromByte(typeByte);\n\n switch (type) {\n case \"int\":\n return intCV(bytesToTwosBigInt(reader.readBytes(16)));\n\n case \"uint\":\n return uintCV(reader.readBytes(16));\n\n case \"true\":\n return trueCV();\n\n case \"false\":\n return falseCV();\n\n case \"buffer\": {\n const len = reader.readUInt32BE();\n return bufferCV(reader.readBytes(len));\n }\n\n case \"none\":\n return noneCV();\n\n case \"some\":\n return someCV(readCV(reader));\n\n case \"ok\":\n return responseOkCV(readCV(reader));\n\n case \"err\":\n return responseErrorCV(readCV(reader));\n\n case \"address\":\n return standardPrincipalCV(readAddress(reader));\n\n case \"contract\": {\n const addr = readAddress(reader);\n const name = readLPString(reader);\n return contractPrincipalCV(addr, name);\n }\n\n case \"list\": {\n const len = reader.readUInt32BE();\n const items: ClarityValue[] = [];\n for (let i = 0; i < len; i++) {\n items.push(readCV(reader));\n }\n return listCV(items);\n }\n\n case \"tuple\": {\n const len = reader.readUInt32BE();\n const data: Record<string, ClarityValue> = {};\n for (let i = 0; i < len; i++) {\n const key = readLPString(reader);\n data[key] = readCV(reader);\n }\n return tupleCV(data);\n }\n\n case \"ascii\": {\n const len = reader.readUInt32BE();\n return stringAsciiCV(bytesToAscii(reader.readBytes(len)));\n }\n\n case \"utf8\": {\n const len = reader.readUInt32BE();\n return stringUtf8CV(bytesToUtf8(reader.readBytes(len)));\n }\n\n default:\n throw new Error(`Cannot deserialize unknown clarity type: ${type}`);\n }\n}\n\nexport function deserializeCVBytes<T extends ClarityValue = ClarityValue>(\n input: Uint8Array | string\n): T {\n const bytes =\n typeof input === \"string\" ? hexToBytes(without0x(input)) : input;\n return readCV(new BytesReader(bytes)) as T;\n}\n\nexport function deserializeCV<T extends ClarityValue = ClarityValue>(\n input: Uint8Array | string\n): T {\n return deserializeCVBytes(input);\n}\n",
|
|
8
|
+
"import { c32address, c32addressDecode } from \"../utils/c32.ts\";\nimport {\n bytesToHex,\n hexToBytes,\n asciiToBytes,\n utf8ToBytes,\n intToBigInt,\n bytesToTwosBigInt,\n type IntegerType,\n} from \"../utils/encoding.ts\";\nimport { isClarityName } from \"../utils/address.ts\";\nimport type {\n IntCV,\n UIntCV,\n BooleanCV,\n TrueCV,\n FalseCV,\n BufferCV,\n NoneCV,\n SomeCV,\n ResponseOkCV,\n ResponseErrorCV,\n StandardPrincipalCV,\n ContractPrincipalCV,\n ListCV,\n TupleCV,\n TupleData,\n StringAsciiCV,\n StringUtf8CV,\n ClarityValue,\n} from \"./types.ts\";\nimport { serializeCVBytes } from \"./serialize.ts\";\nimport { deserializeCVBytes } from \"./deserialize.ts\";\n\nconst MAX_U128 = BigInt(\"0xffffffffffffffffffffffffffffffff\");\nconst MIN_I128 = BigInt(\"-170141183460469231731687303715884105728\");\nconst MAX_I128 = BigInt(\"0x7fffffffffffffffffffffffffffffff\");\n\n// Primitives\n\nexport function intCV(value: IntegerType): IntCV {\n if (typeof value === \"string\" && value.toLowerCase().startsWith(\"0x\")) {\n value = bytesToTwosBigInt(hexToBytes(value));\n }\n if (value instanceof Uint8Array) value = bytesToTwosBigInt(value);\n const n = intToBigInt(value);\n if (n > MAX_I128) throw new RangeError(`Int exceeds max i128: ${MAX_I128}`);\n if (n < MIN_I128) throw new RangeError(`Int below min i128: ${MIN_I128}`);\n return { type: \"int\", value: n };\n}\n\nexport function uintCV(value: IntegerType): UIntCV {\n const n = intToBigInt(value);\n if (n < 0n) throw new RangeError(\"Cannot construct unsigned int from negative value\");\n if (n > MAX_U128) throw new RangeError(`UInt exceeds max u128: ${MAX_U128}`);\n return { type: \"uint\", value: n };\n}\n\nexport const trueCV = (): TrueCV => ({ type: \"true\" });\nexport const falseCV = (): FalseCV => ({ type: \"false\" });\nexport const boolCV = (v: boolean): BooleanCV => (v ? trueCV() : falseCV());\n\nexport function bufferCV(buffer: Uint8Array): BufferCV {\n if (buffer.byteLength > 1_048_576) {\n throw new Error(\"Buffer exceeds max size of 1MB\");\n }\n return { type: \"buffer\", value: bytesToHex(buffer) };\n}\n\nexport function standardPrincipalCV(address: string): StandardPrincipalCV {\n // Validate by decoding\n const [version, hash160] = c32addressDecode(address);\n const normalized = c32address(version, hash160);\n return { type: \"address\", value: normalized };\n}\n\nexport function contractPrincipalCV(\n address: string,\n contractName: string\n): ContractPrincipalCV {\n const [version, hash160] = c32addressDecode(address);\n const normalized = c32address(version, hash160);\n if (utf8ToBytes(contractName).byteLength >= 128) {\n throw new Error(\"Contract name must be less than 128 bytes\");\n }\n return { type: \"contract\", value: `${normalized}.${contractName}` };\n}\n\nexport function noneCV(): NoneCV {\n return { type: \"none\" };\n}\n\nexport function someCV(value: ClarityValue): SomeCV {\n return { type: \"some\", value };\n}\n\nexport function responseOkCV(value: ClarityValue): ResponseOkCV {\n return { type: \"ok\", value };\n}\n\nexport function responseErrorCV(value: ClarityValue): ResponseErrorCV {\n return { type: \"err\", value };\n}\n\nexport function listCV(values: ClarityValue[]): ListCV {\n return { type: \"list\", value: values };\n}\n\nexport function tupleCV(data: TupleData): TupleCV {\n for (const key in data) {\n if (!isClarityName(key)) {\n throw new Error(`\"${key}\" is not a valid Clarity name`);\n }\n }\n return { type: \"tuple\", value: data };\n}\n\nexport function stringAsciiCV(value: string): StringAsciiCV {\n return { type: \"ascii\", value };\n}\n\nexport function stringUtf8CV(value: string): StringUtf8CV {\n return { type: \"utf8\", value };\n}\n\n// Cl namespace — clean API\n\nexport const Cl: {\n readonly int: (value: IntegerType) => IntCV;\n readonly uint: (value: IntegerType) => UIntCV;\n readonly bool: (v: boolean) => BooleanCV;\n principal(address: string): StandardPrincipalCV | ContractPrincipalCV;\n address(address: string): StandardPrincipalCV | ContractPrincipalCV;\n readonly contractPrincipal: (address: string, contractName: string) => ContractPrincipalCV;\n readonly standardPrincipal: (address: string) => StandardPrincipalCV;\n readonly buffer: (buffer: Uint8Array) => BufferCV;\n readonly bufferFromHex: (hex: string) => BufferCV;\n readonly bufferFromAscii: (ascii: string) => BufferCV;\n readonly bufferFromUtf8: (utf8: string) => BufferCV;\n readonly none: () => NoneCV;\n readonly some: (value: ClarityValue) => SomeCV;\n readonly ok: (value: ClarityValue) => ResponseOkCV;\n readonly error: (value: ClarityValue) => ResponseErrorCV;\n readonly list: (values: ClarityValue[]) => ListCV;\n readonly tuple: (data: TupleData) => TupleCV;\n readonly stringAscii: (value: string) => StringAsciiCV;\n readonly stringUtf8: (value: string) => StringUtf8CV;\n serialize(value: ClarityValue): string;\n readonly deserialize: (bytes: Uint8Array) => ClarityValue;\n} = {\n int: intCV,\n uint: uintCV,\n bool: boolCV,\n principal(address: string): StandardPrincipalCV | ContractPrincipalCV {\n const [addr, name] = address.split(\".\");\n if (!addr) throw new Error(\"Invalid principal address\");\n return name ? contractPrincipalCV(addr, name) : standardPrincipalCV(addr);\n },\n address(address: string): StandardPrincipalCV | ContractPrincipalCV {\n return Cl.principal(address);\n },\n contractPrincipal: contractPrincipalCV,\n standardPrincipal: standardPrincipalCV,\n buffer: bufferCV,\n bufferFromHex: (hex: string): BufferCV => bufferCV(hexToBytes(hex)),\n bufferFromAscii: (ascii: string): BufferCV => bufferCV(asciiToBytes(ascii)),\n bufferFromUtf8: (utf8: string): BufferCV => bufferCV(utf8ToBytes(utf8)),\n none: noneCV,\n some: someCV,\n ok: responseOkCV,\n error: responseErrorCV,\n list: listCV,\n tuple: tupleCV,\n stringAscii: stringAsciiCV,\n stringUtf8: stringUtf8CV,\n serialize(value: ClarityValue): string {\n return bytesToHex(serializeCVBytes(value));\n },\n deserialize: deserializeCVBytes,\n} as const;\n"
|
|
9
|
+
],
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "204FAEA7057C254064756E2164756E21",
|
|
12
|
+
"names": []
|
|
13
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var import_node_module = require("node:module");
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
function __accessProp(key) {
|
|
7
|
+
return this[key];
|
|
8
|
+
}
|
|
9
|
+
var __toCommonJS = (from) => {
|
|
10
|
+
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
11
|
+
if (entry)
|
|
12
|
+
return entry;
|
|
13
|
+
entry = __defProp({}, "__esModule", { value: true });
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (var key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(entry, key))
|
|
17
|
+
__defProp(entry, key, {
|
|
18
|
+
get: __accessProp.bind(from, key),
|
|
19
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
__moduleCache.set(from, entry);
|
|
23
|
+
return entry;
|
|
24
|
+
};
|
|
25
|
+
var __moduleCache;
|
|
26
|
+
var __returnValue = (v) => v;
|
|
27
|
+
function __exportSetter(name, newValue) {
|
|
28
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
29
|
+
}
|
|
30
|
+
var __export = (target, all) => {
|
|
31
|
+
for (var name in all)
|
|
32
|
+
__defProp(target, name, {
|
|
33
|
+
get: all[name],
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
set: __exportSetter.bind(all, name)
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
//# debugId=E83B2B767716458C64756E2164756E21
|
|
41
|
+
//# sourceMappingURL=stacks-mrk6tkkh.cjs.map
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
stringUtf8CV,
|
|
13
13
|
tupleCV,
|
|
14
14
|
uintCV
|
|
15
|
-
} from "./stacks-
|
|
15
|
+
} from "./stacks-rg1g0fja.js";
|
|
16
16
|
import {
|
|
17
17
|
MAX_I128,
|
|
18
18
|
MAX_U128,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
} from "./stacks-v9jqcpd4.js";
|
|
21
21
|
import {
|
|
22
22
|
validateStacksAddress
|
|
23
|
-
} from "./stacks-
|
|
23
|
+
} from "./stacks-s10yb9gz.js";
|
|
24
24
|
|
|
25
25
|
// src/clarity/abi/types.ts
|
|
26
26
|
var CONTRACT_NAME_REGEX = /^[a-zA-Z][a-zA-Z0-9\-]{0,127}$/;
|
|
@@ -255,4 +255,4 @@ function clarityValueToJSInner(abiType, cv) {
|
|
|
255
255
|
export { CONTRACT_NAME_REGEX, isUint128, isInt128, isBool, isPrincipal, isStandardPrincipal, isContractPrincipal, isTraitReference, isString, isUint8Array, isArray, isOptional, isOkResponse, isErrResponse, isResponse, isAbiList, isAbiTuple, isAbiOptional, isAbiResponse, isAbiBuffer, isAbiStringAscii, isAbiStringUtf8, isAbiTraitReference, toCamelCase, jsToClarityValue, clarityValueToJS, clarityValueToJSUntyped };
|
|
256
256
|
|
|
257
257
|
//# debugId=F8671962BA8FE8C064756E2164756E21
|
|
258
|
-
//# sourceMappingURL=stacks-
|
|
258
|
+
//# sourceMappingURL=stacks-p93g814f.js.map
|
|
@@ -2,12 +2,12 @@ import {
|
|
|
2
2
|
callContract,
|
|
3
3
|
getMapEntry,
|
|
4
4
|
readContract
|
|
5
|
-
} from "./stacks-
|
|
5
|
+
} from "./stacks-96gaxfcf.js";
|
|
6
6
|
import {
|
|
7
7
|
clarityValueToJSUntyped,
|
|
8
8
|
jsToClarityValue,
|
|
9
9
|
toCamelCase
|
|
10
|
-
} from "./stacks-
|
|
10
|
+
} from "./stacks-p93g814f.js";
|
|
11
11
|
|
|
12
12
|
// src/actions/getContract.ts
|
|
13
13
|
function getContract(params) {
|
|
@@ -131,4 +131,4 @@ class ContractResponseError extends Error {
|
|
|
131
131
|
export { getContract, ContractResponseError };
|
|
132
132
|
|
|
133
133
|
//# debugId=C71C39F2B8094B6864756E2164756E21
|
|
134
|
-
//# sourceMappingURL=stacks-
|
|
134
|
+
//# sourceMappingURL=stacks-q79dx28x.js.map
|
|
@@ -98,7 +98,12 @@ function fromTwos(value, width) {
|
|
|
98
98
|
return value;
|
|
99
99
|
}
|
|
100
100
|
function bytesToTwosBigInt(bytes) {
|
|
101
|
-
|
|
101
|
+
if (bytes.length === 0)
|
|
102
|
+
return 0n;
|
|
103
|
+
const hex = bytesToHex(bytes);
|
|
104
|
+
if (hex.length === 0)
|
|
105
|
+
return 0n;
|
|
106
|
+
return fromTwos(BigInt(`0x${hex}`), BigInt(bytes.byteLength * 8));
|
|
102
107
|
}
|
|
103
108
|
function writeUInt32BE(value) {
|
|
104
109
|
const buf = new Uint8Array(4);
|
|
@@ -237,5 +242,5 @@ function c32addressDecode(c32addr) {
|
|
|
237
242
|
return c32checkDecode(c32addr.slice(1));
|
|
238
243
|
}
|
|
239
244
|
|
|
240
|
-
//# debugId=
|
|
241
|
-
//# sourceMappingURL=stacks-
|
|
245
|
+
//# debugId=27389DFC47245E8C64756E2164756E21
|
|
246
|
+
//# sourceMappingURL=stacks-ra02bpny.cjs.map
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/utils/encoding.ts", "../src/utils/c32.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"const hexes = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, \"0\"));\n\nexport function bytesToHex(bytes: Uint8Array): string {\n let hex = \"\";\n for (const b of bytes) {\n hex += hexes[b];\n }\n return hex;\n}\n\nexport function hexToBytes(hex: string): Uint8Array {\n hex = without0x(hex);\n if (hex.length % 2) hex = `0${hex}`;\n\n const array = new Uint8Array(hex.length / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const byte = Number.parseInt(hex.slice(j, j + 2), 16);\n if (Number.isNaN(byte) || byte < 0) throw new Error(\"Invalid byte sequence\");\n array[i] = byte;\n }\n return array;\n}\n\nexport function with0x(value: string): string {\n return /^0x/i.test(value) ? value : `0x${value}`;\n}\n\nexport function without0x(value: string): string {\n return /^0x/i.test(value) ? value.slice(2) : value;\n}\n\nexport function utf8ToBytes(str: string): Uint8Array {\n return new TextEncoder().encode(str);\n}\n\nexport function bytesToUtf8(bytes: Uint8Array): string {\n return new TextDecoder().decode(bytes);\n}\n\nexport function asciiToBytes(str: string): Uint8Array {\n const bytes = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\nexport function bytesToAscii(bytes: Uint8Array): string {\n return String.fromCharCode(...bytes);\n}\n\nexport function concatBytes(...arrays: Uint8Array[]): Uint8Array {\n if (arrays.length === 1) return arrays[0]!;\n const length = arrays.reduce((a, arr) => a + arr.length, 0);\n const result = new Uint8Array(length);\n let pad = 0;\n for (const arr of arrays) {\n result.set(arr, pad);\n pad += arr.length;\n }\n return result;\n}\n\nexport type IntegerType = number | string | bigint | Uint8Array;\n\nexport function intToBigInt(value: IntegerType): bigint {\n if (typeof value === \"bigint\") return value;\n if (typeof value === \"string\") return BigInt(value);\n if (typeof value === \"number\") {\n if (!Number.isInteger(value))\n throw new RangeError(\"Values of type 'number' must be an integer.\");\n if (value > Number.MAX_SAFE_INTEGER)\n throw new RangeError(\n `Values of type 'number' must be <= ${Number.MAX_SAFE_INTEGER}. Use BigInt instead.`\n );\n return BigInt(value);\n }\n if (value instanceof Uint8Array) return BigInt(`0x${bytesToHex(value)}`);\n throw new TypeError(\"Must be a number, bigint, string, or Uint8Array.\");\n}\n\nexport function intToBytes(value: IntegerType, byteLength: number): Uint8Array {\n return bigIntToBytes(intToBigInt(value), byteLength);\n}\n\nexport function bigIntToBytes(value: bigint, length: number = 16): Uint8Array {\n const hex = value.toString(16).padStart(length * 2, \"0\");\n return hexToBytes(hex);\n}\n\nexport function intToHex(integer: IntegerType, byteLength = 8): string {\n const value = typeof integer === \"bigint\" ? integer : intToBigInt(integer);\n return value.toString(16).padStart(byteLength * 2, \"0\");\n}\n\nexport function toTwos(value: bigint, width: bigint): bigint {\n const limit = BigInt(1) << (width - BigInt(1));\n if (value < -limit || value > limit - BigInt(1)) {\n throw new Error(`Unable to represent integer in width: ${width}`);\n }\n if (value >= BigInt(0)) return value;\n return value + (BigInt(1) << width);\n}\n\nexport function fromTwos(value: bigint, width: bigint): bigint {\n if (value & (BigInt(1) << (width - BigInt(1)))) {\n return value - (BigInt(1) << width);\n }\n return value;\n}\n\nexport function bytesToTwosBigInt(bytes: Uint8Array): bigint {\n return fromTwos(BigInt(`0x${
|
|
5
|
+
"const hexes = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, \"0\"));\n\nexport function bytesToHex(bytes: Uint8Array): string {\n let hex = \"\";\n for (const b of bytes) {\n hex += hexes[b];\n }\n return hex;\n}\n\nexport function hexToBytes(hex: string): Uint8Array {\n hex = without0x(hex);\n if (hex.length % 2) hex = `0${hex}`;\n\n const array = new Uint8Array(hex.length / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const byte = Number.parseInt(hex.slice(j, j + 2), 16);\n if (Number.isNaN(byte) || byte < 0) throw new Error(\"Invalid byte sequence\");\n array[i] = byte;\n }\n return array;\n}\n\nexport function with0x(value: string): string {\n return /^0x/i.test(value) ? value : `0x${value}`;\n}\n\nexport function without0x(value: string): string {\n return /^0x/i.test(value) ? value.slice(2) : value;\n}\n\nexport function utf8ToBytes(str: string): Uint8Array {\n return new TextEncoder().encode(str);\n}\n\nexport function bytesToUtf8(bytes: Uint8Array): string {\n return new TextDecoder().decode(bytes);\n}\n\nexport function asciiToBytes(str: string): Uint8Array {\n const bytes = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\nexport function bytesToAscii(bytes: Uint8Array): string {\n return String.fromCharCode(...bytes);\n}\n\nexport function concatBytes(...arrays: Uint8Array[]): Uint8Array {\n if (arrays.length === 1) return arrays[0]!;\n const length = arrays.reduce((a, arr) => a + arr.length, 0);\n const result = new Uint8Array(length);\n let pad = 0;\n for (const arr of arrays) {\n result.set(arr, pad);\n pad += arr.length;\n }\n return result;\n}\n\nexport type IntegerType = number | string | bigint | Uint8Array;\n\nexport function intToBigInt(value: IntegerType): bigint {\n if (typeof value === \"bigint\") return value;\n if (typeof value === \"string\") return BigInt(value);\n if (typeof value === \"number\") {\n if (!Number.isInteger(value))\n throw new RangeError(\"Values of type 'number' must be an integer.\");\n if (value > Number.MAX_SAFE_INTEGER)\n throw new RangeError(\n `Values of type 'number' must be <= ${Number.MAX_SAFE_INTEGER}. Use BigInt instead.`\n );\n return BigInt(value);\n }\n if (value instanceof Uint8Array) return BigInt(`0x${bytesToHex(value)}`);\n throw new TypeError(\"Must be a number, bigint, string, or Uint8Array.\");\n}\n\nexport function intToBytes(value: IntegerType, byteLength: number): Uint8Array {\n return bigIntToBytes(intToBigInt(value), byteLength);\n}\n\nexport function bigIntToBytes(value: bigint, length: number = 16): Uint8Array {\n const hex = value.toString(16).padStart(length * 2, \"0\");\n return hexToBytes(hex);\n}\n\nexport function intToHex(integer: IntegerType, byteLength = 8): string {\n const value = typeof integer === \"bigint\" ? integer : intToBigInt(integer);\n return value.toString(16).padStart(byteLength * 2, \"0\");\n}\n\nexport function toTwos(value: bigint, width: bigint): bigint {\n const limit = BigInt(1) << (width - BigInt(1));\n if (value < -limit || value > limit - BigInt(1)) {\n throw new Error(`Unable to represent integer in width: ${width}`);\n }\n if (value >= BigInt(0)) return value;\n return value + (BigInt(1) << width);\n}\n\nexport function fromTwos(value: bigint, width: bigint): bigint {\n if (value & (BigInt(1) << (width - BigInt(1)))) {\n return value - (BigInt(1) << width);\n }\n return value;\n}\n\nexport function bytesToTwosBigInt(bytes: Uint8Array): bigint {\n if (bytes.length === 0) return 0n;\n const hex = bytesToHex(bytes);\n if (hex.length === 0) return 0n;\n return fromTwos(BigInt(`0x${hex}`), BigInt(bytes.byteLength * 8));\n}\n\nexport function writeUInt32BE(value: number): Uint8Array {\n const buf = new Uint8Array(4);\n buf[0] = (value >>> 24) & 0xff;\n buf[1] = (value >>> 16) & 0xff;\n buf[2] = (value >>> 8) & 0xff;\n buf[3] = value & 0xff;\n return buf;\n}\n\nexport function readUInt32BE(bytes: Uint8Array, offset = 0): number {\n return (\n ((bytes[offset]! << 24) |\n (bytes[offset + 1]! << 16) |\n (bytes[offset + 2]! << 8) |\n bytes[offset + 3]!) >>>\n 0\n );\n}\n\nexport function writeUInt16BE(value: number): Uint8Array {\n const buf = new Uint8Array(2);\n buf[0] = (value >>> 8) & 0xff;\n buf[1] = value & 0xff;\n return buf;\n}\n\nexport function readUInt16BE(bytes: Uint8Array, offset = 0): number {\n return ((bytes[offset]! << 8) | bytes[offset + 1]!) >>> 0;\n}\n\nexport function writeUInt8(value: number): Uint8Array {\n return new Uint8Array([value & 0xff]);\n}\n",
|
|
6
6
|
"import { sha256 } from \"@noble/hashes/sha2.js\";\nimport { bytesToHex, hexToBytes } from \"./encoding.ts\";\n\nconst C32 = \"0123456789ABCDEFGHJKMNPQRSTVWXYZ\";\nconst HEX = \"0123456789abcdef\";\n\nfunction c32normalize(input: string): string {\n return input.toUpperCase().replace(/O/g, \"0\").replace(/L|I/g, \"1\");\n}\n\nfunction c32encode(inputHex: string): string {\n if (inputHex.length % 2 !== 0) inputHex = `0${inputHex}`;\n inputHex = inputHex.toLowerCase();\n\n const res: string[] = [];\n let carry = 0;\n for (let i = inputHex.length - 1; i >= 0; i--) {\n if (carry < 4) {\n const currentCode = HEX.indexOf(inputHex[i]!) >> carry;\n const nextCode = i !== 0 ? HEX.indexOf(inputHex[i - 1]!) : 0;\n const nextBits = 1 + carry;\n const nextLowBits = (nextCode % (1 << nextBits)) << (5 - nextBits);\n res.unshift(C32[currentCode + nextLowBits]!);\n carry = nextBits;\n } else {\n carry = 0;\n }\n }\n\n // Strip leading c32 zeros\n let leadingZeros = 0;\n while (leadingZeros < res.length && res[leadingZeros] === \"0\") leadingZeros++;\n const stripped = res.slice(leadingZeros);\n\n // Preserve leading zero bytes from hex\n const bytes = hexToBytes(inputHex);\n let zeroBytesCount = 0;\n while (zeroBytesCount < bytes.length && bytes[zeroBytesCount] === 0) zeroBytesCount++;\n const prefix = Array(zeroBytesCount).fill(C32[0]) as string[];\n\n return [...prefix, ...stripped].join(\"\");\n}\n\nfunction c32decode(c32input: string): string {\n c32input = c32normalize(c32input);\n if (!c32input.match(`^[${C32}]*$`)) throw new Error(\"Not a c32-encoded string\");\n\n const zeroPrefix = c32input.match(`^${C32[0]}*`);\n const numLeadingZeroBytes = zeroPrefix ? zeroPrefix[0]!.length : 0;\n\n const res: string[] = [];\n let carry = 0;\n let carryBits = 0;\n for (let i = c32input.length - 1; i >= 0; i--) {\n if (carryBits === 4) {\n res.unshift(HEX[carry]!);\n carryBits = 0;\n carry = 0;\n }\n const currentValue = (C32.indexOf(c32input[i]!) << carryBits) + carry;\n res.unshift(HEX[currentValue % 16]!);\n carryBits += 1;\n carry = currentValue >> 4;\n if (carry > 1 << carryBits) throw new Error(\"Panic error in c32 decoding\");\n }\n res.unshift(HEX[carry]!);\n\n if (res.length % 2 === 1) res.unshift(\"0\");\n\n // Strip leading hex zeros\n let hexLeadingZeros = 0;\n while (hexLeadingZeros < res.length && res[hexLeadingZeros] === \"0\") hexLeadingZeros++;\n let hexStr = res.slice(hexLeadingZeros - (hexLeadingZeros % 2)).join(\"\");\n\n for (let i = 0; i < numLeadingZeroBytes; i++) hexStr = `00${hexStr}`;\n\n return hexStr;\n}\n\nfunction c32checksum(dataHex: string): string {\n return bytesToHex(sha256(sha256(hexToBytes(dataHex))).slice(0, 4));\n}\n\nfunction c32checkEncode(version: number, data: string): string {\n if (version < 0 || version >= 32) throw new Error(\"Invalid version (must be between 0 and 31)\");\n if (!data.match(/^[0-9a-fA-F]*$/)) throw new Error(\"Invalid data (not a hex string)\");\n\n data = data.toLowerCase();\n if (data.length % 2 !== 0) data = `0${data}`;\n\n let versionHex = version.toString(16);\n if (versionHex.length === 1) versionHex = `0${versionHex}`;\n\n const checksumHex = c32checksum(`${versionHex}${data}`);\n return `${C32[version]}${c32encode(`${data}${checksumHex}`)}`;\n}\n\nfunction c32checkDecode(c32data: string): [number, string] {\n c32data = c32normalize(c32data);\n const dataHex = c32decode(c32data.slice(1));\n const version = C32.indexOf(c32data[0]!);\n const checksum = dataHex.slice(-8);\n\n let versionHex = version.toString(16);\n if (versionHex.length === 1) versionHex = `0${versionHex}`;\n\n if (c32checksum(`${versionHex}${dataHex.substring(0, dataHex.length - 8)}`) !== checksum) {\n throw new Error(\"Invalid c32check string: checksum mismatch\");\n }\n\n return [version, dataHex.substring(0, dataHex.length - 8)];\n}\n\nexport function c32address(version: number, hash160hex: string): string {\n if (!hash160hex.match(/^[0-9a-fA-F]{40}$/)) {\n throw new Error(\"Invalid argument: not a hash160 hex string\");\n }\n return `S${c32checkEncode(version, hash160hex)}`;\n}\n\nexport function c32addressDecode(c32addr: string): [number, string] {\n if (c32addr.length <= 5) throw new Error(\"Invalid c32 address: invalid length\");\n if (c32addr[0] !== \"S\") throw new Error('Invalid c32 address: must start with \"S\"');\n return c32checkDecode(c32addr.slice(1));\n}\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "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
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "27389DFC47245E8C64756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|