@xyo-network/chain-orchestration 1.17.6 → 1.18.0-rc.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 (60) hide show
  1. package/dist/neutral/ChainInitializableParams.d.ts +2 -10
  2. package/dist/neutral/ChainInitializableParams.d.ts.map +1 -1
  3. package/dist/neutral/actor/Actor.d.ts +205 -2
  4. package/dist/neutral/actor/Actor.d.ts.map +1 -1
  5. package/dist/neutral/actor/ValidatorActor.d.ts +13 -10
  6. package/dist/neutral/actor/ValidatorActor.d.ts.map +1 -1
  7. package/dist/neutral/archivists/ChainFinalized/archivist.d.ts +1 -1
  8. package/dist/neutral/archivists/ChainFinalized/archivist.d.ts.map +1 -1
  9. package/dist/neutral/archivists/ChainFinalized/local.d.ts +2 -4
  10. package/dist/neutral/archivists/ChainFinalized/local.d.ts.map +1 -1
  11. package/dist/neutral/archivists/PendingBlocks/archivist.d.ts +1 -1
  12. package/dist/neutral/archivists/PendingBlocks/archivist.d.ts.map +1 -1
  13. package/dist/neutral/archivists/PendingTransactions/archivist.d.ts +1 -1
  14. package/dist/neutral/archivists/PendingTransactions/archivist.d.ts.map +1 -1
  15. package/dist/neutral/archivists/StakeIntentState/local.d.ts +2 -4
  16. package/dist/neutral/archivists/StakeIntentState/local.d.ts.map +1 -1
  17. package/dist/neutral/createDeclarationIntentBlock.d.ts.map +1 -1
  18. package/dist/neutral/health/initHealthEndpoints.d.ts +1 -2
  19. package/dist/neutral/health/initHealthEndpoints.d.ts.map +1 -1
  20. package/dist/neutral/index.d.ts +0 -2
  21. package/dist/neutral/index.d.ts.map +1 -1
  22. package/dist/neutral/index.mjs +122 -219
  23. package/dist/neutral/index.mjs.map +1 -1
  24. package/dist/neutral/init/index.d.ts +1 -1
  25. package/dist/neutral/init/index.d.ts.map +1 -1
  26. package/dist/neutral/init/initChainStakeViewer.d.ts +5 -4
  27. package/dist/neutral/init/initChainStakeViewer.d.ts.map +1 -1
  28. package/dist/neutral/init/initFinalizedArchivist.d.ts +4 -0
  29. package/dist/neutral/init/initFinalizedArchivist.d.ts.map +1 -0
  30. package/dist/neutral/init/initStatusReporter.d.ts +1 -1
  31. package/dist/neutral/init/initStatusReporter.d.ts.map +1 -1
  32. package/package.json +13 -14
  33. package/src/ChainInitializableParams.ts +2 -11
  34. package/src/actor/Actor.ts +38 -2
  35. package/src/actor/ValidatorActor.ts +30 -67
  36. package/src/archivists/ChainFinalized/archivist.ts +3 -3
  37. package/src/archivists/ChainFinalized/local.ts +2 -2
  38. package/src/archivists/PendingBlocks/archivist.ts +3 -3
  39. package/src/archivists/PendingTransactions/archivist.ts +3 -3
  40. package/src/archivists/StakeIntentState/archivist.ts +3 -3
  41. package/src/archivists/StakeIntentState/local.ts +3 -2
  42. package/src/createDeclarationIntentBlock.ts +2 -1
  43. package/src/health/initHealthEndpoints.ts +1 -3
  44. package/src/index.ts +0 -2
  45. package/src/init/index.ts +1 -1
  46. package/src/init/initChainStakeViewer.ts +29 -15
  47. package/src/init/initFinalizedArchivist.ts +16 -0
  48. package/src/init/initStatusReporter.ts +1 -2
  49. package/dist/neutral/init/iterator.d.ts +0 -7
  50. package/dist/neutral/init/iterator.d.ts.map +0 -1
  51. package/dist/neutral/status/RuntimeStatusMonitor.d.ts +0 -31
  52. package/dist/neutral/status/RuntimeStatusMonitor.d.ts.map +0 -1
  53. package/dist/neutral/status/ServiceStatus.d.ts +0 -8
  54. package/dist/neutral/status/ServiceStatus.d.ts.map +0 -1
  55. package/dist/neutral/status/index.d.ts +0 -3
  56. package/dist/neutral/status/index.d.ts.map +0 -1
  57. package/src/init/iterator.ts +0 -42
  58. package/src/status/RuntimeStatusMonitor.ts +0 -117
  59. package/src/status/ServiceStatus.ts +0 -20
  60. package/src/status/index.ts +0 -2
@@ -1,11 +1,3 @@
1
- import type { MeterProvider, TracerProvider } from '@opentelemetry/api';
2
- import type { InitializableParams } from '@xyo-network/xl1-protocol';
3
- import type { Config } from '@xyo-network/xl1-protocol-sdk';
4
- import type { RuntimeStatusMonitor } from './status/index.ts';
5
- export type ChainInitializableParams = InitializableParams<{
6
- config: Config;
7
- meterProvider: MeterProvider;
8
- statusReporter: RuntimeStatusMonitor;
9
- traceProvider: TracerProvider;
10
- }>;
1
+ import type { CreatableProviderContext } from '@xyo-network/xl1-protocol-sdk';
2
+ export type ChainInitializableParams = CreatableProviderContext;
11
3
  //# sourceMappingURL=ChainInitializableParams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChainInitializableParams.d.ts","sourceRoot":"","sources":["../../src/ChainInitializableParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAE3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE7D,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,aAAa,CAAA;IAC5B,cAAc,EAAE,oBAAoB,CAAA;IACpC,aAAa,EAAE,cAAc,CAAA;CAC9B,CAAC,CAAA"}
1
+ {"version":3,"file":"ChainInitializableParams.d.ts","sourceRoot":"","sources":["../../src/ChainInitializableParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAE7E,MAAM,MAAM,wBAAwB,GAAG,wBAAwB,CAAA"}
@@ -1,9 +1,15 @@
1
1
  import type { CreatableInstance, CreatableParams, EmptyObject } from '@xylabs/sdk-js';
2
2
  import { AbstractCreatable } from '@xylabs/sdk-js';
3
- import type { Config } from '@xyo-network/xl1-protocol-sdk';
3
+ import { AccountInstance } from '@xyo-network/account-model';
4
+ import { type BaseContext, type Config, ProviderFactoryLocator, type ProviderFactoryLocatorInstance } from '@xyo-network/xl1-protocol-sdk';
4
5
  import { Semaphore } from 'async-mutex';
5
- export type ActorParams<T extends EmptyObject | void = void> = CreatableParams & {
6
+ export type ActorContext = BaseContext & {
6
7
  config: Config;
8
+ locator: ProviderFactoryLocatorInstance;
9
+ };
10
+ export type ActorParams<T extends EmptyObject | void = void> = CreatableParams & {
11
+ account: AccountInstance;
12
+ context: ActorContext;
7
13
  displayName?: string;
8
14
  id: string;
9
15
  } & (T extends void ? EmptyObject : T);
@@ -18,8 +24,205 @@ export declare class Actor<TParams extends ActorParams = ActorParams> extends Ab
18
24
  private _active;
19
25
  get displayName(): string;
20
26
  get id(): string;
27
+ protected get account(): AccountInstance;
28
+ protected get config(): {
29
+ api: {
30
+ host: string;
31
+ initRewardsCache: boolean;
32
+ port: number;
33
+ mnemonic?: string | undefined;
34
+ };
35
+ bridge: {
36
+ chainRpcApiUrl: string;
37
+ feeFixed: import("@xylabs/sdk-js").Hex;
38
+ feeRateBasisPoints: number;
39
+ host: string;
40
+ maxBridgeAmount: import("@xylabs/sdk-js").Hex;
41
+ minBridgeAmount: import("@xylabs/sdk-js").Hex;
42
+ port: number;
43
+ redisHost: string;
44
+ redisPort: number;
45
+ remoteBridgeContractAddress: import("@xylabs/sdk-js").Address;
46
+ remoteChainId: import("@xylabs/sdk-js").Hex;
47
+ remoteTokenAddress: import("@xylabs/sdk-js").Hex;
48
+ remoteChainWalletPrivateKey: import("@xylabs/sdk-js").Hex;
49
+ escrowAddress?: import("@xylabs/sdk-js").Address | undefined;
50
+ feesAddress?: import("@xylabs/sdk-js").Address | undefined;
51
+ mnemonic?: string | undefined;
52
+ xl1ChainId?: import("@xylabs/sdk-js").Hex | undefined;
53
+ xl1TokenAddress?: import("@xylabs/sdk-js").Hex | undefined;
54
+ };
55
+ chain: {
56
+ id?: import("@xylabs/sdk-js").Hex | undefined;
57
+ genesisRewardAddress?: import("@xylabs/sdk-js").Address | undefined;
58
+ };
59
+ evm: {
60
+ chainId?: string | undefined;
61
+ infura?: {
62
+ projectId?: string | undefined;
63
+ projectSecret?: string | undefined;
64
+ } | undefined;
65
+ jsonRpc?: {
66
+ url?: string | undefined;
67
+ } | undefined;
68
+ };
69
+ mempool: {
70
+ enabled: boolean;
71
+ host: string;
72
+ port: number;
73
+ mnemonic?: string | undefined;
74
+ };
75
+ producer: {
76
+ heartbeatInterval: number;
77
+ minStake: number;
78
+ port: number;
79
+ allowlist?: import("@xylabs/sdk-js").Address[] | undefined;
80
+ disableIntentRedeclaration?: boolean | undefined;
81
+ healthCheckPort?: number | undefined;
82
+ mnemonic?: string | undefined;
83
+ rewardAddress?: string | undefined;
84
+ };
85
+ rewardRedemptionApi: {
86
+ chainRpcApiUrl: string;
87
+ host: string;
88
+ port: number;
89
+ mnemonic?: string | undefined;
90
+ };
91
+ services: {
92
+ accountBalanceViewerEndpoint?: string | undefined;
93
+ apiEndpoint?: string | undefined;
94
+ };
95
+ storage: {
96
+ mongo?: {
97
+ connectionString?: string | undefined;
98
+ database?: string | undefined;
99
+ domain?: string | undefined;
100
+ password?: string | undefined;
101
+ username?: string | undefined;
102
+ } | undefined;
103
+ root?: string | undefined;
104
+ };
105
+ telemetry: {
106
+ metrics?: {
107
+ scrape: {
108
+ path: string;
109
+ port: number;
110
+ };
111
+ } | undefined;
112
+ otel?: {
113
+ otlpEndpoint?: string | undefined;
114
+ } | undefined;
115
+ };
116
+ validation: {
117
+ allowedRewardRedeemers?: import("@xylabs/sdk-js").Address[] | undefined;
118
+ allowedRewardEscrowAccountSigners?: import("@xylabs/sdk-js").Address[] | undefined;
119
+ };
120
+ logLevel: "info" | "error" | "warn" | "log" | "debug" | "trace";
121
+ silent: boolean;
122
+ };
123
+ protected get context(): ActorContext;
124
+ protected get locator(): ProviderFactoryLocatorInstance;
21
125
  protected get logPrefix(): string;
22
126
  static paramsHandler<T extends ActorParams>(params?: Partial<T>): Promise<{
127
+ account: T["account"];
128
+ context: T["context"] | {
129
+ config: {
130
+ api: {
131
+ host: string;
132
+ initRewardsCache: boolean;
133
+ port: number;
134
+ mnemonic?: string | undefined;
135
+ };
136
+ bridge: {
137
+ chainRpcApiUrl: string;
138
+ feeFixed: import("@xylabs/sdk-js").Hex;
139
+ feeRateBasisPoints: number;
140
+ host: string;
141
+ maxBridgeAmount: import("@xylabs/sdk-js").Hex;
142
+ minBridgeAmount: import("@xylabs/sdk-js").Hex;
143
+ port: number;
144
+ redisHost: string;
145
+ redisPort: number;
146
+ remoteBridgeContractAddress: import("@xylabs/sdk-js").Address;
147
+ remoteChainId: import("@xylabs/sdk-js").Hex;
148
+ remoteTokenAddress: import("@xylabs/sdk-js").Hex;
149
+ remoteChainWalletPrivateKey: import("@xylabs/sdk-js").Hex;
150
+ escrowAddress?: import("@xylabs/sdk-js").Address | undefined;
151
+ feesAddress?: import("@xylabs/sdk-js").Address | undefined;
152
+ mnemonic?: string | undefined;
153
+ xl1ChainId?: import("@xylabs/sdk-js").Hex | undefined;
154
+ xl1TokenAddress?: import("@xylabs/sdk-js").Hex | undefined;
155
+ };
156
+ chain: {
157
+ id?: import("@xylabs/sdk-js").Hex | undefined;
158
+ genesisRewardAddress?: import("@xylabs/sdk-js").Address | undefined;
159
+ };
160
+ evm: {
161
+ chainId?: string | undefined;
162
+ infura?: {
163
+ projectId?: string | undefined;
164
+ projectSecret?: string | undefined;
165
+ } | undefined;
166
+ jsonRpc?: {
167
+ url?: string | undefined;
168
+ } | undefined;
169
+ };
170
+ mempool: {
171
+ enabled: boolean;
172
+ host: string;
173
+ port: number;
174
+ mnemonic?: string | undefined;
175
+ };
176
+ producer: {
177
+ heartbeatInterval: number;
178
+ minStake: number;
179
+ port: number;
180
+ allowlist?: import("@xylabs/sdk-js").Address[] | undefined;
181
+ disableIntentRedeclaration?: boolean | undefined;
182
+ healthCheckPort?: number | undefined;
183
+ mnemonic?: string | undefined;
184
+ rewardAddress?: string | undefined;
185
+ };
186
+ rewardRedemptionApi: {
187
+ chainRpcApiUrl: string;
188
+ host: string;
189
+ port: number;
190
+ mnemonic?: string | undefined;
191
+ };
192
+ services: {
193
+ accountBalanceViewerEndpoint?: string | undefined;
194
+ apiEndpoint?: string | undefined;
195
+ };
196
+ storage: {
197
+ mongo?: {
198
+ connectionString?: string | undefined;
199
+ database?: string | undefined;
200
+ domain?: string | undefined;
201
+ password?: string | undefined;
202
+ username?: string | undefined;
203
+ } | undefined;
204
+ root?: string | undefined;
205
+ };
206
+ telemetry: {
207
+ metrics?: {
208
+ scrape: {
209
+ path: string;
210
+ port: number;
211
+ };
212
+ } | undefined;
213
+ otel?: {
214
+ otlpEndpoint?: string | undefined;
215
+ } | undefined;
216
+ };
217
+ validation: {
218
+ allowedRewardRedeemers?: import("@xylabs/sdk-js").Address[] | undefined;
219
+ allowedRewardEscrowAccountSigners?: import("@xylabs/sdk-js").Address[] | undefined;
220
+ };
221
+ logLevel: "info" | "error" | "warn" | "log" | "debug" | "trace";
222
+ silent: boolean;
223
+ };
224
+ locator: ProviderFactoryLocator;
225
+ };
23
226
  displayName: import("@xylabs/sdk-js").CreatableName | NonNullable<T["displayName"]> | undefined;
24
227
  id: import("@xylabs/sdk-js").CreatableName | T["id"] | undefined;
25
228
  logger: import("@xylabs/sdk-js").Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"Actor.d.ts","sourceRoot":"","sources":["../../../src/actor/Actor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAChD,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,iBAAiB,EAElB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,eAAe,GAAG;IAC/E,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;CACX,GAAG,CAAC,CAAC,SAAS,IAAI,GAAG,WAAW,GAAG,CAAC,CAAC,CAAA;AAEtC,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG;IACtF,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IACzB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CACzB,CAAA;AAED,qBACa,KAAK,CAAC,OAAO,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,iBAAiB,CAAC,OAAO,CAAC;IAC9F,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAY;IACtF,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAY;IAClE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAY;IACpF,OAAO,CAAC,OAAO,CAAQ;IAEvB,IAAI,WAAW,WAEd;IAED,IAAI,EAAE,WAEL;IAED,SAAS,KAAK,SAAS,WAEtB;WAEqB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;;;;;;;;;IAY9E;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IA8DnG;;OAEG;IACY,YAAY;IAM3B;;;OAGG;IACY,WAAW;CA+B3B"}
1
+ {"version":3,"file":"Actor.d.ts","sourceRoot":"","sources":["../../../src/actor/Actor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAChD,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,iBAAiB,EAGlB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EACL,KAAK,WAAW,EAAE,KAAK,MAAM,EAE7B,sBAAsB,EACtB,KAAK,8BAA8B,EACpC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,8BAA8B,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,eAAe,GAAG;IAC/E,OAAO,EAAE,eAAe,CAAA;IACxB,OAAO,EAAE,YAAY,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;CACX,GAAG,CAAC,CAAC,SAAS,IAAI,GAAG,WAAW,GAAG,CAAC,CAAC,CAAA;AAEtC,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG;IACtF,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IACzB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CACzB,CAAA;AAED,qBACa,KAAK,CAAC,OAAO,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,iBAAiB,CAAC,OAAO,CAAC;IAC9F,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAY;IACtF,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAY;IAClE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAY;IACpF,OAAO,CAAC,OAAO,CAAQ;IAEvB,IAAI,WAAW,WAEd;IAED,IAAI,EAAE,WAEL;IAED,SAAS,KAAK,OAAO,oBAEpB;IAED,SAAS,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEnB;IAED,SAAS,KAAK,OAAO,iBAEpB;IAED,SAAS,KAAK,OAAO,mCAEpB;IAED,SAAS,KAAK,SAAS,WAEtB;WAEqB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkB9E;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IA+DnG;;OAEG;IACY,YAAY;IAM3B;;;OAGG;IACY,WAAW;CA+B3B"}
@@ -1,21 +1,24 @@
1
1
  import type { Hash } from '@xylabs/sdk-js';
2
+ import { AccountInstance } from '@xyo-network/account-model';
2
3
  import { ArchivistInstance } from '@xyo-network/archivist-model';
3
4
  import type { BlockBoundWitness } from '@xyo-network/xl1-protocol';
4
- import type { ChainServiceCollectionV2, Config } from '@xyo-network/xl1-protocol-sdk';
5
+ import { BlockViewer, MempoolViewer } from '@xyo-network/xl1-protocol-sdk';
5
6
  import { Actor, ActorParams } from './Actor.ts';
6
- export type ValidatorActorParams = ActorParams<Pick<ChainServiceCollectionV2, 'account' | 'balance' | 'blockViewer' | 'chainStakeViewer' | 'mempoolViewer'> & {
7
- config: Config;
8
- pendingBlocksArchivist: ArchivistInstance;
7
+ export type ValidatorActorParams = ActorParams<{
8
+ account: AccountInstance;
9
+ blockViewer?: BlockViewer;
10
+ finalizedArchivist: ArchivistInstance;
11
+ mempoolViewer?: MempoolViewer;
9
12
  }>;
10
13
  export declare class ValidatorActor extends Actor<ValidatorActorParams> {
14
+ protected _blockViewer: BlockViewer | undefined;
11
15
  protected _lastValidatedBlock: BlockBoundWitness | undefined;
12
16
  protected _lastValidatedBlockHash: Hash | undefined;
13
- protected get account(): import("@xyo-network/wallet-model").WalletInstance;
14
- protected get balanceService(): import("@xyo-network/xl1-protocol-sdk").AccountBalanceViewer;
15
- protected get blockViewer(): import("@xyo-network/xl1-protocol-sdk").BlockViewer;
16
- protected get chainStakeViewer(): import("@xyo-network/xl1-protocol-sdk").ChainStakeViewer;
17
- protected get mempoolViewer(): import("@xyo-network/xl1-protocol-sdk").MempoolViewer;
18
- protected get pendingBlocksArchivist(): ArchivistInstance<import("@xyo-network/archivist-model").ArchivistParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>>, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>;
17
+ protected _mempoolViewer: MempoolViewer | undefined;
18
+ protected get blockViewer(): BlockViewer;
19
+ protected get finalizedArchivist(): ArchivistInstance<import("@xyo-network/archivist-model").ArchivistParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>>, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>;
20
+ protected get mempoolViewer(): MempoolViewer;
21
+ createHandler(): Promise<void>;
19
22
  startHandler(): Promise<void>;
20
23
  protected slashInvalidBlock(_block: BlockBoundWitness): Promise<boolean>;
21
24
  protected validateBlock(block: BlockBoundWitness): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"ValidatorActor.d.ts","sourceRoot":"","sources":["../../../src/actor/ValidatorActor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAGhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAErF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE/C,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAC5C,IAAI,CAAC,wBAAwB,EAC7B,SAAS,GACP,SAAS,GACT,aAAa,GACb,kBAAkB,GAClB,eAAe,CAIhB,GAAG;IACF,MAAM,EAAE,MAAM,CAAA;IACd,sBAAsB,EAAE,iBAAiB,CAAA;CAC1C,CAAC,CAAA;AAEJ,qBACa,cAAe,SAAQ,KAAK,CAAC,oBAAoB,CAAC;IAC7D,SAAS,CAAC,mBAAmB,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAC5D,SAAS,CAAC,uBAAuB,EAAE,IAAI,GAAG,SAAS,CAAA;IAEnD,SAAS,KAAK,OAAO,uDAEpB;IAED,SAAS,KAAK,cAAc,iEAE3B;IAED,SAAS,KAAK,WAAW,wDAExB;IAED,SAAS,KAAK,gBAAgB,6DAE7B;IAED,SAAS,KAAK,aAAa,0DAE1B;IAED,SAAS,KAAK,sBAAsB,0SAEnC;IAkBc,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cAuC5B,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;cAM9D,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAU1E"}
1
+ {"version":3,"file":"ValidatorActor.d.ts","sourceRoot":"","sources":["../../../src/actor/ValidatorActor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAGhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EACL,WAAW,EAEX,aAAa,EACd,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE/C,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAC5C;IACE,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,kBAAkB,EAAE,iBAAiB,CAAA;IACrC,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B,CAAC,CAAA;AAEJ,qBACa,cAAe,SAAQ,KAAK,CAAC,oBAAoB,CAAC;IAC7D,SAAS,CAAC,YAAY,EAAE,WAAW,GAAG,SAAS,CAAA;IAC/C,SAAS,CAAC,mBAAmB,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAC5D,SAAS,CAAC,uBAAuB,EAAE,IAAI,GAAG,SAAS,CAAA;IACnD,SAAS,CAAC,cAAc,EAAE,aAAa,GAAG,SAAS,CAAA;IAEnD,SAAS,KAAK,WAAW,gBAExB;IAED,SAAS,KAAK,kBAAkB,0SAE/B;IAED,SAAS,KAAK,aAAa,kBAE1B;IAEc,aAAa;IAcb,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cAgB5B,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;cAM9D,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAU1E"}
@@ -1,4 +1,4 @@
1
1
  import type { ArchivistInstance } from '@xyo-network/archivist-model';
2
2
  import type { ChainInitializableParams } from '../../ChainInitializableParams.ts';
3
- export declare function initChainFinalizedArchivist({ config, logger }: ChainInitializableParams): Promise<ArchivistInstance<import("@xyo-network/archivist-model").ArchivistParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>>, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>>;
3
+ export declare function initChainFinalizedArchivist(context: ChainInitializableParams): Promise<ArchivistInstance<import("@xyo-network/archivist-model").ArchivistParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>>, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>>;
4
4
  //# sourceMappingURL=archivist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"archivist.d.ts","sourceRoot":"","sources":["../../../../src/archivists/ChainFinalized/archivist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAKrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAMjF,wBAAsB,2BAA2B,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,wBAAwB,kTAS7F"}
1
+ {"version":3,"file":"archivist.d.ts","sourceRoot":"","sources":["../../../../src/archivists/ChainFinalized/archivist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAKrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAMjF,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,wBAAwB,kTASlF"}
@@ -1,7 +1,5 @@
1
1
  import type { ArchivistInstance } from '@xyo-network/archivist-model';
2
2
  import type { Initializable } from '@xyo-network/xl1-protocol';
3
- import type { Config } from '@xyo-network/xl1-protocol-sdk';
4
- export declare const initLocalChainFinalizedArchivist: Initializable<{
5
- config: Config;
6
- }, ArchivistInstance>;
3
+ import type { CreatableProviderContext } from '@xyo-network/xl1-protocol-sdk';
4
+ export declare const initLocalChainFinalizedArchivist: Initializable<CreatableProviderContext, ArchivistInstance>;
7
5
  //# sourceMappingURL=local.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../../src/archivists/ChainFinalized/local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAQ3D,eAAO,MAAM,gCAAgC,EAAE,aAAa,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,iBAAiB,CAOjG,CAAA"}
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../../src/archivists/ChainFinalized/local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAQ7E,eAAO,MAAM,gCAAgC,EAAE,aAAa,CAAC,wBAAwB,EAAE,iBAAiB,CAOvG,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import type { ArchivistInstance } from '@xyo-network/archivist-model';
2
2
  import type { ChainInitializableParams } from '../../ChainInitializableParams.ts';
3
- export declare function initPendingBlocksArchivist({ config, logger }: ChainInitializableParams): Promise<ArchivistInstance<import("@xyo-network/archivist-model").ArchivistParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>>, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>>;
3
+ export declare function initPendingBlocksArchivist(context: ChainInitializableParams): Promise<ArchivistInstance<import("@xyo-network/archivist-model").ArchivistParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>>, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>>;
4
4
  //# sourceMappingURL=archivist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"archivist.d.ts","sourceRoot":"","sources":["../../../../src/archivists/PendingBlocks/archivist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAKrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAMjF,wBAAsB,0BAA0B,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,wBAAwB,kTAS5F"}
1
+ {"version":3,"file":"archivist.d.ts","sourceRoot":"","sources":["../../../../src/archivists/PendingBlocks/archivist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAKrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAMjF,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,wBAAwB,kTASjF"}
@@ -1,4 +1,4 @@
1
1
  import type { ArchivistInstance } from '@xyo-network/archivist-model';
2
2
  import type { ChainInitializableParams } from '../../ChainInitializableParams.ts';
3
- export declare function initPendingTransactionsArchivist({ config, logger }: ChainInitializableParams): Promise<ArchivistInstance<import("@xyo-network/archivist-model").ArchivistParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>>, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>>;
3
+ export declare function initPendingTransactionsArchivist(context: ChainInitializableParams): Promise<ArchivistInstance<import("@xyo-network/archivist-model").ArchivistParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>>, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>>;
4
4
  //# sourceMappingURL=archivist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"archivist.d.ts","sourceRoot":"","sources":["../../../../src/archivists/PendingTransactions/archivist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAKrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAMjF,wBAAsB,gCAAgC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,wBAAwB,kTASlG"}
1
+ {"version":3,"file":"archivist.d.ts","sourceRoot":"","sources":["../../../../src/archivists/PendingTransactions/archivist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAKrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAMjF,wBAAsB,gCAAgC,CAAC,OAAO,EAAE,wBAAwB,kTASvF"}
@@ -1,7 +1,5 @@
1
1
  import type { ArchivistInstance } from '@xyo-network/archivist-model';
2
2
  import type { Initializable } from '@xyo-network/xl1-protocol';
3
- import type { Config } from '@xyo-network/xl1-protocol-sdk';
4
- export declare const initLocalStakeIntentStateArchivist: Initializable<{
5
- config: Config;
6
- }, ArchivistInstance>;
3
+ import type { ChainInitializableParams } from '../../ChainInitializableParams.ts';
4
+ export declare const initLocalStakeIntentStateArchivist: Initializable<ChainInitializableParams, ArchivistInstance>;
7
5
  //# sourceMappingURL=local.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../../src/archivists/StakeIntentState/local.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAQ3D,eAAO,MAAM,kCAAkC,EAAE,aAAa,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,iBAAiB,CAOnG,CAAA"}
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../../src/archivists/StakeIntentState/local.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAG9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAMjF,eAAO,MAAM,kCAAkC,EAAE,aAAa,CAAC,wBAAwB,EACrF,iBAAiB,CAOlB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createDeclarationIntentBlock.d.ts","sourceRoot":"","sources":["../../src/createDeclarationIntentBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEjF,wBAAsB,mCAAmC,CAAC,SAAS,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;MAa3J"}
1
+ {"version":3,"file":"createDeclarationIntentBlock.d.ts","sourceRoot":"","sources":["../../src/createDeclarationIntentBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAGjF,wBAAsB,mCAAmC,CAAC,SAAS,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;MAa3J"}
@@ -1,8 +1,7 @@
1
1
  import type { Server } from 'node:http';
2
2
  import type { Logger } from '@xylabs/sdk-js';
3
3
  import type { Initializable } from '@xyo-network/xl1-protocol';
4
- import type { Config } from '@xyo-network/xl1-protocol-sdk';
5
- import type { RuntimeStatusMonitor } from '../status/index.ts';
4
+ import type { Config, RuntimeStatusMonitor } from '@xyo-network/xl1-protocol-sdk';
6
5
  export declare const initHealthEndpoints: Initializable<{
7
6
  config: Config;
8
7
  logger: Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"initHealthEndpoints.d.ts","sourceRoot":"","sources":["../../../src/health/initHealthEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACO,MAAM,EACxB,MAAM,WAAW,CAAA;AAGlB,OAAO,KAAK,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAE3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAsD9D,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,oBAAoB,CAAA;CAAE,EAAE,MAAM,GAAG,SAAS,CAM3I,CAAA"}
1
+ {"version":3,"file":"initHealthEndpoints.d.ts","sourceRoot":"","sources":["../../../src/health/initHealthEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACO,MAAM,EACxB,MAAM,WAAW,CAAA;AAGlB,OAAO,KAAK,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAsDjF,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,oBAAoB,CAAA;CAAE,EAAE,MAAM,GAAG,SAAS,CAM3I,CAAA"}
@@ -2,7 +2,6 @@ export * from './actor/index.ts';
2
2
  export * from './archivists/index.ts';
3
3
  export * from './buildTelemetryConfig.ts';
4
4
  export * from './ChainInitializableParams.ts';
5
- export * from './ConfigContext.ts';
6
5
  export * from './createDeclarationIntentBlock.ts';
7
6
  export * from './evm/index.ts';
8
7
  export * from './health/index.ts';
@@ -10,5 +9,4 @@ export * from './host/index.ts';
10
9
  export * from './init/index.ts';
11
10
  export * from './manifest/index.ts';
12
11
  export * from './orchestrator/index.ts';
13
- export * from './status/index.ts';
14
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oBAAoB,CAAA;AAClC,cAAc,mCAAmC,CAAA;AACjD,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA"}