@1sat/actions 0.0.139 → 0.0.140
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":"sweepDeposit.d.ts","sourceRoot":"","sources":["../../src/sweep/sweepDeposit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAQrD,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACvD,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,kBAAkB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAgCD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"sweepDeposit.d.ts","sourceRoot":"","sources":["../../src/sweep/sweepDeposit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAQrD,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACvD,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,kBAAkB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAgCD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CA6ItE,CAAA"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* ordinary spending under the wallet's standard funding protocol.
|
|
15
15
|
*/
|
|
16
16
|
import { BRC29_PROTOCOL_ID, DEPOSIT_BASKET, FUNDING_BASKET, P1SAT_PROTOCOL, } from '@1sat/types';
|
|
17
|
-
import { P2PKH, PublicKey, Utils } from '@bsv/sdk';
|
|
17
|
+
import { Beef, P2PKH, PublicKey, Utils } from '@bsv/sdk';
|
|
18
18
|
import { executeTrackedAction } from '../utils/createTrackedAction';
|
|
19
19
|
import { signP2PKHInput } from '../utils/signP2PKH';
|
|
20
20
|
/**
|
|
@@ -53,19 +53,15 @@ export const sweepDeposit = {
|
|
|
53
53
|
},
|
|
54
54
|
async execute(ctx, input) {
|
|
55
55
|
const limit = input.limit ?? 50;
|
|
56
|
-
// 1. Find every plain-BSV UTXO sitting in the deposit basket.
|
|
57
|
-
// full transaction data so we can hand the wallet the inputBEEF
|
|
58
|
-
// it requires for spending these outputs.
|
|
56
|
+
// 1. Find every plain-BSV UTXO sitting in the deposit basket.
|
|
59
57
|
const list = await ctx.wallet.listOutputs({
|
|
60
58
|
basket: DEPOSIT_BASKET,
|
|
61
59
|
includeCustomInstructions: true,
|
|
62
|
-
include: 'entire transactions',
|
|
63
60
|
limit,
|
|
64
61
|
});
|
|
65
62
|
if (list.outputs.length === 0) {
|
|
66
63
|
return { swept: 0 };
|
|
67
64
|
}
|
|
68
|
-
const inputBEEF = list.BEEF ? Array.from(list.BEEF) : undefined;
|
|
69
65
|
const inputs = [];
|
|
70
66
|
for (const out of list.outputs) {
|
|
71
67
|
if (!out.customInstructions)
|
|
@@ -88,6 +84,24 @@ export const sweepDeposit = {
|
|
|
88
84
|
if (inputs.length === 0) {
|
|
89
85
|
return { swept: 0 };
|
|
90
86
|
}
|
|
87
|
+
// 1b. Build a single inputBEEF that covers every deposit input. We
|
|
88
|
+
// fetch each source tx's BEEF from the indexer (which carries
|
|
89
|
+
// the full SPV chain) and merge them. That way the wallet gets
|
|
90
|
+
// a valid BEEF whether the deposit tx itself is mined yet or
|
|
91
|
+
// not — its parents' merkle paths are sufficient.
|
|
92
|
+
if (!ctx.services) {
|
|
93
|
+
return {
|
|
94
|
+
swept: 0,
|
|
95
|
+
error: 'sweepDeposit requires ctx.services for BEEF fetching',
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
const merged = new Beef();
|
|
99
|
+
const sourceTxids = Array.from(new Set(inputs.map((i) => i.outpoint.split('.')[0])));
|
|
100
|
+
for (const sourceTxid of sourceTxids) {
|
|
101
|
+
const beef = await ctx.services.beef.getBeef(sourceTxid);
|
|
102
|
+
merged.mergeBeef(Array.from(beef));
|
|
103
|
+
}
|
|
104
|
+
const inputBEEF = merged.toBinary();
|
|
91
105
|
// 2. Derive a fresh destination address under BRC-29 — sweep target
|
|
92
106
|
// is the wallet's standard funding protocol, so spending the
|
|
93
107
|
// output later goes through the normal BRC-29 funding path.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sweepDeposit.js","sourceRoot":"","sources":["../../src/sweep/sweepDeposit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,GACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"sweepDeposit.js","sourceRoot":"","sources":["../../src/sweep/sweepDeposit.ts"],"names":[],"mappings":"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"}
|