@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
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ordfs/dir` — binary directory manifest codec.
|
|
3
|
+
*
|
|
4
|
+
* The binary sibling of the `ord-fs/json` manifest: same logical structure
|
|
5
|
+
* (a directory maps child names to outpoint references), encoded as a fixed
|
|
6
|
+
* byte layout so the encoding is canonical — same logical directory always
|
|
7
|
+
* produces byte-identical output, giving manifests a stable SHA-256.
|
|
8
|
+
*
|
|
9
|
+
* Layout (all integers big-endian; no varints; no padding):
|
|
10
|
+
*
|
|
11
|
+
* dir :=
|
|
12
|
+
* [1B version] 0x01
|
|
13
|
+
* [2B entry count] uint16
|
|
14
|
+
* [entries × N] sorted ascending by raw name bytes
|
|
15
|
+
*
|
|
16
|
+
* entry :=
|
|
17
|
+
* [1B flags]
|
|
18
|
+
* bit0 KIND 0 = file, 1 = directory
|
|
19
|
+
* bit1 EXEC executable (file)
|
|
20
|
+
* bit2 SYMLINK content = target path (file)
|
|
21
|
+
* bit3 REFTYPE 0 = same-tx output, 1 = full outpoint
|
|
22
|
+
* bits4–7 MUST be zero
|
|
23
|
+
* [1B name length] 1..255
|
|
24
|
+
* [NB name] raw UTF-8 path component; no 0x00, no '/'
|
|
25
|
+
* [target]
|
|
26
|
+
* REFTYPE 0: [1B vout] sibling output in the same tx
|
|
27
|
+
* REFTYPE 1: [32B txid][4B vout] exact Bitcoin outpoint bytes
|
|
28
|
+
* (txid internal order, vout LE)
|
|
29
|
+
*
|
|
30
|
+
* Spec: docs/plans/ordfs-formats.html in the gib repo. Writers MUST emit
|
|
31
|
+
* canonical form; readers MUST reject anything else.
|
|
32
|
+
*/
|
|
33
|
+
import { outpointFromWire, outpointToWire } from './outpoint.js';
|
|
34
|
+
/** Content type written on `ordfs/dir` inscription outputs. */
|
|
35
|
+
export const DIR_CONTENT_TYPE = 'ordfs/dir';
|
|
36
|
+
/** Legacy JSON manifest content type (read support only going forward). */
|
|
37
|
+
export const JSON_MANIFEST_CONTENT_TYPE_LEGACY = 'ord-fs/json';
|
|
38
|
+
/** Current manifest format version. */
|
|
39
|
+
export const DIR_VERSION = 1;
|
|
40
|
+
/** Maximum number of entries in one manifest (uint16 entry count). */
|
|
41
|
+
export const MAX_DIR_ENTRIES = 0xffff;
|
|
42
|
+
const FLAG_DIR = 0x01;
|
|
43
|
+
const FLAG_EXEC = 0x02;
|
|
44
|
+
const FLAG_SYMLINK = 0x04;
|
|
45
|
+
const FLAG_REFTYPE = 0x08;
|
|
46
|
+
const FLAGS_RESERVED = 0xf0;
|
|
47
|
+
/** Thrown for any spec violation: malformed, non-canonical, or invalid input. */
|
|
48
|
+
export class DirFormatError extends Error {
|
|
49
|
+
constructor(message) {
|
|
50
|
+
super(message);
|
|
51
|
+
this.name = 'DirFormatError';
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const utf8Encoder = new TextEncoder();
|
|
55
|
+
const utf8Decoder = new TextDecoder('utf-8', { fatal: false });
|
|
56
|
+
/** Compare two byte arrays lexicographically (unsigned bytes). Returns <0, 0, >0. */
|
|
57
|
+
function compareBytes(a, b) {
|
|
58
|
+
const n = Math.min(a.length, b.length);
|
|
59
|
+
for (let i = 0; i < n; i++) {
|
|
60
|
+
if (a[i] !== b[i])
|
|
61
|
+
return a[i] - b[i];
|
|
62
|
+
}
|
|
63
|
+
return a.length - b.length;
|
|
64
|
+
}
|
|
65
|
+
/** Sort key for canonical ordering: ascending by raw name bytes. */
|
|
66
|
+
export function dirEntryNameCompare(a, b) {
|
|
67
|
+
return compareBytes(a.name, b.name);
|
|
68
|
+
}
|
|
69
|
+
/** Validate a single entry (name bytes, flags, ref ranges). Throws DirFormatError. */
|
|
70
|
+
function validateEntry(e) {
|
|
71
|
+
if (e.name.length < 1 || e.name.length > 255) {
|
|
72
|
+
throw new DirFormatError(`entry name length ${e.name.length} out of range 1..255`);
|
|
73
|
+
}
|
|
74
|
+
if (e.name.includes(0x00) || e.name.includes(0x2f)) {
|
|
75
|
+
throw new DirFormatError('entry name must not contain NUL or "/"');
|
|
76
|
+
}
|
|
77
|
+
if (!e.isDir && e.symlink && e.exec) {
|
|
78
|
+
// git has no 111xxx mode; symlink+exec is not a real git state
|
|
79
|
+
throw new DirFormatError('entry cannot be both symlink and exec');
|
|
80
|
+
}
|
|
81
|
+
if (e.ref.kind === 'same-tx') {
|
|
82
|
+
if (!Number.isInteger(e.ref.vout) || e.ref.vout < 0 || e.ref.vout > 255) {
|
|
83
|
+
throw new DirFormatError(`same-tx vout ${e.ref.vout} out of range 0..255`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
if (!Number.isInteger(e.ref.vout) ||
|
|
88
|
+
e.ref.vout < 0 ||
|
|
89
|
+
e.ref.vout > 0xffffffff) {
|
|
90
|
+
throw new DirFormatError(`outpoint vout ${e.ref.vout} out of range`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Encode a directory manifest to canonical bytes.
|
|
96
|
+
*
|
|
97
|
+
* Entries are sorted by raw name bytes; duplicates are rejected. Throws
|
|
98
|
+
* {@link DirFormatError} on any spec violation.
|
|
99
|
+
*/
|
|
100
|
+
export function dirEncode(manifest) {
|
|
101
|
+
if (manifest.version !== DIR_VERSION) {
|
|
102
|
+
throw new DirFormatError(`unsupported dir version ${manifest.version}`);
|
|
103
|
+
}
|
|
104
|
+
const entries = [...manifest.entries];
|
|
105
|
+
if (entries.length > MAX_DIR_ENTRIES) {
|
|
106
|
+
throw new DirFormatError(`entry count ${entries.length} exceeds uint16`);
|
|
107
|
+
}
|
|
108
|
+
entries.sort(dirEntryNameCompare);
|
|
109
|
+
for (let i = 1; i < entries.length; i++) {
|
|
110
|
+
if (compareBytes(entries[i - 1].name, entries[i].name) === 0) {
|
|
111
|
+
const dup = utf8Decoder.decode(entries[i].name);
|
|
112
|
+
throw new DirFormatError(`duplicate entry name: ${dup}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const size = 3 +
|
|
116
|
+
entries.reduce((acc, e) => acc + 2 + e.name.length + (e.ref.kind === 'same-tx' ? 1 : 36), 0);
|
|
117
|
+
const out = new Uint8Array(size);
|
|
118
|
+
const view = new DataView(out.buffer);
|
|
119
|
+
let p = 0;
|
|
120
|
+
out[p++] = manifest.version;
|
|
121
|
+
view.setUint16(p, entries.length);
|
|
122
|
+
p += 2;
|
|
123
|
+
for (const e of entries) {
|
|
124
|
+
validateEntry(e);
|
|
125
|
+
let flags = 0;
|
|
126
|
+
if (e.isDir)
|
|
127
|
+
flags |= FLAG_DIR;
|
|
128
|
+
if (e.exec)
|
|
129
|
+
flags |= FLAG_EXEC;
|
|
130
|
+
if (e.symlink)
|
|
131
|
+
flags |= FLAG_SYMLINK;
|
|
132
|
+
if (e.ref.kind === 'outpoint')
|
|
133
|
+
flags |= FLAG_REFTYPE;
|
|
134
|
+
out[p++] = flags;
|
|
135
|
+
out[p++] = e.name.length;
|
|
136
|
+
out.set(e.name, p);
|
|
137
|
+
p += e.name.length;
|
|
138
|
+
if (e.ref.kind === 'same-tx') {
|
|
139
|
+
out[p++] = e.ref.vout;
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
try {
|
|
143
|
+
out.set(outpointToWire(e.ref.txid, e.ref.vout), p);
|
|
144
|
+
}
|
|
145
|
+
catch (err) {
|
|
146
|
+
throw new DirFormatError(err instanceof Error ? err.message : 'invalid outpoint');
|
|
147
|
+
}
|
|
148
|
+
p += 36;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return out;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Decode `ordfs/dir` bytes. Validates strictly: known version, canonical
|
|
155
|
+
* sorted order, unique names, zero reserved bits, sane name bytes. Throws
|
|
156
|
+
* {@link DirFormatError} on anything else — including non-canonical input.
|
|
157
|
+
*/
|
|
158
|
+
export function dirDecode(bytes) {
|
|
159
|
+
if (bytes.length < 3) {
|
|
160
|
+
throw new DirFormatError('dir manifest too short');
|
|
161
|
+
}
|
|
162
|
+
if (bytes[0] !== DIR_VERSION) {
|
|
163
|
+
throw new DirFormatError(`unsupported dir version ${bytes[0]}`);
|
|
164
|
+
}
|
|
165
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
166
|
+
const count = view.getUint16(1);
|
|
167
|
+
const entries = [];
|
|
168
|
+
let p = 3;
|
|
169
|
+
for (let i = 0; i < count; i++) {
|
|
170
|
+
if (p + 2 > bytes.length) {
|
|
171
|
+
throw new DirFormatError('truncated dir manifest');
|
|
172
|
+
}
|
|
173
|
+
const flags = bytes[p++];
|
|
174
|
+
if ((flags & FLAGS_RESERVED) !== 0) {
|
|
175
|
+
throw new DirFormatError('reserved flag bits must be zero');
|
|
176
|
+
}
|
|
177
|
+
const nameLen = bytes[p++];
|
|
178
|
+
if (nameLen < 1 || p + nameLen > bytes.length) {
|
|
179
|
+
throw new DirFormatError('truncated or empty entry name');
|
|
180
|
+
}
|
|
181
|
+
const name = bytes.subarray(p, p + nameLen);
|
|
182
|
+
if (name.includes(0x00) || name.includes(0x2f)) {
|
|
183
|
+
throw new DirFormatError('entry name contains NUL or "/"');
|
|
184
|
+
}
|
|
185
|
+
p += nameLen;
|
|
186
|
+
if (i > 0 && compareBytes(entries[i - 1].name, name) >= 0) {
|
|
187
|
+
throw new DirFormatError('entries not in canonical sorted order (or duplicate name)');
|
|
188
|
+
}
|
|
189
|
+
let ref;
|
|
190
|
+
if ((flags & FLAG_REFTYPE) === 0) {
|
|
191
|
+
if (p + 1 > bytes.length)
|
|
192
|
+
throw new DirFormatError('truncated vout');
|
|
193
|
+
ref = { kind: 'same-tx', vout: bytes[p++] };
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
if (p + 36 > bytes.length)
|
|
197
|
+
throw new DirFormatError('truncated outpoint');
|
|
198
|
+
try {
|
|
199
|
+
const op = outpointFromWire(bytes.subarray(p, p + 36));
|
|
200
|
+
ref = { kind: 'outpoint', txid: op.txid, vout: op.vout };
|
|
201
|
+
}
|
|
202
|
+
catch (err) {
|
|
203
|
+
throw new DirFormatError(err instanceof Error ? err.message : 'invalid outpoint');
|
|
204
|
+
}
|
|
205
|
+
p += 36;
|
|
206
|
+
}
|
|
207
|
+
entries.push({
|
|
208
|
+
name,
|
|
209
|
+
isDir: (flags & FLAG_DIR) !== 0,
|
|
210
|
+
exec: (flags & FLAG_EXEC) !== 0,
|
|
211
|
+
symlink: (flags & FLAG_SYMLINK) !== 0,
|
|
212
|
+
ref,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
if (p !== bytes.length) {
|
|
216
|
+
throw new DirFormatError(`trailing bytes after last entry (${bytes.length - p})`);
|
|
217
|
+
}
|
|
218
|
+
return { version: DIR_VERSION, entries };
|
|
219
|
+
}
|
|
220
|
+
/** Helper: UTF-8 encode an entry name. Validates component legality. */
|
|
221
|
+
export function dirName(name) {
|
|
222
|
+
const bytes = utf8Encoder.encode(name);
|
|
223
|
+
if (bytes.length < 1 || bytes.length > 255) {
|
|
224
|
+
throw new DirFormatError(`name "${name}" byte length out of range 1..255`);
|
|
225
|
+
}
|
|
226
|
+
if (name.includes('\0') || name.includes('/')) {
|
|
227
|
+
throw new DirFormatError(`name "${name}" must not contain NUL or "/"`);
|
|
228
|
+
}
|
|
229
|
+
return bytes;
|
|
230
|
+
}
|
|
231
|
+
/** Helper: UTF-8 decode an entry name. */
|
|
232
|
+
export function dirNameString(name) {
|
|
233
|
+
return utf8Decoder.decode(name);
|
|
234
|
+
}
|
|
235
|
+
const DOT = utf8Encoder.encode('.');
|
|
236
|
+
const INDEX_HTML = utf8Encoder.encode('index.html');
|
|
237
|
+
/**
|
|
238
|
+
* Default file for a directory with no remaining path: an entry named `.`,
|
|
239
|
+
* else `index.html`. Same convention as `ord-fs/json`.
|
|
240
|
+
*/
|
|
241
|
+
export function dirDefault(manifest) {
|
|
242
|
+
let index;
|
|
243
|
+
for (const e of manifest.entries) {
|
|
244
|
+
if (compareBytes(e.name, DOT) === 0)
|
|
245
|
+
return e;
|
|
246
|
+
if (!index && compareBytes(e.name, INDEX_HTML) === 0)
|
|
247
|
+
index = e;
|
|
248
|
+
}
|
|
249
|
+
return index;
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=dir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dir.js","sourceRoot":"","sources":["../../src/ordfs/dir.ts"],"names":[],"mappings":"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"}
|
package/dist/ordfs/index.d.ts
CHANGED
|
@@ -34,8 +34,14 @@ import type { Action, ActionOptions } from '../types.js';
|
|
|
34
34
|
import type { OrdfsDirWriteMode } from './outputs.js';
|
|
35
35
|
export { buildOrdfsDirManifest, MAX_ORDFS_DIRECTORY_DEPTH } from './manifest.js';
|
|
36
36
|
export type { OrdfsDirManifest, OrdfsSubdirManifest, } from './manifest.js';
|
|
37
|
-
export { buildOrdFsDirOutputs } from './outputs.js';
|
|
37
|
+
export { buildDataScript, buildOrdFsDirOutputs } from './outputs.js';
|
|
38
38
|
export type { BuildOrdFsDirOutputsOptions, BuildOrdFsDirOutputsResult, OrdfsDirFile, OrdfsDirOutput, OrdfsDirWriteMode, OrdfsLocking, } from './outputs.js';
|
|
39
|
+
export { DIR_CONTENT_TYPE, DIR_VERSION, JSON_MANIFEST_CONTENT_TYPE_LEGACY, MAX_DIR_ENTRIES, DirFormatError, dirDefault, dirDecode, dirEncode, dirEntryNameCompare, dirName, dirNameString, } from './dir.js';
|
|
40
|
+
export type { DirEntry, DirManifest, DirRef, OutpointRef, SameTxRef, } from './dir.js';
|
|
41
|
+
export { assertPlainRfc, VcdiffError, vcdiffDecode, vcdiffEncode, vcdiffReady, } from './vcdiff.js';
|
|
42
|
+
export { PATCH_CONTENT_TYPE, PATCH_VERSION, PatchFormatError, patchApply, patchDecode, patchEncode, patchFromContent, } from './patch.js';
|
|
43
|
+
export type { PatchOutpoint, PatchRecord } from './patch.js';
|
|
44
|
+
export { outpointFromWire, outpointToWire, txidFromWire, txidToWire, } from './outpoint.js';
|
|
39
45
|
/**
|
|
40
46
|
* A file to publish, as accepted by the {@link deployOrdfsDir} action.
|
|
41
47
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ordfs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAQH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAA;AAIvE,OAAO,KAAK,EAAgB,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEnE,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAChF,YAAY,EACX,gBAAgB,EAChB,mBAAmB,GACnB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ordfs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAQH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAA;AAIvE,OAAO,KAAK,EAAgB,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEnE,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAChF,YAAY,EACX,gBAAgB,EAChB,mBAAmB,GACnB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACpE,YAAY,EACX,2BAA2B,EAC3B,0BAA0B,EAC1B,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,YAAY,GACZ,MAAM,cAAc,CAAA;AACrB,OAAO,EACN,gBAAgB,EAChB,WAAW,EACX,iCAAiC,EACjC,eAAe,EACf,cAAc,EACd,UAAU,EACV,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,aAAa,GACb,MAAM,UAAU,CAAA;AACjB,YAAY,EACX,QAAQ,EACR,WAAW,EACX,MAAM,EACN,WAAW,EACX,SAAS,GACT,MAAM,UAAU,CAAA;AACjB,OAAO,EACN,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,GACX,MAAM,aAAa,CAAA;AACpB,OAAO,EACN,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,GAChB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EACN,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,UAAU,GACV,MAAM,eAAe,CAAA;AAMtB;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IAClC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAA;IACrB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC3D;;;OAGG;IACH,KAAK,EAAE,kBAAkB,EAAE,CAAA;IAC3B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAA;IAC7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,sBAAsB;IACtC,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAClC,qBAAqB,EACrB,sBAAsB,CAqItB,CAAA;AA8GD,4DAA4D;AAC5D,eAAO,MAAM,YAAY,yDAAmB,CAAA"}
|
package/dist/ordfs/index.js
CHANGED
|
@@ -40,7 +40,11 @@ import { executeTrackedAction } from '../utils/createTrackedAction.js';
|
|
|
40
40
|
import { resolveDestination } from '../utils/resolveDestination.js';
|
|
41
41
|
import { buildOrdFsDirOutputs } from './outputs.js';
|
|
42
42
|
export { buildOrdfsDirManifest, MAX_ORDFS_DIRECTORY_DEPTH } from './manifest.js';
|
|
43
|
-
export { buildOrdFsDirOutputs } from './outputs.js';
|
|
43
|
+
export { buildDataScript, buildOrdFsDirOutputs } from './outputs.js';
|
|
44
|
+
export { DIR_CONTENT_TYPE, DIR_VERSION, JSON_MANIFEST_CONTENT_TYPE_LEGACY, MAX_DIR_ENTRIES, DirFormatError, dirDefault, dirDecode, dirEncode, dirEntryNameCompare, dirName, dirNameString, } from './dir.js';
|
|
45
|
+
export { assertPlainRfc, VcdiffError, vcdiffDecode, vcdiffEncode, vcdiffReady, } from './vcdiff.js';
|
|
46
|
+
export { PATCH_CONTENT_TYPE, PATCH_VERSION, PatchFormatError, patchApply, patchDecode, patchEncode, patchFromContent, } from './patch.js';
|
|
47
|
+
export { outpointFromWire, outpointToWire, txidFromWire, txidToWire, } from './outpoint.js';
|
|
44
48
|
// ============================================================================
|
|
45
49
|
// Action
|
|
46
50
|
// ============================================================================
|
package/dist/ordfs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ordfs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAGnD,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAKhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ordfs/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Display-hex txid → 32-byte internal (tx-input) order. */
|
|
2
|
+
export declare function txidToWire(hex: string): Uint8Array;
|
|
3
|
+
/** 32-byte internal order → display-hex txid. */
|
|
4
|
+
export declare function txidFromWire(bytes: Uint8Array): string;
|
|
5
|
+
/** 36-byte outpoint: reversed txid + little-endian vout. */
|
|
6
|
+
export declare function outpointToWire(txid: string, vout: number): Uint8Array;
|
|
7
|
+
export declare function outpointFromWire(bytes: Uint8Array): {
|
|
8
|
+
txid: string;
|
|
9
|
+
vout: number;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=outpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outpoint.d.ts","sourceRoot":"","sources":["../../src/ordfs/outpoint.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CASlD;AAED,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAOtD;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CASrE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG;IACpD,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACZ,CAOA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** Display-hex txid → 32-byte internal (tx-input) order. */
|
|
2
|
+
export function txidToWire(hex) {
|
|
3
|
+
if (!/^([0-9a-fA-F]{2})*$/.test(hex) || hex.length !== 64) {
|
|
4
|
+
throw new Error(`invalid txid hex: ${hex}`);
|
|
5
|
+
}
|
|
6
|
+
const out = new Uint8Array(32);
|
|
7
|
+
for (let i = 0; i < 32; i++) {
|
|
8
|
+
out[31 - i] = Number.parseInt(hex.slice(i * 2, i * 2 + 2), 16);
|
|
9
|
+
}
|
|
10
|
+
return out;
|
|
11
|
+
}
|
|
12
|
+
/** 32-byte internal order → display-hex txid. */
|
|
13
|
+
export function txidFromWire(bytes) {
|
|
14
|
+
if (bytes.length !== 32)
|
|
15
|
+
throw new Error('txid wire length must be 32');
|
|
16
|
+
let hex = '';
|
|
17
|
+
for (let i = 31; i >= 0; i--) {
|
|
18
|
+
hex += bytes[i].toString(16).padStart(2, '0');
|
|
19
|
+
}
|
|
20
|
+
return hex;
|
|
21
|
+
}
|
|
22
|
+
/** 36-byte outpoint: reversed txid + little-endian vout. */
|
|
23
|
+
export function outpointToWire(txid, vout) {
|
|
24
|
+
if (!Number.isInteger(vout) || vout < 0 || vout > 0xffffffff) {
|
|
25
|
+
throw new Error(`outpoint vout ${vout} out of range`);
|
|
26
|
+
}
|
|
27
|
+
const out = new Uint8Array(36);
|
|
28
|
+
out.set(txidToWire(txid), 0);
|
|
29
|
+
const view = new DataView(out.buffer);
|
|
30
|
+
view.setUint32(32, vout, true);
|
|
31
|
+
return out;
|
|
32
|
+
}
|
|
33
|
+
export function outpointFromWire(bytes) {
|
|
34
|
+
if (bytes.length !== 36)
|
|
35
|
+
throw new Error('outpoint wire length must be 36');
|
|
36
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
37
|
+
return {
|
|
38
|
+
txid: txidFromWire(bytes.subarray(0, 32)),
|
|
39
|
+
vout: view.getUint32(32, true),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=outpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outpoint.js","sourceRoot":"","sources":["../../src/ordfs/outpoint.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAA;IAC5C,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IACvE,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAY;IACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,UAAU,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,eAAe,CAAC,CAAA;IACtD,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAC9B,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACrC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9B,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAIjD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IAC3E,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;IAC3E,OAAO;QACN,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC;KAC9B,CAAA;AACF,CAAC"}
|
package/dist/ordfs/outputs.d.ts
CHANGED
|
@@ -120,6 +120,17 @@ export interface BuildOrdFsDirOutputsResult {
|
|
|
120
120
|
/** The computed directory tree layout, for callers that need the `_N` map. */
|
|
121
121
|
tree: OrdfsDirManifest;
|
|
122
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Standalone zero-sat B data output: `OP_FALSE OP_RETURN | B | data | type`.
|
|
125
|
+
*
|
|
126
|
+
* Post-Genesis only OP_FALSE OP_RETURN is provably unspendable, which a
|
|
127
|
+
* zero-satoshi output needs to be relayable and minable (otherwise miners
|
|
128
|
+
* treat it as dust). BitCom emits the bare OP_RETURN fragment because it is
|
|
129
|
+
* also appended to spendable scripts; standalone callers own the OP_FALSE
|
|
130
|
+
* prefix — same pattern as BSocial.lock(). Every writer of standalone data
|
|
131
|
+
* outputs (ordfs leaves and manifests, gib records) goes through here.
|
|
132
|
+
*/
|
|
133
|
+
export declare function buildDataScript(content: Uint8Array, contentType: string): Script;
|
|
123
134
|
/**
|
|
124
135
|
* Build the outputs that publish an ord-fs/json directory.
|
|
125
136
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputs.d.ts","sourceRoot":"","sources":["../../src/ordfs/outputs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAYH,OAAO,EAAE,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"outputs.d.ts","sourceRoot":"","sources":["../../src/ordfs/outputs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAYH,OAAO,EAAE,KAAK,aAAa,EAAa,MAAM,EAAS,MAAM,UAAU,CAAA;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,KAAK,gBAAgB,EAAyB,MAAM,eAAe,CAAA;AAE5E;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC5B,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,OAAO,EAAE,UAAU,CAAA;IACnB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,aAAa,GAAG,GAAG,CAAA;AAE7D;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACrB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GACnB;IAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,CAAA;CAAE,CAAA;AAE/C;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC3C;;OAEG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAA;IAC7B;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACrE;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,wFAAwF;IACxF,gBAAgB,EAAE,MAAM,CAAA;IACxB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,UAAU,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C;;;OAGG;IACH,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAA;IACpB,6EAA6E;IAC7E,cAAc,EAAE,MAAM,CAAA;IACtB,8EAA8E;IAC9E,IAAI,EAAE,gBAAgB,CAAA;CACtB;AA4BD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAKhF;AA+ED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,oBAAoB,CACzC,KAAK,EAAE,YAAY,EAAE,EACrB,IAAI,EAAE,2BAA2B,EACjC,GAAG,CAAC,EAAE,aAAa,GACjB,OAAO,CAAC,0BAA0B,CAAC,CA2FrC"}
|
package/dist/ordfs/outputs.js
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* SIGMA needs a spending input that only exists during transaction building.
|
|
25
25
|
*/
|
|
26
26
|
import { B, B_PREFIX, BitCom, Encoding, Inscription, MAP, MAP_PREFIX, } from '@1sat/templates';
|
|
27
|
-
import { P2PKH, Script, Utils } from '@bsv/sdk';
|
|
27
|
+
import { OP, P2PKH, Script, Utils } from '@bsv/sdk';
|
|
28
28
|
import { buildOrdfsDirManifest } from './manifest.js';
|
|
29
29
|
/**
|
|
30
30
|
* Resolve the locking script for a given output index from the strategy.
|
|
@@ -50,6 +50,22 @@ function toProtocol(prefix, locked) {
|
|
|
50
50
|
pos: 0,
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Standalone zero-sat B data output: `OP_FALSE OP_RETURN | B | data | type`.
|
|
55
|
+
*
|
|
56
|
+
* Post-Genesis only OP_FALSE OP_RETURN is provably unspendable, which a
|
|
57
|
+
* zero-satoshi output needs to be relayable and minable (otherwise miners
|
|
58
|
+
* treat it as dust). BitCom emits the bare OP_RETURN fragment because it is
|
|
59
|
+
* also appended to spendable scripts; standalone callers own the OP_FALSE
|
|
60
|
+
* prefix — same pattern as BSocial.lock(). Every writer of standalone data
|
|
61
|
+
* outputs (ordfs leaves and manifests, gib records) goes through here.
|
|
62
|
+
*/
|
|
63
|
+
export function buildDataScript(content, contentType) {
|
|
64
|
+
return new Script([
|
|
65
|
+
{ op: OP.OP_FALSE },
|
|
66
|
+
...B.lock(content, contentType, Encoding.Binary).chunks,
|
|
67
|
+
]);
|
|
68
|
+
}
|
|
53
69
|
/**
|
|
54
70
|
* Build a single output's content script for the given write mode.
|
|
55
71
|
*
|
|
@@ -58,7 +74,7 @@ function toProtocol(prefix, locked) {
|
|
|
58
74
|
*/
|
|
59
75
|
function buildLeafScript(writeMode, content, contentType, locking, vout) {
|
|
60
76
|
if (writeMode === 'b') {
|
|
61
|
-
return
|
|
77
|
+
return buildDataScript(content, contentType);
|
|
62
78
|
}
|
|
63
79
|
if (!locking) {
|
|
64
80
|
throw new Error("buildOrdFsDirOutputs: 'locking' is required for ordinal outputs — it controls who can spend the UTXO");
|
|
@@ -88,7 +104,11 @@ function buildManifestScript(writeMode, manifestBytes, contentType, locking, vou
|
|
|
88
104
|
if (hasMap) {
|
|
89
105
|
protocols.push(toProtocol(MAP_PREFIX, MAP.set(map)));
|
|
90
106
|
}
|
|
91
|
-
|
|
107
|
+
// Standalone output — same OP_FALSE prefix rule as buildLeafScript.
|
|
108
|
+
return new Script([
|
|
109
|
+
{ op: OP.OP_FALSE },
|
|
110
|
+
...new BitCom(protocols).lock().chunks,
|
|
111
|
+
]);
|
|
92
112
|
}
|
|
93
113
|
if (!locking) {
|
|
94
114
|
throw new Error("buildOrdFsDirOutputs: 'locking' is required for the ordinal root — it controls who can spend the UTXO");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputs.js","sourceRoot":"","sources":["../../src/ordfs/outputs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EACN,CAAC,EACD,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,WAAW,EACX,GAAG,EACH,UAAU,GACV,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAsB,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"outputs.js","sourceRoot":"","sources":["../../src/ordfs/outputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/** Content type written on `ordfs/patch` inscription outputs. */
|
|
2
|
+
export declare const PATCH_CONTENT_TYPE = "ordfs/patch";
|
|
3
|
+
/** Current patch envelope version. */
|
|
4
|
+
export declare const PATCH_VERSION = 0;
|
|
5
|
+
export declare class PatchFormatError extends Error {
|
|
6
|
+
constructor(message: string);
|
|
7
|
+
}
|
|
8
|
+
/** Display-hex txid + vout; wire form is internal-order txid + LE vout. */
|
|
9
|
+
export interface PatchOutpoint {
|
|
10
|
+
txid: string;
|
|
11
|
+
vout: number;
|
|
12
|
+
}
|
|
13
|
+
export interface PatchRecord {
|
|
14
|
+
version: number;
|
|
15
|
+
base: PatchOutpoint;
|
|
16
|
+
delta: Uint8Array;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Encode an `ordfs/patch` envelope:
|
|
20
|
+
* `[1B version][36B base outpoint][vcdiff delta]`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function patchEncode(record: PatchRecord): Uint8Array;
|
|
23
|
+
export declare function patchDecode(bytes: Uint8Array): PatchRecord;
|
|
24
|
+
/**
|
|
25
|
+
* Build a patch from source/target bytes. Identical content must be a
|
|
26
|
+
* direct citation (manifest entry), never an empty/no-op patch.
|
|
27
|
+
*/
|
|
28
|
+
export declare function patchFromContent(opts: {
|
|
29
|
+
base: PatchOutpoint;
|
|
30
|
+
source: Uint8Array;
|
|
31
|
+
target: Uint8Array;
|
|
32
|
+
}): Promise<Uint8Array>;
|
|
33
|
+
export declare function patchApply(record: PatchRecord, source: Uint8Array): Promise<Uint8Array>;
|
|
34
|
+
//# sourceMappingURL=patch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../src/ordfs/patch.ts"],"names":[],"mappings":"AAQA,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,gBAAgB,CAAA;AAE/C,sCAAsC;AACtC,eAAO,MAAM,aAAa,IAAI,CAAA;AAE9B,qBAAa,gBAAiB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI3B;AAED,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,UAAU,CAAA;CACjB;AAQD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,CA+B3D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAwB1D;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC5C,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,EAAE,UAAU,CAAA;IAClB,MAAM,EAAE,UAAU,CAAA;CAClB,GAAG,OAAO,CAAC,UAAU,CAAC,CAYtB;AAED,wBAAsB,UAAU,CAC/B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,UAAU,GAChB,OAAO,CAAC,UAAU,CAAC,CASrB"}
|