@1sat/actions 0.0.197 → 0.0.198

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 (140) hide show
  1. package/dist/apply/applyIntent.d.ts +7 -15
  2. package/dist/apply/applyIntent.d.ts.map +1 -1
  3. package/dist/apply/applyIntent.js +75 -25
  4. package/dist/apply/applyIntent.js.map +1 -1
  5. package/dist/apply/index.d.ts +1 -1
  6. package/dist/apply/index.d.ts.map +1 -1
  7. package/dist/apply/index.js +1 -1
  8. package/dist/apply/index.js.map +1 -1
  9. package/dist/apply/inscribeSigma.d.ts +1 -1
  10. package/dist/apply/inscribeSigma.d.ts.map +1 -1
  11. package/dist/apply/inscribeSigma.js +20 -13
  12. package/dist/apply/inscribeSigma.js.map +1 -1
  13. package/dist/apply/prepare.d.ts +18 -7
  14. package/dist/apply/prepare.d.ts.map +1 -1
  15. package/dist/apply/prepare.js +10 -20
  16. package/dist/apply/prepare.js.map +1 -1
  17. package/dist/apply/registry.d.ts +3 -2
  18. package/dist/apply/registry.d.ts.map +1 -1
  19. package/dist/apply/registry.js +5 -26
  20. package/dist/apply/registry.js.map +1 -1
  21. package/dist/collections/index.d.ts.map +1 -1
  22. package/dist/collections/index.js +77 -51
  23. package/dist/collections/index.js.map +1 -1
  24. package/dist/constants.d.ts +1 -1
  25. package/dist/constants.d.ts.map +1 -1
  26. package/dist/constants.js +1 -1
  27. package/dist/constants.js.map +1 -1
  28. package/dist/cosign/finalize.js +1 -2
  29. package/dist/cosign/finalize.js.map +1 -1
  30. package/dist/index.d.ts +11 -2
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +10 -2
  33. package/dist/index.js.map +1 -1
  34. package/dist/inscriptions/index.d.ts.map +1 -1
  35. package/dist/inscriptions/index.js +34 -39
  36. package/dist/inscriptions/index.js.map +1 -1
  37. package/dist/locks/index.d.ts +1 -1
  38. package/dist/locks/index.d.ts.map +1 -1
  39. package/dist/locks/index.js +28 -13
  40. package/dist/locks/index.js.map +1 -1
  41. package/dist/opns/index.d.ts.map +1 -1
  42. package/dist/opns/index.js +60 -50
  43. package/dist/opns/index.js.map +1 -1
  44. package/dist/ordinals/index.d.ts +1 -2
  45. package/dist/ordinals/index.d.ts.map +1 -1
  46. package/dist/ordinals/index.js +84 -93
  47. package/dist/ordinals/index.js.map +1 -1
  48. package/dist/pipeline/index.d.ts +4 -0
  49. package/dist/pipeline/index.d.ts.map +1 -0
  50. package/dist/pipeline/index.js +4 -0
  51. package/dist/pipeline/index.js.map +1 -0
  52. package/dist/pipeline/runPipeline.d.ts +30 -0
  53. package/dist/pipeline/runPipeline.d.ts.map +1 -0
  54. package/dist/pipeline/runPipeline.js +85 -0
  55. package/dist/pipeline/runPipeline.js.map +1 -0
  56. package/dist/pipeline/spendTargets.d.ts +52 -0
  57. package/dist/pipeline/spendTargets.d.ts.map +1 -0
  58. package/dist/pipeline/spendTargets.js +87 -0
  59. package/dist/pipeline/spendTargets.js.map +1 -0
  60. package/dist/pipeline/unlockInput.d.ts +49 -0
  61. package/dist/pipeline/unlockInput.d.ts.map +1 -0
  62. package/dist/pipeline/unlockInput.js +316 -0
  63. package/dist/pipeline/unlockInput.js.map +1 -0
  64. package/dist/signing/index.d.ts +1 -1
  65. package/dist/signing/index.d.ts.map +1 -1
  66. package/dist/signing/index.js +1 -1
  67. package/dist/signing/index.js.map +1 -1
  68. package/dist/signing/sigma.d.ts +13 -17
  69. package/dist/signing/sigma.d.ts.map +1 -1
  70. package/dist/signing/sigma.js +37 -40
  71. package/dist/signing/sigma.js.map +1 -1
  72. package/dist/sweep/index.d.ts.map +1 -1
  73. package/dist/sweep/index.js +20 -17
  74. package/dist/sweep/index.js.map +1 -1
  75. package/dist/sync/syncCosignDeliveries.d.ts.map +1 -1
  76. package/dist/sync/syncCosignDeliveries.js +30 -20
  77. package/dist/sync/syncCosignDeliveries.js.map +1 -1
  78. package/dist/tokens/index.d.ts +8 -0
  79. package/dist/tokens/index.d.ts.map +1 -1
  80. package/dist/tokens/index.js +246 -174
  81. package/dist/tokens/index.js.map +1 -1
  82. package/dist/types.d.ts +16 -5
  83. package/dist/types.d.ts.map +1 -1
  84. package/dist/types.js.map +1 -1
  85. package/dist/utils/bsv21Remittance.d.ts +63 -0
  86. package/dist/utils/bsv21Remittance.d.ts.map +1 -0
  87. package/dist/utils/bsv21Remittance.js +146 -0
  88. package/dist/utils/bsv21Remittance.js.map +1 -0
  89. package/dist/utils/bsv21Remittance.test.d.ts +2 -0
  90. package/dist/utils/bsv21Remittance.test.d.ts.map +1 -0
  91. package/dist/utils/bsv21Remittance.test.js +115 -0
  92. package/dist/utils/bsv21Remittance.test.js.map +1 -0
  93. package/dist/utils/createTrackedAction.d.ts +42 -38
  94. package/dist/utils/createTrackedAction.d.ts.map +1 -1
  95. package/dist/utils/createTrackedAction.js +154 -77
  96. package/dist/utils/createTrackedAction.js.map +1 -1
  97. package/dist/utils/hasOneSatModule.d.ts +14 -0
  98. package/dist/utils/hasOneSatModule.d.ts.map +1 -0
  99. package/dist/utils/hasOneSatModule.js +31 -0
  100. package/dist/utils/hasOneSatModule.js.map +1 -0
  101. package/dist/utils/internalizeBeef.d.ts.map +1 -1
  102. package/dist/utils/internalizeBeef.js +37 -12
  103. package/dist/utils/internalizeBeef.js.map +1 -1
  104. package/dist/utils/loadBasketOutput.d.ts +1 -1
  105. package/dist/utils/loadBasketOutput.d.ts.map +1 -1
  106. package/dist/utils/loadBasketOutput.js +11 -3
  107. package/dist/utils/loadBasketOutput.js.map +1 -1
  108. package/dist/utils/moveBasket.d.ts +37 -0
  109. package/dist/utils/moveBasket.d.ts.map +1 -0
  110. package/dist/utils/moveBasket.js +115 -0
  111. package/dist/utils/moveBasket.js.map +1 -0
  112. package/dist/utils/ordinalRemittance.d.ts +33 -0
  113. package/dist/utils/ordinalRemittance.d.ts.map +1 -0
  114. package/dist/utils/ordinalRemittance.js +70 -0
  115. package/dist/utils/ordinalRemittance.js.map +1 -0
  116. package/dist/utils/ordinalSeedTags.d.ts +5 -3
  117. package/dist/utils/ordinalSeedTags.d.ts.map +1 -1
  118. package/dist/utils/ordinalSeedTags.js +34 -7
  119. package/dist/utils/ordinalSeedTags.js.map +1 -1
  120. package/dist/utils/resolveDestination.d.ts +3 -6
  121. package/dist/utils/resolveDestination.d.ts.map +1 -1
  122. package/dist/utils/resolveDestination.js +5 -1
  123. package/dist/utils/resolveDestination.js.map +1 -1
  124. package/dist/utils/signOrdinalInput.d.ts +3 -2
  125. package/dist/utils/signOrdinalInput.d.ts.map +1 -1
  126. package/dist/utils/signOrdinalInput.js +18 -13
  127. package/dist/utils/signOrdinalInput.js.map +1 -1
  128. package/dist/utils/stampBsv21OutputCi.d.ts +16 -0
  129. package/dist/utils/stampBsv21OutputCi.d.ts.map +1 -0
  130. package/dist/utils/stampBsv21OutputCi.js +90 -0
  131. package/dist/utils/stampBsv21OutputCi.js.map +1 -0
  132. package/dist/utils/stampOrdinalOutputCi.d.ts +15 -0
  133. package/dist/utils/stampOrdinalOutputCi.d.ts.map +1 -0
  134. package/dist/utils/stampOrdinalOutputCi.js +103 -0
  135. package/dist/utils/stampOrdinalOutputCi.js.map +1 -0
  136. package/dist/utils/walletMetadataCi.d.ts +23 -0
  137. package/dist/utils/walletMetadataCi.d.ts.map +1 -0
  138. package/dist/utils/walletMetadataCi.js +70 -0
  139. package/dist/utils/walletMetadataCi.js.map +1 -0
  140. package/package.json +7 -7
@@ -0,0 +1,52 @@
1
+ import { type PermissionSchemeId } from '@1sat/types';
2
+ /**
3
+ * One input the pipeline must unlock.
4
+ *
5
+ * - Wallet inventory: set `basket` + `id` (and outpoint+CI if already loaded).
6
+ * - Buy / external: set `outpoint` + `scheme` (or basket to derive scheme).
7
+ * - Sigma (etc.): set `outpoint` + `customInstructions` after create.
8
+ *
9
+ * Finish only needs outpoint + optional CI. Basket+id is for load + module labels.
10
+ */
11
+ export interface Spend {
12
+ outpoint?: string;
13
+ customInstructions?: string;
14
+ basket?: string;
15
+ id?: string;
16
+ /** Permission scheme for external outpoint labels. */
17
+ scheme?: PermissionSchemeId;
18
+ }
19
+ /** Finish input: outpoint + optional CI (after materialize). */
20
+ export interface ResolvedSpend {
21
+ outpoint: string;
22
+ customInstructions?: string;
23
+ }
24
+ /** Module label for a spend (pointers only — never CI). */
25
+ export declare function spendToLabel(s: Spend): string | undefined;
26
+ export declare function labelsFromSpends(spends: Spend[]): string[];
27
+ /**
28
+ * Parse `p <scheme> input …` labels into spends (module wire).
29
+ * - `p <scheme> input id <key>` — wallet-held row
30
+ * - `p <scheme> input <outpoint>` — external / buy
31
+ */
32
+ export declare function spendsFromLabels(labels: string[] | undefined): Spend[];
33
+ /** Merge by outpoint; prefer entry that has CI. */
34
+ export declare function mergeResolvedSpends(...lists: ResolvedSpend[][]): ResolvedSpend[];
35
+ /** Stash key on CreateActionArgs for records created during embellish (Sigma). */
36
+ export declare const PENDING_RESOLVED_SPENDS_KEY: "__pendingResolvedSpends";
37
+ export type ArgsWithPendingSpends = {
38
+ [PENDING_RESOLVED_SPENDS_KEY]?: ResolvedSpend[];
39
+ };
40
+ /** @deprecated use Spend */
41
+ export type SpendTarget = Spend;
42
+ /** @deprecated use Spend */
43
+ export type BasketSpendTarget = Spend;
44
+ /** @deprecated use Spend */
45
+ export type OutpointSpendTarget = Spend;
46
+ /** @deprecated use labelsFromSpends */
47
+ export declare const labelsFromSpendTargets: typeof labelsFromSpends;
48
+ /** @deprecated use spendToLabel */
49
+ export declare const spendTargetToLabel: (t: Spend) => string;
50
+ /** @deprecated use spendsFromLabels */
51
+ export declare const spendTargetsFromLabels: typeof spendsFromLabels;
52
+ //# sourceMappingURL=spendTargets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spendTargets.d.ts","sourceRoot":"","sources":["../../src/pipeline/spendTargets.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,kBAAkB,EAKvB,MAAM,aAAa,CAAA;AAEpB;;;;;;;;GAQG;AACH,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,sDAAsD;IACtD,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAC3B;AAED,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAUzD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAU1D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,KAAK,EAAE,CA0BtE;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAClC,GAAG,KAAK,EAAE,aAAa,EAAE,EAAE,GACzB,aAAa,EAAE,CAYjB;AAOD,kFAAkF;AAClF,eAAO,MAAM,2BAA2B,EAAG,yBAAkC,CAAA;AAE7E,MAAM,MAAM,qBAAqB,GAAG;IACnC,CAAC,2BAA2B,CAAC,CAAC,EAAE,aAAa,EAAE,CAAA;CAC/C,CAAA;AAGD,4BAA4B;AAC5B,MAAM,MAAM,WAAW,GAAG,KAAK,CAAA;AAC/B,4BAA4B;AAC5B,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAA;AACrC,4BAA4B;AAC5B,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAA;AACvC,uCAAuC;AACvC,eAAO,MAAM,sBAAsB,yBAAmB,CAAA;AACtD,mCAAmC;AACnC,eAAO,MAAM,kBAAkB,GAAI,GAAG,KAAK,WAA0B,CAAA;AACrE,uCAAuC;AACvC,eAAO,MAAM,sBAAsB,yBAAmB,CAAA"}
@@ -0,0 +1,87 @@
1
+ import { buildExternalInputLabel, buildInputAssetLabel, parseOneInputLabel, schemeForBasket, } from '@1sat/types';
2
+ /** Module label for a spend (pointers only — never CI). */
3
+ export function spendToLabel(s) {
4
+ if (s.basket && s.id)
5
+ return buildInputAssetLabel(s.basket, s.id);
6
+ if (s.outpoint) {
7
+ const scheme = s.scheme ??
8
+ (s.basket ? schemeForBasket(s.basket) : undefined) ??
9
+ '1sat';
10
+ return buildExternalInputLabel(scheme, s.outpoint);
11
+ }
12
+ return undefined;
13
+ }
14
+ export function labelsFromSpends(spends) {
15
+ const out = [];
16
+ const seen = new Set();
17
+ for (const s of spends) {
18
+ const label = spendToLabel(s);
19
+ if (!label || seen.has(label))
20
+ continue;
21
+ seen.add(label);
22
+ out.push(label);
23
+ }
24
+ return out;
25
+ }
26
+ /**
27
+ * Parse `p <scheme> input …` labels into spends (module wire).
28
+ * - `p <scheme> input id <key>` — wallet-held row
29
+ * - `p <scheme> input <outpoint>` — external / buy
30
+ */
31
+ export function spendsFromLabels(labels) {
32
+ if (!labels?.length)
33
+ return [];
34
+ const out = [];
35
+ const seen = new Set();
36
+ for (const label of labels) {
37
+ const parsed = parseOneInputLabel(label);
38
+ if (!parsed)
39
+ continue;
40
+ if (parsed.kind === 'outpoint') {
41
+ const key = `op:${parsed.outpoint}`;
42
+ if (seen.has(key))
43
+ continue;
44
+ seen.add(key);
45
+ out.push({ outpoint: parsed.outpoint, scheme: parsed.scheme });
46
+ continue;
47
+ }
48
+ const key = `b:${parsed.basket}:${parsed.id}`;
49
+ if (seen.has(key))
50
+ continue;
51
+ seen.add(key);
52
+ out.push({
53
+ basket: parsed.basket,
54
+ id: parsed.id,
55
+ scheme: parsed.scheme,
56
+ });
57
+ }
58
+ return out;
59
+ }
60
+ /** Merge by outpoint; prefer entry that has CI. */
61
+ export function mergeResolvedSpends(...lists) {
62
+ const map = new Map();
63
+ for (const list of lists) {
64
+ for (const r of list) {
65
+ const op = normalizeOutpointDot(r.outpoint);
66
+ const prev = map.get(op);
67
+ if (!prev || (!prev.customInstructions && r.customInstructions)) {
68
+ map.set(op, { ...r, outpoint: op });
69
+ }
70
+ }
71
+ }
72
+ return [...map.values()];
73
+ }
74
+ function normalizeOutpointDot(s) {
75
+ if (s.length >= 66 && s[64] === '_')
76
+ return `${s.slice(0, 64)}.${s.slice(65)}`;
77
+ return s;
78
+ }
79
+ /** Stash key on CreateActionArgs for records created during embellish (Sigma). */
80
+ export const PENDING_RESOLVED_SPENDS_KEY = '__pendingResolvedSpends';
81
+ /** @deprecated use labelsFromSpends */
82
+ export const labelsFromSpendTargets = labelsFromSpends;
83
+ /** @deprecated use spendToLabel */
84
+ export const spendTargetToLabel = (t) => spendToLabel(t) ?? '';
85
+ /** @deprecated use spendsFromLabels */
86
+ export const spendTargetsFromLabels = spendsFromLabels;
87
+ //# sourceMappingURL=spendTargets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spendTargets.js","sourceRoot":"","sources":["../../src/pipeline/spendTargets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { type LockingScript, type Transaction, UnlockingScript, type WalletCounterparty, type WalletInterface, type WalletProtocol } from '@bsv/sdk';
2
+ import type { ResolvedSpend, Spend } from './spendTargets';
3
+ export type UnlockResult = {
4
+ unlockingScript: string;
5
+ } | {
6
+ error: string;
7
+ skip?: boolean;
8
+ };
9
+ interface KeyCi {
10
+ protocolID: WalletProtocol;
11
+ keyID: string;
12
+ counterparty?: WalletCounterparty;
13
+ }
14
+ /**
15
+ * Turn spends into finish records (outpoint + CI).
16
+ * - Already has outpoint+CI → use as-is (local load).
17
+ * - basket+id without usable CI → load from wallet storage.
18
+ * - outpoint only → buy/external (no CI).
19
+ */
20
+ export declare function materializeSpends(wallet: WalletInterface, spends: Spend[]): Promise<ResolvedSpend[] | {
21
+ error: string;
22
+ }>;
23
+ /** @deprecated use materializeSpends */
24
+ export declare const resolveSpendTargets: typeof materializeSpends;
25
+ /**
26
+ * Build unlocking scripts from resolved spends + signable tx.
27
+ * Script/sats from tx inputs (BEEF); CI from the record when present.
28
+ */
29
+ export declare function buildSpendsForResolved(wallet: WalletInterface, tx: Transaction, resolved: ResolvedSpend[]): Promise<Record<number, {
30
+ unlockingScript: string;
31
+ }> | {
32
+ error: string;
33
+ }>;
34
+ /** @deprecated prefer materializeSpends + buildSpendsForResolved */
35
+ export declare function buildSpendsForTargets(wallet: WalletInterface, tx: Transaction, targets: Spend[]): Promise<Record<number, {
36
+ unlockingScript: string;
37
+ }> | {
38
+ error: string;
39
+ }>;
40
+ /**
41
+ * Unlock one input from locking-script shape.
42
+ * - OrdLock + CI → cancel; OrdLock without → purchase unlock
43
+ * - PushDrop / Lock / P2PKH → need CI
44
+ */
45
+ export declare function unlockByScript(wallet: WalletInterface, tx: Transaction, inputIndex: number, lockingScript: LockingScript, sourceSatoshis: number, keyCi?: KeyCi): Promise<UnlockResult>;
46
+ /** OrdLock purchase unlock. */
47
+ export declare function buildPurchaseUnlockingScript(tx: Transaction, inputIndex: number, sourceSatoshis: number, lockingScript: LockingScript): UnlockingScript;
48
+ export {};
49
+ //# sourceMappingURL=unlockInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unlockInput.d.ts","sourceRoot":"","sources":["../../src/pipeline/unlockInput.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,KAAK,aAAa,EAIlB,KAAK,WAAW,EAEhB,eAAe,EAEf,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,MAAM,UAAU,CAAA;AAGjB,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAG1D,MAAM,MAAM,YAAY,GACrB;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,GAC3B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAEpC,UAAU,KAAK;IACd,UAAU,EAAE,cAAc,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,kBAAkB,CAAA;CACjC;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,KAAK,EAAE,GACb,OAAO,CAAC,aAAa,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAyC9C;AAED,wCAAwC;AACxC,eAAO,MAAM,mBAAmB,0BAAoB,CAAA;AAEpD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC3C,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,aAAa,EAAE,GACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAkD1E;AAED,oEAAoE;AACpE,wBAAsB,qBAAqB,CAC1C,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,KAAK,EAAE,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAI1E;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,WAAW,EACf,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,KAAK,GACX,OAAO,CAAC,YAAY,CAAC,CA4EvB;AAqBD,+BAA+B;AAC/B,wBAAgB,4BAA4B,CAC3C,EAAE,EAAE,WAAW,EACf,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,aAAa,GAC1B,eAAe,CAiDjB"}
@@ -0,0 +1,316 @@
1
+ import { Lock, OrdLock } from '@1sat/templates';
2
+ import { BigNumber, Hash, OP, PushDrop, Signature, TransactionSignature, UnlockingScript, Utils, } from '@bsv/sdk';
3
+ import { loadBasketOutput } from '../utils/loadBasketOutput';
4
+ import { ensurePlaintextCi } from '../utils/walletMetadataCi';
5
+ import { mergeResolvedSpends } from './spendTargets';
6
+ /**
7
+ * Turn spends into finish records (outpoint + CI).
8
+ * - Already has outpoint+CI → use as-is (local load).
9
+ * - basket+id without usable CI → load from wallet storage.
10
+ * - outpoint only → buy/external (no CI).
11
+ */
12
+ export async function materializeSpends(wallet, spends) {
13
+ const out = [];
14
+ for (const s of spends) {
15
+ if (s.outpoint && s.customInstructions) {
16
+ // Caller-supplied CI may still be WPM ciphertext (base wallet).
17
+ const ci = (await ensurePlaintextCi(wallet, s.customInstructions)) ??
18
+ s.customInstructions;
19
+ out.push({
20
+ outpoint: s.outpoint.replace('_', '.'),
21
+ customInstructions: ci,
22
+ });
23
+ continue;
24
+ }
25
+ if (s.basket && s.id) {
26
+ // loadBasketOutput always returns plaintext CI.
27
+ const loaded = await loadBasketOutput(wallet, s.basket, s.id);
28
+ if ('error' in loaded)
29
+ return { error: loaded.error };
30
+ if (!loaded.output.customInstructions) {
31
+ return {
32
+ error: `missing-ci-after-load:${s.basket}:${s.id}`,
33
+ };
34
+ }
35
+ out.push({
36
+ outpoint: loaded.output.outpoint.replace('_', '.'),
37
+ customInstructions: loaded.output.customInstructions,
38
+ });
39
+ continue;
40
+ }
41
+ if (s.outpoint) {
42
+ out.push({ outpoint: s.outpoint.replace('_', '.') });
43
+ continue;
44
+ }
45
+ return { error: 'spend-missing-outpoint-or-basket-id' };
46
+ }
47
+ return mergeResolvedSpends(out);
48
+ }
49
+ /** @deprecated use materializeSpends */
50
+ export const resolveSpendTargets = materializeSpends;
51
+ /**
52
+ * Build unlocking scripts from resolved spends + signable tx.
53
+ * Script/sats from tx inputs (BEEF); CI from the record when present.
54
+ */
55
+ export async function buildSpendsForResolved(wallet, tx, resolved) {
56
+ const spends = {};
57
+ const inputByOutpoint = new Map();
58
+ for (let i = 0; i < tx.inputs.length; i++) {
59
+ const inp = tx.inputs[i];
60
+ const txid = inp.sourceTXID ?? inp.sourceTransaction?.id('hex');
61
+ if (!txid)
62
+ continue;
63
+ inputByOutpoint.set(`${txid}.${inp.sourceOutputIndex}`, i);
64
+ }
65
+ for (const r of resolved) {
66
+ const norm = r.outpoint.replace('_', '.');
67
+ let inputIndex = inputByOutpoint.get(norm) ?? inputByOutpoint.get(r.outpoint);
68
+ if (inputIndex === undefined) {
69
+ for (const [k, v] of inputByOutpoint) {
70
+ if (k.replace('_', '.') === norm) {
71
+ inputIndex = v;
72
+ break;
73
+ }
74
+ }
75
+ }
76
+ if (inputIndex === undefined) {
77
+ return { error: `spend-not-in-tx:${r.outpoint}` };
78
+ }
79
+ const inp = tx.inputs[inputIndex];
80
+ const lockingScript = inp.sourceTransaction?.outputs[inp.sourceOutputIndex]?.lockingScript;
81
+ const sourceSatoshis = inp.sourceTransaction?.outputs[inp.sourceOutputIndex]?.satoshis ?? 1;
82
+ if (!lockingScript) {
83
+ return { error: `missing-locking-script:input-${inputIndex}` };
84
+ }
85
+ const keyCi = parseKeyCi(r.customInstructions);
86
+ const unlocked = await unlockByScript(wallet, tx, inputIndex, lockingScript, sourceSatoshis, keyCi);
87
+ if ('error' in unlocked) {
88
+ if (unlocked.skip)
89
+ continue;
90
+ return { error: unlocked.error };
91
+ }
92
+ spends[inputIndex] = { unlockingScript: unlocked.unlockingScript };
93
+ }
94
+ return spends;
95
+ }
96
+ /** @deprecated prefer materializeSpends + buildSpendsForResolved */
97
+ export async function buildSpendsForTargets(wallet, tx, targets) {
98
+ const resolved = await materializeSpends(wallet, targets);
99
+ if ('error' in resolved)
100
+ return resolved;
101
+ return buildSpendsForResolved(wallet, tx, resolved);
102
+ }
103
+ /**
104
+ * Unlock one input from locking-script shape.
105
+ * - OrdLock + CI → cancel; OrdLock without → purchase unlock
106
+ * - PushDrop / Lock / P2PKH → need CI
107
+ */
108
+ export async function unlockByScript(wallet, tx, inputIndex, lockingScript, sourceSatoshis, keyCi) {
109
+ if (OrdLock.decode(lockingScript)) {
110
+ if (keyCi?.protocolID && keyCi.keyID) {
111
+ try {
112
+ const unlocker = OrdLock.cancelWithWallet(wallet, keyCi.protocolID, keyCi.keyID, keyCi.counterparty ?? 'self');
113
+ const unlockingScript = await unlocker.sign(tx, inputIndex);
114
+ return { unlockingScript: unlockingScript.toHex() };
115
+ }
116
+ catch (e) {
117
+ return {
118
+ error: e instanceof Error ? e.message : 'ordlock-cancel-failed',
119
+ };
120
+ }
121
+ }
122
+ try {
123
+ const script = buildPurchaseUnlockingScript(tx, inputIndex, sourceSatoshis, lockingScript);
124
+ return { unlockingScript: script.toHex() };
125
+ }
126
+ catch (e) {
127
+ return {
128
+ error: e instanceof Error ? e.message : 'ordlock-purchase-unlock-failed',
129
+ };
130
+ }
131
+ }
132
+ if (!keyCi?.protocolID || !keyCi.keyID) {
133
+ return { error: `missing-key-ci-for-input-${inputIndex}` };
134
+ }
135
+ if (Lock.decode(lockingScript)) {
136
+ try {
137
+ const unlocker = Lock.unlockWithWallet(wallet, keyCi.protocolID, keyCi.keyID, keyCi.counterparty ?? 'self');
138
+ const unlockingScript = await unlocker.sign(tx, inputIndex);
139
+ return { unlockingScript: unlockingScript.toHex() };
140
+ }
141
+ catch (e) {
142
+ return {
143
+ error: e instanceof Error ? e.message : 'lock-unlock-failed',
144
+ };
145
+ }
146
+ }
147
+ try {
148
+ PushDrop.decode(lockingScript);
149
+ return signPushDropInput(wallet, tx, inputIndex, keyCi.protocolID, keyCi.keyID, keyCi.counterparty ?? 'anyone');
150
+ }
151
+ catch {
152
+ // not pushdrop
153
+ }
154
+ return signP2PKHInputWallet(wallet, tx, inputIndex, keyCi.protocolID, keyCi.keyID, keyCi.counterparty ?? 'self');
155
+ }
156
+ function parseKeyCi(raw) {
157
+ if (!raw)
158
+ return undefined;
159
+ try {
160
+ const o = JSON.parse(raw);
161
+ if (!o.protocolID || !o.keyID)
162
+ return undefined;
163
+ return o;
164
+ }
165
+ catch {
166
+ return undefined;
167
+ }
168
+ }
169
+ function buildSerializedOutput(satoshis, script) {
170
+ const writer = new Utils.Writer();
171
+ writer.writeUInt64LEBn(new BigNumber(satoshis));
172
+ writer.writeVarIntNum(script.length);
173
+ writer.write(script);
174
+ return writer.toArray();
175
+ }
176
+ /** OrdLock purchase unlock. */
177
+ export function buildPurchaseUnlockingScript(tx, inputIndex, sourceSatoshis, lockingScript) {
178
+ if (tx.outputs.length < 2) {
179
+ throw new Error('Malformed transaction: requires at least 2 outputs');
180
+ }
181
+ const script = new UnlockingScript().writeBin(buildSerializedOutput(tx.outputs[0].satoshis ?? 0, tx.outputs[0].lockingScript.toBinary()));
182
+ if (tx.outputs.length > 2) {
183
+ const writer = new Utils.Writer();
184
+ for (const output of tx.outputs.slice(2)) {
185
+ writer.write(buildSerializedOutput(output.satoshis ?? 0, output.lockingScript.toBinary()));
186
+ }
187
+ script.writeBin(writer.toArray());
188
+ }
189
+ else {
190
+ script.writeOpCode(OP.OP_0);
191
+ }
192
+ const input = tx.inputs[inputIndex];
193
+ const sourceTXID = input.sourceTXID ?? input.sourceTransaction?.id('hex');
194
+ if (!sourceTXID)
195
+ throw new Error('sourceTXID is required');
196
+ const preimage = TransactionSignature.format({
197
+ sourceTXID,
198
+ sourceOutputIndex: input.sourceOutputIndex,
199
+ sourceSatoshis,
200
+ transactionVersion: tx.version,
201
+ otherInputs: [],
202
+ inputIndex,
203
+ outputs: tx.outputs,
204
+ inputSequence: input.sequence ?? 0xffffffff,
205
+ subscript: lockingScript,
206
+ lockTime: tx.lockTime,
207
+ scope: TransactionSignature.SIGHASH_ALL |
208
+ TransactionSignature.SIGHASH_ANYONECANPAY |
209
+ TransactionSignature.SIGHASH_FORKID,
210
+ });
211
+ return script.writeBin(preimage).writeOpCode(OP.OP_0);
212
+ }
213
+ async function signPushDropInput(wallet, tx, inputIndex, protocolID, keyID, counterparty) {
214
+ const txInput = tx.inputs[inputIndex];
215
+ const sourceLockingScript = txInput.sourceTransaction?.outputs[txInput.sourceOutputIndex]?.lockingScript;
216
+ if (!sourceLockingScript) {
217
+ return { error: `missing-source-locking-script-for-input-${inputIndex}` };
218
+ }
219
+ const sourceTXID = txInput.sourceTXID ?? txInput.sourceTransaction?.id('hex');
220
+ if (!sourceTXID) {
221
+ return { error: `missing-source-txid-for-input-${inputIndex}` };
222
+ }
223
+ const sourceSatoshis = txInput.sourceTransaction?.outputs[txInput.sourceOutputIndex]?.satoshis ?? 1;
224
+ const scope = TransactionSignature.SIGHASH_ALL | TransactionSignature.SIGHASH_FORKID;
225
+ const preimage = TransactionSignature.format({
226
+ sourceTXID,
227
+ sourceOutputIndex: txInput.sourceOutputIndex,
228
+ sourceSatoshis,
229
+ transactionVersion: tx.version,
230
+ otherInputs: tx.inputs
231
+ .filter((_, idx) => idx !== inputIndex)
232
+ .map((inp) => ({
233
+ sourceTXID: inp.sourceTXID ?? inp.sourceTransaction?.id('hex') ?? '',
234
+ sourceOutputIndex: inp.sourceOutputIndex,
235
+ sequence: inp.sequence ?? 0xffffffff,
236
+ })),
237
+ inputIndex,
238
+ outputs: tx.outputs,
239
+ inputSequence: txInput.sequence ?? 0xffffffff,
240
+ subscript: sourceLockingScript,
241
+ lockTime: tx.lockTime,
242
+ scope,
243
+ });
244
+ const sighash = Hash.sha256(Hash.sha256(preimage));
245
+ const { signature: bareSignature } = await wallet.createSignature({
246
+ protocolID,
247
+ keyID,
248
+ counterparty,
249
+ data: Array.from(preimage),
250
+ hashToDirectlySign: Array.from(sighash),
251
+ });
252
+ const signature = Signature.fromDER([...bareSignature]);
253
+ const txSignature = new TransactionSignature(signature.r, signature.s, scope);
254
+ const sigForScript = txSignature.toChecksigFormat();
255
+ return {
256
+ unlockingScript: new UnlockingScript([
257
+ { op: sigForScript.length, data: sigForScript },
258
+ ]).toHex(),
259
+ };
260
+ }
261
+ async function signP2PKHInputWallet(wallet, tx, inputIndex, protocolID, keyID, counterparty) {
262
+ const txInput = tx.inputs[inputIndex];
263
+ const sourceLockingScript = txInput.sourceTransaction?.outputs[txInput.sourceOutputIndex]?.lockingScript;
264
+ if (!sourceLockingScript) {
265
+ return { error: `missing-source-locking-script-for-input-${inputIndex}` };
266
+ }
267
+ const sourceTXID = txInput.sourceTXID ?? txInput.sourceTransaction?.id('hex');
268
+ if (!sourceTXID) {
269
+ return { error: `missing-source-txid-for-input-${inputIndex}` };
270
+ }
271
+ const sourceSatoshis = txInput.sourceTransaction?.outputs[txInput.sourceOutputIndex]?.satoshis ?? 1;
272
+ const preimage = TransactionSignature.format({
273
+ sourceTXID,
274
+ sourceOutputIndex: txInput.sourceOutputIndex,
275
+ sourceSatoshis,
276
+ transactionVersion: tx.version,
277
+ otherInputs: tx.inputs
278
+ .filter((_, idx) => idx !== inputIndex)
279
+ .map((inp) => ({
280
+ sourceTXID: inp.sourceTXID ?? inp.sourceTransaction?.id('hex') ?? '',
281
+ sourceOutputIndex: inp.sourceOutputIndex,
282
+ sequence: inp.sequence ?? 0xffffffff,
283
+ })),
284
+ inputIndex,
285
+ outputs: tx.outputs,
286
+ inputSequence: txInput.sequence ?? 0xffffffff,
287
+ subscript: sourceLockingScript,
288
+ lockTime: tx.lockTime,
289
+ scope: TransactionSignature.SIGHASH_ALL | TransactionSignature.SIGHASH_FORKID,
290
+ });
291
+ const sighash = Hash.sha256(Hash.sha256(preimage));
292
+ const { signature } = await wallet.createSignature({
293
+ protocolID,
294
+ keyID,
295
+ counterparty,
296
+ data: Array.from(preimage),
297
+ hashToDirectlySign: Array.from(sighash),
298
+ });
299
+ const { publicKey } = await wallet.getPublicKey({
300
+ protocolID,
301
+ keyID,
302
+ counterparty,
303
+ forSelf: true,
304
+ });
305
+ const sigWithHashtype = [
306
+ ...signature,
307
+ TransactionSignature.SIGHASH_ALL | TransactionSignature.SIGHASH_FORKID,
308
+ ];
309
+ return {
310
+ unlockingScript: new UnlockingScript()
311
+ .writeBin(sigWithHashtype)
312
+ .writeBin(Utils.toArray(publicKey, 'hex'))
313
+ .toHex(),
314
+ };
315
+ }
316
+ //# sourceMappingURL=unlockInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unlockInput.js","sourceRoot":"","sources":["../../src/pipeline/unlockInput.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ export declare const signBsm: Action<SignBsmRequest, SignBsmResponse>;
35
35
  export declare const signingActions: (Action<import("./authToken").AuthTokenRequest, import("./authToken").AuthTokenResponse> | Action<import("./counterpartyCrypto").EncryptRequest, import("./counterpartyCrypto").EncryptResponse> | Action<import("./counterpartyCrypto").DecryptRequest, import("./counterpartyCrypto").DecryptResponse> | Action<import("./friendPubKey").FriendPubKeyRequest, import("./friendPubKey").FriendPubKeyResponse> | Action<SignBsmRequest, SignBsmResponse>)[];
36
36
  export { applyAip, applyBapAip, resolveBapSigner, resolveCurrentKeyId, } from './aip';
37
37
  export { signWithBap, type BapSignature } from './bap';
38
- export { appendSigmaPlaceholder, sealSigma, resolveSigmaAddress, SIGMA_COMPACT_SIG_LEN, } from './sigma';
38
+ export { appendSigmaPlaceholder, sealSigma, resolveSigmaAddress, SIGMA_COMPACT_SIG_LEN, SIGMA_ADDRESS_PLACEHOLDER_LEN, } from './sigma';
39
39
  export { getAuthToken, type AuthTokenRequest, type AuthTokenResponse, } from './authToken';
40
40
  export { getFriendPublicKey, type FriendPubKeyRequest, type FriendPubKeyResponse, } from './friendPubKey';
41
41
  export { encryptForCounterparty, decryptFromCounterparty, type EncryptRequest, type EncryptResponse, type DecryptRequest, type DecryptResponse, } from './counterpartyCrypto';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMtC,MAAM,WAAW,cAAc;IAC9B,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;IACpC,uCAAuC;IACvC,GAAG,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QACb,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC5B,CAAA;CACD;AAED,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO,CAAC,aAAa,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAMD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,eAAe,CAqE3D,CAAA;AAaD,uCAAuC;AACvC,eAAO,MAAM,cAAc,6bAM1B,CAAA;AAGD,OAAO,EACN,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,mBAAmB,GACnB,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,EACN,sBAAsB,EACtB,SAAS,EACT,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,SAAS,CAAA;AAChB,OAAO,EACN,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EACN,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GACzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACN,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,GACpB,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMtC,MAAM,WAAW,cAAc;IAC9B,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;IACpC,uCAAuC;IACvC,GAAG,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QACb,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC5B,CAAA;CACD;AAED,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO,CAAC,aAAa,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAMD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,eAAe,CAqE3D,CAAA;AAaD,uCAAuC;AACvC,eAAO,MAAM,cAAc,6bAM1B,CAAA;AAGD,OAAO,EACN,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,mBAAmB,GACnB,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,EACN,sBAAsB,EACtB,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,6BAA6B,GAC7B,MAAM,SAAS,CAAA;AAChB,OAAO,EACN,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EACN,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GACzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACN,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,GACpB,MAAM,sBAAsB,CAAA"}
@@ -92,7 +92,7 @@ export const signingActions = [
92
92
  // Signing helpers
93
93
  export { applyAip, applyBapAip, resolveBapSigner, resolveCurrentKeyId, } from './aip';
94
94
  export { signWithBap } from './bap';
95
- export { appendSigmaPlaceholder, sealSigma, resolveSigmaAddress, SIGMA_COMPACT_SIG_LEN, } from './sigma';
95
+ export { appendSigmaPlaceholder, sealSigma, resolveSigmaAddress, SIGMA_COMPACT_SIG_LEN, SIGMA_ADDRESS_PLACEHOLDER_LEN, } from './sigma';
96
96
  export { getAuthToken, } from './authToken';
97
97
  export { getFriendPublicKey, } from './friendPubKey';
98
98
  export { encryptForCounterparty, decryptFromCounterparty, } from './counterpartyCrypto';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
1
  import { PublicKey, Script } from '@bsv/sdk';
2
2
  import type { OneSatContext } from '../types';
3
3
  /**
4
- * Compact BSM signatures are always `[recoveryByte, r(32), s(32)]`. Fixed
5
- * width, so a placeholder tape is exactly the size of the sealed one.
4
+ * Compact BSM signatures are always `[recoveryByte, r(32), s(32)]`.
6
5
  */
7
6
  export declare const SIGMA_COMPACT_SIG_LEN = 65;
8
7
  /**
9
- * The current BAP signing address. Read-only, so this resolves at
10
- * createAction-args timebefore anything is signed.
8
+ * Placeholder address push (max P2PKH base58 length). Apply rewrites the
9
+ * whole tape with the real address pushdata opcodes follow the real length.
10
+ */
11
+ export declare const SIGMA_ADDRESS_PLACEHOLDER_LEN = 34;
12
+ /**
13
+ * The current BAP signing address. Used in apply when sealing, not when
14
+ * building the unsigned placeholder (that would hit WPM protocol access).
11
15
  */
12
16
  export declare function resolveSigmaAddress(ctx: OneSatContext): Promise<{
13
17
  keyID: string;
@@ -15,21 +19,13 @@ export declare function resolveSigmaAddress(ctx: OneSatContext): Promise<{
15
19
  address: string;
16
20
  }>;
17
21
  /**
18
- * Append an unsigned SIGMA tape with the signature zero-filled.
19
- *
20
- * The signature itself can't be computed yet — it commits to the anchor
21
- * outpoint, and the anchor transaction is created during apply. Its length
22
- * is fixed though, so the output is already its exact on-chain size and fee
23
- * estimation is correct.
22
+ * Append an unsigned SIGMA tape: zero address push + zero signature.
23
+ * No BAP getPublicKey — apply fills both fields and rewrites the tape.
24
24
  */
25
- export declare function appendSigmaPlaceholder(ctx: OneSatContext, lockingScript: Script, vin?: number): Promise<Script>;
25
+ export declare function appendSigmaPlaceholder(_ctx: OneSatContext, lockingScript: Script, vin?: number): Promise<Script>;
26
26
  /**
27
- * Replace the zeroed signature in a placeholder tape with the real one.
28
- *
29
- * The placeholder is rebuilt from the same inputs and matched against the
30
- * script's tail, which both locates the tape exactly and proves nothing else
31
- * drifted. Sigma hashes the script *without* its tape, so the signature is
32
- * computed over the stripped prefix.
27
+ * Strip the placeholder tape, sign, append a new tape with real address + sig.
28
+ * Rewrites pushdata for the real address length — does not patch bytes in place.
33
29
  */
34
30
  export declare function sealSigma(ctx: OneSatContext, lockingScript: Script, inputOutpoint: {
35
31
  txid: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sigma.d.ts","sourceRoot":"","sources":["../../src/signing/sigma.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,SAAS,EACT,MAAM,EAGN,MAAM,UAAU,CAAA;AAGjB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAgB7C;;;GAGG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAA;AAEvC;;;GAGG;AACH,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,aAAa,GAChB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CASnE;AAmCD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC3C,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,MAAM,EACrB,GAAG,SAAI,GACL,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAC9B,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC7C,UAAU,SAAI,EACd,MAAM,SAAI,GACR,OAAO,CAAC,MAAM,CAAC,CA+BjB"}
1
+ {"version":3,"file":"sigma.d.ts","sourceRoot":"","sources":["../../src/signing/sigma.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,SAAS,EACT,MAAM,EAGN,MAAM,UAAU,CAAA;AAGjB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAS7C;;GAEG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAA;AAEvC;;;GAGG;AACH,eAAO,MAAM,6BAA6B,KAAK,CAAA;AAM/C;;;GAGG;AACH,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,aAAa,GAChB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CASnE;AAqDD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC3C,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,MAAM,EACrB,GAAG,SAAI,GACL,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC9B,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC7C,UAAU,SAAI,EACd,MAAM,SAAI,GACR,OAAO,CAAC,MAAM,CAAC,CAejB"}