@secondlayer/stacks 0.2.1 → 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.
Files changed (53) hide show
  1. package/dist/shared/{stacks-9mdk86wp.js → stacks-6m1z4j07.js} +14 -10
  2. package/dist/shared/stacks-6m1z4j07.js.map +10 -0
  3. package/dist/shared/{stacks-wrb1es85.js → stacks-96gaxfcf.js} +5 -5
  4. package/dist/shared/{stacks-v3zy6zds.cjs → stacks-etf219gs.cjs} +11 -7
  5. package/dist/shared/stacks-etf219gs.cjs.map +10 -0
  6. package/dist/shared/{stacks-yfveb68e.js → stacks-je937aas.js} +3 -3
  7. package/dist/shared/{stacks-qyt8m5v0.js → stacks-jrnmh4kc.js} +3 -3
  8. package/dist/shared/{stacks-vd9jcp0b.js → stacks-k9p8m3wf.js} +7 -7
  9. package/dist/shared/{stacks-9avax1yf.js → stacks-p93g814f.js} +3 -3
  10. package/dist/shared/{stacks-qcx67vqa.js → stacks-q79dx28x.js} +3 -3
  11. package/dist/shared/{stacks-r1t6g3c3.cjs → stacks-ra02bpny.cjs} +8 -3
  12. package/dist/shared/{stacks-r1t6g3c3.cjs.map → stacks-ra02bpny.cjs.map} +3 -3
  13. package/dist/shared/{stacks-fedzr2ka.js → stacks-rg1g0fja.js} +3 -3
  14. package/dist/shared/{stacks-bycy6t9k.js → stacks-rwfgts3s.js} +2 -2
  15. package/dist/shared/{stacks-gjvbq6w7.js → stacks-s10yb9gz.js} +2 -2
  16. package/dist/shared/{stacks-nqytwfcc.js → stacks-s7z5q8be.js} +8 -3
  17. package/dist/shared/{stacks-nqytwfcc.js.map → stacks-s7z5q8be.js.map} +3 -3
  18. package/dist/shared/{stacks-vbke9mqw.cjs → stacks-v6ja2eh7.cjs} +16 -6
  19. package/dist/shared/{stacks-vbke9mqw.cjs.map → stacks-v6ja2eh7.cjs.map} +4 -4
  20. package/dist/shared/{stacks-vyb9rx8q.js → stacks-xp9n3r0t.js} +20 -10
  21. package/dist/shared/{stacks-vyb9rx8q.js.map → stacks-xp9n3r0t.js.map} +4 -4
  22. package/dist/src/accounts/index.js +2 -2
  23. package/dist/src/actions/index.d.cts +7 -0
  24. package/dist/src/actions/index.d.ts +7 -0
  25. package/dist/src/actions/index.js +10 -10
  26. package/dist/src/bns/index.js +10 -10
  27. package/dist/src/clarity/index.js +5 -5
  28. package/dist/src/connect/index.cjs.map +2 -2
  29. package/dist/src/connect/index.js.map +2 -2
  30. package/dist/src/connect/walletconnect/index.cjs.map +1 -1
  31. package/dist/src/connect/walletconnect/index.js.map +1 -1
  32. package/dist/src/index.d.cts +7 -0
  33. package/dist/src/index.d.ts +7 -0
  34. package/dist/src/index.js +8 -8
  35. package/dist/src/postconditions/index.js +3 -3
  36. package/dist/src/pox/index.js +9 -9
  37. package/dist/src/stackingdao/index.js +9 -9
  38. package/dist/src/transactions/index.d.cts +7 -0
  39. package/dist/src/transactions/index.d.ts +7 -0
  40. package/dist/src/transactions/index.js +6 -6
  41. package/dist/src/utils/index.js +3 -3
  42. package/package.json +1 -1
  43. package/dist/shared/stacks-9mdk86wp.js.map +0 -10
  44. package/dist/shared/stacks-v3zy6zds.cjs.map +0 -10
  45. /package/dist/shared/{stacks-wrb1es85.js.map → stacks-96gaxfcf.js.map} +0 -0
  46. /package/dist/shared/{stacks-yfveb68e.js.map → stacks-je937aas.js.map} +0 -0
  47. /package/dist/shared/{stacks-qyt8m5v0.js.map → stacks-jrnmh4kc.js.map} +0 -0
  48. /package/dist/shared/{stacks-vd9jcp0b.js.map → stacks-k9p8m3wf.js.map} +0 -0
  49. /package/dist/shared/{stacks-9avax1yf.js.map → stacks-p93g814f.js.map} +0 -0
  50. /package/dist/shared/{stacks-qcx67vqa.js.map → stacks-q79dx28x.js.map} +0 -0
  51. /package/dist/shared/{stacks-fedzr2ka.js.map → stacks-rg1g0fja.js.map} +0 -0
  52. /package/dist/shared/{stacks-bycy6t9k.js.map → stacks-rwfgts3s.js.map} +0 -0
  53. /package/dist/shared/{stacks-gjvbq6w7.js.map → stacks-s10yb9gz.js.map} +0 -0
@@ -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${bytesToHex(bytes)}`), 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",
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": "AA001B4C9FEE084964756E2164756E21",
8
+ "mappings": "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",
9
+ "debugId": "99B12F4697E305C164756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -17,7 +17,9 @@ var PayloadType = {
17
17
  var ClarityVersion = {
18
18
  Clarity1: 1,
19
19
  Clarity2: 2,
20
- Clarity3: 3
20
+ Clarity3: 3,
21
+ Clarity4: 4,
22
+ Clarity5: 5
21
23
  };
22
24
  var AnchorMode = {
23
25
  OnChainOnly: 1,
@@ -75,7 +77,12 @@ var VRF_PROOF_BYTES_LENGTH = 80;
75
77
  var MICROBLOCK_HEADER_BYTES_LENGTH = 132;
76
78
  var TenureChangeCause = {
77
79
  BlockFound: 0,
78
- Extended: 1
80
+ Extended: 1,
81
+ ExtendedRuntime: 2,
82
+ ExtendedReadCount: 3,
83
+ ExtendedReadLength: 4,
84
+ ExtendedWriteCount: 5,
85
+ ExtendedWriteLength: 6
79
86
  };
80
87
 
81
88
  // src/transactions/wire/serialize.ts
@@ -95,7 +102,7 @@ function serializeMemo(memo) {
95
102
  const content = asciiToBytes(memo);
96
103
  const padded = new Uint8Array(MEMO_MAX_LENGTH_BYTES);
97
104
  padded.set(content.slice(0, MEMO_MAX_LENGTH_BYTES));
98
- return concatBytes(writeUInt8(content.length), padded);
105
+ return padded;
99
106
  }
100
107
  function serializeSpendingCondition(condition) {
101
108
  const parts = [
@@ -149,21 +156,24 @@ function serializeAssetInfo(asset) {
149
156
  return concatBytes(serializeAddress(asset.address), serializeLPString(asset.contractName), serializeLPString(asset.assetName));
150
157
  }
151
158
  function serializePostCondition(pc) {
152
- const parts = [serializePrincipal(pc.principal)];
159
+ const parts = [];
153
160
  switch (pc.type) {
154
161
  case "stx":
155
162
  parts.push(writeUInt8(AssetType.STX));
163
+ parts.push(serializePrincipal(pc.principal));
156
164
  parts.push(writeUInt8(pc.conditionCode));
157
165
  parts.push(intToBytes(pc.amount, 8));
158
166
  break;
159
167
  case "ft":
160
168
  parts.push(writeUInt8(AssetType.Fungible));
169
+ parts.push(serializePrincipal(pc.principal));
161
170
  parts.push(serializeAssetInfo(pc.asset));
162
171
  parts.push(writeUInt8(pc.conditionCode));
163
172
  parts.push(intToBytes(pc.amount, 8));
164
173
  break;
165
174
  case "nft":
166
175
  parts.push(writeUInt8(AssetType.NonFungible));
176
+ parts.push(serializePrincipal(pc.principal));
167
177
  parts.push(serializeAssetInfo(pc.asset));
168
178
  parts.push(serializeCVBytes(pc.assetId));
169
179
  parts.push(writeUInt8(pc.conditionCode));
@@ -848,5 +858,5 @@ function buildContractDeploy(options) {
848
858
  return tx;
849
859
  }
850
860
 
851
- //# debugId=F9AB0B29B396E33564756E2164756E21
852
- //# sourceMappingURL=stacks-vbke9mqw.cjs.map
861
+ //# debugId=1CF070DAB537370664756E2164756E21
862
+ //# sourceMappingURL=stacks-v6ja2eh7.cjs.map
@@ -2,14 +2,14 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/transactions/types.ts", "../src/transactions/wire/serialize.ts", "../src/transactions/authorization.ts", "../src/transactions/multisig.ts", "../src/transactions/signer.ts", "../src/transactions/build.ts"],
4
4
  "sourcesContent": [
5
- "import type { ClarityValue } from \"../clarity/types.ts\";\n\n// Auth types\nexport const AuthType = {\n Standard: 0x04,\n Sponsored: 0x05,\n} as const;\nexport type AuthType = (typeof AuthType)[keyof typeof AuthType];\n\n// Payload types\nexport const PayloadType = {\n TokenTransfer: 0x00,\n SmartContract: 0x01,\n ContractCall: 0x02,\n PoisonMicroblock: 0x03,\n Coinbase: 0x04,\n CoinbaseToAltRecipient: 0x05,\n VersionedSmartContract: 0x06,\n TenureChange: 0x07,\n NakamotoCoinbase: 0x08,\n} as const;\nexport type PayloadType = (typeof PayloadType)[keyof typeof PayloadType];\n\n// Clarity version\nexport const ClarityVersion = {\n Clarity1: 1,\n Clarity2: 2,\n Clarity3: 3,\n} as const;\nexport type ClarityVersion = (typeof ClarityVersion)[keyof typeof ClarityVersion];\n\n// Anchor mode (deprecated post-Nakamoto, but needed for wire format)\nexport const AnchorMode = {\n OnChainOnly: 0x01,\n OffChainOnly: 0x02,\n Any: 0x03,\n} as const;\nexport type AnchorMode = (typeof AnchorMode)[keyof typeof AnchorMode];\n\n// Post condition mode\nexport const PostConditionModeWire = {\n Allow: 0x01,\n Deny: 0x02,\n} as const;\nexport type PostConditionModeWire =\n (typeof PostConditionModeWire)[keyof typeof PostConditionModeWire];\n\n// Address hash modes\nexport const AddressHashMode = {\n P2PKH: 0x00,\n P2SH: 0x01,\n P2WPKH: 0x02,\n P2WSH: 0x03,\n P2SH_NonSequential: 0x05, // SIP-027\n P2WSH_P2SH_NonSequential: 0x07, // SIP-027\n} as const;\nexport type AddressHashMode = (typeof AddressHashMode)[keyof typeof AddressHashMode];\n\n// Pub key encoding\nexport const PubKeyEncoding = {\n Compressed: 0x00,\n Uncompressed: 0x01,\n} as const;\nexport type PubKeyEncoding = (typeof PubKeyEncoding)[keyof typeof PubKeyEncoding];\n\n// Fungible condition codes (wire format)\nexport const FungibleConditionCode = {\n Equal: 0x01,\n Greater: 0x02,\n GreaterEqual: 0x03,\n Less: 0x04,\n LessEqual: 0x05,\n} as const;\n\n// Non-fungible condition codes (wire format)\nexport const NonFungibleConditionCode = {\n Sends: 0x10,\n DoesNotSend: 0x11,\n} as const;\n\n// Post condition principal types\nexport const PostConditionPrincipalId = {\n Origin: 0x01,\n Standard: 0x02,\n Contract: 0x03,\n} as const;\n\n// Post condition asset types\nexport const AssetType = {\n STX: 0x00,\n Fungible: 0x01,\n NonFungible: 0x02,\n} as const;\n\n// Auth field types\nexport const AuthFieldType = {\n PublicKeyCompressed: 0x00,\n PublicKeyUncompressed: 0x01,\n SignatureCompressed: 0x02,\n SignatureUncompressed: 0x03,\n} as const;\n\nexport const RECOVERABLE_ECDSA_SIG_LENGTH_BYTES = 65;\nexport const MEMO_MAX_LENGTH_BYTES = 34;\nexport const MAX_STRING_LENGTH_BYTES = 128;\nexport const COINBASE_BYTES_LENGTH = 32;\nexport const VRF_PROOF_BYTES_LENGTH = 80;\nexport const MICROBLOCK_HEADER_BYTES_LENGTH = 132; // 1 + 2 + 32 + 32 + 65\n\n// Tenure change cause\nexport const TenureChangeCause = {\n BlockFound: 0x00,\n Extended: 0x01,\n} as const;\nexport type TenureChangeCause = (typeof TenureChangeCause)[keyof typeof TenureChangeCause];\n\n// Token transfer payload\nexport type TokenTransferPayload = {\n payloadType: typeof PayloadType.TokenTransfer;\n recipient: ClarityValue; // PrincipalCV\n amount: bigint;\n memo: string;\n};\n\n// Contract call payload\nexport type ContractCallPayload = {\n payloadType: typeof PayloadType.ContractCall;\n contractAddress: string;\n contractName: string;\n functionName: string;\n functionArgs: ClarityValue[];\n};\n\n// Smart contract deploy payload\nexport type SmartContractPayload = {\n payloadType: typeof PayloadType.SmartContract | typeof PayloadType.VersionedSmartContract;\n clarityVersion?: ClarityVersion;\n contractName: string;\n codeBody: string;\n};\n\n// Coinbase payload (appears in every pre-Nakamoto block)\nexport type CoinbasePayload = {\n payloadType: typeof PayloadType.Coinbase;\n coinbaseBuffer: string; // 32 bytes hex\n};\n\n// Coinbase to alt recipient payload\nexport type CoinbaseToAltRecipientPayload = {\n payloadType: typeof PayloadType.CoinbaseToAltRecipient;\n coinbaseBuffer: string; // 32 bytes hex\n recipient: ClarityValue; // PrincipalCV\n};\n\n// Poison microblock payload\nexport type PoisonMicroblockPayload = {\n payloadType: typeof PayloadType.PoisonMicroblock;\n header1: string; // 132 bytes hex (raw microblock header)\n header2: string; // 132 bytes hex (raw microblock header)\n};\n\n// Tenure change payload (Nakamoto)\nexport type TenureChangePayload = {\n payloadType: typeof PayloadType.TenureChange;\n tenureConsensusHash: string; // 20 bytes hex\n prevTenureConsensusHash: string; // 20 bytes hex\n burnViewConsensusHash: string; // 20 bytes hex\n previousTenureEnd: string; // 32 bytes hex\n previousTenureBlocks: number; // u32\n cause: TenureChangeCause;\n pubkeyHash: string; // 20 bytes hex\n};\n\n// Nakamoto coinbase payload\nexport type NakamotoCoinbasePayload = {\n payloadType: typeof PayloadType.NakamotoCoinbase;\n coinbaseBuffer: string; // 32 bytes hex\n recipient: ClarityValue | null; // Optional PrincipalCV\n vrfProof: string; // 80 bytes hex\n};\n\nexport type TransactionPayload =\n | TokenTransferPayload\n | ContractCallPayload\n | SmartContractPayload\n | CoinbasePayload\n | CoinbaseToAltRecipientPayload\n | PoisonMicroblockPayload\n | TenureChangePayload\n | NakamotoCoinbasePayload;\n\n// Spending condition\nexport type SingleSigSpendingCondition = {\n hashMode: typeof AddressHashMode.P2PKH | typeof AddressHashMode.P2WPKH;\n signer: string; // hash160 hex\n nonce: bigint;\n fee: bigint;\n keyEncoding: PubKeyEncoding;\n signature: string; // 65-byte recoverable sig hex\n};\n\nexport type TransactionAuthField = {\n pubKeyEncoding: PubKeyEncoding;\n type: \"publicKey\" | \"signature\";\n data: string; // hex\n};\n\nexport type MultiSigHashMode =\n | typeof AddressHashMode.P2SH\n | typeof AddressHashMode.P2WSH\n | typeof AddressHashMode.P2SH_NonSequential\n | typeof AddressHashMode.P2WSH_P2SH_NonSequential;\n\nexport type MultiSigSpendingCondition = {\n hashMode: MultiSigHashMode;\n signer: string;\n nonce: bigint;\n fee: bigint;\n fields: TransactionAuthField[];\n signaturesRequired: number;\n};\n\nexport type SpendingCondition = SingleSigSpendingCondition | MultiSigSpendingCondition;\n\nexport type StandardAuthorization = {\n authType: typeof AuthType.Standard;\n spendingCondition: SpendingCondition;\n};\n\nexport type SponsoredAuthorization = {\n authType: typeof AuthType.Sponsored;\n spendingCondition: SpendingCondition;\n sponsorSpendingCondition: SpendingCondition;\n};\n\nexport type Authorization = StandardAuthorization | SponsoredAuthorization;\n\n// Full transaction\nexport type StacksTransaction = {\n version: number;\n chainId: number;\n auth: Authorization;\n anchorMode: AnchorMode;\n postConditionMode: PostConditionModeWire;\n postConditions: PostConditionWire[];\n payload: TransactionPayload;\n};\n\n// Wire post condition types\nexport type PostConditionWire = StxPostConditionWire | FtPostConditionWire | NftPostConditionWire;\n\nexport type StxPostConditionWire = {\n type: \"stx\";\n principal: PostConditionPrincipalWire;\n conditionCode: number;\n amount: bigint;\n};\n\nexport type FtPostConditionWire = {\n type: \"ft\";\n principal: PostConditionPrincipalWire;\n asset: AssetInfoWire;\n conditionCode: number;\n amount: bigint;\n};\n\nexport type NftPostConditionWire = {\n type: \"nft\";\n principal: PostConditionPrincipalWire;\n asset: AssetInfoWire;\n conditionCode: number;\n assetId: ClarityValue;\n};\n\nexport type PostConditionPrincipalWire =\n | { type: \"origin\" }\n | { type: \"standard\"; address: string }\n | { type: \"contract\"; address: string; contractName: string };\n\nexport type AssetInfoWire = {\n address: string;\n contractName: string;\n assetName: string;\n};\n",
6
- "import {\n bytesToHex,\n hexToBytes,\n concatBytes,\n intToBytes,\n intToHex,\n utf8ToBytes,\n asciiToBytes,\n writeUInt32BE,\n writeUInt16BE,\n writeUInt8,\n} from \"../../utils/encoding.ts\";\nimport { c32addressDecode } from \"../../utils/c32.ts\";\nimport { serializeCVBytes } from \"../../clarity/serialize.ts\";\nimport {\n AuthType,\n PayloadType,\n PostConditionPrincipalId,\n AssetType,\n MEMO_MAX_LENGTH_BYTES,\n type StacksTransaction,\n type Authorization,\n type SpendingCondition,\n type SingleSigSpendingCondition,\n type MultiSigSpendingCondition,\n type TransactionPayload,\n type PostConditionWire,\n type PostConditionPrincipalWire,\n type AssetInfoWire,\n type TransactionAuthField,\n type CoinbasePayload,\n type CoinbaseToAltRecipientPayload,\n type PoisonMicroblockPayload,\n type TenureChangePayload as TenureChangePayloadType,\n type NakamotoCoinbasePayload,\n} from \"../types.ts\";\n\n// Address serialization: version (1 byte) + hash160 (20 bytes)\nfunction serializeAddress(c32Address: string): Uint8Array {\n const [version, hash160] = c32addressDecode(c32Address);\n return concatBytes(new Uint8Array([version]), hexToBytes(hash160));\n}\n\n// LP string: length prefix (n bytes) + content bytes\nfunction serializeLPString(str: string, prefixBytes = 1): Uint8Array {\n const content = utf8ToBytes(str);\n const prefix = hexToBytes(intToHex(content.byteLength, prefixBytes));\n return concatBytes(prefix, content);\n}\n\n// LP string for code body (4-byte prefix)\nfunction serializeLPStringLong(str: string): Uint8Array {\n return serializeLPString(str, 4);\n}\n\n// Memo: padded to MEMO_MAX_LENGTH_BYTES\nfunction serializeMemo(memo: string): Uint8Array {\n const content = asciiToBytes(memo);\n const padded = new Uint8Array(MEMO_MAX_LENGTH_BYTES);\n padded.set(content.slice(0, MEMO_MAX_LENGTH_BYTES));\n return concatBytes(writeUInt8(content.length), padded);\n}\n\nfunction serializeSpendingCondition(condition: SpendingCondition): Uint8Array {\n const parts: Uint8Array[] = [\n writeUInt8(condition.hashMode),\n hexToBytes(condition.signer), // 20 bytes\n intToBytes(condition.nonce, 8),\n intToBytes(condition.fee, 8),\n ];\n\n if (\"signature\" in condition) {\n // Single sig\n const sc = condition as SingleSigSpendingCondition;\n parts.push(writeUInt8(sc.keyEncoding));\n parts.push(hexToBytes(sc.signature)); // 65 bytes\n } else {\n // Multi sig\n const mc = condition as MultiSigSpendingCondition;\n // Fields as LP list\n parts.push(writeUInt32BE(mc.fields.length));\n for (const field of mc.fields) {\n parts.push(serializeAuthField(field));\n }\n parts.push(writeUInt16BE(mc.signaturesRequired));\n }\n\n return concatBytes(...parts);\n}\n\nfunction serializeAuthField(field: TransactionAuthField): Uint8Array {\n if (field.type === \"publicKey\") {\n const typeId = field.pubKeyEncoding === 0x00 ? 0x00 : 0x01;\n return concatBytes(writeUInt8(typeId), hexToBytes(field.data));\n } else {\n const typeId = field.pubKeyEncoding === 0x00 ? 0x02 : 0x03;\n return concatBytes(writeUInt8(typeId), hexToBytes(field.data));\n }\n}\n\nfunction serializeAuthorization(auth: Authorization): Uint8Array {\n const parts: Uint8Array[] = [writeUInt8(auth.authType)];\n parts.push(serializeSpendingCondition(auth.spendingCondition));\n if (auth.authType === AuthType.Sponsored) {\n parts.push(serializeSpendingCondition(auth.sponsorSpendingCondition));\n }\n return concatBytes(...parts);\n}\n\nfunction serializePrincipal(principal: PostConditionPrincipalWire): Uint8Array {\n switch (principal.type) {\n case \"origin\":\n return writeUInt8(PostConditionPrincipalId.Origin);\n case \"standard\":\n return concatBytes(\n writeUInt8(PostConditionPrincipalId.Standard),\n serializeAddress(principal.address)\n );\n case \"contract\":\n return concatBytes(\n writeUInt8(PostConditionPrincipalId.Contract),\n serializeAddress(principal.address),\n serializeLPString(principal.contractName)\n );\n }\n}\n\nfunction serializeAssetInfo(asset: AssetInfoWire): Uint8Array {\n return concatBytes(\n serializeAddress(asset.address),\n serializeLPString(asset.contractName),\n serializeLPString(asset.assetName)\n );\n}\n\nfunction serializePostCondition(pc: PostConditionWire): Uint8Array {\n const parts: Uint8Array[] = [serializePrincipal(pc.principal)];\n\n switch (pc.type) {\n case \"stx\":\n parts.push(writeUInt8(AssetType.STX));\n parts.push(writeUInt8(pc.conditionCode));\n parts.push(intToBytes(pc.amount, 8));\n break;\n case \"ft\":\n parts.push(writeUInt8(AssetType.Fungible));\n parts.push(serializeAssetInfo(pc.asset));\n parts.push(writeUInt8(pc.conditionCode));\n parts.push(intToBytes(pc.amount, 8));\n break;\n case \"nft\":\n parts.push(writeUInt8(AssetType.NonFungible));\n parts.push(serializeAssetInfo(pc.asset));\n parts.push(serializeCVBytes(pc.assetId));\n parts.push(writeUInt8(pc.conditionCode));\n break;\n }\n\n return concatBytes(...parts);\n}\n\nfunction serializePostConditions(pcs: PostConditionWire[]): Uint8Array {\n const parts: Uint8Array[] = [writeUInt32BE(pcs.length)];\n for (const pc of pcs) {\n parts.push(serializePostCondition(pc));\n }\n return concatBytes(...parts);\n}\n\nexport function serializePayload(payload: TransactionPayload): Uint8Array {\n const parts: Uint8Array[] = [writeUInt8(payload.payloadType)];\n\n switch (payload.payloadType) {\n case PayloadType.TokenTransfer:\n parts.push(serializeCVBytes(payload.recipient));\n parts.push(intToBytes(payload.amount, 8));\n parts.push(serializeMemo(payload.memo));\n break;\n\n case PayloadType.ContractCall:\n parts.push(serializeAddress(payload.contractAddress));\n parts.push(serializeLPString(payload.contractName));\n parts.push(serializeLPString(payload.functionName));\n parts.push(writeUInt32BE(payload.functionArgs.length));\n for (const arg of payload.functionArgs) {\n parts.push(serializeCVBytes(arg));\n }\n break;\n\n case PayloadType.SmartContract:\n parts.push(serializeLPString(payload.contractName));\n parts.push(serializeLPStringLong(payload.codeBody));\n break;\n\n case PayloadType.VersionedSmartContract:\n parts.push(writeUInt8(payload.clarityVersion ?? 2));\n parts.push(serializeLPString(payload.contractName));\n parts.push(serializeLPStringLong(payload.codeBody));\n break;\n\n case PayloadType.Coinbase:\n parts.push(hexToBytes((payload as CoinbasePayload).coinbaseBuffer));\n break;\n\n case PayloadType.CoinbaseToAltRecipient: {\n const cbAlt = payload as CoinbaseToAltRecipientPayload;\n parts.push(hexToBytes(cbAlt.coinbaseBuffer));\n parts.push(serializeCVBytes(cbAlt.recipient));\n break;\n }\n\n case PayloadType.PoisonMicroblock: {\n const pm = payload as PoisonMicroblockPayload;\n parts.push(hexToBytes(pm.header1));\n parts.push(hexToBytes(pm.header2));\n break;\n }\n\n case PayloadType.TenureChange: {\n const tc = payload as TenureChangePayloadType;\n parts.push(hexToBytes(tc.tenureConsensusHash));\n parts.push(hexToBytes(tc.prevTenureConsensusHash));\n parts.push(hexToBytes(tc.burnViewConsensusHash));\n parts.push(hexToBytes(tc.previousTenureEnd));\n parts.push(writeUInt32BE(tc.previousTenureBlocks));\n parts.push(writeUInt8(tc.cause));\n parts.push(hexToBytes(tc.pubkeyHash));\n break;\n }\n\n case PayloadType.NakamotoCoinbase: {\n const nc = payload as NakamotoCoinbasePayload;\n parts.push(hexToBytes(nc.coinbaseBuffer));\n if (nc.recipient) {\n parts.push(serializeCVBytes({ type: \"some\", value: nc.recipient }));\n } else {\n parts.push(serializeCVBytes({ type: \"none\" }));\n }\n parts.push(hexToBytes(nc.vrfProof));\n break;\n }\n }\n\n return concatBytes(...parts);\n}\n\nexport function serializeTransaction(tx: StacksTransaction): Uint8Array {\n return concatBytes(\n writeUInt8(tx.version),\n writeUInt32BE(tx.chainId),\n serializeAuthorization(tx.auth),\n writeUInt8(tx.anchorMode),\n writeUInt8(tx.postConditionMode),\n serializePostConditions(tx.postConditions),\n serializePayload(tx.payload)\n );\n}\n\nexport function serializeTransactionHex(tx: StacksTransaction): string {\n return bytesToHex(serializeTransaction(tx));\n}\n",
5
+ "import type { ClarityValue } from \"../clarity/types.ts\";\n\n// Auth types\nexport const AuthType = {\n Standard: 0x04,\n Sponsored: 0x05,\n} as const;\nexport type AuthType = (typeof AuthType)[keyof typeof AuthType];\n\n// Payload types\nexport const PayloadType = {\n TokenTransfer: 0x00,\n SmartContract: 0x01,\n ContractCall: 0x02,\n PoisonMicroblock: 0x03,\n Coinbase: 0x04,\n CoinbaseToAltRecipient: 0x05,\n VersionedSmartContract: 0x06,\n TenureChange: 0x07,\n NakamotoCoinbase: 0x08,\n} as const;\nexport type PayloadType = (typeof PayloadType)[keyof typeof PayloadType];\n\n// Clarity version\nexport const ClarityVersion = {\n Clarity1: 1,\n Clarity2: 2,\n Clarity3: 3,\n Clarity4: 4,\n Clarity5: 5,\n} as const;\nexport type ClarityVersion = (typeof ClarityVersion)[keyof typeof ClarityVersion];\n\n// Anchor mode (deprecated post-Nakamoto, but needed for wire format)\nexport const AnchorMode = {\n OnChainOnly: 0x01,\n OffChainOnly: 0x02,\n Any: 0x03,\n} as const;\nexport type AnchorMode = (typeof AnchorMode)[keyof typeof AnchorMode];\n\n// Post condition mode\nexport const PostConditionModeWire = {\n Allow: 0x01,\n Deny: 0x02,\n} as const;\nexport type PostConditionModeWire =\n (typeof PostConditionModeWire)[keyof typeof PostConditionModeWire];\n\n// Address hash modes\nexport const AddressHashMode = {\n P2PKH: 0x00,\n P2SH: 0x01,\n P2WPKH: 0x02,\n P2WSH: 0x03,\n P2SH_NonSequential: 0x05, // SIP-027\n P2WSH_P2SH_NonSequential: 0x07, // SIP-027\n} as const;\nexport type AddressHashMode = (typeof AddressHashMode)[keyof typeof AddressHashMode];\n\n// Pub key encoding\nexport const PubKeyEncoding = {\n Compressed: 0x00,\n Uncompressed: 0x01,\n} as const;\nexport type PubKeyEncoding = (typeof PubKeyEncoding)[keyof typeof PubKeyEncoding];\n\n// Fungible condition codes (wire format)\nexport const FungibleConditionCode = {\n Equal: 0x01,\n Greater: 0x02,\n GreaterEqual: 0x03,\n Less: 0x04,\n LessEqual: 0x05,\n} as const;\n\n// Non-fungible condition codes (wire format)\nexport const NonFungibleConditionCode = {\n Sends: 0x10,\n DoesNotSend: 0x11,\n} as const;\n\n// Post condition principal types\nexport const PostConditionPrincipalId = {\n Origin: 0x01,\n Standard: 0x02,\n Contract: 0x03,\n} as const;\n\n// Post condition asset types\nexport const AssetType = {\n STX: 0x00,\n Fungible: 0x01,\n NonFungible: 0x02,\n} as const;\n\n// Auth field types\nexport const AuthFieldType = {\n PublicKeyCompressed: 0x00,\n PublicKeyUncompressed: 0x01,\n SignatureCompressed: 0x02,\n SignatureUncompressed: 0x03,\n} as const;\n\nexport const RECOVERABLE_ECDSA_SIG_LENGTH_BYTES = 65;\nexport const MEMO_MAX_LENGTH_BYTES = 34;\nexport const MAX_STRING_LENGTH_BYTES = 128;\nexport const COINBASE_BYTES_LENGTH = 32;\nexport const VRF_PROOF_BYTES_LENGTH = 80;\nexport const MICROBLOCK_HEADER_BYTES_LENGTH = 132; // 1 + 2 + 32 + 32 + 65\n\n// Tenure change cause\nexport const TenureChangeCause = {\n BlockFound: 0x00,\n Extended: 0x01,\n ExtendedRuntime: 0x02,\n ExtendedReadCount: 0x03,\n ExtendedReadLength: 0x04,\n ExtendedWriteCount: 0x05,\n ExtendedWriteLength: 0x06,\n} as const;\nexport type TenureChangeCause = (typeof TenureChangeCause)[keyof typeof TenureChangeCause];\n\n// Token transfer payload\nexport type TokenTransferPayload = {\n payloadType: typeof PayloadType.TokenTransfer;\n recipient: ClarityValue; // PrincipalCV\n amount: bigint;\n memo: string;\n};\n\n// Contract call payload\nexport type ContractCallPayload = {\n payloadType: typeof PayloadType.ContractCall;\n contractAddress: string;\n contractName: string;\n functionName: string;\n functionArgs: ClarityValue[];\n};\n\n// Smart contract deploy payload\nexport type SmartContractPayload = {\n payloadType: typeof PayloadType.SmartContract | typeof PayloadType.VersionedSmartContract;\n clarityVersion?: ClarityVersion;\n contractName: string;\n codeBody: string;\n};\n\n// Coinbase payload (appears in every pre-Nakamoto block)\nexport type CoinbasePayload = {\n payloadType: typeof PayloadType.Coinbase;\n coinbaseBuffer: string; // 32 bytes hex\n};\n\n// Coinbase to alt recipient payload\nexport type CoinbaseToAltRecipientPayload = {\n payloadType: typeof PayloadType.CoinbaseToAltRecipient;\n coinbaseBuffer: string; // 32 bytes hex\n recipient: ClarityValue; // PrincipalCV\n};\n\n// Poison microblock payload\nexport type PoisonMicroblockPayload = {\n payloadType: typeof PayloadType.PoisonMicroblock;\n header1: string; // 132 bytes hex (raw microblock header)\n header2: string; // 132 bytes hex (raw microblock header)\n};\n\n// Tenure change payload (Nakamoto)\nexport type TenureChangePayload = {\n payloadType: typeof PayloadType.TenureChange;\n tenureConsensusHash: string; // 20 bytes hex\n prevTenureConsensusHash: string; // 20 bytes hex\n burnViewConsensusHash: string; // 20 bytes hex\n previousTenureEnd: string; // 32 bytes hex\n previousTenureBlocks: number; // u32\n cause: TenureChangeCause;\n pubkeyHash: string; // 20 bytes hex\n};\n\n// Nakamoto coinbase payload\nexport type NakamotoCoinbasePayload = {\n payloadType: typeof PayloadType.NakamotoCoinbase;\n coinbaseBuffer: string; // 32 bytes hex\n recipient: ClarityValue | null; // Optional PrincipalCV\n vrfProof: string; // 80 bytes hex\n};\n\nexport type TransactionPayload =\n | TokenTransferPayload\n | ContractCallPayload\n | SmartContractPayload\n | CoinbasePayload\n | CoinbaseToAltRecipientPayload\n | PoisonMicroblockPayload\n | TenureChangePayload\n | NakamotoCoinbasePayload;\n\n// Spending condition\nexport type SingleSigSpendingCondition = {\n hashMode: typeof AddressHashMode.P2PKH | typeof AddressHashMode.P2WPKH;\n signer: string; // hash160 hex\n nonce: bigint;\n fee: bigint;\n keyEncoding: PubKeyEncoding;\n signature: string; // 65-byte recoverable sig hex\n};\n\nexport type TransactionAuthField = {\n pubKeyEncoding: PubKeyEncoding;\n type: \"publicKey\" | \"signature\";\n data: string; // hex\n};\n\nexport type MultiSigHashMode =\n | typeof AddressHashMode.P2SH\n | typeof AddressHashMode.P2WSH\n | typeof AddressHashMode.P2SH_NonSequential\n | typeof AddressHashMode.P2WSH_P2SH_NonSequential;\n\nexport type MultiSigSpendingCondition = {\n hashMode: MultiSigHashMode;\n signer: string;\n nonce: bigint;\n fee: bigint;\n fields: TransactionAuthField[];\n signaturesRequired: number;\n};\n\nexport type SpendingCondition = SingleSigSpendingCondition | MultiSigSpendingCondition;\n\nexport type StandardAuthorization = {\n authType: typeof AuthType.Standard;\n spendingCondition: SpendingCondition;\n};\n\nexport type SponsoredAuthorization = {\n authType: typeof AuthType.Sponsored;\n spendingCondition: SpendingCondition;\n sponsorSpendingCondition: SpendingCondition;\n};\n\nexport type Authorization = StandardAuthorization | SponsoredAuthorization;\n\n// Full transaction\nexport type StacksTransaction = {\n version: number;\n chainId: number;\n auth: Authorization;\n anchorMode: AnchorMode;\n postConditionMode: PostConditionModeWire;\n postConditions: PostConditionWire[];\n payload: TransactionPayload;\n};\n\n// Wire post condition types\nexport type PostConditionWire = StxPostConditionWire | FtPostConditionWire | NftPostConditionWire;\n\nexport type StxPostConditionWire = {\n type: \"stx\";\n principal: PostConditionPrincipalWire;\n conditionCode: number;\n amount: bigint;\n};\n\nexport type FtPostConditionWire = {\n type: \"ft\";\n principal: PostConditionPrincipalWire;\n asset: AssetInfoWire;\n conditionCode: number;\n amount: bigint;\n};\n\nexport type NftPostConditionWire = {\n type: \"nft\";\n principal: PostConditionPrincipalWire;\n asset: AssetInfoWire;\n conditionCode: number;\n assetId: ClarityValue;\n};\n\nexport type PostConditionPrincipalWire =\n | { type: \"origin\" }\n | { type: \"standard\"; address: string }\n | { type: \"contract\"; address: string; contractName: string };\n\nexport type AssetInfoWire = {\n address: string;\n contractName: string;\n assetName: string;\n};\n",
6
+ "import {\n bytesToHex,\n hexToBytes,\n concatBytes,\n intToBytes,\n intToHex,\n utf8ToBytes,\n asciiToBytes,\n writeUInt32BE,\n writeUInt16BE,\n writeUInt8,\n} from \"../../utils/encoding.ts\";\nimport { c32addressDecode } from \"../../utils/c32.ts\";\nimport { serializeCVBytes } from \"../../clarity/serialize.ts\";\nimport {\n AuthType,\n PayloadType,\n PostConditionPrincipalId,\n AssetType,\n MEMO_MAX_LENGTH_BYTES,\n type StacksTransaction,\n type Authorization,\n type SpendingCondition,\n type SingleSigSpendingCondition,\n type MultiSigSpendingCondition,\n type TransactionPayload,\n type PostConditionWire,\n type PostConditionPrincipalWire,\n type AssetInfoWire,\n type TransactionAuthField,\n type CoinbasePayload,\n type CoinbaseToAltRecipientPayload,\n type PoisonMicroblockPayload,\n type TenureChangePayload as TenureChangePayloadType,\n type NakamotoCoinbasePayload,\n} from \"../types.ts\";\n\n// Address serialization: version (1 byte) + hash160 (20 bytes)\nfunction serializeAddress(c32Address: string): Uint8Array {\n const [version, hash160] = c32addressDecode(c32Address);\n return concatBytes(new Uint8Array([version]), hexToBytes(hash160));\n}\n\n// LP string: length prefix (n bytes) + content bytes\nfunction serializeLPString(str: string, prefixBytes = 1): Uint8Array {\n const content = utf8ToBytes(str);\n const prefix = hexToBytes(intToHex(content.byteLength, prefixBytes));\n return concatBytes(prefix, content);\n}\n\n// LP string for code body (4-byte prefix)\nfunction serializeLPStringLong(str: string): Uint8Array {\n return serializeLPString(str, 4);\n}\n\n// Memo: flat 34-byte field (no length prefix) per SIP-005\nfunction serializeMemo(memo: string): Uint8Array {\n const content = asciiToBytes(memo);\n const padded = new Uint8Array(MEMO_MAX_LENGTH_BYTES);\n padded.set(content.slice(0, MEMO_MAX_LENGTH_BYTES));\n return padded;\n}\n\nfunction serializeSpendingCondition(condition: SpendingCondition): Uint8Array {\n const parts: Uint8Array[] = [\n writeUInt8(condition.hashMode),\n hexToBytes(condition.signer), // 20 bytes\n intToBytes(condition.nonce, 8),\n intToBytes(condition.fee, 8),\n ];\n\n if (\"signature\" in condition) {\n // Single sig\n const sc = condition as SingleSigSpendingCondition;\n parts.push(writeUInt8(sc.keyEncoding));\n parts.push(hexToBytes(sc.signature)); // 65 bytes\n } else {\n // Multi sig\n const mc = condition as MultiSigSpendingCondition;\n // Fields as LP list\n parts.push(writeUInt32BE(mc.fields.length));\n for (const field of mc.fields) {\n parts.push(serializeAuthField(field));\n }\n parts.push(writeUInt16BE(mc.signaturesRequired));\n }\n\n return concatBytes(...parts);\n}\n\nfunction serializeAuthField(field: TransactionAuthField): Uint8Array {\n if (field.type === \"publicKey\") {\n const typeId = field.pubKeyEncoding === 0x00 ? 0x00 : 0x01;\n return concatBytes(writeUInt8(typeId), hexToBytes(field.data));\n } else {\n const typeId = field.pubKeyEncoding === 0x00 ? 0x02 : 0x03;\n return concatBytes(writeUInt8(typeId), hexToBytes(field.data));\n }\n}\n\nfunction serializeAuthorization(auth: Authorization): Uint8Array {\n const parts: Uint8Array[] = [writeUInt8(auth.authType)];\n parts.push(serializeSpendingCondition(auth.spendingCondition));\n if (auth.authType === AuthType.Sponsored) {\n parts.push(serializeSpendingCondition(auth.sponsorSpendingCondition));\n }\n return concatBytes(...parts);\n}\n\nfunction serializePrincipal(principal: PostConditionPrincipalWire): Uint8Array {\n switch (principal.type) {\n case \"origin\":\n return writeUInt8(PostConditionPrincipalId.Origin);\n case \"standard\":\n return concatBytes(\n writeUInt8(PostConditionPrincipalId.Standard),\n serializeAddress(principal.address)\n );\n case \"contract\":\n return concatBytes(\n writeUInt8(PostConditionPrincipalId.Contract),\n serializeAddress(principal.address),\n serializeLPString(principal.contractName)\n );\n }\n}\n\nfunction serializeAssetInfo(asset: AssetInfoWire): Uint8Array {\n return concatBytes(\n serializeAddress(asset.address),\n serializeLPString(asset.contractName),\n serializeLPString(asset.assetName)\n );\n}\n\nfunction serializePostCondition(pc: PostConditionWire): Uint8Array {\n // Wire order: asset_type first, then principal (per SIP-005)\n const parts: Uint8Array[] = [];\n\n switch (pc.type) {\n case \"stx\":\n parts.push(writeUInt8(AssetType.STX));\n parts.push(serializePrincipal(pc.principal));\n parts.push(writeUInt8(pc.conditionCode));\n parts.push(intToBytes(pc.amount, 8));\n break;\n case \"ft\":\n parts.push(writeUInt8(AssetType.Fungible));\n parts.push(serializePrincipal(pc.principal));\n parts.push(serializeAssetInfo(pc.asset));\n parts.push(writeUInt8(pc.conditionCode));\n parts.push(intToBytes(pc.amount, 8));\n break;\n case \"nft\":\n parts.push(writeUInt8(AssetType.NonFungible));\n parts.push(serializePrincipal(pc.principal));\n parts.push(serializeAssetInfo(pc.asset));\n parts.push(serializeCVBytes(pc.assetId));\n parts.push(writeUInt8(pc.conditionCode));\n break;\n }\n\n return concatBytes(...parts);\n}\n\nfunction serializePostConditions(pcs: PostConditionWire[]): Uint8Array {\n const parts: Uint8Array[] = [writeUInt32BE(pcs.length)];\n for (const pc of pcs) {\n parts.push(serializePostCondition(pc));\n }\n return concatBytes(...parts);\n}\n\nexport function serializePayload(payload: TransactionPayload): Uint8Array {\n const parts: Uint8Array[] = [writeUInt8(payload.payloadType)];\n\n switch (payload.payloadType) {\n case PayloadType.TokenTransfer:\n parts.push(serializeCVBytes(payload.recipient));\n parts.push(intToBytes(payload.amount, 8));\n parts.push(serializeMemo(payload.memo));\n break;\n\n case PayloadType.ContractCall:\n parts.push(serializeAddress(payload.contractAddress));\n parts.push(serializeLPString(payload.contractName));\n parts.push(serializeLPString(payload.functionName));\n parts.push(writeUInt32BE(payload.functionArgs.length));\n for (const arg of payload.functionArgs) {\n parts.push(serializeCVBytes(arg));\n }\n break;\n\n case PayloadType.SmartContract:\n parts.push(serializeLPString(payload.contractName));\n parts.push(serializeLPStringLong(payload.codeBody));\n break;\n\n case PayloadType.VersionedSmartContract:\n parts.push(writeUInt8(payload.clarityVersion ?? 2));\n parts.push(serializeLPString(payload.contractName));\n parts.push(serializeLPStringLong(payload.codeBody));\n break;\n\n case PayloadType.Coinbase:\n parts.push(hexToBytes((payload as CoinbasePayload).coinbaseBuffer));\n break;\n\n case PayloadType.CoinbaseToAltRecipient: {\n const cbAlt = payload as CoinbaseToAltRecipientPayload;\n parts.push(hexToBytes(cbAlt.coinbaseBuffer));\n parts.push(serializeCVBytes(cbAlt.recipient));\n break;\n }\n\n case PayloadType.PoisonMicroblock: {\n const pm = payload as PoisonMicroblockPayload;\n parts.push(hexToBytes(pm.header1));\n parts.push(hexToBytes(pm.header2));\n break;\n }\n\n case PayloadType.TenureChange: {\n const tc = payload as TenureChangePayloadType;\n parts.push(hexToBytes(tc.tenureConsensusHash));\n parts.push(hexToBytes(tc.prevTenureConsensusHash));\n parts.push(hexToBytes(tc.burnViewConsensusHash));\n parts.push(hexToBytes(tc.previousTenureEnd));\n parts.push(writeUInt32BE(tc.previousTenureBlocks));\n parts.push(writeUInt8(tc.cause));\n parts.push(hexToBytes(tc.pubkeyHash));\n break;\n }\n\n case PayloadType.NakamotoCoinbase: {\n const nc = payload as NakamotoCoinbasePayload;\n parts.push(hexToBytes(nc.coinbaseBuffer));\n if (nc.recipient) {\n parts.push(serializeCVBytes({ type: \"some\", value: nc.recipient }));\n } else {\n parts.push(serializeCVBytes({ type: \"none\" }));\n }\n parts.push(hexToBytes(nc.vrfProof));\n break;\n }\n }\n\n return concatBytes(...parts);\n}\n\nexport function serializeTransaction(tx: StacksTransaction): Uint8Array {\n return concatBytes(\n writeUInt8(tx.version),\n writeUInt32BE(tx.chainId),\n serializeAuthorization(tx.auth),\n writeUInt8(tx.anchorMode),\n writeUInt8(tx.postConditionMode),\n serializePostConditions(tx.postConditions),\n serializePayload(tx.payload)\n );\n}\n\nexport function serializeTransactionHex(tx: StacksTransaction): string {\n return bytesToHex(serializeTransaction(tx));\n}\n",
7
7
  "import {\n getPublicKey as nobleGetPublicKey,\n sign,\n etc,\n} from \"@noble/secp256k1\";\nimport { hmac } from \"@noble/hashes/hmac.js\";\nimport { sha256 } from \"@noble/hashes/sha2.js\";\nimport {\n bytesToHex,\n hexToBytes,\n intToBytes,\n intToHex,\n concatBytes,\n} from \"../utils/encoding.ts\";\nimport { hashP2PKH, txidFromBytes } from \"../utils/hash.ts\";\nimport {\n AuthType,\n AddressHashMode,\n PubKeyEncoding,\n RECOVERABLE_ECDSA_SIG_LENGTH_BYTES,\n type SingleSigSpendingCondition,\n type SpendingCondition,\n type Authorization,\n type StandardAuthorization,\n type SponsoredAuthorization,\n} from \"./types.ts\";\n\n// Ensure sync signing is available\netc.hmacSha256Sync = (key: Uint8Array, ...msgs: Uint8Array[]) => {\n const h = hmac.create(sha256, key);\n msgs.forEach((msg) => h.update(msg));\n return h.digest();\n};\n\nconst EMPTY_SIG = bytesToHex(new Uint8Array(RECOVERABLE_ECDSA_SIG_LENGTH_BYTES));\n\nexport function createSingleSigSpendingCondition(\n publicKey: string,\n nonce: bigint,\n fee: bigint\n): SingleSigSpendingCondition {\n const pubKeyBytes = hexToBytes(publicKey);\n const signer = hashP2PKH(pubKeyBytes);\n const isCompressed = pubKeyBytes.length === 33;\n\n return {\n hashMode: AddressHashMode.P2PKH,\n signer,\n nonce,\n fee,\n keyEncoding: isCompressed ? PubKeyEncoding.Compressed : PubKeyEncoding.Uncompressed,\n signature: EMPTY_SIG,\n };\n}\n\nexport function createStandardAuth(\n spendingCondition: SpendingCondition\n): StandardAuthorization {\n return { authType: AuthType.Standard, spendingCondition };\n}\n\nexport function createSponsoredAuth(\n spendingCondition: SpendingCondition,\n sponsorSpendingCondition?: SpendingCondition\n): SponsoredAuthorization {\n return {\n authType: AuthType.Sponsored,\n spendingCondition,\n sponsorSpendingCondition: sponsorSpendingCondition ?? createSingleSigSpendingCondition(\n \"0\".repeat(66),\n 0n,\n 0n\n ),\n };\n}\n\nfunction clearCondition(condition: SpendingCondition): SpendingCondition {\n if (\"signature\" in condition) {\n return {\n ...condition,\n nonce: 0n,\n fee: 0n,\n signature: EMPTY_SIG,\n };\n }\n return {\n ...condition,\n nonce: 0n,\n fee: 0n,\n fields: [],\n };\n}\n\nexport function intoInitialSighashAuth(auth: Authorization): Authorization {\n if (auth.authType === AuthType.Standard) {\n return createStandardAuth(clearCondition(auth.spendingCondition));\n }\n return createSponsoredAuth(\n clearCondition(auth.spendingCondition),\n clearCondition(createSingleSigSpendingCondition(\"0\".repeat(66), 0n, 0n))\n );\n}\n\n/** Compute pre-sign sighash = sha512/256(prevSigHash + authType + fee + nonce) */\nexport function sigHashPreSign(\n curSigHash: string,\n authType: number,\n fee: bigint,\n nonce: bigint\n): string {\n const data = concatBytes(\n hexToBytes(curSigHash),\n new Uint8Array([authType]),\n intToBytes(fee, 8),\n intToBytes(nonce, 8)\n );\n return txidFromBytes(data);\n}\n\n/** Compute post-sign sighash = sha512/256(preSigHash + pubKeyEncoding + signature) */\nexport function sigHashPostSign(\n curSigHash: string,\n pubKeyEncoding: number,\n signature: string\n): string {\n const data = concatBytes(\n hexToBytes(curSigHash),\n new Uint8Array([pubKeyEncoding]),\n hexToBytes(signature)\n );\n return txidFromBytes(data);\n}\n\n/** Sign with private key and return VRS signature (recoveryId + r + s) */\nfunction signWithKey(privateKey: string, messageHash: string): string {\n const keyBytes = hexToBytes(privateKey).slice(0, 32);\n const sig = sign(messageHash, keyBytes, { lowS: true });\n const recoveryIdHex = intToHex(sig.recovery, 1);\n return recoveryIdHex + sig.toCompactHex();\n}\n\nexport function nextSignature(\n curSigHash: string,\n authType: number,\n fee: bigint,\n nonce: bigint,\n privateKey: string\n): { nextSig: string; nextSigHash: string } {\n const sigHashPre = sigHashPreSign(curSigHash, authType, fee, nonce);\n\n const keyBytes = hexToBytes(privateKey).slice(0, 32);\n const pubKey = nobleGetPublicKey(keyBytes, true);\n const isCompressed = pubKey.length === 33;\n const pubKeyEncoding = isCompressed\n ? PubKeyEncoding.Compressed\n : PubKeyEncoding.Uncompressed;\n\n const nextSig = signWithKey(privateKey, sigHashPre);\n const nextSigHash = sigHashPostSign(sigHashPre, pubKeyEncoding, nextSig);\n\n return { nextSig, nextSigHash };\n}\n",
8
8
  "import {\n getPublicKey as nobleGetPublicKey,\n sign as nobleSign,\n} from \"@noble/secp256k1\";\nimport { c32address } from \"../utils/c32.ts\";\nimport { bytesToHex, hexToBytes, intToHex, concatBytes } from \"../utils/encoding.ts\";\nimport { hash160 } from \"../utils/hash.ts\";\nimport {\n sigHashPreSign,\n sigHashPostSign,\n intoInitialSighashAuth,\n nextSignature,\n} from \"./authorization.ts\";\nimport { txidFromBytes } from \"../utils/hash.ts\";\nimport { serializeTransaction } from \"./wire/serialize.ts\";\nimport {\n AuthType,\n AddressHashMode,\n PubKeyEncoding,\n type MultiSigSpendingCondition,\n type MultiSigHashMode,\n type TransactionAuthField,\n type StacksTransaction,\n} from \"./types.ts\";\nimport type { StacksChain } from \"../chains/types.ts\";\nimport type { LocalAccount, CustomAccount } from \"../accounts/types.ts\";\n\n// OP codes for redeem script\nconst OP_CHECKMULTISIG = 0xae;\n\n/** Check if hash mode is non-sequential (SIP-027) */\nexport function isNonSequential(hashMode: number): boolean {\n return (hashMode & 0x04) !== 0;\n}\n\n/** Build a Bitcoin-style redeem script for m-of-n multi-sig */\nfunction makeRedeemScript(publicKeys: string[], signaturesRequired: number): Uint8Array {\n const parts: Uint8Array[] = [];\n parts.push(new Uint8Array([0x50 + signaturesRequired])); // OP_n\n for (const pk of publicKeys) {\n const pkBytes = hexToBytes(pk);\n parts.push(new Uint8Array([pkBytes.length])); // length prefix (0x21 for compressed)\n parts.push(pkBytes);\n }\n parts.push(new Uint8Array([0x50 + publicKeys.length])); // OP_m\n parts.push(new Uint8Array([OP_CHECKMULTISIG]));\n return concatBytes(...parts);\n}\n\n/** Derive a multi-sig address from public keys */\nexport function makeMultiSigAddress(\n publicKeys: string[],\n signaturesRequired: number,\n chain?: StacksChain\n): string {\n if (signaturesRequired < 1 || signaturesRequired > publicKeys.length) {\n throw new Error(`signaturesRequired must be between 1 and ${publicKeys.length}`);\n }\n const redeemScript = makeRedeemScript(publicKeys, signaturesRequired);\n const signer = hash160(redeemScript);\n const version = chain?.addressVersion?.multiSig ?? 20; // mainnet default\n return c32address(version, bytesToHex(signer));\n}\n\n/** Create an empty multi-sig spending condition */\nexport function createMultiSigSpendingCondition(\n publicKeys: string[],\n signaturesRequired: number,\n nonce: bigint,\n fee: bigint,\n hashMode: MultiSigHashMode = AddressHashMode.P2SH\n): MultiSigSpendingCondition {\n const redeemScript = makeRedeemScript(publicKeys, signaturesRequired);\n const signer = bytesToHex(hash160(redeemScript));\n\n return {\n hashMode,\n signer,\n nonce,\n fee,\n fields: [],\n signaturesRequired,\n };\n}\n\n/** Compute the initial sighash for a transaction (same as signBegin) */\nfunction initialSigHash(tx: StacksTransaction): string {\n const cleared: StacksTransaction = {\n ...tx,\n auth: intoInitialSighashAuth(tx.auth),\n };\n return txidFromBytes(serializeTransaction(cleared));\n}\n\n/** Compute the presign-sighash used by all non-sequential signers */\nfunction nonSequentialPreSignHash(tx: StacksTransaction): string {\n const condition = tx.auth.spendingCondition as MultiSigSpendingCondition;\n const initHash = initialSigHash(tx);\n return sigHashPreSign(initHash, AuthType.Standard, condition.fee, condition.nonce);\n}\n\n/** Replay sighash through existing auth fields of a multi-sig tx */\nexport function replayMultiSigSigHash(tx: StacksTransaction): string {\n const condition = tx.auth.spendingCondition as MultiSigSpendingCondition;\n\n // Non-sequential: all signers sign the same presign-sighash, no field chaining\n if (isNonSequential(condition.hashMode)) {\n const preSign = nonSequentialPreSignHash(tx);\n // Chain through all fields to get the final sighash\n let curSigHash = preSign;\n for (const field of condition.fields) {\n curSigHash = sigHashPostSign(curSigHash, field.pubKeyEncoding, field.data);\n }\n return curSigHash;\n }\n\n // Sequential: chain through all fields\n let curSigHash = initialSigHash(tx);\n for (const field of condition.fields) {\n const preSign = sigHashPreSign(curSigHash, AuthType.Standard, condition.fee, condition.nonce);\n curSigHash = sigHashPostSign(preSign, field.pubKeyEncoding, field.data);\n }\n return curSigHash;\n}\n\n/** Sign one position of a multi-sig transaction with a private key */\nexport function signMultiSig(\n tx: StacksTransaction,\n privateKey: string,\n publicKeys: string[]\n): StacksTransaction {\n const keyBytes = hexToBytes(privateKey).slice(0, 32);\n const signerPubKey = bytesToHex(nobleGetPublicKey(keyBytes, true));\n\n const signerIndex = publicKeys.findIndex((pk) => pk === signerPubKey);\n if (signerIndex === -1) {\n throw new Error(\"Private key does not correspond to any signer in the multi-sig\");\n }\n\n const condition = { ...(tx.auth.spendingCondition as MultiSigSpendingCondition) };\n\n // Non-sequential: all signers sign the same presign-sighash independently\n if (isNonSequential(condition.hashMode)) {\n return signNonSequential(tx, condition, privateKey);\n }\n\n // Sequential: existing P2SH behavior\n return signSequential(tx, condition, privateKey, publicKeys, signerIndex);\n}\n\n/** Non-sequential signing: compute presign-sighash from initial tx, sign, append */\nfunction signNonSequential(\n tx: StacksTransaction,\n condition: MultiSigSpendingCondition,\n privateKey: string\n): StacksTransaction {\n const fields = [...condition.fields];\n const preSignHash = nonSequentialPreSignHash(tx);\n\n // Sign the presign-sighash directly\n const keyBytes = hexToBytes(privateKey).slice(0, 32);\n const sig = nobleSign(preSignHash, keyBytes, { lowS: true });\n const recoveryIdHex = intToHex(sig.recovery, 1);\n const nextSig = recoveryIdHex + sig.toCompactHex();\n\n fields.push({\n type: \"signature\",\n pubKeyEncoding: PubKeyEncoding.Compressed,\n data: nextSig,\n });\n\n const newCondition: MultiSigSpendingCondition = { ...condition, fields };\n const sigCount = fields.filter((f) => f.type === \"signature\").length;\n\n // Auto-finalize: non-sequential needs no pubkey gap-filling\n if (sigCount >= condition.signaturesRequired) {\n return {\n ...tx,\n auth: { ...tx.auth, spendingCondition: newCondition },\n };\n }\n\n return {\n ...tx,\n auth: { ...tx.auth, spendingCondition: newCondition },\n };\n}\n\n/** Sequential signing: existing P2SH behavior */\nfunction signSequential(\n tx: StacksTransaction,\n condition: MultiSigSpendingCondition,\n privateKey: string,\n publicKeys: string[],\n signerIndex: number\n): StacksTransaction {\n const fields = [...condition.fields];\n\n // Replay sighash through existing fields\n let curSigHash = initialSigHash(tx);\n for (const field of fields) {\n const preSign = sigHashPreSign(curSigHash, AuthType.Standard, condition.fee, condition.nonce);\n curSigHash = sigHashPostSign(preSign, field.pubKeyEncoding, field.data);\n }\n\n // Fill intervening positions with pubkey fields\n for (let i = fields.length; i < signerIndex; i++) {\n const pubKeyField: TransactionAuthField = {\n type: \"publicKey\",\n pubKeyEncoding: PubKeyEncoding.Compressed,\n data: publicKeys[i]!,\n };\n fields.push(pubKeyField);\n const preSign = sigHashPreSign(curSigHash, AuthType.Standard, condition.fee, condition.nonce);\n curSigHash = sigHashPostSign(preSign, pubKeyField.pubKeyEncoding, pubKeyField.data);\n }\n\n // Sign at signerIndex\n const { nextSig, nextSigHash } = nextSignature(\n curSigHash,\n AuthType.Standard,\n condition.fee,\n condition.nonce,\n privateKey\n );\n\n fields.push({\n type: \"signature\",\n pubKeyEncoding: PubKeyEncoding.Compressed,\n data: nextSig,\n });\n curSigHash = nextSigHash;\n\n const newCondition: MultiSigSpendingCondition = { ...condition, fields };\n\n // Count signatures so far\n const sigCount = fields.filter((f) => f.type === \"signature\").length;\n let finalCondition = newCondition;\n\n // Auto-finalize if enough signatures collected\n if (sigCount >= condition.signaturesRequired) {\n finalCondition = finalizeMultiSigCondition(newCondition, publicKeys, curSigHash);\n }\n\n return {\n ...tx,\n auth: {\n ...tx.auth,\n spendingCondition: finalCondition,\n },\n };\n}\n\n/** Sign one position of a multi-sig transaction with an account */\nexport async function signMultiSigWithAccount(\n tx: StacksTransaction,\n account: LocalAccount | CustomAccount,\n publicKeys: string[]\n): Promise<StacksTransaction> {\n const signerPubKey = account.publicKey;\n\n const signerIndex = publicKeys.findIndex((pk) => pk === signerPubKey);\n if (signerIndex === -1) {\n throw new Error(\"Account does not correspond to any signer in the multi-sig\");\n }\n\n const condition = { ...(tx.auth.spendingCondition as MultiSigSpendingCondition) };\n\n // Non-sequential: all signers sign the same presign-sighash independently\n if (isNonSequential(condition.hashMode)) {\n return signNonSequentialWithAccount(tx, condition, account);\n }\n\n // Sequential: existing behavior\n return signSequentialWithAccount(tx, condition, account, publicKeys, signerIndex);\n}\n\n/** Non-sequential signing with account */\nasync function signNonSequentialWithAccount(\n tx: StacksTransaction,\n condition: MultiSigSpendingCondition,\n account: LocalAccount | CustomAccount\n): Promise<StacksTransaction> {\n const fields = [...condition.fields];\n const preSignHash = nonSequentialPreSignHash(tx);\n\n const sigBytes = await account.sign(hexToBytes(preSignHash));\n const nextSig = bytesToHex(sigBytes);\n\n fields.push({\n type: \"signature\",\n pubKeyEncoding: PubKeyEncoding.Compressed,\n data: nextSig,\n });\n\n const newCondition: MultiSigSpendingCondition = { ...condition, fields };\n\n return {\n ...tx,\n auth: { ...tx.auth, spendingCondition: newCondition },\n };\n}\n\n/** Sequential signing with account */\nasync function signSequentialWithAccount(\n tx: StacksTransaction,\n condition: MultiSigSpendingCondition,\n account: LocalAccount | CustomAccount,\n publicKeys: string[],\n signerIndex: number\n): Promise<StacksTransaction> {\n const fields = [...condition.fields];\n\n // Replay sighash through existing fields\n let curSigHash = initialSigHash(tx);\n for (const field of fields) {\n const preSign = sigHashPreSign(curSigHash, AuthType.Standard, condition.fee, condition.nonce);\n curSigHash = sigHashPostSign(preSign, field.pubKeyEncoding, field.data);\n }\n\n // Fill intervening positions with pubkey fields\n for (let i = fields.length; i < signerIndex; i++) {\n const pubKeyField: TransactionAuthField = {\n type: \"publicKey\",\n pubKeyEncoding: PubKeyEncoding.Compressed,\n data: publicKeys[i]!,\n };\n fields.push(pubKeyField);\n const preSign = sigHashPreSign(curSigHash, AuthType.Standard, condition.fee, condition.nonce);\n curSigHash = sigHashPostSign(preSign, pubKeyField.pubKeyEncoding, pubKeyField.data);\n }\n\n // Sign at signerIndex\n const preSign = sigHashPreSign(curSigHash, AuthType.Standard, condition.fee, condition.nonce);\n const sigBytes = await account.sign(hexToBytes(preSign));\n const nextSig = bytesToHex(sigBytes);\n const nextSigHash = sigHashPostSign(preSign, PubKeyEncoding.Compressed, nextSig);\n\n fields.push({\n type: \"signature\",\n pubKeyEncoding: PubKeyEncoding.Compressed,\n data: nextSig,\n });\n curSigHash = nextSigHash;\n\n const newCondition: MultiSigSpendingCondition = { ...condition, fields };\n\n // Count signatures so far\n const sigCount = fields.filter((f) => f.type === \"signature\").length;\n let finalCondition = newCondition;\n\n // Auto-finalize if enough signatures collected\n if (sigCount >= condition.signaturesRequired) {\n finalCondition = finalizeMultiSigCondition(newCondition, publicKeys, curSigHash);\n }\n\n return {\n ...tx,\n auth: {\n ...tx.auth,\n spendingCondition: finalCondition,\n },\n };\n}\n\n/** Fill remaining slots with pubkey fields after all signatures are collected */\nexport function finalizeMultiSig(\n tx: StacksTransaction,\n publicKeys: string[]\n): StacksTransaction {\n const condition = tx.auth.spendingCondition as MultiSigSpendingCondition;\n\n // Non-sequential: no pubkey gap-filling needed\n if (isNonSequential(condition.hashMode)) {\n return tx;\n }\n\n const curSigHash = replayMultiSigSigHash(tx);\n const finalCondition = finalizeMultiSigCondition(condition, publicKeys, curSigHash);\n\n return {\n ...tx,\n auth: {\n ...tx.auth,\n spendingCondition: finalCondition,\n },\n };\n}\n\n/** Internal: finalize remaining pubkey slots (sequential only) */\nfunction finalizeMultiSigCondition(\n condition: MultiSigSpendingCondition,\n publicKeys: string[],\n curSigHash: string\n): MultiSigSpendingCondition {\n const fields = [...condition.fields];\n let sigHash = curSigHash;\n\n // Fill remaining positions\n for (let i = fields.length; i < publicKeys.length; i++) {\n const pubKeyField: TransactionAuthField = {\n type: \"publicKey\",\n pubKeyEncoding: PubKeyEncoding.Compressed,\n data: publicKeys[i]!,\n };\n fields.push(pubKeyField);\n const preSign = sigHashPreSign(sigHash, AuthType.Standard, condition.fee, condition.nonce);\n sigHash = sigHashPostSign(preSign, pubKeyField.pubKeyEncoding, pubKeyField.data);\n }\n\n return { ...condition, fields };\n}\n\n/** Combine independently-signed non-sequential multi-sig transactions */\nexport function combineMultiSigSignatures(\n baseTx: StacksTransaction,\n signedTxs: StacksTransaction[]\n): StacksTransaction {\n const condition = baseTx.auth.spendingCondition as MultiSigSpendingCondition;\n\n if (!isNonSequential(condition.hashMode)) {\n throw new Error(\"combineMultiSigSignatures only works with non-sequential hash modes (SIP-027)\");\n }\n\n // Collect all signature fields from each signed tx\n const seenSigs = new Set<string>();\n const signatures: TransactionAuthField[] = [];\n\n for (const stx of signedTxs) {\n const stxCondition = stx.auth.spendingCondition as MultiSigSpendingCondition;\n for (const field of stxCondition.fields) {\n if (field.type === \"signature\" && !seenSigs.has(field.data)) {\n seenSigs.add(field.data);\n signatures.push(field);\n }\n }\n }\n\n if (signatures.length === 0) {\n throw new Error(\"No signatures found in the provided transactions\");\n }\n\n const newCondition: MultiSigSpendingCondition = {\n ...condition,\n fields: signatures,\n };\n\n return {\n ...baseTx,\n auth: { ...baseTx.auth, spendingCondition: newCondition },\n };\n}\n",
9
9
  "import { bytesToHex, hexToBytes } from \"../utils/encoding.ts\";\nimport { txidFromBytes } from \"../utils/hash.ts\";\nimport {\n intoInitialSighashAuth,\n nextSignature,\n sigHashPreSign,\n sigHashPostSign,\n} from \"./authorization.ts\";\nimport { replayMultiSigSigHash } from \"./multisig.ts\";\nimport { serializeTransaction } from \"./wire/serialize.ts\";\nimport {\n AuthType,\n type StacksTransaction,\n type SingleSigSpendingCondition,\n type SponsoredAuthorization,\n} from \"./types.ts\";\nimport type { LocalAccount, CustomAccount } from \"../accounts/types.ts\";\n\nfunction txid(tx: StacksTransaction): string {\n return txidFromBytes(serializeTransaction(tx));\n}\n\n/** Compute the initial sighash for a transaction */\nexport function signBegin(tx: StacksTransaction): string {\n const cleared: StacksTransaction = {\n ...tx,\n auth: intoInitialSighashAuth(tx.auth),\n };\n return txid(cleared);\n}\n\n/** Sign a single-sig transaction with a private key, returning the signed transaction */\nexport function signTransaction(\n tx: StacksTransaction,\n privateKey: string\n): StacksTransaction {\n const sigHash = signBegin(tx);\n const condition = tx.auth.spendingCondition as SingleSigSpendingCondition;\n\n // Origin always signs with AuthType.Standard (even for sponsored txs)\n const { nextSig } = nextSignature(\n sigHash,\n AuthType.Standard,\n condition.fee,\n condition.nonce,\n privateKey\n );\n\n return {\n ...tx,\n auth: {\n ...tx.auth,\n spendingCondition: {\n ...condition,\n signature: nextSig,\n },\n },\n };\n}\n\n/** Sign a single-sig transaction using an account (LocalAccount or CustomAccount) */\nexport async function signTransactionWithAccount(\n tx: StacksTransaction,\n account: LocalAccount | CustomAccount\n): Promise<StacksTransaction> {\n const sigHash = signBegin(tx);\n const condition = tx.auth.spendingCondition as SingleSigSpendingCondition;\n\n // Origin always signs with AuthType.Standard (even for sponsored txs)\n const sigHashPre = sigHashPreSign(\n sigHash,\n AuthType.Standard,\n condition.fee,\n condition.nonce\n );\n\n // account.sign returns 65-byte VRS (recovery + r + s)\n const sigBytes = await account.sign(hexToBytes(sigHashPre));\n const nextSig = bytesToHex(sigBytes);\n\n return {\n ...tx,\n auth: {\n ...tx.auth,\n spendingCondition: {\n ...condition,\n signature: nextSig,\n },\n },\n };\n}\n\n/** Get the txid of a transaction */\nexport function getTransactionId(tx: StacksTransaction): string {\n return txid(tx);\n}\n\n/** Reconstruct the sighash after origin signing (needed for sponsor signing) */\nexport function getOriginSigHash(tx: StacksTransaction): string {\n const condition = tx.auth.spendingCondition;\n\n // Multi-sig: replay through all fields\n if (\"fields\" in condition) {\n return replayMultiSigSigHash(tx);\n }\n\n // Single-sig\n const initialSigHash = signBegin(tx);\n const sc = condition as SingleSigSpendingCondition;\n const preSign = sigHashPreSign(initialSigHash, AuthType.Standard, sc.fee, sc.nonce);\n return sigHashPostSign(preSign, sc.keyEncoding, sc.signature);\n}\n\n/** Sign a sponsored transaction as the sponsor with a private key */\nexport function signSponsor(tx: StacksTransaction, privateKey: string): StacksTransaction {\n if (tx.auth.authType !== AuthType.Sponsored) {\n throw new Error(\"Transaction must be sponsored\");\n }\n const auth = tx.auth as SponsoredAuthorization;\n const sponsorCondition = auth.sponsorSpendingCondition as SingleSigSpendingCondition;\n const originSigHash = getOriginSigHash(tx);\n\n const { nextSig } = nextSignature(\n originSigHash,\n AuthType.Sponsored,\n sponsorCondition.fee,\n sponsorCondition.nonce,\n privateKey\n );\n\n return {\n ...tx,\n auth: {\n ...auth,\n sponsorSpendingCondition: {\n ...sponsorCondition,\n signature: nextSig,\n },\n },\n };\n}\n\n/** Sign a sponsored transaction as the sponsor using an account */\nexport async function signSponsorWithAccount(\n tx: StacksTransaction,\n account: LocalAccount | CustomAccount\n): Promise<StacksTransaction> {\n if (tx.auth.authType !== AuthType.Sponsored) {\n throw new Error(\"Transaction must be sponsored\");\n }\n const auth = tx.auth as SponsoredAuthorization;\n const sponsorCondition = auth.sponsorSpendingCondition as SingleSigSpendingCondition;\n const originSigHash = getOriginSigHash(tx);\n\n const sigHashPre = sigHashPreSign(\n originSigHash,\n AuthType.Sponsored,\n sponsorCondition.fee,\n sponsorCondition.nonce\n );\n\n const sigBytes = await account.sign(hexToBytes(sigHashPre));\n const nextSig = bytesToHex(sigBytes);\n\n return {\n ...tx,\n auth: {\n ...auth,\n sponsorSpendingCondition: {\n ...sponsorCondition,\n signature: nextSig,\n },\n },\n };\n}\n",
10
10
  "import type { StacksChain } from \"../chains/types.ts\";\nimport type { ClarityValue } from \"../clarity/types.ts\";\nimport type { PostCondition } from \"../postconditions/types.ts\";\nimport type { MultiSigHashMode, SpendingCondition } from \"./types.ts\";\nimport {\n createSingleSigSpendingCondition,\n createStandardAuth,\n createSponsoredAuth,\n} from \"./authorization.ts\";\nimport { createMultiSigSpendingCondition } from \"./multisig.ts\";\nimport {\n PayloadType,\n AnchorMode,\n PostConditionModeWire,\n FungibleConditionCode,\n NonFungibleConditionCode,\n type StacksTransaction,\n type PostConditionWire,\n type PostConditionPrincipalWire,\n type ClarityVersion,\n} from \"./types.ts\";\nimport { Cl } from \"../clarity/values.ts\";\nimport { intToBigInt, type IntegerType } from \"../utils/encoding.ts\";\nimport { parseContractId } from \"../utils/address.ts\";\n\ntype MultiSigOptions = {\n publicKeys?: string[];\n signaturesRequired?: number;\n hashMode?: MultiSigHashMode;\n};\n\nexport type BuildTokenTransferOptions = MultiSigOptions & {\n recipient: string;\n amount: IntegerType;\n memo?: string;\n fee: IntegerType;\n nonce: IntegerType;\n publicKey?: string;\n chain?: StacksChain;\n postConditionMode?: \"allow\" | \"deny\";\n postConditions?: PostCondition[];\n sponsored?: boolean;\n};\n\nexport type BuildContractCallOptions = MultiSigOptions & {\n contractAddress: string;\n contractName: string;\n functionName: string;\n functionArgs: ClarityValue[];\n fee: IntegerType;\n nonce: IntegerType;\n publicKey?: string;\n chain?: StacksChain;\n postConditionMode?: \"allow\" | \"deny\";\n postConditions?: PostCondition[];\n sponsored?: boolean;\n};\n\nexport type BuildContractDeployOptions = MultiSigOptions & {\n contractName: string;\n codeBody: string;\n clarityVersion?: ClarityVersion;\n fee: IntegerType;\n nonce: IntegerType;\n publicKey?: string;\n chain?: StacksChain;\n postConditionMode?: \"allow\" | \"deny\";\n postConditions?: PostCondition[];\n sponsored?: boolean;\n};\n\nfunction resolvePcMode(mode?: \"allow\" | \"deny\"): PostConditionModeWire {\n return mode === \"allow\" ? PostConditionModeWire.Allow : PostConditionModeWire.Deny;\n}\n\nfunction convertPostConditions(pcs?: PostCondition[]): PostConditionWire[] {\n if (!pcs || pcs.length === 0) return [];\n return pcs.map(convertPostCondition);\n}\n\nfunction resolvePrincipal(address: string): PostConditionPrincipalWire {\n if (address === \"origin\") return { type: \"origin\" };\n const [addr, name] = address.split(\".\");\n if (name) {\n return { type: \"contract\", address: addr!, contractName: name };\n }\n return { type: \"standard\", address: addr! };\n}\n\nconst FUNGIBLE_CODE_MAP: Record<string, number> = {\n eq: FungibleConditionCode.Equal,\n gt: FungibleConditionCode.Greater,\n gte: FungibleConditionCode.GreaterEqual,\n lt: FungibleConditionCode.Less,\n lte: FungibleConditionCode.LessEqual,\n};\n\nfunction convertPostCondition(pc: PostCondition): PostConditionWire {\n switch (pc.type) {\n case \"stx-postcondition\":\n return {\n type: \"stx\",\n principal: resolvePrincipal(pc.address),\n conditionCode: FUNGIBLE_CODE_MAP[pc.condition]!,\n amount: intToBigInt(pc.amount),\n };\n case \"ft-postcondition\": {\n const [contractId, tokenName] = pc.asset.split(\"::\");\n const [addr, name] = parseContractId(contractId!);\n return {\n type: \"ft\",\n principal: resolvePrincipal(pc.address),\n asset: { address: addr, contractName: name, assetName: tokenName! },\n conditionCode: FUNGIBLE_CODE_MAP[pc.condition]!,\n amount: intToBigInt(pc.amount),\n };\n }\n case \"nft-postcondition\": {\n const [contractId, tokenName] = pc.asset.split(\"::\");\n const [addr, name] = parseContractId(contractId!);\n return {\n type: \"nft\",\n principal: resolvePrincipal(pc.address),\n asset: { address: addr, contractName: name, assetName: tokenName! },\n conditionCode: pc.condition === \"sent\" ? NonFungibleConditionCode.Sends : NonFungibleConditionCode.DoesNotSend,\n assetId: pc.assetId,\n };\n }\n }\n}\n\nimport type { Authorization } from \"./types.ts\";\n\nfunction resolveSpendingCondition(\n opts: MultiSigOptions & { publicKey?: string },\n nonce: bigint,\n fee: bigint\n): SpendingCondition {\n if (opts.publicKeys) {\n return createMultiSigSpendingCondition(\n opts.publicKeys,\n opts.signaturesRequired!,\n nonce,\n fee,\n opts.hashMode\n );\n }\n return createSingleSigSpendingCondition(opts.publicKey!, nonce, fee);\n}\n\nfunction resolveAuth(spendingCondition: any, sponsored?: boolean): Authorization {\n return sponsored\n ? createSponsoredAuth(spendingCondition)\n : createStandardAuth(spendingCondition);\n}\n\nfunction resolveVersionAndChainId(chain?: StacksChain): { version: number; chainId: number } {\n if (!chain) return { version: 0x00, chainId: 0x00000001 }; // mainnet defaults\n return { version: chain.transactionVersion, chainId: chain.id };\n}\n\nexport function buildTokenTransfer(options: BuildTokenTransferOptions): StacksTransaction {\n const { version, chainId } = resolveVersionAndChainId(options.chain);\n const fee = intToBigInt(options.fee);\n const nonce = intToBigInt(options.nonce);\n\n const spendingCondition = resolveSpendingCondition(options, nonce, fee);\n const recipient = Cl.principal(options.recipient);\n\n const tx: StacksTransaction = {\n version,\n chainId,\n auth: resolveAuth(spendingCondition, options.sponsored),\n anchorMode: AnchorMode.Any,\n postConditionMode: resolvePcMode(options.postConditionMode),\n postConditions: convertPostConditions(options.postConditions),\n payload: {\n payloadType: PayloadType.TokenTransfer,\n recipient,\n amount: intToBigInt(options.amount),\n memo: options.memo ?? \"\",\n },\n };\n\n if (options.publicKeys) {\n (tx as any)._multisig = { publicKeys: options.publicKeys };\n }\n return tx;\n}\n\nexport function buildContractCall(options: BuildContractCallOptions): StacksTransaction {\n const { version, chainId } = resolveVersionAndChainId(options.chain);\n const fee = intToBigInt(options.fee);\n const nonce = intToBigInt(options.nonce);\n\n const spendingCondition = resolveSpendingCondition(options, nonce, fee);\n\n const tx: StacksTransaction = {\n version,\n chainId,\n auth: resolveAuth(spendingCondition, options.sponsored),\n anchorMode: AnchorMode.Any,\n postConditionMode: resolvePcMode(options.postConditionMode),\n postConditions: convertPostConditions(options.postConditions),\n payload: {\n payloadType: PayloadType.ContractCall,\n contractAddress: options.contractAddress,\n contractName: options.contractName,\n functionName: options.functionName,\n functionArgs: options.functionArgs,\n },\n };\n\n if (options.publicKeys) {\n (tx as any)._multisig = { publicKeys: options.publicKeys };\n }\n return tx;\n}\n\nexport function buildContractDeploy(options: BuildContractDeployOptions): StacksTransaction {\n const { version, chainId } = resolveVersionAndChainId(options.chain);\n const fee = intToBigInt(options.fee);\n const nonce = intToBigInt(options.nonce);\n\n const spendingCondition = resolveSpendingCondition(options, nonce, fee);\n const useVersioned = options.clarityVersion !== undefined;\n\n const tx: StacksTransaction = {\n version,\n chainId,\n auth: resolveAuth(spendingCondition, options.sponsored),\n anchorMode: AnchorMode.Any,\n postConditionMode: resolvePcMode(options.postConditionMode),\n postConditions: convertPostConditions(options.postConditions),\n payload: {\n payloadType: useVersioned ? PayloadType.VersionedSmartContract : PayloadType.SmartContract,\n clarityVersion: options.clarityVersion,\n contractName: options.contractName,\n codeBody: options.codeBody,\n },\n };\n\n if (options.publicKeys) {\n (tx as any)._multisig = { publicKeys: options.publicKeys };\n }\n return tx;\n}\n"
11
11
  ],
12
- "mappings": "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",
13
- "debugId": "F9AB0B29B396E33564756E2164756E21",
12
+ "mappings": "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",
13
+ "debugId": "1CF070DAB537370664756E2164756E21",
14
14
  "names": []
15
15
  }
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  Cl,
3
3
  serializeCVBytes
4
- } from "./stacks-fedzr2ka.js";
4
+ } from "./stacks-rg1g0fja.js";
5
5
  import {
6
6
  hash160,
7
7
  hashP2PKH,
8
8
  txidFromBytes
9
- } from "./stacks-bycy6t9k.js";
9
+ } from "./stacks-rwfgts3s.js";
10
10
  import {
11
11
  parseContractId
12
- } from "./stacks-gjvbq6w7.js";
12
+ } from "./stacks-s10yb9gz.js";
13
13
  import {
14
14
  asciiToBytes,
15
15
  bytesToHex,
@@ -24,7 +24,7 @@ import {
24
24
  writeUInt16BE,
25
25
  writeUInt32BE,
26
26
  writeUInt8
27
- } from "./stacks-nqytwfcc.js";
27
+ } from "./stacks-s7z5q8be.js";
28
28
 
29
29
  // src/transactions/types.ts
30
30
  var AuthType = {
@@ -45,7 +45,9 @@ var PayloadType = {
45
45
  var ClarityVersion = {
46
46
  Clarity1: 1,
47
47
  Clarity2: 2,
48
- Clarity3: 3
48
+ Clarity3: 3,
49
+ Clarity4: 4,
50
+ Clarity5: 5
49
51
  };
50
52
  var AnchorMode = {
51
53
  OnChainOnly: 1,
@@ -103,7 +105,12 @@ var VRF_PROOF_BYTES_LENGTH = 80;
103
105
  var MICROBLOCK_HEADER_BYTES_LENGTH = 132;
104
106
  var TenureChangeCause = {
105
107
  BlockFound: 0,
106
- Extended: 1
108
+ Extended: 1,
109
+ ExtendedRuntime: 2,
110
+ ExtendedReadCount: 3,
111
+ ExtendedReadLength: 4,
112
+ ExtendedWriteCount: 5,
113
+ ExtendedWriteLength: 6
107
114
  };
108
115
 
109
116
  // src/transactions/wire/serialize.ts
@@ -123,7 +130,7 @@ function serializeMemo(memo) {
123
130
  const content = asciiToBytes(memo);
124
131
  const padded = new Uint8Array(MEMO_MAX_LENGTH_BYTES);
125
132
  padded.set(content.slice(0, MEMO_MAX_LENGTH_BYTES));
126
- return concatBytes(writeUInt8(content.length), padded);
133
+ return padded;
127
134
  }
128
135
  function serializeSpendingCondition(condition) {
129
136
  const parts = [
@@ -177,21 +184,24 @@ function serializeAssetInfo(asset) {
177
184
  return concatBytes(serializeAddress(asset.address), serializeLPString(asset.contractName), serializeLPString(asset.assetName));
178
185
  }
179
186
  function serializePostCondition(pc) {
180
- const parts = [serializePrincipal(pc.principal)];
187
+ const parts = [];
181
188
  switch (pc.type) {
182
189
  case "stx":
183
190
  parts.push(writeUInt8(AssetType.STX));
191
+ parts.push(serializePrincipal(pc.principal));
184
192
  parts.push(writeUInt8(pc.conditionCode));
185
193
  parts.push(intToBytes(pc.amount, 8));
186
194
  break;
187
195
  case "ft":
188
196
  parts.push(writeUInt8(AssetType.Fungible));
197
+ parts.push(serializePrincipal(pc.principal));
189
198
  parts.push(serializeAssetInfo(pc.asset));
190
199
  parts.push(writeUInt8(pc.conditionCode));
191
200
  parts.push(intToBytes(pc.amount, 8));
192
201
  break;
193
202
  case "nft":
194
203
  parts.push(writeUInt8(AssetType.NonFungible));
204
+ parts.push(serializePrincipal(pc.principal));
195
205
  parts.push(serializeAssetInfo(pc.asset));
196
206
  parts.push(serializeCVBytes(pc.assetId));
197
207
  parts.push(writeUInt8(pc.conditionCode));
@@ -885,5 +895,5 @@ function buildContractDeploy(options) {
885
895
 
886
896
  export { AuthType, PayloadType, ClarityVersion, AnchorMode, PostConditionModeWire, AddressHashMode, PubKeyEncoding, FungibleConditionCode, NonFungibleConditionCode, PostConditionPrincipalId, AssetType, AuthFieldType, RECOVERABLE_ECDSA_SIG_LENGTH_BYTES, MEMO_MAX_LENGTH_BYTES, MAX_STRING_LENGTH_BYTES, COINBASE_BYTES_LENGTH, VRF_PROOF_BYTES_LENGTH, MICROBLOCK_HEADER_BYTES_LENGTH, TenureChangeCause, serializePayload, serializeTransaction, serializeTransactionHex, createSingleSigSpendingCondition, createStandardAuth, createSponsoredAuth, sigHashPreSign, sigHashPostSign, nextSignature, isNonSequential, makeMultiSigAddress, createMultiSigSpendingCondition, replayMultiSigSigHash, signMultiSig, signMultiSigWithAccount, finalizeMultiSig, combineMultiSigSignatures, signBegin, signTransaction, signTransactionWithAccount, getTransactionId, getOriginSigHash, signSponsor, signSponsorWithAccount, buildTokenTransfer, buildContractCall, buildContractDeploy };
887
897
 
888
- //# debugId=0F908FC81F62163A64756E2164756E21
889
- //# sourceMappingURL=stacks-vyb9rx8q.js.map
898
+ //# debugId=9CEDB9079783463964756E2164756E21
899
+ //# sourceMappingURL=stacks-xp9n3r0t.js.map