@bsv/overlay 0.4.0 → 0.4.2
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/cjs/package.json +5 -4
- package/dist/cjs/src/Engine.js +18 -8
- package/dist/cjs/src/Engine.js.map +1 -1
- package/dist/cjs/src/GASP/OverlayGASPRemote.js +8 -4
- package/dist/cjs/src/GASP/OverlayGASPRemote.js.map +1 -1
- package/dist/cjs/src/GASP/OverlayGASPStorage.js +25 -20
- package/dist/cjs/src/GASP/OverlayGASPStorage.js.map +1 -1
- package/dist/cjs/src/storage/knex/KnexStorage.js +32 -7
- package/dist/cjs/src/storage/knex/KnexStorage.js.map +1 -1
- package/dist/cjs/src/storage/knex/migrations/2025-06-25-001-gasp-pagination-support.js +43 -0
- package/dist/cjs/src/storage/knex/migrations/2025-06-25-001-gasp-pagination-support.js.map +1 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/Engine.js +17 -10
- package/dist/esm/src/Engine.js.map +1 -1
- package/dist/esm/src/GASP/OverlayGASPRemote.js +2 -1
- package/dist/esm/src/GASP/OverlayGASPRemote.js.map +1 -1
- package/dist/esm/src/GASP/OverlayGASPStorage.js +15 -14
- package/dist/esm/src/GASP/OverlayGASPStorage.js.map +1 -1
- package/dist/esm/src/storage/knex/KnexStorage.js +32 -7
- package/dist/esm/src/storage/knex/KnexStorage.js.map +1 -1
- package/dist/esm/src/storage/knex/migrations/2025-06-25-001-gasp-pagination-support.js +39 -0
- package/dist/esm/src/storage/knex/migrations/2025-06-25-001-gasp-pagination-support.js.map +1 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/Engine.d.ts.map +1 -1
- package/dist/types/src/GASP/OverlayGASPRemote.d.ts +1 -1
- package/dist/types/src/GASP/OverlayGASPRemote.d.ts.map +1 -1
- package/dist/types/src/GASP/OverlayGASPStorage.d.ts +2 -5
- package/dist/types/src/GASP/OverlayGASPStorage.d.ts.map +1 -1
- package/dist/types/src/Output.d.ts +1 -0
- package/dist/types/src/Output.d.ts.map +1 -1
- package/dist/types/src/storage/Storage.d.ts +17 -2
- package/dist/types/src/storage/Storage.d.ts.map +1 -1
- package/dist/types/src/storage/knex/KnexStorage.d.ts +3 -1
- package/dist/types/src/storage/knex/KnexStorage.d.ts.map +1 -1
- package/dist/types/src/storage/knex/migrations/2025-06-25-001-gasp-pagination-support.d.ts +4 -0
- package/dist/types/src/storage/knex/migrations/2025-06-25-001-gasp-pagination-support.d.ts.map +1 -0
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +5 -4
- package/src/Engine.ts +20 -11
- package/src/GASP/OverlayGASPRemote.ts +3 -2
- package/src/GASP/OverlayGASPStorage.ts +17 -16
- package/src/Output.ts +1 -0
- package/src/__tests/Engine.test.ts +65 -63
- package/src/__tests/OverlayGASPRemote.test.ts +1 -1
- package/src/__tests/OverlayGASPStorage.test.ts +21 -17
- package/src/storage/Storage.ts +19 -2
- package/src/storage/knex/KnexStorage.ts +37 -7
- package/src/storage/knex/migrations/2025-06-25-001-gasp-pagination-support.ts +46 -0
- package/dist/cjs/src/AdmittanceInstructions.js +0 -3
- package/dist/cjs/src/AdmittanceInstructions.js.map +0 -1
- package/dist/cjs/src/LookupAnswer.js +0 -3
- package/dist/cjs/src/LookupAnswer.js.map +0 -1
- package/dist/cjs/src/LookupQuestion.js +0 -3
- package/dist/cjs/src/LookupQuestion.js.map +0 -1
- package/dist/cjs/src/SHIPAdvertisement.js +0 -3
- package/dist/cjs/src/SHIPAdvertisement.js.map +0 -1
- package/dist/cjs/src/SLAPAdvertisement.js +0 -3
- package/dist/cjs/src/SLAPAdvertisement.js.map +0 -1
- package/dist/cjs/src/STEAK.js +0 -3
- package/dist/cjs/src/STEAK.js.map +0 -1
- package/dist/cjs/src/TaggedBEEF.js +0 -3
- package/dist/cjs/src/TaggedBEEF.js.map +0 -1
- package/dist/esm/src/AdmittanceInstructions.js +0 -2
- package/dist/esm/src/AdmittanceInstructions.js.map +0 -1
- package/dist/esm/src/LookupAnswer.js +0 -2
- package/dist/esm/src/LookupAnswer.js.map +0 -1
- package/dist/esm/src/LookupQuestion.js +0 -2
- package/dist/esm/src/LookupQuestion.js.map +0 -1
- package/dist/esm/src/SHIPAdvertisement.js +0 -2
- package/dist/esm/src/SHIPAdvertisement.js.map +0 -1
- package/dist/esm/src/SLAPAdvertisement.js +0 -2
- package/dist/esm/src/SLAPAdvertisement.js.map +0 -1
- package/dist/esm/src/STEAK.js +0 -2
- package/dist/esm/src/STEAK.js.map +0 -1
- package/dist/esm/src/TaggedBEEF.js +0 -2
- package/dist/esm/src/TaggedBEEF.js.map +0 -1
- package/dist/types/src/AdmittanceInstructions.d.ts +0 -14
- package/dist/types/src/AdmittanceInstructions.d.ts.map +0 -1
- package/dist/types/src/LookupAnswer.d.ts +0 -15
- package/dist/types/src/LookupAnswer.d.ts.map +0 -1
- package/dist/types/src/LookupQuestion.d.ts +0 -15
- package/dist/types/src/LookupQuestion.d.ts.map +0 -1
- package/dist/types/src/SHIPAdvertisement.d.ts +0 -9
- package/dist/types/src/SHIPAdvertisement.d.ts.map +0 -1
- package/dist/types/src/SLAPAdvertisement.d.ts +0 -9
- package/dist/types/src/SLAPAdvertisement.d.ts.map +0 -1
- package/dist/types/src/STEAK.d.ts +0 -10
- package/dist/types/src/STEAK.d.ts.map +0 -1
- package/dist/types/src/TaggedBEEF.d.ts +0 -11
- package/dist/types/src/TaggedBEEF.d.ts.map +0 -1
|
@@ -34,7 +34,8 @@ export class KnexStorage implements Storage {
|
|
|
34
34
|
'outputs.satoshis',
|
|
35
35
|
'outputs.outputsConsumed',
|
|
36
36
|
'outputs.spent',
|
|
37
|
-
'outputs.consumedBy'
|
|
37
|
+
'outputs.consumedBy',
|
|
38
|
+
'outputs.score'
|
|
38
39
|
]
|
|
39
40
|
|
|
40
41
|
if (includeBEEF) {
|
|
@@ -72,7 +73,8 @@ export class KnexStorage implements Storage {
|
|
|
72
73
|
'outputs.satoshis',
|
|
73
74
|
'outputs.outputsConsumed',
|
|
74
75
|
'outputs.spent',
|
|
75
|
-
'outputs.consumedBy'
|
|
76
|
+
'outputs.consumedBy',
|
|
77
|
+
'outputs.score'
|
|
76
78
|
]
|
|
77
79
|
|
|
78
80
|
if (includeBEEF) {
|
|
@@ -97,16 +99,20 @@ export class KnexStorage implements Storage {
|
|
|
97
99
|
}))
|
|
98
100
|
}
|
|
99
101
|
|
|
100
|
-
async findUTXOsForTopic (topic: string, since?: number, includeBEEF: boolean = false): Promise<Output[]> {
|
|
102
|
+
async findUTXOsForTopic (topic: string, since?: number, limit?: number, includeBEEF: boolean = false): Promise<Output[]> {
|
|
101
103
|
// Base query to get outputs
|
|
102
104
|
const query = this.knex('outputs').where({ 'outputs.topic': topic, 'outputs.spent': false })
|
|
103
105
|
|
|
104
|
-
// If provided, additionally filters UTXOs by
|
|
106
|
+
// If provided, additionally filters UTXOs by score
|
|
105
107
|
if (since !== undefined && since > 0) {
|
|
106
108
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
107
|
-
query.andWhere('outputs.
|
|
109
|
+
query.andWhere('outputs.score', '>=', since)
|
|
108
110
|
}
|
|
109
111
|
|
|
112
|
+
// Sort by score
|
|
113
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
114
|
+
query.orderBy('outputs.score', 'asc')
|
|
115
|
+
|
|
110
116
|
// Select necessary fields from outputs and conditionally include beef from transactions
|
|
111
117
|
const selectFields = [
|
|
112
118
|
'outputs.txid',
|
|
@@ -116,7 +122,8 @@ export class KnexStorage implements Storage {
|
|
|
116
122
|
'outputs.satoshis',
|
|
117
123
|
'outputs.outputsConsumed',
|
|
118
124
|
'outputs.spent',
|
|
119
|
-
'outputs.consumedBy'
|
|
125
|
+
'outputs.consumedBy',
|
|
126
|
+
'outputs.score'
|
|
120
127
|
]
|
|
121
128
|
|
|
122
129
|
if (includeBEEF) {
|
|
@@ -125,6 +132,12 @@ export class KnexStorage implements Storage {
|
|
|
125
132
|
selectFields.push('transactions.beef')
|
|
126
133
|
}
|
|
127
134
|
|
|
135
|
+
// Apply limit if specified
|
|
136
|
+
if (limit !== undefined && limit > 0) {
|
|
137
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
138
|
+
query.limit(limit)
|
|
139
|
+
}
|
|
140
|
+
|
|
128
141
|
const outputs = await query.select(selectFields)
|
|
129
142
|
|
|
130
143
|
if (outputs === undefined || outputs.length === 0) {
|
|
@@ -165,7 +178,8 @@ export class KnexStorage implements Storage {
|
|
|
165
178
|
satoshis: Number(output.satoshis),
|
|
166
179
|
outputsConsumed: JSON.stringify(output.outputsConsumed),
|
|
167
180
|
consumedBy: JSON.stringify(output.consumedBy),
|
|
168
|
-
spent: output.spent
|
|
181
|
+
spent: output.spent,
|
|
182
|
+
score: output.score
|
|
169
183
|
})]
|
|
170
184
|
|
|
171
185
|
if (output.beef !== undefined) {
|
|
@@ -226,4 +240,20 @@ export class KnexStorage implements Storage {
|
|
|
226
240
|
|
|
227
241
|
return !!result
|
|
228
242
|
}
|
|
243
|
+
|
|
244
|
+
async updateLastInteraction (host: string, topic: string, since: number): Promise<void> {
|
|
245
|
+
await this.knex('host_sync_state')
|
|
246
|
+
.insert({ host, topic, since })
|
|
247
|
+
.onConflict(['host', 'topic'])
|
|
248
|
+
.merge({ since })
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
async getLastInteraction (host: string, topic: string): Promise<number> {
|
|
252
|
+
const result = await this.knex('host_sync_state')
|
|
253
|
+
.where({ host, topic })
|
|
254
|
+
.select('since')
|
|
255
|
+
.first()
|
|
256
|
+
|
|
257
|
+
return result ? result.since : 0
|
|
258
|
+
}
|
|
229
259
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Knex } from 'knex'
|
|
2
|
+
|
|
3
|
+
export async function up (knex: Knex): Promise<void> {
|
|
4
|
+
// 1. Add score column to outputs table for pagination/sorting
|
|
5
|
+
const hasScoreColumn = await knex.schema.hasColumn('outputs', 'score')
|
|
6
|
+
|
|
7
|
+
if (!hasScoreColumn) {
|
|
8
|
+
// Add new column for score (can be timestamp or any other sorting factor)
|
|
9
|
+
await knex.schema.table('outputs', table => {
|
|
10
|
+
table.float('score').notNullable().defaultTo(0)
|
|
11
|
+
// Create compound index on topic and score for efficient querying
|
|
12
|
+
table.index(['topic', 'score'])
|
|
13
|
+
})
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// 2. Create host_sync_state table for tracking sync progress per host/topic
|
|
17
|
+
const hostSyncStateExists = await knex.schema.hasTable('host_sync_state')
|
|
18
|
+
|
|
19
|
+
if (!hostSyncStateExists) {
|
|
20
|
+
await knex.schema.createTable('host_sync_state', table => {
|
|
21
|
+
table.string('host').notNullable()
|
|
22
|
+
table.string('topic').notNullable()
|
|
23
|
+
table.bigInteger('since').unsigned().notNullable()
|
|
24
|
+
table.primary(['host', 'topic'])
|
|
25
|
+
table.index('host')
|
|
26
|
+
table.index('topic')
|
|
27
|
+
})
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export async function down (knex: Knex): Promise<void> {
|
|
32
|
+
// Rollback in reverse order
|
|
33
|
+
|
|
34
|
+
// 1. Drop host_sync_state table
|
|
35
|
+
await knex.schema.dropTableIfExists('host_sync_state')
|
|
36
|
+
|
|
37
|
+
// 2. Remove score column from outputs table
|
|
38
|
+
const hasScoreColumn = await knex.schema.hasColumn('outputs', 'score')
|
|
39
|
+
if (hasScoreColumn) {
|
|
40
|
+
await knex.schema.table('outputs', table => {
|
|
41
|
+
// Drop the compound index on topic and score
|
|
42
|
+
table.dropIndex(['topic', 'score'])
|
|
43
|
+
table.dropColumn('score')
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AdmittanceInstructions.js","sourceRoot":"","sources":["../../../src/AdmittanceInstructions.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LookupAnswer.js","sourceRoot":"","sources":["../../../src/LookupAnswer.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LookupQuestion.js","sourceRoot":"","sources":["../../../src/LookupQuestion.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SHIPAdvertisement.js","sourceRoot":"","sources":["../../../src/SHIPAdvertisement.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SLAPAdvertisement.js","sourceRoot":"","sources":["../../../src/SLAPAdvertisement.ts"],"names":[],"mappings":""}
|
package/dist/cjs/src/STEAK.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"STEAK.js","sourceRoot":"","sources":["../../../src/STEAK.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TaggedBEEF.js","sourceRoot":"","sources":["../../../src/TaggedBEEF.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AdmittanceInstructions.js","sourceRoot":"","sources":["../../../src/AdmittanceInstructions.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LookupAnswer.js","sourceRoot":"","sources":["../../../src/LookupAnswer.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LookupQuestion.js","sourceRoot":"","sources":["../../../src/LookupQuestion.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SHIPAdvertisement.js","sourceRoot":"","sources":["../../../src/SHIPAdvertisement.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SLAPAdvertisement.js","sourceRoot":"","sources":["../../../src/SLAPAdvertisement.ts"],"names":[],"mappings":""}
|
package/dist/esm/src/STEAK.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"STEAK.js","sourceRoot":"","sources":["../../../src/STEAK.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TaggedBEEF.js","sourceRoot":"","sources":["../../../src/TaggedBEEF.ts"],"names":[],"mappings":""}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Instructs the Overlay Services Engine about which outputs to admit and which previous outputs to retain. Returned by a Topic Manager.
|
|
3
|
-
*/
|
|
4
|
-
export type AdmittanceInstructions = {
|
|
5
|
-
/**
|
|
6
|
-
* The indices of all admissable outputs into the managed topic from the provided transaction.
|
|
7
|
-
*/
|
|
8
|
-
outputsToAdmit: number[];
|
|
9
|
-
/**
|
|
10
|
-
* The indices of all inputs from the provided transaction which spend previously-admitted outputs that should be retained for historical record-keeping.
|
|
11
|
-
*/
|
|
12
|
-
coinsToRetain: number[];
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=AdmittanceInstructions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AdmittanceInstructions.d.ts","sourceRoot":"","sources":["../../../src/AdmittanceInstructions.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAA;IAExB;;OAEG;IACH,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB,CAAA"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* How the Overlay Services Engine responds to a Lookup Question.
|
|
3
|
-
* It may comprise either an output list or a freeform response from the Lookup Service.
|
|
4
|
-
*/
|
|
5
|
-
export type LookupAnswer = {
|
|
6
|
-
type: 'output-list';
|
|
7
|
-
outputs: Array<{
|
|
8
|
-
beef: number[];
|
|
9
|
-
outputIndex: number;
|
|
10
|
-
}>;
|
|
11
|
-
} | {
|
|
12
|
-
type: 'freeform';
|
|
13
|
-
result: unknown;
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=LookupAnswer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LookupAnswer.d.ts","sourceRoot":"","sources":["../../../src/LookupAnswer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,WAAW,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;CACH,GAAG;IACF,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The question asked to the Overlay Services Engine when a consumer of state wishes to look up information.
|
|
3
|
-
*/
|
|
4
|
-
export type LookupQuestion = {
|
|
5
|
-
/**
|
|
6
|
-
* The identifier for a Lookup Service which the person asking the question wishes to use.
|
|
7
|
-
*/
|
|
8
|
-
service: string;
|
|
9
|
-
/**
|
|
10
|
-
* The query which will be forwarded to the Lookup Service.
|
|
11
|
-
* Its type depends on that prescribed by the Lookup Service employed.
|
|
12
|
-
*/
|
|
13
|
-
query: unknown;
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=LookupQuestion.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LookupQuestion.d.ts","sourceRoot":"","sources":["../../../src/LookupQuestion.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAA;CACf,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SHIPAdvertisement.d.ts","sourceRoot":"","sources":["../../../src/SHIPAdvertisement.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SLAPAdvertisement.d.ts","sourceRoot":"","sources":["../../../src/SLAPAdvertisement.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AdmittanceInstructions } from './AdmittanceInstructions.js';
|
|
2
|
-
/**
|
|
3
|
-
* Submitted Transaction Execution AcKnowledgment
|
|
4
|
-
*
|
|
5
|
-
* @description
|
|
6
|
-
* Comprises the topics where a transaction was submitted, and for each one, the output indices for the UTXOs newly admitted into the topics, and the coins retained.
|
|
7
|
-
* An object whose keys are topic names and whose values are topical admittance instructions denoting the state of the submitted transaction with respect to the associated topic.
|
|
8
|
-
*/
|
|
9
|
-
export type STEAK = Record<string, AdmittanceInstructions>;
|
|
10
|
-
//# sourceMappingURL=STEAK.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"STEAK.d.ts","sourceRoot":"","sources":["../../../src/STEAK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEpE;;;;;;GAMG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tagged BEEF
|
|
3
|
-
*
|
|
4
|
-
* @description
|
|
5
|
-
* Tagged BEEF ([Background Evaluation Extended Format](https://brc.dev/62)) structure. Comprises a transaction, its SPV information, and the overlay topics where its inclusion is requested.
|
|
6
|
-
*/
|
|
7
|
-
export type TaggedBEEF = {
|
|
8
|
-
beef: number[];
|
|
9
|
-
topics: string[];
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=TaggedBEEF.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TaggedBEEF.d.ts","sourceRoot":"","sources":["../../../src/TaggedBEEF.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA"}
|