@bsv/overlay 0.1.0-alpha.1

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.
Files changed (119) hide show
  1. package/LICENSE.txt +28 -0
  2. package/README.md +220 -0
  3. package/dist/cjs/mod.js +43 -0
  4. package/dist/cjs/mod.js.map +1 -0
  5. package/dist/cjs/package.json +53 -0
  6. package/dist/cjs/src/AdmittanceInstructions.js +3 -0
  7. package/dist/cjs/src/AdmittanceInstructions.js.map +1 -0
  8. package/dist/cjs/src/Engine.js +361 -0
  9. package/dist/cjs/src/Engine.js.map +1 -0
  10. package/dist/cjs/src/LookupAnswer.js +3 -0
  11. package/dist/cjs/src/LookupAnswer.js.map +1 -0
  12. package/dist/cjs/src/LookupFormula.js +3 -0
  13. package/dist/cjs/src/LookupFormula.js.map +1 -0
  14. package/dist/cjs/src/LookupQuestion.js +3 -0
  15. package/dist/cjs/src/LookupQuestion.js.map +1 -0
  16. package/dist/cjs/src/LookupService.js +3 -0
  17. package/dist/cjs/src/LookupService.js.map +1 -0
  18. package/dist/cjs/src/Output.js +3 -0
  19. package/dist/cjs/src/Output.js.map +1 -0
  20. package/dist/cjs/src/STEAK.js +3 -0
  21. package/dist/cjs/src/STEAK.js.map +1 -0
  22. package/dist/cjs/src/TaggedBEEF.js +3 -0
  23. package/dist/cjs/src/TaggedBEEF.js.map +1 -0
  24. package/dist/cjs/src/TopicManager.js +3 -0
  25. package/dist/cjs/src/TopicManager.js.map +1 -0
  26. package/dist/cjs/src/storage/Storage.js +3 -0
  27. package/dist/cjs/src/storage/Storage.js.map +1 -0
  28. package/dist/cjs/src/storage/knex/KnexStorage.js +76 -0
  29. package/dist/cjs/src/storage/knex/KnexStorage.js.map +1 -0
  30. package/dist/cjs/src/storage/knex/all-migrations.js +11 -0
  31. package/dist/cjs/src/storage/knex/all-migrations.js.map +1 -0
  32. package/dist/cjs/src/storage/knex/migrations/2024-05-18-001-initial.js +33 -0
  33. package/dist/cjs/src/storage/knex/migrations/2024-05-18-001-initial.js.map +1 -0
  34. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  35. package/dist/esm/mod.js +17 -0
  36. package/dist/esm/mod.js.map +1 -0
  37. package/dist/esm/src/AdmittanceInstructions.js +2 -0
  38. package/dist/esm/src/AdmittanceInstructions.js.map +1 -0
  39. package/dist/esm/src/Engine.js +357 -0
  40. package/dist/esm/src/Engine.js.map +1 -0
  41. package/dist/esm/src/LookupAnswer.js +2 -0
  42. package/dist/esm/src/LookupAnswer.js.map +1 -0
  43. package/dist/esm/src/LookupFormula.js +2 -0
  44. package/dist/esm/src/LookupFormula.js.map +1 -0
  45. package/dist/esm/src/LookupQuestion.js +2 -0
  46. package/dist/esm/src/LookupQuestion.js.map +1 -0
  47. package/dist/esm/src/LookupService.js +2 -0
  48. package/dist/esm/src/LookupService.js.map +1 -0
  49. package/dist/esm/src/Output.js +2 -0
  50. package/dist/esm/src/Output.js.map +1 -0
  51. package/dist/esm/src/STEAK.js +2 -0
  52. package/dist/esm/src/STEAK.js.map +1 -0
  53. package/dist/esm/src/TaggedBEEF.js +2 -0
  54. package/dist/esm/src/TaggedBEEF.js.map +1 -0
  55. package/dist/esm/src/TopicManager.js +2 -0
  56. package/dist/esm/src/TopicManager.js.map +1 -0
  57. package/dist/esm/src/storage/Storage.js +2 -0
  58. package/dist/esm/src/storage/Storage.js.map +1 -0
  59. package/dist/esm/src/storage/knex/KnexStorage.js +74 -0
  60. package/dist/esm/src/storage/knex/KnexStorage.js.map +1 -0
  61. package/dist/esm/src/storage/knex/all-migrations.js +9 -0
  62. package/dist/esm/src/storage/knex/all-migrations.js.map +1 -0
  63. package/dist/esm/src/storage/knex/migrations/2024-05-18-001-initial.js +28 -0
  64. package/dist/esm/src/storage/knex/migrations/2024-05-18-001-initial.js.map +1 -0
  65. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  66. package/dist/types/mod.d.ts +14 -0
  67. package/dist/types/mod.d.ts.map +1 -0
  68. package/dist/types/src/AdmittanceInstructions.d.ts +14 -0
  69. package/dist/types/src/AdmittanceInstructions.d.ts.map +1 -0
  70. package/dist/types/src/Engine.d.ts +92 -0
  71. package/dist/types/src/Engine.d.ts.map +1 -0
  72. package/dist/types/src/LookupAnswer.d.ts +15 -0
  73. package/dist/types/src/LookupAnswer.d.ts.map +1 -0
  74. package/dist/types/src/LookupFormula.d.ts +25 -0
  75. package/dist/types/src/LookupFormula.d.ts.map +1 -0
  76. package/dist/types/src/LookupQuestion.d.ts +15 -0
  77. package/dist/types/src/LookupQuestion.d.ts.map +1 -0
  78. package/dist/types/src/LookupService.d.ts +52 -0
  79. package/dist/types/src/LookupService.d.ts.map +1 -0
  80. package/dist/types/src/Output.d.ts +30 -0
  81. package/dist/types/src/Output.d.ts.map +1 -0
  82. package/dist/types/src/STEAK.d.ts +10 -0
  83. package/dist/types/src/STEAK.d.ts.map +1 -0
  84. package/dist/types/src/TaggedBEEF.d.ts +11 -0
  85. package/dist/types/src/TaggedBEEF.d.ts.map +1 -0
  86. package/dist/types/src/TopicManager.d.ts +27 -0
  87. package/dist/types/src/TopicManager.d.ts.map +1 -0
  88. package/dist/types/src/storage/Storage.d.ts +66 -0
  89. package/dist/types/src/storage/Storage.d.ts.map +1 -0
  90. package/dist/types/src/storage/knex/KnexStorage.d.ts +24 -0
  91. package/dist/types/src/storage/knex/KnexStorage.d.ts.map +1 -0
  92. package/dist/types/src/storage/knex/all-migrations.d.ts +10 -0
  93. package/dist/types/src/storage/knex/all-migrations.d.ts.map +1 -0
  94. package/dist/types/src/storage/knex/migrations/2024-05-18-001-initial.d.ts +4 -0
  95. package/dist/types/src/storage/knex/migrations/2024-05-18-001-initial.d.ts.map +1 -0
  96. package/dist/types/tsconfig.types.tsbuildinfo +1 -0
  97. package/docs/API.md +621 -0
  98. package/docs/README.md +8 -0
  99. package/docs/concepts/README.md +4 -0
  100. package/docs/examples/README.md +5 -0
  101. package/docs/examples/gs-wip.md +105 -0
  102. package/docs/internal/README.md +4 -0
  103. package/mod.ts +18 -0
  104. package/package.json +78 -0
  105. package/src/AdmittanceInstructions.ts +14 -0
  106. package/src/Engine.ts +419 -0
  107. package/src/LookupAnswer.ts +14 -0
  108. package/src/LookupFormula.ts +26 -0
  109. package/src/LookupQuestion.ts +15 -0
  110. package/src/LookupService.ts +52 -0
  111. package/src/Output.ts +29 -0
  112. package/src/STEAK.ts +10 -0
  113. package/src/TaggedBEEF.ts +10 -0
  114. package/src/TopicManager.ts +23 -0
  115. package/src/__tests/Engine.test.ts +792 -0
  116. package/src/storage/Storage.ts +72 -0
  117. package/src/storage/knex/KnexStorage.ts +90 -0
  118. package/src/storage/knex/all-migrations.ts +14 -0
  119. package/src/storage/knex/migrations/2024-05-18-001-initial.ts +30 -0
@@ -0,0 +1,74 @@
1
+ export default class KnexStorage {
2
+ knex;
3
+ constructor(knex) {
4
+ this.knex = knex;
5
+ }
6
+ async findOutput(txid, outputIndex, topic, spent) {
7
+ const search = {
8
+ txid,
9
+ outputIndex
10
+ };
11
+ if (topic !== undefined)
12
+ search.topic = topic;
13
+ if (spent !== undefined)
14
+ search.spent = spent;
15
+ const [output] = await this.knex('outputs').where(search).select('txid', 'outputIndex', 'outputScript', 'topic', 'satoshis', 'beef', 'outputsConsumed', 'spent', 'consumedBy');
16
+ if (!output) {
17
+ return null;
18
+ }
19
+ return {
20
+ ...output,
21
+ outputScript: [...output.outputScript],
22
+ beef: [...output.beef],
23
+ spent: Boolean(output.spent),
24
+ outputsConsumed: JSON.parse(output.outputsConsumed),
25
+ consumedBy: JSON.parse(output.consumedBy)
26
+ };
27
+ }
28
+ async deleteOutput(txid, outputIndex, topic) {
29
+ await this.knex('outputs').where({
30
+ txid, outputIndex, topic
31
+ }).del();
32
+ }
33
+ async insertOutput(output) {
34
+ await this.knex('outputs').insert({
35
+ txid: output.txid,
36
+ outputIndex: Number(output.outputIndex),
37
+ outputScript: Buffer.from(output.outputScript),
38
+ topic: output.topic,
39
+ satoshis: Number(output.satoshis),
40
+ beef: [...output.beef],
41
+ outputsConsumed: JSON.stringify(output.outputsConsumed),
42
+ consumedBy: JSON.stringify(output.consumedBy),
43
+ spent: output.spent
44
+ });
45
+ }
46
+ async markUTXOAsSpent(txid, outputIndex, topic) {
47
+ await this.knex('outputs').where({
48
+ txid,
49
+ outputIndex,
50
+ topic
51
+ }).update('spent', true);
52
+ }
53
+ async updateConsumedBy(txid, outputIndex, topic, consumedBy) {
54
+ await this.knex('outputs').where({
55
+ txid,
56
+ outputIndex,
57
+ topic
58
+ }).update('consumedBy', consumedBy);
59
+ }
60
+ async insertAppliedTransaction(tx) {
61
+ await this.knex('applied_transactions').insert({
62
+ txid: tx.txid,
63
+ topic: tx.topic
64
+ });
65
+ }
66
+ async doesAppliedTransactionExist(tx) {
67
+ const appliedTransactions = await this.knex('applied_transactions').where({
68
+ txid: tx.txid,
69
+ topic: tx.topic
70
+ }).select('txid', 'topic');
71
+ return appliedTransactions.length > 0;
72
+ }
73
+ }
74
+ //# sourceMappingURL=KnexStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KnexStorage.js","sourceRoot":"","sources":["../../../../../src/storage/knex/KnexStorage.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,OAAO,WAAW;IAC5B,IAAI,CAAM;IAEV,YAAY,IAAU;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,WAAmB,EAAE,KAAc,EAAE,KAAe;QAC/E,MAAM,MAAM,GAKR;YACA,IAAI;YACJ,WAAW;SACd,CAAA;QACD,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;QAC7C,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;QAC7C,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAC5D,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,CAC/G,CAAA;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,IAAI,CAAA;QACf,CAAC;QACD,OAAO;YACH,GAAG,MAAM;YACT,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;YACtC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAC5B,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC;YACnD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;SAC5C,CAAA;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,WAAmB,EAAE,KAAa;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YAC7B,IAAI,EAAE,WAAW,EAAE,KAAK;SAC3B,CAAC,CAAC,GAAG,EAAE,CAAA;IACZ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC7B,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;YAC9B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;YACvC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9C,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;YACtB,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;YACvD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;YAC7C,KAAK,EAAE,MAAM,CAAC,KAAK;SACtB,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,WAAmB,EAAE,KAAc;QACnE,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YAC7B,IAAI;YACJ,WAAW;YACX,KAAK;SACR,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,WAAmB,EAAE,KAAa,EAAE,UAAmD;QACxH,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YAC7B,IAAI;YACJ,WAAW;YACX,KAAK;SACR,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,EAAmC;QAC9D,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC;YAC3C,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,KAAK,EAAE,EAAE,CAAC,KAAK;SAClB,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,EAAmC;QACjE,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC;YACtE,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,KAAK,EAAE,EAAE,CAAC,KAAK;SAClB,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1B,OAAO,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAA;IACzC,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ import { up as oneUp, down as oneDown } from './migrations/2024-05-18-001-initial.js';
2
+ /**
3
+ * An array of all migrations, in order.
4
+ */
5
+ const allMigrations = [
6
+ { up: oneUp, down: oneDown }
7
+ ];
8
+ export default allMigrations;
9
+ //# sourceMappingURL=all-migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all-migrations.js","sourceRoot":"","sources":["../../../../../src/storage/knex/all-migrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,IAAI,KAAK,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,wCAAwC,CAAA;AAErF;;GAEG;AACH,MAAM,aAAa,GAGb;IACE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;CAC/B,CAAA;AAEL,eAAe,aAAa,CAAA"}
@@ -0,0 +1,28 @@
1
+ export async function up(knex) {
2
+ await knex.schema.createTable('outputs', table => {
3
+ table.increments();
4
+ table.string('txid', 64);
5
+ table.integer('outputIndex', 10);
6
+ table.binary('outputScript');
7
+ table.string('topic');
8
+ table.integer('satoshis', 15);
9
+ table.binary('beef');
10
+ // Represents the outputs that were provided as inputs
11
+ // to the transaction that created this output.
12
+ // This indicates the correct history of this output.
13
+ table.text('outputsConsumed', 'longtext').defaultTo('[]');
14
+ // Tracks any outputs the current output is used as an input in it's creation
15
+ table.text('consumedBy', 'longtext').defaultTo('[]');
16
+ table.boolean('spent').defaultTo(false);
17
+ });
18
+ await knex.schema.createTable('applied_transactions', table => {
19
+ table.increments();
20
+ table.string('txid', 64);
21
+ table.string('topic');
22
+ });
23
+ }
24
+ export async function down(knex) {
25
+ await knex.schema.dropTable('applied_transactions');
26
+ await knex.schema.dropTable('outputs');
27
+ }
28
+ //# sourceMappingURL=2024-05-18-001-initial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-05-18-001-initial.js","sourceRoot":"","sources":["../../../../../../src/storage/knex/migrations/2024-05-18-001-initial.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;QAC/C,KAAK,CAAC,UAAU,EAAE,CAAA;QAClB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACxB,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;QAChC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QAC5B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACrB,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QAC7B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACpB,sDAAsD;QACtD,+CAA+C;QAC/C,qDAAqD;QACrD,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACzD,6EAA6E;QAC7E,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACpD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IACF,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE;QAC5D,KAAK,CAAC,UAAU,EAAE,CAAA;QAClB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACxB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAA;IACnD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;AACxC,CAAC"}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../src/admittanceinstructions.ts","../../src/topicmanager.ts","../../src/lookupquestion.ts","../../src/lookupformula.ts","../../src/lookupanswer.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/mersenne.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/reductioncontext.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/bignumber.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/basepoint.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/jacobianpoint.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/point.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/curve.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/signature.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/privatekey.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/publickey.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/symmetrickey.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/ecdsa.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/utils.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/hash.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/random.d.ts","../../node_modules/@bsv/sdk/dist/types/src/script/scriptchunk.d.ts","../../node_modules/@bsv/sdk/dist/types/src/script/script.d.ts","../../node_modules/@bsv/sdk/dist/types/src/script/unlockingscript.d.ts","../../node_modules/@bsv/sdk/dist/types/src/script/lockingscript.d.ts","../../node_modules/@bsv/sdk/dist/types/src/transaction/transactionoutput.d.ts","../../node_modules/@bsv/sdk/dist/types/src/transaction/feemodel.d.ts","../../node_modules/@bsv/sdk/dist/types/src/transaction/broadcaster.d.ts","../../node_modules/@bsv/sdk/dist/types/src/transaction/chaintracker.d.ts","../../node_modules/@bsv/sdk/dist/types/src/transaction/merklepath.d.ts","../../node_modules/@bsv/sdk/dist/types/src/transaction/transaction.d.ts","../../node_modules/@bsv/sdk/dist/types/src/transaction/transactioninput.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/transactionsignature.d.ts","../../node_modules/@bsv/sdk/dist/types/src/primitives/index.d.ts","../../node_modules/@bsv/sdk/dist/types/src/script/op.d.ts","../../node_modules/@bsv/sdk/dist/types/src/script/spend.d.ts","../../node_modules/@bsv/sdk/dist/types/src/script/scripttemplate.d.ts","../../node_modules/@bsv/sdk/dist/types/src/script/templates/p2pkh.d.ts","../../node_modules/@bsv/sdk/dist/types/src/script/templates/rpuzzle.d.ts","../../node_modules/@bsv/sdk/dist/types/src/script/templates/index.d.ts","../../node_modules/@bsv/sdk/dist/types/src/script/index.d.ts","../../node_modules/@bsv/sdk/dist/types/src/transaction/index.d.ts","../../node_modules/@bsv/sdk/dist/types/src/transaction/fee-models/satoshisperkilobyte.d.ts","../../node_modules/@bsv/sdk/dist/types/src/transaction/fee-models/index.d.ts","../../node_modules/@bsv/sdk/dist/types/src/transaction/broadcasters/arc.d.ts","../../node_modules/@bsv/sdk/dist/types/src/transaction/broadcasters/index.d.ts","../../node_modules/@bsv/sdk/dist/types/src/messages/signedmessage.d.ts","../../node_modules/@bsv/sdk/dist/types/src/messages/encryptedmessage.d.ts","../../node_modules/@bsv/sdk/dist/types/src/messages/index.d.ts","../../node_modules/@bsv/sdk/dist/types/src/compat/bsm.d.ts","../../node_modules/@bsv/sdk/dist/types/src/compat/hd.d.ts","../../node_modules/@bsv/sdk/dist/types/src/compat/mnemonic.d.ts","../../node_modules/@bsv/sdk/dist/types/src/compat/ecies.d.ts","../../node_modules/@bsv/sdk/dist/types/src/compat/index.d.ts","../../node_modules/@bsv/sdk/dist/types/mod.d.ts","../../src/lookupservice.ts","../../src/output.ts","../../src/storage/storage.ts","../../src/taggedbeef.ts","../../src/steak.ts","../../src/engine.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/tarn/dist/promiseinspection.d.ts","../../node_modules/tarn/dist/utils.d.ts","../../node_modules/tarn/dist/pendingoperation.d.ts","../../node_modules/tarn/dist/resource.d.ts","../../node_modules/tarn/dist/pool.d.ts","../../node_modules/tarn/dist/timeouterror.d.ts","../../node_modules/tarn/dist/tarn.d.ts","../../node_modules/knex/types/result.d.ts","../../node_modules/knex/types/tables.d.ts","../../node_modules/knex/types/index.d.ts","../../src/storage/knex/knexstorage.ts","../../src/storage/knex/migrations/2024-05-18-001-initial.ts","../../src/storage/knex/all-migrations.ts","../../mod.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","impliedFormat":1},{"version":"886e50ef125efb7878f744e86908884c0133e7a6d9d80013f421b0cd8fb2af94","impliedFormat":1},{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true,"impliedFormat":1},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true,"impliedFormat":1},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true,"impliedFormat":1},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true,"impliedFormat":1},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"4412d0c6d6242f09437d0880c0bd6385e7d73e8a7ad5d8b7da8aa99512e51714","signature":"aa2a801ff64290cdb198c59eac4929b80d703fabbba7aa8dedb9d3fb58260256","impliedFormat":99},{"version":"4131d6b155aea9419f42f0700d9d9e421145d54f9894fcb02cc42a4e7098f882","impliedFormat":99},{"version":"c49a53ffa96306f7b5a3f9556b7c38ff053db204a7142151318334b92465dd04","impliedFormat":99},{"version":"37bcd0fbf8930a5a240dcd0925d8d6f75e75b761d8b3139c8a0d447584e6631c","impliedFormat":99},{"version":"df10edf836510d82fec97129589e824b9a9b4ac94f3482e43c651123e9cadf20","impliedFormat":99},{"version":"50edbdea74283a6a7ddcbb361a4bce2ce2758e36438d383ce098242e0704d127","impliedFormat":99},{"version":"8d3b45a44034c5907cd25313ffbb45126162be336997abbe817995085b7c91e8","impliedFormat":99},{"version":"7e579ec417c04af9841a76f87998113f0e26fe6d9764df9fc51848c6bdd095a9","impliedFormat":99},{"version":"91cb63b3196af7837bd6688a562f7f83853f9efff037a8ace21dbabf9ce59f9d","impliedFormat":99},{"version":"47ff6368d2a381cd0a8f84cd2c5f5373ad1bb5562ee36e0e9f6d41e7cf4d7504","impliedFormat":99},{"version":"3ff3f5a09212d7f7c9b2392010fe0da9040d40225fc771e7d1fae45b195a7275","impliedFormat":99},{"version":"972d058fabef5ec414cdb970b406137505012061d22a818d0bafd59b1d7fc304","impliedFormat":99},{"version":"43d0f31d94189cb00daead423d25cfacdb03a3ec24be485e1b329612ad0793a1","impliedFormat":99},{"version":"50a7d4054a05a8b088e8560f37a8335b79e83435b4539fcd860b6d03bfe2c7ea","impliedFormat":99},{"version":"6fa752678e962e6050f5c871b83d893aa55b60f815e17b566bbdd409572eaeb9","impliedFormat":99},{"version":"00ca19acf737096a1e6984e383e9f115a3a43619e43788892a554e189ec0e8c5","impliedFormat":99},{"version":"dff2ba9b0c494459fd33d5f99e0f2722b5c6652758eb149e82395b7f1f0769ca","impliedFormat":99},{"version":"83416caad55c5018f13cfb0f09e6bdb16442e265c526c4e3edd89c4977acc97e","impliedFormat":99},{"version":"5d7cd5930e8c759909a21f99d12e048a9f4b02644b34d11852b89fbbff7c2821","impliedFormat":99},{"version":"d7520ad8621111bb484bd4fcf06ec19c8f5c2dcfa938d41a0288d59b15fd1930","impliedFormat":99},{"version":"46c0230476c149252b9eddf0a97d521a5af223e497c76d349537a0fe84869cdc","impliedFormat":99},{"version":"22a3b38628a77dd1023eba939b991357ccbc85ae67d31014cf5c0d7632b9f251","impliedFormat":99},{"version":"30072e54d199fb4007c422ee88003cbd1b9fb755b8e2bdfef50543706d7ecf3d","impliedFormat":99},{"version":"c4b26ce240c1eea17878c80a29d66bae16bbd3a07e98e034ea2e6813a186ebfc","impliedFormat":99},{"version":"768d6fbec410216bfef9030b317eee914b19081c9905fc727401bc28e70d6ec5","impliedFormat":99},{"version":"1913c2a3aab411553472debac3779ee8731335b9210389653eb0890736a064fe","impliedFormat":99},{"version":"fa0ac76995ef90f3547bedc38f054ed04fd0d1e84009fd28f0a8a5b0bea85cc0","impliedFormat":99},{"version":"7bc83750744e6d7924e4b16e8e8d9272b1dbad685e4463b6f39a7b7dd336e833","impliedFormat":99},{"version":"dd36329202774e2f32f3f5c0b2801b3c85ec43495e85bf4f2bee681597b5b5c8","impliedFormat":99},{"version":"1c91fcf756becfa9feec822029fb6e5060c761291635521e171cf65660921a34","impliedFormat":99},{"version":"8836e3fe0e061ae6c734e22ac66a0f4c45357e4f084b5373e09607c7cd493028","impliedFormat":99},{"version":"3c985fba23832986f09a0914938a1f242199c49cad3527d051bfbfb6fc6f74d5","impliedFormat":99},{"version":"73a4eeda6bc23a9bba474dedb147ffd5a8c0c1b30851ab262d273f28e613f102","impliedFormat":99},{"version":"dbfc8224f4e3c3881c6bbf339bfc57e5977f5171d2ae2534fcf21c747e663587","impliedFormat":99},{"version":"af54a292d3c6f475caa487f428e1a8ff009bef631e27781fca60bd103e8e3df2","impliedFormat":99},{"version":"60412be999ab2254a0b4105ff71c5899fd3448c4d8a0ff49fe759a2841792be7","impliedFormat":99},{"version":"4a921b58051b16feffbd36db31e9cd858d8fa366c0a193a7e7e72b3269a7ddd1","impliedFormat":99},{"version":"4723fd0b8862465cc3a15305344af29b572ef487cb39964794725ed9bba70b0c","impliedFormat":99},{"version":"d078842ad92a23fd2feb478dc828d48472e69b405342a4e88bad99c6e65dbe29","impliedFormat":99},{"version":"70bf2b0acc6cc975444f886615ec7d44795644eb9f9a99da42c4c20e7c6c386c","impliedFormat":99},{"version":"0f325f8471a75d8a662840ff5eedd2fd038d7ad960612d703b1ba3cc57074bd9","impliedFormat":99},{"version":"4f2a15d6f9061c0c49a9df3185fe62c9088ea9c9731fd8acce2de9117e2a704c","impliedFormat":99},{"version":"e1732408cb69ca45bbbe0cda5ba4e248707ddcf50adcb5f9864000a74224fad9","impliedFormat":99},{"version":"963288b52d554cd1b63746cdb04e129ef81d41558bbbce384e1719137cf54602","impliedFormat":99},{"version":"be433098468027759291ac5b449655dedbf0ea1c1e3c0ffea87b0af50cc26837","impliedFormat":99},{"version":"391158f9180951ec4af103e34d2243ac9ce31c1eeef6cd6eac4755a86b73af33","impliedFormat":99},{"version":"c6a51ab4d7691202f12dfa90944af70e7ec00bdeea05697b4ca8b616f5795246","impliedFormat":99},{"version":"a83755673215e98d6897bf61b9817aceaf00a70a50c23c6020933455efa97a65","impliedFormat":99},{"version":"98a6d82adbaa1ce57b2e6d8683a0becb828164c6ca05b1a855177a5ad77f9bf4","impliedFormat":99},{"version":"8a00d98c38938ecd970d96073f7882f32031fef05f079531fed80ca80302d8ff","impliedFormat":99},{"version":"15d94a4bafca6beeecdcf2d0411a773cc7ffad2e6c911e43e8487c4338daa6bb","impliedFormat":99},{"version":"47ba09c03551eb26d8beb506c22d937c6a97437474775ed9c77ffdd20bb56ec8","impliedFormat":99},{"version":"be2fa149c0adf79b16ef75587b22416792b8e81422596fbf4925cce06defc70b","impliedFormat":99},{"version":"782d7f9652d1e4256edb944d6d6abbbdacf5e43c1b54f09023b6d2e4c80b6053","impliedFormat":99},{"version":"08280d7e620e13d6001272bc3f3f42ecde55b13a49d0449f33302ba6b5c4ce7c","impliedFormat":99},{"version":"bd6e7e631e2ee0124af5b48a5c68307631c52c997685335238b4b7eeb32e7071","impliedFormat":99},{"version":"38b60e577557d908faf6a3cf662728996640784e46e5936c6b13933f1540a715","impliedFormat":99},{"version":"0abe8d709df9dedfea9c33ade864d263ed0c8e513eadd2108fa875359748970a","signature":"5b12d0de55885425ac1d5aa6c6d23e08fafa88f61b0a962e86b5649c1638a745","impliedFormat":99},{"version":"f0541e97310cb80bc976b8c23ba0f78a1f19ed2c2a6ca62b5ae92f597b5346bc","signature":"1049663735985a94a4472bab8f1d41b60bce917acc1e285b73f974ef8dfa16b1","impliedFormat":99},{"version":"7819fae62c915073f8e888a86cc2ba70237f23737cc066e0b1c567712e08d8f3","impliedFormat":99},{"version":"acdc9fb9638a235a69bd270003d8db4d6153ada2b7ccbea741ade36b295e431e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c","impliedFormat":1},{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","impliedFormat":1},{"version":"d69a3298a197fe5d59edba0ec23b4abf2c8e7b8c6718eac97833633cd664e4c9","impliedFormat":1},{"version":"a9544f6f8af0d046565e8dde585502698ebc99eef28b715bad7c2bded62e4a32","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"8b809082dfeffc8cc4f3b9c59f55c0ff52ba12f5ae0766cb5c35deee83b8552e","affectsGlobalScope":true,"impliedFormat":1},{"version":"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","impliedFormat":1},{"version":"4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","impliedFormat":1},{"version":"d4f9d3ae2fe1ae199e1c832cca2c44f45e0b305dfa2808afdd51249b6f4a5163","impliedFormat":1},{"version":"7525257b4aa35efc7a1bbc00f205a9a96c4e4ab791da90db41b77938c4e0c18e","impliedFormat":1},{"version":"b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c611eff81287837680c1f4496daf9e737d6f3a1ff17752207814b8f8e1265af","affectsGlobalScope":true,"impliedFormat":1},{"version":"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","impliedFormat":1},{"version":"b5d4e3e524f2eead4519c8e819eaf7fa44a27c22418eff1b7b2d0ebc5fdc510d","impliedFormat":1},{"version":"afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","impliedFormat":1},{"version":"9bd8e5984676cf28ebffcc65620b4ab5cb38ab2ec0aac0825df8568856895653","impliedFormat":1},{"version":"396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","impliedFormat":1},{"version":"5e8dc64e7e68b2b3ea52ed685cf85239e0d5fb9df31aabc94370c6bc7e19077b","impliedFormat":1},{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true,"impliedFormat":1},{"version":"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","impliedFormat":1},{"version":"45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","impliedFormat":1},{"version":"0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7","impliedFormat":1},{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true,"impliedFormat":1},{"version":"46755a4afc53df75f0bfce72259fb971daac826b0cdd8c4eaccad2755a817403","affectsGlobalScope":true,"impliedFormat":1},{"version":"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","impliedFormat":1},{"version":"54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","impliedFormat":1},{"version":"d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","impliedFormat":1},{"version":"8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","impliedFormat":1},{"version":"01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"7fa32887f8a97909fca35ebba3740f8caf8df146618d8fff957a3f89f67a2f6a","impliedFormat":1},{"version":"9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024","impliedFormat":1},{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true,"impliedFormat":1},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","impliedFormat":1},{"version":"4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","impliedFormat":1},{"version":"7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","impliedFormat":1},{"version":"7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df","impliedFormat":1},{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","impliedFormat":1},{"version":"79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","impliedFormat":1},{"version":"21c56c6e8eeacef15f63f373a29fab6a2b36e4705be7a528aae8c51469e2737b","impliedFormat":1},{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","impliedFormat":1},{"version":"7c54c4b7f7752b0315f14b9ae63f00d7a3f39308e598c670d8a96afdcb8e0a4e","impliedFormat":1},{"version":"9f559e612c27cce4bc181decc88ba90b00e5be42b6ed7fe9316d6c61476d7439","impliedFormat":1},{"version":"03dfcf3d00c60a769e705eb5b080c3674cd59ae830ee7ad82aed8f1883f60f06","impliedFormat":1},{"version":"ca8cec5a09c4323e1fcd9e0f0f84727c9b0818802fabae4ecf7f42a380483037","impliedFormat":1},{"version":"92d06124389a259ec6f17fa490dd2da4a8aff8fd9055047036e63211793a556b","impliedFormat":1},{"version":"aa8c0e10f176c156cfea40f5acdbc08cb44a43ba5411c743be645743ed3b1c02","impliedFormat":1},{"version":"b1bf7de0413303c8bd9424cf4955b433606e90eb31339202c8bffdb1dec982e9","impliedFormat":1},{"version":"979a151b6741901c83c365c97b7e55dcaccd92402fe6095dedd7be206bb23bae","impliedFormat":1},{"version":"ec982ebee52d26bdc7a7520612216c9c55e7a44e6fe0f654fb26e6ee41bc16c4","impliedFormat":1},{"version":"706132295c6d7639a0de0deaca13aa2ed5b823495dfebb5fc6a6c396ae324a7f","impliedFormat":1},{"version":"0ccd6a8c37dcacc11af6bbc0dfc056d03defcb0b20b3d2cce27a77c103b89c29","impliedFormat":99},{"version":"2f307f7850289557f2d45c80945b0d5505c3d6116fc3af0ec30b674a535f77f4","signature":"af0a85e22bdeae1b98af3da3e5a7fef31e09a25685a80ad34a8021bdf1d8fc91","impliedFormat":99},{"version":"693f77d0e8b8549741e88faa8b733798b80170acce0ed77513e97c00bbfa9905","signature":"8ebfb2c391a289e519d7e25ab641664b794bc1f998aeaa17377cf78fc652e9d6","impliedFormat":99},{"version":"73f3279cae8a06672fae3d8c4b9e0a989eb2b3005f33696b5a2a4e8c15983626","signature":"08d405191df998fd6f4bc23fb93ae86564d3676260999d7cd38896f458115f4f","impliedFormat":99},{"version":"4489c6a9fde8934733aa7df6f7911461ee6e9e4ad092736bd416f6b2cc20b2c6","impliedFormat":1},{"version":"2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","impliedFormat":1},{"version":"8041cfce439ff29d339742389de04c136e3029d6b1817f07b2d7fcbfb7534990","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"9d38964b57191567a14b396422c87488cecd48f405c642daa734159875ee81d9","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","impliedFormat":1},{"version":"a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","impliedFormat":1},{"version":"5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"5ab630d466ac55baa6d32820378098404fc18ba9da6f7bc5df30c5dbb1cffae8","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e","impliedFormat":1}],"root":[[69,73],[123,128],[226,229]],"options":{"allowSyntheticDefaultImports":true,"downlevelIteration":false,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":199,"outDir":"./","rootDir":"../..","skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"target":99},"fileIdsList":[[69,70,71,72,73,123,124,125,126,127,128,226,228],[230],[101,107,108,109,111,113,116,121],[81,82,83],[82,83],[117,118,119,120],[114,115],[80],[75],[75,76,79],[76,79,81],[76,79,80,81,82,83,84,85,86,87,88,100],[76,77,79],[76],[76,77,78],[76,79,81,83],[76,79,81,82],[74,76],[76,83],[76,81,90,93,99],[90,91,92,102,103,104,107],[90],[76,89],[91,92,98],[91,92,93,99],[105,106],[82,90,91,92,98,104],[76,82,91,92,98,104],[98],[95,98],[112],[110],[94,98],[93,95,96,97,98,99],[86,96],[93,94,95,96,97,99],[91,98],[92],[242],[230,231,232,233,234],[230,232],[178,215],[237],[238],[244,247],[129],[164],[165,170,199],[166,177,178,185,196,207],[166,167,177,185],[168,208],[169,170,178,186],[170,196,204],[171,173,177,185],[164,172],[173,174],[177],[175,177],[164,177],[177,178,179,196,207],[177,178,179,192,196,199],[162,165,212],[173,177,180,185,196,207],[177,178,180,181,185,196,204,207],[180,182,196,204,207],[129,130,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214],[177,183],[184,207,212],[173,177,185,196],[186],[187],[164,188],[189,206,212],[190],[191],[177,192,193],[192,194,208,210],[165,177,196,197,198,199],[165,196,198],[196,197],[199],[200],[164,196],[177,202,203],[202,203],[170,185,196,204],[205],[185,206],[165,180,191,207],[170,208],[196,209],[184,210],[211],[165,170,177,179,188,196,207,210,212],[196,213],[251,290],[251,275,290],[290],[251],[251,276,290],[251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289],[276,290],[292],[240,246],[244],[241,245],[177,196,204,222,223,224],[243],[217],[177,215,216,218,219],[220,221],[216],[139,143,207],[139,196,207],[134],[136,139,204,207],[185,204],[215],[134,215],[136,139,185,207],[131,132,135,138,165,177,196,207],[131,137],[135,139,165,199,207,215],[165,215],[155,165,215],[133,134,215],[139],[133,134,135,136,137,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,156,157,158,159,160,161],[139,146,147],[137,139,147,148],[138],[131,134,139],[139,143,147,148],[143],[137,139,142,207],[131,136,137,139,143,146],[165,196],[134,139,155,165,212,215],[69,70,71,72,73,122,123,124,125,126,127],[71,72,73,122],[69],[225,227],[124,125,225],[225],[124]],"referencedMap":[[229,1],[232,2],[122,3],[117,4],[120,5],[118,5],[121,6],[115,5],[116,7],[114,5],[77,8],[76,9],[80,10],[85,11],[101,12],[78,13],[74,14],[79,15],[82,16],[83,17],[75,18],[81,19],[84,14],[100,20],[86,14],[108,21],[92,22],[90,23],[104,24],[103,25],[107,26],[105,27],[106,28],[91,22],[95,29],[112,30],[113,31],[111,32],[110,33],[94,29],[109,34],[97,35],[98,36],[99,37],[93,38],[243,39],[235,40],[231,2],[233,41],[234,2],[236,42],[238,43],[239,44],[248,45],[129,46],[130,46],[164,47],[165,48],[166,49],[167,50],[168,51],[169,52],[170,53],[171,54],[172,55],[173,56],[174,56],[176,57],[175,58],[177,59],[178,60],[179,61],[163,62],[180,63],[181,64],[182,65],[215,66],[183,67],[184,68],[185,69],[186,70],[187,71],[188,72],[189,73],[190,74],[191,75],[192,76],[193,76],[194,77],[196,78],[198,79],[197,80],[199,81],[200,82],[201,83],[202,84],[203,85],[204,86],[205,87],[206,88],[207,89],[208,90],[209,91],[210,92],[211,93],[212,94],[213,95],[275,96],[276,97],[251,98],[254,98],[273,96],[274,96],[264,96],[263,99],[261,96],[256,96],[269,96],[267,96],[271,96],[255,96],[268,96],[272,96],[257,96],[258,96],[270,96],[252,96],[259,96],[260,96],[262,96],[266,96],[277,100],[265,96],[253,96],[290,101],[284,100],[286,102],[285,100],[278,100],[279,100],[281,100],[283,100],[287,102],[288,102],[280,102],[282,102],[293,103],[247,104],[245,105],[246,106],[225,107],[244,108],[218,109],[220,110],[219,109],[222,111],[217,112],[146,113],[153,114],[145,113],[160,115],[137,116],[136,117],[159,118],[154,119],[157,120],[139,121],[138,122],[134,123],[133,124],[156,125],[135,126],[140,127],[144,127],[162,128],[161,127],[148,129],[149,130],[151,131],[147,132],[150,133],[155,118],[142,134],[143,135],[152,136],[132,137],[158,138],[128,139],[123,140],[127,141],[228,142],[226,143],[227,144],[125,145],[70,141]],"exportedModulesMap":[[229,1],[232,2],[122,3],[117,4],[120,5],[118,5],[121,6],[115,5],[116,7],[114,5],[77,8],[76,9],[80,10],[85,11],[101,12],[78,13],[74,14],[79,15],[82,16],[83,17],[75,18],[81,19],[84,14],[100,20],[86,14],[108,21],[92,22],[90,23],[104,24],[103,25],[107,26],[105,27],[106,28],[91,22],[95,29],[112,30],[113,31],[111,32],[110,33],[94,29],[109,34],[97,35],[98,36],[99,37],[93,38],[243,39],[235,40],[231,2],[233,41],[234,2],[236,42],[238,43],[239,44],[248,45],[129,46],[130,46],[164,47],[165,48],[166,49],[167,50],[168,51],[169,52],[170,53],[171,54],[172,55],[173,56],[174,56],[176,57],[175,58],[177,59],[178,60],[179,61],[163,62],[180,63],[181,64],[182,65],[215,66],[183,67],[184,68],[185,69],[186,70],[187,71],[188,72],[189,73],[190,74],[191,75],[192,76],[193,76],[194,77],[196,78],[198,79],[197,80],[199,81],[200,82],[201,83],[202,84],[203,85],[204,86],[205,87],[206,88],[207,89],[208,90],[209,91],[210,92],[211,93],[212,94],[213,95],[275,96],[276,97],[251,98],[254,98],[273,96],[274,96],[264,96],[263,99],[261,96],[256,96],[269,96],[267,96],[271,96],[255,96],[268,96],[272,96],[257,96],[258,96],[270,96],[252,96],[259,96],[260,96],[262,96],[266,96],[277,100],[265,96],[253,96],[290,101],[284,100],[286,102],[285,100],[278,100],[279,100],[281,100],[283,100],[287,102],[288,102],[280,102],[282,102],[293,103],[247,104],[245,105],[246,106],[225,107],[244,108],[218,109],[220,110],[219,109],[222,111],[217,112],[146,113],[153,114],[145,113],[160,115],[137,116],[136,117],[159,118],[154,119],[157,120],[139,121],[138,122],[134,123],[133,124],[156,125],[135,126],[140,127],[144,127],[162,128],[161,127],[148,129],[149,130],[151,131],[147,132],[150,133],[155,118],[142,134],[143,135],[152,136],[132,137],[158,138],[128,139],[123,140],[127,141],[228,144],[226,143],[227,144],[125,145],[70,141]],"semanticDiagnosticsPerFile":[229,232,230,122,117,120,118,121,119,115,116,114,77,76,80,85,87,101,78,74,79,82,83,88,75,81,84,100,86,108,92,102,90,89,104,103,107,105,106,91,95,112,113,96,111,110,94,109,97,98,99,93,240,243,242,235,231,233,234,236,237,238,239,248,249,250,129,130,164,165,166,167,168,169,170,171,172,173,174,176,175,177,178,179,163,214,180,181,182,215,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,197,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,275,276,251,254,273,274,264,263,261,256,269,267,271,255,268,272,257,258,270,252,259,260,262,266,277,265,253,290,289,284,286,285,278,279,281,283,287,288,280,282,291,292,293,241,247,245,246,225,223,224,244,218,220,216,219,222,221,217,67,68,12,14,13,2,15,16,17,18,19,20,21,22,3,23,4,24,28,25,26,27,29,30,31,5,32,33,34,35,6,39,36,37,38,40,7,41,46,47,42,43,44,45,8,51,48,49,50,52,9,53,54,55,58,56,57,59,60,10,1,61,11,65,63,62,66,64,146,153,145,160,137,136,159,154,157,139,138,134,133,156,135,140,141,144,131,162,161,148,149,151,147,150,155,142,143,152,132,158,69,128,73,72,71,123,124,127,228,226,227,125,126,70]},"version":"5.4.5"}
@@ -0,0 +1,14 @@
1
+ export * as Engine from "./src/Engine.js";
2
+ export * as LookupService from "./src/LookupService.js";
3
+ export * as TopicManager from "./src/TopicManager.js";
4
+ export * as Storage from "./src/storage/Storage.js";
5
+ export * as Output from './src/Output.js';
6
+ export * as AdmittanceInstructions from './src/AdmittanceInstructions.js';
7
+ export * as TaggedBEEF from './src/TaggedBEEF.js';
8
+ export * as STEAK from './src/STEAK.js';
9
+ export * as LookupQuestion from './src/LookupQuestion.js';
10
+ export * as LookupFormula from './src/LookupFormula.js';
11
+ export * as LookupAnswer from './src/LookupAnswer.js';
12
+ export * as KnexStorage from './src/storage/knex/KnexStorage.js';
13
+ export * as KnexStorageMigrations from './src/storage/knex/all-migrations.js';
14
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../mod.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAA;AAGrD,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,sBAAsB,MAAM,iCAAiC,CAAA;AACzE,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAA;AAGrD,OAAO,KAAK,WAAW,MAAM,mCAAmC,CAAA;AAChE,OAAO,KAAK,qBAAqB,MAAM,sCAAsC,CAAA"}
@@ -0,0 +1,14 @@
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 indicies of all admissable outputs into the managed topic from the provided transaction.
7
+ */
8
+ outputsToAdmit: number[];
9
+ /**
10
+ * The indicies 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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdmittanceInstructions.d.ts","sourceRoot":"","sources":["../../../src/AdmittanceInstructions.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAA;IAExB;;OAEG;IACH,aAAa,EAAE,MAAM,EAAE,CAAA;CAC1B,CAAA"}
@@ -0,0 +1,92 @@
1
+ import TopicManager from "./TopicManager.js";
2
+ import LookupService from "./LookupService.js";
3
+ import Storage from './storage/Storage.js';
4
+ import type { Output } from './Output.js';
5
+ import { TaggedBEEF } from "./TaggedBEEF.js";
6
+ import { STEAK } from './STEAK.js';
7
+ import { LookupQuestion } from "./LookupQuestion.js";
8
+ import { LookupAnswer } from "./LookupAnswer.js";
9
+ import { ChainTracker } from '@bsv/sdk';
10
+ /**
11
+ * Am engine for running BSV Overlay Services (topic managers and lookup services).
12
+ */
13
+ export default class Engine {
14
+ managers: {
15
+ [key: string]: TopicManager;
16
+ };
17
+ lookupServices: {
18
+ [key: string]: LookupService;
19
+ };
20
+ storage: Storage;
21
+ chainTracker: ChainTracker;
22
+ /**
23
+ * Creates a new Overlay Services Engine
24
+ * @param {[key: string]: TopicManager} managers - manages topic admittance
25
+ * @param {[key: string]: LookupService} lookupServices - manages UTXO lookups
26
+ * @param {Storage} storage - for interacting with internally-managed persistent data
27
+ * @param {ChainTracker} chainTracker - Verifies SPV data associated with transactions
28
+ * @param {ProofNotifier[]} [proofNotifiers] - proof notifier services coming soon!
29
+ */
30
+ constructor(managers: {
31
+ [key: string]: TopicManager;
32
+ }, lookupServices: {
33
+ [key: string]: LookupService;
34
+ }, storage: Storage, chainTracker: ChainTracker);
35
+ /**
36
+ * Submits a transaction for processing by Overlay Services.
37
+ * @param taggedBEEF — The transaction to process
38
+ * @returns The submitted transaction execution acknowledgement
39
+ */
40
+ submit(taggedBEEF: TaggedBEEF): Promise<STEAK>;
41
+ /**
42
+ * Submit a lookup question to the Overlay Services Engine, and receive bakc a Lookup Answer
43
+ * @param LookupQuestion — The question to ask the Overlay Services Engine
44
+ * @returns The answer to the question
45
+ */
46
+ lookup(lookupQuestion: LookupQuestion): Promise<LookupAnswer>;
47
+ /**
48
+ * Traverse and return the history of a UTXO
49
+ * @param historySelector
50
+ * @param currentDepth
51
+ * @param output
52
+ * @param txid
53
+ * @param outputIndex
54
+ * @param id
55
+ * @returns {Promise<EnvelopeEvidenceApi>}
56
+ */
57
+ getUTXOHistory(output: Output, historySelector?: ((beef: number[], outputIndex: number, currentDepth: number) => Promise<boolean>) | number, currentDepth?: number): Promise<Output | undefined>;
58
+ /**
59
+ * Delete a UTXO and all stale consumed inputs
60
+ * @param output
61
+ * @param id
62
+ * @param txid
63
+ * @param outputIndex
64
+ * @returns {Promise<void>}
65
+ */
66
+ private deleteUTXODeep;
67
+ /**
68
+ * Find a list of supported topic managers
69
+ * @public
70
+ * @returns {Promise<string[]>} - array of supported topic managers
71
+ */
72
+ listTopicManagers(): Promise<string[]>;
73
+ /**
74
+ * Find a list of supported lookup services
75
+ * @public
76
+ * @returns {Promise<string[]>} - array of supported lookup services
77
+ */
78
+ listLookupServiceProviders(): Promise<string[]>;
79
+ /**
80
+ * Run a query to get the documentation for a particular topic manager
81
+ * @public
82
+ * @returns {Promise<string>} - the documentation for the topic manager
83
+ */
84
+ getDocumentationForTopicManger(manager: any): Promise<string>;
85
+ /**
86
+ * Run a query to get the documentation for a particular lookup service
87
+ * @public
88
+ * @returns {Promise<string>} - the documentation for the lookup service
89
+ */
90
+ getDocumentationForLookupServiceProvider(provider: any): Promise<string>;
91
+ }
92
+ //# sourceMappingURL=Engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../../src/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAC5C,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,OAAO,MAAM,sBAAsB,CAAA;AAE1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,EAAe,YAAY,EAAE,MAAM,UAAU,CAAA;AAEpD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IAUZ,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE;IACzC,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE;IAChD,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE,YAAY;IAZrC;;;;;;;OAOG;gBAEQ,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,EACzC,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,EAChD,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY;IAIrC;;;;OAIG;IACG,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;IA2KpD;;;;OAIG;IACG,MAAM,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAuCnE;;;;;;;;;OASG;IACG,cAAc,CAChB,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,EAAE,YAAY,SAAI,GAC/H,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA+D9B;;;;;;;QAOI;YACU,cAAc;IA+C5B;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI5C;;;;OAIG;IACG,0BAA0B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrD;;;;OAIG;IACG,8BAA8B,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAInE;;;;OAIG;IACG,wCAAwC,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;CAGjF"}
@@ -0,0 +1,15 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LookupAnswer.d.ts","sourceRoot":"","sources":["../../../src/LookupAnswer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,WAAW,EAAE,MAAM,CAAA;KACtB,CAAC,CAAA;CACL,GAAG;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,OAAO,CAAA;CAClB,CAAA"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The formula that will be used by the Overlay Services Engine to compute the Lookup Answer. Can be returned by Lookup Services in response to a Lookup Question.
3
+ */
4
+ export type LookupFormula = {
5
+ /**
6
+ * TXID of the transaction where an output responsive to the Lookup Question resides.
7
+ */
8
+ txid: string;
9
+ /**
10
+ * Index of the transaction output responsive to the Lookup Question.
11
+ */
12
+ outputIndex: number;
13
+ /**
14
+ * Decides what history to incorporate into the Lookup Answer.
15
+ *
16
+ * Optionally directs the Overlay Services Engine as to the historical context (preceeding outputs) to include as part of the Lookup Answer.
17
+ * - If a number, denotes how many previous spends (in terms of chain depth) the Engine should include with the Answer.
18
+ * - If a decider function, accepts a BEEF-formatted transaction, an output index and the current depth (relative to the top-level respnosive UTXO) as parameters.
19
+ * The function returns a promise for a boolean indicating whether the output should be incorporated into the Lookup Answer.
20
+ * If so, the function will be called again for transactions that preceeded the one provided, ultimately allowing the complete shape of the responsive spend history to be described.
21
+ * If not provided, no historical information will be included with the Lookup Answer, except that which may incidentally be required to fully anchor the Lookup Answer to the blockchain.
22
+ */
23
+ history?: ((beef: number[], outputIndex: number, currentDepth: number) => Promise<boolean>) | number;
24
+ }[];
25
+ //# sourceMappingURL=LookupFormula.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LookupFormula.d.ts","sourceRoot":"","sources":["../../../src/LookupFormula.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAA;CACvG,EAAE,CAAA"}
@@ -0,0 +1,15 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LookupQuestion.d.ts","sourceRoot":"","sources":["../../../src/LookupQuestion.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAA;CACjB,CAAA"}
@@ -0,0 +1,52 @@
1
+ import { LookupQuestion } from './LookupQuestion.js';
2
+ import { LookupFormula } from './LookupFormula.js';
3
+ import { LookupAnswer } from './LookupAnswer.js';
4
+ import { Script } from '@bsv/sdk';
5
+ /**
6
+ * Defines a Lookup Service interface to be implemented for specific use-cases
7
+ */
8
+ export default interface LookupService {
9
+ /**
10
+ * Process the event when a new UTXO is let into a topic
11
+ * @param txid
12
+ * @param outputIndex
13
+ * @param outputScript
14
+ * @param topic
15
+ */
16
+ outputAdded?(txid: string, outputIndex: number, outputScript: Script, topic: string): Promise<void>;
17
+ /**
18
+ * Process the spend event for a UTXO
19
+ * @param txid
20
+ * @param outputIndex
21
+ * @param topic
22
+ */
23
+ outputSpent?(txid: string, outputIndex: number, topic: string): Promise<void>;
24
+ /**
25
+ * Process the deletion event for a UTXO
26
+ * @param txid
27
+ * @param outputIndex
28
+ * @param topic
29
+ */
30
+ outputDeleted?(txid: string, outputIndex: number, topic: string): Promise<void>;
31
+ /**
32
+ * Queries the lookup service for information
33
+ * @param question — The question to be answered by the lookup service
34
+ * @returns — The Lookup Answer or Lookup Formula used to answer the question
35
+ */
36
+ lookup(question: LookupQuestion): Promise<LookupAnswer | LookupFormula>;
37
+ /**
38
+ * Returns a Markdown-formatted documentation string for the lookup service.
39
+ */
40
+ getDocumentation(): Promise<string>;
41
+ /**
42
+ * Returns a metadata object that can be used to identify the lookup service.
43
+ */
44
+ getMetaData(): Promise<{
45
+ name: string;
46
+ shortDescription: string;
47
+ iconURL?: string;
48
+ version?: string;
49
+ informationURL?: string;
50
+ }>;
51
+ }
52
+ //# sourceMappingURL=LookupService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LookupService.d.ts","sourceRoot":"","sources":["../../../src/LookupService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,aAAa;IAElC;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEnG;;;;;OAKG;IACH,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE7E;;;;;KAKC;IACD,aAAa,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/E;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,aAAa,CAAC,CAAA;IAEvE;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IAEnC;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAClI"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Represents an output to be tracked by the Overlay Services Engine
3
+ */
4
+ export type Output = {
5
+ /** TXID of the output */
6
+ txid: string;
7
+ /** index of the output */
8
+ outputIndex: number;
9
+ /** script of the output */
10
+ outputScript: number[];
11
+ /** number of satoshis in the output */
12
+ satoshis: number;
13
+ /** topic to which the output belongs */
14
+ topic: string;
15
+ /** Whether the output is spent */
16
+ spent: boolean;
17
+ /** The transaction data for the output */
18
+ beef: number[];
19
+ /** Outputs consumed by the transaction associated with the output */
20
+ outputsConsumed: {
21
+ txid: string;
22
+ outputIndex: number;
23
+ }[];
24
+ /** Outputs consuming this output */
25
+ consumedBy: {
26
+ txid: string;
27
+ outputIndex: number;
28
+ }[];
29
+ };
30
+ //# sourceMappingURL=Output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Output.d.ts","sourceRoot":"","sources":["../../../src/Output.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACjB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,2BAA2B;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,kCAAkC;IAClC,KAAK,EAAE,OAAO,CAAA;IACd,0CAA0C;IAC1C,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,qEAAqE;IACrE,eAAe,EAAE;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;KACtB,EAAE,CAAA;IACH,oCAAoC;IACpC,UAAU,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;KACtB,EAAE,CAAA;CACN,CAAA"}
@@ -0,0 +1,10 @@
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
@@ -0,0 +1 @@
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"}