@aztec/txe 5.0.0-private.20260319 → 5.0.0-rc.2
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/AuthRegistry-URXCCPYF.js +3 -0
- package/dest/AuthRegistry-URXCCPYF.js.map +7 -0
- package/dest/ContractClassRegistry-5RDBM6TC.js +3 -0
- package/dest/ContractClassRegistry-5RDBM6TC.js.map +7 -0
- package/dest/ContractInstanceRegistry-GCR4G4D7.js +3 -0
- package/dest/ContractInstanceRegistry-GCR4G4D7.js.map +7 -0
- package/dest/FeeJuice-O3KOSZO5.js +3 -0
- package/dest/FeeJuice-O3KOSZO5.js.map +7 -0
- package/dest/HandshakeRegistry-TXSMHMNY.js +3 -0
- package/dest/HandshakeRegistry-TXSMHMNY.js.map +7 -0
- package/dest/MultiCallEntrypoint-P4FSRXAD.js +3 -0
- package/dest/MultiCallEntrypoint-P4FSRXAD.js.map +7 -0
- package/dest/SchnorrAccount-AQZX7ROU.js +3 -0
- package/dest/SchnorrAccount-AQZX7ROU.js.map +7 -0
- package/dest/SchnorrInitializerlessAccount-KMX2H3J6.js +3 -0
- package/dest/SchnorrInitializerlessAccount-KMX2H3J6.js.map +7 -0
- package/dest/bin/check_txe_oracle_version.d.ts +2 -0
- package/dest/bin/check_txe_oracle_version.d.ts.map +1 -0
- package/dest/bin/check_txe_oracle_version.js +61 -0
- package/dest/bin/index.js +3 -30
- package/dest/bin/index.js.map +7 -0
- package/dest/bin/oracle_test_server.d.ts +3 -0
- package/dest/bin/oracle_test_server.d.ts.map +1 -0
- package/dest/bin/oracle_test_server.js +41 -0
- package/dest/chunk-BJVAAXNA.js +3 -0
- package/dest/chunk-BJVAAXNA.js.map +7 -0
- package/dest/chunk-I6DL4FT2.js +304 -0
- package/dest/chunk-I6DL4FT2.js.map +7 -0
- package/dest/chunk-IAO54JS2.js +266 -0
- package/dest/chunk-IAO54JS2.js.map +7 -0
- package/dest/constants.d.ts +5 -1
- package/dest/constants.d.ts.map +1 -1
- package/dest/constants.js +9 -1
- package/dest/dispatcher_pool.d.ts +67 -0
- package/dest/dispatcher_pool.d.ts.map +1 -0
- package/dest/dispatcher_pool.js +286 -0
- package/dest/index.d.ts +51 -7
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +70 -190
- package/dest/metafile.json +39364 -0
- package/dest/msgpackr_fr_extension.d.ts +2 -0
- package/dest/msgpackr_fr_extension.d.ts.map +1 -0
- package/dest/msgpackr_fr_extension.js +21 -0
- package/dest/oracle/interfaces.d.ts +38 -8
- package/dest/oracle/interfaces.d.ts.map +1 -1
- package/dest/oracle/test-resolver/default_fixtures.d.ts +9 -0
- package/dest/oracle/test-resolver/default_fixtures.d.ts.map +1 -0
- package/dest/oracle/test-resolver/default_fixtures.js +164 -0
- package/dest/oracle/test-resolver/index.d.ts +9 -0
- package/dest/oracle/test-resolver/index.d.ts.map +1 -0
- package/dest/oracle/test-resolver/index.js +32 -0
- package/dest/oracle/test-resolver/resolver.d.ts +48 -0
- package/dest/oracle/test-resolver/resolver.d.ts.map +1 -0
- package/dest/oracle/test-resolver/resolver.js +144 -0
- package/dest/oracle/txe_oracle_public_context.d.ts +26 -2
- package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_public_context.js +43 -1
- package/dest/oracle/txe_oracle_registry.d.ts +167 -0
- package/dest/oracle/txe_oracle_registry.d.ts.map +1 -0
- package/dest/oracle/txe_oracle_registry.js +715 -0
- package/dest/oracle/txe_oracle_top_level_context.d.ts +42 -17
- package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_top_level_context.js +205 -70
- package/dest/oracle/txe_oracle_version.d.ts +17 -0
- package/dest/oracle/txe_oracle_version.d.ts.map +1 -0
- package/dest/oracle/txe_oracle_version.js +14 -0
- package/dest/oracle/txe_private_execution_oracle.d.ts +17 -0
- package/dest/oracle/txe_private_execution_oracle.d.ts.map +1 -0
- package/dest/oracle/txe_private_execution_oracle.js +15 -0
- package/dest/rpc_server.d.ts +14 -0
- package/dest/rpc_server.d.ts.map +1 -0
- package/dest/rpc_server.js +78 -0
- package/dest/rpc_translator.d.ts +111 -233
- package/dest/rpc_translator.d.ts.map +1 -1
- package/dest/rpc_translator.js +759 -636
- package/dest/server.bundle.js +3 -0
- package/dest/server.bundle.js.map +7 -0
- package/dest/state_machine/archiver.d.ts +4 -3
- package/dest/state_machine/archiver.d.ts.map +1 -1
- package/dest/state_machine/archiver.js +24 -14
- package/dest/state_machine/dummy_p2p_client.d.ts +15 -7
- package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
- package/dest/state_machine/dummy_p2p_client.js +22 -4
- package/dest/state_machine/global_variable_builder.d.ts +10 -6
- package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
- package/dest/state_machine/global_variable_builder.js +8 -5
- package/dest/state_machine/index.d.ts +9 -6
- package/dest/state_machine/index.d.ts.map +1 -1
- package/dest/state_machine/index.js +45 -12
- package/dest/state_machine/mock_epoch_cache.d.ts +1 -2
- package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -1
- package/dest/state_machine/mock_epoch_cache.js +0 -3
- package/dest/state_machine/synchronizer.d.ts +3 -2
- package/dest/state_machine/synchronizer.d.ts.map +1 -1
- package/dest/state_machine/synchronizer.js +4 -3
- package/dest/txe_session.d.ts +89 -20
- package/dest/txe_session.d.ts.map +1 -1
- package/dest/txe_session.js +289 -64
- package/dest/utils/block_creation.d.ts +2 -2
- package/dest/utils/block_creation.d.ts.map +1 -1
- package/dest/utils/block_creation.js +2 -2
- package/dest/utils/encoding.d.ts +191 -0
- package/dest/utils/encoding.d.ts.map +1 -0
- package/dest/{util → utils}/encoding.js +7 -2
- package/dest/{util → utils}/expected_failure_error.d.ts +1 -1
- package/dest/utils/expected_failure_error.d.ts.map +1 -0
- package/dest/{util → utils}/txe_account_store.d.ts +1 -1
- package/dest/utils/txe_account_store.d.ts.map +1 -0
- package/dest/utils/txe_artifact_resolver.d.ts +37 -0
- package/dest/utils/txe_artifact_resolver.d.ts.map +1 -0
- package/dest/utils/txe_artifact_resolver.js +161 -0
- package/dest/utils/txe_public_contract_data_source.d.ts +20 -0
- package/dest/utils/txe_public_contract_data_source.d.ts.map +1 -0
- package/dest/{util → utils}/txe_public_contract_data_source.js +1 -3
- package/dest/worker.bundle.js +3 -0
- package/dest/worker.bundle.js.map +7 -0
- package/dest/worker.d.ts +2 -0
- package/dest/worker.d.ts.map +1 -0
- package/dest/worker.js +92 -0
- package/package.json +38 -21
- package/src/bin/check_txe_oracle_version.ts +70 -0
- package/src/bin/index.ts +11 -2
- package/src/bin/oracle_test_server.ts +51 -0
- package/src/constants.ts +11 -1
- package/src/dispatcher_pool.ts +317 -0
- package/src/index.ts +97 -227
- package/src/msgpackr_fr_extension.ts +23 -0
- package/src/oracle/interfaces.ts +35 -7
- package/src/oracle/test-resolver/default_fixtures.ts +226 -0
- package/src/oracle/test-resolver/index.ts +44 -0
- package/src/oracle/test-resolver/resolver.ts +198 -0
- package/src/oracle/txe_oracle_public_context.ts +60 -0
- package/src/oracle/txe_oracle_registry.ts +494 -0
- package/src/oracle/txe_oracle_top_level_context.ts +245 -81
- package/src/oracle/txe_oracle_version.ts +17 -0
- package/src/oracle/txe_private_execution_oracle.ts +30 -0
- package/src/rpc_server.ts +87 -0
- package/src/rpc_translator.ts +845 -905
- package/src/state_machine/archiver.ts +37 -16
- package/src/state_machine/dummy_p2p_client.ts +40 -11
- package/src/state_machine/global_variable_builder.ts +12 -11
- package/src/state_machine/index.ts +44 -30
- package/src/state_machine/mock_epoch_cache.ts +0 -4
- package/src/state_machine/synchronizer.ts +4 -3
- package/src/txe_session.ts +496 -80
- package/src/utils/block_creation.ts +2 -1
- package/src/{util → utils}/encoding.ts +8 -2
- package/src/utils/txe_artifact_resolver.ts +217 -0
- package/src/{util → utils}/txe_public_contract_data_source.ts +0 -2
- package/src/worker.ts +98 -0
- package/dest/util/encoding.d.ts +0 -720
- package/dest/util/encoding.d.ts.map +0 -1
- package/dest/util/expected_failure_error.d.ts.map +0 -1
- package/dest/util/txe_account_store.d.ts.map +0 -1
- package/dest/util/txe_public_contract_data_source.d.ts +0 -20
- package/dest/util/txe_public_contract_data_source.d.ts.map +0 -1
- /package/dest/{util → utils}/expected_failure_error.js +0 -0
- /package/dest/{util → utils}/txe_account_store.js +0 -0
- /package/src/{util → utils}/expected_failure_error.ts +0 -0
- /package/src/{util → utils}/txe_account_store.ts +0 -0
|
@@ -3,9 +3,9 @@ import { type EpochNumber, type SlotNumber } from '@aztec/foundation/branded-typ
|
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
5
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
6
|
-
import type
|
|
6
|
+
import { type L2Tips, type ValidateCheckpointResult } from '@aztec/stdlib/block';
|
|
7
7
|
import type { PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
8
|
-
import type
|
|
8
|
+
import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
9
9
|
/**
|
|
10
10
|
* TXE Archiver implementation.
|
|
11
11
|
* Provides most of the endpoints needed by the node for reading from and writing to state,
|
|
@@ -27,5 +27,6 @@ export declare class TXEArchiver extends ArchiverDataSourceBase {
|
|
|
27
27
|
getSyncedL2EpochNumber(): Promise<EpochNumber | undefined>;
|
|
28
28
|
isEpochComplete(_epochNumber: EpochNumber): Promise<boolean>;
|
|
29
29
|
syncImmediate(): Promise<void>;
|
|
30
|
+
getL2ToL1MembershipWitness(): Promise<undefined>;
|
|
30
31
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZV9tYWNoaW5lL2FyY2hpdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBc0QsTUFBTSxpQkFBaUIsQ0FBQztBQUU3RyxPQUFPLEVBQW9CLEtBQUssV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUtMLEtBQUssTUFBTSxFQUNYLEtBQUssd0JBQXdCLEVBQzlCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQTBCLEtBQUssaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUc3Rjs7OztHQUlHO0FBQ0gscUJBQWEsV0FBWSxTQUFRLHNCQUFzQjtJQUNyRCxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBNkM7SUFFckUsWUFBWSxFQUFFLEVBQUUsaUJBQWlCLEVBUWhDO0lBRVksY0FBYyxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLHdCQUF3QixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFaEg7SUFFTSxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBRTdDO0lBRU0sa0JBQWtCLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUUvQztJQUVNLGNBQWMsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FJbEQ7SUFFTSxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFBRSxrQkFBa0IsRUFBRSxFQUFFLENBQUE7S0FBRSxDQUFDLENBRTdEO0lBRU0sY0FBYyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRW5EO0lBRVksU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FpQ3hDO0lBRU0scUJBQXFCLElBQUksT0FBTyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FFOUQ7SUFFTSxzQkFBc0IsSUFBSSxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUVoRTtJQUVNLGVBQWUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FFbEU7SUFFTSxhQUFhLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVwQztJQUVNLDBCQUEwQixJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHdEQ7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/state_machine/archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/state_machine/archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAsD,MAAM,iBAAiB,CAAC;AAE7G,OAAO,EAAoB,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACtG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAKL,KAAK,MAAM,EACX,KAAK,wBAAwB,EAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAG7F;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,sBAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IAErE,YAAY,EAAE,EAAE,iBAAiB,EAQhC;IAEY,cAAc,CAAC,WAAW,EAAE,mBAAmB,EAAE,EAAE,MAAM,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhH;IAEM,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC,CAE7C;IAEM,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CAE/C;IAEM,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAIlD;IAEM,gBAAgB,IAAI,OAAO,CAAC;QAAE,kBAAkB,EAAE,EAAE,CAAA;KAAE,CAAC,CAE7D;IAEM,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEnD;IAEY,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAiCxC;IAEM,qBAAqB,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAE9D;IAEM,sBAAsB,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAEhE;IAEM,eAAe,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAElE;IAEM,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpC;IAEM,0BAA0B,IAAI,OAAO,CAAC,SAAS,CAAC,CAGtD;CACF"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import { ArchiverDataSourceBase, ArchiverDataStoreUpdater,
|
|
1
|
+
import { ArchiverDataSourceBase, ArchiverDataStoreUpdater, createArchiverDataStores } from '@aztec/archiver';
|
|
2
2
|
import { GENESIS_ARCHIVE_ROOT } from '@aztec/constants';
|
|
3
3
|
import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
4
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
|
+
import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/stdlib/block';
|
|
6
|
+
import { EmptyL1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
7
|
+
import { BlockHeader } from '@aztec/stdlib/tx';
|
|
5
8
|
/**
|
|
6
9
|
* TXE Archiver implementation.
|
|
7
10
|
* Provides most of the endpoints needed by the node for reading from and writing to state,
|
|
8
11
|
* without needing any of the extra overhead that the Archiver itself requires (i.e. an L1 client).
|
|
9
12
|
*/ export class TXEArchiver extends ArchiverDataSourceBase {
|
|
10
|
-
updater = new ArchiverDataStoreUpdater(this.
|
|
13
|
+
updater = new ArchiverDataStoreUpdater(this.stores);
|
|
11
14
|
constructor(db){
|
|
12
|
-
|
|
13
|
-
super(store);
|
|
15
|
+
super(createArchiverDataStores(db, GENESIS_BLOCK_HEADER_HASH), undefined, BlockHeader.empty(), GENESIS_BLOCK_HEADER_HASH, new Fr(GENESIS_ARCHIVE_ROOT));
|
|
14
16
|
}
|
|
15
17
|
async addCheckpoints(checkpoints, result) {
|
|
16
18
|
await this.updater.addCheckpoints(checkpoints, result);
|
|
@@ -22,7 +24,9 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
22
24
|
throw new Error('TXE Archiver does not implement "getRegistryAddress"');
|
|
23
25
|
}
|
|
24
26
|
getL1Constants() {
|
|
25
|
-
|
|
27
|
+
// The TXE has no L1, so it serves the empty constants (epochDuration=1) used throughout the TXE state machine
|
|
28
|
+
// (see mock_epoch_cache). The node calls this when assembling a mined tx receipt to derive the epoch number.
|
|
29
|
+
return Promise.resolve(EmptyL1RollupConstants);
|
|
26
30
|
}
|
|
27
31
|
getGenesisValues() {
|
|
28
32
|
return Promise.resolve({
|
|
@@ -35,19 +39,21 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
35
39
|
async getL2Tips() {
|
|
36
40
|
// In TXE there is no possibility of reorgs and no blocks are ever getting proven so we just set 'latest', 'proven'
|
|
37
41
|
// and 'finalized' to the latest block.
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
40
|
-
throw new Error('L2Tips requested from TXE Archiver but no block
|
|
42
|
+
const latestBlockNumber = await this.stores.blocks.getLatestL2BlockNumber();
|
|
43
|
+
if (latestBlockNumber === 0) {
|
|
44
|
+
throw new Error('L2Tips requested from TXE Archiver but no block found');
|
|
41
45
|
}
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (!
|
|
46
|
-
throw new Error(
|
|
46
|
+
const latestBlockData = await this.stores.blocks.getBlockData({
|
|
47
|
+
number: latestBlockNumber
|
|
48
|
+
});
|
|
49
|
+
if (!latestBlockData) {
|
|
50
|
+
throw new Error('L2Tips requested from TXE Archiver but no block header found');
|
|
47
51
|
}
|
|
52
|
+
const number = latestBlockData.header.globalVariables.blockNumber;
|
|
53
|
+
const hash = latestBlockData.blockHash.toString();
|
|
48
54
|
// TXE uses 1-block-per-checkpoint for testing simplicity, so we can use block number as checkpoint number.
|
|
49
55
|
// This uses the deprecated fromBlockNumber method intentionally for the TXE testing environment.
|
|
50
|
-
const checkpoint = await this.
|
|
56
|
+
const checkpoint = await this.stores.blocks.getRangeOfCheckpoints(CheckpointNumber.fromBlockNumber(number), 1);
|
|
51
57
|
if (checkpoint.length === 0) {
|
|
52
58
|
throw new Error(`L2Tips requested from TXE Archiver but no checkpoint found for block number ${number}`);
|
|
53
59
|
}
|
|
@@ -82,4 +88,8 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
82
88
|
syncImmediate() {
|
|
83
89
|
throw new Error('TXE Archiver does not implement "syncImmediate"');
|
|
84
90
|
}
|
|
91
|
+
getL2ToL1MembershipWitness() {
|
|
92
|
+
// TXE doesn't drive the L2-to-L1 message flow through this archiver.
|
|
93
|
+
return Promise.resolve(undefined);
|
|
94
|
+
}
|
|
85
95
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import type { AuthRequest, ENR, P2P, P2PBlockReceivedCallback, P2PCheckpointReceivedCallback, P2PConfig, P2PDuplicateAttestationCallback, P2PDuplicateProposalCallback, P2PSyncState, PeerId, ReqRespSubProtocol, ReqRespSubProtocolHandler,
|
|
1
|
+
import type { CheckpointProposalHash, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import type { AuthRequest, ENR, P2P, P2PBlockReceivedCallback, P2PCheckpointAttestationCallback, P2PCheckpointReceivedCallback, P2PConfig, P2PDuplicateAttestationCallback, P2PDuplicateProposalCallback, P2POversizedProposalCallback, P2PSyncState, PeerId, ReqRespSubProtocol, ReqRespSubProtocolHandler, StatusMessage } from '@aztec/p2p';
|
|
3
3
|
import type { EthAddress, L2BlockStreamEvent, L2Tips } from '@aztec/stdlib/block';
|
|
4
4
|
import type { ITxProvider, PeerInfo } from '@aztec/stdlib/interfaces/server';
|
|
5
|
-
import type { BlockProposal, CheckpointAttestation, CheckpointProposal, TopicType } from '@aztec/stdlib/p2p';
|
|
5
|
+
import type { BlockProposal, CheckpointAttestation, CheckpointProposal, CheckpointProposalCore, TopicType } from '@aztec/stdlib/p2p';
|
|
6
6
|
import type { BlockHeader, Tx, TxHash } from '@aztec/stdlib/tx';
|
|
7
7
|
export declare class DummyP2P implements P2P {
|
|
8
8
|
validateTxsReceivedInBlockProposal(_txs: Tx[]): Promise<void>;
|
|
@@ -15,7 +15,8 @@ export declare class DummyP2P implements P2P {
|
|
|
15
15
|
broadcastCheckpointProposal(_proposal: CheckpointProposal): Promise<void>;
|
|
16
16
|
broadcastCheckpointAttestations(_attestations: CheckpointAttestation[]): Promise<void>;
|
|
17
17
|
registerBlockProposalHandler(_handler: P2PBlockReceivedCallback): void;
|
|
18
|
-
|
|
18
|
+
registerValidatorCheckpointProposalHandler(_handler: P2PCheckpointReceivedCallback): void;
|
|
19
|
+
registerAllNodesCheckpointProposalHandler(_handler: P2PCheckpointReceivedCallback): void;
|
|
19
20
|
requestTxs(_txHashes: TxHash[]): Promise<(Tx | undefined)[]>;
|
|
20
21
|
requestTxByHash(_txHash: TxHash): Promise<Tx | undefined>;
|
|
21
22
|
sendTx(_tx: Tx): Promise<void>;
|
|
@@ -35,8 +36,13 @@ export declare class DummyP2P implements P2P {
|
|
|
35
36
|
isP2PClient(): true;
|
|
36
37
|
getTxProvider(): ITxProvider;
|
|
37
38
|
getTxsByHash(_txHashes: TxHash[]): Promise<Tx[]>;
|
|
38
|
-
getCheckpointAttestationsForSlot(_slot: SlotNumber,
|
|
39
|
+
getCheckpointAttestationsForSlot(_slot: SlotNumber, _proposalPayloadHash?: CheckpointProposalHash): Promise<CheckpointAttestation[]>;
|
|
39
40
|
addOwnCheckpointAttestations(_attestations: CheckpointAttestation[]): Promise<void>;
|
|
41
|
+
getProposalsForSlot(_slot: SlotNumber): Promise<{
|
|
42
|
+
blockProposals: BlockProposal[];
|
|
43
|
+
checkpointProposals: CheckpointProposalCore[];
|
|
44
|
+
}>;
|
|
45
|
+
hasCheckpointProposalForSlot(_slot: SlotNumber): Promise<boolean>;
|
|
40
46
|
getL2BlockHash(_number: number): Promise<string | undefined>;
|
|
41
47
|
updateP2PConfig(_config: Partial<P2PConfig>): Promise<void>;
|
|
42
48
|
getL2Tips(): Promise<L2Tips>;
|
|
@@ -49,11 +55,13 @@ export declare class DummyP2P implements P2P {
|
|
|
49
55
|
getSyncedLatestSlot(): Promise<bigint>;
|
|
50
56
|
protectTxs(_txHashes: TxHash[], _blockHeader: BlockHeader): Promise<TxHash[]>;
|
|
51
57
|
prepareForSlot(_slotNumber: SlotNumber): Promise<void>;
|
|
52
|
-
addReqRespSubProtocol(_subProtocol: ReqRespSubProtocol, _handler: ReqRespSubProtocolHandler
|
|
58
|
+
addReqRespSubProtocol(_subProtocol: ReqRespSubProtocol, _handler: ReqRespSubProtocolHandler): Promise<void>;
|
|
53
59
|
handleAuthRequestFromPeer(_authRequest: AuthRequest, _peerId: PeerId): Promise<StatusMessage>;
|
|
54
60
|
registerThisValidatorAddresses(_address: EthAddress[]): void;
|
|
55
61
|
registerDuplicateProposalCallback(_callback: P2PDuplicateProposalCallback): void;
|
|
62
|
+
registerOversizedProposalCallback(_callback: P2POversizedProposalCallback): void;
|
|
56
63
|
registerDuplicateAttestationCallback(_callback: P2PDuplicateAttestationCallback): void;
|
|
64
|
+
registerCheckpointAttestationCallback(_callback: P2PCheckpointAttestationCallback): void;
|
|
57
65
|
hasBlockProposalsForSlot(_slot: SlotNumber): Promise<boolean>;
|
|
58
66
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtbXlfcDJwX2NsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRlX21hY2hpbmUvZHVtbXlfcDJwX2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRixPQUFPLEtBQUssRUFDVixXQUFXLEVBQ1gsR0FBRyxFQUNILEdBQUcsRUFDSCx3QkFBd0IsRUFDeEIsZ0NBQWdDLEVBQ2hDLDZCQUE2QixFQUM3QixTQUFTLEVBQ1QsK0JBQStCLEVBQy9CLDRCQUE0QixFQUM1Qiw0QkFBNEIsRUFDNUIsWUFBWSxFQUNaLE1BQU0sRUFDTixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLGFBQWEsRUFDZCxNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEYsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sS0FBSyxFQUNWLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixTQUFTLEVBQ1YsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhFLHFCQUFhLFFBQVMsWUFBVyxHQUFHO0lBQzNCLGtDQUFrQyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRW5FO0lBRU0sS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFNUI7SUFFTSxhQUFhLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBRXBDO0lBRU0sYUFBYSxJQUFJ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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dummy_p2p_client.d.ts","sourceRoot":"","sources":["../../src/state_machine/dummy_p2p_client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"dummy_p2p_client.d.ts","sourceRoot":"","sources":["../../src/state_machine/dummy_p2p_client.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,8 +29,11 @@ export class DummyP2P {
|
|
|
29
29
|
registerBlockProposalHandler(_handler) {
|
|
30
30
|
throw new Error('DummyP2P does not implement "registerBlockProposalHandler"');
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
throw new Error('DummyP2P does not implement "
|
|
32
|
+
registerValidatorCheckpointProposalHandler(_handler) {
|
|
33
|
+
throw new Error('DummyP2P does not implement "registerValidatorCheckpointProposalHandler"');
|
|
34
|
+
}
|
|
35
|
+
registerAllNodesCheckpointProposalHandler(_handler) {
|
|
36
|
+
throw new Error('DummyP2P does not implement "registerAllNodesCheckpointProposalHandler"');
|
|
34
37
|
}
|
|
35
38
|
requestTxs(_txHashes) {
|
|
36
39
|
throw new Error('DummyP2P does not implement "requestTxs"');
|
|
@@ -91,12 +94,21 @@ export class DummyP2P {
|
|
|
91
94
|
getTxsByHash(_txHashes) {
|
|
92
95
|
throw new Error('DummyP2P does not implement "getTxsByHash"');
|
|
93
96
|
}
|
|
94
|
-
getCheckpointAttestationsForSlot(_slot,
|
|
97
|
+
getCheckpointAttestationsForSlot(_slot, _proposalPayloadHash) {
|
|
95
98
|
throw new Error('DummyP2P does not implement "getCheckpointAttestationsForSlot"');
|
|
96
99
|
}
|
|
97
100
|
addOwnCheckpointAttestations(_attestations) {
|
|
98
101
|
throw new Error('DummyP2P does not implement "addOwnCheckpointAttestations"');
|
|
99
102
|
}
|
|
103
|
+
getProposalsForSlot(_slot) {
|
|
104
|
+
return Promise.resolve({
|
|
105
|
+
blockProposals: [],
|
|
106
|
+
checkpointProposals: []
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
hasCheckpointProposalForSlot(_slot) {
|
|
110
|
+
return Promise.resolve(false);
|
|
111
|
+
}
|
|
100
112
|
getL2BlockHash(_number) {
|
|
101
113
|
throw new Error('DummyP2P does not implement "getL2BlockHash"');
|
|
102
114
|
}
|
|
@@ -133,7 +145,7 @@ export class DummyP2P {
|
|
|
133
145
|
prepareForSlot(_slotNumber) {
|
|
134
146
|
return Promise.resolve();
|
|
135
147
|
}
|
|
136
|
-
addReqRespSubProtocol(_subProtocol, _handler
|
|
148
|
+
addReqRespSubProtocol(_subProtocol, _handler) {
|
|
137
149
|
throw new Error('DummyP2P does not implement "addReqRespSubProtocol".');
|
|
138
150
|
}
|
|
139
151
|
handleAuthRequestFromPeer(_authRequest, _peerId) {
|
|
@@ -144,9 +156,15 @@ export class DummyP2P {
|
|
|
144
156
|
registerDuplicateProposalCallback(_callback) {
|
|
145
157
|
throw new Error('DummyP2P does not implement "registerDuplicateProposalCallback"');
|
|
146
158
|
}
|
|
159
|
+
registerOversizedProposalCallback(_callback) {
|
|
160
|
+
throw new Error('DummyP2P does not implement "registerOversizedProposalCallback"');
|
|
161
|
+
}
|
|
147
162
|
registerDuplicateAttestationCallback(_callback) {
|
|
148
163
|
throw new Error('DummyP2P does not implement "registerDuplicateAttestationCallback"');
|
|
149
164
|
}
|
|
165
|
+
registerCheckpointAttestationCallback(_callback) {
|
|
166
|
+
throw new Error('DummyP2P does not implement "registerCheckpointAttestationCallback"');
|
|
167
|
+
}
|
|
150
168
|
hasBlockProposalsForSlot(_slot) {
|
|
151
169
|
throw new Error('DummyP2P does not implement "hasBlockProposalsForSlot"');
|
|
152
170
|
}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SimulationOverridesPlan } from '@aztec/ethereum/contracts';
|
|
2
|
+
import type { SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
3
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
4
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
5
|
import { GasFees } from '@aztec/stdlib/gas';
|
|
5
|
-
import {
|
|
6
|
-
|
|
6
|
+
import type { CheckpointGlobalVariables, FeeProvider, GlobalVariableBuilder } from '@aztec/stdlib/tx';
|
|
7
|
+
/** Simple FeeProvider for TXE that returns zero fees. */
|
|
8
|
+
export declare class TXEFeeProvider implements FeeProvider {
|
|
7
9
|
getCurrentMinFees(): Promise<GasFees>;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
getPredictedMinFees(): Promise<GasFees[]>;
|
|
11
|
+
}
|
|
12
|
+
export declare class TXEGlobalVariablesBuilder implements GlobalVariableBuilder {
|
|
13
|
+
buildCheckpointGlobalVariables(_coinbase: EthAddress, _feeRecipient: AztecAddress, _slotNumber: SlotNumber, _simulationOverridesPlan?: SimulationOverridesPlan): Promise<CheckpointGlobalVariables>;
|
|
10
14
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZV9tYWNoaW5lL2dsb2JhbF92YXJpYWJsZV9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFrQixPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU1RCxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0Ryx5REFBeUQ7QUFDekQscUJBQWEsY0FBZSxZQUFXLFdBQVc7SUFDekMsaUJBQWlCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUUzQztJQUVNLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUUvQztDQUNGO0FBRUQscUJBQWEseUJBQTBCLFlBQVcscUJBQXFCO0lBQzlELDhCQUE4QixDQUNuQyxTQUFTLEVBQUUsVUFBVSxFQUNyQixhQUFhLEVBQUUsWUFBWSxFQUMzQixXQUFXLEVBQUUsVUFBVSxFQUN2Qix3QkFBd0IsQ0FBQyxFQUFFLHVCQUF1QixHQUNqRCxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FXcEM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global_variable_builder.d.ts","sourceRoot":"","sources":["../../src/state_machine/global_variable_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"global_variable_builder.d.ts","sourceRoot":"","sources":["../../src/state_machine/global_variable_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAkB,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEtG,yDAAyD;AACzD,qBAAa,cAAe,YAAW,WAAW;IACzC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAE3C;IAEM,mBAAmB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAE/C;CACF;AAED,qBAAa,yBAA0B,YAAW,qBAAqB;IAC9D,8BAA8B,CACnC,SAAS,EAAE,UAAU,EACrB,aAAa,EAAE,YAAY,EAC3B,WAAW,EAAE,UAAU,EACvB,wBAAwB,CAAC,EAAE,uBAAuB,GACjD,OAAO,CAAC,yBAAyB,CAAC,CAWpC;CACF"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { times } from '@aztec/foundation/collection';
|
|
2
|
+
import { FEE_ORACLE_LAG, GasFees } from '@aztec/stdlib/gas';
|
|
2
3
|
import { makeGlobalVariables } from '@aztec/stdlib/testing';
|
|
3
|
-
export class
|
|
4
|
+
/** Simple FeeProvider for TXE that returns zero fees. */ export class TXEFeeProvider {
|
|
4
5
|
getCurrentMinFees() {
|
|
5
6
|
return Promise.resolve(new GasFees(0, 0));
|
|
6
7
|
}
|
|
7
|
-
|
|
8
|
-
return Promise.resolve(
|
|
8
|
+
getPredictedMinFees() {
|
|
9
|
+
return Promise.resolve(times(FEE_ORACLE_LAG, ()=>new GasFees(0, 0)));
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
+
}
|
|
12
|
+
export class TXEGlobalVariablesBuilder {
|
|
13
|
+
buildCheckpointGlobalVariables(_coinbase, _feeRecipient, _slotNumber, _simulationOverridesPlan) {
|
|
11
14
|
const vars = makeGlobalVariables();
|
|
12
15
|
return Promise.resolve({
|
|
13
16
|
chainId: vars.chainId,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
1
2
|
import { type AnchorBlockStore, type ContractStore, ContractSyncService, type NoteStore } from '@aztec/pxe/server';
|
|
2
|
-
import {
|
|
3
|
-
import { L2Block } from '@aztec/stdlib/block';
|
|
3
|
+
import { TxResolverService } from '@aztec/pxe/simulator';
|
|
4
|
+
import { L2Block, type L2TipsProvider } from '@aztec/stdlib/block';
|
|
4
5
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
5
6
|
import { TXEArchiver } from './archiver.js';
|
|
6
7
|
import { TXESynchronizer } from './synchronizer.js';
|
|
@@ -10,9 +11,11 @@ export declare class TXEStateMachine {
|
|
|
10
11
|
archiver: TXEArchiver;
|
|
11
12
|
anchorBlockStore: AnchorBlockStore;
|
|
12
13
|
contractSyncService: ContractSyncService;
|
|
13
|
-
|
|
14
|
-
constructor(node: AztecNode, synchronizer: TXESynchronizer, archiver: TXEArchiver, anchorBlockStore: AnchorBlockStore, contractSyncService: ContractSyncService,
|
|
14
|
+
txResolver: TxResolverService;
|
|
15
|
+
constructor(node: AztecNode, synchronizer: TXESynchronizer, archiver: TXEArchiver, anchorBlockStore: AnchorBlockStore, contractSyncService: ContractSyncService, txResolver: TxResolverService);
|
|
15
16
|
static create(archiver: TXEArchiver, anchorBlockStore: AnchorBlockStore, contractStore: ContractStore, noteStore: NoteStore): Promise<TXEStateMachine>;
|
|
16
|
-
|
|
17
|
+
/** Returns an {@link L2TipsProvider} backed by this node's chain tips. */
|
|
18
|
+
get l2TipsProvider(): L2TipsProvider;
|
|
19
|
+
handleL2Block(block: L2Block, l1ToL2Messages?: Fr[]): Promise<void>;
|
|
17
20
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZV9tYWNoaW5lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxLQUFLLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxLQUFLLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVFwRCxxQkFBYSxlQUFlO0lBRWpCLElBQUksRUFBRSxTQUFTO0lBQ2YsWUFBWSxFQUFFLGVBQWU7SUFDN0IsUUFBUSxFQUFFLFdBQVc7SUFDckIsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQ2xDLG1CQUFtQixFQUFFLG1CQUFtQjtJQUN4QyxVQUFVLEVBQUUsaUJBQWlCO0lBTnRDLFlBQ1MsSUFBSSxFQUFFLFNBQVMsRUFDZixZQUFZLEVBQUUsZUFBZSxFQUM3QixRQUFRLEVBQUUsV0FBVyxFQUNyQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQ3hDLFVBQVUsRUFBRSxpQkFBaUIsRUFDbEM7SUFFSixPQUFvQixNQUFNLENBQ3hCLFFBQVEsRUFBRSxXQUFXLEVBQ3JCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxhQUFhLEVBQUUsYUFBYSxFQUM1QixTQUFTLEVBQUUsU0FBUyw0QkEwQ3JCO0lBRUQsMEVBQTBFO0lBQzFFLElBQVcsY0FBYyxJQUFJLGNBQWMsQ0FLMUM7SUFFWSxhQUFhLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxjQUFjLEdBQUUsRUFBRSxFQUFPLGlCQTBDbkU7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state_machine/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state_machine/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,mBAAmB,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAQpD,qBAAa,eAAe;IAEjB,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,eAAe;IAC7B,QAAQ,EAAE,WAAW;IACrB,gBAAgB,EAAE,gBAAgB;IAClC,mBAAmB,EAAE,mBAAmB;IACxC,UAAU,EAAE,iBAAiB;IANtC,YACS,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,WAAW,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,iBAAiB,EAClC;IAEJ,OAAoB,MAAM,CACxB,QAAQ,EAAE,WAAW,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,4BA0CrB;IAED,0EAA0E;IAC1E,IAAW,cAAc,IAAI,cAAc,CAK1C;IAEY,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,GAAE,EAAE,EAAO,iBA0CnE;CACF"}
|
|
@@ -4,41 +4,73 @@ import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
|
4
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
5
|
import { createLogger } from '@aztec/foundation/log';
|
|
6
6
|
import { ContractSyncService } from '@aztec/pxe/server';
|
|
7
|
-
import {
|
|
7
|
+
import { TxResolverService } from '@aztec/pxe/simulator';
|
|
8
8
|
import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
9
9
|
import { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
10
|
-
import { getPackageVersion } from '@aztec/stdlib/update-checker';
|
|
11
10
|
import { DummyP2P } from './dummy_p2p_client.js';
|
|
12
|
-
import { TXEGlobalVariablesBuilder } from './global_variable_builder.js';
|
|
11
|
+
import { TXEFeeProvider, TXEGlobalVariablesBuilder } from './global_variable_builder.js';
|
|
13
12
|
import { MockEpochCache } from './mock_epoch_cache.js';
|
|
14
13
|
import { TXESynchronizer } from './synchronizer.js';
|
|
15
14
|
const VERSION = 1;
|
|
16
15
|
const CHAIN_ID = 1;
|
|
16
|
+
// Hardcoded so the bundled TXE doesn't try to read stdlib's package.json at a relative path
|
|
17
|
+
// that becomes invalid once bundled
|
|
18
|
+
const PACKAGE_VERSION = 'txe';
|
|
17
19
|
export class TXEStateMachine {
|
|
18
20
|
node;
|
|
19
21
|
synchronizer;
|
|
20
22
|
archiver;
|
|
21
23
|
anchorBlockStore;
|
|
22
24
|
contractSyncService;
|
|
23
|
-
|
|
24
|
-
constructor(node, synchronizer, archiver, anchorBlockStore, contractSyncService,
|
|
25
|
+
txResolver;
|
|
26
|
+
constructor(node, synchronizer, archiver, anchorBlockStore, contractSyncService, txResolver){
|
|
25
27
|
this.node = node;
|
|
26
28
|
this.synchronizer = synchronizer;
|
|
27
29
|
this.archiver = archiver;
|
|
28
30
|
this.anchorBlockStore = anchorBlockStore;
|
|
29
31
|
this.contractSyncService = contractSyncService;
|
|
30
|
-
this.
|
|
32
|
+
this.txResolver = txResolver;
|
|
31
33
|
}
|
|
32
34
|
static async create(archiver, anchorBlockStore, contractStore, noteStore) {
|
|
33
35
|
const synchronizer = await TXESynchronizer.create();
|
|
34
36
|
const aztecNodeConfig = {};
|
|
35
37
|
const log = createLogger('txe_node');
|
|
36
|
-
const node = new AztecNodeService(
|
|
38
|
+
const node = new AztecNodeService({
|
|
39
|
+
config: aztecNodeConfig,
|
|
40
|
+
p2pClient: new DummyP2P(),
|
|
41
|
+
blockSource: archiver,
|
|
42
|
+
logsSource: archiver,
|
|
43
|
+
contractDataSource: archiver,
|
|
44
|
+
l1ToL2MessageSource: archiver,
|
|
45
|
+
worldStateSynchronizer: synchronizer,
|
|
46
|
+
sequencer: undefined,
|
|
47
|
+
proverNode: undefined,
|
|
48
|
+
slasherClient: undefined,
|
|
49
|
+
validatorsSentinel: undefined,
|
|
50
|
+
stopStartedWatchers: async ()=>{},
|
|
51
|
+
l1ChainId: CHAIN_ID,
|
|
52
|
+
version: VERSION,
|
|
53
|
+
globalVariableBuilder: new TXEGlobalVariablesBuilder(),
|
|
54
|
+
rollupContract: undefined,
|
|
55
|
+
feeProvider: new TXEFeeProvider(),
|
|
56
|
+
epochCache: new MockEpochCache(),
|
|
57
|
+
packageVersion: PACKAGE_VERSION,
|
|
58
|
+
peerProofVerifier: new TestCircuitVerifier(),
|
|
59
|
+
rpcProofVerifier: new TestCircuitVerifier(),
|
|
60
|
+
telemetry: undefined,
|
|
61
|
+
log
|
|
62
|
+
});
|
|
37
63
|
const contractSyncService = new ContractSyncService(node, contractStore, noteStore, createLogger('txe:contract_sync'));
|
|
38
|
-
const
|
|
39
|
-
return new this(node, synchronizer, archiver, anchorBlockStore, contractSyncService,
|
|
64
|
+
const txResolver = new TxResolverService(node);
|
|
65
|
+
return new this(node, synchronizer, archiver, anchorBlockStore, contractSyncService, txResolver);
|
|
40
66
|
}
|
|
41
|
-
|
|
67
|
+
/** Returns an {@link L2TipsProvider} backed by this node's chain tips. */ get l2TipsProvider() {
|
|
68
|
+
const node = this.node;
|
|
69
|
+
return {
|
|
70
|
+
getL2Tips: ()=>node.getChainTips()
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
async handleL2Block(block, l1ToL2Messages = []) {
|
|
42
74
|
// Create a checkpoint from the block manually.
|
|
43
75
|
// TXE uses 1-block-per-checkpoint for testing simplicity, so we can use block number as checkpoint number.
|
|
44
76
|
// This uses the deprecated fromBlockNumber method intentionally for the TXE testing environment.
|
|
@@ -54,7 +86,8 @@ export class TXEStateMachine {
|
|
|
54
86
|
coinbase: block.header.globalVariables.coinbase,
|
|
55
87
|
feeRecipient: block.header.globalVariables.feeRecipient,
|
|
56
88
|
gasFees: block.header.globalVariables.gasFees,
|
|
57
|
-
totalManaUsed: block.header.totalManaUsed
|
|
89
|
+
totalManaUsed: block.header.totalManaUsed,
|
|
90
|
+
accumulatedFees: block.header.totalFees
|
|
58
91
|
}), [
|
|
59
92
|
block
|
|
60
93
|
], checkpointNumber);
|
|
@@ -62,7 +95,7 @@ export class TXEStateMachine {
|
|
|
62
95
|
// Wipe contract sync cache when anchor block changes (mirrors BlockSynchronizer behavior)
|
|
63
96
|
this.contractSyncService.wipe();
|
|
64
97
|
await Promise.all([
|
|
65
|
-
this.synchronizer.handleL2Block(block),
|
|
98
|
+
this.synchronizer.handleL2Block(block, l1ToL2Messages),
|
|
66
99
|
this.archiver.addCheckpoints([
|
|
67
100
|
publishedCheckpoint
|
|
68
101
|
], undefined),
|
|
@@ -21,7 +21,6 @@ export declare class MockEpochCache implements EpochCacheInterface {
|
|
|
21
21
|
getTargetEpochAndSlotInNextL1Slot(): EpochAndSlot & {
|
|
22
22
|
nowSeconds: bigint;
|
|
23
23
|
};
|
|
24
|
-
isProposerPipeliningEnabled(): boolean;
|
|
25
24
|
getProposerIndexEncoding(_epoch: EpochNumber, _slot: SlotNumber, _seed: bigint): `0x${string}`;
|
|
26
25
|
computeProposerIndex(_slot: SlotNumber, _epoch: EpochNumber, _seed: bigint, _size: bigint): bigint;
|
|
27
26
|
getCurrentAndNextSlot(): {
|
|
@@ -40,4 +39,4 @@ export declare class MockEpochCache implements EpochCacheInterface {
|
|
|
40
39
|
isEscapeHatchOpenAtSlot(_slot: SlotTag): Promise<boolean>;
|
|
41
40
|
getL1Constants(): L1RollupConstants;
|
|
42
41
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19lcG9jaF9jYWNoZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRlX21hY2hpbmUvbW9ja19lcG9jaF9jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUEwQixLQUFLLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFN0Y7OztHQUdHO0FBQ0gscUJBQWEsY0FBZSxZQUFXLG1CQUFtQjtJQUN4RCxZQUFZLENBQUMsS0FBSyxHQUFFLE9BQWUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FPaEU7SUFFRCxVQUFVLElBQUksVUFBVSxDQUV2QjtJQUVELGFBQWEsSUFBSSxVQUFVLENBRTFCO0lBRUQsV0FBVyxJQUFJLFdBQVcsQ0FFekI7SUFFRCxjQUFjLElBQUksV0FBVyxDQUU1QjtJQUVELGtCQUFrQixJQUFJLFlBQVksR0FBRztRQUFFLEtBQUssRUFBRSxNQUFNLENBQUE7S0FBRSxDQU9yRDtJQUVELDJCQUEyQixJQUFJLFlBQVksR0FBRztRQUFFLFVBQVUsRUFBRSxNQUFNLENBQUE7S0FBRSxDQU9uRTtJQUVELGlDQUFpQyxJQUFJLFlBQVksR0FBRztRQUFFLFVBQVUsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUV6RTtJQUVELHdCQUF3QixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLEtBQUssTUFBTSxFQUFFLENBRTdGO0lBRUQsb0JBQW9CLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBRWpHO0lBRUQscUJBQXFCLElBQUk7UUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDO1FBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQTtLQUFFLENBS3pFO0lBRUQsb0JBQW9CLElBQUk7UUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDO1FBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQTtLQUFFLENBS3ZFO0lBRUQsZ0NBQWdDLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxDQUVuRjtJQUVELGFBQWEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUV0RTtJQUVELHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUUvQztJQUVELGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUVsRjtJQUVELGlCQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUV2RDtJQUVELHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUV4RDtJQUVELGNBQWMsSUFBSSxpQkFBaUIsQ0FFbEM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock_epoch_cache.d.ts","sourceRoot":"","sources":["../../src/state_machine/mock_epoch_cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACzG,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAE7F;;;GAGG;AACH,qBAAa,cAAe,YAAW,mBAAmB;IACxD,YAAY,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAOhE;IAED,UAAU,IAAI,UAAU,CAEvB;IAED,aAAa,IAAI,UAAU,CAE1B;IAED,WAAW,IAAI,WAAW,CAEzB;IAED,cAAc,IAAI,WAAW,CAE5B;IAED,kBAAkB,IAAI,YAAY,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAOrD;IAED,2BAA2B,IAAI,YAAY,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAOnE;IAED,iCAAiC,IAAI,YAAY,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAEzE;IAED,
|
|
1
|
+
{"version":3,"file":"mock_epoch_cache.d.ts","sourceRoot":"","sources":["../../src/state_machine/mock_epoch_cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACzG,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAE7F;;;GAGG;AACH,qBAAa,cAAe,YAAW,mBAAmB;IACxD,YAAY,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAOhE;IAED,UAAU,IAAI,UAAU,CAEvB;IAED,aAAa,IAAI,UAAU,CAE1B;IAED,WAAW,IAAI,WAAW,CAEzB;IAED,cAAc,IAAI,WAAW,CAE5B;IAED,kBAAkB,IAAI,YAAY,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAOrD;IAED,2BAA2B,IAAI,YAAY,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAOnE;IAED,iCAAiC,IAAI,YAAY,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAEzE;IAED,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAE7F;IAED,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjG;IAED,qBAAqB,IAAI;QAAE,WAAW,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,CAKzE;IAED,oBAAoB,IAAI;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,CAKvE;IAED,gCAAgC,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAEnF;IAED,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAEtE;IAED,uBAAuB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAE/C;IAED,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAElF;IAED,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAEvD;IAED,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAExD;IAED,cAAc,IAAI,iBAAiB,CAElC;CACF"}
|
|
@@ -43,9 +43,6 @@ import { EmptyL1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
|
43
43
|
getTargetEpochAndSlotInNextL1Slot() {
|
|
44
44
|
return this.getEpochAndSlotInNextL1Slot();
|
|
45
45
|
}
|
|
46
|
-
isProposerPipeliningEnabled() {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
46
|
getProposerIndexEncoding(_epoch, _slot, _seed) {
|
|
50
47
|
return '0x00';
|
|
51
48
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
3
|
import type { BlockHash, L2Block } from '@aztec/stdlib/block';
|
|
3
4
|
import type { MerkleTreeReadOperations, MerkleTreeWriteOperations, SnapshotDataKeys, WorldStateSynchronizer, WorldStateSynchronizerStatus } from '@aztec/stdlib/interfaces/server';
|
|
4
5
|
import { NativeWorldStateService } from '@aztec/world-state/native';
|
|
@@ -7,7 +8,7 @@ export declare class TXESynchronizer implements WorldStateSynchronizer {
|
|
|
7
8
|
private blockNumber;
|
|
8
9
|
constructor(nativeWorldStateService: NativeWorldStateService);
|
|
9
10
|
static create(): Promise<TXESynchronizer>;
|
|
10
|
-
handleL2Block(block: L2Block): Promise<void>;
|
|
11
|
+
handleL2Block(block: L2Block, l1ToL2Messages?: Fr[]): Promise<void>;
|
|
11
12
|
/**
|
|
12
13
|
* Forces an immediate sync to an optionally provided minimum block number.
|
|
13
14
|
* @param targetBlockNumber - The target block number that we must sync to. Will download unproven blocks if needed to reach it.
|
|
@@ -30,4 +31,4 @@ export declare class TXESynchronizer implements WorldStateSynchronizer {
|
|
|
30
31
|
resumeSync(): void;
|
|
31
32
|
clear(): Promise<void>;
|
|
32
33
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY2hyb25pemVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdGVfbWFjaGluZS9zeW5jaHJvbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQ1Ysd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLDRCQUE0QixFQUM3QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBFLHFCQUFhLGVBQWdCLFlBQVcsc0JBQXNCO0lBSXpDLHVCQUF1QixFQUFFLHVCQUF1QjtJQUZuRSxPQUFPLENBQUMsV0FBVyxDQUFvQjtJQUV2QyxZQUFtQix1QkFBdUIsRUFBRSx1QkFBdUIsRUFBSTtJQUV2RSxPQUFhLE1BQU0sNkJBSWxCO0lBRVksYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsY0FBYyxHQUFFLEVBQUUsRUFBTyxpQkFPbkU7SUFFRDs7Ozs7T0FLRztJQUNJLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQUUsU0FBUyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FFaEc7SUFFRCwrRkFBK0Y7SUFDeEYsWUFBWSxJQUFJLHdCQUF3QixDQUU5QztJQUVELHFGQUFxRjtJQUM5RSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUU5RDtJQUVELHVGQUF1RjtJQUNoRixXQUFXLENBQUMsV0FBVyxFQUFFLE1BQU0sR0FBRyx3QkFBd0IsQ0FFaEU7SUFFRCx5Q0FBeUM7SUFDbEMsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBRWxIO0lBRU0sS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFNUI7SUFFTSxNQUFNLElBQUksT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBRXJEO0lBRU0sSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFM0I7SUFFTSxRQUFRLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUUvQjtJQUVNLFVBQVUsSUFBSSxJQUFJLENBRXhCO0lBRU0sS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFNUI7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronizer.d.ts","sourceRoot":"","sources":["../../src/state_machine/synchronizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,eAAgB,YAAW,sBAAsB;IAIzC,uBAAuB,EAAE,uBAAuB;IAFnE,OAAO,CAAC,WAAW,CAAoB;IAEvC,YAAmB,uBAAuB,EAAE,uBAAuB,EAAI;IAEvE,OAAa,MAAM,6BAIlB;IAEY,aAAa,CAAC,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"synchronizer.d.ts","sourceRoot":"","sources":["../../src/state_machine/synchronizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,eAAgB,YAAW,sBAAsB;IAIzC,uBAAuB,EAAE,uBAAuB;IAFnE,OAAO,CAAC,WAAW,CAAoB;IAEvC,YAAmB,uBAAuB,EAAE,uBAAuB,EAAI;IAEvE,OAAa,MAAM,6BAIlB;IAEY,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,GAAE,EAAE,EAAO,iBAOnE;IAED;;;;;OAKG;IACI,aAAa,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAEhG;IAED,+FAA+F;IACxF,YAAY,IAAI,wBAAwB,CAE9C;IAED,qFAAqF;IAC9E,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAE9D;IAED,uFAAuF;IAChF,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB,CAEhE;IAED,yCAAyC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,CAElH;IAEM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5B;IAEM,MAAM,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAErD;IAEM,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAEM,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAE/B;IAEM,UAAU,IAAI,IAAI,CAExB;IAEM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5B;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/constants';
|
|
2
2
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
3
|
+
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
3
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
5
|
import { NativeWorldStateService } from '@aztec/world-state/native';
|
|
5
6
|
export class TXESynchronizer {
|
|
@@ -11,11 +12,11 @@ export class TXESynchronizer {
|
|
|
11
12
|
this.blockNumber = BlockNumber.ZERO;
|
|
12
13
|
}
|
|
13
14
|
static async create() {
|
|
14
|
-
const nativeWorldStateService = await NativeWorldStateService.
|
|
15
|
+
const nativeWorldStateService = await NativeWorldStateService.ephemeral();
|
|
15
16
|
return new this(nativeWorldStateService);
|
|
16
17
|
}
|
|
17
|
-
async handleL2Block(block) {
|
|
18
|
-
await this.nativeWorldStateService.handleL2BlockAndMessages(block,
|
|
18
|
+
async handleL2Block(block, l1ToL2Messages = []) {
|
|
19
|
+
await this.nativeWorldStateService.handleL2BlockAndMessages(block, padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP));
|
|
19
20
|
this.blockNumber = block.header.globalVariables.blockNumber;
|
|
20
21
|
}
|
|
21
22
|
/**
|