@aztec/sequencer-client 0.0.0-test.1 → 0.0.1-commit.5daedc8

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 (112) hide show
  1. package/dest/client/index.d.ts +1 -1
  2. package/dest/client/sequencer-client.d.ts +26 -26
  3. package/dest/client/sequencer-client.d.ts.map +1 -1
  4. package/dest/client/sequencer-client.js +66 -51
  5. package/dest/config.d.ts +7 -15
  6. package/dest/config.d.ts.map +1 -1
  7. package/dest/config.js +59 -54
  8. package/dest/global_variable_builder/global_builder.d.ts +12 -10
  9. package/dest/global_variable_builder/global_builder.d.ts.map +1 -1
  10. package/dest/global_variable_builder/global_builder.js +43 -35
  11. package/dest/global_variable_builder/index.d.ts +1 -1
  12. package/dest/index.d.ts +2 -3
  13. package/dest/index.d.ts.map +1 -1
  14. package/dest/index.js +1 -2
  15. package/dest/publisher/config.d.ts +9 -9
  16. package/dest/publisher/config.d.ts.map +1 -1
  17. package/dest/publisher/config.js +24 -17
  18. package/dest/publisher/index.d.ts +3 -1
  19. package/dest/publisher/index.d.ts.map +1 -1
  20. package/dest/publisher/index.js +3 -0
  21. package/dest/publisher/sequencer-publisher-factory.d.ts +43 -0
  22. package/dest/publisher/sequencer-publisher-factory.d.ts.map +1 -0
  23. package/dest/publisher/sequencer-publisher-factory.js +51 -0
  24. package/dest/publisher/sequencer-publisher-metrics.d.ts +3 -2
  25. package/dest/publisher/sequencer-publisher-metrics.d.ts.map +1 -1
  26. package/dest/publisher/sequencer-publisher-metrics.js +37 -2
  27. package/dest/publisher/sequencer-publisher.d.ts +112 -73
  28. package/dest/publisher/sequencer-publisher.d.ts.map +1 -1
  29. package/dest/publisher/sequencer-publisher.js +681 -236
  30. package/dest/sequencer/block_builder.d.ts +27 -0
  31. package/dest/sequencer/block_builder.d.ts.map +1 -0
  32. package/dest/sequencer/block_builder.js +134 -0
  33. package/dest/sequencer/config.d.ts +6 -1
  34. package/dest/sequencer/config.d.ts.map +1 -1
  35. package/dest/sequencer/errors.d.ts +11 -0
  36. package/dest/sequencer/errors.d.ts.map +1 -0
  37. package/dest/sequencer/errors.js +15 -0
  38. package/dest/sequencer/index.d.ts +2 -2
  39. package/dest/sequencer/index.d.ts.map +1 -1
  40. package/dest/sequencer/index.js +1 -1
  41. package/dest/sequencer/metrics.d.ts +28 -12
  42. package/dest/sequencer/metrics.d.ts.map +1 -1
  43. package/dest/sequencer/metrics.js +122 -50
  44. package/dest/sequencer/sequencer.d.ts +122 -91
  45. package/dest/sequencer/sequencer.d.ts.map +1 -1
  46. package/dest/sequencer/sequencer.js +723 -370
  47. package/dest/sequencer/timetable.d.ts +33 -21
  48. package/dest/sequencer/timetable.d.ts.map +1 -1
  49. package/dest/sequencer/timetable.js +57 -30
  50. package/dest/sequencer/utils.d.ts +12 -36
  51. package/dest/sequencer/utils.d.ts.map +1 -1
  52. package/dest/sequencer/utils.js +9 -47
  53. package/dest/test/index.d.ts +8 -1
  54. package/dest/test/index.d.ts.map +1 -1
  55. package/dest/test/index.js +0 -4
  56. package/dest/tx_validator/nullifier_cache.d.ts +1 -3
  57. package/dest/tx_validator/nullifier_cache.d.ts.map +1 -1
  58. package/dest/tx_validator/tx_validator_factory.d.ts +10 -11
  59. package/dest/tx_validator/tx_validator_factory.d.ts.map +1 -1
  60. package/dest/tx_validator/tx_validator_factory.js +27 -24
  61. package/package.json +45 -45
  62. package/src/client/sequencer-client.ts +95 -85
  63. package/src/config.ts +67 -61
  64. package/src/global_variable_builder/global_builder.ts +52 -27
  65. package/src/index.ts +6 -2
  66. package/src/publisher/config.ts +34 -24
  67. package/src/publisher/index.ts +4 -0
  68. package/src/publisher/sequencer-publisher-factory.ts +91 -0
  69. package/src/publisher/sequencer-publisher-metrics.ts +24 -2
  70. package/src/publisher/sequencer-publisher.ts +817 -268
  71. package/src/sequencer/block_builder.ts +222 -0
  72. package/src/sequencer/config.ts +7 -0
  73. package/src/sequencer/errors.ts +21 -0
  74. package/src/sequencer/index.ts +1 -1
  75. package/src/sequencer/metrics.ts +156 -53
  76. package/src/sequencer/sequencer.ts +918 -423
  77. package/src/sequencer/timetable.ts +98 -33
  78. package/src/sequencer/utils.ts +17 -58
  79. package/src/test/index.ts +11 -4
  80. package/src/tx_validator/tx_validator_factory.ts +44 -32
  81. package/dest/sequencer/allowed.d.ts +0 -3
  82. package/dest/sequencer/allowed.d.ts.map +0 -1
  83. package/dest/sequencer/allowed.js +0 -27
  84. package/dest/slasher/factory.d.ts +0 -7
  85. package/dest/slasher/factory.d.ts.map +0 -1
  86. package/dest/slasher/factory.js +0 -8
  87. package/dest/slasher/index.d.ts +0 -3
  88. package/dest/slasher/index.d.ts.map +0 -1
  89. package/dest/slasher/index.js +0 -2
  90. package/dest/slasher/slasher_client.d.ts +0 -75
  91. package/dest/slasher/slasher_client.d.ts.map +0 -1
  92. package/dest/slasher/slasher_client.js +0 -132
  93. package/dest/tx_validator/archive_cache.d.ts +0 -14
  94. package/dest/tx_validator/archive_cache.d.ts.map +0 -1
  95. package/dest/tx_validator/archive_cache.js +0 -22
  96. package/dest/tx_validator/gas_validator.d.ts +0 -14
  97. package/dest/tx_validator/gas_validator.d.ts.map +0 -1
  98. package/dest/tx_validator/gas_validator.js +0 -78
  99. package/dest/tx_validator/phases_validator.d.ts +0 -12
  100. package/dest/tx_validator/phases_validator.d.ts.map +0 -1
  101. package/dest/tx_validator/phases_validator.js +0 -80
  102. package/dest/tx_validator/test_utils.d.ts +0 -23
  103. package/dest/tx_validator/test_utils.d.ts.map +0 -1
  104. package/dest/tx_validator/test_utils.js +0 -26
  105. package/src/sequencer/allowed.ts +0 -36
  106. package/src/slasher/factory.ts +0 -15
  107. package/src/slasher/index.ts +0 -2
  108. package/src/slasher/slasher_client.ts +0 -193
  109. package/src/tx_validator/archive_cache.ts +0 -28
  110. package/src/tx_validator/gas_validator.ts +0 -101
  111. package/src/tx_validator/phases_validator.ts +0 -98
  112. package/src/tx_validator/test_utils.ts +0 -48
@@ -1,31 +1,58 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import type { L2Block } from '@aztec/aztec.js';
1
+ import { L2Block } from '@aztec/aztec.js/block';
2
+ import type { EpochCache } from '@aztec/epoch-cache';
3
+ import { type RollupContract } from '@aztec/ethereum';
4
+ import { SlotNumber } from '@aztec/foundation/branded-types';
4
5
  import { EthAddress } from '@aztec/foundation/eth-address';
5
- import type { Signature } from '@aztec/foundation/eth-signature';
6
+ import { Signature } from '@aztec/foundation/eth-signature';
6
7
  import { Fr } from '@aztec/foundation/fields';
7
- import { type DateProvider, Timer } from '@aztec/foundation/timer';
8
+ import { type DateProvider } from '@aztec/foundation/timer';
9
+ import { type TypedEventEmitter } from '@aztec/foundation/types';
8
10
  import type { P2P } from '@aztec/p2p';
9
- import type { BlockBuilderFactory } from '@aztec/prover-client/block-builder';
10
- import type { PublicProcessorFactory } from '@aztec/simulator/server';
11
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
12
- import type { L2BlockSource } from '@aztec/stdlib/block';
13
- import type { ContractDataSource } from '@aztec/stdlib/contract';
14
- import type { L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
15
- import { Gas } from '@aztec/stdlib/gas';
16
- import { type WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
11
+ import type { SlasherClientInterface } from '@aztec/slasher';
12
+ import { CommitteeAttestationsAndSigners, type L2BlockSource, type ValidateBlockResult } from '@aztec/stdlib/block';
13
+ import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
14
+ import { type IFullNodeBlockBuilder, type PublicProcessorLimits, type WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
17
15
  import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
18
- import { type GlobalVariables, Tx, type TxHash } from '@aztec/stdlib/tx';
16
+ import { Tx } from '@aztec/stdlib/tx';
19
17
  import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
20
18
  import type { ValidatorClient } from '@aztec/validator-client';
21
19
  import type { GlobalVariableBuilder } from '../global_variable_builder/global_builder.js';
22
- import { type SequencerPublisher } from '../publisher/sequencer-publisher.js';
23
- import type { SlasherClient } from '../slasher/slasher_client.js';
20
+ import type { SequencerPublisherFactory } from '../publisher/sequencer-publisher-factory.js';
21
+ import type { Action, InvalidateBlockRequest, SequencerPublisher } from '../publisher/sequencer-publisher.js';
24
22
  import type { SequencerConfig } from './config.js';
25
23
  import { SequencerTimetable } from './timetable.js';
26
- import { SequencerState } from './utils.js';
24
+ import { SequencerState, type SequencerStateWithSlot } from './utils.js';
27
25
  export { SequencerState };
28
26
  type SequencerRollupConstants = Pick<L1RollupConstants, 'ethereumSlotDuration' | 'l1GenesisTime' | 'slotDuration'>;
27
+ export type SequencerEvents = {
28
+ ['state-changed']: (args: {
29
+ oldState: SequencerState;
30
+ newState: SequencerState;
31
+ secondsIntoSlot?: number;
32
+ slotNumber?: SlotNumber;
33
+ }) => void;
34
+ ['proposer-rollup-check-failed']: (args: {
35
+ reason: string;
36
+ }) => void;
37
+ ['tx-count-check-failed']: (args: {
38
+ minTxs: number;
39
+ availableTxs: number;
40
+ }) => void;
41
+ ['block-build-failed']: (args: {
42
+ reason: string;
43
+ }) => void;
44
+ ['block-publish-failed']: (args: {
45
+ successfulActions?: Action[];
46
+ failedActions?: Action[];
47
+ sentActions?: Action[];
48
+ expiredActions?: Action[];
49
+ }) => void;
50
+ ['block-published']: (args: {
51
+ blockNumber: number;
52
+ slot: number;
53
+ }) => void;
54
+ };
55
+ declare const Sequencer_base: new () => TypedEventEmitter<SequencerEvents>;
29
56
  /**
30
57
  * Sequencer client
31
58
  * - Wins a period of time to become the sequencer (depending on finalized protocol).
@@ -35,59 +62,61 @@ type SequencerRollupConstants = Pick<L1RollupConstants, 'ethereumSlotDuration' |
35
62
  * - Receives results to those proofs from the network (repeats as necessary) (not for this milestone).
36
63
  * - Publishes L1 tx(s) to the rollup contract via RollupPublisher.
37
64
  */
38
- export declare class Sequencer {
39
- protected publisher: SequencerPublisher;
65
+ export declare class Sequencer extends Sequencer_base {
66
+ protected publisherFactory: SequencerPublisherFactory;
40
67
  protected validatorClient: ValidatorClient | undefined;
41
68
  protected globalsBuilder: GlobalVariableBuilder;
42
69
  protected p2pClient: P2P;
43
70
  protected worldState: WorldStateSynchronizer;
44
- protected slasherClient: SlasherClient;
45
- protected blockBuilderFactory: BlockBuilderFactory;
71
+ protected slasherClient: SlasherClientInterface | undefined;
46
72
  protected l2BlockSource: L2BlockSource;
47
73
  protected l1ToL2MessageSource: L1ToL2MessageSource;
48
- protected publicProcessorFactory: PublicProcessorFactory;
49
- protected contractDataSource: ContractDataSource;
74
+ protected blockBuilder: IFullNodeBlockBuilder;
50
75
  protected l1Constants: SequencerRollupConstants;
51
76
  protected dateProvider: DateProvider;
77
+ protected epochCache: EpochCache;
78
+ protected rollupContract: RollupContract;
52
79
  protected config: SequencerConfig;
53
- protected log: import("@aztec/aztec.js").Logger;
80
+ protected telemetry: TelemetryClient;
81
+ protected log: import("@aztec/foundation/log").Logger;
54
82
  private runningPromise?;
55
83
  private pollingIntervalMs;
56
84
  private maxTxsPerBlock;
57
85
  private minTxsPerBlock;
58
86
  private maxL1TxInclusionTimeIntoSlot;
59
- private _coinbase;
60
- private _feeRecipient;
61
87
  private state;
62
- private allowedInSetup;
63
88
  private maxBlockSizeInBytes;
64
89
  private maxBlockGas;
65
90
  private metrics;
66
- private isFlushing;
91
+ private lastBlockPublished;
92
+ private governanceProposerPayload;
93
+ /** The last slot for which we attempted to vote when sync failed, to prevent duplicate attempts. */
94
+ private lastSlotForVoteWhenSyncFailed;
95
+ /** The last slot for which we built a validation block in fisherman mode, to prevent duplicate attempts. */
96
+ private lastSlotForValidationBlock;
67
97
  /** The maximum number of seconds that the sequencer can be into a slot to transition to a particular state. */
68
98
  protected timetable: SequencerTimetable;
69
99
  protected enforceTimeTable: boolean;
70
- constructor(publisher: SequencerPublisher, validatorClient: ValidatorClient | undefined, // During migration the validator client can be inactive
71
- globalsBuilder: GlobalVariableBuilder, p2pClient: P2P, worldState: WorldStateSynchronizer, slasherClient: SlasherClient, blockBuilderFactory: BlockBuilderFactory, l2BlockSource: L2BlockSource, l1ToL2MessageSource: L1ToL2MessageSource, publicProcessorFactory: PublicProcessorFactory, contractDataSource: ContractDataSource, l1Constants: SequencerRollupConstants, dateProvider: DateProvider, config?: SequencerConfig, telemetry?: TelemetryClient, log?: import("@aztec/aztec.js").Logger);
100
+ protected publisher: SequencerPublisher | undefined;
101
+ constructor(publisherFactory: SequencerPublisherFactory, validatorClient: ValidatorClient | undefined, globalsBuilder: GlobalVariableBuilder, p2pClient: P2P, worldState: WorldStateSynchronizer, slasherClient: SlasherClientInterface | undefined, l2BlockSource: L2BlockSource, l1ToL2MessageSource: L1ToL2MessageSource, blockBuilder: IFullNodeBlockBuilder, l1Constants: SequencerRollupConstants, dateProvider: DateProvider, epochCache: EpochCache, rollupContract: RollupContract, config: SequencerConfig, telemetry?: TelemetryClient, log?: import("@aztec/foundation/log").Logger);
72
102
  get tracer(): Tracer;
103
+ getValidatorAddresses(): EthAddress[] | undefined;
104
+ getConfig(): SequencerConfig;
73
105
  /**
74
- * Updates sequencer config.
106
+ * Updates sequencer config by the defined values in the config on input.
75
107
  * @param config - New parameters.
76
108
  */
77
- updateConfig(config: SequencerConfig): Promise<void>;
109
+ updateConfig(config: SequencerConfig): void;
78
110
  private setTimeTable;
111
+ init(): Promise<void>;
79
112
  /**
80
113
  * Starts the sequencer and moves to IDLE state.
81
114
  */
82
- start(): Promise<void>;
115
+ start(): void;
83
116
  /**
84
117
  * Stops the sequencer from processing txs and moves to STOPPED state.
85
118
  */
86
119
  stop(): Promise<void>;
87
- /**
88
- * Starts a previously stopped sequencer.
89
- */
90
- restart(): void;
91
120
  /**
92
121
  * Returns the current state of the sequencer.
93
122
  * @returns An object with a state entry with one of SequencerState.
@@ -95,8 +124,6 @@ export declare class Sequencer {
95
124
  status(): {
96
125
  state: SequencerState;
97
126
  };
98
- /** Forces the sequencer to bypass all time and tx count checks for the next block and build anyway. */
99
- flush(): void;
100
127
  /**
101
128
  * @notice Performs most of the sequencer duties:
102
129
  * - Checks if we are up to date
@@ -105,76 +132,80 @@ export declare class Sequencer {
105
132
  * - Submit block
106
133
  * - If our block for some reason is not included, revert the state
107
134
  */
108
- protected doRealWork(): Promise<void>;
109
135
  protected work(): Promise<void>;
110
- getForwarderAddress(): EthAddress;
111
- /**
112
- * Checks if we can propose at the next block and returns the slot number if we can.
113
- * @param tipArchive - The archive of the previous block.
114
- * @param proposalBlockNumber - The block number of the proposal.
115
- * @returns The slot number if we can propose at the next block, otherwise undefined.
116
- */
117
- slotForProposal(tipArchive: Buffer, proposalBlockNumber: bigint): Promise<bigint | undefined>;
136
+ private tryBuildBlockAndEnqueuePublish;
137
+ protected safeWork(): Promise<void>;
118
138
  /**
119
139
  * Sets the sequencer state and checks if we have enough time left in the slot to transition to the new state.
120
140
  * @param proposedState - The new state to transition to.
121
- * @param currentSlotNumber - The current slot number.
141
+ * @param slotNumber - The current slot number.
122
142
  * @param force - Whether to force the transition even if the sequencer is stopped.
123
- *
124
- * @dev If the `currentSlotNumber` doesn't matter (e.g. transitioning to IDLE), pass in `0n`;
125
- * it is only used to check if we have enough time left in the slot to transition to the new state.
126
- */
127
- setState(proposedState: SequencerState, currentSlotNumber: bigint, force?: boolean): void;
128
- /**
129
- * Build a block
130
- *
131
- * Shared between the sequencer and the validator for re-execution
132
- *
133
- * @param pendingTxs - The pending transactions to construct the block from
134
- * @param newGlobalVariables - The global variables for the new block
135
- * @param historicalHeader - The historical header of the parent
136
- * @param opts - Whether to just validate the block as a validator, as opposed to building it as a proposal
137
- */
138
- protected buildBlock(pendingTxs: Iterable<Tx> | AsyncIterable<Tx>, newGlobalVariables: GlobalVariables, opts?: {
139
- validateOnly?: boolean;
140
- }): Promise<{
141
- block: L2Block;
142
- publicGas: Gas;
143
- publicProcessorDuration: number;
144
- numMsgs: number;
145
- numTxs: number;
146
- numFailedTxs: number;
147
- blockBuildingTimer: Timer;
148
- }>;
149
- /**
150
- * @notice Build and propose a block to the chain
151
- *
152
- * @dev MUST throw instead of exiting early to ensure that world-state
153
- * is being rolled back if the block is dropped.
154
- *
155
- * @param pendingTxs - Iterable of pending transactions to construct the block from
156
- * @param proposalHeader - The partial header constructed for the proposal
157
143
  */
144
+ setState(proposedState: SequencerStateWithSlot, slotNumber: SlotNumber, opts?: {
145
+ force?: boolean;
146
+ }): void;
147
+ setState(proposedState: Exclude<SequencerState, SequencerStateWithSlot>, slotNumber?: undefined, opts?: {
148
+ force?: boolean;
149
+ }): void;
150
+ private dropFailedTxsFromP2P;
151
+ protected getBlockBuilderOptions(slot: SlotNumber): PublicProcessorLimits;
158
152
  private buildBlockAndEnqueuePublish;
159
- protected collectAttestations(block: L2Block, txHashes: TxHash[]): Promise<Signature[] | undefined>;
153
+ protected collectAttestations(block: L2Block, txs: Tx[], proposerAddress: EthAddress | undefined): Promise<CommitteeAttestationsAndSigners>;
154
+ /** Breaks the attestations before publishing based on attack configs */
155
+ private manipulateAttestations;
160
156
  /**
161
157
  * Publishes the L2Block to the rollup contract.
162
158
  * @param block - The L2Block to be published.
163
159
  */
164
- protected enqueuePublishL2Block(block: L2Block, attestations?: Signature[], txHashes?: TxHash[]): Promise<void>;
160
+ protected enqueuePublishL2Block(block: L2Block, attestationsAndSigners: CommitteeAttestationsAndSigners, attestationsAndSignersSignature: Signature, invalidateBlock: InvalidateBlockRequest | undefined, publisher: SequencerPublisher): Promise<void>;
165
161
  /**
166
162
  * Returns whether all dependencies have caught up.
167
163
  * We don't check against the previous block submitted since it may have been reorg'd out.
168
- * @returns Boolean indicating if our dependencies are synced to the latest block.
169
164
  */
170
- protected getChainTip(): Promise<{
165
+ protected checkSync(args: {
166
+ ts: bigint;
167
+ slot: SlotNumber;
168
+ }): Promise<{
169
+ block?: L2Block;
171
170
  blockNumber: number;
172
171
  archive: Fr;
172
+ l1Timestamp: bigint;
173
+ pendingChainValidationStatus: ValidateBlockResult;
173
174
  } | undefined>;
174
- private getSlotStartTimestamp;
175
+ /**
176
+ * Enqueues governance and slashing votes with the publisher. Does not block.
177
+ * @param publisher - The publisher to enqueue votes with
178
+ * @param attestorAddress - The attestor address to use for signing
179
+ * @param slot - The slot number
180
+ * @param timestamp - The timestamp for the votes
181
+ * @param context - Optional context for logging (e.g., block number)
182
+ * @returns A tuple of [governanceEnqueued, slashingEnqueued]
183
+ */
184
+ protected enqueueGovernanceAndSlashingVotes(publisher: SequencerPublisher, attestorAddress: EthAddress, slot: SlotNumber, timestamp: bigint): [Promise<boolean> | undefined, Promise<boolean> | undefined];
185
+ /**
186
+ * Checks if we are the proposer for the next slot.
187
+ * @returns True if we can propose, and the proposer address (undefined if anyone can propose)
188
+ */
189
+ protected checkCanPropose(slot: SlotNumber): Promise<[boolean, EthAddress | undefined]>;
190
+ /**
191
+ * Tries to vote on slashing actions and governance when the sync check fails but we're past the max time for initializing a proposal.
192
+ * This allows the sequencer to participate in governance/slashing votes even when it cannot build blocks.
193
+ */
194
+ protected tryVoteWhenSyncFails(args: {
195
+ slot: SlotNumber;
196
+ ts: bigint;
197
+ }): Promise<void>;
198
+ /**
199
+ * Considers invalidating a block if the pending chain is invalid. Depends on how long the invalid block
200
+ * has been there without being invalidated and whether the sequencer is in the committee or not. We always
201
+ * have the proposer try to invalidate, but if they fail, the sequencers in the committee are expected to try,
202
+ * and if they fail, any sequencer will try as well.
203
+ */
204
+ protected considerInvalidatingBlock(syncedTo: NonNullable<Awaited<ReturnType<Sequencer['checkSync']>>>, currentSlot: SlotNumber): Promise<void>;
205
+ private getSlotStartBuildTimestamp;
175
206
  private getSecondsIntoSlot;
176
207
  get aztecSlotDuration(): number;
177
- get coinbase(): EthAddress;
178
- get feeRecipient(): AztecAddress;
208
+ get maxL2BlockGas(): number | undefined;
209
+ getSlasherClient(): SlasherClientInterface | undefined;
179
210
  }
180
- //# sourceMappingURL=sequencer.d.ts.map
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VyL3NlcXVlbmNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUF3QyxLQUFLLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVGLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUcxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUc5QyxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQVMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBWSxNQUFNLHlCQUF5QixDQUFDO0FBQzNFLE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFFTCwrQkFBK0IsRUFDL0IsS0FBSyxhQUFhLEVBRWxCLEtBQUssbUJBQW1CLEVBQ3pCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQWtELE1BQU0sNkJBQTZCLENBQUM7QUFFckgsT0FBTyxFQUNMLEtBQUsscUJBQXFCLEVBQzFCLEtBQUsscUJBQXFCLEVBRTFCLEtBQUssc0JBQXNCLEVBQzVCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU9u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
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"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"}