@aztec/sequencer-client 0.0.1-commit.fffb133c → 0.0.1-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/client/sequencer-client.d.ts +16 -7
- package/dest/client/sequencer-client.d.ts.map +1 -1
- package/dest/client/sequencer-client.js +56 -23
- package/dest/config.d.ts +25 -6
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +46 -28
- package/dest/global_variable_builder/global_builder.d.ts +14 -10
- package/dest/global_variable_builder/global_builder.d.ts.map +1 -1
- package/dest/global_variable_builder/global_builder.js +22 -21
- package/dest/global_variable_builder/index.d.ts +2 -2
- package/dest/global_variable_builder/index.d.ts.map +1 -1
- package/dest/publisher/config.d.ts +31 -17
- package/dest/publisher/config.d.ts.map +1 -1
- package/dest/publisher/config.js +101 -42
- package/dest/publisher/sequencer-publisher-factory.d.ts +11 -3
- package/dest/publisher/sequencer-publisher-factory.d.ts.map +1 -1
- package/dest/publisher/sequencer-publisher-factory.js +13 -2
- package/dest/publisher/sequencer-publisher-metrics.d.ts +1 -1
- package/dest/publisher/sequencer-publisher-metrics.d.ts.map +1 -1
- package/dest/publisher/sequencer-publisher-metrics.js +12 -4
- package/dest/publisher/sequencer-publisher.d.ts +28 -14
- package/dest/publisher/sequencer-publisher.d.ts.map +1 -1
- package/dest/publisher/sequencer-publisher.js +137 -74
- package/dest/sequencer/checkpoint_proposal_job.d.ts +35 -10
- package/dest/sequencer/checkpoint_proposal_job.d.ts.map +1 -1
- package/dest/sequencer/checkpoint_proposal_job.js +212 -137
- package/dest/sequencer/checkpoint_voter.d.ts +1 -2
- package/dest/sequencer/checkpoint_voter.d.ts.map +1 -1
- package/dest/sequencer/checkpoint_voter.js +2 -5
- package/dest/sequencer/metrics.d.ts +17 -5
- package/dest/sequencer/metrics.d.ts.map +1 -1
- package/dest/sequencer/metrics.js +111 -30
- package/dest/sequencer/sequencer.d.ts +29 -13
- package/dest/sequencer/sequencer.d.ts.map +1 -1
- package/dest/sequencer/sequencer.js +48 -44
- package/dest/sequencer/timetable.d.ts +4 -6
- package/dest/sequencer/timetable.d.ts.map +1 -1
- package/dest/sequencer/timetable.js +7 -11
- package/dest/sequencer/types.d.ts +2 -2
- package/dest/sequencer/types.d.ts.map +1 -1
- package/dest/test/index.d.ts +3 -5
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/mock_checkpoint_builder.d.ts +12 -12
- package/dest/test/mock_checkpoint_builder.d.ts.map +1 -1
- package/dest/test/mock_checkpoint_builder.js +47 -36
- package/dest/test/utils.d.ts +3 -3
- package/dest/test/utils.d.ts.map +1 -1
- package/dest/test/utils.js +5 -4
- package/package.json +28 -28
- package/src/client/sequencer-client.ts +78 -21
- package/src/config.ts +61 -38
- package/src/global_variable_builder/global_builder.ts +23 -24
- package/src/global_variable_builder/index.ts +1 -1
- package/src/publisher/config.ts +112 -43
- package/src/publisher/sequencer-publisher-factory.ts +23 -6
- package/src/publisher/sequencer-publisher-metrics.ts +7 -3
- package/src/publisher/sequencer-publisher.ts +149 -90
- package/src/sequencer/checkpoint_proposal_job.ts +309 -186
- package/src/sequencer/checkpoint_voter.ts +1 -12
- package/src/sequencer/metrics.ts +124 -32
- package/src/sequencer/sequencer.ts +61 -50
- package/src/sequencer/timetable.ts +13 -12
- package/src/sequencer/types.ts +1 -1
- package/src/test/index.ts +2 -4
- package/src/test/mock_checkpoint_builder.ts +67 -53
- package/src/test/utils.ts +5 -2
|
@@ -3,22 +3,24 @@ import { type L1ReaderConfig } from '@aztec/ethereum/l1-reader';
|
|
|
3
3
|
import { type L1TxUtilsConfig } from '@aztec/ethereum/l1-tx-utils/config';
|
|
4
4
|
import { type ConfigMappingsType, SecretValue } from '@aztec/foundation/config';
|
|
5
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
|
-
/**
|
|
7
|
-
* The configuration of the rollup transaction publisher.
|
|
8
|
-
*/
|
|
6
|
+
/** Configuration of the transaction publisher. */
|
|
9
7
|
export type TxSenderConfig = L1ReaderConfig & {
|
|
10
|
-
/**
|
|
11
|
-
* The private key to be used by the publisher.
|
|
12
|
-
*/
|
|
8
|
+
/** The private key to be used by the publisher. */
|
|
13
9
|
publisherPrivateKeys?: SecretValue<`0x${string}`>[];
|
|
14
|
-
/**
|
|
15
|
-
* Publisher addresses to be used with a remote signer
|
|
16
|
-
*/
|
|
10
|
+
/** Publisher addresses to be used with a remote signer */
|
|
17
11
|
publisherAddresses?: EthAddress[];
|
|
18
12
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
export type ProverTxSenderConfig = L1ReaderConfig & {
|
|
14
|
+
proverPublisherPrivateKeys?: SecretValue<`0x${string}`>[];
|
|
15
|
+
proverPublisherAddresses?: EthAddress[];
|
|
16
|
+
};
|
|
17
|
+
export type SequencerTxSenderConfig = L1ReaderConfig & {
|
|
18
|
+
sequencerPublisherPrivateKeys?: SecretValue<`0x${string}`>[];
|
|
19
|
+
sequencerPublisherAddresses?: EthAddress[];
|
|
20
|
+
};
|
|
21
|
+
export declare function getTxSenderConfigFromProverConfig(config: ProverTxSenderConfig): TxSenderConfig;
|
|
22
|
+
export declare function getTxSenderConfigFromSequencerConfig(config: SequencerTxSenderConfig): TxSenderConfig;
|
|
23
|
+
/** Configuration of the L1Publisher. */
|
|
22
24
|
export type PublisherConfig = L1TxUtilsConfig & BlobClientConfig & {
|
|
23
25
|
/** True to use publishers in invalid states (timed out, cancelled, etc) if no other is available */
|
|
24
26
|
publisherAllowInvalidStates?: boolean;
|
|
@@ -27,8 +29,20 @@ export type PublisherConfig = L1TxUtilsConfig & BlobClientConfig & {
|
|
|
27
29
|
/** Address of the forwarder contract to wrap all L1 transactions through (for testing purposes only) */
|
|
28
30
|
publisherForwarderAddress?: EthAddress;
|
|
29
31
|
};
|
|
30
|
-
export
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
export type ProverPublisherConfig = L1TxUtilsConfig & BlobClientConfig & {
|
|
33
|
+
fishermanMode?: boolean;
|
|
34
|
+
proverPublisherAllowInvalidStates?: boolean;
|
|
35
|
+
proverPublisherForwarderAddress?: EthAddress;
|
|
36
|
+
};
|
|
37
|
+
export type SequencerPublisherConfig = L1TxUtilsConfig & BlobClientConfig & {
|
|
38
|
+
fishermanMode?: boolean;
|
|
39
|
+
sequencerPublisherAllowInvalidStates?: boolean;
|
|
40
|
+
sequencerPublisherForwarderAddress?: EthAddress;
|
|
41
|
+
};
|
|
42
|
+
export declare function getPublisherConfigFromProverConfig(config: ProverPublisherConfig): PublisherConfig;
|
|
43
|
+
export declare function getPublisherConfigFromSequencerConfig(config: SequencerPublisherConfig): PublisherConfig;
|
|
44
|
+
export declare const proverTxSenderConfigMappings: ConfigMappingsType<Omit<ProverTxSenderConfig, 'l1Contracts'>>;
|
|
45
|
+
export declare const sequencerTxSenderConfigMappings: ConfigMappingsType<Omit<SequencerTxSenderConfig, 'l1Contracts'>>;
|
|
46
|
+
export declare const sequencerPublisherConfigMappings: ConfigMappingsType<SequencerPublisherConfig & L1TxUtilsConfig>;
|
|
47
|
+
export declare const proverPublisherConfigMappings: ConfigMappingsType<ProverPublisherConfig & L1TxUtilsConfig>;
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaGVyL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBMkIsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQTBCLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUEyQixNQUFNLG9DQUFvQyxDQUFDO0FBQ25HLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFFLFdBQVcsRUFBdUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0Qsa0RBQWtEO0FBQ2xELE1BQU0sTUFBTSxjQUFjLEdBQUcsY0FBYyxHQUFHO0lBQzVDLG1EQUFtRDtJQUNuRCxvQkFBb0IsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUVwRCwwREFBMEQ7SUFDMUQsa0JBQWtCLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQztDQUNuQyxDQUFDO0FBRUYsTUFBTSxNQUFNLG9CQUFvQixHQUFHLGNBQWMsR0FBRztJQUNsRCwwQkFBMEIsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMxRCx3QkFBd0IsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQ3pDLENBQUM7QUFFRixNQUFNLE1BQU0sdUJBQXVCLEdBQUcsY0FBYyxHQUFHO0lBQ3JELDZCQUE2QixDQUFDLEVBQUUsV0FBVyxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQzdELDJCQUEyQixDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDNUMsQ0FBQztBQUVGLHdCQUFnQixpQ0FBaUMsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLEdBQUcsY0FBYyxDQU05RjtBQUVELHdCQUFnQixvQ0FBb0MsQ0FBQyxNQUFNLEVBQUUsdUJBQXVCLEdBQUcsY0FBYyxDQU1wRztBQUVELHdDQUF3QztBQUN4QyxNQUFNLE1BQU0sZUFBZSxHQUFHLGVBQWUsR0FDM0MsZ0JBQWdCLEdBQUc7SUFDakIsb0dBQW9HO0lBQ3BHLDJCQUEyQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ3RDLDRHQUE0RztJQUM1RyxhQUFhLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDeEIsd0dBQXdHO0lBQ3hHLHlCQUF5QixDQUFDLEVBQUUsVUFBVSxDQUFDO0NBQ3hDLENBQUM7QUFFSixNQUFNLE1BQU0scUJBQXFCLEdBQUcsZUFBZSxHQUNqRCxnQkFBZ0IsR0FBRztJQUNqQixhQUFhLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDeEIsaUNBQWlDLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDNUMsK0JBQStCLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDOUMsQ0FBQztBQUVKLE1BQU0sTUFBTSx3QkFBd0IsR0FBRyxlQUFlLEdBQ3BELGdCQUFnQixHQUFHO0lBQ2pCLGFBQWEsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN4QixvQ0FBb0MsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUMvQyxrQ0FBa0MsQ0FBQyxFQUFFLFVBQVUsQ0FBQztDQUNqRCxDQUFDO0FBRUosd0JBQWdCLGtDQUFrQyxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsR0FBRyxlQUFlLENBTWpHO0FBRUQsd0JBQWdCLHFDQUFxQyxDQUFDLE1BQU0sRUFBRSx3QkFBd0IsR0FBRyxlQUFlLENBTXZHO0FBRUQsZUFBTyxNQUFNLDRCQUE0QixFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLENBQUMsQ0FldEcsQ0FBQztBQUVGLGVBQU8sTUFBTSwrQkFBK0IsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsYUFBYSxDQUFDLENBZTVHLENBQUM7QUFFRixlQUFPLE1BQU0sZ0NBQWdDLEVBQUUsa0JBQWtCLENBQUMsd0JBQXdCLEdBQUcsZUFBZSxDQW1CM0csQ0FBQztBQUVGLGVBQU8sTUFBTSw2QkFBNkIsRUFBRSxrQkFBa0IsQ0FBQyxxQkFBcUIsR0FBRyxlQUFlLENBbUJyRyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/publisher/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,oCAAoC,CAAC;AACnG,OAAO,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/publisher/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,oCAAoC,CAAC;AACnG,OAAO,EAAE,KAAK,kBAAkB,EAAE,WAAW,EAAuB,MAAM,0BAA0B,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,kDAAkD;AAClD,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,WAAW,CAAC,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC;IAEpD,0DAA0D;IAC1D,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,0BAA0B,CAAC,EAAE,WAAW,CAAC,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC;IAC1D,wBAAwB,CAAC,EAAE,UAAU,EAAE,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,cAAc,GAAG;IACrD,6BAA6B,CAAC,EAAE,WAAW,CAAC,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC;IAC7D,2BAA2B,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5C,CAAC;AAEF,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAM9F;AAED,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,uBAAuB,GAAG,cAAc,CAMpG;AAED,wCAAwC;AACxC,MAAM,MAAM,eAAe,GAAG,eAAe,GAC3C,gBAAgB,GAAG;IACjB,oGAAoG;IACpG,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,4GAA4G;IAC5G,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wGAAwG;IACxG,yBAAyB,CAAC,EAAE,UAAU,CAAC;CACxC,CAAC;AAEJ,MAAM,MAAM,qBAAqB,GAAG,eAAe,GACjD,gBAAgB,GAAG;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,+BAA+B,CAAC,EAAE,UAAU,CAAC;CAC9C,CAAC;AAEJ,MAAM,MAAM,wBAAwB,GAAG,eAAe,GACpD,gBAAgB,GAAG;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,kCAAkC,CAAC,EAAE,UAAU,CAAC;CACjD,CAAC;AAEJ,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,qBAAqB,GAAG,eAAe,CAMjG;AAED,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,wBAAwB,GAAG,eAAe,CAMvG;AAED,eAAO,MAAM,4BAA4B,EAAE,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAetG,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAe5G,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,kBAAkB,CAAC,wBAAwB,GAAG,eAAe,CAmB3G,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,qBAAqB,GAAG,eAAe,CAmBrG,CAAC"}
|
package/dest/publisher/config.js
CHANGED
|
@@ -1,48 +1,107 @@
|
|
|
1
1
|
import { blobClientConfigMapping } from '@aztec/blob-client/client/config';
|
|
2
2
|
import { l1ReaderConfigMappings } from '@aztec/ethereum/l1-reader';
|
|
3
3
|
import { l1TxUtilsConfigMappings } from '@aztec/ethereum/l1-tx-utils/config';
|
|
4
|
-
import { SecretValue, booleanConfigHelper
|
|
4
|
+
import { SecretValue, booleanConfigHelper } from '@aztec/foundation/config';
|
|
5
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
defaultValue: [],
|
|
13
|
-
fallback: [
|
|
14
|
-
scope === 'PROVER' ? `PROVER_PUBLISHER_PRIVATE_KEY` : `SEQ_PUBLISHER_PRIVATE_KEY`
|
|
15
|
-
]
|
|
16
|
-
},
|
|
17
|
-
publisherAddresses: {
|
|
18
|
-
env: scope === 'PROVER' ? `PROVER_PUBLISHER_ADDRESSES` : `SEQ_PUBLISHER_ADDRESSES`,
|
|
19
|
-
description: 'The addresses of the publishers to use with remote signers',
|
|
20
|
-
parseEnv: (val)=>val.split(',').map((address)=>EthAddress.fromString(address)),
|
|
21
|
-
defaultValue: []
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
export function getTxSenderConfigFromEnv(scope) {
|
|
25
|
-
return getConfigFromMappings(getTxSenderConfigMappings(scope));
|
|
6
|
+
export function getTxSenderConfigFromProverConfig(config) {
|
|
7
|
+
return {
|
|
8
|
+
...config,
|
|
9
|
+
publisherPrivateKeys: config.proverPublisherPrivateKeys,
|
|
10
|
+
publisherAddresses: config.proverPublisherAddresses
|
|
11
|
+
};
|
|
26
12
|
}
|
|
27
|
-
export
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
fishermanMode: {
|
|
34
|
-
env: 'FISHERMAN_MODE',
|
|
35
|
-
description: 'Whether to run in fisherman mode: builds blocks on every slot for validation without publishing to L1',
|
|
36
|
-
...booleanConfigHelper(false)
|
|
37
|
-
},
|
|
38
|
-
publisherForwarderAddress: {
|
|
39
|
-
env: scope === `PROVER` ? `PROVER_PUBLISHER_FORWARDER_ADDRESS` : `SEQ_PUBLISHER_FORWARDER_ADDRESS`,
|
|
40
|
-
description: 'Address of the forwarder contract to wrap all L1 transactions through (for testing purposes only)',
|
|
41
|
-
parseEnv: (val)=>val ? EthAddress.fromString(val) : undefined
|
|
42
|
-
},
|
|
43
|
-
...l1TxUtilsConfigMappings,
|
|
44
|
-
...blobClientConfigMapping
|
|
45
|
-
});
|
|
46
|
-
export function getPublisherConfigFromEnv(scope) {
|
|
47
|
-
return getConfigFromMappings(getPublisherConfigMappings(scope));
|
|
13
|
+
export function getTxSenderConfigFromSequencerConfig(config) {
|
|
14
|
+
return {
|
|
15
|
+
...config,
|
|
16
|
+
publisherPrivateKeys: config.sequencerPublisherPrivateKeys,
|
|
17
|
+
publisherAddresses: config.sequencerPublisherAddresses
|
|
18
|
+
};
|
|
48
19
|
}
|
|
20
|
+
export function getPublisherConfigFromProverConfig(config) {
|
|
21
|
+
return {
|
|
22
|
+
...config,
|
|
23
|
+
publisherAllowInvalidStates: config.proverPublisherAllowInvalidStates,
|
|
24
|
+
publisherForwarderAddress: config.proverPublisherForwarderAddress
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export function getPublisherConfigFromSequencerConfig(config) {
|
|
28
|
+
return {
|
|
29
|
+
...config,
|
|
30
|
+
publisherAllowInvalidStates: config.sequencerPublisherAllowInvalidStates,
|
|
31
|
+
publisherForwarderAddress: config.sequencerPublisherForwarderAddress
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export const proverTxSenderConfigMappings = {
|
|
35
|
+
...l1ReaderConfigMappings,
|
|
36
|
+
proverPublisherPrivateKeys: {
|
|
37
|
+
env: `PROVER_PUBLISHER_PRIVATE_KEYS`,
|
|
38
|
+
description: 'The private keys to be used by the prover publisher.',
|
|
39
|
+
parseEnv: (val)=>val.split(',').map((key)=>new SecretValue(`0x${key.replace('0x', '')}`)),
|
|
40
|
+
defaultValue: [],
|
|
41
|
+
fallback: [
|
|
42
|
+
`PROVER_PUBLISHER_PRIVATE_KEY`
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
proverPublisherAddresses: {
|
|
46
|
+
env: `PROVER_PUBLISHER_ADDRESSES`,
|
|
47
|
+
description: 'The addresses of the publishers to use with remote signers',
|
|
48
|
+
parseEnv: (val)=>val.split(',').map((address)=>EthAddress.fromString(address)),
|
|
49
|
+
defaultValue: []
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
export const sequencerTxSenderConfigMappings = {
|
|
53
|
+
...l1ReaderConfigMappings,
|
|
54
|
+
sequencerPublisherPrivateKeys: {
|
|
55
|
+
env: `SEQ_PUBLISHER_PRIVATE_KEYS`,
|
|
56
|
+
description: 'The private keys to be used by the sequencer publisher.',
|
|
57
|
+
parseEnv: (val)=>val.split(',').map((key)=>new SecretValue(`0x${key.replace('0x', '')}`)),
|
|
58
|
+
defaultValue: [],
|
|
59
|
+
fallback: [
|
|
60
|
+
`SEQ_PUBLISHER_PRIVATE_KEY`
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
sequencerPublisherAddresses: {
|
|
64
|
+
env: `SEQ_PUBLISHER_ADDRESSES`,
|
|
65
|
+
description: 'The addresses of the publishers to use with remote signers',
|
|
66
|
+
parseEnv: (val)=>val.split(',').map((address)=>EthAddress.fromString(address)),
|
|
67
|
+
defaultValue: []
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
export const sequencerPublisherConfigMappings = {
|
|
71
|
+
...l1TxUtilsConfigMappings,
|
|
72
|
+
...blobClientConfigMapping,
|
|
73
|
+
sequencerPublisherAllowInvalidStates: {
|
|
74
|
+
env: `SEQ_PUBLISHER_ALLOW_INVALID_STATES`,
|
|
75
|
+
description: 'True to use publishers in invalid states (timed out, cancelled, etc) if no other is available',
|
|
76
|
+
...booleanConfigHelper(true)
|
|
77
|
+
},
|
|
78
|
+
fishermanMode: {
|
|
79
|
+
env: 'FISHERMAN_MODE',
|
|
80
|
+
description: 'Whether to run in fisherman mode: builds blocks on every slot for validation without publishing to L1',
|
|
81
|
+
...booleanConfigHelper(false)
|
|
82
|
+
},
|
|
83
|
+
sequencerPublisherForwarderAddress: {
|
|
84
|
+
env: `SEQ_PUBLISHER_FORWARDER_ADDRESS`,
|
|
85
|
+
description: 'Address of the forwarder contract to wrap all L1 transactions through (for testing purposes only)',
|
|
86
|
+
parseEnv: (val)=>val ? EthAddress.fromString(val) : undefined
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
export const proverPublisherConfigMappings = {
|
|
90
|
+
...l1TxUtilsConfigMappings,
|
|
91
|
+
...blobClientConfigMapping,
|
|
92
|
+
proverPublisherAllowInvalidStates: {
|
|
93
|
+
env: `PROVER_PUBLISHER_ALLOW_INVALID_STATES`,
|
|
94
|
+
description: 'True to use publishers in invalid states (timed out, cancelled, etc) if no other is available',
|
|
95
|
+
...booleanConfigHelper(true)
|
|
96
|
+
},
|
|
97
|
+
fishermanMode: {
|
|
98
|
+
env: 'FISHERMAN_MODE',
|
|
99
|
+
description: 'Whether to run in fisherman mode: builds blocks on every slot for validation without publishing to L1',
|
|
100
|
+
...booleanConfigHelper(false)
|
|
101
|
+
},
|
|
102
|
+
proverPublisherForwarderAddress: {
|
|
103
|
+
env: `PROVER_PUBLISHER_FORWARDER_ADDRESS`,
|
|
104
|
+
description: 'Address of the forwarder contract to wrap all L1 transactions through (for testing purposes only)',
|
|
105
|
+
parseEnv: (val)=>val ? EthAddress.fromString(val) : undefined
|
|
106
|
+
}
|
|
107
|
+
};
|
|
@@ -3,7 +3,7 @@ import { type Logger } from '@aztec/aztec.js/log';
|
|
|
3
3
|
import type { BlobClientInterface } from '@aztec/blob-client/client';
|
|
4
4
|
import type { EpochCache } from '@aztec/epoch-cache';
|
|
5
5
|
import type { GovernanceProposerContract, RollupContract } from '@aztec/ethereum/contracts';
|
|
6
|
-
import type {
|
|
6
|
+
import type { L1TxUtils } from '@aztec/ethereum/l1-tx-utils';
|
|
7
7
|
import type { PublisherManager } from '@aztec/ethereum/publisher-manager';
|
|
8
8
|
import type { DateProvider } from '@aztec/foundation/timer';
|
|
9
9
|
import type { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
|
|
@@ -21,10 +21,11 @@ export declare class SequencerPublisherFactory {
|
|
|
21
21
|
private publisherMetrics;
|
|
22
22
|
/** Stores the last slot in which every action was carried out by a publisher */
|
|
23
23
|
private lastActions;
|
|
24
|
+
private nodeKeyStore;
|
|
24
25
|
private logger;
|
|
25
26
|
constructor(sequencerConfig: SequencerClientConfig, deps: {
|
|
26
27
|
telemetry: TelemetryClient;
|
|
27
|
-
publisherManager: PublisherManager<
|
|
28
|
+
publisherManager: PublisherManager<L1TxUtils>;
|
|
28
29
|
blobClient: BlobClientInterface;
|
|
29
30
|
dateProvider: DateProvider;
|
|
30
31
|
epochCache: EpochCache;
|
|
@@ -34,11 +35,18 @@ export declare class SequencerPublisherFactory {
|
|
|
34
35
|
nodeKeyStore: NodeKeystoreAdapter;
|
|
35
36
|
logger?: Logger;
|
|
36
37
|
});
|
|
38
|
+
/**
|
|
39
|
+
* Updates the node keystore adapter used for publisher lookups.
|
|
40
|
+
* Called when the keystore is reloaded at runtime to reflect new validator-publisher mappings.
|
|
41
|
+
*/
|
|
42
|
+
updateNodeKeyStore(adapter: NodeKeystoreAdapter): void;
|
|
37
43
|
/**
|
|
38
44
|
* Creates a new SequencerPublisher instance.
|
|
39
45
|
* @param _validatorAddress - The address of the validator that will be using the publisher.
|
|
40
46
|
* @returns A new SequencerPublisher instance.
|
|
41
47
|
*/
|
|
42
48
|
create(validatorAddress?: EthAddress): Promise<AttestorPublisherPair>;
|
|
49
|
+
/** Interrupts all publishers managed by this factory. Used during sequencer shutdown. */
|
|
50
|
+
interruptAll(): void;
|
|
43
51
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLXB1Ymxpc2hlci1mYWN0b3J5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaGVyL3NlcXVlbmNlci1wdWJsaXNoZXItZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsMEJBQTBCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUYsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQW1CLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFM0YsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxRCxPQUFPLEVBQWUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRSxNQUFNLE1BQU0scUJBQXFCLEdBQUc7SUFDbEMsZUFBZSxFQUFFLFVBQVUsQ0FBQztJQUM1QixTQUFTLEVBQUUsa0JBQWtCLENBQUM7Q0FDL0IsQ0FBQztBQUVGLHFCQUFhLHlCQUF5QjtJQVdsQyxPQUFPLENBQUMsZUFBZTtJQUN2QixPQUFPLENBQUMsSUFBSTtJQVhkLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBNEI7SUFFcEQsZ0ZBQWdGO0lBQ2hGLE9BQU8sQ0FBQyxXQUFXLENBQTJDO0lBRTlELE9BQU8sQ0FBQyxZQUFZLENBQXNCO0lBRTFDLE9BQU8sQ0FBQyxNQUFNLENBQVM7SUFFdkIsWUFDVSxlQUFlLEVBQUUscUJBQXFCLEVBQ3RDLElBQUksRUFBRTtRQUNaLFNBQVMsRUFBRSxlQUFlLENBQUM7UUFDM0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDO1FBQ2hDLFlBQVksRUFBRSxZQUFZLENBQUM7UUFDM0IsVUFBVSxFQUFFLFVBQVUsQ0FBQztRQUN2QixjQUFjLEVBQUUsY0FBYyxDQUFDO1FBQy9CLDBCQUEwQixFQUFFLDBCQUEwQixDQUFDO1FBQ3ZELG9CQUFvQixFQUFFLG9CQUFvQixDQUFDO1FBQzNDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztRQUNsQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7S0FDakIsRUFLRjtJQUVEOzs7T0FHRztJQUNJLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxtQkFBbUIsR0FBRyxJQUFJLENBRTVEO0lBRUQ7Ozs7T0FJRztJQUNVLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FxQ2pGO0lBRUQseUZBQXlGO0lBQ2xGLFlBQVksSUFBSSxJQUFJLENBRTFCO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequencer-publisher-factory.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sequencer-publisher-factory.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAe,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,UAAU,CAAC;IAC5B,SAAS,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAEF,qBAAa,yBAAyB;IAWlC,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,IAAI;IAXd,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,gFAAgF;IAChF,OAAO,CAAC,WAAW,CAA2C;IAE9D,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,MAAM,CAAS;IAEvB,YACU,eAAe,EAAE,qBAAqB,EACtC,IAAI,EAAE;QACZ,SAAS,EAAE,eAAe,CAAC;QAC3B,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC9C,UAAU,EAAE,mBAAmB,CAAC;QAChC,YAAY,EAAE,YAAY,CAAC;QAC3B,UAAU,EAAE,UAAU,CAAC;QACvB,cAAc,EAAE,cAAc,CAAC;QAC/B,0BAA0B,EAAE,0BAA0B,CAAC;QACvD,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,YAAY,EAAE,mBAAmB,CAAC;QAClC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAKF;IAED;;;OAGG;IACI,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAE5D;IAED;;;;OAIG;IACU,MAAM,CAAC,gBAAgB,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAqCjF;IAED,yFAAyF;IAClF,YAAY,IAAI,IAAI,CAE1B;CACF"}
|
|
@@ -6,6 +6,7 @@ export class SequencerPublisherFactory {
|
|
|
6
6
|
deps;
|
|
7
7
|
publisherMetrics;
|
|
8
8
|
/** Stores the last slot in which every action was carried out by a publisher */ lastActions;
|
|
9
|
+
nodeKeyStore;
|
|
9
10
|
logger;
|
|
10
11
|
constructor(sequencerConfig, deps){
|
|
11
12
|
this.sequencerConfig = sequencerConfig;
|
|
@@ -13,6 +14,13 @@ export class SequencerPublisherFactory {
|
|
|
13
14
|
this.lastActions = {};
|
|
14
15
|
this.publisherMetrics = new SequencerPublisherMetrics(deps.telemetry, 'SequencerPublisher');
|
|
15
16
|
this.logger = deps.logger ?? createLogger('sequencer');
|
|
17
|
+
this.nodeKeyStore = this.deps.nodeKeyStore;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Updates the node keystore adapter used for publisher lookups.
|
|
21
|
+
* Called when the keystore is reloaded at runtime to reflect new validator-publisher mappings.
|
|
22
|
+
*/ updateNodeKeyStore(adapter) {
|
|
23
|
+
this.nodeKeyStore = adapter;
|
|
16
24
|
}
|
|
17
25
|
/**
|
|
18
26
|
* Creates a new SequencerPublisher instance.
|
|
@@ -20,13 +28,13 @@ export class SequencerPublisherFactory {
|
|
|
20
28
|
* @returns A new SequencerPublisher instance.
|
|
21
29
|
*/ async create(validatorAddress) {
|
|
22
30
|
// If we have been given an attestor address we must only allow publishers permitted for that attestor
|
|
23
|
-
const allowedPublishers = !validatorAddress ? [] : this.
|
|
31
|
+
const allowedPublishers = !validatorAddress ? [] : this.nodeKeyStore.getPublisherAddresses(validatorAddress);
|
|
24
32
|
const filter = !validatorAddress ? ()=>true : (utils)=>{
|
|
25
33
|
const publisherAddress = utils.getSenderAddress();
|
|
26
34
|
return allowedPublishers.some((allowedPublisher)=>allowedPublisher.equals(publisherAddress));
|
|
27
35
|
};
|
|
28
36
|
const l1Publisher = await this.deps.publisherManager.getAvailablePublisher(filter);
|
|
29
|
-
const attestorAddress = validatorAddress ?? this.
|
|
37
|
+
const attestorAddress = validatorAddress ?? this.nodeKeyStore.getAttestorForPublisher(l1Publisher.getSenderAddress());
|
|
30
38
|
const rollup = this.deps.rollupContract;
|
|
31
39
|
const slashingProposerContract = await rollup.getSlashingProposer();
|
|
32
40
|
const publisher = new SequencerPublisher(this.sequencerConfig, {
|
|
@@ -48,4 +56,7 @@ export class SequencerPublisherFactory {
|
|
|
48
56
|
publisher
|
|
49
57
|
};
|
|
50
58
|
}
|
|
59
|
+
/** Interrupts all publishers managed by this factory. Used during sequencer shutdown. */ interruptAll() {
|
|
60
|
+
this.deps.publisherManager.interrupt();
|
|
61
|
+
}
|
|
51
62
|
}
|
|
@@ -23,4 +23,4 @@ export declare class SequencerPublisherMetrics {
|
|
|
23
23
|
recordSenderBalance(wei: bigint, senderAddress: string): void;
|
|
24
24
|
private recordTx;
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLXB1Ymxpc2hlci1tZXRyaWNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaGVyL3NlcXVlbmNlci1wdWJsaXNoZXItbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRixPQUFPLEVBS0wsS0FBSyxlQUFlLEVBR3JCLE1BQU0seUJBQXlCLENBQUM7QUFJakMsTUFBTSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUM7QUFFakMscUJBQWEseUJBQXlCO0lBc0JsQyxPQUFPLENBQUMsTUFBTTtJQXJCaEIsT0FBTyxDQUFDLFFBQVEsQ0FBWTtJQUU1QixPQUFPLENBQUMsT0FBTyxDQUFnQjtJQUMvQixPQUFPLENBQUMsVUFBVSxDQUFZO0lBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQVk7SUFDekIsT0FBTyxDQUFDLGNBQWMsQ0FBWTtJQUNsQyxPQUFPLENBQUMsYUFBYSxDQUFZO0lBQ2pDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBWTtJQUNyQyxPQUFPLENBQUMsaUJBQWlCLENBQVk7SUFDckMsT0FBTyxDQUFDLFVBQVUsQ0FBWTtJQUU5QixPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFZO0lBQy9DLE9BQU8sQ0FBQyxRQUFRLENBQUMsNEJBQTRCLENBQVk7SUFDekQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBZ0I7SUFDckQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBZ0I7SUFFckQsT0FBTyxDQUFDLGFBQWEsQ0FBUTtJQUU3QixZQUNFLE1BQU0sRUFBRSxlQUFlLEVBQ3ZCLElBQUksU0FBdUIsRUFDbkIsTUFBTSx1Q0FBOEMsRUFrQzdEO0lBRUQsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLFFBUzlCO0lBRUQsb0JBQW9CLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsd0JBQXdCLFFBWXZFO0lBRUQsbUJBQW1CLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUtyRDtJQUVELE9BQU8sQ0FBQyxRQUFRO0NBdUNqQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequencer-publisher-metrics.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher-metrics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAkB,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAKL,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"sequencer-publisher-metrics.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher-metrics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAkB,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAKL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAIjC,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC;AAEjC,qBAAa,yBAAyB;IAsBlC,OAAO,CAAC,MAAM;IArBhB,OAAO,CAAC,QAAQ,CAAY;IAE5B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,iBAAiB,CAAY;IACrC,OAAO,CAAC,iBAAiB,CAAY;IACrC,OAAO,CAAC,UAAU,CAAY;IAE9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAY;IACzD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IAErD,OAAO,CAAC,aAAa,CAAQ;IAE7B,YACE,MAAM,EAAE,eAAe,EACvB,IAAI,SAAuB,EACnB,MAAM,uCAA8C,EAkC7D;IAED,cAAc,CAAC,MAAM,EAAE,QAAQ,QAS9B;IAED,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,QAYvE;IAED,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAKrD;IAED,OAAO,CAAC,QAAQ;CAuCjB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createLogger } from '@aztec/aztec.js/log';
|
|
2
|
-
import { Attributes, Metrics } from '@aztec/telemetry-client';
|
|
2
|
+
import { Attributes, Metrics, createUpDownCounterWithDefault } from '@aztec/telemetry-client';
|
|
3
3
|
import { formatEther } from 'viem/utils';
|
|
4
4
|
export class SequencerPublisherMetrics {
|
|
5
5
|
logger;
|
|
@@ -21,7 +21,15 @@ export class SequencerPublisherMetrics {
|
|
|
21
21
|
this.logger = logger;
|
|
22
22
|
const meter = client.getMeter(name);
|
|
23
23
|
this.gasPrice = meter.createHistogram(Metrics.L1_PUBLISHER_GAS_PRICE);
|
|
24
|
-
this.txCount = meter
|
|
24
|
+
this.txCount = createUpDownCounterWithDefault(meter, Metrics.L1_PUBLISHER_TX_COUNT, {
|
|
25
|
+
[Attributes.L1_TX_TYPE]: [
|
|
26
|
+
'process'
|
|
27
|
+
],
|
|
28
|
+
[Attributes.OK]: [
|
|
29
|
+
true,
|
|
30
|
+
false
|
|
31
|
+
]
|
|
32
|
+
});
|
|
25
33
|
this.txDuration = meter.createHistogram(Metrics.L1_PUBLISHER_TX_DURATION);
|
|
26
34
|
this.txGas = meter.createHistogram(Metrics.L1_PUBLISHER_TX_GAS);
|
|
27
35
|
this.txCalldataSize = meter.createHistogram(Metrics.L1_PUBLISHER_TX_CALLDATA_SIZE);
|
|
@@ -30,8 +38,8 @@ export class SequencerPublisherMetrics {
|
|
|
30
38
|
this.txBlobDataGasCost = meter.createHistogram(Metrics.L1_PUBLISHER_TX_BLOBDATA_GAS_COST);
|
|
31
39
|
this.blobCountHistogram = meter.createHistogram(Metrics.L1_PUBLISHER_BLOB_COUNT);
|
|
32
40
|
this.blobInclusionBlocksHistogram = meter.createHistogram(Metrics.L1_PUBLISHER_BLOB_INCLUSION_BLOCKS);
|
|
33
|
-
this.blobTxSuccessCounter = meter
|
|
34
|
-
this.blobTxFailureCounter = meter
|
|
41
|
+
this.blobTxSuccessCounter = createUpDownCounterWithDefault(meter, Metrics.L1_PUBLISHER_BLOB_TX_SUCCESS);
|
|
42
|
+
this.blobTxFailureCounter = createUpDownCounterWithDefault(meter, Metrics.L1_PUBLISHER_BLOB_TX_FAILURE);
|
|
35
43
|
this.txTotalFee = meter.createHistogram(Metrics.L1_PUBLISHER_TX_TOTAL_FEE);
|
|
36
44
|
this.senderBalance = meter.createGauge(Metrics.L1_PUBLISHER_BALANCE);
|
|
37
45
|
}
|
|
@@ -3,8 +3,7 @@ import type { EpochCache } from '@aztec/epoch-cache';
|
|
|
3
3
|
import type { L1ContractsConfig } from '@aztec/ethereum/config';
|
|
4
4
|
import { type EmpireSlashingProposerContract, type GovernanceProposerContract, RollupContract, type TallySlashingProposerContract } from '@aztec/ethereum/contracts';
|
|
5
5
|
import { type L1FeeAnalysisResult, L1FeeAnalyzer } from '@aztec/ethereum/l1-fee-analysis';
|
|
6
|
-
import { type L1BlobInputs, type L1TxConfig, type L1TxRequest, type TransactionStats } from '@aztec/ethereum/l1-tx-utils';
|
|
7
|
-
import type { L1TxUtilsWithBlobs } from '@aztec/ethereum/l1-tx-utils-with-blobs';
|
|
6
|
+
import { type L1BlobInputs, type L1TxConfig, type L1TxRequest, type L1TxUtils, type TransactionStats } from '@aztec/ethereum/l1-tx-utils';
|
|
8
7
|
import { FormattedViemError } from '@aztec/ethereum/utils';
|
|
9
8
|
import { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
10
9
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
@@ -19,7 +18,7 @@ import { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
|
|
|
19
18
|
import type { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
20
19
|
import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
|
|
21
20
|
import { type TransactionReceipt, type TypedDataDefinition } from 'viem';
|
|
22
|
-
import type {
|
|
21
|
+
import type { SequencerPublisherConfig } from './config.js';
|
|
23
22
|
import { SequencerPublisherMetrics } from './sequencer-publisher-metrics.js';
|
|
24
23
|
export declare const Actions: readonly ["invalidate-by-invalid-attestation", "invalidate-by-insufficient-attestations", "propose", "governance-signal", "empire-slashing-signal", "create-empire-payload", "execute-empire-payload", "vote-offenses", "execute-slash"];
|
|
25
24
|
export type Action = (typeof Actions)[number];
|
|
@@ -54,25 +53,30 @@ export declare class SequencerPublisher {
|
|
|
54
53
|
private isPayloadEmptyCache;
|
|
55
54
|
protected log: Logger;
|
|
56
55
|
protected ethereumSlotDuration: bigint;
|
|
56
|
+
protected aztecSlotDuration: bigint;
|
|
57
|
+
private dateProvider;
|
|
57
58
|
private blobClient;
|
|
58
59
|
/** Address to use for simulations in fisherman mode (actual proposer's address) */
|
|
59
60
|
private proposerAddressForSimulation?;
|
|
60
61
|
/** L1 fee analyzer for fisherman mode */
|
|
61
62
|
private l1FeeAnalyzer?;
|
|
62
|
-
|
|
63
|
+
/** Fee asset price oracle for computing price modifiers from Uniswap V4 */
|
|
64
|
+
private feeAssetPriceOracle;
|
|
63
65
|
static MULTICALL_OVERHEAD_GAS_GUESS: bigint;
|
|
64
66
|
static VOTE_GAS_GUESS: bigint;
|
|
65
|
-
l1TxUtils:
|
|
67
|
+
l1TxUtils: L1TxUtils;
|
|
66
68
|
rollupContract: RollupContract;
|
|
67
69
|
govProposerContract: GovernanceProposerContract;
|
|
68
70
|
slashingProposerContract: EmpireSlashingProposerContract | TallySlashingProposerContract | undefined;
|
|
69
71
|
slashFactoryContract: SlashFactoryContract;
|
|
70
72
|
readonly tracer: Tracer;
|
|
71
73
|
protected requests: RequestWithExpiry[];
|
|
72
|
-
constructor(config:
|
|
74
|
+
constructor(config: Pick<SequencerPublisherConfig, 'fishermanMode'> & Pick<L1ContractsConfig, 'ethereumSlotDuration' | 'aztecSlotDuration'> & {
|
|
75
|
+
l1ChainId: number;
|
|
76
|
+
}, deps: {
|
|
73
77
|
telemetry?: TelemetryClient;
|
|
74
78
|
blobClient: BlobClientInterface;
|
|
75
|
-
l1TxUtils:
|
|
79
|
+
l1TxUtils: L1TxUtils;
|
|
76
80
|
rollupContract: RollupContract;
|
|
77
81
|
slashingProposerContract: EmpireSlashingProposerContract | TallySlashingProposerContract | undefined;
|
|
78
82
|
governanceProposerContract: GovernanceProposerContract;
|
|
@@ -84,6 +88,11 @@ export declare class SequencerPublisher {
|
|
|
84
88
|
log?: Logger;
|
|
85
89
|
});
|
|
86
90
|
getRollupContract(): RollupContract;
|
|
91
|
+
/**
|
|
92
|
+
* Gets the fee asset price modifier from the oracle.
|
|
93
|
+
* Returns 0n if the oracle query fails.
|
|
94
|
+
*/
|
|
95
|
+
getFeeAssetPriceModifier(): Promise<bigint>;
|
|
87
96
|
getSenderAddress(): EthAddress;
|
|
88
97
|
/**
|
|
89
98
|
* Gets the L1 fee analyzer instance (only available in fisherman mode)
|
|
@@ -132,12 +141,13 @@ export declare class SequencerPublisher {
|
|
|
132
141
|
} | undefined>;
|
|
133
142
|
private callbackBundledTransactions;
|
|
134
143
|
/**
|
|
135
|
-
* @notice Will call `
|
|
144
|
+
* @notice Will call `canProposeAt` to make sure that it is possible to propose
|
|
136
145
|
* @param tipArchive - The archive to check
|
|
137
146
|
* @returns The slot and block number if it is possible to propose, undefined otherwise
|
|
138
147
|
*/
|
|
139
|
-
|
|
148
|
+
canProposeAt(tipArchive: Fr, msgSender: EthAddress, opts?: {
|
|
140
149
|
forcePendingCheckpointNumber?: CheckpointNumber;
|
|
150
|
+
pipelined?: boolean;
|
|
141
151
|
}): Promise<{
|
|
142
152
|
slot: SlotNumber;
|
|
143
153
|
checkpointNumber: CheckpointNumber;
|
|
@@ -161,18 +171,17 @@ export declare class SequencerPublisher {
|
|
|
161
171
|
/** Simulates `propose` to make sure that the checkpoint is valid for submission */
|
|
162
172
|
validateCheckpointForSubmission(checkpoint: Checkpoint, attestationsAndSigners: CommitteeAttestationsAndSigners, attestationsAndSignersSignature: Signature, options: {
|
|
163
173
|
forcePendingCheckpointNumber?: CheckpointNumber;
|
|
164
|
-
}): Promise<
|
|
174
|
+
}): Promise<void>;
|
|
165
175
|
private enqueueCastSignalHelper;
|
|
166
176
|
private isPayloadEmpty;
|
|
167
177
|
/**
|
|
168
178
|
* Enqueues a governance castSignal transaction to cast a signal for a given slot number.
|
|
169
179
|
* @param slotNumber - The slot number to cast a signal for.
|
|
170
|
-
* @param timestamp - The timestamp of the slot to cast a signal for.
|
|
171
180
|
* @returns True if the signal was successfully enqueued, false otherwise.
|
|
172
181
|
*/
|
|
173
|
-
enqueueGovernanceCastSignal(governancePayload: EthAddress, slotNumber: SlotNumber,
|
|
182
|
+
enqueueGovernanceCastSignal(governancePayload: EthAddress, slotNumber: SlotNumber, signerAddress: EthAddress, signer: (msg: TypedDataDefinition) => Promise<`0x${string}`>): Promise<boolean>;
|
|
174
183
|
/** Enqueues all slashing actions as returned by the slasher client. */
|
|
175
|
-
enqueueSlashingActions(actions: ProposerSlashAction[], slotNumber: SlotNumber,
|
|
184
|
+
enqueueSlashingActions(actions: ProposerSlashAction[], slotNumber: SlotNumber, signerAddress: EthAddress, signer: (msg: TypedDataDefinition) => Promise<`0x${string}`>): Promise<boolean>;
|
|
176
185
|
/** Simulates and enqueues a proposal for a checkpoint on L1 */
|
|
177
186
|
enqueueProposeCheckpoint(checkpoint: Checkpoint, attestationsAndSigners: CommitteeAttestationsAndSigners, attestationsAndSignersSignature: Signature, opts?: {
|
|
178
187
|
txTimeoutAt?: Date;
|
|
@@ -194,6 +203,11 @@ export declare class SequencerPublisher {
|
|
|
194
203
|
private prepareProposeTx;
|
|
195
204
|
private simulateProposeTx;
|
|
196
205
|
private addProposeTx;
|
|
206
|
+
/** Returns the timestamp of the last L1 slot within a given L2 slot. Used as the simulation timestamp
|
|
207
|
+
* for eth_simulateV1 calls, since it's guaranteed to be greater than any L1 block produced during the slot. */
|
|
208
|
+
private getSimulationTimestamp;
|
|
209
|
+
/** Returns the timestamp of the next L1 slot boundary after now. */
|
|
210
|
+
private getNextL1SlotTimestamp;
|
|
197
211
|
}
|
|
198
212
|
export {};
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLXB1Ymxpc2hlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1Ymxpc2hlci9zZXF1ZW5jZXItcHVibGlzaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsS0FBSyw4QkFBOEIsRUFFbkMsS0FBSywwQkFBMEIsRUFHL0IsY0FBYyxFQUNkLEtBQUssNkJBQTZCLEVBR25DLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLEtBQUssbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUYsT0FBTyxFQUNMLEtBQUssWUFBWSxFQUNqQixLQUFLLFVBQVUsRUFDZixLQUFLLFdBQVcsRUFDaEIsS0FBSyxTQUFTLEVBRWQsS0FBSyxnQkFBZ0IsRUFFdEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQStDLE1BQU0sdUJBQXVCLENBQUM7QUFHeEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRy9FLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFzQixNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsWUFBWSxFQUFTLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequencer-publisher.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACL,KAAK,8BAA8B,
|
|
1
|
+
{"version":3,"file":"sequencer-publisher.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher.ts"],"names":[],"mappings":"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"}
|