@1sat/actions 0.0.220 → 0.0.222
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/apply/applyIntent.d.ts.map +1 -1
- package/dist/apply/applyIntent.js +4 -0
- package/dist/apply/applyIntent.js.map +1 -1
- package/dist/apply/index.d.ts +1 -0
- package/dist/apply/index.d.ts.map +1 -1
- package/dist/apply/index.js +1 -0
- package/dist/apply/index.js.map +1 -1
- package/dist/apply/ordlockPurchase.d.ts +66 -0
- package/dist/apply/ordlockPurchase.d.ts.map +1 -0
- package/dist/apply/ordlockPurchase.js +333 -0
- package/dist/apply/ordlockPurchase.js.map +1 -0
- package/dist/apply/ordlockPurchase.test.d.ts +2 -0
- package/dist/apply/ordlockPurchase.test.d.ts.map +1 -0
- package/dist/apply/ordlockPurchase.test.js +252 -0
- package/dist/apply/ordlockPurchase.test.js.map +1 -0
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ordfs/dir.d.ts +99 -0
- package/dist/ordfs/dir.d.ts.map +1 -0
- package/dist/ordfs/dir.js +251 -0
- package/dist/ordfs/dir.js.map +1 -0
- package/dist/ordfs/index.d.ts +7 -1
- package/dist/ordfs/index.d.ts.map +1 -1
- package/dist/ordfs/index.js +5 -1
- package/dist/ordfs/index.js.map +1 -1
- package/dist/ordfs/outpoint.d.ts +11 -0
- package/dist/ordfs/outpoint.d.ts.map +1 -0
- package/dist/ordfs/outpoint.js +42 -0
- package/dist/ordfs/outpoint.js.map +1 -0
- package/dist/ordfs/outputs.d.ts +11 -0
- package/dist/ordfs/outputs.d.ts.map +1 -1
- package/dist/ordfs/outputs.js +23 -3
- package/dist/ordfs/outputs.js.map +1 -1
- package/dist/ordfs/patch.d.ts +34 -0
- package/dist/ordfs/patch.d.ts.map +1 -0
- package/dist/ordfs/patch.js +103 -0
- package/dist/ordfs/patch.js.map +1 -0
- package/dist/ordfs/vcdiff.d.ts +16 -0
- package/dist/ordfs/vcdiff.d.ts.map +1 -0
- package/dist/ordfs/vcdiff.js +87 -0
- package/dist/ordfs/vcdiff.js.map +1 -0
- package/dist/ordinals/index.d.ts.map +1 -1
- package/dist/ordinals/index.js +41 -41
- package/dist/ordinals/index.js.map +1 -1
- package/dist/pipeline/index.d.ts +1 -1
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +1 -1
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/runPipeline.d.ts +4 -1
- package/dist/pipeline/runPipeline.d.ts.map +1 -1
- package/dist/pipeline/runPipeline.js +10 -5
- package/dist/pipeline/runPipeline.js.map +1 -1
- package/dist/pipeline/spendTargets.d.ts +9 -0
- package/dist/pipeline/spendTargets.d.ts.map +1 -1
- package/dist/pipeline/spendTargets.js +16 -0
- package/dist/pipeline/spendTargets.js.map +1 -1
- package/dist/pipeline/unlockInput.d.ts +9 -3
- package/dist/pipeline/unlockInput.d.ts.map +1 -1
- package/dist/pipeline/unlockInput.js +13 -6
- package/dist/pipeline/unlockInput.js.map +1 -1
- package/dist/pipeline/unlockInput.test.js +55 -13
- package/dist/pipeline/unlockInput.test.js.map +1 -1
- package/dist/sweep/sweepDeposit.d.ts +6 -0
- package/dist/sweep/sweepDeposit.d.ts.map +1 -1
- package/dist/sweep/sweepDeposit.js +11 -1
- package/dist/sweep/sweepDeposit.js.map +1 -1
- package/dist/sync/addressSyncTask.d.ts +1 -1
- package/dist/sync/addressSyncTask.js +1 -1
- package/dist/sync/index.d.ts +1 -1
- package/dist/sync/index.js +2 -2
- package/dist/sync/index.js.map +1 -1
- package/dist/tokens/index.d.ts.map +1 -1
- package/dist/tokens/index.js +40 -22
- package/dist/tokens/index.js.map +1 -1
- package/dist/utils/pushdrop.d.ts +36 -0
- package/dist/utils/pushdrop.d.ts.map +1 -0
- package/dist/utils/pushdrop.js +56 -0
- package/dist/utils/pushdrop.js.map +1 -0
- package/package.json +9 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runPipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline/runPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,MAAM,UAAU,CAAA;AAEjB,OAAO,EACN,KAAK,0BAA0B,EAE/B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAGN,KAAK,aAAa,EAClB,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"runPipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline/runPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,KAAK,EACX,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,MAAM,UAAU,CAAA;AAEjB,OAAO,EACN,KAAK,0BAA0B,EAE/B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAGN,KAAK,aAAa,EAClB,KAAK,KAAK,EAGV,MAAM,mBAAmB,CAAA;AAG1B,MAAM,WAAW,eAAe;IAC/B,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC5C,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,gBAAgB,EACtB,MAAM,GAAE,KAAK,EAAO,EACpB,IAAI,GAAE,eAAoB,GACxB,OAAO,CAAC,0BAA0B,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA0C5D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,kBAAkB,EAChC,aAAa,EAAE,aAAa,EAAE,EAC9B,SAAS,CAAC,EAAE,MAAM,EAAE,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,uBAAuB,EAAE,GACpC,OAAO,CAAC,0BAA0B,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA8B5D;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC9C,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,gBAAgB,EACtB,MAAM,GAAE,KAAK,EAAO,GAClB,OAAO,CAAC;IACV,IAAI,EAAE,gBAAgB,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,0EAA0E;IAC1E,UAAU,EAAE,uBAAuB,EAAE,CAAA;CACrC,CAAC,CAaD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { applyP1SatCreateAction } from '../apply/applyIntent.js';
|
|
2
2
|
import { completeSignedAction, } from '../utils/completeSignedAction.js';
|
|
3
|
-
import { PENDING_RESOLVED_SPENDS_KEY, mergeResolvedSpends, } from './spendTargets.js';
|
|
3
|
+
import { PENDING_RESOLVED_SPENDS_KEY, deliveryTargetsFromArgs, mergeResolvedSpends, } from './spendTargets.js';
|
|
4
4
|
import { buildSpendsForResolved, materializeSpends } from './unlockInput.js';
|
|
5
5
|
/**
|
|
6
6
|
* Shared createAction pipeline (local and module base wallet):
|
|
@@ -34,12 +34,12 @@ export async function runCreateActionPipeline(wallet, args, spends = [], opts =
|
|
|
34
34
|
(Array.isArray(argsCopy.inputBEEF)
|
|
35
35
|
? argsCopy.inputBEEF
|
|
36
36
|
: undefined);
|
|
37
|
-
return finishCreateAction(wallet, createResult, records, beef, actionId);
|
|
37
|
+
return finishCreateAction(wallet, createResult, records, beef, actionId, deliveryTargetsFromArgs(argsCopy));
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* After createAction: unlock from resolved records + signAction.
|
|
41
41
|
*/
|
|
42
|
-
export async function finishCreateAction(wallet, createResult, outputRecords, inputBEEF, actionId) {
|
|
42
|
+
export async function finishCreateAction(wallet, createResult, outputRecords, inputBEEF, actionId, deliveries) {
|
|
43
43
|
const id = actionId ?? 'unknown';
|
|
44
44
|
if (!createResult.signableTransaction) {
|
|
45
45
|
return {
|
|
@@ -52,7 +52,7 @@ export async function finishCreateAction(wallet, createResult, outputRecords, in
|
|
|
52
52
|
const result = await completeSignedAction(wallet, createResult, inputBEEF, async (tx) => {
|
|
53
53
|
if (outputRecords.length === 0)
|
|
54
54
|
return {};
|
|
55
|
-
const unlocks = await buildSpendsForResolved(wallet, tx, outputRecords);
|
|
55
|
+
const unlocks = await buildSpendsForResolved(wallet, tx, outputRecords, deliveries);
|
|
56
56
|
if ('error' in unlocks)
|
|
57
57
|
throw new Error(unlocks.error);
|
|
58
58
|
return unlocks;
|
|
@@ -69,7 +69,12 @@ export async function embellishCreateActionArgs(wallet, args, spends = []) {
|
|
|
69
69
|
if ('error' in records) {
|
|
70
70
|
throw new Error(records.error);
|
|
71
71
|
}
|
|
72
|
-
return {
|
|
72
|
+
return {
|
|
73
|
+
args,
|
|
74
|
+
actionId,
|
|
75
|
+
resolvedSpends: records,
|
|
76
|
+
deliveries: deliveryTargetsFromArgs(args),
|
|
77
|
+
};
|
|
73
78
|
}
|
|
74
79
|
/** Pending (Sigma) + materialize caller spends → finish list. */
|
|
75
80
|
async function collectOutputRecords(wallet, args, spends) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runPipeline.js","sourceRoot":"","sources":["../../src/pipeline/runPipeline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runPipeline.js","sourceRoot":"","sources":["../../src/pipeline/runPipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { OrdLockV2DeliveryTarget } from '@1sat/templates';
|
|
1
2
|
import { type PermissionSchemeId } from '@1sat/types';
|
|
3
|
+
import { type CreateActionArgs } from '@bsv/sdk';
|
|
2
4
|
/**
|
|
3
5
|
* One input the pipeline must unlock.
|
|
4
6
|
*
|
|
@@ -32,6 +34,13 @@ export declare function labelsFromSpends(spends: Spend[]): string[];
|
|
|
32
34
|
export declare function spendsFromLabels(labels: string[] | undefined): Spend[];
|
|
33
35
|
/** Merge by outpoint; prefer entry that has CI. */
|
|
34
36
|
export declare function mergeResolvedSpends(...lists: ResolvedSpend[][]): ResolvedSpend[];
|
|
37
|
+
/**
|
|
38
|
+
* Buyer-approved delivery targets for OrdLock v2 purchases: every basketed
|
|
39
|
+
* 1-sat output of the createAction args, at its index (the wallet appends
|
|
40
|
+
* change after these when randomizeOutputs is false). The purchase unlock
|
|
41
|
+
* refuses to sign unless each listed satoshi routes to one of them.
|
|
42
|
+
*/
|
|
43
|
+
export declare function deliveryTargetsFromArgs(args: Pick<CreateActionArgs, 'outputs'>): OrdLockV2DeliveryTarget[];
|
|
35
44
|
/** Stash key on CreateActionArgs for records created during embellish (Sigma). */
|
|
36
45
|
export declare const PENDING_RESOLVED_SPENDS_KEY: "__pendingResolvedSpends";
|
|
37
46
|
export type ArgsWithPendingSpends = {
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"spendTargets.d.ts","sourceRoot":"","sources":["../../src/pipeline/spendTargets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EACN,KAAK,kBAAkB,EAKvB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,UAAU,CAAA;AAE/D;;;;;;;;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,CAQzD;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;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,GACrC,uBAAuB,EAAE,CAO3B;AAED,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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { buildExternalInputLabel, buildInputAssetLabel, parseOneInputLabel, schemeForBasket, } from '@1sat/types';
|
|
2
|
+
import { LockingScript } from '@bsv/sdk';
|
|
2
3
|
/** Module label for a spend (pointers only — never CI). */
|
|
3
4
|
export function spendToLabel(s) {
|
|
4
5
|
if (s.basket && s.id)
|
|
@@ -74,6 +75,21 @@ function normalizeOutpointDot(s) {
|
|
|
74
75
|
return `${s.slice(0, 64)}.${s.slice(65)}`;
|
|
75
76
|
return s;
|
|
76
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Buyer-approved delivery targets for OrdLock v2 purchases: every basketed
|
|
80
|
+
* 1-sat output of the createAction args, at its index (the wallet appends
|
|
81
|
+
* change after these when randomizeOutputs is false). The purchase unlock
|
|
82
|
+
* refuses to sign unless each listed satoshi routes to one of them.
|
|
83
|
+
*/
|
|
84
|
+
export function deliveryTargetsFromArgs(args) {
|
|
85
|
+
const out = [];
|
|
86
|
+
args.outputs?.forEach((o, vout) => {
|
|
87
|
+
if (!o.basket || o.satoshis !== 1)
|
|
88
|
+
return;
|
|
89
|
+
out.push({ vout, lockingScript: LockingScript.fromHex(o.lockingScript) });
|
|
90
|
+
});
|
|
91
|
+
return out;
|
|
92
|
+
}
|
|
77
93
|
/** Stash key on CreateActionArgs for records created during embellish (Sigma). */
|
|
78
94
|
export const PENDING_RESOLVED_SPENDS_KEY = '__pendingResolvedSpends';
|
|
79
95
|
/** @deprecated use labelsFromSpends */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spendTargets.js","sourceRoot":"","sources":["../../src/pipeline/spendTargets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spendTargets.js","sourceRoot":"","sources":["../../src/pipeline/spendTargets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type OrdLockV2DeliveryTarget } from '@1sat/templates';
|
|
1
2
|
import { type LockingScript, type Transaction, UnlockingScript, type WalletCounterparty, type WalletInterface, type WalletProtocol } from '@bsv/sdk';
|
|
2
3
|
import type { ResolvedSpend, Spend } from './spendTargets.js';
|
|
3
4
|
export type UnlockResult = {
|
|
@@ -26,7 +27,7 @@ export declare const resolveSpendTargets: typeof materializeSpends;
|
|
|
26
27
|
* Build unlocking scripts from resolved spends + signable tx.
|
|
27
28
|
* Script/sats from tx inputs (BEEF); CI from the record when present.
|
|
28
29
|
*/
|
|
29
|
-
export declare function buildSpendsForResolved(wallet: WalletInterface, tx: Transaction, resolved: ResolvedSpend[]): Promise<Record<number, {
|
|
30
|
+
export declare function buildSpendsForResolved(wallet: WalletInterface, tx: Transaction, resolved: ResolvedSpend[], deliveries?: OrdLockV2DeliveryTarget[]): Promise<Record<number, {
|
|
30
31
|
unlockingScript: string;
|
|
31
32
|
}> | {
|
|
32
33
|
error: string;
|
|
@@ -39,11 +40,16 @@ export declare function buildSpendsForTargets(wallet: WalletInterface, tx: Trans
|
|
|
39
40
|
}>;
|
|
40
41
|
/**
|
|
41
42
|
* Unlock one input from locking-script shape.
|
|
42
|
-
* - OrdLock v2 + CI → cancel; without → purchase (payout
|
|
43
|
+
* - OrdLock v2 + CI → cancel; without → purchase (payout must sit at the
|
|
44
|
+
* listing's input index and the listed sat must reach an approved 1-sat
|
|
45
|
+
* receive output — see OrdLockV2.assertDelivery)
|
|
43
46
|
* - OrdLock v1 + CI → cancel; without → purchase unlock
|
|
44
47
|
* - PushDrop / Lock / P2PKH → need CI
|
|
48
|
+
*
|
|
49
|
+
* `deliveries` are the buyer-approved receive outputs of the final
|
|
50
|
+
* transaction (basketed 1-sat outputs of the createAction args).
|
|
45
51
|
*/
|
|
46
|
-
export declare function unlockByScript(wallet: WalletInterface, tx: Transaction, inputIndex: number, lockingScript: LockingScript, sourceSatoshis: number, keyCi?: KeyCi): Promise<UnlockResult>;
|
|
52
|
+
export declare function unlockByScript(wallet: WalletInterface, tx: Transaction, inputIndex: number, lockingScript: LockingScript, sourceSatoshis: number, keyCi?: KeyCi, deliveries?: OrdLockV2DeliveryTarget[]): Promise<UnlockResult>;
|
|
47
53
|
/** OrdLock purchase unlock. */
|
|
48
54
|
export declare function buildPurchaseUnlockingScript(tx: Transaction, inputIndex: number, sourceSatoshis: number, lockingScript: LockingScript): UnlockingScript;
|
|
49
55
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unlockInput.d.ts","sourceRoot":"","sources":["../../src/pipeline/unlockInput.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unlockInput.d.ts","sourceRoot":"","sources":["../../src/pipeline/unlockInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,uBAAuB,EAC5B,MAAM,iBAAiB,CAAA;AACxB,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,mBAAmB,CAAA;AAG7D,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,EACzB,UAAU,CAAC,EAAE,uBAAuB,EAAE,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoD1E;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;;;;;;;;;;GAUG;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,EACb,UAAU,CAAC,EAAE,uBAAuB,EAAE,GACpC,OAAO,CAAC,YAAY,CAAC,CAmGvB;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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Lock, OrdLock, OrdLockV2 } from '@1sat/templates';
|
|
1
|
+
import { Lock, OrdLock, OrdLockV2, } from '@1sat/templates';
|
|
2
2
|
import { BigNumber, Hash, OP, PushDrop, Signature, TransactionSignature, UnlockingScript, Utils, } from '@bsv/sdk';
|
|
3
3
|
import { loadBasketOutput } from '../utils/loadBasketOutput.js';
|
|
4
4
|
import { ensurePlaintextCi } from '../utils/walletMetadataCi.js';
|
|
@@ -52,7 +52,7 @@ export const resolveSpendTargets = materializeSpends;
|
|
|
52
52
|
* Build unlocking scripts from resolved spends + signable tx.
|
|
53
53
|
* Script/sats from tx inputs (BEEF); CI from the record when present.
|
|
54
54
|
*/
|
|
55
|
-
export async function buildSpendsForResolved(wallet, tx, resolved) {
|
|
55
|
+
export async function buildSpendsForResolved(wallet, tx, resolved, deliveries) {
|
|
56
56
|
const spends = {};
|
|
57
57
|
const inputByOutpoint = new Map();
|
|
58
58
|
for (let i = 0; i < tx.inputs.length; i++) {
|
|
@@ -83,7 +83,7 @@ export async function buildSpendsForResolved(wallet, tx, resolved) {
|
|
|
83
83
|
return { error: `missing-locking-script:input-${inputIndex}` };
|
|
84
84
|
}
|
|
85
85
|
const keyCi = parseKeyCi(r.customInstructions);
|
|
86
|
-
const unlocked = await unlockByScript(wallet, tx, inputIndex, lockingScript, sourceSatoshis, keyCi);
|
|
86
|
+
const unlocked = await unlockByScript(wallet, tx, inputIndex, lockingScript, sourceSatoshis, keyCi, deliveries);
|
|
87
87
|
if ('error' in unlocked) {
|
|
88
88
|
if (unlocked.skip)
|
|
89
89
|
continue;
|
|
@@ -102,15 +102,22 @@ export async function buildSpendsForTargets(wallet, tx, targets) {
|
|
|
102
102
|
}
|
|
103
103
|
/**
|
|
104
104
|
* Unlock one input from locking-script shape.
|
|
105
|
-
* - OrdLock v2 + CI → cancel; without → purchase (payout
|
|
105
|
+
* - OrdLock v2 + CI → cancel; without → purchase (payout must sit at the
|
|
106
|
+
* listing's input index and the listed sat must reach an approved 1-sat
|
|
107
|
+
* receive output — see OrdLockV2.assertDelivery)
|
|
106
108
|
* - OrdLock v1 + CI → cancel; without → purchase unlock
|
|
107
109
|
* - PushDrop / Lock / P2PKH → need CI
|
|
110
|
+
*
|
|
111
|
+
* `deliveries` are the buyer-approved receive outputs of the final
|
|
112
|
+
* transaction (basketed 1-sat outputs of the createAction args).
|
|
108
113
|
*/
|
|
109
|
-
export async function unlockByScript(wallet, tx, inputIndex, lockingScript, sourceSatoshis, keyCi) {
|
|
114
|
+
export async function unlockByScript(wallet, tx, inputIndex, lockingScript, sourceSatoshis, keyCi, deliveries) {
|
|
110
115
|
if (OrdLockV2.isOrdLockV2(lockingScript)) {
|
|
111
116
|
const unlocker = keyCi?.protocolID && keyCi.keyID
|
|
112
117
|
? OrdLockV2.cancelWithWallet(wallet, keyCi.protocolID, keyCi.keyID, keyCi.counterparty ?? 'self')
|
|
113
|
-
: OrdLockV2.purchaseListing(sourceSatoshis, lockingScript
|
|
118
|
+
: OrdLockV2.purchaseListing(sourceSatoshis, lockingScript, {
|
|
119
|
+
deliveries,
|
|
120
|
+
});
|
|
114
121
|
try {
|
|
115
122
|
const unlockingScript = await unlocker.sign(tx, inputIndex);
|
|
116
123
|
return { unlockingScript: unlockingScript.toHex() };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unlockInput.js","sourceRoot":"","sources":["../../src/pipeline/unlockInput.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unlockInput.js","sourceRoot":"","sources":["../../src/pipeline/unlockInput.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,11 @@ import { describe, expect, it } from 'bun:test';
|
|
|
2
2
|
import { OrdLockV2 } from '@1sat/templates';
|
|
3
3
|
import { P1SAT_PROTOCOL } from '@1sat/types';
|
|
4
4
|
import { P2PKH, PrivateKey, ProtoWallet, PublicKey, Script, Transaction, } from '@bsv/sdk';
|
|
5
|
+
import { deliveryTargetsFromArgs } from './spendTargets.js';
|
|
5
6
|
import { unlockByScript } from './unlockInput.js';
|
|
6
7
|
const buyerKey = new PrivateKey(7001);
|
|
7
8
|
const buyerAddr = buyerKey.toAddress();
|
|
9
|
+
const buyerLock = new P2PKH().lock(buyerAddr);
|
|
8
10
|
const payAddr = new PrivateKey(7002).toAddress();
|
|
9
11
|
// ProtoWallet implements only the key/signature half of WalletInterface,
|
|
10
12
|
// which is all unlockByScript touches.
|
|
@@ -19,18 +21,30 @@ async function v2Listing(wallet, keyID) {
|
|
|
19
21
|
forSelf: true,
|
|
20
22
|
});
|
|
21
23
|
const lock = OrdLockV2.lock(PublicKey.fromString(publicKey).toAddress(), payAddr, 5000);
|
|
24
|
+
// output 0: buyer front funding · output 1: the listing
|
|
22
25
|
const listing = new Transaction();
|
|
26
|
+
listing.addOutput({ satoshis: 20_000, lockingScript: buyerLock });
|
|
23
27
|
listing.addOutput({ satoshis: 1, lockingScript: lock });
|
|
24
28
|
return { listing, lock };
|
|
25
29
|
}
|
|
30
|
+
/** Canonical layout: 0 front · 1 listing → 0 cushion · 1 payout · 2 receive */
|
|
31
|
+
function canonicalPurchase(listing, lock) {
|
|
32
|
+
const tx = new Transaction();
|
|
33
|
+
tx.addInput({ sourceTransaction: listing, sourceOutputIndex: 0 });
|
|
34
|
+
tx.addInput({ sourceTransaction: listing, sourceOutputIndex: 1 });
|
|
35
|
+
tx.addOutput({ satoshis: 15_000, lockingScript: buyerLock });
|
|
36
|
+
tx.addOutput(OrdLockV2.payoutOutput(lock));
|
|
37
|
+
tx.addOutput({ satoshis: 1, lockingScript: buyerLock });
|
|
38
|
+
return tx;
|
|
39
|
+
}
|
|
26
40
|
describe('unlockByScript: OrdLock v2', () => {
|
|
27
41
|
it('cancels when key CI is present', async () => {
|
|
28
42
|
const wallet = new ProtoWallet(new PrivateKey(7003));
|
|
29
43
|
const keyID = 'abc_1';
|
|
30
44
|
const { listing, lock } = await v2Listing(wallet, keyID);
|
|
31
45
|
const tx = new Transaction();
|
|
32
|
-
tx.addInput({ sourceTransaction: listing, sourceOutputIndex:
|
|
33
|
-
tx.addOutput({ satoshis: 1, lockingScript:
|
|
46
|
+
tx.addInput({ sourceTransaction: listing, sourceOutputIndex: 1 });
|
|
47
|
+
tx.addOutput({ satoshis: 1, lockingScript: buyerLock });
|
|
34
48
|
const res = await unlockByScript(asWallet(wallet), tx, 0, lock, 1, {
|
|
35
49
|
protocolID: P1SAT_PROTOCOL,
|
|
36
50
|
keyID,
|
|
@@ -40,29 +54,57 @@ describe('unlockByScript: OrdLock v2', () => {
|
|
|
40
54
|
throw new Error(res.error);
|
|
41
55
|
expect(OrdLockV2.isCancel(Script.fromHex(res.unlockingScript))).toBe(true);
|
|
42
56
|
});
|
|
43
|
-
it('purchases when no key CI and the
|
|
57
|
+
it('purchases when no key CI, the payout sits at the listing index and the ordinal reaches an approved output', async () => {
|
|
44
58
|
const wallet = new ProtoWallet(new PrivateKey(7004));
|
|
45
59
|
const { listing, lock } = await v2Listing(wallet, 'abc_2');
|
|
46
|
-
const tx =
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
60
|
+
const tx = canonicalPurchase(listing, lock);
|
|
61
|
+
const deliveries = deliveryTargetsFromArgs({
|
|
62
|
+
outputs: [
|
|
63
|
+
{
|
|
64
|
+
lockingScript: buyerLock.toHex(),
|
|
65
|
+
satoshis: 15_000,
|
|
66
|
+
outputDescription: 'cushion',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
lockingScript: OrdLockV2.payoutOutput(lock).lockingScript.toHex(),
|
|
70
|
+
satoshis: 5000,
|
|
71
|
+
outputDescription: 'payout',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
lockingScript: buyerLock.toHex(),
|
|
75
|
+
satoshis: 1,
|
|
76
|
+
outputDescription: 'ordinal',
|
|
77
|
+
basket: '1sat',
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
});
|
|
81
|
+
expect(deliveries.map((d) => d.vout)).toEqual([2]);
|
|
82
|
+
const res = await unlockByScript(asWallet(wallet), tx, 1, lock, 1, undefined, deliveries);
|
|
53
83
|
if (!('unlockingScript' in res))
|
|
54
84
|
throw new Error(res.error);
|
|
55
85
|
expect(OrdLockV2.isPurchase(Script.fromHex(res.unlockingScript))).toBe(true);
|
|
56
86
|
});
|
|
57
|
-
it('returns an error, not a v1 attempt, when the
|
|
87
|
+
it('returns an error, not a v1 attempt, when the payout is not at the listing index', async () => {
|
|
58
88
|
const wallet = new ProtoWallet(new PrivateKey(7005));
|
|
59
89
|
const { listing, lock } = await v2Listing(wallet, 'abc_3');
|
|
60
90
|
const tx = new Transaction();
|
|
91
|
+
// ordinal-first layout of the withdrawn draft: listing at input 0 but
|
|
92
|
+
// the buyer output, not the payout, at output 0
|
|
93
|
+
tx.addInput({ sourceTransaction: listing, sourceOutputIndex: 1 });
|
|
61
94
|
tx.addInput({ sourceTransaction: listing, sourceOutputIndex: 0 });
|
|
62
|
-
tx.addOutput({ satoshis: 1, lockingScript:
|
|
95
|
+
tx.addOutput({ satoshis: 1, lockingScript: buyerLock });
|
|
63
96
|
tx.addOutput(OrdLockV2.payoutOutput(lock));
|
|
97
|
+
tx.addOutput({ satoshis: 14_000, lockingScript: buyerLock });
|
|
64
98
|
const res = await unlockByScript(asWallet(wallet), tx, 0, lock, 1);
|
|
65
|
-
expect('error' in res && /
|
|
99
|
+
expect('error' in res && /output 0 must be the listing payout/.test(res.error)).toBe(true);
|
|
100
|
+
});
|
|
101
|
+
it('returns an error when the ordinal would reach an unapproved output', async () => {
|
|
102
|
+
const wallet = new ProtoWallet(new PrivateKey(7006));
|
|
103
|
+
const { listing, lock } = await v2Listing(wallet, 'abc_4');
|
|
104
|
+
const tx = canonicalPurchase(listing, lock);
|
|
105
|
+
const other = new P2PKH().lock(new PrivateKey(7007).toAddress());
|
|
106
|
+
const res = await unlockByScript(asWallet(wallet), tx, 1, lock, 1, undefined, [{ vout: 2, lockingScript: other }]);
|
|
107
|
+
expect('error' in res && /not an approved receive output/.test(res.error)).toBe(true);
|
|
66
108
|
});
|
|
67
109
|
});
|
|
68
110
|
//# sourceMappingURL=unlockInput.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unlockInput.test.js","sourceRoot":"","sources":["../../src/pipeline/unlockInput.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAEN,KAAK,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,MAAM,EACN,WAAW,GAEX,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;AACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;AACtC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAA;AAEhD,yEAAyE;AACzE,uCAAuC;AACvC,SAAS,QAAQ,CAAC,CAAc;IAC/B,OAAO,CAA+B,CAAA;AACvC,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,MAAmB,EAAE,KAAa;IAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QAC/C,UAAU,EAAE,cAAc;QAC1B,KAAK;QACL,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,IAAI;KACb,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAC1B,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAC3C,OAAO,EACP,IAAI,CACJ,CAAA;IACD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAqB,EAAE,CAAC,CAAA;IACxE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AACzB,CAAC;AAED,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;QACpD,MAAM,KAAK,GAAG,OAAO,CAAA;QACrB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACxD,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAA;QAC5B,EAAE,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAA;QACjE,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"unlockInput.test.js","sourceRoot":"","sources":["../../src/pipeline/unlockInput.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,12 @@
|
|
|
12
12
|
* the change to a freshly BRC-29-derived address recorded in `FUNDING_BASKET`.
|
|
13
13
|
* From that point the funds are normal BRC-29 funding, available for
|
|
14
14
|
* ordinary spending under the wallet's standard funding protocol.
|
|
15
|
+
*
|
|
16
|
+
* Outputs tagged `hold:<unix ms>` are skipped until the wallet clock passes
|
|
17
|
+
* that value. Actions that prepare a short-lived output here (OrdLock v2
|
|
18
|
+
* purchase front funding) use the hold so a sync tick cannot sweep it out
|
|
19
|
+
* from under the transaction about to spend it; if that transaction never
|
|
20
|
+
* happens, the hold expires and the next sweep reclaims the output.
|
|
15
21
|
*/
|
|
16
22
|
import type { Action, ActionOptions } from '../types.js';
|
|
17
23
|
export interface SweepDepositInput extends ActionOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sweepDeposit.d.ts","sourceRoot":"","sources":["../../src/sweep/sweepDeposit.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sweepDeposit.d.ts","sourceRoot":"","sources":["../../src/sweep/sweepDeposit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAQxD,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;AAkBD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAuHtE,CAAA"}
|
|
@@ -12,8 +12,14 @@
|
|
|
12
12
|
* the change to a freshly BRC-29-derived address recorded in `FUNDING_BASKET`.
|
|
13
13
|
* From that point the funds are normal BRC-29 funding, available for
|
|
14
14
|
* ordinary spending under the wallet's standard funding protocol.
|
|
15
|
+
*
|
|
16
|
+
* Outputs tagged `hold:<unix ms>` are skipped until the wallet clock passes
|
|
17
|
+
* that value. Actions that prepare a short-lived output here (OrdLock v2
|
|
18
|
+
* purchase front funding) use the hold so a sync tick cannot sweep it out
|
|
19
|
+
* from under the transaction about to spend it; if that transaction never
|
|
20
|
+
* happens, the hold expires and the next sweep reclaims the output.
|
|
15
21
|
*/
|
|
16
|
-
import { DEPOSIT_BASKET, P1SAT_PROTOCOL } from '@1sat/types';
|
|
22
|
+
import { DEPOSIT_BASKET, P1SAT_PROTOCOL, isDepositHeld } from '@1sat/types';
|
|
17
23
|
import { executeTrackedAction } from '../utils/createTrackedAction.js';
|
|
18
24
|
import { signP2PKHInput } from '../utils/signP2PKH.js';
|
|
19
25
|
// ============================================================================
|
|
@@ -44,6 +50,7 @@ export const sweepDeposit = {
|
|
|
44
50
|
// reassembles it here when the deposit isn't yet proven.
|
|
45
51
|
const list = await ctx.wallet.listOutputs({
|
|
46
52
|
basket: DEPOSIT_BASKET,
|
|
53
|
+
includeTags: true,
|
|
47
54
|
includeCustomInstructions: true,
|
|
48
55
|
include: 'entire transactions',
|
|
49
56
|
limit,
|
|
@@ -52,10 +59,13 @@ export const sweepDeposit = {
|
|
|
52
59
|
return { swept: 0 };
|
|
53
60
|
}
|
|
54
61
|
const inputBEEF = list.BEEF ? Array.from(list.BEEF) : undefined;
|
|
62
|
+
const now = Date.now();
|
|
55
63
|
const inputs = [];
|
|
56
64
|
for (const out of list.outputs) {
|
|
57
65
|
if (!out.customInstructions)
|
|
58
66
|
continue;
|
|
67
|
+
if (isDepositHeld(out.tags, now))
|
|
68
|
+
continue;
|
|
59
69
|
let parsed;
|
|
60
70
|
try {
|
|
61
71
|
parsed = JSON.parse(out.customInstructions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sweepDeposit.js","sourceRoot":"","sources":["../../src/sweep/sweepDeposit.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sweepDeposit.js","sourceRoot":"","sources":["../../src/sweep/sweepDeposit.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export interface AddressSyncMonitorTask {
|
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Builds a monitor task that periodically internalizes payments to
|
|
25
|
-
*
|
|
25
|
+
* P1SAT deposit addresses. Add it after wallet create, then call
|
|
26
26
|
* `monitor.runOnce()` — the factory's boot `runOnce` runs before
|
|
27
27
|
* callers can `addTask`.
|
|
28
28
|
*
|
|
@@ -7,7 +7,7 @@ export const DEFAULT_ADDRESS_SYNC_INTERVAL_MS = 60_000;
|
|
|
7
7
|
export const ADDRESS_SYNC_TASK_NAME = 'AddressSync';
|
|
8
8
|
/**
|
|
9
9
|
* Builds a monitor task that periodically internalizes payments to
|
|
10
|
-
*
|
|
10
|
+
* P1SAT deposit addresses. Add it after wallet create, then call
|
|
11
11
|
* `monitor.runOnce()` — the factory's boot `runOnce` runs before
|
|
12
12
|
* callers can `addTask`.
|
|
13
13
|
*
|
package/dist/sync/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Address Sync Action
|
|
3
3
|
*
|
|
4
|
-
* Derives
|
|
4
|
+
* Derives P1SAT deposit addresses, fetches new outputs from the
|
|
5
5
|
* 1sat-stack indexer (triggering lazy indexing), classifies them
|
|
6
6
|
* with the indexer pipeline, and internalizes them into the wallet.
|
|
7
7
|
*/
|
package/dist/sync/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Address Sync Action
|
|
3
3
|
*
|
|
4
|
-
* Derives
|
|
4
|
+
* Derives P1SAT deposit addresses, fetches new outputs from the
|
|
5
5
|
* 1sat-stack indexer (triggering lazy indexing), classifies them
|
|
6
6
|
* with the indexer pipeline, and internalizes them into the wallet.
|
|
7
7
|
*/
|
|
@@ -45,7 +45,7 @@ async function openStore(identityKey, dataDir) {
|
|
|
45
45
|
export const syncAddresses = {
|
|
46
46
|
meta: {
|
|
47
47
|
name: 'syncAddresses',
|
|
48
|
-
description: 'Sync external payments to
|
|
48
|
+
description: 'Sync external payments to P1SAT deposit addresses into the wallet',
|
|
49
49
|
category: 'sync',
|
|
50
50
|
inputSchema: {
|
|
51
51
|
type: 'object',
|
package/dist/sync/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAEN,sBAAsB,EACtB,eAAe,GACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,SAAS,EAAuB,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAEN,eAAe,GACf,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,gBAAgB,GAAG,CAAC,CAAA;AAI1B,MAAM,cAAc,GAAqB;IACxC,eAAe;IACf,sBAAsB;CACtB,CAAA;AAkCD,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,KAAK,UAAU,SAAS,CACvB,WAAmB,EACnB,OAAgB;IAEhB,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;QACtC,OAAO,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACpC,MAAM,MAAM,GAAG,GAAG,GAAG,SAAS,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAA;IAE3D,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,IAAI,GACT,UACA,CAAC,OAAO,EAAE,gBAAgB,CAAA;IAC3B,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACrE,CAAC;IACD,MAAM,QAAQ,GAAG,CAChB,KAAK,IAAI,UAAU;QAClB,CAAC,CAAE,IAAI,CAAC,YAAY,CAA2B,CAAC,QAAQ;QACxD,CAAC,CAAE,IAAI,CAAC,aAAa,CAA+B,CAAC,YAAY,CACb,CAAA;IACtD,OAAO,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AACrD,CAAC;AAED,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAoD;IAC7E,IAAI,EAAE;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EACV,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"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"}
|