@trufnetwork/sdk-js 0.2.2 → 0.3.0

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 (113) hide show
  1. package/README.md +91 -13
  2. package/dist/cjs/client/client.cjs +41 -32
  3. package/dist/cjs/client/client.cjs.map +2 -2
  4. package/dist/cjs/client/getLastTransactions.cjs +67 -0
  5. package/dist/cjs/client/getLastTransactions.cjs.map +7 -0
  6. package/dist/cjs/client/listStreams.cjs +46 -0
  7. package/dist/cjs/client/listStreams.cjs.map +7 -0
  8. package/dist/cjs/contracts-api/{stream.cjs → action.cjs} +140 -159
  9. package/dist/cjs/contracts-api/action.cjs.map +7 -0
  10. package/dist/cjs/contracts-api/composedAction.cjs +183 -0
  11. package/dist/cjs/contracts-api/composedAction.cjs.map +7 -0
  12. package/dist/cjs/contracts-api/{destroyStream.cjs → deleteStream.cjs} +16 -16
  13. package/dist/cjs/contracts-api/deleteStream.cjs.map +7 -0
  14. package/dist/cjs/contracts-api/deployStream.cjs +33 -16
  15. package/dist/cjs/contracts-api/deployStream.cjs.map +3 -3
  16. package/dist/cjs/contracts-api/primitiveAction.cjs +92 -0
  17. package/dist/cjs/contracts-api/primitiveAction.cjs.map +7 -0
  18. package/dist/cjs/index.common.cjs +6 -6
  19. package/dist/cjs/index.common.cjs.map +1 -1
  20. package/dist/cjs/types/transaction.cjs +19 -0
  21. package/dist/cjs/types/transaction.cjs.map +7 -0
  22. package/dist/cjs/util/EthereumAddress.cjs +0 -1
  23. package/dist/cjs/util/EthereumAddress.cjs.map +2 -2
  24. package/dist/cjs/util/StreamId.cjs +7 -2
  25. package/dist/cjs/util/StreamId.cjs.map +2 -2
  26. package/dist/esm/client/client.mjs +41 -32
  27. package/dist/esm/client/client.mjs.map +2 -2
  28. package/dist/esm/client/getLastTransactions.mjs +46 -0
  29. package/dist/esm/client/getLastTransactions.mjs.map +7 -0
  30. package/dist/esm/client/listStreams.mjs +25 -0
  31. package/dist/esm/client/listStreams.mjs.map +7 -0
  32. package/dist/esm/contracts-api/{stream.mjs → action.mjs} +137 -156
  33. package/dist/esm/contracts-api/action.mjs.map +7 -0
  34. package/dist/esm/contracts-api/composedAction.mjs +156 -0
  35. package/dist/esm/contracts-api/composedAction.mjs.map +7 -0
  36. package/dist/esm/contracts-api/deleteStream.mjs +24 -0
  37. package/dist/esm/contracts-api/deleteStream.mjs.map +7 -0
  38. package/dist/esm/contracts-api/deployStream.mjs +23 -21
  39. package/dist/esm/contracts-api/deployStream.mjs.map +2 -2
  40. package/dist/esm/contracts-api/primitiveAction.mjs +71 -0
  41. package/dist/esm/contracts-api/primitiveAction.mjs.map +7 -0
  42. package/dist/esm/index.common.mjs +6 -6
  43. package/dist/esm/index.common.mjs.map +1 -1
  44. package/dist/esm/types/transaction.mjs +1 -0
  45. package/dist/esm/types/transaction.mjs.map +7 -0
  46. package/dist/esm/util/EthereumAddress.mjs +0 -1
  47. package/dist/esm/util/EthereumAddress.mjs.map +2 -2
  48. package/dist/esm/util/StreamId.mjs +7 -2
  49. package/dist/esm/util/StreamId.mjs.map +2 -2
  50. package/dist/tsconfig.build.tsbuildinfo +1 -1
  51. package/dist/types/client/client.d.ts +38 -15
  52. package/dist/types/client/client.d.ts.map +1 -1
  53. package/dist/types/client/getLastTransactions.d.ts +5 -0
  54. package/dist/types/client/getLastTransactions.d.ts.map +1 -0
  55. package/dist/types/client/listStreams.d.ts +12 -0
  56. package/dist/types/client/listStreams.d.ts.map +1 -0
  57. package/dist/types/contracts-api/action.d.ts +136 -0
  58. package/dist/types/contracts-api/action.d.ts.map +1 -0
  59. package/dist/types/contracts-api/{composedStream.d.ts → composedAction.d.ts} +11 -22
  60. package/dist/types/contracts-api/composedAction.d.ts.map +1 -0
  61. package/dist/types/contracts-api/{destroyStream.d.ts → deleteStream.d.ts} +7 -7
  62. package/dist/types/contracts-api/deleteStream.d.ts.map +1 -0
  63. package/dist/types/contracts-api/deployStream.d.ts +2 -2
  64. package/dist/types/contracts-api/deployStream.d.ts.map +1 -1
  65. package/dist/types/contracts-api/primitiveAction.d.ts +33 -0
  66. package/dist/types/contracts-api/primitiveAction.d.ts.map +1 -0
  67. package/dist/types/index.common.d.ts +7 -7
  68. package/dist/types/types/transaction.d.ts +11 -0
  69. package/dist/types/types/transaction.d.ts.map +1 -0
  70. package/dist/types/util/EthereumAddress.d.ts.map +1 -1
  71. package/dist/types/util/StreamId.d.ts +2 -0
  72. package/dist/types/util/StreamId.d.ts.map +1 -1
  73. package/dist/types/util/visibility.d.ts.map +1 -1
  74. package/package.json +10 -6
  75. package/dist/cjs/client/listAllStreams.cjs +0 -51
  76. package/dist/cjs/client/listAllStreams.cjs.map +0 -7
  77. package/dist/cjs/contracts/composed_stream_template.json +0 -1638
  78. package/dist/cjs/contracts/composed_stream_template_unix.json +0 -2122
  79. package/dist/cjs/contracts/contractsContent.cjs +0 -65
  80. package/dist/cjs/contracts/contractsContent.cjs.map +0 -7
  81. package/dist/cjs/contracts/primitive_stream_template.json +0 -952
  82. package/dist/cjs/contracts/primitive_stream_template_unix.json +0 -1173
  83. package/dist/cjs/contracts-api/composedStream.cjs +0 -137
  84. package/dist/cjs/contracts-api/composedStream.cjs.map +0 -7
  85. package/dist/cjs/contracts-api/destroyStream.cjs.map +0 -7
  86. package/dist/cjs/contracts-api/primitiveStream.cjs +0 -86
  87. package/dist/cjs/contracts-api/primitiveStream.cjs.map +0 -7
  88. package/dist/cjs/contracts-api/stream.cjs.map +0 -7
  89. package/dist/esm/client/listAllStreams.mjs +0 -30
  90. package/dist/esm/client/listAllStreams.mjs.map +0 -7
  91. package/dist/esm/contracts/composed_stream_template.json +0 -1638
  92. package/dist/esm/contracts/composed_stream_template_unix.json +0 -2122
  93. package/dist/esm/contracts/contractsContent.mjs +0 -33
  94. package/dist/esm/contracts/contractsContent.mjs.map +0 -7
  95. package/dist/esm/contracts/primitive_stream_template.json +0 -952
  96. package/dist/esm/contracts/primitive_stream_template_unix.json +0 -1173
  97. package/dist/esm/contracts-api/composedStream.mjs +0 -116
  98. package/dist/esm/contracts-api/composedStream.mjs.map +0 -7
  99. package/dist/esm/contracts-api/destroyStream.mjs +0 -24
  100. package/dist/esm/contracts-api/destroyStream.mjs.map +0 -7
  101. package/dist/esm/contracts-api/primitiveStream.mjs +0 -65
  102. package/dist/esm/contracts-api/primitiveStream.mjs.map +0 -7
  103. package/dist/esm/contracts-api/stream.mjs.map +0 -7
  104. package/dist/types/client/listAllStreams.d.ts +0 -14
  105. package/dist/types/client/listAllStreams.d.ts.map +0 -1
  106. package/dist/types/contracts/contractsContent.d.ts +0 -6
  107. package/dist/types/contracts/contractsContent.d.ts.map +0 -1
  108. package/dist/types/contracts-api/composedStream.d.ts.map +0 -1
  109. package/dist/types/contracts-api/destroyStream.d.ts.map +0 -1
  110. package/dist/types/contracts-api/primitiveStream.d.ts +0 -39
  111. package/dist/types/contracts-api/primitiveStream.d.ts.map +0 -1
  112. package/dist/types/contracts-api/stream.d.ts +0 -142
  113. package/dist/types/contracts-api/stream.d.ts.map +0 -1
@@ -1,137 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/contracts-api/composedStream.ts
21
- var composedStream_exports = {};
22
- __export(composedStream_exports, {
23
- ComposedStream: () => ComposedStream,
24
- ErrorStreamNotComposed: () => ErrorStreamNotComposed
25
- });
26
- module.exports = __toCommonJS(composedStream_exports);
27
- var import_action = require("@kwilteam/kwil-js/dist/core/action.js");
28
- var import_EthereumAddress = require("../util/EthereumAddress.cjs");
29
- var import_StreamId = require("../util/StreamId.cjs");
30
- var import_contractValues = require("./contractValues.cjs");
31
- var import_stream = require("./stream.cjs");
32
- var ErrorStreamNotComposed = "stream is not a composed stream";
33
- var ComposedStream = class _ComposedStream extends import_stream.Stream {
34
- constructor(kwilClient, kwilSigner, locator) {
35
- super(kwilClient, kwilSigner, locator);
36
- }
37
- /**
38
- * Checks if the stream is a valid composed stream.
39
- * A valid composed stream must be:
40
- * - initialized
41
- * - of type composed
42
- */
43
- async checkValidComposedStream() {
44
- await this.checkInitialized(import_contractValues.StreamType.Composed);
45
- const streamType = await this.getType();
46
- if (streamType !== import_contractValues.StreamType.Composed) {
47
- throw new Error(ErrorStreamNotComposed);
48
- }
49
- }
50
- /**
51
- * Executes a method after checking if the stream is a valid composed stream
52
- * @param method The method name to execute
53
- * @param inputs The inputs for the action
54
- * @returns A generic response containing the transaction receipt
55
- */
56
- async checkedComposedExecute(method, inputs) {
57
- await this.checkValidComposedStream();
58
- return this.execute(method, inputs);
59
- }
60
- /**
61
- * Returns the taxonomy of the stream
62
- * @param params Parameters for describing taxonomies
63
- * @returns A promise that resolves to the taxonomy
64
- */
65
- async describeTaxonomies(params) {
66
- const result = await this.call("describe_taxonomies", [
67
- import_action.ActionInput.fromObject({ $latest_version: params.latestVersion })
68
- ]);
69
- return result.mapRight((records) => {
70
- const taxonomyItems = records.reduce(
71
- (acc, record) => {
72
- const currentArray = acc.get(record.start_date) || [];
73
- currentArray.push({
74
- childStream: {
75
- streamId: import_StreamId.StreamId.fromString(record.child_stream_id).throw(),
76
- dataProvider: import_EthereumAddress.EthereumAddress.fromString(
77
- record.child_data_provider
78
- ).throw()
79
- },
80
- weight: record.weight
81
- });
82
- acc.set(record.start_date, currentArray);
83
- return acc;
84
- },
85
- /* @__PURE__ */ new Map()
86
- );
87
- let startDate;
88
- if (records.length > 0 && records[0].start_date) {
89
- startDate = records[0].start_date;
90
- }
91
- return Array.from(taxonomyItems.entries()).map(
92
- ([startDate2, taxonomyItems2]) => ({
93
- startDate: startDate2,
94
- taxonomyItems: taxonomyItems2
95
- })
96
- );
97
- }).throw();
98
- }
99
- /**
100
- * Sets the taxonomy of the stream
101
- * @param taxonomy The taxonomy to set
102
- * @returns A promise that resolves to the transaction receipt
103
- */
104
- async setTaxonomy(taxonomy) {
105
- const dataProviders = [];
106
- const streamIds = [];
107
- const weights = [];
108
- const startDate = taxonomy.startDate;
109
- for (const item of taxonomy.taxonomyItems) {
110
- const dataProviderHex = item.childStream.dataProvider.getAddress().slice(2);
111
- dataProviders.push(dataProviderHex);
112
- streamIds.push(item.childStream.streamId.getId());
113
- weights.push(item.weight.toString());
114
- }
115
- return this.checkedComposedExecute("set_taxonomy", [
116
- import_action.ActionInput.fromObject({
117
- $data_providers: dataProviders,
118
- $stream_ids: streamIds,
119
- $weights: weights,
120
- $start_date: startDate
121
- })
122
- ]);
123
- }
124
- /**
125
- * Creates a ComposedStream from a base Stream
126
- * @param stream The base stream to convert
127
- * @returns A ComposedStream instance
128
- */
129
- static fromStream(stream) {
130
- return new _ComposedStream(
131
- stream["kwilClient"],
132
- stream["kwilSigner"],
133
- stream["locator"]
134
- );
135
- }
136
- };
137
- //# sourceMappingURL=composedStream.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/contracts-api/composedStream.ts"],
4
- "sourcesContent": ["import { KwilSigner, NodeKwil, WebKwil } from \"@kwilteam/kwil-js\";\nimport { ActionInput } from \"@kwilteam/kwil-js/dist/core/action\";\nimport { GenericResponse } from \"@kwilteam/kwil-js/dist/core/resreq\";\nimport { TxReceipt } from \"@kwilteam/kwil-js/dist/core/tx\";\nimport { DateString } from \"../types/other\";\nimport { StreamLocator } from \"../types/stream\";\nimport { EthereumAddress } from \"../util/EthereumAddress\";\nimport { StreamId } from \"../util/StreamId\";\nimport { StreamType } from \"./contractValues\";\nimport { Stream } from \"./stream\";\n\nexport const ErrorStreamNotComposed = \"stream is not a composed stream\";\n\nexport interface TaxonomySet {\n taxonomyItems: TaxonomyItem[];\n startDate: DateString | number;\n}\n\nexport interface TaxonomyItem {\n childStream: StreamLocator;\n weight: string;\n}\n\nexport interface DescribeTaxonomiesParams {\n /**\n * if true, will return the latest version of the taxonomy only\n */\n latestVersion: boolean;\n}\n\nexport class ComposedStream extends Stream {\n constructor(\n kwilClient: WebKwil | NodeKwil,\n kwilSigner: KwilSigner,\n locator: StreamLocator,\n ) {\n super(kwilClient, kwilSigner, locator);\n }\n\n /**\n * Checks if the stream is a valid composed stream.\n * A valid composed stream must be:\n * - initialized\n * - of type composed\n */\n private async checkValidComposedStream(): Promise<void> {\n // First check if initialized\n await this.checkInitialized(StreamType.Composed);\n\n // Then check if is composed\n const streamType = await this.getType();\n if (streamType !== StreamType.Composed) {\n throw new Error(ErrorStreamNotComposed);\n }\n }\n\n /**\n * Executes a method after checking if the stream is a valid composed stream\n * @param method The method name to execute\n * @param inputs The inputs for the action\n * @returns A generic response containing the transaction receipt\n */\n private async checkedComposedExecute(\n method: string,\n inputs: ActionInput[],\n ): Promise<GenericResponse<TxReceipt>> {\n await this.checkValidComposedStream();\n return this.execute(method, inputs);\n }\n\n /**\n * Returns the taxonomy of the stream\n * @param params Parameters for describing taxonomies\n * @returns A promise that resolves to the taxonomy\n */\n public async describeTaxonomies(\n params: DescribeTaxonomiesParams,\n ): Promise<TaxonomySet[]> {\n type TaxonomyResult = {\n child_stream_id: string;\n child_data_provider: string;\n weight: string;\n created_at: number;\n version: number;\n start_date: string | number;\n }[];\n\n const result = await this.call<TaxonomyResult>(\"describe_taxonomies\", [\n ActionInput.fromObject({ $latest_version: params.latestVersion }),\n ]);\n\n return result\n .mapRight((records) => {\n const taxonomyItems: Map<DateString, TaxonomyItem[]> = records.reduce(\n (acc, record) => {\n const currentArray = acc.get(<string>record.start_date) || [];\n currentArray.push({\n childStream: {\n streamId: StreamId.fromString(record.child_stream_id).throw(),\n dataProvider: EthereumAddress.fromString(\n record.child_data_provider,\n ).throw(),\n },\n weight: record.weight,\n });\n acc.set(<string>record.start_date, currentArray);\n return acc;\n },\n new Map<DateString, TaxonomyItem[]>(),\n );\n\n let startDate: string | number;\n if (records.length > 0 && records[0].start_date) {\n startDate = records[0].start_date;\n }\n\n return Array.from(taxonomyItems.entries()).map(\n ([startDate, taxonomyItems]) => ({\n startDate,\n taxonomyItems,\n }),\n );\n })\n .throw();\n }\n\n /**\n * Sets the taxonomy of the stream\n * @param taxonomy The taxonomy to set\n * @returns A promise that resolves to the transaction receipt\n */\n public async setTaxonomy(\n taxonomy: TaxonomySet,\n ): Promise<GenericResponse<TxReceipt>> {\n const dataProviders: string[] = [];\n const streamIds: string[] = [];\n const weights: string[] = [];\n const startDate = taxonomy.startDate;\n\n for (const item of taxonomy.taxonomyItems) {\n const dataProviderHex = item.childStream.dataProvider\n .getAddress()\n .slice(2); // Remove 0x prefix\n dataProviders.push(dataProviderHex);\n streamIds.push(item.childStream.streamId.getId());\n weights.push(item.weight.toString());\n }\n\n return this.checkedComposedExecute(\"set_taxonomy\", [\n ActionInput.fromObject({\n $data_providers: dataProviders,\n $stream_ids: streamIds,\n $weights: weights,\n $start_date: startDate,\n }),\n ]);\n }\n\n /**\n * Creates a ComposedStream from a base Stream\n * @param stream The base stream to convert\n * @returns A ComposedStream instance\n */\n public static fromStream(stream: Stream): ComposedStream {\n return new ComposedStream(\n stream[\"kwilClient\"],\n stream[\"kwilSigner\"],\n stream[\"locator\"],\n );\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["startDate", "taxonomyItems"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/contracts-api/destroyStream.ts"],
4
- "sourcesContent": ["import { StreamId } from \"../util/StreamId\";\nimport { Kwil } from \"@kwilteam/kwil-js/dist/client/kwil\";\nimport { KwilSigner } from \"@kwilteam/kwil-js\";\nimport { TxReceipt } from \"@kwilteam/kwil-js/dist/core/tx\";\nimport { GenericResponse } from \"@kwilteam/kwil-js/dist/core/resreq\";\nimport { generateDBID } from \"@kwilteam/kwil-js/dist/utils/dbid\";\n\n/**\n * Input parameters for destroying a stream.\n */\nexport interface DestroyStreamInput {\n streamId: StreamId;\n kwilClient: Kwil<any>;\n kwilSigner: KwilSigner;\n synchronous?: boolean;\n}\n\n/**\n * Output after destroying a stream.\n */\nexport interface DestroyStreamOutput {\n receipt: TxReceipt;\n}\n\n/**\n * Destroys a stream from TN.\n * @param input - The input parameters for destroying the stream.\n * @returns The transaction receipt of the destruction.\n */\nexport async function destroyStream(\n input: DestroyStreamInput,\n): Promise<GenericResponse<TxReceipt>> {\n const dbid = generateDBID(\n input.kwilSigner.identifier,\n input.streamId.getId(),\n );\n try {\n const txReceipt = await input.kwilClient.drop(\n {\n dbid,\n },\n input.kwilSigner,\n input.synchronous,\n );\n\n return txReceipt;\n } catch (error) {\n throw new Error(`Failed to destroy stream: ${error}`);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,kBAA6B;AAwB7B,eAAsB,cACpB,OACqC;AACrC,QAAM,WAAO;AAAA,IACX,MAAM,WAAW;AAAA,IACjB,MAAM,SAAS,MAAM;AAAA,EACvB;AACA,MAAI;AACF,UAAM,YAAY,MAAM,MAAM,WAAW;AAAA,MACvC;AAAA,QACE;AAAA,MACF;AAAA,MACA,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,UAAM,IAAI,MAAM,6BAA6B,KAAK,EAAE;AAAA,EACtD;AACF;",
6
- "names": []
7
- }
@@ -1,86 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/contracts-api/primitiveStream.ts
21
- var primitiveStream_exports = {};
22
- __export(primitiveStream_exports, {
23
- PrimitiveStream: () => PrimitiveStream
24
- });
25
- module.exports = __toCommonJS(primitiveStream_exports);
26
- var import_action = require("@kwilteam/kwil-js/dist/core/action.js");
27
- var import_contractValues = require("./contractValues.cjs");
28
- var import_stream = require("./stream.cjs");
29
- var ErrorStreamNotPrimitive = "stream is not a primitive stream";
30
- var PrimitiveStream = class _PrimitiveStream extends import_stream.Stream {
31
- constructor(kwilClient, kwilSigner, locator) {
32
- super(kwilClient, kwilSigner, locator);
33
- }
34
- /**
35
- * Checks if the stream is a valid primitive stream.
36
- * A valid primitive stream must be:
37
- * - initialized
38
- * - of type primitive
39
- */
40
- async checkValidPrimitiveStream() {
41
- await this.checkInitialized(import_contractValues.StreamType.Primitive);
42
- const streamType = await this.getType();
43
- if (streamType !== import_contractValues.StreamType.Primitive) {
44
- throw new Error(ErrorStreamNotPrimitive);
45
- }
46
- }
47
- /**
48
- * Executes a method after checking if the stream is a valid primitive stream
49
- * @param method The method name to execute
50
- * @param inputs The inputs for the action
51
- * @returns A generic response containing the transaction receipt
52
- */
53
- async checkedPrimitiveExecute(method, inputs) {
54
- await this.checkValidPrimitiveStream();
55
- return this.execute(method, inputs);
56
- }
57
- /**
58
- * Inserts records into the stream
59
- * @param inputs Array of records to insert
60
- * @returns Transaction receipt
61
- */
62
- async insertRecords(inputs) {
63
- await this.checkValidPrimitiveStream();
64
- const actionInputs = inputs.map(
65
- (input) => import_action.ActionInput.fromObject({
66
- $date_value: input.dateValue,
67
- $value: input.value
68
- })
69
- );
70
- return await this.checkedPrimitiveExecute("insert_record", actionInputs);
71
- }
72
- /**
73
- * Creates a PrimitiveStream from a base Stream
74
- * @param stream The base stream to convert
75
- * @returns A Promise that resolves to a PrimitiveStream instance
76
- */
77
- static fromStream(stream) {
78
- const primitiveStream = new _PrimitiveStream(
79
- stream["kwilClient"],
80
- stream["kwilSigner"],
81
- stream["locator"]
82
- );
83
- return primitiveStream;
84
- }
85
- };
86
- //# sourceMappingURL=primitiveStream.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/contracts-api/primitiveStream.ts"],
4
- "sourcesContent": ["import { KwilSigner, NodeKwil, WebKwil } from \"@kwilteam/kwil-js\";\nimport { ActionInput } from \"@kwilteam/kwil-js/dist/core/action\";\nimport { GenericResponse } from \"@kwilteam/kwil-js/dist/core/resreq\";\nimport { TxReceipt } from \"@kwilteam/kwil-js/dist/core/tx\";\nimport { StreamType } from \"./contractValues\";\nimport { StreamLocator } from \"../types/stream\";\nimport { Stream } from \"./stream\";\n\nconst ErrorStreamNotPrimitive = \"stream is not a primitive stream\";\n\nexport class PrimitiveStream extends Stream {\n constructor(\n kwilClient: WebKwil | NodeKwil,\n kwilSigner: KwilSigner,\n locator: StreamLocator,\n ) {\n super(kwilClient, kwilSigner, locator);\n }\n\n /**\n * Checks if the stream is a valid primitive stream.\n * A valid primitive stream must be:\n * - initialized\n * - of type primitive\n */\n private async checkValidPrimitiveStream(): Promise<void> {\n // First check if initialized\n await this.checkInitialized(StreamType.Primitive);\n\n // Then check if is primitive\n const streamType = await this.getType();\n if (streamType !== StreamType.Primitive) {\n throw new Error(ErrorStreamNotPrimitive);\n }\n }\n\n /**\n * Executes a method after checking if the stream is a valid primitive stream\n * @param method The method name to execute\n * @param inputs The inputs for the action\n * @returns A generic response containing the transaction receipt\n */\n private async checkedPrimitiveExecute(\n method: string,\n inputs: ActionInput[],\n ): Promise<GenericResponse<TxReceipt>> {\n await this.checkValidPrimitiveStream();\n return this.execute(method, inputs);\n }\n\n /**\n * Inserts records into the stream\n * @param inputs Array of records to insert\n * @returns Transaction receipt\n */\n public async insertRecords(\n inputs: InsertRecordInput[],\n ): Promise<GenericResponse<TxReceipt>> {\n await this.checkValidPrimitiveStream();\n\n const actionInputs = inputs.map((input) =>\n ActionInput.fromObject({\n $date_value: input.dateValue,\n $value: input.value,\n }),\n );\n\n return await this.checkedPrimitiveExecute(\"insert_record\", actionInputs);\n }\n\n /**\n * Creates a PrimitiveStream from a base Stream\n * @param stream The base stream to convert\n * @returns A Promise that resolves to a PrimitiveStream instance\n */\n public static fromStream(stream: Stream): PrimitiveStream {\n const primitiveStream = new PrimitiveStream(\n stream[\"kwilClient\"],\n stream[\"kwilSigner\"],\n stream[\"locator\"],\n );\n\n return primitiveStream;\n }\n}\nexport interface InsertRecordInput {\n dateValue: string | number;\n // value is a string to support arbitrary precision\n value: string;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA4B;AAG5B,4BAA2B;AAE3B,oBAAuB;AAEvB,IAAM,0BAA0B;AAEzB,IAAM,kBAAN,MAAM,yBAAwB,qBAAO;AAAA,EAC1C,YACE,YACA,YACA,SACA;AACA,UAAM,YAAY,YAAY,OAAO;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAc,4BAA2C;AAEvD,UAAM,KAAK,iBAAiB,iCAAW,SAAS;AAGhD,UAAM,aAAa,MAAM,KAAK,QAAQ;AACtC,QAAI,eAAe,iCAAW,WAAW;AACvC,YAAM,IAAI,MAAM,uBAAuB;AAAA,IACzC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAc,wBACZ,QACA,QACqC;AACrC,UAAM,KAAK,0BAA0B;AACrC,WAAO,KAAK,QAAQ,QAAQ,MAAM;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAa,cACX,QACqC;AACrC,UAAM,KAAK,0BAA0B;AAErC,UAAM,eAAe,OAAO;AAAA,MAAI,CAAC,UAC/B,0BAAY,WAAW;AAAA,QACrB,aAAa,MAAM;AAAA,QACnB,QAAQ,MAAM;AAAA,MAChB,CAAC;AAAA,IACH;AAEA,WAAO,MAAM,KAAK,wBAAwB,iBAAiB,YAAY;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAc,WAAW,QAAiC;AACxD,UAAM,kBAAkB,IAAI;AAAA,MAC1B,OAAO,YAAY;AAAA,MACnB,OAAO,YAAY;AAAA,MACnB,OAAO,SAAS;AAAA,IAClB;AAEA,WAAO;AAAA,EACT;AACF;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/contracts-api/stream.ts"],
4
- "sourcesContent": ["import { KwilSigner, NodeKwil, WebKwil } from \"@kwilteam/kwil-js\";\nimport { ActionInput } from \"@kwilteam/kwil-js/dist/core/action\";\nimport { Database } from \"@kwilteam/kwil-js/dist/core/database\";\nimport { GenericResponse } from \"@kwilteam/kwil-js/dist/core/resreq\";\nimport { TxReceipt } from \"@kwilteam/kwil-js/dist/core/tx\";\nimport { generateDBID } from \"@kwilteam/kwil-js/dist/utils/dbid\";\nimport { Either } from \"monads-io\";\nimport { DateString } from \"../types/other\";\nimport { StreamLocator } from \"../types/stream\";\nimport { EthereumAddress } from \"../util/EthereumAddress\";\nimport { head } from \"../util/head\";\nimport { StreamId } from \"../util/StreamId\";\nimport { toVisibilityEnum, VisibilityEnum } from \"../util/visibility\";\nimport {\n MetadataKey,\n MetadataKeyValueMap,\n MetadataTableKey,\n MetadataValueTypeForKey,\n StreamType,\n} from \"./contractValues\";\n\nexport interface GetRecordInput {\n dateFrom?: DateString | number;\n dateTo?: DateString | number;\n frozenAt?: number;\n baseDate?: DateString | number;\n}\n\nexport interface GetFirstRecordInput {\n afterDate?: DateString | number;\n frozenAt?: DateString | number;\n}\n\nexport interface StreamRecord {\n dateValue: DateString | number;\n value: string;\n}\n\nexport interface GetIndexChangeInput extends GetRecordInput {\n daysInterval: number;\n}\n\nexport class Stream {\n protected kwilClient: WebKwil | NodeKwil;\n protected kwilSigner: KwilSigner;\n protected locator: StreamLocator;\n protected dbid: string;\n protected schema?: Database;\n protected deployed: boolean = false;\n protected initialized: boolean = false;\n constructor(\n kwilClient: WebKwil | NodeKwil,\n kwilSigner: KwilSigner,\n locator: StreamLocator,\n ) {\n this.kwilClient = kwilClient;\n this.kwilSigner = kwilSigner;\n this.locator = locator;\n this.dbid = generateDBID(\n locator.dataProvider.getAddress(),\n locator.streamId.getId(),\n );\n }\n\n /**\n * Loads the schema for this stream from the network.\n * Throws if the stream is not deployed.\n */\n public async loadSchema(): Promise<void> {\n const response = await this.kwilClient.getSchema(this.dbid);\n if (response.status !== 200 || !response.data) {\n throw new Error(\n `Failed to load schema for stream ${this.locator.streamId.getId()}`,\n );\n }\n this.schema = response.data;\n }\n\n /**\n * Executes a method on the stream\n */\n protected async execute(\n method: string,\n inputs: ActionInput[],\n ): Promise<GenericResponse<TxReceipt>> {\n return this.kwilClient.execute(\n {\n dbid: this.dbid,\n name: method,\n inputs,\n description: `TN SDK - Executing method on stream: ${method}`,\n },\n this.kwilSigner,\n );\n }\n\n /**\n * Executes a method on the stream after checking if it's initialized\n */\n protected async checkedExecute(\n method: string,\n inputs: ActionInput[],\n ): Promise<GenericResponse<TxReceipt>> {\n await this.checkInitialized();\n return this.execute(method, inputs);\n }\n\n /**\n * Calls a method on the stream\n */\n protected async call<T>(\n method: string,\n inputs: ActionInput[],\n ): Promise<Either<number, T>> {\n const result = await this.kwilClient.call(\n {\n dbid: this.dbid,\n name: method,\n inputs,\n },\n this.kwilSigner,\n );\n\n if (result.status !== 200) {\n return Either.left(result.status);\n }\n\n return Either.right(result.data?.result as T);\n }\n\n /**\n * Checks if the stream is initialized\n */\n protected async checkInitialized(expectedType?: StreamType): Promise<void> {\n if (this.initialized) {\n return;\n }\n\n this.checkDeployed();\n\n // check if is initialized by trying to get its type\n const type = await this.getType();\n\n // check if type is valid\n const expectedTypes = expectedType\n ? [expectedType]\n : [StreamType.Primitive, StreamType.Composed];\n if (!expectedTypes.includes(type)) {\n throw new Error(`Invalid stream type: ${type}`);\n }\n\n this.initialized = true;\n }\n\n /**\n * Checks if the stream is deployed\n */\n protected async checkDeployed(): Promise<void> {\n if (this.deployed) {\n return;\n }\n await this.loadSchema();\n this.deployed = true;\n }\n\n /**\n * Initializes the stream\n */\n public async initializeStream(): Promise<GenericResponse<TxReceipt>> {\n // shouldn't use checkedExecute, because it's not initialized yet\n return this.execute(\"init\", []);\n }\n\n /**\n * Returns the records of the stream within the given date range\n */\n public async getRecord(input: GetRecordInput): Promise<StreamRecord[]> {\n // TODO: change value to string when kwil-js is updated\n const result = await this.call<{ date_value: string; value: string }[]>(\n \"get_record\",\n [\n ActionInput.fromObject({\n $date_from: input.dateFrom,\n $date_to: input.dateTo,\n $frozen_at: input.frozenAt,\n $base_date: input.baseDate,\n }),\n ],\n );\n return result\n .mapRight((result) =>\n result.map((row) => ({\n dateValue: row.date_value,\n value: row.value,\n })),\n )\n .throw();\n }\n\n /**\n * Returns the index of the stream within the given date range\n */\n public async getIndex(input: GetRecordInput): Promise<StreamRecord[]> {\n const result = await this.call<{ date_value: string; value: string }[]>(\n \"get_index\",\n [\n ActionInput.fromObject({\n $date_from: input.dateFrom,\n $date_to: input.dateTo,\n $frozen_at: input.frozenAt,\n $base_date: input.baseDate,\n }),\n ],\n );\n return result\n .mapRight((result) =>\n result.map((row) => ({\n dateValue: row.date_value,\n value: row.value,\n })),\n )\n .throw();\n }\n\n /**\n * Returns the type of the stream\n */\n public async getType(): Promise<StreamType> {\n const result = await this.getMetadata(MetadataKey.TypeKey, true);\n\n if (!result) {\n throw new Error(\"Failed to get stream type\");\n }\n\n const type = head(result).unwrapOrElse(() => {\n throw new Error(\n \"Failed to get stream type. Check if the stream is initialized.\",\n );\n });\n\n const validTypes = [StreamType.Primitive, StreamType.Composed];\n\n if (!validTypes.includes(type.value as StreamType)) {\n throw new Error(`Invalid stream type: ${type.value}`);\n }\n\n return type.value as StreamType;\n }\n\n /**\n * Returns the first record of the stream\n */\n public async getFirstRecord(\n input: GetFirstRecordInput,\n ): Promise<StreamRecord | null> {\n const result = await this.call<{ date_value: string; value: string }[]>(\n \"get_first_record\",\n [\n ActionInput.fromObject({\n $after_date: input.afterDate,\n $frozen_at: input.frozenAt,\n }),\n ],\n );\n\n return result\n .mapRight(head)\n .mapRight((result) =>\n result\n .map((result) => ({\n dateValue: result.date_value,\n value: result.value,\n }))\n .unwrapOr(null),\n )\n .throw();\n }\n\n protected async setMetadata<K extends MetadataKey>(\n key: K,\n value: MetadataValueTypeForKey<K>,\n ): Promise<GenericResponse<TxReceipt>> {\n return await this.execute(\"insert_metadata\", [\n ActionInput.fromObject({\n $key: key,\n $value: value,\n $val_type: MetadataKeyValueMap[key],\n }),\n ]);\n }\n\n protected async getMetadata<K extends MetadataKey>(\n key: K,\n onlyLatest: boolean = true,\n filteredRef?: string,\n ): Promise<\n { rowId: string; value: MetadataValueTypeForKey<K>; createdAt: number }[]\n > {\n const result = await this.call<\n {\n row_id: string;\n value_i: number;\n value_f: string;\n value_b: boolean;\n value_s: string;\n value_ref: string;\n created_at: number;\n }[]\n >(\"get_metadata\", [\n ActionInput.fromObject({\n $key: key,\n $only_latest: onlyLatest,\n $ref: filteredRef,\n }),\n ]);\n return result\n .mapRight((result) =>\n result.map((row) => ({\n rowId: row.row_id,\n value: row[\n MetadataTableKey[MetadataKeyValueMap[key as MetadataKey]]\n ] as MetadataValueTypeForKey<K>,\n createdAt: row.created_at,\n })),\n )\n .throw();\n }\n\n /**\n * Sets the read visibility of the stream\n */\n public async setReadVisibility(\n visibility: VisibilityEnum,\n ): Promise<GenericResponse<TxReceipt>> {\n return await this.setMetadata(\n MetadataKey.ReadVisibilityKey,\n visibility.toString(),\n );\n }\n\n /**\n * Returns the read visibility of the stream\n */\n public async getReadVisibility(): Promise<VisibilityEnum | null> {\n const result = await this.getMetadata(MetadataKey.ReadVisibilityKey, true);\n\n return head(result)\n .map((row) => toVisibilityEnum(row.value))\n .unwrapOr(null);\n }\n\n /**\n * Sets the compose visibility of the stream\n */\n public async setComposeVisibility(\n visibility: VisibilityEnum,\n ): Promise<GenericResponse<TxReceipt>> {\n return await this.setMetadata(\n MetadataKey.ComposeVisibilityKey,\n visibility.toString(),\n );\n }\n\n /**\n * Returns the compose visibility of the stream\n */\n public async getComposeVisibility(): Promise<VisibilityEnum | null> {\n const result = await this.getMetadata(\n MetadataKey.ComposeVisibilityKey,\n true,\n );\n\n return head(result)\n .map((row) => toVisibilityEnum(row.value))\n .unwrapOr(null);\n }\n\n /**\n * Allows a wallet to read the stream\n */\n public async allowReadWallet(\n wallet: EthereumAddress,\n ): Promise<GenericResponse<TxReceipt>> {\n return await this.setMetadata(\n MetadataKey.AllowReadWalletKey,\n wallet.getAddress(),\n );\n }\n\n /**\n * Disables a wallet from reading the stream\n */\n public async disableReadWallet(\n wallet: EthereumAddress,\n ): Promise<GenericResponse<TxReceipt>> {\n const result = await this.getMetadata(\n MetadataKey.AllowReadWalletKey,\n true,\n wallet.getAddress(),\n );\n\n const row_id = head(result)\n .map((row) => row.rowId)\n .unwrapOr(null);\n\n if (!row_id) {\n throw new Error(\"Wallet not found in allowed list\");\n }\n\n return await this.disableMetadata(row_id);\n }\n\n /**\n * Allows a stream to use this stream as child\n */\n public async allowComposeStream(\n locator: StreamLocator,\n ): Promise<GenericResponse<TxReceipt>> {\n const streamDbId = generateDBID(\n locator.dataProvider.getAddress(),\n locator.streamId.getId(),\n );\n return await this.setMetadata(\n MetadataKey.AllowComposeStreamKey,\n streamDbId,\n );\n }\n\n /**\n * Disables a stream from using this stream as child\n */\n public async disableComposeStream(\n locator: StreamLocator,\n ): Promise<GenericResponse<TxReceipt>> {\n const result = await this.getMetadata(\n MetadataKey.AllowComposeStreamKey,\n true,\n locator.toString(),\n );\n\n const row_id = head(result)\n .map((row) => row.rowId)\n .unwrapOr(null);\n\n if (!row_id) {\n throw new Error(\"Stream not found in allowed list\");\n }\n\n return await this.disableMetadata(row_id);\n }\n\n protected async disableMetadata(\n rowId: string,\n ): Promise<GenericResponse<TxReceipt>> {\n return await this.execute(\"disable_metadata\", [\n ActionInput.fromObject({\n $row_id: rowId,\n }),\n ]);\n }\n\n /**\n * Returns the wallets allowed to read the stream\n */\n public async getAllowedReadWallets(): Promise<EthereumAddress[]> {\n const result = await this.getMetadata(MetadataKey.AllowReadWalletKey);\n\n return result\n .filter((row) => row.value)\n .map((row) => new EthereumAddress(row.value));\n }\n\n /**\n * Returns the streams allowed to compose the stream\n */\n public async getAllowedComposeStreams(): Promise<StreamLocator[]> {\n const result = await this.getMetadata(MetadataKey.AllowComposeStreamKey);\n\n return result\n .filter((row) => row.value)\n .map((row) => {\n const [streamId, dataProvider] = row.value.split(\":\");\n return {\n streamId: StreamId.fromString(streamId).throw(),\n dataProvider: new EthereumAddress(dataProvider),\n };\n });\n }\n\n /**\n * Returns the index change of the stream within the given date range\n */\n public async getIndexChange(\n input: GetIndexChangeInput,\n ): Promise<StreamRecord[]> {\n const result = await this.call<{ date_value: string; value: string }[]>(\n \"get_index_change\",\n [\n ActionInput.fromObject({\n $date_from: input.dateFrom,\n $date_to: input.dateTo,\n $frozen_at: input.frozenAt,\n $base_date: input.baseDate,\n $days_interval: input.daysInterval,\n }),\n ],\n );\n\n return result\n .mapRight((result) =>\n result.map((row) => ({\n dateValue: row.date_value,\n value: row.value,\n })),\n )\n .throw();\n }\n\n /**\n * A custom method that accepts the procedure name and the input of GetRecordInput\n * Returns the result of the procedure in the same format as StreamRecord\n * I.e. a custom procedure named \"get_price\" that returns a list of date_value and value\n * can be called with customGetProcedure(\"get_price\", { dateFrom: \"2021-01-01\", dateTo: \"2021-01-31\" })\n */\n public async customGetProcedure(\n procedure: string,\n input: GetRecordInput,\n ): Promise<StreamRecord[]> {\n const result = await this.call<{ date_value: string; value: string }[]>(\n procedure,\n [\n ActionInput.fromObject({\n $date_from: input.dateFrom,\n $date_to: input.dateTo,\n $frozen_at: input.frozenAt,\n $base_date: input.baseDate,\n }),\n ],\n );\n return result\n .mapRight((result) =>\n result.map((row) => ({\n dateValue: row.date_value,\n value: row.value,\n })),\n )\n .throw();\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["result"]
7
- }
@@ -1,30 +0,0 @@
1
- // src/client/listAllStreams.ts
2
- import { EthereumAddress } from "../util/EthereumAddress.mjs";
3
- import { StreamId } from "../util/StreamId.mjs";
4
- async function listAllStreams(kwilClient, owner) {
5
- const databases = await kwilClient.listDatabases(owner?.getAddress());
6
- const schemas = await Promise.all(
7
- databases.data?.map(async (database) => {
8
- const schema = await kwilClient.getSchema(database.dbid);
9
- if (schema.status === 200 && schema.data && isStream(schema.data)) {
10
- return schema.data;
11
- }
12
- return void 0;
13
- }) ?? []
14
- );
15
- return schemas.filter((schema) => schema !== void 0).map((schema) => ({
16
- streamId: StreamId.fromString(schema.name).throw(),
17
- dataProvider: EthereumAddress.fromBytes(schema.owner).throw()
18
- }));
19
- }
20
- var isStream = (schema) => {
21
- const requiredProcedures = ["get_index", "get_record", "get_metadata"];
22
- return requiredProcedures.every(
23
- (procedure) => schema.procedures.some((p) => p.name === procedure)
24
- );
25
- };
26
- export {
27
- isStream,
28
- listAllStreams
29
- };
30
- //# sourceMappingURL=listAllStreams.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/client/listAllStreams.ts"],
4
- "sourcesContent": ["import { Kwil } from \"@kwilteam/kwil-js/dist/client/kwil\";\nimport { EnvironmentType } from \"@kwilteam/kwil-js/dist/core/enums\";\nimport { StreamLocator } from \"../types/stream\";\nimport { EthereumAddress } from \"../util/EthereumAddress\";\nimport { StreamId } from \"../util/StreamId\";\nimport { Database } from \"@kwilteam/kwil-js/dist/core/database\";\n\n/**\n * List all streams from the TN network.\n * @param kwilClient - The Kwil client.\n * @param owner - The owner of the streams. If not provided, all streams will be returned.\n * @returns A list of stream locators.\n */\nexport async function listAllStreams(\n kwilClient: Kwil<EnvironmentType>,\n owner?: EthereumAddress,\n): Promise<StreamLocator[]> {\n const databases = await kwilClient.listDatabases(owner?.getAddress());\n const schemas = await Promise.all(\n databases.data?.map(async (database) => {\n const schema = await kwilClient.getSchema(database.dbid);\n if (schema.status === 200 && schema.data && isStream(schema.data)) {\n return schema.data;\n }\n return undefined;\n }) ?? [],\n );\n return schemas\n .filter((schema) => schema !== undefined)\n .map((schema) => ({\n streamId: StreamId.fromString(schema.name).throw(),\n dataProvider: EthereumAddress.fromBytes(schema.owner).throw(),\n }));\n}\n\nexport const isStream = (schema: Database) => {\n const requiredProcedures = [\"get_index\", \"get_record\", \"get_metadata\"];\n return requiredProcedures.every((procedure) =>\n schema.procedures.some((p) => p.name === procedure),\n );\n};\n"],
5
- "mappings": ";AAGA,SAAS,uBAAuB;AAChC,SAAS,gBAAgB;AASzB,eAAsB,eACpB,YACA,OAC0B;AAC1B,QAAM,YAAY,MAAM,WAAW,cAAc,OAAO,WAAW,CAAC;AACpE,QAAM,UAAU,MAAM,QAAQ;AAAA,IAC5B,UAAU,MAAM,IAAI,OAAO,aAAa;AACtC,YAAM,SAAS,MAAM,WAAW,UAAU,SAAS,IAAI;AACvD,UAAI,OAAO,WAAW,OAAO,OAAO,QAAQ,SAAS,OAAO,IAAI,GAAG;AACjE,eAAO,OAAO;AAAA,MAChB;AACA,aAAO;AAAA,IACT,CAAC,KAAK,CAAC;AAAA,EACT;AACA,SAAO,QACJ,OAAO,CAAC,WAAW,WAAW,MAAS,EACvC,IAAI,CAAC,YAAY;AAAA,IAChB,UAAU,SAAS,WAAW,OAAO,IAAI,EAAE,MAAM;AAAA,IACjD,cAAc,gBAAgB,UAAU,OAAO,KAAK,EAAE,MAAM;AAAA,EAC9D,EAAE;AACN;AAEO,IAAM,WAAW,CAAC,WAAqB;AAC5C,QAAM,qBAAqB,CAAC,aAAa,cAAc,cAAc;AACrE,SAAO,mBAAmB;AAAA,IAAM,CAAC,cAC/B,OAAO,WAAW,KAAK,CAAC,MAAM,EAAE,SAAS,SAAS;AAAA,EACpD;AACF;",
6
- "names": []
7
- }