@secondlayer/stacks 6.1.2 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/shared/{stacks-esm-qfzxhdqz.js → stacks-esm-1b2rhv6y.js} +2 -2
- package/dist/shared/{stacks-esm-snj9s2q8.js → stacks-esm-7n5wd5md.js} +3 -3
- package/dist/shared/{stacks-esm-pxv6ny92.js → stacks-esm-exgw8j2j.js} +4 -4
- package/dist/shared/{stacks-esm-phgy8yqf.js → stacks-esm-p3zypwsw.js} +15 -3
- package/dist/shared/{stacks-esm-phgy8yqf.js.map → stacks-esm-p3zypwsw.js.map} +3 -3
- package/dist/shared/{stacks-esm-cmtj5vky.js → stacks-esm-pq0e379d.js} +2 -2
- package/dist/shared/{stacks-esm-ea4m4bk7.js → stacks-esm-xcd4sv1h.js} +3 -3
- package/dist/src/actions/index.cjs +13 -1
- package/dist/src/actions/index.cjs.map +3 -3
- package/dist/src/actions/index.js +5 -5
- package/dist/src/bns/index.cjs +13 -1
- package/dist/src/bns/index.cjs.map +3 -3
- package/dist/src/bns/index.js +5 -5
- package/dist/src/index.cjs +13 -1
- package/dist/src/index.cjs.map +3 -3
- package/dist/src/index.js +4 -4
- package/dist/src/postconditions/index.cjs +13 -1
- package/dist/src/postconditions/index.cjs.map +3 -3
- package/dist/src/postconditions/index.js +2 -2
- package/dist/src/pox/index.cjs +13 -1
- package/dist/src/pox/index.cjs.map +3 -3
- package/dist/src/pox/index.js +5 -5
- package/dist/src/pox5/index.cjs +13 -1
- package/dist/src/pox5/index.cjs.map +3 -3
- package/dist/src/pox5/index.js +4 -4
- package/dist/src/sbtc/index.cjs +13 -1
- package/dist/src/sbtc/index.cjs.map +3 -3
- package/dist/src/sbtc/index.js +4 -4
- package/dist/src/simnet/index.cjs +4 -2
- package/dist/src/simnet/index.cjs.map +3 -3
- package/dist/src/simnet/index.js +4 -2
- package/dist/src/simnet/index.js.map +3 -3
- package/dist/src/stackingdao/index.cjs +13 -1
- package/dist/src/stackingdao/index.cjs.map +3 -3
- package/dist/src/stackingdao/index.js +5 -5
- package/dist/src/transactions/index.cjs +15 -2
- package/dist/src/transactions/index.cjs.map +3 -3
- package/dist/src/transactions/index.d.cts +9 -1
- package/dist/src/transactions/index.d.ts +9 -1
- package/dist/src/transactions/index.js +7 -5
- package/dist/src/transactions/index.js.map +1 -1
- package/package.json +1 -1
- /package/dist/shared/{stacks-esm-qfzxhdqz.js.map → stacks-esm-1b2rhv6y.js.map} +0 -0
- /package/dist/shared/{stacks-esm-snj9s2q8.js.map → stacks-esm-7n5wd5md.js.map} +0 -0
- /package/dist/shared/{stacks-esm-pxv6ny92.js.map → stacks-esm-exgw8j2j.js.map} +0 -0
- /package/dist/shared/{stacks-esm-cmtj5vky.js.map → stacks-esm-pq0e379d.js.map} +0 -0
- /package/dist/shared/{stacks-esm-ea4m4bk7.js.map → stacks-esm-xcd4sv1h.js.map} +0 -0
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
parsePostConditionAmount2,
|
|
7
7
|
fromHex2
|
|
8
|
-
} from "./stacks-esm-
|
|
8
|
+
} from "./stacks-esm-p3zypwsw.js";
|
|
9
9
|
|
|
10
10
|
// src/postconditions/builder.ts
|
|
11
11
|
class PartialPcWithPrincipal {
|
|
@@ -152,4 +152,4 @@ var Pc2 = {
|
|
|
152
152
|
export { Pc2 };
|
|
153
153
|
|
|
154
154
|
//# debugId=4A4139991457AA7164756E2164756E21
|
|
155
|
-
//# sourceMappingURL=stacks-esm-
|
|
155
|
+
//# sourceMappingURL=stacks-esm-1b2rhv6y.js.map
|
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
} from "./stacks-esm-a20wyky3.js";
|
|
9
9
|
import {
|
|
10
10
|
buildContractCall2
|
|
11
|
-
} from "./stacks-esm-
|
|
11
|
+
} from "./stacks-esm-pq0e379d.js";
|
|
12
12
|
import {
|
|
13
13
|
getMapEntry2,
|
|
14
14
|
getNonce2,
|
|
15
15
|
resolveFee2,
|
|
16
16
|
setUnsignedFee,
|
|
17
17
|
callContract2
|
|
18
|
-
} from "./stacks-esm-
|
|
18
|
+
} from "./stacks-esm-xcd4sv1h.js";
|
|
19
19
|
import {
|
|
20
20
|
readContract2
|
|
21
21
|
} from "./stacks-esm-0pc6tmf0.js";
|
|
@@ -185,4 +185,4 @@ class ContractResponseError2 extends Error {
|
|
|
185
185
|
export { getContract2, resolveNetworkContract, buildFunctionArgs2, isResponseOutput2, ContractResponseError2 };
|
|
186
186
|
|
|
187
187
|
//# debugId=2DD0E44CC61A61FD64756E2164756E21
|
|
188
|
-
//# sourceMappingURL=stacks-esm-
|
|
188
|
+
//# sourceMappingURL=stacks-esm-7n5wd5md.js.map
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
AddressHashMode2,
|
|
21
21
|
serializeTransactionHex2,
|
|
22
22
|
deserializeTransaction2
|
|
23
|
-
} from "./stacks-esm-
|
|
23
|
+
} from "./stacks-esm-p3zypwsw.js";
|
|
24
24
|
import {
|
|
25
25
|
createSingleSigSpendingCondition2,
|
|
26
26
|
signMultiSigWithAccount2,
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
buildContractDeploy2,
|
|
29
29
|
signTransactionWithAccount2,
|
|
30
30
|
signSponsorWithAccount2
|
|
31
|
-
} from "./stacks-esm-
|
|
31
|
+
} from "./stacks-esm-pq0e379d.js";
|
|
32
32
|
import {
|
|
33
33
|
structuredDataHash2
|
|
34
34
|
} from "./stacks-esm-tdrdye4y.js";
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
resolveFee2,
|
|
44
44
|
setUnsignedFee,
|
|
45
45
|
assertNoFeeTierForProvider
|
|
46
|
-
} from "./stacks-esm-
|
|
46
|
+
} from "./stacks-esm-xcd4sv1h.js";
|
|
47
47
|
import {
|
|
48
48
|
MalformedResponseError2
|
|
49
49
|
} from "./stacks-esm-0pc6tmf0.js";
|
|
@@ -388,4 +388,4 @@ async function transferStx2(client, params) {
|
|
|
388
388
|
export { getAccountHistory2, getAccountInfo2, getBlock2, getContractAbi2, getContractSource2, getMempoolStats2, getNftHoldings2, getRawBlock2, SimulationError2, simulateCall2, simulateTransaction2, deployContract2, signMessage2, signTransactionAction2, sponsorTransaction2, transferStx2 };
|
|
389
389
|
|
|
390
390
|
//# debugId=A9516B8833B4AB8564756E2164756E21
|
|
391
|
-
//# sourceMappingURL=stacks-esm-
|
|
391
|
+
//# sourceMappingURL=stacks-esm-exgw8j2j.js.map
|
|
@@ -565,7 +565,19 @@ function deserializePostConditionWire2(input) {
|
|
|
565
565
|
}
|
|
566
566
|
function deserializeTransaction2(input, meta) {
|
|
567
567
|
const bytes = typeof input === "string" ? hexToBytes2(without0x2(input)) : input;
|
|
568
|
+
return readTransaction(new BytesReader(bytes), meta);
|
|
569
|
+
}
|
|
570
|
+
function splitTransactions2(bytes, count) {
|
|
568
571
|
const r = new BytesReader(bytes);
|
|
572
|
+
const out = [];
|
|
573
|
+
for (let i = 0;i < count; i++) {
|
|
574
|
+
const start = r.offset;
|
|
575
|
+
readTransaction(r);
|
|
576
|
+
out.push(bytes.subarray(start, r.offset));
|
|
577
|
+
}
|
|
578
|
+
return out;
|
|
579
|
+
}
|
|
580
|
+
function readTransaction(r, meta) {
|
|
569
581
|
const tx = {
|
|
570
582
|
version: r.readUInt8(),
|
|
571
583
|
chainId: r.readUInt32BE(),
|
|
@@ -754,7 +766,7 @@ function postConditionToHex2(pc) {
|
|
|
754
766
|
return bytesToHex2(serializePostConditionWire2(convertPostCondition(pc)));
|
|
755
767
|
}
|
|
756
768
|
|
|
757
|
-
export { AuthType2, PayloadType2, ClarityVersion2, AnchorMode2, PostConditionModeWire2, AddressHashMode2, PubKeyEncoding2, FungibleConditionCode2, NonFungibleConditionCode2, PoxConditionCode2, PostConditionPrincipalId2, AssetType2, AuthFieldType2, RECOVERABLE_ECDSA_SIG_LENGTH_BYTES2, MEMO_MAX_LENGTH_BYTES2, MAX_STRING_LENGTH_BYTES2, COINBASE_BYTES_LENGTH2, VRF_PROOF_BYTES_LENGTH2, MICROBLOCK_HEADER_BYTES_LENGTH2, TenureChangeCause2, serializePostConditionWire2, serializePayload, clearTxCache, serializeTransaction2, serializeTransactionHex2, deserializePostConditionWire2, deserializeTransaction2, parsePostConditionAmount2, convertPostCondition, wireToPostCondition2, fromHex2, postConditionToHex2 };
|
|
769
|
+
export { AuthType2, PayloadType2, ClarityVersion2, AnchorMode2, PostConditionModeWire2, AddressHashMode2, PubKeyEncoding2, FungibleConditionCode2, NonFungibleConditionCode2, PoxConditionCode2, PostConditionPrincipalId2, AssetType2, AuthFieldType2, RECOVERABLE_ECDSA_SIG_LENGTH_BYTES2, MEMO_MAX_LENGTH_BYTES2, MAX_STRING_LENGTH_BYTES2, COINBASE_BYTES_LENGTH2, VRF_PROOF_BYTES_LENGTH2, MICROBLOCK_HEADER_BYTES_LENGTH2, TenureChangeCause2, serializePostConditionWire2, serializePayload, clearTxCache, serializeTransaction2, serializeTransactionHex2, deserializePostConditionWire2, deserializeTransaction2, splitTransactions2, parsePostConditionAmount2, convertPostCondition, wireToPostCondition2, fromHex2, postConditionToHex2 };
|
|
758
770
|
|
|
759
|
-
//# debugId=
|
|
760
|
-
//# sourceMappingURL=stacks-esm-
|
|
771
|
+
//# debugId=C83043AAB51B9B7764756E2164756E21
|
|
772
|
+
//# sourceMappingURL=stacks-esm-p3zypwsw.js.map
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import type { ClarityValue } from \"../clarity/types.ts\";\n\n// Auth types\nexport const AuthType = {\n\tStandard: 0x04,\n\tSponsored: 0x05,\n} as const;\nexport type AuthType = (typeof AuthType)[keyof typeof AuthType];\n\n// Payload types\nexport const PayloadType = {\n\tTokenTransfer: 0x00,\n\tSmartContract: 0x01,\n\tContractCall: 0x02,\n\tPoisonMicroblock: 0x03,\n\tCoinbase: 0x04,\n\tCoinbaseToAltRecipient: 0x05,\n\tVersionedSmartContract: 0x06,\n\tTenureChange: 0x07,\n\tNakamotoCoinbase: 0x08,\n} as const;\nexport type PayloadType = (typeof PayloadType)[keyof typeof PayloadType];\n\n// Clarity version\nexport const ClarityVersion = {\n\tClarity1: 1,\n\tClarity2: 2,\n\tClarity3: 3,\n\tClarity4: 4,\n\tClarity5: 5,\n\tClarity6: 6, // SIP-044, Epoch 4.0\n} as const;\nexport type ClarityVersion =\n\t(typeof ClarityVersion)[keyof typeof ClarityVersion];\n\n// Anchor mode (deprecated post-Nakamoto, but needed for wire format)\nexport const AnchorMode = {\n\tOnChainOnly: 0x01,\n\tOffChainOnly: 0x02,\n\tAny: 0x03,\n} as const;\nexport type AnchorMode = (typeof AnchorMode)[keyof typeof AnchorMode];\n\n// Post condition mode\nexport const PostConditionModeWire = {\n\tAllow: 0x01,\n\tDeny: 0x02,\n\tOriginator: 0x03, // SIP-040, Epoch 3.4\n} as const;\nexport type PostConditionModeWire =\n\t(typeof PostConditionModeWire)[keyof typeof PostConditionModeWire];\n\n// Address hash modes\nexport const AddressHashMode = {\n\tP2PKH: 0x00,\n\tP2SH: 0x01,\n\tP2WPKH: 0x02,\n\tP2WSH: 0x03,\n\tP2SH_NonSequential: 0x05, // SIP-027\n\tP2WSH_P2SH_NonSequential: 0x07, // SIP-027\n} as const;\nexport type AddressHashMode =\n\t(typeof AddressHashMode)[keyof typeof AddressHashMode];\n\n// Pub key encoding\nexport const PubKeyEncoding = {\n\tCompressed: 0x00,\n\tUncompressed: 0x01,\n} as const;\nexport type PubKeyEncoding =\n\t(typeof PubKeyEncoding)[keyof typeof PubKeyEncoding];\n\n// Fungible condition codes (wire format)\nexport const FungibleConditionCode = {\n\tEqual: 0x01,\n\tGreater: 0x02,\n\tGreaterEqual: 0x03,\n\tLess: 0x04,\n\tLessEqual: 0x05,\n} as const;\n\n// Non-fungible condition codes (wire format)\nexport const NonFungibleConditionCode = {\n\tSends: 0x10,\n\tDoesNotSend: 0x11,\n\tMaybeSent: 0x12, // SIP-040, Epoch 3.4\n} as const;\n\n// PoX condition codes (wire format, SIP-045)\nexport const PoxConditionCode = {\n\tWillNotPerform: 0x30,\n\tMayPerform: 0x31,\n\tWillPerform: 0x32,\n} as const;\nexport type PoxConditionCode =\n\t(typeof PoxConditionCode)[keyof typeof PoxConditionCode];\n\n// Post condition principal types\nexport const PostConditionPrincipalId = {\n\tOrigin: 0x01,\n\tStandard: 0x02,\n\tContract: 0x03,\n} as const;\n\n// Post condition asset types\nexport const AssetType = {\n\tSTX: 0x00,\n\tFungible: 0x01,\n\tNonFungible: 0x02,\n\tStaking: 0x03, // SIP-045\n\tPox: 0x04, // SIP-045\n} as const;\n\n// Auth field types\nexport const AuthFieldType = {\n\tPublicKeyCompressed: 0x00,\n\tPublicKeyUncompressed: 0x01,\n\tSignatureCompressed: 0x02,\n\tSignatureUncompressed: 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\tBlockFound: 0x00,\n\tExtended: 0x01,\n\tExtendedRuntime: 0x02,\n\tExtendedReadCount: 0x03,\n\tExtendedReadLength: 0x04,\n\tExtendedWriteCount: 0x05,\n\tExtendedWriteLength: 0x06,\n} as const;\nexport type TenureChangeCause =\n\t(typeof TenureChangeCause)[keyof typeof TenureChangeCause];\n\n// Token transfer payload\nexport type TokenTransferPayload = {\n\tpayloadType: typeof PayloadType.TokenTransfer;\n\trecipient: ClarityValue; // PrincipalCV\n\tamount: bigint;\n\tmemo: string;\n};\n\n// Contract call payload\nexport type ContractCallPayload = {\n\tpayloadType: typeof PayloadType.ContractCall;\n\tcontractAddress: string;\n\tcontractName: string;\n\tfunctionName: string;\n\tfunctionArgs: ClarityValue[];\n};\n\n// Smart contract deploy payload\nexport type SmartContractPayload = {\n\tpayloadType:\n\t\t| typeof PayloadType.SmartContract\n\t\t| typeof PayloadType.VersionedSmartContract;\n\tclarityVersion?: ClarityVersion;\n\tcontractName: string;\n\tcodeBody: string;\n};\n\n// Coinbase payload (appears in every pre-Nakamoto block)\nexport type CoinbasePayload = {\n\tpayloadType: typeof PayloadType.Coinbase;\n\tcoinbaseBuffer: string; // 32 bytes hex\n};\n\n// Coinbase to alt recipient payload\nexport type CoinbaseToAltRecipientPayload = {\n\tpayloadType: typeof PayloadType.CoinbaseToAltRecipient;\n\tcoinbaseBuffer: string; // 32 bytes hex\n\trecipient: ClarityValue; // PrincipalCV\n};\n\n// Poison microblock payload\nexport type PoisonMicroblockPayload = {\n\tpayloadType: typeof PayloadType.PoisonMicroblock;\n\theader1: string; // 132 bytes hex (raw microblock header)\n\theader2: string; // 132 bytes hex (raw microblock header)\n};\n\n// Tenure change payload (Nakamoto)\nexport type TenureChangePayload = {\n\tpayloadType: typeof PayloadType.TenureChange;\n\ttenureConsensusHash: string; // 20 bytes hex\n\tprevTenureConsensusHash: string; // 20 bytes hex\n\tburnViewConsensusHash: string; // 20 bytes hex\n\tpreviousTenureEnd: string; // 32 bytes hex\n\tpreviousTenureBlocks: number; // u32\n\tcause: TenureChangeCause;\n\tpubkeyHash: string; // 20 bytes hex\n};\n\n// Nakamoto coinbase payload\nexport type NakamotoCoinbasePayload = {\n\tpayloadType: typeof PayloadType.NakamotoCoinbase;\n\tcoinbaseBuffer: string; // 32 bytes hex\n\trecipient: ClarityValue | null; // Optional PrincipalCV\n\tvrfProof: string; // 80 bytes hex\n};\n\nexport type TransactionPayload =\n\t| TokenTransferPayload\n\t| ContractCallPayload\n\t| SmartContractPayload\n\t| CoinbasePayload\n\t| CoinbaseToAltRecipientPayload\n\t| PoisonMicroblockPayload\n\t| TenureChangePayload\n\t| NakamotoCoinbasePayload;\n\n// Spending condition\nexport type SingleSigSpendingCondition = {\n\thashMode: typeof AddressHashMode.P2PKH | typeof AddressHashMode.P2WPKH;\n\tsigner: string; // hash160 hex\n\tnonce: bigint;\n\tfee: bigint;\n\tkeyEncoding: PubKeyEncoding;\n\tsignature: string; // 65-byte recoverable sig hex\n};\n\nexport type TransactionAuthField = {\n\tpubKeyEncoding: PubKeyEncoding;\n\ttype: \"publicKey\" | \"signature\";\n\tdata: string; // hex\n};\n\nexport type MultiSigHashMode =\n\t| typeof AddressHashMode.P2SH\n\t| typeof AddressHashMode.P2WSH\n\t| typeof AddressHashMode.P2SH_NonSequential\n\t| typeof AddressHashMode.P2WSH_P2SH_NonSequential;\n\nexport type MultiSigSpendingCondition = {\n\thashMode: MultiSigHashMode;\n\tsigner: string;\n\tnonce: bigint;\n\tfee: bigint;\n\tfields: TransactionAuthField[];\n\tsignaturesRequired: number;\n};\n\nexport type SpendingCondition =\n\t| SingleSigSpendingCondition\n\t| MultiSigSpendingCondition;\n\nexport type StandardAuthorization = {\n\tauthType: typeof AuthType.Standard;\n\tspendingCondition: SpendingCondition;\n};\n\nexport type SponsoredAuthorization = {\n\tauthType: typeof AuthType.Sponsored;\n\tspendingCondition: SpendingCondition;\n\tsponsorSpendingCondition: SpendingCondition;\n};\n\nexport type Authorization = StandardAuthorization | SponsoredAuthorization;\n\n// Full transaction\nexport type StacksTransaction = {\n\tversion: number;\n\tchainId: number;\n\tauth: Authorization;\n\tanchorMode: AnchorMode;\n\tpostConditionMode: PostConditionModeWire;\n\tpostConditions: PostConditionWire[];\n\tpayload: TransactionPayload;\n\t/** Multi-sig signer metadata — not part of the wire format, preserved\n\t * through serialize/deserialize round-trip for auto-detection. */\n\t_multisig?: { publicKeys: string[] };\n};\n\n// Wire post condition types\nexport type PostConditionWire =\n\t| StxPostConditionWire\n\t| FtPostConditionWire\n\t| NftPostConditionWire\n\t| StakingPostConditionWire\n\t| PoxPostConditionWire;\n\nexport type StxPostConditionWire = {\n\ttype: \"stx\";\n\tprincipal: PostConditionPrincipalWire;\n\tconditionCode: number;\n\tamount: bigint;\n};\n\nexport type FtPostConditionWire = {\n\ttype: \"ft\";\n\tprincipal: PostConditionPrincipalWire;\n\tasset: AssetInfoWire;\n\tconditionCode: number;\n\tamount: bigint;\n};\n\nexport type NftPostConditionWire = {\n\ttype: \"nft\";\n\tprincipal: PostConditionPrincipalWire;\n\tasset: AssetInfoWire;\n\tconditionCode: number;\n\tassetId: ClarityValue;\n};\n\n// SIP-045: gates stake/register-for-bond/stake-update; same shape as STX\nexport type StakingPostConditionWire = {\n\ttype: \"staking\";\n\tprincipal: PostConditionPrincipalWire;\n\tconditionCode: number;\n\tamount: bigint;\n};\n\n// SIP-045: gates non-locking PoX state changes (unstake, announce-l1-early-exit, …); no amount\nexport type PoxPostConditionWire = {\n\ttype: \"pox\";\n\tprincipal: PostConditionPrincipalWire;\n\tconditionCode: PoxConditionCode;\n};\n\nexport type PostConditionPrincipalWire =\n\t| { type: \"origin\" }\n\t| { type: \"standard\"; address: string }\n\t| { type: \"contract\"; address: string; contractName: string };\n\nexport type AssetInfoWire = {\n\taddress: string;\n\tcontractName: string;\n\tassetName: string;\n};\n",
|
|
6
6
|
"import { serializeCVBytes } from \"../../clarity/serialize.ts\";\nimport { c32addressDecode } from \"../../utils/c32.ts\";\nimport {\n\tasciiToBytes,\n\tbytesToHex,\n\tconcatBytes,\n\thexToBytes,\n\tintToBytes,\n\tintToHex,\n\tutf8ToBytes,\n\twriteUInt8,\n\twriteUInt16BE,\n\twriteUInt32BE,\n} from \"../../utils/encoding.ts\";\nimport {\n\ttype AssetInfoWire,\n\tAssetType,\n\tAuthType,\n\ttype Authorization,\n\ttype CoinbasePayload,\n\ttype CoinbaseToAltRecipientPayload,\n\tMEMO_MAX_LENGTH_BYTES,\n\ttype MultiSigSpendingCondition,\n\ttype NakamotoCoinbasePayload,\n\tPayloadType,\n\ttype PoisonMicroblockPayload,\n\tPostConditionPrincipalId,\n\ttype PostConditionPrincipalWire,\n\ttype PostConditionWire,\n\ttype SingleSigSpendingCondition,\n\ttype SpendingCondition,\n\ttype StacksTransaction,\n\ttype TenureChangePayload as TenureChangePayloadType,\n\ttype TransactionAuthField,\n\ttype TransactionPayload,\n} from \"../types.ts\";\n\n// Address serialization: version (1 byte) + hash160 (20 bytes)\nfunction serializeAddress(c32Address: string): Uint8Array {\n\tconst [version, hash160] = c32addressDecode(c32Address);\n\treturn 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\tconst content = utf8ToBytes(str);\n\tconst prefix = hexToBytes(intToHex(content.byteLength, prefixBytes));\n\treturn concatBytes(prefix, content);\n}\n\n// LP string for code body (4-byte prefix)\nfunction serializeLPStringLong(str: string): Uint8Array {\n\treturn serializeLPString(str, 4);\n}\n\n// Memo: flat 34-byte field (no length prefix) per SIP-005\nfunction serializeMemo(memo: string): Uint8Array {\n\tconst content = asciiToBytes(memo);\n\tconst padded = new Uint8Array(MEMO_MAX_LENGTH_BYTES);\n\tpadded.set(content.slice(0, MEMO_MAX_LENGTH_BYTES));\n\treturn padded;\n}\n\nfunction serializeSpendingCondition(condition: SpendingCondition): Uint8Array {\n\tconst parts: Uint8Array[] = [\n\t\twriteUInt8(condition.hashMode),\n\t\thexToBytes(condition.signer), // 20 bytes\n\t\tintToBytes(condition.nonce, 8),\n\t\tintToBytes(condition.fee, 8),\n\t];\n\n\tif (\"signature\" in condition) {\n\t\t// Single sig\n\t\tconst sc = condition as SingleSigSpendingCondition;\n\t\tparts.push(writeUInt8(sc.keyEncoding));\n\t\tparts.push(hexToBytes(sc.signature)); // 65 bytes\n\t} else {\n\t\t// Multi sig\n\t\tconst mc = condition as MultiSigSpendingCondition;\n\t\t// Fields as LP list\n\t\tparts.push(writeUInt32BE(mc.fields.length));\n\t\tfor (const field of mc.fields) {\n\t\t\tparts.push(serializeAuthField(field));\n\t\t}\n\t\tparts.push(writeUInt16BE(mc.signaturesRequired));\n\t}\n\n\treturn concatBytes(...parts);\n}\n\nfunction serializeAuthField(field: TransactionAuthField): Uint8Array {\n\tif (field.type === \"publicKey\") {\n\t\tconst typeId = field.pubKeyEncoding === 0x00 ? 0x00 : 0x01;\n\t\treturn concatBytes(writeUInt8(typeId), hexToBytes(field.data));\n\t}\n\tconst typeId = field.pubKeyEncoding === 0x00 ? 0x02 : 0x03;\n\treturn concatBytes(writeUInt8(typeId), hexToBytes(field.data));\n}\n\nfunction serializeAuthorization(auth: Authorization): Uint8Array {\n\tconst parts: Uint8Array[] = [writeUInt8(auth.authType)];\n\tparts.push(serializeSpendingCondition(auth.spendingCondition));\n\tif (auth.authType === AuthType.Sponsored) {\n\t\tparts.push(serializeSpendingCondition(auth.sponsorSpendingCondition));\n\t}\n\treturn concatBytes(...parts);\n}\n\nfunction serializePrincipal(principal: PostConditionPrincipalWire): Uint8Array {\n\tswitch (principal.type) {\n\t\tcase \"origin\":\n\t\t\treturn writeUInt8(PostConditionPrincipalId.Origin);\n\t\tcase \"standard\":\n\t\t\treturn concatBytes(\n\t\t\t\twriteUInt8(PostConditionPrincipalId.Standard),\n\t\t\t\tserializeAddress(principal.address),\n\t\t\t);\n\t\tcase \"contract\":\n\t\t\treturn concatBytes(\n\t\t\t\twriteUInt8(PostConditionPrincipalId.Contract),\n\t\t\t\tserializeAddress(principal.address),\n\t\t\t\tserializeLPString(principal.contractName),\n\t\t\t);\n\t}\n}\n\nfunction serializeAssetInfo(asset: AssetInfoWire): Uint8Array {\n\treturn concatBytes(\n\t\tserializeAddress(asset.address),\n\t\tserializeLPString(asset.contractName),\n\t\tserializeLPString(asset.assetName),\n\t);\n}\n\nexport function serializePostConditionWire(pc: PostConditionWire): Uint8Array {\n\t// Wire order: asset_type first, then principal (per SIP-005)\n\tconst parts: Uint8Array[] = [];\n\n\tswitch (pc.type) {\n\t\tcase \"stx\":\n\t\t\tparts.push(writeUInt8(AssetType.STX));\n\t\t\tparts.push(serializePrincipal(pc.principal));\n\t\t\tparts.push(writeUInt8(pc.conditionCode));\n\t\t\tparts.push(intToBytes(pc.amount, 8));\n\t\t\tbreak;\n\t\tcase \"ft\":\n\t\t\tparts.push(writeUInt8(AssetType.Fungible));\n\t\t\tparts.push(serializePrincipal(pc.principal));\n\t\t\tparts.push(serializeAssetInfo(pc.asset));\n\t\t\tparts.push(writeUInt8(pc.conditionCode));\n\t\t\tparts.push(intToBytes(pc.amount, 8));\n\t\t\tbreak;\n\t\tcase \"nft\":\n\t\t\tparts.push(writeUInt8(AssetType.NonFungible));\n\t\t\tparts.push(serializePrincipal(pc.principal));\n\t\t\tparts.push(serializeAssetInfo(pc.asset));\n\t\t\tparts.push(serializeCVBytes(pc.assetId));\n\t\t\tparts.push(writeUInt8(pc.conditionCode));\n\t\t\tbreak;\n\t\tcase \"staking\":\n\t\t\t// SIP-045: same body as STX (fungible condition code + amount)\n\t\t\tparts.push(writeUInt8(AssetType.Staking));\n\t\t\tparts.push(serializePrincipal(pc.principal));\n\t\t\tparts.push(writeUInt8(pc.conditionCode));\n\t\t\tparts.push(intToBytes(pc.amount, 8));\n\t\t\tbreak;\n\t\tcase \"pox\":\n\t\t\t// SIP-045: PoX condition code only, no amount\n\t\t\tparts.push(writeUInt8(AssetType.Pox));\n\t\t\tparts.push(serializePrincipal(pc.principal));\n\t\t\tparts.push(writeUInt8(pc.conditionCode));\n\t\t\tbreak;\n\t}\n\n\treturn concatBytes(...parts);\n}\n\nfunction serializePostConditions(pcs: PostConditionWire[]): Uint8Array {\n\tconst parts: Uint8Array[] = [writeUInt32BE(pcs.length)];\n\tfor (const pc of pcs) parts.push(serializePostConditionWire(pc));\n\treturn concatBytes(...parts);\n}\n\nexport function serializePayload(payload: TransactionPayload): Uint8Array {\n\tconst parts: Uint8Array[] = [writeUInt8(payload.payloadType)];\n\n\tswitch (payload.payloadType) {\n\t\tcase PayloadType.TokenTransfer:\n\t\t\tparts.push(serializeCVBytes(payload.recipient));\n\t\t\tparts.push(intToBytes(payload.amount, 8));\n\t\t\tparts.push(serializeMemo(payload.memo));\n\t\t\tbreak;\n\n\t\tcase PayloadType.ContractCall:\n\t\t\tparts.push(serializeAddress(payload.contractAddress));\n\t\t\tparts.push(serializeLPString(payload.contractName));\n\t\t\tparts.push(serializeLPString(payload.functionName));\n\t\t\tparts.push(writeUInt32BE(payload.functionArgs.length));\n\t\t\tfor (const arg of payload.functionArgs) {\n\t\t\t\tparts.push(serializeCVBytes(arg));\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase PayloadType.SmartContract:\n\t\t\tparts.push(serializeLPString(payload.contractName));\n\t\t\tparts.push(serializeLPStringLong(payload.codeBody));\n\t\t\tbreak;\n\n\t\tcase PayloadType.VersionedSmartContract:\n\t\t\tparts.push(writeUInt8(payload.clarityVersion ?? 2));\n\t\t\tparts.push(serializeLPString(payload.contractName));\n\t\t\tparts.push(serializeLPStringLong(payload.codeBody));\n\t\t\tbreak;\n\n\t\tcase PayloadType.Coinbase:\n\t\t\tparts.push(hexToBytes((payload as CoinbasePayload).coinbaseBuffer));\n\t\t\tbreak;\n\n\t\tcase PayloadType.CoinbaseToAltRecipient: {\n\t\t\tconst cbAlt = payload as CoinbaseToAltRecipientPayload;\n\t\t\tparts.push(hexToBytes(cbAlt.coinbaseBuffer));\n\t\t\tparts.push(serializeCVBytes(cbAlt.recipient));\n\t\t\tbreak;\n\t\t}\n\n\t\tcase PayloadType.PoisonMicroblock: {\n\t\t\tconst pm = payload as PoisonMicroblockPayload;\n\t\t\tparts.push(hexToBytes(pm.header1));\n\t\t\tparts.push(hexToBytes(pm.header2));\n\t\t\tbreak;\n\t\t}\n\n\t\tcase PayloadType.TenureChange: {\n\t\t\tconst tc = payload as TenureChangePayloadType;\n\t\t\tparts.push(hexToBytes(tc.tenureConsensusHash));\n\t\t\tparts.push(hexToBytes(tc.prevTenureConsensusHash));\n\t\t\tparts.push(hexToBytes(tc.burnViewConsensusHash));\n\t\t\tparts.push(hexToBytes(tc.previousTenureEnd));\n\t\t\tparts.push(writeUInt32BE(tc.previousTenureBlocks));\n\t\t\tparts.push(writeUInt8(tc.cause));\n\t\t\tparts.push(hexToBytes(tc.pubkeyHash));\n\t\t\tbreak;\n\t\t}\n\n\t\tcase PayloadType.NakamotoCoinbase: {\n\t\t\tconst nc = payload as NakamotoCoinbasePayload;\n\t\t\tparts.push(hexToBytes(nc.coinbaseBuffer));\n\t\t\tif (nc.recipient) {\n\t\t\t\tparts.push(serializeCVBytes({ type: \"some\", value: nc.recipient }));\n\t\t\t} else {\n\t\t\t\tparts.push(serializeCVBytes({ type: \"none\" }));\n\t\t\t}\n\t\t\tparts.push(hexToBytes(nc.vrfProof));\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn concatBytes(...parts);\n}\n\n// Memoization cache: transactions are immutable in practice (fields are set\n// once during build/signing), so the serialized bytes for a given transaction\n// object never change. The signing flow serializes the same object several\n// times (txid, sighash, sponsor sighash); caching avoids that redundant work.\n// Any in-place mutation MUST call clearTxCache — see setUnsignedFee.\nconst _txCache = new WeakMap<StacksTransaction, Uint8Array>();\n\n/** Invalidate the memoized serialization of a mutated transaction */\nexport function clearTxCache(tx: StacksTransaction): void {\n\t_txCache.delete(tx);\n}\n\nexport function serializeTransaction(tx: StacksTransaction): Uint8Array {\n\tconst cached = _txCache.get(tx);\n\tif (cached) return cached;\n\tconst bytes = concatBytes(\n\t\twriteUInt8(tx.version),\n\t\twriteUInt32BE(tx.chainId),\n\t\tserializeAuthorization(tx.auth),\n\t\twriteUInt8(tx.anchorMode),\n\t\twriteUInt8(tx.postConditionMode),\n\t\tserializePostConditions(tx.postConditions),\n\t\tserializePayload(tx.payload),\n\t);\n\t_txCache.set(tx, bytes);\n\treturn bytes;\n}\n\nexport function serializeTransactionHex(tx: StacksTransaction): string {\n\treturn bytesToHex(serializeTransaction(tx));\n}\n\n/** Serialize a transaction, returning the wire bytes plus the out-of-band\n * `_multisig` metadata so callers can preserve it across a round-trip\n * (the wire format itself does not carry it). */\nexport function serializeTransactionWithMeta(tx: StacksTransaction): {\n\tbytes: Uint8Array;\n\t_multisig?: { publicKeys: string[] };\n} {\n\treturn { bytes: serializeTransaction(tx), _multisig: tx._multisig };\n}\n",
|
|
7
|
-
"import {\n\treadAddress,\n\treadCV,\n\treadLPString,\n} from \"../../clarity/deserialize.ts\";\nimport type { ClarityValue } from \"../../clarity/types.ts\";\nimport { BytesReader } from \"../../utils/bytes-reader.ts\";\nimport {\n\tbytesToAscii,\n\tbytesToHex,\n\thexToBytes,\n\twithout0x,\n} from \"../../utils/encoding.ts\";\nimport {\n\tAddressHashMode,\n\ttype AnchorMode,\n\ttype AssetInfoWire,\n\tAssetType,\n\tAuthType,\n\ttype Authorization,\n\tCOINBASE_BYTES_LENGTH,\n\ttype ClarityVersion,\n\tMEMO_MAX_LENGTH_BYTES,\n\tMICROBLOCK_HEADER_BYTES_LENGTH,\n\tPayloadType,\n\ttype PostConditionModeWire,\n\tPostConditionPrincipalId,\n\ttype PostConditionPrincipalWire,\n\ttype PostConditionWire,\n\ttype PoxConditionCode,\n\tRECOVERABLE_ECDSA_SIG_LENGTH_BYTES,\n\ttype SpendingCondition,\n\ttype StacksTransaction,\n\ttype TenureChangeCause,\n\ttype TransactionAuthField,\n\ttype TransactionPayload,\n\tVRF_PROOF_BYTES_LENGTH,\n} from \"../types.ts\";\n\nfunction readSpendingCondition(r: BytesReader): SpendingCondition {\n\tconst hashMode = r.readUInt8();\n\tconst signer = bytesToHex(r.readBytes(20));\n\tconst nonce = r.readBigUInt64BE();\n\tconst fee = r.readBigUInt64BE();\n\n\tif (\n\t\thashMode === AddressHashMode.P2PKH ||\n\t\thashMode === AddressHashMode.P2WPKH\n\t) {\n\t\tconst keyEncoding = r.readUInt8();\n\t\tconst signature = bytesToHex(\n\t\t\tr.readBytes(RECOVERABLE_ECDSA_SIG_LENGTH_BYTES),\n\t\t);\n\t\treturn {\n\t\t\thashMode,\n\t\t\tsigner,\n\t\t\tnonce,\n\t\t\tfee,\n\t\t\tkeyEncoding,\n\t\t\tsignature,\n\t\t} as SpendingCondition;\n\t}\n\n\tconst fieldCount = r.readUInt32BE();\n\tconst fields: TransactionAuthField[] = [];\n\tfor (let i = 0; i < fieldCount; i++) {\n\t\tconst fieldType = r.readUInt8();\n\t\tif (fieldType <= 0x01) {\n\t\t\tconst keyLen = fieldType === 0x00 ? 33 : 65;\n\t\t\tfields.push({\n\t\t\t\ttype: \"publicKey\",\n\t\t\t\tpubKeyEncoding: fieldType as 0x00 | 0x01,\n\t\t\t\tdata: bytesToHex(r.readBytes(keyLen)),\n\t\t\t});\n\t\t} else {\n\t\t\tfields.push({\n\t\t\t\ttype: \"signature\",\n\t\t\t\tpubKeyEncoding: (fieldType === 0x02 ? 0x00 : 0x01) as 0x00 | 0x01,\n\t\t\t\tdata: bytesToHex(r.readBytes(RECOVERABLE_ECDSA_SIG_LENGTH_BYTES)),\n\t\t\t});\n\t\t}\n\t}\n\tconst signaturesRequired = r.readUInt16BE();\n\n\treturn {\n\t\thashMode,\n\t\tsigner,\n\t\tnonce,\n\t\tfee,\n\t\tfields,\n\t\tsignaturesRequired,\n\t} as SpendingCondition;\n}\n\nfunction readAuthorization(r: BytesReader): Authorization {\n\tconst authType = r.readUInt8();\n\tconst spendingCondition = readSpendingCondition(r);\n\n\tif (authType === AuthType.Standard) {\n\t\treturn { authType: AuthType.Standard, spendingCondition };\n\t}\n\n\tconst sponsorSpendingCondition = readSpendingCondition(r);\n\treturn {\n\t\tauthType: AuthType.Sponsored,\n\t\tspendingCondition,\n\t\tsponsorSpendingCondition,\n\t};\n}\n\nfunction readAssetInfo(r: BytesReader): AssetInfoWire {\n\treturn {\n\t\taddress: readAddress(r),\n\t\tcontractName: readLPString(r),\n\t\tassetName: readLPString(r),\n\t};\n}\n\nfunction readPostConditionPrincipal(\n\tr: BytesReader,\n): PostConditionPrincipalWire {\n\tconst type = r.readUInt8();\n\tswitch (type) {\n\t\tcase PostConditionPrincipalId.Origin:\n\t\t\treturn { type: \"origin\" };\n\t\tcase PostConditionPrincipalId.Standard:\n\t\t\treturn { type: \"standard\", address: readAddress(r) };\n\t\tcase PostConditionPrincipalId.Contract:\n\t\t\treturn {\n\t\t\t\ttype: \"contract\",\n\t\t\t\taddress: readAddress(r),\n\t\t\t\tcontractName: readLPString(r),\n\t\t\t};\n\t\tdefault:\n\t\t\t// Some legacy transactions may have unexpected principal types.\n\t\t\t// Treat as origin to allow deserialization to continue.\n\t\t\treturn { type: \"origin\" };\n\t}\n}\n\nfunction readPostCondition(r: BytesReader): PostConditionWire {\n\t// Wire order: asset_type, then principal (per SIP-005 and stacks.js)\n\tconst assetType = r.readUInt8();\n\tconst principal = readPostConditionPrincipal(r);\n\tswitch (assetType) {\n\t\tcase AssetType.STX:\n\t\t\treturn {\n\t\t\t\ttype: \"stx\",\n\t\t\t\tprincipal,\n\t\t\t\tconditionCode: r.readUInt8(),\n\t\t\t\tamount: r.readBigUInt64BE(),\n\t\t\t};\n\t\tcase AssetType.Fungible:\n\t\t\treturn {\n\t\t\t\ttype: \"ft\",\n\t\t\t\tprincipal,\n\t\t\t\tasset: readAssetInfo(r),\n\t\t\t\tconditionCode: r.readUInt8(),\n\t\t\t\tamount: r.readBigUInt64BE(),\n\t\t\t};\n\t\tcase AssetType.NonFungible:\n\t\t\treturn {\n\t\t\t\ttype: \"nft\",\n\t\t\t\tprincipal,\n\t\t\t\tasset: readAssetInfo(r),\n\t\t\t\tassetId: readCV(r),\n\t\t\t\tconditionCode: r.readUInt8(),\n\t\t\t};\n\t\tcase AssetType.Staking:\n\t\t\treturn {\n\t\t\t\ttype: \"staking\",\n\t\t\t\tprincipal,\n\t\t\t\tconditionCode: r.readUInt8(),\n\t\t\t\tamount: r.readBigUInt64BE(),\n\t\t\t};\n\t\tcase AssetType.Pox:\n\t\t\treturn {\n\t\t\t\ttype: \"pox\",\n\t\t\t\tprincipal,\n\t\t\t\tconditionCode: r.readUInt8() as PoxConditionCode,\n\t\t\t};\n\t\tdefault:\n\t\t\tthrow new Error(\n\t\t\t\t`Unknown post-condition asset type: 0x${assetType.toString(16).padStart(2, \"0\")}`,\n\t\t\t);\n\t}\n}\n\nfunction readPostConditions(r: BytesReader): PostConditionWire[] {\n\tconst count = r.readUInt32BE();\n\tconst pcs: PostConditionWire[] = [];\n\tfor (let i = 0; i < count; i++) {\n\t\ttry {\n\t\t\tpcs.push(readPostCondition(r));\n\t\t} catch (e) {\n\t\t\tif (\n\t\t\t\te instanceof Error &&\n\t\t\t\te.message.startsWith(\"Unknown post-condition asset type:\")\n\t\t\t) {\n\t\t\t\tthrow new Error(`${e.message} (post-condition ${i + 1}/${count})`);\n\t\t\t}\n\t\t\tthrow e;\n\t\t}\n\t}\n\treturn pcs;\n}\n\nfunction readPayload(r: BytesReader): TransactionPayload {\n\tconst payloadType = r.readUInt8();\n\n\tswitch (payloadType) {\n\t\tcase PayloadType.TokenTransfer: {\n\t\t\tconst recipient = readCV(r);\n\t\t\tconst amount = r.readBigUInt64BE();\n\t\t\t// Memo is a flat 34-byte field (no length prefix) per SIP-005\n\t\t\tconst memoBytes = r.readBytes(MEMO_MAX_LENGTH_BYTES);\n\t\t\tconst memo = bytesToAscii(memoBytes).replace(/\\0+$/, \"\");\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.TokenTransfer,\n\t\t\t\trecipient,\n\t\t\t\tamount,\n\t\t\t\tmemo,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.ContractCall: {\n\t\t\tconst contractAddress = readAddress(r);\n\t\t\tconst contractName = readLPString(r);\n\t\t\tconst functionName = readLPString(r);\n\t\t\tconst numArgs = r.readUInt32BE();\n\t\t\tconst functionArgs: ClarityValue[] = [];\n\t\t\tfor (let i = 0; i < numArgs; i++) functionArgs.push(readCV(r));\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.ContractCall,\n\t\t\t\tcontractAddress,\n\t\t\t\tcontractName,\n\t\t\t\tfunctionName,\n\t\t\t\tfunctionArgs,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.SmartContract: {\n\t\t\tconst contractName = readLPString(r);\n\t\t\tconst codeBody = readLPString(r, 4);\n\t\t\treturn { payloadType: PayloadType.SmartContract, contractName, codeBody };\n\t\t}\n\t\tcase PayloadType.VersionedSmartContract: {\n\t\t\tconst clarityVersion = r.readUInt8() as ClarityVersion;\n\t\t\tconst contractName = readLPString(r);\n\t\t\tconst codeBody = readLPString(r, 4);\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.VersionedSmartContract,\n\t\t\t\tclarityVersion,\n\t\t\t\tcontractName,\n\t\t\t\tcodeBody,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.Coinbase: {\n\t\t\tconst coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n\t\t\treturn { payloadType: PayloadType.Coinbase, coinbaseBuffer };\n\t\t}\n\t\tcase PayloadType.CoinbaseToAltRecipient: {\n\t\t\tconst coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n\t\t\tconst recipient = readCV(r);\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.CoinbaseToAltRecipient,\n\t\t\t\tcoinbaseBuffer,\n\t\t\t\trecipient,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.PoisonMicroblock: {\n\t\t\tconst header1 = bytesToHex(r.readBytes(MICROBLOCK_HEADER_BYTES_LENGTH));\n\t\t\tconst header2 = bytesToHex(r.readBytes(MICROBLOCK_HEADER_BYTES_LENGTH));\n\t\t\treturn { payloadType: PayloadType.PoisonMicroblock, header1, header2 };\n\t\t}\n\t\tcase PayloadType.TenureChange: {\n\t\t\tconst tenureConsensusHash = bytesToHex(r.readBytes(20));\n\t\t\tconst prevTenureConsensusHash = bytesToHex(r.readBytes(20));\n\t\t\tconst burnViewConsensusHash = bytesToHex(r.readBytes(20));\n\t\t\tconst previousTenureEnd = bytesToHex(r.readBytes(32));\n\t\t\tconst previousTenureBlocks = r.readUInt32BE();\n\t\t\tconst cause = r.readUInt8() as TenureChangeCause;\n\t\t\tconst pubkeyHash = bytesToHex(r.readBytes(20));\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.TenureChange,\n\t\t\t\ttenureConsensusHash,\n\t\t\t\tprevTenureConsensusHash,\n\t\t\t\tburnViewConsensusHash,\n\t\t\t\tpreviousTenureEnd,\n\t\t\t\tpreviousTenureBlocks,\n\t\t\t\tcause,\n\t\t\t\tpubkeyHash,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.NakamotoCoinbase: {\n\t\t\tconst coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n\t\t\tconst optionalCV = readCV(r);\n\t\t\tconst recipient =\n\t\t\t\toptionalCV.type === \"none\"\n\t\t\t\t\t? null\n\t\t\t\t\t: optionalCV.type === \"some\"\n\t\t\t\t\t\t? optionalCV.value\n\t\t\t\t\t\t: optionalCV;\n\t\t\tconst vrfProof = bytesToHex(r.readBytes(VRF_PROOF_BYTES_LENGTH));\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.NakamotoCoinbase,\n\t\t\t\tcoinbaseBuffer,\n\t\t\t\trecipient,\n\t\t\t\tvrfProof,\n\t\t\t};\n\t\t}\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown payload type: ${payloadType}`);\n\t}\n}\n\nexport function deserializePostConditionWire(\n\tinput: string | Uint8Array,\n): PostConditionWire {\n\tconst bytes =\n\t\ttypeof input === \"string\" ? hexToBytes(without0x(input)) : input;\n\treturn readPostCondition(new BytesReader(bytes));\n}\n\nexport function deserializeTransaction(\n\tinput: string | Uint8Array,\n\tmeta?: { _multisig?: { publicKeys: string[] } },\n): StacksTransaction {\n\tconst bytes =\n\t\ttypeof input === \"string\" ? hexToBytes(without0x(input)) : input;\n\tconst r = new BytesReader(bytes);\n\n\tconst tx: StacksTransaction = {\n\t\tversion: r.readUInt8(),\n\t\tchainId: r.readUInt32BE(),\n\t\tauth: readAuthorization(r),\n\t\tanchorMode: r.readUInt8() as AnchorMode,\n\t\tpostConditionMode: r.readUInt8() as PostConditionModeWire,\n\t\tpostConditions: readPostConditions(r),\n\t\tpayload: readPayload(r),\n\t};\n\tif (meta?._multisig) {\n\t\ttx._multisig = meta._multisig;\n\t}\n\treturn tx;\n}\n",
|
|
7
|
+
"import {\n\treadAddress,\n\treadCV,\n\treadLPString,\n} from \"../../clarity/deserialize.ts\";\nimport type { ClarityValue } from \"../../clarity/types.ts\";\nimport { BytesReader } from \"../../utils/bytes-reader.ts\";\nimport {\n\tbytesToAscii,\n\tbytesToHex,\n\thexToBytes,\n\twithout0x,\n} from \"../../utils/encoding.ts\";\nimport {\n\tAddressHashMode,\n\ttype AnchorMode,\n\ttype AssetInfoWire,\n\tAssetType,\n\tAuthType,\n\ttype Authorization,\n\tCOINBASE_BYTES_LENGTH,\n\ttype ClarityVersion,\n\tMEMO_MAX_LENGTH_BYTES,\n\tMICROBLOCK_HEADER_BYTES_LENGTH,\n\tPayloadType,\n\ttype PostConditionModeWire,\n\tPostConditionPrincipalId,\n\ttype PostConditionPrincipalWire,\n\ttype PostConditionWire,\n\ttype PoxConditionCode,\n\tRECOVERABLE_ECDSA_SIG_LENGTH_BYTES,\n\ttype SpendingCondition,\n\ttype StacksTransaction,\n\ttype TenureChangeCause,\n\ttype TransactionAuthField,\n\ttype TransactionPayload,\n\tVRF_PROOF_BYTES_LENGTH,\n} from \"../types.ts\";\n\nfunction readSpendingCondition(r: BytesReader): SpendingCondition {\n\tconst hashMode = r.readUInt8();\n\tconst signer = bytesToHex(r.readBytes(20));\n\tconst nonce = r.readBigUInt64BE();\n\tconst fee = r.readBigUInt64BE();\n\n\tif (\n\t\thashMode === AddressHashMode.P2PKH ||\n\t\thashMode === AddressHashMode.P2WPKH\n\t) {\n\t\tconst keyEncoding = r.readUInt8();\n\t\tconst signature = bytesToHex(\n\t\t\tr.readBytes(RECOVERABLE_ECDSA_SIG_LENGTH_BYTES),\n\t\t);\n\t\treturn {\n\t\t\thashMode,\n\t\t\tsigner,\n\t\t\tnonce,\n\t\t\tfee,\n\t\t\tkeyEncoding,\n\t\t\tsignature,\n\t\t} as SpendingCondition;\n\t}\n\n\tconst fieldCount = r.readUInt32BE();\n\tconst fields: TransactionAuthField[] = [];\n\tfor (let i = 0; i < fieldCount; i++) {\n\t\tconst fieldType = r.readUInt8();\n\t\tif (fieldType <= 0x01) {\n\t\t\tconst keyLen = fieldType === 0x00 ? 33 : 65;\n\t\t\tfields.push({\n\t\t\t\ttype: \"publicKey\",\n\t\t\t\tpubKeyEncoding: fieldType as 0x00 | 0x01,\n\t\t\t\tdata: bytesToHex(r.readBytes(keyLen)),\n\t\t\t});\n\t\t} else {\n\t\t\tfields.push({\n\t\t\t\ttype: \"signature\",\n\t\t\t\tpubKeyEncoding: (fieldType === 0x02 ? 0x00 : 0x01) as 0x00 | 0x01,\n\t\t\t\tdata: bytesToHex(r.readBytes(RECOVERABLE_ECDSA_SIG_LENGTH_BYTES)),\n\t\t\t});\n\t\t}\n\t}\n\tconst signaturesRequired = r.readUInt16BE();\n\n\treturn {\n\t\thashMode,\n\t\tsigner,\n\t\tnonce,\n\t\tfee,\n\t\tfields,\n\t\tsignaturesRequired,\n\t} as SpendingCondition;\n}\n\nfunction readAuthorization(r: BytesReader): Authorization {\n\tconst authType = r.readUInt8();\n\tconst spendingCondition = readSpendingCondition(r);\n\n\tif (authType === AuthType.Standard) {\n\t\treturn { authType: AuthType.Standard, spendingCondition };\n\t}\n\n\tconst sponsorSpendingCondition = readSpendingCondition(r);\n\treturn {\n\t\tauthType: AuthType.Sponsored,\n\t\tspendingCondition,\n\t\tsponsorSpendingCondition,\n\t};\n}\n\nfunction readAssetInfo(r: BytesReader): AssetInfoWire {\n\treturn {\n\t\taddress: readAddress(r),\n\t\tcontractName: readLPString(r),\n\t\tassetName: readLPString(r),\n\t};\n}\n\nfunction readPostConditionPrincipal(\n\tr: BytesReader,\n): PostConditionPrincipalWire {\n\tconst type = r.readUInt8();\n\tswitch (type) {\n\t\tcase PostConditionPrincipalId.Origin:\n\t\t\treturn { type: \"origin\" };\n\t\tcase PostConditionPrincipalId.Standard:\n\t\t\treturn { type: \"standard\", address: readAddress(r) };\n\t\tcase PostConditionPrincipalId.Contract:\n\t\t\treturn {\n\t\t\t\ttype: \"contract\",\n\t\t\t\taddress: readAddress(r),\n\t\t\t\tcontractName: readLPString(r),\n\t\t\t};\n\t\tdefault:\n\t\t\t// Some legacy transactions may have unexpected principal types.\n\t\t\t// Treat as origin to allow deserialization to continue.\n\t\t\treturn { type: \"origin\" };\n\t}\n}\n\nfunction readPostCondition(r: BytesReader): PostConditionWire {\n\t// Wire order: asset_type, then principal (per SIP-005 and stacks.js)\n\tconst assetType = r.readUInt8();\n\tconst principal = readPostConditionPrincipal(r);\n\tswitch (assetType) {\n\t\tcase AssetType.STX:\n\t\t\treturn {\n\t\t\t\ttype: \"stx\",\n\t\t\t\tprincipal,\n\t\t\t\tconditionCode: r.readUInt8(),\n\t\t\t\tamount: r.readBigUInt64BE(),\n\t\t\t};\n\t\tcase AssetType.Fungible:\n\t\t\treturn {\n\t\t\t\ttype: \"ft\",\n\t\t\t\tprincipal,\n\t\t\t\tasset: readAssetInfo(r),\n\t\t\t\tconditionCode: r.readUInt8(),\n\t\t\t\tamount: r.readBigUInt64BE(),\n\t\t\t};\n\t\tcase AssetType.NonFungible:\n\t\t\treturn {\n\t\t\t\ttype: \"nft\",\n\t\t\t\tprincipal,\n\t\t\t\tasset: readAssetInfo(r),\n\t\t\t\tassetId: readCV(r),\n\t\t\t\tconditionCode: r.readUInt8(),\n\t\t\t};\n\t\tcase AssetType.Staking:\n\t\t\treturn {\n\t\t\t\ttype: \"staking\",\n\t\t\t\tprincipal,\n\t\t\t\tconditionCode: r.readUInt8(),\n\t\t\t\tamount: r.readBigUInt64BE(),\n\t\t\t};\n\t\tcase AssetType.Pox:\n\t\t\treturn {\n\t\t\t\ttype: \"pox\",\n\t\t\t\tprincipal,\n\t\t\t\tconditionCode: r.readUInt8() as PoxConditionCode,\n\t\t\t};\n\t\tdefault:\n\t\t\tthrow new Error(\n\t\t\t\t`Unknown post-condition asset type: 0x${assetType.toString(16).padStart(2, \"0\")}`,\n\t\t\t);\n\t}\n}\n\nfunction readPostConditions(r: BytesReader): PostConditionWire[] {\n\tconst count = r.readUInt32BE();\n\tconst pcs: PostConditionWire[] = [];\n\tfor (let i = 0; i < count; i++) {\n\t\ttry {\n\t\t\tpcs.push(readPostCondition(r));\n\t\t} catch (e) {\n\t\t\tif (\n\t\t\t\te instanceof Error &&\n\t\t\t\te.message.startsWith(\"Unknown post-condition asset type:\")\n\t\t\t) {\n\t\t\t\tthrow new Error(`${e.message} (post-condition ${i + 1}/${count})`);\n\t\t\t}\n\t\t\tthrow e;\n\t\t}\n\t}\n\treturn pcs;\n}\n\nfunction readPayload(r: BytesReader): TransactionPayload {\n\tconst payloadType = r.readUInt8();\n\n\tswitch (payloadType) {\n\t\tcase PayloadType.TokenTransfer: {\n\t\t\tconst recipient = readCV(r);\n\t\t\tconst amount = r.readBigUInt64BE();\n\t\t\t// Memo is a flat 34-byte field (no length prefix) per SIP-005\n\t\t\tconst memoBytes = r.readBytes(MEMO_MAX_LENGTH_BYTES);\n\t\t\tconst memo = bytesToAscii(memoBytes).replace(/\\0+$/, \"\");\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.TokenTransfer,\n\t\t\t\trecipient,\n\t\t\t\tamount,\n\t\t\t\tmemo,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.ContractCall: {\n\t\t\tconst contractAddress = readAddress(r);\n\t\t\tconst contractName = readLPString(r);\n\t\t\tconst functionName = readLPString(r);\n\t\t\tconst numArgs = r.readUInt32BE();\n\t\t\tconst functionArgs: ClarityValue[] = [];\n\t\t\tfor (let i = 0; i < numArgs; i++) functionArgs.push(readCV(r));\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.ContractCall,\n\t\t\t\tcontractAddress,\n\t\t\t\tcontractName,\n\t\t\t\tfunctionName,\n\t\t\t\tfunctionArgs,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.SmartContract: {\n\t\t\tconst contractName = readLPString(r);\n\t\t\tconst codeBody = readLPString(r, 4);\n\t\t\treturn { payloadType: PayloadType.SmartContract, contractName, codeBody };\n\t\t}\n\t\tcase PayloadType.VersionedSmartContract: {\n\t\t\tconst clarityVersion = r.readUInt8() as ClarityVersion;\n\t\t\tconst contractName = readLPString(r);\n\t\t\tconst codeBody = readLPString(r, 4);\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.VersionedSmartContract,\n\t\t\t\tclarityVersion,\n\t\t\t\tcontractName,\n\t\t\t\tcodeBody,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.Coinbase: {\n\t\t\tconst coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n\t\t\treturn { payloadType: PayloadType.Coinbase, coinbaseBuffer };\n\t\t}\n\t\tcase PayloadType.CoinbaseToAltRecipient: {\n\t\t\tconst coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n\t\t\tconst recipient = readCV(r);\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.CoinbaseToAltRecipient,\n\t\t\t\tcoinbaseBuffer,\n\t\t\t\trecipient,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.PoisonMicroblock: {\n\t\t\tconst header1 = bytesToHex(r.readBytes(MICROBLOCK_HEADER_BYTES_LENGTH));\n\t\t\tconst header2 = bytesToHex(r.readBytes(MICROBLOCK_HEADER_BYTES_LENGTH));\n\t\t\treturn { payloadType: PayloadType.PoisonMicroblock, header1, header2 };\n\t\t}\n\t\tcase PayloadType.TenureChange: {\n\t\t\tconst tenureConsensusHash = bytesToHex(r.readBytes(20));\n\t\t\tconst prevTenureConsensusHash = bytesToHex(r.readBytes(20));\n\t\t\tconst burnViewConsensusHash = bytesToHex(r.readBytes(20));\n\t\t\tconst previousTenureEnd = bytesToHex(r.readBytes(32));\n\t\t\tconst previousTenureBlocks = r.readUInt32BE();\n\t\t\tconst cause = r.readUInt8() as TenureChangeCause;\n\t\t\tconst pubkeyHash = bytesToHex(r.readBytes(20));\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.TenureChange,\n\t\t\t\ttenureConsensusHash,\n\t\t\t\tprevTenureConsensusHash,\n\t\t\t\tburnViewConsensusHash,\n\t\t\t\tpreviousTenureEnd,\n\t\t\t\tpreviousTenureBlocks,\n\t\t\t\tcause,\n\t\t\t\tpubkeyHash,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.NakamotoCoinbase: {\n\t\t\tconst coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n\t\t\tconst optionalCV = readCV(r);\n\t\t\tconst recipient =\n\t\t\t\toptionalCV.type === \"none\"\n\t\t\t\t\t? null\n\t\t\t\t\t: optionalCV.type === \"some\"\n\t\t\t\t\t\t? optionalCV.value\n\t\t\t\t\t\t: optionalCV;\n\t\t\tconst vrfProof = bytesToHex(r.readBytes(VRF_PROOF_BYTES_LENGTH));\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.NakamotoCoinbase,\n\t\t\t\tcoinbaseBuffer,\n\t\t\t\trecipient,\n\t\t\t\tvrfProof,\n\t\t\t};\n\t\t}\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown payload type: ${payloadType}`);\n\t}\n}\n\nexport function deserializePostConditionWire(\n\tinput: string | Uint8Array,\n): PostConditionWire {\n\tconst bytes =\n\t\ttypeof input === \"string\" ? hexToBytes(without0x(input)) : input;\n\treturn readPostCondition(new BytesReader(bytes));\n}\n\nexport function deserializeTransaction(\n\tinput: string | Uint8Array,\n\tmeta?: { _multisig?: { publicKeys: string[] } },\n): StacksTransaction {\n\tconst bytes =\n\t\ttypeof input === \"string\" ? hexToBytes(without0x(input)) : input;\n\treturn readTransaction(new BytesReader(bytes), meta);\n}\n\n/**\n * Split `count` back-to-back consensus-serialized transactions (a block body\n * after its u32 count) into each one's exact bytes, which hash to its txid.\n * Transactions carry no length prefix, so each is parsed to find its end.\n * Throws on a truncated or malformed transaction; bytes past the last one are\n * left for the caller to judge.\n */\nexport function splitTransactions(\n\tbytes: Uint8Array,\n\tcount: number,\n): Uint8Array[] {\n\tconst r = new BytesReader(bytes);\n\tconst out: Uint8Array[] = [];\n\tfor (let i = 0; i < count; i++) {\n\t\tconst start = r.offset;\n\t\treadTransaction(r);\n\t\tout.push(bytes.subarray(start, r.offset));\n\t}\n\treturn out;\n}\n\nfunction readTransaction(\n\tr: BytesReader,\n\tmeta?: { _multisig?: { publicKeys: string[] } },\n): StacksTransaction {\n\tconst tx: StacksTransaction = {\n\t\tversion: r.readUInt8(),\n\t\tchainId: r.readUInt32BE(),\n\t\tauth: readAuthorization(r),\n\t\tanchorMode: r.readUInt8() as AnchorMode,\n\t\tpostConditionMode: r.readUInt8() as PostConditionModeWire,\n\t\tpostConditions: readPostConditions(r),\n\t\tpayload: readPayload(r),\n\t};\n\tif (meta?._multisig) {\n\t\ttx._multisig = meta._multisig;\n\t}\n\treturn tx;\n}\n",
|
|
8
8
|
"import {\n\tFungibleConditionCode,\n\tNonFungibleConditionCode,\n\ttype PostConditionPrincipalWire,\n\ttype PostConditionWire,\n\tPoxConditionCode,\n} from \"../transactions/types.ts\";\nimport { deserializePostConditionWire } from \"../transactions/wire/deserialize.ts\";\nimport { serializePostConditionWire } from \"../transactions/wire/serialize.ts\";\nimport { parseContractId } from \"../utils/address.ts\";\nimport {\n\ttype IntegerType,\n\tbytesToHex,\n\tintToBigInt,\n} from \"../utils/encoding.ts\";\nimport type {\n\tFungibleComparator,\n\tNonFungibleComparator,\n\tPostCondition,\n\tPoxComparator,\n} from \"./types.ts\";\n\nconst MAX_U64 = 18446744073709551615n; // 2^64 - 1\n\n/** Parse a PC amount; throw if outside the u64 the wire can carry. */\nexport function parsePostConditionAmount(amount: IntegerType): bigint {\n\tconst value = intToBigInt(amount);\n\tif (value < 0n || value > MAX_U64) {\n\t\tthrow new RangeError(\n\t\t\t`Post-condition amount must be between 0 and ${MAX_U64} (u64 max), received: ${value}`,\n\t\t);\n\t}\n\treturn value;\n}\n\nexport const FUNGIBLE_CODE_MAP: Record<FungibleComparator, number> = {\n\teq: FungibleConditionCode.Equal,\n\tgt: FungibleConditionCode.Greater,\n\tgte: FungibleConditionCode.GreaterEqual,\n\tlt: FungibleConditionCode.Less,\n\tlte: FungibleConditionCode.LessEqual,\n};\n\nconst FUNGIBLE_CODE_REVERSE: Record<number, FungibleComparator> = {\n\t[FungibleConditionCode.Equal]: \"eq\",\n\t[FungibleConditionCode.Greater]: \"gt\",\n\t[FungibleConditionCode.GreaterEqual]: \"gte\",\n\t[FungibleConditionCode.Less]: \"lt\",\n\t[FungibleConditionCode.LessEqual]: \"lte\",\n};\n\nexport const NFT_CODE_MAP: Record<NonFungibleComparator, number> = {\n\tsent: NonFungibleConditionCode.Sends,\n\t\"not-sent\": NonFungibleConditionCode.DoesNotSend,\n\t\"maybe-sent\": NonFungibleConditionCode.MaybeSent,\n};\n\nconst NFT_CODE_REVERSE: Record<number, NonFungibleComparator> = {\n\t[NonFungibleConditionCode.Sends]: \"sent\",\n\t[NonFungibleConditionCode.DoesNotSend]: \"not-sent\",\n\t[NonFungibleConditionCode.MaybeSent]: \"maybe-sent\",\n};\n\nexport const POX_CODE_MAP: Record<PoxComparator, PoxConditionCode> = {\n\t\"will-not-perform\": PoxConditionCode.WillNotPerform,\n\t\"may-perform\": PoxConditionCode.MayPerform,\n\t\"will-perform\": PoxConditionCode.WillPerform,\n};\n\nconst POX_CODE_REVERSE: Record<number, PoxComparator> = {\n\t[PoxConditionCode.WillNotPerform]: \"will-not-perform\",\n\t[PoxConditionCode.MayPerform]: \"may-perform\",\n\t[PoxConditionCode.WillPerform]: \"will-perform\",\n};\n\nexport function resolvePrincipal(address: string): PostConditionPrincipalWire {\n\tif (address === \"origin\") return { type: \"origin\" };\n\tconst [addr, name] = address.split(\".\");\n\tif (name) {\n\t\t// biome-ignore lint/style/noNonNullAssertion: split yields address when name is present\n\t\treturn { type: \"contract\", address: addr!, contractName: name };\n\t}\n\t// biome-ignore lint/style/noNonNullAssertion: address is the whole string\n\treturn { type: \"standard\", address: addr! };\n}\n\nfunction principalToString(principal: PostConditionPrincipalWire): string {\n\tif (principal.type === \"origin\") return \"origin\";\n\tif (principal.type === \"contract\") {\n\t\treturn `${principal.address}.${principal.contractName}`;\n\t}\n\treturn principal.address;\n}\n\nfunction assetToString(asset: {\n\taddress: string;\n\tcontractName: string;\n\tassetName: string;\n}): string {\n\treturn `${asset.address}.${asset.contractName}::${asset.assetName}`;\n}\n\nfunction parseAsset(asset: string): {\n\taddress: string;\n\tcontractName: string;\n\tassetName: string;\n} {\n\tconst [contractId, tokenName] = asset.split(\"::\");\n\t// biome-ignore lint/style/noNonNullAssertion: callers validate `::` form\n\tconst [addr, name] = parseContractId(contractId!);\n\t// biome-ignore lint/style/noNonNullAssertion: split of `addr.contract::token`\n\treturn { address: addr, contractName: name, assetName: tokenName! };\n}\n\nexport function convertPostCondition(pc: PostCondition): PostConditionWire {\n\tswitch (pc.type) {\n\t\tcase \"stx-postcondition\":\n\t\t\treturn {\n\t\t\t\ttype: \"stx\",\n\t\t\t\tprincipal: resolvePrincipal(pc.address),\n\t\t\t\tconditionCode: FUNGIBLE_CODE_MAP[pc.condition],\n\t\t\t\tamount: parsePostConditionAmount(pc.amount),\n\t\t\t};\n\t\tcase \"ft-postcondition\":\n\t\t\treturn {\n\t\t\t\ttype: \"ft\",\n\t\t\t\tprincipal: resolvePrincipal(pc.address),\n\t\t\t\tasset: parseAsset(pc.asset),\n\t\t\t\tconditionCode: FUNGIBLE_CODE_MAP[pc.condition],\n\t\t\t\tamount: parsePostConditionAmount(pc.amount),\n\t\t\t};\n\t\tcase \"nft-postcondition\":\n\t\t\treturn {\n\t\t\t\ttype: \"nft\",\n\t\t\t\tprincipal: resolvePrincipal(pc.address),\n\t\t\t\tasset: parseAsset(pc.asset),\n\t\t\t\tconditionCode: NFT_CODE_MAP[pc.condition],\n\t\t\t\tassetId: pc.assetId,\n\t\t\t};\n\t\tcase \"staking-postcondition\":\n\t\t\treturn {\n\t\t\t\ttype: \"staking\",\n\t\t\t\tprincipal: resolvePrincipal(pc.address),\n\t\t\t\tconditionCode: FUNGIBLE_CODE_MAP[pc.condition],\n\t\t\t\tamount: parsePostConditionAmount(pc.amount),\n\t\t\t};\n\t\tcase \"pox-postcondition\":\n\t\t\treturn {\n\t\t\t\ttype: \"pox\",\n\t\t\t\tprincipal: resolvePrincipal(pc.address),\n\t\t\t\tconditionCode: POX_CODE_MAP[pc.condition],\n\t\t\t};\n\t}\n}\n\nexport function wireToPostCondition(wire: PostConditionWire): PostCondition {\n\tswitch (wire.type) {\n\t\tcase \"stx\":\n\t\t\treturn {\n\t\t\t\ttype: \"stx-postcondition\",\n\t\t\t\taddress: principalToString(wire.principal),\n\t\t\t\tcondition: fungibleName(wire.conditionCode),\n\t\t\t\tamount: wire.amount.toString(),\n\t\t\t};\n\t\tcase \"ft\":\n\t\t\treturn {\n\t\t\t\ttype: \"ft-postcondition\",\n\t\t\t\taddress: principalToString(wire.principal),\n\t\t\t\tcondition: fungibleName(wire.conditionCode),\n\t\t\t\tamount: wire.amount.toString(),\n\t\t\t\tasset: assetToString(wire.asset),\n\t\t\t};\n\t\tcase \"nft\":\n\t\t\treturn {\n\t\t\t\ttype: \"nft-postcondition\",\n\t\t\t\taddress: principalToString(wire.principal),\n\t\t\t\tcondition: nftName(wire.conditionCode),\n\t\t\t\tasset: assetToString(wire.asset),\n\t\t\t\tassetId: wire.assetId,\n\t\t\t};\n\t\tcase \"staking\":\n\t\t\treturn {\n\t\t\t\ttype: \"staking-postcondition\",\n\t\t\t\taddress: principalToString(wire.principal),\n\t\t\t\tcondition: fungibleName(wire.conditionCode),\n\t\t\t\tamount: wire.amount.toString(),\n\t\t\t};\n\t\tcase \"pox\":\n\t\t\treturn {\n\t\t\t\ttype: \"pox-postcondition\",\n\t\t\t\taddress: principalToString(wire.principal),\n\t\t\t\tcondition: poxName(wire.conditionCode),\n\t\t\t};\n\t}\n}\n\nfunction fungibleName(code: number): FungibleComparator {\n\tconst name = FUNGIBLE_CODE_REVERSE[code];\n\tif (!name) throw new Error(`Unknown fungible post-condition code: ${code}`);\n\treturn name;\n}\n\nfunction nftName(code: number): NonFungibleComparator {\n\tconst name = NFT_CODE_REVERSE[code];\n\tif (!name) throw new Error(`Unknown nft post-condition code: ${code}`);\n\treturn name;\n}\n\nfunction poxName(code: number): PoxComparator {\n\tconst name = POX_CODE_REVERSE[code];\n\tif (!name) throw new Error(`Unknown pox post-condition code: ${code}`);\n\treturn name;\n}\n\n/** Decode a serialized post-condition (stacks.js `Pc.fromHex`). */\nexport function fromHex(hex: string): PostCondition {\n\treturn wireToPostCondition(deserializePostConditionWire(hex));\n}\n\n/** Encode a post-condition to hex (stacks.js `postConditionToHex`). */\nexport function postConditionToHex(pc: PostCondition): string {\n\treturn bytesToHex(serializePostConditionWire(convertPostCondition(pc)));\n}\n"
|
|
9
9
|
],
|
|
10
|
-
"mappings": "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",
|
|
11
|
-
"debugId": "
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "C83043AAB51B9B7764756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
serializeTransaction2,
|
|
26
26
|
convertPostCondition,
|
|
27
27
|
fromHex2
|
|
28
|
-
} from "./stacks-esm-
|
|
28
|
+
} from "./stacks-esm-p3zypwsw.js";
|
|
29
29
|
|
|
30
30
|
// src/transactions/authorization.ts
|
|
31
31
|
import { hmac } from "@noble/hashes/hmac.js";
|
|
@@ -600,4 +600,4 @@ async function signSponsorWithAccount2(tx, account) {
|
|
|
600
600
|
export { createSingleSigSpendingCondition2, createStandardAuth2, createSponsoredAuth2, sigHashPreSign2, sigHashPostSign2, nextSignature2, isNonSequential2, makeMultiSigAddress2, createMultiSigSpendingCondition2, replayMultiSigSigHash2, signMultiSig2, signMultiSigWithAccount2, finalizeMultiSig2, combineMultiSigSignatures2, buildTokenTransfer2, buildContractCall2, buildContractDeploy2, signBegin2, signTransaction2, signTransactionWithAccount2, getTransactionId2, getOriginSigHash2, signSponsor2, signSponsorWithAccount2 };
|
|
601
601
|
|
|
602
602
|
//# debugId=603A3254758ACC9C64756E2164756E21
|
|
603
|
-
//# sourceMappingURL=stacks-esm-
|
|
603
|
+
//# sourceMappingURL=stacks-esm-pq0e379d.js.map
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
serializePayload,
|
|
16
16
|
clearTxCache,
|
|
17
17
|
serializeTransaction2
|
|
18
|
-
} from "./stacks-esm-
|
|
18
|
+
} from "./stacks-esm-p3zypwsw.js";
|
|
19
19
|
import {
|
|
20
20
|
parseContractId2
|
|
21
21
|
} from "./stacks-esm-kbz5s6v8.js";
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
buildContractCall2,
|
|
24
24
|
signTransactionWithAccount2,
|
|
25
25
|
getTransactionId2
|
|
26
|
-
} from "./stacks-esm-
|
|
26
|
+
} from "./stacks-esm-pq0e379d.js";
|
|
27
27
|
import {
|
|
28
28
|
MalformedResponseError2
|
|
29
29
|
} from "./stacks-esm-0pc6tmf0.js";
|
|
@@ -796,4 +796,4 @@ async function callContract2(client, params) {
|
|
|
796
796
|
export { estimateFee2, getBlockHeight2, HttpRequestError2, getMapEntry2, getNonce2, TimeoutError2, createTransport, buildRequestFn, IndexSourceConfigError2, indexRequestFn, indexNotFound, extendedApiSource2, indexTxSource2, getTransaction2, waitForTransactionReceipt2, sendTransaction2, jsonRpcSource2, memoryStore2, createNonceManager2, resolveNonce2, releaseNonce, reconcileNonce2, startNonceReconciler2, isNonceConflictError2, broadcastWithNonceReset2, isProviderAccount2, isFeeTier2, minimumFee2, isNoEstimateAvailable2, resolveFee2, setUnsignedFee, assertNoFeeTierForProvider, callContract2 };
|
|
797
797
|
|
|
798
798
|
//# debugId=863F4AC28F71513464756E2164756E21
|
|
799
|
-
//# sourceMappingURL=stacks-esm-
|
|
799
|
+
//# sourceMappingURL=stacks-esm-xcd4sv1h.js.map
|
|
@@ -2693,7 +2693,19 @@ function deserializePostConditionWire(input) {
|
|
|
2693
2693
|
}
|
|
2694
2694
|
function deserializeTransaction(input, meta) {
|
|
2695
2695
|
const bytes = typeof input === "string" ? hexToBytes(without0x(input)) : input;
|
|
2696
|
+
return readTransaction(new BytesReader(bytes), meta);
|
|
2697
|
+
}
|
|
2698
|
+
function splitTransactions(bytes, count) {
|
|
2696
2699
|
const r = new BytesReader(bytes);
|
|
2700
|
+
const out = [];
|
|
2701
|
+
for (let i = 0;i < count; i++) {
|
|
2702
|
+
const start = r.offset;
|
|
2703
|
+
readTransaction(r);
|
|
2704
|
+
out.push(bytes.subarray(start, r.offset));
|
|
2705
|
+
}
|
|
2706
|
+
return out;
|
|
2707
|
+
}
|
|
2708
|
+
function readTransaction(r, meta) {
|
|
2697
2709
|
const tx = {
|
|
2698
2710
|
version: r.readUInt8(),
|
|
2699
2711
|
chainId: r.readUInt32BE(),
|
|
@@ -3864,5 +3876,5 @@ class ContractResponseError extends Error {
|
|
|
3864
3876
|
}
|
|
3865
3877
|
}
|
|
3866
3878
|
|
|
3867
|
-
//# debugId=
|
|
3879
|
+
//# debugId=84860DE9BEE0161F64756E2164756E21
|
|
3868
3880
|
//# sourceMappingURL=index.cjs.map
|