@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.
- package/dist/shared/{stacks-9mdk86wp.js → stacks-6m1z4j07.js} +14 -10
- package/dist/shared/stacks-6m1z4j07.js.map +10 -0
- package/dist/shared/{stacks-wrb1es85.js → stacks-96gaxfcf.js} +5 -5
- package/dist/shared/{stacks-v3zy6zds.cjs → stacks-etf219gs.cjs} +11 -7
- package/dist/shared/stacks-etf219gs.cjs.map +10 -0
- package/dist/shared/{stacks-yfveb68e.js → stacks-je937aas.js} +3 -3
- package/dist/shared/{stacks-qyt8m5v0.js → stacks-jrnmh4kc.js} +3 -3
- package/dist/shared/{stacks-vd9jcp0b.js → stacks-k9p8m3wf.js} +7 -7
- package/dist/shared/{stacks-9avax1yf.js → stacks-p93g814f.js} +3 -3
- package/dist/shared/{stacks-qcx67vqa.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-fedzr2ka.js → stacks-rg1g0fja.js} +3 -3
- 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-vbke9mqw.cjs → stacks-v6ja2eh7.cjs} +16 -6
- package/dist/shared/{stacks-vbke9mqw.cjs.map → stacks-v6ja2eh7.cjs.map} +4 -4
- package/dist/shared/{stacks-vyb9rx8q.js → stacks-xp9n3r0t.js} +20 -10
- package/dist/shared/{stacks-vyb9rx8q.js.map → stacks-xp9n3r0t.js.map} +4 -4
- package/dist/src/accounts/index.js +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 +10 -10
- package/dist/src/bns/index.js +10 -10
- package/dist/src/clarity/index.js +5 -5
- package/dist/src/connect/index.cjs.map +2 -2
- package/dist/src/connect/index.js.map +2 -2
- package/dist/src/connect/walletconnect/index.cjs.map +1 -1
- package/dist/src/connect/walletconnect/index.js.map +1 -1
- package/dist/src/index.d.cts +7 -0
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.js +8 -8
- package/dist/src/postconditions/index.js +3 -3
- package/dist/src/pox/index.js +9 -9
- package/dist/src/stackingdao/index.js +9 -9
- package/dist/src/transactions/index.d.cts +7 -0
- package/dist/src/transactions/index.d.ts +7 -0
- package/dist/src/transactions/index.js +6 -6
- package/dist/src/utils/index.js +3 -3
- package/package.json +1 -1
- package/dist/shared/stacks-9mdk86wp.js.map +0 -10
- package/dist/shared/stacks-v3zy6zds.cjs.map +0 -10
- /package/dist/shared/{stacks-wrb1es85.js.map → stacks-96gaxfcf.js.map} +0 -0
- /package/dist/shared/{stacks-yfveb68e.js.map → stacks-je937aas.js.map} +0 -0
- /package/dist/shared/{stacks-qyt8m5v0.js.map → stacks-jrnmh4kc.js.map} +0 -0
- /package/dist/shared/{stacks-vd9jcp0b.js.map → stacks-k9p8m3wf.js.map} +0 -0
- /package/dist/shared/{stacks-9avax1yf.js.map → stacks-p93g814f.js.map} +0 -0
- /package/dist/shared/{stacks-qcx67vqa.js.map → stacks-q79dx28x.js.map} +0 -0
- /package/dist/shared/{stacks-fedzr2ka.js.map → stacks-rg1g0fja.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
|
@@ -81,6 +81,8 @@ declare const ClarityVersion: {
|
|
|
81
81
|
readonly Clarity1: 1
|
|
82
82
|
readonly Clarity2: 2
|
|
83
83
|
readonly Clarity3: 3
|
|
84
|
+
readonly Clarity4: 4
|
|
85
|
+
readonly Clarity5: 5
|
|
84
86
|
};
|
|
85
87
|
type ClarityVersion = (typeof ClarityVersion)[keyof typeof ClarityVersion];
|
|
86
88
|
declare const AnchorMode: {
|
|
@@ -144,6 +146,11 @@ declare const MICROBLOCK_HEADER_BYTES_LENGTH = 132;
|
|
|
144
146
|
declare const TenureChangeCause: {
|
|
145
147
|
readonly BlockFound: 0x00
|
|
146
148
|
readonly Extended: 0x01
|
|
149
|
+
readonly ExtendedRuntime: 0x02
|
|
150
|
+
readonly ExtendedReadCount: 0x03
|
|
151
|
+
readonly ExtendedReadLength: 0x04
|
|
152
|
+
readonly ExtendedWriteCount: 0x05
|
|
153
|
+
readonly ExtendedWriteLength: 0x06
|
|
147
154
|
};
|
|
148
155
|
type TenureChangeCause = (typeof TenureChangeCause)[keyof typeof TenureChangeCause];
|
|
149
156
|
type TokenTransferPayload = {
|
|
@@ -81,6 +81,8 @@ declare const ClarityVersion: {
|
|
|
81
81
|
readonly Clarity1: 1
|
|
82
82
|
readonly Clarity2: 2
|
|
83
83
|
readonly Clarity3: 3
|
|
84
|
+
readonly Clarity4: 4
|
|
85
|
+
readonly Clarity5: 5
|
|
84
86
|
};
|
|
85
87
|
type ClarityVersion = (typeof ClarityVersion)[keyof typeof ClarityVersion];
|
|
86
88
|
declare const AnchorMode: {
|
|
@@ -144,6 +146,11 @@ declare const MICROBLOCK_HEADER_BYTES_LENGTH = 132;
|
|
|
144
146
|
declare const TenureChangeCause: {
|
|
145
147
|
readonly BlockFound: 0x00
|
|
146
148
|
readonly Extended: 0x01
|
|
149
|
+
readonly ExtendedRuntime: 0x02
|
|
150
|
+
readonly ExtendedReadCount: 0x03
|
|
151
|
+
readonly ExtendedReadLength: 0x04
|
|
152
|
+
readonly ExtendedWriteCount: 0x05
|
|
153
|
+
readonly ExtendedWriteLength: 0x06
|
|
147
154
|
};
|
|
148
155
|
type TenureChangeCause = (typeof TenureChangeCause)[keyof typeof TenureChangeCause];
|
|
149
156
|
type TokenTransferPayload = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
deserializeTransaction
|
|
3
|
-
} from "../../shared/stacks-
|
|
3
|
+
} from "../../shared/stacks-6m1z4j07.js";
|
|
4
4
|
import {
|
|
5
5
|
AddressHashMode,
|
|
6
6
|
AnchorMode,
|
|
@@ -47,11 +47,11 @@ import {
|
|
|
47
47
|
signSponsorWithAccount,
|
|
48
48
|
signTransaction,
|
|
49
49
|
signTransactionWithAccount
|
|
50
|
-
} from "../../shared/stacks-
|
|
51
|
-
import"../../shared/stacks-
|
|
52
|
-
import"../../shared/stacks-
|
|
53
|
-
import"../../shared/stacks-
|
|
54
|
-
import"../../shared/stacks-
|
|
50
|
+
} from "../../shared/stacks-xp9n3r0t.js";
|
|
51
|
+
import"../../shared/stacks-rg1g0fja.js";
|
|
52
|
+
import"../../shared/stacks-rwfgts3s.js";
|
|
53
|
+
import"../../shared/stacks-s10yb9gz.js";
|
|
54
|
+
import"../../shared/stacks-s7z5q8be.js";
|
|
55
55
|
export {
|
|
56
56
|
signTransactionWithAccount,
|
|
57
57
|
signTransaction,
|
package/dist/src/utils/index.js
CHANGED
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
sha256,
|
|
21
21
|
sha512_256,
|
|
22
22
|
txidFromBytes
|
|
23
|
-
} from "../../shared/stacks-
|
|
23
|
+
} from "../../shared/stacks-rwfgts3s.js";
|
|
24
24
|
import {
|
|
25
25
|
addressToVersion,
|
|
26
26
|
getContractAddress,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
isValidAddress,
|
|
30
30
|
parseContractId,
|
|
31
31
|
validateStacksAddress
|
|
32
|
-
} from "../../shared/stacks-
|
|
32
|
+
} from "../../shared/stacks-s10yb9gz.js";
|
|
33
33
|
import {
|
|
34
34
|
asciiToBytes,
|
|
35
35
|
bigIntToBytes,
|
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
writeUInt16BE,
|
|
55
55
|
writeUInt32BE,
|
|
56
56
|
writeUInt8
|
|
57
|
-
} from "../../shared/stacks-
|
|
57
|
+
} from "../../shared/stacks-s7z5q8be.js";
|
|
58
58
|
// src/utils/signature.ts
|
|
59
59
|
import { Signature as NobleSignature, verify } from "@noble/secp256k1";
|
|
60
60
|
import { sha256 as sha2562 } from "@noble/hashes/sha2.js";
|
package/package.json
CHANGED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/transactions/wire/deserialize.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import {\n bytesToHex,\n hexToBytes,\n bytesToAscii,\n bytesToUtf8,\n without0x,\n} from \"../../utils/encoding.ts\";\nimport { c32address } from \"../../utils/c32.ts\";\nimport {\n AuthType,\n PayloadType,\n AddressHashMode,\n PostConditionPrincipalId,\n AssetType,\n RECOVERABLE_ECDSA_SIG_LENGTH_BYTES,\n MEMO_MAX_LENGTH_BYTES,\n COINBASE_BYTES_LENGTH,\n VRF_PROOF_BYTES_LENGTH,\n MICROBLOCK_HEADER_BYTES_LENGTH,\n type StacksTransaction,\n type Authorization,\n type SpendingCondition,\n type TransactionPayload,\n type PostConditionWire,\n type PostConditionPrincipalWire,\n type AssetInfoWire,\n type TransactionAuthField,\n type AnchorMode,\n type PostConditionModeWire,\n type ClarityVersion,\n type TenureChangeCause,\n} from \"../types.ts\";\nimport type { ClarityValue } from \"../../clarity/types.ts\";\nimport { clarityTypeFromByte } from \"../../clarity/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 \"../../clarity/values.ts\";\nimport { bytesToTwosBigInt } from \"../../utils/encoding.ts\";\n\nclass Reader {\n private data: Uint8Array;\n public offset = 0;\n\n constructor(data: Uint8Array) {\n this.data = data;\n }\n\n readUInt8(): number {\n return this.data[this.offset++]!;\n }\n\n readUInt16BE(): number {\n const val = ((this.data[this.offset]! << 8) | this.data[this.offset + 1]!) >>> 0;\n this.offset += 2;\n return val;\n }\n\n readUInt32BE(): number {\n const val =\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 val;\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 readBigUInt64BE(): bigint {\n return BigInt(`0x${bytesToHex(this.readBytes(8))}`);\n }\n}\n\nfunction readAddress(r: Reader): string {\n const version = r.readUInt8();\n const hash160 = bytesToHex(r.readBytes(20));\n return c32address(version, hash160);\n}\n\nfunction readLPString(r: Reader, prefixBytes = 1): string {\n let length = 0;\n for (let i = 0; i < prefixBytes; i++) {\n length = (length << 8) | r.readUInt8();\n }\n return bytesToUtf8(r.readBytes(length));\n}\n\nfunction readCV(r: Reader): ClarityValue {\n const typeByte = r.readUInt8();\n const type = clarityTypeFromByte(typeByte);\n\n switch (type) {\n case \"int\":\n return intCV(bytesToTwosBigInt(r.readBytes(16)));\n case \"uint\":\n return uintCV(r.readBytes(16));\n case \"true\":\n return trueCV();\n case \"false\":\n return falseCV();\n case \"buffer\": {\n const len = r.readUInt32BE();\n return bufferCV(r.readBytes(len));\n }\n case \"none\":\n return noneCV();\n case \"some\":\n return someCV(readCV(r));\n case \"ok\":\n return responseOkCV(readCV(r));\n case \"err\":\n return responseErrorCV(readCV(r));\n case \"address\":\n return standardPrincipalCV(readAddress(r));\n case \"contract\": {\n const addr = readAddress(r);\n const name = readLPString(r);\n return contractPrincipalCV(addr, name);\n }\n case \"list\": {\n const len = r.readUInt32BE();\n const items: ClarityValue[] = [];\n for (let i = 0; i < len; i++) items.push(readCV(r));\n return listCV(items);\n }\n case \"tuple\": {\n const len = r.readUInt32BE();\n const data: Record<string, ClarityValue> = {};\n for (let i = 0; i < len; i++) {\n const key = readLPString(r);\n data[key] = readCV(r);\n }\n return tupleCV(data);\n }\n case \"ascii\": {\n const len = r.readUInt32BE();\n return stringAsciiCV(bytesToAscii(r.readBytes(len)));\n }\n case \"utf8\": {\n const len = r.readUInt32BE();\n return stringUtf8CV(bytesToUtf8(r.readBytes(len)));\n }\n default:\n throw new Error(`Unknown clarity type: ${type}`);\n }\n}\n\nfunction readSpendingCondition(r: Reader): SpendingCondition {\n const hashMode = r.readUInt8();\n const signer = bytesToHex(r.readBytes(20));\n const nonce = r.readBigUInt64BE();\n const fee = r.readBigUInt64BE();\n\n if (hashMode === AddressHashMode.P2PKH || hashMode === AddressHashMode.P2WPKH) {\n const keyEncoding = r.readUInt8();\n const signature = bytesToHex(r.readBytes(RECOVERABLE_ECDSA_SIG_LENGTH_BYTES));\n return { hashMode, signer, nonce, fee, keyEncoding, signature } as SpendingCondition;\n }\n\n const fieldCount = r.readUInt32BE();\n const fields: TransactionAuthField[] = [];\n for (let i = 0; i < fieldCount; i++) {\n const fieldType = r.readUInt8();\n if (fieldType <= 0x01) {\n const keyLen = fieldType === 0x00 ? 33 : 65;\n fields.push({\n type: \"publicKey\",\n pubKeyEncoding: fieldType as 0x00 | 0x01,\n data: bytesToHex(r.readBytes(keyLen)),\n });\n } else {\n fields.push({\n type: \"signature\",\n pubKeyEncoding: (fieldType === 0x02 ? 0x00 : 0x01) as 0x00 | 0x01,\n data: bytesToHex(r.readBytes(RECOVERABLE_ECDSA_SIG_LENGTH_BYTES)),\n });\n }\n }\n const signaturesRequired = r.readUInt16BE();\n\n return { hashMode, signer, nonce, fee, fields, signaturesRequired } as SpendingCondition;\n}\n\nfunction readAuthorization(r: Reader): Authorization {\n const authType = r.readUInt8();\n const spendingCondition = readSpendingCondition(r);\n\n if (authType === AuthType.Standard) {\n return { authType: AuthType.Standard, spendingCondition };\n }\n\n const sponsorSpendingCondition = readSpendingCondition(r);\n return {\n authType: AuthType.Sponsored,\n spendingCondition,\n sponsorSpendingCondition,\n };\n}\n\nfunction readAssetInfo(r: Reader): AssetInfoWire {\n return {\n address: readAddress(r),\n contractName: readLPString(r),\n assetName: readLPString(r),\n };\n}\n\nfunction readPostConditionPrincipal(r: Reader): PostConditionPrincipalWire {\n const type = r.readUInt8();\n switch (type) {\n case PostConditionPrincipalId.Origin:\n return { type: \"origin\" };\n case PostConditionPrincipalId.Standard:\n return { type: \"standard\", address: readAddress(r) };\n case PostConditionPrincipalId.Contract:\n return { type: \"contract\", address: readAddress(r), contractName: readLPString(r) };\n default:\n throw new Error(`Unknown post condition principal type: ${type}`);\n }\n}\n\nfunction readPostConditions(r: Reader): PostConditionWire[] {\n const count = r.readUInt32BE();\n const pcs: PostConditionWire[] = [];\n for (let i = 0; i < count; i++) {\n const principal = readPostConditionPrincipal(r);\n const assetType = r.readUInt8();\n switch (assetType) {\n case AssetType.STX:\n pcs.push({ type: \"stx\", principal, conditionCode: r.readUInt8(), amount: r.readBigUInt64BE() });\n break;\n case AssetType.Fungible:\n pcs.push({ type: \"ft\", principal, asset: readAssetInfo(r), conditionCode: r.readUInt8(), amount: r.readBigUInt64BE() });\n break;\n case AssetType.NonFungible:\n pcs.push({ type: \"nft\", principal, asset: readAssetInfo(r), assetId: readCV(r), conditionCode: r.readUInt8() });\n break;\n }\n }\n return pcs;\n}\n\nfunction readPayload(r: Reader): TransactionPayload {\n const payloadType = r.readUInt8();\n\n switch (payloadType) {\n case PayloadType.TokenTransfer: {\n const recipient = readCV(r);\n const amount = r.readBigUInt64BE();\n const memoContentLen = r.readUInt8();\n const memoBytes = r.readBytes(MEMO_MAX_LENGTH_BYTES);\n const memo = bytesToAscii(memoBytes.slice(0, memoContentLen)).replace(/\\0+$/, \"\");\n return { payloadType: PayloadType.TokenTransfer, recipient, amount, memo };\n }\n case PayloadType.ContractCall: {\n const contractAddress = readAddress(r);\n const contractName = readLPString(r);\n const functionName = readLPString(r);\n const numArgs = r.readUInt32BE();\n const functionArgs: ClarityValue[] = [];\n for (let i = 0; i < numArgs; i++) functionArgs.push(readCV(r));\n return { payloadType: PayloadType.ContractCall, contractAddress, contractName, functionName, functionArgs };\n }\n case PayloadType.SmartContract: {\n const contractName = readLPString(r);\n const codeBody = readLPString(r, 4);\n return { payloadType: PayloadType.SmartContract, contractName, codeBody };\n }\n case PayloadType.VersionedSmartContract: {\n const clarityVersion = r.readUInt8() as ClarityVersion;\n const contractName = readLPString(r);\n const codeBody = readLPString(r, 4);\n return { payloadType: PayloadType.VersionedSmartContract, clarityVersion, contractName, codeBody };\n }\n case PayloadType.Coinbase: {\n const coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n return { payloadType: PayloadType.Coinbase, coinbaseBuffer };\n }\n case PayloadType.CoinbaseToAltRecipient: {\n const coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n const recipient = readCV(r);\n return { payloadType: PayloadType.CoinbaseToAltRecipient, coinbaseBuffer, recipient };\n }\n case PayloadType.PoisonMicroblock: {\n const header1 = bytesToHex(r.readBytes(MICROBLOCK_HEADER_BYTES_LENGTH));\n const header2 = bytesToHex(r.readBytes(MICROBLOCK_HEADER_BYTES_LENGTH));\n return { payloadType: PayloadType.PoisonMicroblock, header1, header2 };\n }\n case PayloadType.TenureChange: {\n const tenureConsensusHash = bytesToHex(r.readBytes(20));\n const prevTenureConsensusHash = bytesToHex(r.readBytes(20));\n const burnViewConsensusHash = bytesToHex(r.readBytes(20));\n const previousTenureEnd = bytesToHex(r.readBytes(32));\n const previousTenureBlocks = r.readUInt32BE();\n const cause = r.readUInt8() as TenureChangeCause;\n const pubkeyHash = bytesToHex(r.readBytes(20));\n return {\n payloadType: PayloadType.TenureChange,\n tenureConsensusHash,\n prevTenureConsensusHash,\n burnViewConsensusHash,\n previousTenureEnd,\n previousTenureBlocks,\n cause,\n pubkeyHash,\n };\n }\n case PayloadType.NakamotoCoinbase: {\n const coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n const optionalCV = readCV(r);\n const recipient = optionalCV.type === \"none\" ? null : optionalCV.type === \"some\" ? optionalCV.value : optionalCV;\n const vrfProof = bytesToHex(r.readBytes(VRF_PROOF_BYTES_LENGTH));\n return { payloadType: PayloadType.NakamotoCoinbase, coinbaseBuffer, recipient, vrfProof };\n }\n default:\n throw new Error(`Unknown payload type: ${payloadType}`);\n }\n}\n\nexport function deserializeTransaction(input: string | Uint8Array): StacksTransaction {\n const bytes = typeof input === \"string\" ? hexToBytes(without0x(input)) : input;\n const r = new Reader(bytes);\n\n return {\n version: r.readUInt8(),\n chainId: r.readUInt32BE(),\n auth: readAuthorization(r),\n anchorMode: r.readUInt8() as AnchorMode,\n postConditionMode: r.readUInt8() as PostConditionModeWire,\n postConditions: readPostConditions(r),\n payload: readPayload(r),\n };\n}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "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",
|
|
8
|
-
"debugId": "094A0521BD634D0C64756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/transactions/wire/deserialize.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import {\n bytesToHex,\n hexToBytes,\n bytesToAscii,\n bytesToUtf8,\n without0x,\n} from \"../../utils/encoding.ts\";\nimport { c32address } from \"../../utils/c32.ts\";\nimport {\n AuthType,\n PayloadType,\n AddressHashMode,\n PostConditionPrincipalId,\n AssetType,\n RECOVERABLE_ECDSA_SIG_LENGTH_BYTES,\n MEMO_MAX_LENGTH_BYTES,\n COINBASE_BYTES_LENGTH,\n VRF_PROOF_BYTES_LENGTH,\n MICROBLOCK_HEADER_BYTES_LENGTH,\n type StacksTransaction,\n type Authorization,\n type SpendingCondition,\n type TransactionPayload,\n type PostConditionWire,\n type PostConditionPrincipalWire,\n type AssetInfoWire,\n type TransactionAuthField,\n type AnchorMode,\n type PostConditionModeWire,\n type ClarityVersion,\n type TenureChangeCause,\n} from \"../types.ts\";\nimport type { ClarityValue } from \"../../clarity/types.ts\";\nimport { clarityTypeFromByte } from \"../../clarity/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 \"../../clarity/values.ts\";\nimport { bytesToTwosBigInt } from \"../../utils/encoding.ts\";\n\nclass Reader {\n private data: Uint8Array;\n public offset = 0;\n\n constructor(data: Uint8Array) {\n this.data = data;\n }\n\n readUInt8(): number {\n return this.data[this.offset++]!;\n }\n\n readUInt16BE(): number {\n const val = ((this.data[this.offset]! << 8) | this.data[this.offset + 1]!) >>> 0;\n this.offset += 2;\n return val;\n }\n\n readUInt32BE(): number {\n const val =\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 val;\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 readBigUInt64BE(): bigint {\n return BigInt(`0x${bytesToHex(this.readBytes(8))}`);\n }\n}\n\nfunction readAddress(r: Reader): string {\n const version = r.readUInt8();\n const hash160 = bytesToHex(r.readBytes(20));\n return c32address(version, hash160);\n}\n\nfunction readLPString(r: Reader, prefixBytes = 1): string {\n let length = 0;\n for (let i = 0; i < prefixBytes; i++) {\n length = (length << 8) | r.readUInt8();\n }\n return bytesToUtf8(r.readBytes(length));\n}\n\nfunction readCV(r: Reader): ClarityValue {\n const typeByte = r.readUInt8();\n const type = clarityTypeFromByte(typeByte);\n\n switch (type) {\n case \"int\":\n return intCV(bytesToTwosBigInt(r.readBytes(16)));\n case \"uint\":\n return uintCV(r.readBytes(16));\n case \"true\":\n return trueCV();\n case \"false\":\n return falseCV();\n case \"buffer\": {\n const len = r.readUInt32BE();\n return bufferCV(r.readBytes(len));\n }\n case \"none\":\n return noneCV();\n case \"some\":\n return someCV(readCV(r));\n case \"ok\":\n return responseOkCV(readCV(r));\n case \"err\":\n return responseErrorCV(readCV(r));\n case \"address\":\n return standardPrincipalCV(readAddress(r));\n case \"contract\": {\n const addr = readAddress(r);\n const name = readLPString(r);\n return contractPrincipalCV(addr, name);\n }\n case \"list\": {\n const len = r.readUInt32BE();\n const items: ClarityValue[] = [];\n for (let i = 0; i < len; i++) items.push(readCV(r));\n return listCV(items);\n }\n case \"tuple\": {\n const len = r.readUInt32BE();\n const data: Record<string, ClarityValue> = {};\n for (let i = 0; i < len; i++) {\n const key = readLPString(r);\n data[key] = readCV(r);\n }\n return tupleCV(data);\n }\n case \"ascii\": {\n const len = r.readUInt32BE();\n return stringAsciiCV(bytesToAscii(r.readBytes(len)));\n }\n case \"utf8\": {\n const len = r.readUInt32BE();\n return stringUtf8CV(bytesToUtf8(r.readBytes(len)));\n }\n default:\n throw new Error(`Unknown clarity type: ${type}`);\n }\n}\n\nfunction readSpendingCondition(r: Reader): SpendingCondition {\n const hashMode = r.readUInt8();\n const signer = bytesToHex(r.readBytes(20));\n const nonce = r.readBigUInt64BE();\n const fee = r.readBigUInt64BE();\n\n if (hashMode === AddressHashMode.P2PKH || hashMode === AddressHashMode.P2WPKH) {\n const keyEncoding = r.readUInt8();\n const signature = bytesToHex(r.readBytes(RECOVERABLE_ECDSA_SIG_LENGTH_BYTES));\n return { hashMode, signer, nonce, fee, keyEncoding, signature } as SpendingCondition;\n }\n\n const fieldCount = r.readUInt32BE();\n const fields: TransactionAuthField[] = [];\n for (let i = 0; i < fieldCount; i++) {\n const fieldType = r.readUInt8();\n if (fieldType <= 0x01) {\n const keyLen = fieldType === 0x00 ? 33 : 65;\n fields.push({\n type: \"publicKey\",\n pubKeyEncoding: fieldType as 0x00 | 0x01,\n data: bytesToHex(r.readBytes(keyLen)),\n });\n } else {\n fields.push({\n type: \"signature\",\n pubKeyEncoding: (fieldType === 0x02 ? 0x00 : 0x01) as 0x00 | 0x01,\n data: bytesToHex(r.readBytes(RECOVERABLE_ECDSA_SIG_LENGTH_BYTES)),\n });\n }\n }\n const signaturesRequired = r.readUInt16BE();\n\n return { hashMode, signer, nonce, fee, fields, signaturesRequired } as SpendingCondition;\n}\n\nfunction readAuthorization(r: Reader): Authorization {\n const authType = r.readUInt8();\n const spendingCondition = readSpendingCondition(r);\n\n if (authType === AuthType.Standard) {\n return { authType: AuthType.Standard, spendingCondition };\n }\n\n const sponsorSpendingCondition = readSpendingCondition(r);\n return {\n authType: AuthType.Sponsored,\n spendingCondition,\n sponsorSpendingCondition,\n };\n}\n\nfunction readAssetInfo(r: Reader): AssetInfoWire {\n return {\n address: readAddress(r),\n contractName: readLPString(r),\n assetName: readLPString(r),\n };\n}\n\nfunction readPostConditionPrincipal(r: Reader): PostConditionPrincipalWire {\n const type = r.readUInt8();\n switch (type) {\n case PostConditionPrincipalId.Origin:\n return { type: \"origin\" };\n case PostConditionPrincipalId.Standard:\n return { type: \"standard\", address: readAddress(r) };\n case PostConditionPrincipalId.Contract:\n return { type: \"contract\", address: readAddress(r), contractName: readLPString(r) };\n default:\n throw new Error(`Unknown post condition principal type: ${type}`);\n }\n}\n\nfunction readPostConditions(r: Reader): PostConditionWire[] {\n const count = r.readUInt32BE();\n const pcs: PostConditionWire[] = [];\n for (let i = 0; i < count; i++) {\n const principal = readPostConditionPrincipal(r);\n const assetType = r.readUInt8();\n switch (assetType) {\n case AssetType.STX:\n pcs.push({ type: \"stx\", principal, conditionCode: r.readUInt8(), amount: r.readBigUInt64BE() });\n break;\n case AssetType.Fungible:\n pcs.push({ type: \"ft\", principal, asset: readAssetInfo(r), conditionCode: r.readUInt8(), amount: r.readBigUInt64BE() });\n break;\n case AssetType.NonFungible:\n pcs.push({ type: \"nft\", principal, asset: readAssetInfo(r), assetId: readCV(r), conditionCode: r.readUInt8() });\n break;\n }\n }\n return pcs;\n}\n\nfunction readPayload(r: Reader): TransactionPayload {\n const payloadType = r.readUInt8();\n\n switch (payloadType) {\n case PayloadType.TokenTransfer: {\n const recipient = readCV(r);\n const amount = r.readBigUInt64BE();\n const memoContentLen = r.readUInt8();\n const memoBytes = r.readBytes(MEMO_MAX_LENGTH_BYTES);\n const memo = bytesToAscii(memoBytes.slice(0, memoContentLen)).replace(/\\0+$/, \"\");\n return { payloadType: PayloadType.TokenTransfer, recipient, amount, memo };\n }\n case PayloadType.ContractCall: {\n const contractAddress = readAddress(r);\n const contractName = readLPString(r);\n const functionName = readLPString(r);\n const numArgs = r.readUInt32BE();\n const functionArgs: ClarityValue[] = [];\n for (let i = 0; i < numArgs; i++) functionArgs.push(readCV(r));\n return { payloadType: PayloadType.ContractCall, contractAddress, contractName, functionName, functionArgs };\n }\n case PayloadType.SmartContract: {\n const contractName = readLPString(r);\n const codeBody = readLPString(r, 4);\n return { payloadType: PayloadType.SmartContract, contractName, codeBody };\n }\n case PayloadType.VersionedSmartContract: {\n const clarityVersion = r.readUInt8() as ClarityVersion;\n const contractName = readLPString(r);\n const codeBody = readLPString(r, 4);\n return { payloadType: PayloadType.VersionedSmartContract, clarityVersion, contractName, codeBody };\n }\n case PayloadType.Coinbase: {\n const coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n return { payloadType: PayloadType.Coinbase, coinbaseBuffer };\n }\n case PayloadType.CoinbaseToAltRecipient: {\n const coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n const recipient = readCV(r);\n return { payloadType: PayloadType.CoinbaseToAltRecipient, coinbaseBuffer, recipient };\n }\n case PayloadType.PoisonMicroblock: {\n const header1 = bytesToHex(r.readBytes(MICROBLOCK_HEADER_BYTES_LENGTH));\n const header2 = bytesToHex(r.readBytes(MICROBLOCK_HEADER_BYTES_LENGTH));\n return { payloadType: PayloadType.PoisonMicroblock, header1, header2 };\n }\n case PayloadType.TenureChange: {\n const tenureConsensusHash = bytesToHex(r.readBytes(20));\n const prevTenureConsensusHash = bytesToHex(r.readBytes(20));\n const burnViewConsensusHash = bytesToHex(r.readBytes(20));\n const previousTenureEnd = bytesToHex(r.readBytes(32));\n const previousTenureBlocks = r.readUInt32BE();\n const cause = r.readUInt8() as TenureChangeCause;\n const pubkeyHash = bytesToHex(r.readBytes(20));\n return {\n payloadType: PayloadType.TenureChange,\n tenureConsensusHash,\n prevTenureConsensusHash,\n burnViewConsensusHash,\n previousTenureEnd,\n previousTenureBlocks,\n cause,\n pubkeyHash,\n };\n }\n case PayloadType.NakamotoCoinbase: {\n const coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n const optionalCV = readCV(r);\n const recipient = optionalCV.type === \"none\" ? null : optionalCV.type === \"some\" ? optionalCV.value : optionalCV;\n const vrfProof = bytesToHex(r.readBytes(VRF_PROOF_BYTES_LENGTH));\n return { payloadType: PayloadType.NakamotoCoinbase, coinbaseBuffer, recipient, vrfProof };\n }\n default:\n throw new Error(`Unknown payload type: ${payloadType}`);\n }\n}\n\nexport function deserializeTransaction(input: string | Uint8Array): StacksTransaction {\n const bytes = typeof input === \"string\" ? hexToBytes(without0x(input)) : input;\n const r = new Reader(bytes);\n\n return {\n version: r.readUInt8(),\n chainId: r.readUInt32BE(),\n auth: readAuthorization(r),\n anchorMode: r.readUInt8() as AnchorMode,\n postConditionMode: r.readUInt8() as PostConditionModeWire,\n postConditions: readPostConditions(r),\n payload: readPayload(r),\n };\n}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "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",
|
|
8
|
-
"debugId": "2951E64B5A5D8D3264756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|