@1sat/actions 0.0.197 → 0.0.199
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 +7 -15
- package/dist/apply/applyIntent.d.ts.map +1 -1
- package/dist/apply/applyIntent.js +76 -25
- package/dist/apply/applyIntent.js.map +1 -1
- package/dist/apply/index.d.ts +1 -1
- package/dist/apply/index.d.ts.map +1 -1
- package/dist/apply/index.js +1 -1
- package/dist/apply/index.js.map +1 -1
- package/dist/apply/inscribeSigma.d.ts +1 -1
- package/dist/apply/inscribeSigma.d.ts.map +1 -1
- package/dist/apply/inscribeSigma.js +20 -13
- package/dist/apply/inscribeSigma.js.map +1 -1
- package/dist/apply/prepare.d.ts +12 -7
- package/dist/apply/prepare.d.ts.map +1 -1
- package/dist/apply/prepare.js +3 -21
- package/dist/apply/prepare.js.map +1 -1
- package/dist/apply/registry.d.ts +3 -2
- package/dist/apply/registry.d.ts.map +1 -1
- package/dist/apply/registry.js +7 -26
- package/dist/apply/registry.js.map +1 -1
- package/dist/apply/stampScriptTags.d.ts.map +1 -1
- package/dist/apply/stampScriptTags.js +8 -1
- package/dist/apply/stampScriptTags.js.map +1 -1
- package/dist/collections/index.d.ts.map +1 -1
- package/dist/collections/index.js +77 -51
- package/dist/collections/index.js.map +1 -1
- 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/cosign/finalize.js +1 -2
- package/dist/cosign/finalize.js.map +1 -1
- package/dist/index.d.ts +11 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/inscriptions/index.d.ts.map +1 -1
- package/dist/inscriptions/index.js +34 -39
- package/dist/inscriptions/index.js.map +1 -1
- package/dist/locks/index.d.ts +1 -1
- package/dist/locks/index.d.ts.map +1 -1
- package/dist/locks/index.js +28 -13
- package/dist/locks/index.js.map +1 -1
- package/dist/opns/index.d.ts.map +1 -1
- package/dist/opns/index.js +60 -50
- package/dist/opns/index.js.map +1 -1
- package/dist/ordinals/index.d.ts +1 -2
- package/dist/ordinals/index.d.ts.map +1 -1
- package/dist/ordinals/index.js +84 -93
- package/dist/ordinals/index.js.map +1 -1
- package/dist/pipeline/index.d.ts +4 -0
- package/dist/pipeline/index.d.ts.map +1 -0
- package/dist/pipeline/index.js +4 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/runPipeline.d.ts +30 -0
- package/dist/pipeline/runPipeline.d.ts.map +1 -0
- package/dist/pipeline/runPipeline.js +82 -0
- package/dist/pipeline/runPipeline.js.map +1 -0
- package/dist/pipeline/spendTargets.d.ts +52 -0
- package/dist/pipeline/spendTargets.d.ts.map +1 -0
- package/dist/pipeline/spendTargets.js +87 -0
- package/dist/pipeline/spendTargets.js.map +1 -0
- package/dist/pipeline/unlockInput.d.ts +49 -0
- package/dist/pipeline/unlockInput.d.ts.map +1 -0
- package/dist/pipeline/unlockInput.js +316 -0
- package/dist/pipeline/unlockInput.js.map +1 -0
- package/dist/signing/index.d.ts +1 -1
- package/dist/signing/index.d.ts.map +1 -1
- package/dist/signing/index.js +1 -1
- package/dist/signing/index.js.map +1 -1
- package/dist/signing/sigma.d.ts +13 -17
- package/dist/signing/sigma.d.ts.map +1 -1
- package/dist/signing/sigma.js +37 -40
- package/dist/signing/sigma.js.map +1 -1
- package/dist/sweep/index.d.ts.map +1 -1
- package/dist/sweep/index.js +20 -17
- package/dist/sweep/index.js.map +1 -1
- package/dist/sync/syncCosignDeliveries.d.ts.map +1 -1
- package/dist/sync/syncCosignDeliveries.js +30 -20
- package/dist/sync/syncCosignDeliveries.js.map +1 -1
- package/dist/tokens/index.d.ts +8 -0
- package/dist/tokens/index.d.ts.map +1 -1
- package/dist/tokens/index.js +246 -174
- package/dist/tokens/index.js.map +1 -1
- package/dist/types.d.ts +16 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/bsv21Remittance.d.ts +63 -0
- package/dist/utils/bsv21Remittance.d.ts.map +1 -0
- package/dist/utils/bsv21Remittance.js +146 -0
- package/dist/utils/bsv21Remittance.js.map +1 -0
- package/dist/utils/bsv21Remittance.test.d.ts +2 -0
- package/dist/utils/bsv21Remittance.test.d.ts.map +1 -0
- package/dist/utils/bsv21Remittance.test.js +115 -0
- package/dist/utils/bsv21Remittance.test.js.map +1 -0
- package/dist/utils/createTrackedAction.d.ts +42 -38
- package/dist/utils/createTrackedAction.d.ts.map +1 -1
- package/dist/utils/createTrackedAction.js +147 -79
- package/dist/utils/createTrackedAction.js.map +1 -1
- package/dist/utils/hasOneSatModule.d.ts +14 -0
- package/dist/utils/hasOneSatModule.d.ts.map +1 -0
- package/dist/utils/hasOneSatModule.js +31 -0
- package/dist/utils/hasOneSatModule.js.map +1 -0
- package/dist/utils/internalizeBeef.d.ts.map +1 -1
- package/dist/utils/internalizeBeef.js +37 -12
- package/dist/utils/internalizeBeef.js.map +1 -1
- package/dist/utils/loadBasketOutput.d.ts +1 -1
- package/dist/utils/loadBasketOutput.d.ts.map +1 -1
- package/dist/utils/loadBasketOutput.js +11 -3
- package/dist/utils/loadBasketOutput.js.map +1 -1
- package/dist/utils/moveBasket.d.ts +37 -0
- package/dist/utils/moveBasket.d.ts.map +1 -0
- package/dist/utils/moveBasket.js +115 -0
- package/dist/utils/moveBasket.js.map +1 -0
- package/dist/utils/ordinalRemittance.d.ts +33 -0
- package/dist/utils/ordinalRemittance.d.ts.map +1 -0
- package/dist/utils/ordinalRemittance.js +70 -0
- package/dist/utils/ordinalRemittance.js.map +1 -0
- package/dist/utils/ordinalSeedTags.d.ts +5 -3
- package/dist/utils/ordinalSeedTags.d.ts.map +1 -1
- package/dist/utils/ordinalSeedTags.js +34 -7
- package/dist/utils/ordinalSeedTags.js.map +1 -1
- package/dist/utils/resolveDestination.d.ts +3 -6
- package/dist/utils/resolveDestination.d.ts.map +1 -1
- package/dist/utils/resolveDestination.js +5 -1
- package/dist/utils/resolveDestination.js.map +1 -1
- package/dist/utils/signOrdinalInput.d.ts +3 -2
- package/dist/utils/signOrdinalInput.d.ts.map +1 -1
- package/dist/utils/signOrdinalInput.js +18 -13
- package/dist/utils/signOrdinalInput.js.map +1 -1
- package/dist/utils/stampBsv21OutputCi.d.ts +16 -0
- package/dist/utils/stampBsv21OutputCi.d.ts.map +1 -0
- package/dist/utils/stampBsv21OutputCi.js +90 -0
- package/dist/utils/stampBsv21OutputCi.js.map +1 -0
- package/dist/utils/stampOrdinalOutputCi.d.ts +15 -0
- package/dist/utils/stampOrdinalOutputCi.d.ts.map +1 -0
- package/dist/utils/stampOrdinalOutputCi.js +103 -0
- package/dist/utils/stampOrdinalOutputCi.js.map +1 -0
- package/dist/utils/walletMetadataCi.d.ts +23 -0
- package/dist/utils/walletMetadataCi.d.ts.map +1 -0
- package/dist/utils/walletMetadataCi.js +70 -0
- package/dist/utils/walletMetadataCi.js.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authoritative BSV-21 CI stamp — shared by local apply and module embellish.
|
|
3
|
+
*
|
|
4
|
+
* For each output that already has CI and a BSV-21 locking script:
|
|
5
|
+
* - Start from caller CI (keep derivation / extras)
|
|
6
|
+
* - Overwrite load-bearing fields from script + spent-input carry
|
|
7
|
+
* - Preserve encryption state: plaintext in → plaintext out; ciphertext in →
|
|
8
|
+
* peel → merge → re-encrypt (WPM encrypts before module onRequest)
|
|
9
|
+
*/
|
|
10
|
+
import { BSV21_BASKET, parseInputAssetLabels } from '@1sat/types';
|
|
11
|
+
import { BSV21 } from '@1sat/templates';
|
|
12
|
+
import { Script, } from '@bsv/sdk';
|
|
13
|
+
import { bsv21FieldsFromOutput, overwriteBsv21CiFields, } from './bsv21Remittance';
|
|
14
|
+
import { loadBasketOutput } from './loadBasketOutput';
|
|
15
|
+
import { encryptWalletMetadataCi, ensurePlaintextCi, looksLikeJson, } from './walletMetadataCi';
|
|
16
|
+
async function carryFieldsFromInputs(wallet, labels) {
|
|
17
|
+
const out = new Map();
|
|
18
|
+
const refs = parseInputAssetLabels(labels ?? []).filter((r) => r.basket === BSV21_BASKET);
|
|
19
|
+
for (const ref of refs) {
|
|
20
|
+
const loaded = await loadBasketOutput(wallet, BSV21_BASKET, ref.id);
|
|
21
|
+
if ('error' in loaded)
|
|
22
|
+
continue;
|
|
23
|
+
const f = bsv21FieldsFromOutput({
|
|
24
|
+
tags: loaded.output.tags,
|
|
25
|
+
customInstructions: loaded.output.customInstructions,
|
|
26
|
+
outpoint: loaded.output.outpoint,
|
|
27
|
+
});
|
|
28
|
+
if (!f.tokenId)
|
|
29
|
+
continue;
|
|
30
|
+
out.set(f.tokenId, {
|
|
31
|
+
...(f.tokenId && { id: f.tokenId }),
|
|
32
|
+
...(f.sym && { sym: f.sym }),
|
|
33
|
+
...(f.dec && { dec: f.dec }),
|
|
34
|
+
...(f.icon && { icon: f.icon }),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return out;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Overwrite BSV-21 token fields on output CI from script + input carry.
|
|
41
|
+
* Call from {@link applyP1SatCreateAction} so local and module paths share it.
|
|
42
|
+
*/
|
|
43
|
+
export async function stampBsv21OutputCustomInstructions(wallet, args) {
|
|
44
|
+
const outputs = args.outputs;
|
|
45
|
+
if (!outputs?.length)
|
|
46
|
+
return;
|
|
47
|
+
const carry = await carryFieldsFromInputs(wallet, args.labels);
|
|
48
|
+
for (const out of outputs) {
|
|
49
|
+
const raw = out.customInstructions;
|
|
50
|
+
if (!raw || !out.lockingScript)
|
|
51
|
+
continue;
|
|
52
|
+
let script;
|
|
53
|
+
try {
|
|
54
|
+
script = Script.fromHex(out.lockingScript);
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
const decoded = BSV21.decode(script);
|
|
60
|
+
if (!decoded)
|
|
61
|
+
continue;
|
|
62
|
+
const td = decoded.tokenData;
|
|
63
|
+
const tokenId = typeof td.id === 'string' ? td.id : undefined;
|
|
64
|
+
const fromInput = tokenId ? carry.get(tokenId) : undefined;
|
|
65
|
+
const auth = {
|
|
66
|
+
...(tokenId && { id: tokenId }),
|
|
67
|
+
...(td.amt != null && td.amt !== '' && { amt: String(td.amt) }),
|
|
68
|
+
...(td.op && { op: td.op }),
|
|
69
|
+
...(td.sym && { sym: td.sym }),
|
|
70
|
+
...(td.dec !== undefined && td.dec !== null && { dec: td.dec }),
|
|
71
|
+
...(td.icon && { icon: td.icon }),
|
|
72
|
+
};
|
|
73
|
+
if (!auth.sym && fromInput?.sym)
|
|
74
|
+
auth.sym = fromInput.sym;
|
|
75
|
+
if (auth.dec === undefined && fromInput?.dec !== undefined) {
|
|
76
|
+
auth.dec = fromInput.dec;
|
|
77
|
+
}
|
|
78
|
+
if (!auth.icon && fromInput?.icon)
|
|
79
|
+
auth.icon = fromInput.icon;
|
|
80
|
+
const wasEncrypted = !looksLikeJson(raw);
|
|
81
|
+
const plain = await ensurePlaintextCi(wallet, raw);
|
|
82
|
+
if (!plain || !looksLikeJson(plain))
|
|
83
|
+
continue;
|
|
84
|
+
const merged = overwriteBsv21CiFields(plain, auth);
|
|
85
|
+
out.customInstructions = wasEncrypted
|
|
86
|
+
? await encryptWalletMetadataCi(wallet, merged)
|
|
87
|
+
: merged;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=stampBsv21OutputCi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stampBsv21OutputCi.js","sourceRoot":"","sources":["../../src/utils/stampBsv21OutputCi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authoritative ordinal/OpNS CI stamp — shared by local apply and module.
|
|
3
|
+
*
|
|
4
|
+
* For basketed outs with CI on `1sat` / `opns`:
|
|
5
|
+
* - Start from caller CI (keep derivation)
|
|
6
|
+
* - Overwrite origin/content/app/collection/name from output tags + spent inputs
|
|
7
|
+
* - Preserve encryption state (plaintext vs WPM ciphertext)
|
|
8
|
+
*/
|
|
9
|
+
import type { CreateActionArgs, WalletInterface } from '@bsv/sdk';
|
|
10
|
+
/**
|
|
11
|
+
* Overwrite ordinal/OpNS remittance on output CI from tags + input carry.
|
|
12
|
+
* Call from {@link applyP1SatCreateAction}.
|
|
13
|
+
*/
|
|
14
|
+
export declare function stampOrdinalOutputCustomInstructions(wallet: WalletInterface, args: CreateActionArgs): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=stampOrdinalOutputCi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stampOrdinalOutputCi.d.ts","sourceRoot":"","sources":["../../src/utils/stampOrdinalOutputCi.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAyEjE;;;GAGG;AACH,wBAAsB,oCAAoC,CACzD,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,gBAAgB,GACpB,OAAO,CAAC,IAAI,CAAC,CAiCf"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authoritative ordinal/OpNS CI stamp — shared by local apply and module.
|
|
3
|
+
*
|
|
4
|
+
* For basketed outs with CI on `1sat` / `opns`:
|
|
5
|
+
* - Start from caller CI (keep derivation)
|
|
6
|
+
* - Overwrite origin/content/app/collection/name from output tags + spent inputs
|
|
7
|
+
* - Preserve encryption state (plaintext vs WPM ciphertext)
|
|
8
|
+
*/
|
|
9
|
+
import { ONESAT_BASKET, OPNS_BASKET, ORDINALS_BASKET, parseInputAssetLabels, } from '@1sat/types';
|
|
10
|
+
import { loadBasketOutput } from './loadBasketOutput';
|
|
11
|
+
import { overwriteOrdinalCiFields, remittanceFromOrdinalTags, } from './ordinalRemittance';
|
|
12
|
+
import { encryptWalletMetadataCi, ensurePlaintextCi, looksLikeJson, } from './walletMetadataCi';
|
|
13
|
+
const COLLECTABLE_BASKETS = new Set([
|
|
14
|
+
ONESAT_BASKET,
|
|
15
|
+
ORDINALS_BASKET,
|
|
16
|
+
OPNS_BASKET,
|
|
17
|
+
]);
|
|
18
|
+
async function carryFromInputs(wallet, labels) {
|
|
19
|
+
const out = new Map();
|
|
20
|
+
const refs = parseInputAssetLabels(labels ?? []).filter((r) => COLLECTABLE_BASKETS.has(r.basket));
|
|
21
|
+
for (const ref of refs) {
|
|
22
|
+
const loaded = await loadBasketOutput(wallet, ref.basket, ref.id);
|
|
23
|
+
if ('error' in loaded)
|
|
24
|
+
continue;
|
|
25
|
+
const fromTags = remittanceFromOrdinalTags(loaded.output.tags);
|
|
26
|
+
let fromCi = {};
|
|
27
|
+
const ci = loaded.output.customInstructions;
|
|
28
|
+
if (ci && looksLikeJson(ci)) {
|
|
29
|
+
try {
|
|
30
|
+
const o = JSON.parse(ci);
|
|
31
|
+
fromCi = {
|
|
32
|
+
...(typeof o.origin === 'string' && { origin: o.origin }),
|
|
33
|
+
...(typeof o.content === 'string' && { content: o.content }),
|
|
34
|
+
...(typeof o.app === 'string' && { app: o.app }),
|
|
35
|
+
...(typeof o.collection === 'string' && {
|
|
36
|
+
collection: o.collection,
|
|
37
|
+
}),
|
|
38
|
+
...(typeof o.name === 'string' && { name: o.name }),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// ignore
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// CI preferred, tags fill gaps (same as BSV-21 read order).
|
|
46
|
+
out.set(`${ref.basket}:${ref.id}`, {
|
|
47
|
+
...fromTags,
|
|
48
|
+
...fromCi,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return out;
|
|
52
|
+
}
|
|
53
|
+
function mergeAuth(fromTags, fromInputs) {
|
|
54
|
+
const auth = { ...fromTags };
|
|
55
|
+
for (const inp of fromInputs) {
|
|
56
|
+
if (!auth.origin && inp.origin)
|
|
57
|
+
auth.origin = inp.origin;
|
|
58
|
+
if (!auth.content && inp.content)
|
|
59
|
+
auth.content = inp.content;
|
|
60
|
+
if (!auth.app && inp.app)
|
|
61
|
+
auth.app = inp.app;
|
|
62
|
+
if (!auth.collection && inp.collection)
|
|
63
|
+
auth.collection = inp.collection;
|
|
64
|
+
if (!auth.name && inp.name)
|
|
65
|
+
auth.name = inp.name;
|
|
66
|
+
}
|
|
67
|
+
return auth;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Overwrite ordinal/OpNS remittance on output CI from tags + input carry.
|
|
71
|
+
* Call from {@link applyP1SatCreateAction}.
|
|
72
|
+
*/
|
|
73
|
+
export async function stampOrdinalOutputCustomInstructions(wallet, args) {
|
|
74
|
+
const outputs = args.outputs;
|
|
75
|
+
if (!outputs?.length)
|
|
76
|
+
return;
|
|
77
|
+
const carry = await carryFromInputs(wallet, args.labels);
|
|
78
|
+
const carried = [...carry.values()];
|
|
79
|
+
for (const out of outputs) {
|
|
80
|
+
const raw = out.customInstructions;
|
|
81
|
+
const basket = out.basket?.trim().toLowerCase();
|
|
82
|
+
if (!raw || !basket || !COLLECTABLE_BASKETS.has(basket))
|
|
83
|
+
continue;
|
|
84
|
+
const fromTags = remittanceFromOrdinalTags(out.tags);
|
|
85
|
+
const auth = mergeAuth(fromTags, carried);
|
|
86
|
+
if (!auth.origin &&
|
|
87
|
+
!auth.content &&
|
|
88
|
+
!auth.app &&
|
|
89
|
+
!auth.collection &&
|
|
90
|
+
!auth.name) {
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
const wasEncrypted = !looksLikeJson(raw);
|
|
94
|
+
const plain = await ensurePlaintextCi(wallet, raw);
|
|
95
|
+
if (!plain || !looksLikeJson(plain))
|
|
96
|
+
continue;
|
|
97
|
+
const merged = overwriteOrdinalCiFields(plain, auth);
|
|
98
|
+
out.customInstructions = wasEncrypted
|
|
99
|
+
? await encryptWalletMetadataCi(wallet, merged)
|
|
100
|
+
: merged;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=stampOrdinalOutputCi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stampOrdinalOutputCi.js","sourceRoot":"","sources":["../../src/utils/stampOrdinalOutputCi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single codec for WPM `encryptWalletMetadata` customInstructions.
|
|
3
|
+
*
|
|
4
|
+
* Contract for the actions layer:
|
|
5
|
+
* - Storage may hold base64 ciphertext (base wallet list) or plaintext JSON
|
|
6
|
+
* (after WPM list decrypt, or encrypt off).
|
|
7
|
+
* - Every read path normalizes to plaintext JSON via {@link ensurePlaintextCi}.
|
|
8
|
+
* - Write paths hand plaintext to WPM createAction/internalize (WPM encrypts),
|
|
9
|
+
* except module onRequest which runs *after* WPM encrypt and must
|
|
10
|
+
* re-encrypt via {@link encryptWalletMetadataCi} when it mutates CI.
|
|
11
|
+
*/
|
|
12
|
+
import { type WalletInterface } from '@bsv/sdk';
|
|
13
|
+
/** Same protocol WPM uses for description/CI encryption. */
|
|
14
|
+
export declare const METADATA_ENCRYPTION_PROTOCOL: [2, string];
|
|
15
|
+
export declare function looksLikeJson(value: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Normalize CI to plaintext JSON when possible.
|
|
18
|
+
* Peels WPM layers (including legacy double-encrypt) until JSON or give up.
|
|
19
|
+
*/
|
|
20
|
+
export declare function ensurePlaintextCi(wallet: WalletInterface, value: string | undefined): Promise<string | undefined>;
|
|
21
|
+
/** Encrypt plaintext CI the way WPM does at rest. */
|
|
22
|
+
export declare function encryptWalletMetadataCi(wallet: WalletInterface, plaintext: string): Promise<string>;
|
|
23
|
+
//# sourceMappingURL=walletMetadataCi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walletMetadataCi.d.ts","sourceRoot":"","sources":["../../src/utils/walletMetadataCi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAS,KAAK,eAAe,EAAE,MAAM,UAAU,CAAA;AAEtD,4DAA4D;AAC5D,eAAO,MAAM,4BAA4B,EAAE,CAAC,CAAC,EAAE,MAAM,CAGpD,CAAA;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAOpD;AAmBD;;;GAGG;AACH,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU7B;AAED,qDAAqD;AACrD,wBAAsB,uBAAuB,CAC5C,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAQjB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single codec for WPM `encryptWalletMetadata` customInstructions.
|
|
3
|
+
*
|
|
4
|
+
* Contract for the actions layer:
|
|
5
|
+
* - Storage may hold base64 ciphertext (base wallet list) or plaintext JSON
|
|
6
|
+
* (after WPM list decrypt, or encrypt off).
|
|
7
|
+
* - Every read path normalizes to plaintext JSON via {@link ensurePlaintextCi}.
|
|
8
|
+
* - Write paths hand plaintext to WPM createAction/internalize (WPM encrypts),
|
|
9
|
+
* except module onRequest which runs *after* WPM encrypt and must
|
|
10
|
+
* re-encrypt via {@link encryptWalletMetadataCi} when it mutates CI.
|
|
11
|
+
*/
|
|
12
|
+
import { Utils } from '@bsv/sdk';
|
|
13
|
+
/** Same protocol WPM uses for description/CI encryption. */
|
|
14
|
+
export const METADATA_ENCRYPTION_PROTOCOL = [
|
|
15
|
+
2,
|
|
16
|
+
'admin metadata encryption',
|
|
17
|
+
];
|
|
18
|
+
const MAX_PEEL = 3;
|
|
19
|
+
export function looksLikeJson(value) {
|
|
20
|
+
try {
|
|
21
|
+
JSON.parse(value);
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function tryDecryptOnce(wallet, value) {
|
|
29
|
+
try {
|
|
30
|
+
const { plaintext } = await wallet.decrypt({
|
|
31
|
+
ciphertext: Utils.toArray(value, 'base64'),
|
|
32
|
+
protocolID: METADATA_ENCRYPTION_PROTOCOL,
|
|
33
|
+
keyID: '1',
|
|
34
|
+
counterparty: 'self',
|
|
35
|
+
});
|
|
36
|
+
return Utils.toUTF8(plaintext);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Normalize CI to plaintext JSON when possible.
|
|
44
|
+
* Peels WPM layers (including legacy double-encrypt) until JSON or give up.
|
|
45
|
+
*/
|
|
46
|
+
export async function ensurePlaintextCi(wallet, value) {
|
|
47
|
+
if (value == null || value === '')
|
|
48
|
+
return undefined;
|
|
49
|
+
let cur = value;
|
|
50
|
+
for (let i = 0; i < MAX_PEEL; i++) {
|
|
51
|
+
if (looksLikeJson(cur))
|
|
52
|
+
return cur;
|
|
53
|
+
const next = await tryDecryptOnce(wallet, cur);
|
|
54
|
+
if (next == null || next === cur)
|
|
55
|
+
return cur;
|
|
56
|
+
cur = next;
|
|
57
|
+
}
|
|
58
|
+
return cur;
|
|
59
|
+
}
|
|
60
|
+
/** Encrypt plaintext CI the way WPM does at rest. */
|
|
61
|
+
export async function encryptWalletMetadataCi(wallet, plaintext) {
|
|
62
|
+
const { ciphertext } = await wallet.encrypt({
|
|
63
|
+
plaintext: Utils.toArray(plaintext, 'utf8'),
|
|
64
|
+
protocolID: METADATA_ENCRYPTION_PROTOCOL,
|
|
65
|
+
keyID: '1',
|
|
66
|
+
counterparty: 'self',
|
|
67
|
+
});
|
|
68
|
+
return Utils.toBase64(ciphertext);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=walletMetadataCi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walletMetadataCi.js","sourceRoot":"","sources":["../../src/utils/walletMetadataCi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAwB,MAAM,UAAU,CAAA;AAEtD,4DAA4D;AAC5D,MAAM,CAAC,MAAM,4BAA4B,GAAgB;IACxD,CAAC;IACD,2BAA2B;CAC3B,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,CAAA;AAElB,MAAM,UAAU,aAAa,CAAC,KAAa;IAC1C,IAAI,CAAC;QACJ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACjB,OAAO,IAAI,CAAA;IACZ,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC;AAED,KAAK,UAAU,cAAc,CAC5B,MAAuB,EACvB,KAAa;IAEb,IAAI,CAAC;QACJ,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YAC1C,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC1C,UAAU,EAAE,4BAA4B;YACxC,KAAK,EAAE,GAAG;YACV,YAAY,EAAE,MAAM;SACpB,CAAC,CAAA;QACF,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC/B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAA;IACjB,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,MAAuB,EACvB,KAAyB;IAEzB,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IACnD,IAAI,GAAG,GAAG,KAAK,CAAA;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,aAAa,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAA;QAClC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC9C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG;YAAE,OAAO,GAAG,CAAA;QAC5C,GAAG,GAAG,IAAI,CAAA;IACX,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,MAAuB,EACvB,SAAiB;IAEjB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC3C,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3C,UAAU,EAAE,4BAA4B;QACxC,KAAK,EAAE,GAAG;QACV,YAAY,EAAE,MAAM;KACpB,CAAC,CAAA;IACF,OAAO,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;AAClC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1sat/actions",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.199",
|
|
4
4
|
"description": "Action definitions for the 1Sat SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
],
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@1sat/client": "0.0.
|
|
33
|
-
"@1sat/types": "0.0.
|
|
34
|
-
"@1sat/utils": "0.0.
|
|
35
|
-
"@1sat/wallet": "0.0.
|
|
36
|
-
"@1sat/templates": "0.0.
|
|
32
|
+
"@1sat/client": "0.0.50",
|
|
33
|
+
"@1sat/types": "0.0.40",
|
|
34
|
+
"@1sat/utils": "0.0.33",
|
|
35
|
+
"@1sat/wallet": "0.0.104",
|
|
36
|
+
"@1sat/templates": "0.0.31",
|
|
37
37
|
"@bsv/message-box-client": "^2.2.1"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
@@ -42,6 +42,6 @@
|
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@bsv/sdk": "^2.1.9",
|
|
44
44
|
"typescript": "^5.9.3",
|
|
45
|
-
"@1sat/wallet-remote": "0.0.
|
|
45
|
+
"@1sat/wallet-remote": "0.0.61"
|
|
46
46
|
}
|
|
47
47
|
}
|