@1sat/actions 0.0.40 → 0.0.41
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completeSignedAction.d.ts","sourceRoot":"","sources":["../../src/utils/completeSignedAction.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"completeSignedAction.d.ts","sourceRoot":"","sources":["../../src/utils/completeSignedAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,WAAW,EAEX,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,0BAA0B;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAC7B,EAAE,EAAE,WAAW,KACX,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAA;AAEzD;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,kBAAkB,EAChC,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,0BAA0B,CAAC,CA2ErC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Beef, Script, Transaction, Utils, } from '@bsv/sdk';
|
|
1
|
+
import { Beef, Script, Spend, Transaction, Utils, } from '@bsv/sdk';
|
|
2
2
|
/**
|
|
3
3
|
* Complete a two-phase action: build verified BEEF, sign inputs, verify
|
|
4
4
|
* scripts, then call signAction. Aborts on any failure.
|
|
@@ -28,14 +28,35 @@ export async function completeSignedAction(wallet, createResult, inputBEEF, sign
|
|
|
28
28
|
}
|
|
29
29
|
// Let the caller build unlocking scripts using the fully-wired tx
|
|
30
30
|
const spends = await sign(tx);
|
|
31
|
-
// Apply unlocking scripts and verify
|
|
31
|
+
// Apply unlocking scripts and verify only the inputs we signed.
|
|
32
|
+
// Funding inputs are unsigned at this point — the wallet signs them during signAction.
|
|
32
33
|
for (const [idx, spend] of Object.entries(spends)) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
const i = Number(idx);
|
|
35
|
+
tx.inputs[i].unlockingScript = Script.fromHex(spend.unlockingScript);
|
|
36
|
+
const input = tx.inputs[i];
|
|
37
|
+
const sourceOutput = input.sourceTransaction?.outputs[input.sourceOutputIndex];
|
|
38
|
+
if (!sourceOutput) {
|
|
39
|
+
await wallet.abortAction({ reference });
|
|
40
|
+
return { error: `missing-source-transaction-for-input-${i}` };
|
|
41
|
+
}
|
|
42
|
+
const unlockingScript = tx.inputs[i].unlockingScript;
|
|
43
|
+
const spendCheck = new Spend({
|
|
44
|
+
sourceTXID: input.sourceTXID ?? input.sourceTransaction?.id('hex') ?? '',
|
|
45
|
+
sourceOutputIndex: input.sourceOutputIndex,
|
|
46
|
+
lockingScript: sourceOutput.lockingScript,
|
|
47
|
+
sourceSatoshis: sourceOutput.satoshis ?? 0,
|
|
48
|
+
transactionVersion: tx.version,
|
|
49
|
+
otherInputs: tx.inputs.filter((_, j) => j !== i),
|
|
50
|
+
unlockingScript,
|
|
51
|
+
inputSequence: input.sequence ?? 0xffffffff,
|
|
52
|
+
inputIndex: i,
|
|
53
|
+
outputs: tx.outputs,
|
|
54
|
+
lockTime: tx.lockTime,
|
|
55
|
+
});
|
|
56
|
+
if (!spendCheck.validate()) {
|
|
57
|
+
await wallet.abortAction({ reference });
|
|
58
|
+
return { error: `script-verification-failed-for-input-${i}` };
|
|
59
|
+
}
|
|
39
60
|
}
|
|
40
61
|
const signResult = await wallet.signAction({
|
|
41
62
|
reference,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completeSignedAction.js","sourceRoot":"","sources":["../../src/utils/completeSignedAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,IAAI,EACJ,MAAM,EACN,WAAW,EACX,KAAK,GAIL,MAAM,UAAU,CAAA;AAgBjB;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,MAAuB,EACvB,YAAgC,EAChC,SAAmB,EACnB,IAAqB,EACrB,OAA2B;IAE3B,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;QACvC,OAAO,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAA;IAC5C,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAAA;IAE5D,IAAI,CAAC;QACJ,kFAAkF;QAClF,6EAA6E;QAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAA;QACzE,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAA;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QACvC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;QAC1D,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;YACvC,OAAO,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAA;QACtD,CAAC;QAED,kEAAkE;QAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAA;QAE7B,
|
|
1
|
+
{"version":3,"file":"completeSignedAction.js","sourceRoot":"","sources":["../../src/utils/completeSignedAction.ts"],"names":[],"mappings":"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"}
|