@aztec/txe 0.0.1-commit.f2ce05ee → 0.0.1-commit.f5d02921e
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/index.d.ts +1 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +88 -54
- package/dest/oracle/interfaces.d.ts +29 -28
- package/dest/oracle/interfaces.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_public_context.d.ts +13 -13
- package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_public_context.js +12 -12
- package/dest/oracle/txe_oracle_top_level_context.d.ts +23 -23
- package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_top_level_context.js +112 -54
- package/dest/rpc_translator.d.ts +87 -82
- package/dest/rpc_translator.d.ts.map +1 -1
- package/dest/rpc_translator.js +285 -152
- package/dest/state_machine/archiver.d.ts +3 -3
- package/dest/state_machine/archiver.d.ts.map +1 -1
- package/dest/state_machine/archiver.js +7 -8
- package/dest/state_machine/dummy_p2p_client.d.ts +16 -12
- package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
- package/dest/state_machine/dummy_p2p_client.js +28 -16
- package/dest/state_machine/global_variable_builder.d.ts +3 -3
- package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
- package/dest/state_machine/global_variable_builder.js +1 -1
- package/dest/state_machine/index.d.ts +6 -3
- package/dest/state_machine/index.d.ts.map +1 -1
- package/dest/state_machine/index.js +9 -5
- package/dest/state_machine/mock_epoch_cache.d.ts +17 -3
- package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -1
- package/dest/state_machine/mock_epoch_cache.js +32 -2
- package/dest/state_machine/synchronizer.d.ts +5 -5
- package/dest/state_machine/synchronizer.d.ts.map +1 -1
- package/dest/state_machine/synchronizer.js +3 -3
- package/dest/txe_session.d.ts +10 -6
- package/dest/txe_session.d.ts.map +1 -1
- package/dest/txe_session.js +90 -25
- package/dest/util/encoding.d.ts +69 -1
- package/dest/util/encoding.d.ts.map +1 -1
- package/dest/util/txe_public_contract_data_source.d.ts +2 -3
- package/dest/util/txe_public_contract_data_source.d.ts.map +1 -1
- package/dest/util/txe_public_contract_data_source.js +6 -25
- package/package.json +15 -15
- package/src/index.ts +89 -52
- package/src/oracle/interfaces.ts +32 -31
- package/src/oracle/txe_oracle_public_context.ts +12 -12
- package/src/oracle/txe_oracle_top_level_context.ts +118 -92
- package/src/rpc_translator.ts +332 -174
- package/src/state_machine/archiver.ts +6 -5
- package/src/state_machine/dummy_p2p_client.ts +39 -22
- package/src/state_machine/global_variable_builder.ts +7 -1
- package/src/state_machine/index.ts +10 -1
- package/src/state_machine/mock_epoch_cache.ts +42 -3
- package/src/state_machine/synchronizer.ts +4 -4
- package/src/txe_session.ts +102 -73
- package/src/util/txe_public_contract_data_source.ts +10 -38
- package/dest/util/txe_contract_store.d.ts +0 -12
- package/dest/util/txe_contract_store.d.ts.map +0 -1
- package/dest/util/txe_contract_store.js +0 -22
- package/src/util/txe_contract_store.ts +0 -36
|
@@ -23,9 +23,9 @@ export declare class TXEArchiver extends ArchiverDataSourceBase {
|
|
|
23
23
|
}>;
|
|
24
24
|
getL1Timestamp(): Promise<bigint | undefined>;
|
|
25
25
|
getL2Tips(): Promise<L2Tips>;
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
getSyncedL2SlotNumber(): Promise<SlotNumber | undefined>;
|
|
27
|
+
getSyncedL2EpochNumber(): Promise<EpochNumber | undefined>;
|
|
28
28
|
isEpochComplete(_epochNumber: EpochNumber): Promise<boolean>;
|
|
29
29
|
syncImmediate(): Promise<void>;
|
|
30
30
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZV9tYWNoaW5lL2FyY2hpdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBaUQsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RyxPQUFPLEVBQW9CLEtBQUssV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQW9DLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlHLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRTs7OztHQUlHO0FBQ0gscUJBQWEsV0FBWSxTQUFRLHNCQUFzQjtJQUNyRCxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBNEM7SUFFcEUsWUFBWSxFQUFFLEVBQUUsaUJBQWlCLEVBR2hDO0lBRVksY0FBYyxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLHdCQUF3QixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFaEg7SUFFTSxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBRTdDO0lBRU0sa0JBQWtCLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUUvQztJQUVNLGNBQWMsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FFbEQ7SUFFTSxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFBRSxrQkFBa0IsRUFBRSxFQUFFLENBQUE7S0FBRSxDQUFDLENBRTdEO0lBRU0sY0FBYyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRW5EO0lBRVksU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FpQ3hDO0lBRU0scUJBQXFCLElBQUksT0FBTyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FFOUQ7SUFFTSxzQkFBc0IsSUFBSSxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUVoRTtJQUVNLGVBQWUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FFbEU7SUFFTSxhQUFhLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVwQztDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/state_machine/archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAiD,MAAM,iBAAiB,CAAC;AAExG,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,KAAK,EAAoC,MAAM,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,sBAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IAEpE,YAAY,EAAE,EAAE,iBAAiB,EAGhC;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,CAElD;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,
|
|
1
|
+
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/state_machine/archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAiD,MAAM,iBAAiB,CAAC;AAExG,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,KAAK,EAAoC,MAAM,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,sBAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IAEpE,YAAY,EAAE,EAAE,iBAAiB,EAGhC;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,CAElD;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;CACF"}
|
|
@@ -9,9 +9,7 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
9
9
|
*/ export class TXEArchiver extends ArchiverDataSourceBase {
|
|
10
10
|
updater = new ArchiverDataStoreUpdater(this.store);
|
|
11
11
|
constructor(db){
|
|
12
|
-
const store = new KVArchiverDataStore(db, 9999
|
|
13
|
-
epochDuration: 32
|
|
14
|
-
});
|
|
12
|
+
const store = new KVArchiverDataStore(db, 9999);
|
|
15
13
|
super(store);
|
|
16
14
|
}
|
|
17
15
|
async addCheckpoints(checkpoints, result) {
|
|
@@ -69,14 +67,15 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
69
67
|
proposed: blockId,
|
|
70
68
|
proven: tipId,
|
|
71
69
|
finalized: tipId,
|
|
72
|
-
checkpointed: tipId
|
|
70
|
+
checkpointed: tipId,
|
|
71
|
+
proposedCheckpoint: tipId
|
|
73
72
|
};
|
|
74
73
|
}
|
|
75
|
-
|
|
76
|
-
throw new Error('TXE Archiver does not implement "
|
|
74
|
+
getSyncedL2SlotNumber() {
|
|
75
|
+
throw new Error('TXE Archiver does not implement "getSyncedL2SlotNumber"');
|
|
77
76
|
}
|
|
78
|
-
|
|
79
|
-
throw new Error('TXE Archiver does not implement "
|
|
77
|
+
getSyncedL2EpochNumber() {
|
|
78
|
+
throw new Error('TXE Archiver does not implement "getSyncedL2EpochNumber"');
|
|
80
79
|
}
|
|
81
80
|
isEpochComplete(_epochNumber) {
|
|
82
81
|
throw new Error('TXE Archiver does not implement "isEpochComplete"');
|
|
@@ -1,29 +1,32 @@
|
|
|
1
1
|
import type { SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import type { AuthRequest, ENR, P2P, P2PBlockReceivedCallback, P2PCheckpointReceivedCallback, P2PConfig, P2PDuplicateProposalCallback, P2PSyncState, PeerId, ReqRespSubProtocol, ReqRespSubProtocolHandler, ReqRespSubProtocolValidators, StatusMessage } from '@aztec/p2p';
|
|
2
|
+
import type { AuthRequest, ENR, P2P, P2PBlockReceivedCallback, P2PCheckpointReceivedCallback, P2PConfig, P2PDuplicateAttestationCallback, P2PDuplicateProposalCallback, P2PSyncState, PeerId, ReqRespSubProtocol, ReqRespSubProtocolHandler, ReqRespSubProtocolValidators, StatusMessage } from '@aztec/p2p';
|
|
3
3
|
import type { EthAddress, L2BlockStreamEvent, L2Tips } from '@aztec/stdlib/block';
|
|
4
|
-
import type { PeerInfo } from '@aztec/stdlib/interfaces/server';
|
|
5
|
-
import type { BlockProposal, CheckpointAttestation, CheckpointProposal } from '@aztec/stdlib/p2p';
|
|
6
|
-
import type { Tx, TxHash } from '@aztec/stdlib/tx';
|
|
4
|
+
import type { ITxProvider, PeerInfo } from '@aztec/stdlib/interfaces/server';
|
|
5
|
+
import type { BlockProposal, CheckpointAttestation, CheckpointProposal, TopicType } from '@aztec/stdlib/p2p';
|
|
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>;
|
|
9
9
|
clear(): Promise<void>;
|
|
10
10
|
getPendingTxs(): Promise<Tx[]>;
|
|
11
11
|
getEncodedEnr(): Promise<string | undefined>;
|
|
12
12
|
getPeers(_includePending?: boolean): Promise<PeerInfo[]>;
|
|
13
|
+
getGossipMeshPeerCount(_topicType: TopicType): Promise<number>;
|
|
13
14
|
broadcastProposal(_proposal: BlockProposal): Promise<void>;
|
|
14
15
|
broadcastCheckpointProposal(_proposal: CheckpointProposal): Promise<void>;
|
|
15
16
|
broadcastCheckpointAttestations(_attestations: CheckpointAttestation[]): Promise<void>;
|
|
16
17
|
registerBlockProposalHandler(_handler: P2PBlockReceivedCallback): void;
|
|
17
|
-
|
|
18
|
+
registerValidatorCheckpointProposalHandler(_handler: P2PCheckpointReceivedCallback): void;
|
|
19
|
+
registerAllNodesCheckpointProposalHandler(_handler: P2PCheckpointReceivedCallback): void;
|
|
18
20
|
requestTxs(_txHashes: TxHash[]): Promise<(Tx | undefined)[]>;
|
|
19
21
|
requestTxByHash(_txHash: TxHash): Promise<Tx | undefined>;
|
|
20
22
|
sendTx(_tx: Tx): Promise<void>;
|
|
21
|
-
|
|
23
|
+
handleFailedExecution(_txHashes: TxHash[]): Promise<void>;
|
|
22
24
|
getTxByHashFromPool(_txHash: TxHash): Promise<Tx | undefined>;
|
|
23
25
|
getTxByHash(_txHash: TxHash): Promise<Tx | undefined>;
|
|
24
26
|
getArchivedTxByHash(_txHash: TxHash): Promise<Tx | undefined>;
|
|
25
27
|
getTxStatus(_txHash: TxHash): Promise<'pending' | 'mined' | undefined>;
|
|
26
28
|
iteratePendingTxs(): AsyncIterableIterator<Tx>;
|
|
29
|
+
iterateEligiblePendingTxs(): AsyncIterableIterator<Tx>;
|
|
27
30
|
getPendingTxCount(): Promise<number>;
|
|
28
31
|
start(): Promise<void>;
|
|
29
32
|
stop(): Promise<void>;
|
|
@@ -31,6 +34,7 @@ export declare class DummyP2P implements P2P {
|
|
|
31
34
|
getStatus(): Promise<P2PSyncState>;
|
|
32
35
|
getEnr(): ENR | undefined;
|
|
33
36
|
isP2PClient(): true;
|
|
37
|
+
getTxProvider(): ITxProvider;
|
|
34
38
|
getTxsByHash(_txHashes: TxHash[]): Promise<Tx[]>;
|
|
35
39
|
getCheckpointAttestationsForSlot(_slot: SlotNumber, _proposalId?: string): Promise<CheckpointAttestation[]>;
|
|
36
40
|
addOwnCheckpointAttestations(_attestations: CheckpointAttestation[]): Promise<void>;
|
|
@@ -39,18 +43,18 @@ export declare class DummyP2P implements P2P {
|
|
|
39
43
|
getL2Tips(): Promise<L2Tips>;
|
|
40
44
|
handleBlockStreamEvent(_event: L2BlockStreamEvent): Promise<void>;
|
|
41
45
|
sync(): void;
|
|
42
|
-
requestTxsByHash(_txHashes: TxHash[]): Promise<Tx[]>;
|
|
43
|
-
getTxs(_filter: 'all' | 'pending' | 'mined'): Promise<Tx[]>;
|
|
44
46
|
getTxsByHashFromPool(_txHashes: TxHash[]): Promise<(Tx | undefined)[]>;
|
|
45
47
|
hasTxsInPool(_txHashes: TxHash[]): Promise<boolean[]>;
|
|
46
|
-
addTxsToPool(_txs: Tx[]): Promise<number>;
|
|
47
48
|
getSyncedLatestBlockNum(): Promise<number>;
|
|
48
49
|
getSyncedProvenBlockNum(): Promise<number>;
|
|
49
50
|
getSyncedLatestSlot(): Promise<bigint>;
|
|
50
|
-
|
|
51
|
+
protectTxs(_txHashes: TxHash[], _blockHeader: BlockHeader): Promise<TxHash[]>;
|
|
52
|
+
prepareForSlot(_slotNumber: SlotNumber): Promise<void>;
|
|
51
53
|
addReqRespSubProtocol(_subProtocol: ReqRespSubProtocol, _handler: ReqRespSubProtocolHandler, _validator?: ReqRespSubProtocolValidators[ReqRespSubProtocol]): Promise<void>;
|
|
52
54
|
handleAuthRequestFromPeer(_authRequest: AuthRequest, _peerId: PeerId): Promise<StatusMessage>;
|
|
53
55
|
registerThisValidatorAddresses(_address: EthAddress[]): void;
|
|
54
56
|
registerDuplicateProposalCallback(_callback: P2PDuplicateProposalCallback): void;
|
|
57
|
+
registerDuplicateAttestationCallback(_callback: P2PDuplicateAttestationCallback): void;
|
|
58
|
+
hasBlockProposalsForSlot(_slot: SlotNumber): Promise<boolean>;
|
|
55
59
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtbXlfcDJwX2NsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRlX21hY2hpbmUvZHVtbXlfcDJwX2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFDVixXQUFXLEVBQ1gsR0FBRyxFQUNILEdBQUcsRUFDSCx3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLFNBQVMsRUFDVCwrQkFBK0IsRUFDL0IsNEJBQTRCLEVBQzVCLFlBQVksRUFDWixNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsYUFBYSxFQUNkLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdHLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEUscUJBQWEsUUFBUyxZQUFXLEdBQUc7SUFDM0Isa0NBQWtDLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFbkU7SUFFTSxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUU1QjtJQUVNLGFBQWEsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FFcEM7SUFFTSxhQUFhLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FFbEQ7SUFF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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;AAClE,OAAO,KAAK,EACV,WAAW,EACX,GAAG,EACH,GAAG,EACH,wBAAwB,EACxB,6BAA6B,EAC7B,SAAS,EACT,4BAA4B,EAC5B,YAAY,EACZ,MAAM,EACN,kBAAkB,EAClB,yBAAyB,EACzB,4BAA4B,EAC5B,aAAa,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,KAAK,EAAE,QAAQ,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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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export class DummyP2P {
|
|
2
|
-
|
|
2
|
+
validateTxsReceivedInBlockProposal(_txs) {
|
|
3
3
|
return Promise.resolve();
|
|
4
4
|
}
|
|
5
5
|
clear() {
|
|
@@ -14,6 +14,9 @@ export class DummyP2P {
|
|
|
14
14
|
getPeers(_includePending) {
|
|
15
15
|
throw new Error('DummyP2P does not implement "getPeers"');
|
|
16
16
|
}
|
|
17
|
+
getGossipMeshPeerCount(_topicType) {
|
|
18
|
+
return Promise.resolve(0);
|
|
19
|
+
}
|
|
17
20
|
broadcastProposal(_proposal) {
|
|
18
21
|
throw new Error('DummyP2P does not implement "broadcastProposal"');
|
|
19
22
|
}
|
|
@@ -26,8 +29,11 @@ export class DummyP2P {
|
|
|
26
29
|
registerBlockProposalHandler(_handler) {
|
|
27
30
|
throw new Error('DummyP2P does not implement "registerBlockProposalHandler"');
|
|
28
31
|
}
|
|
29
|
-
|
|
30
|
-
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"');
|
|
31
37
|
}
|
|
32
38
|
requestTxs(_txHashes) {
|
|
33
39
|
throw new Error('DummyP2P does not implement "requestTxs"');
|
|
@@ -38,8 +44,8 @@ export class DummyP2P {
|
|
|
38
44
|
sendTx(_tx) {
|
|
39
45
|
throw new Error('DummyP2P does not implement "sendTx"');
|
|
40
46
|
}
|
|
41
|
-
|
|
42
|
-
throw new Error('DummyP2P does not implement "
|
|
47
|
+
handleFailedExecution(_txHashes) {
|
|
48
|
+
throw new Error('DummyP2P does not implement "handleFailedExecution"');
|
|
43
49
|
}
|
|
44
50
|
getTxByHashFromPool(_txHash) {
|
|
45
51
|
throw new Error('DummyP2P does not implement "getTxByHashFromPool"');
|
|
@@ -58,6 +64,9 @@ export class DummyP2P {
|
|
|
58
64
|
iteratePendingTxs() {
|
|
59
65
|
throw new Error('DummyP2P does not implement "iteratePendingTxs"');
|
|
60
66
|
}
|
|
67
|
+
iterateEligiblePendingTxs() {
|
|
68
|
+
throw new Error('DummyP2P does not implement "iterateEligiblePendingTxs"');
|
|
69
|
+
}
|
|
61
70
|
getPendingTxCount() {
|
|
62
71
|
throw new Error('DummyP2P does not implement "getPendingTxCount"');
|
|
63
72
|
}
|
|
@@ -79,6 +88,9 @@ export class DummyP2P {
|
|
|
79
88
|
isP2PClient() {
|
|
80
89
|
throw new Error('DummyP2P does not implement "isP2PClient"');
|
|
81
90
|
}
|
|
91
|
+
getTxProvider() {
|
|
92
|
+
throw new Error('DummyP2P does not implement "getTxProvider"');
|
|
93
|
+
}
|
|
82
94
|
getTxsByHash(_txHashes) {
|
|
83
95
|
throw new Error('DummyP2P does not implement "getTxsByHash"');
|
|
84
96
|
}
|
|
@@ -103,21 +115,12 @@ export class DummyP2P {
|
|
|
103
115
|
sync() {
|
|
104
116
|
throw new Error('DummyP2P does not implement "sync"');
|
|
105
117
|
}
|
|
106
|
-
requestTxsByHash(_txHashes) {
|
|
107
|
-
throw new Error('DummyP2P does not implement "requestTxsByHash"');
|
|
108
|
-
}
|
|
109
|
-
getTxs(_filter) {
|
|
110
|
-
throw new Error('DummyP2P does not implement "getTxs"');
|
|
111
|
-
}
|
|
112
118
|
getTxsByHashFromPool(_txHashes) {
|
|
113
119
|
throw new Error('DummyP2P does not implement "getTxsByHashFromPool"');
|
|
114
120
|
}
|
|
115
121
|
hasTxsInPool(_txHashes) {
|
|
116
122
|
throw new Error('DummyP2P does not implement "hasTxsInPool"');
|
|
117
123
|
}
|
|
118
|
-
addTxsToPool(_txs) {
|
|
119
|
-
throw new Error('DummyP2P does not implement "addTxs"');
|
|
120
|
-
}
|
|
121
124
|
getSyncedLatestBlockNum() {
|
|
122
125
|
throw new Error('DummyP2P does not implement "getSyncedLatestBlockNum"');
|
|
123
126
|
}
|
|
@@ -127,8 +130,11 @@ export class DummyP2P {
|
|
|
127
130
|
getSyncedLatestSlot() {
|
|
128
131
|
throw new Error('DummyP2P does not implement "getSyncedLatestSlot"');
|
|
129
132
|
}
|
|
130
|
-
|
|
131
|
-
throw new Error('DummyP2P does not implement "
|
|
133
|
+
protectTxs(_txHashes, _blockHeader) {
|
|
134
|
+
throw new Error('DummyP2P does not implement "protectTxs".');
|
|
135
|
+
}
|
|
136
|
+
prepareForSlot(_slotNumber) {
|
|
137
|
+
return Promise.resolve();
|
|
132
138
|
}
|
|
133
139
|
addReqRespSubProtocol(_subProtocol, _handler, _validator) {
|
|
134
140
|
throw new Error('DummyP2P does not implement "addReqRespSubProtocol".');
|
|
@@ -141,4 +147,10 @@ export class DummyP2P {
|
|
|
141
147
|
registerDuplicateProposalCallback(_callback) {
|
|
142
148
|
throw new Error('DummyP2P does not implement "registerDuplicateProposalCallback"');
|
|
143
149
|
}
|
|
150
|
+
registerDuplicateAttestationCallback(_callback) {
|
|
151
|
+
throw new Error('DummyP2P does not implement "registerDuplicateAttestationCallback"');
|
|
152
|
+
}
|
|
153
|
+
hasBlockProposalsForSlot(_slot) {
|
|
154
|
+
throw new Error('DummyP2P does not implement "hasBlockProposalsForSlot"');
|
|
155
|
+
}
|
|
144
156
|
}
|
|
@@ -2,10 +2,10 @@ import { BlockNumber, type SlotNumber } from '@aztec/foundation/branded-types';
|
|
|
2
2
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
3
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
4
|
import { GasFees } from '@aztec/stdlib/gas';
|
|
5
|
-
import { type CheckpointGlobalVariables, type GlobalVariableBuilder, GlobalVariables } from '@aztec/stdlib/tx';
|
|
5
|
+
import { type BuildCheckpointGlobalVariablesOpts, type CheckpointGlobalVariables, type GlobalVariableBuilder, GlobalVariables } from '@aztec/stdlib/tx';
|
|
6
6
|
export declare class TXEGlobalVariablesBuilder implements GlobalVariableBuilder {
|
|
7
7
|
getCurrentMinFees(): Promise<GasFees>;
|
|
8
8
|
buildGlobalVariables(_blockNumber: BlockNumber, _coinbase: EthAddress, _feeRecipient: AztecAddress, _slotNumber?: SlotNumber): Promise<GlobalVariables>;
|
|
9
|
-
buildCheckpointGlobalVariables(_coinbase: EthAddress, _feeRecipient: AztecAddress, _slotNumber: SlotNumber): Promise<CheckpointGlobalVariables>;
|
|
9
|
+
buildCheckpointGlobalVariables(_coinbase: EthAddress, _feeRecipient: AztecAddress, _slotNumber: SlotNumber, _opts?: BuildCheckpointGlobalVariablesOpts): Promise<CheckpointGlobalVariables>;
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZV9tYWNoaW5lL2dsb2JhbF92YXJpYWJsZV9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFNUMsT0FBTyxFQUNMLEtBQUssa0NBQWtDLEVBQ3ZDLEtBQUsseUJBQXlCLEVBQzlCLEtBQUsscUJBQXFCLEVBQzFCLGVBQWUsRUFDaEIsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQixxQkFBYSx5QkFBMEIsWUFBVyxxQkFBcUI7SUFDOUQsaUJBQWlCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUUzQztJQUVNLG9CQUFvQixDQUN6QixZQUFZLEVBQUUsV0FBVyxFQUN6QixTQUFTLEVBQUUsVUFBVSxFQUNyQixhQUFhLEVBQUUsWUFBWSxFQUMzQixXQUFXLENBQUMsRUFBRSxVQUFVLEdBQ3ZCLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FFMUI7SUFFTSw4QkFBOEIsQ0FDbkMsU0FBUyxFQUFFLFVBQVUsRUFDckIsYUFBYSxFQUFFLFlBQVksRUFDM0IsV0FBVyxFQUFFLFVBQVUsRUFDdkIsS0FBSyxDQUFDLEVBQUUsa0NBQWtDLEdBQ3pDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQVdwQztDQUNGIn0=
|
|
@@ -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,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,
|
|
1
|
+
{"version":3,"file":"global_variable_builder.d.ts","sourceRoot":"","sources":["../../src/state_machine/global_variable_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,yBAA0B,YAAW,qBAAqB;IAC9D,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAE3C;IAEM,oBAAoB,CACzB,YAAY,EAAE,WAAW,EACzB,SAAS,EAAE,UAAU,EACrB,aAAa,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,UAAU,GACvB,OAAO,CAAC,eAAe,CAAC,CAE1B;IAEM,8BAA8B,CACnC,SAAS,EAAE,UAAU,EACrB,aAAa,EAAE,YAAY,EAC3B,WAAW,EAAE,UAAU,EACvB,KAAK,CAAC,EAAE,kCAAkC,GACzC,OAAO,CAAC,yBAAyB,CAAC,CAWpC;CACF"}
|
|
@@ -7,7 +7,7 @@ export class TXEGlobalVariablesBuilder {
|
|
|
7
7
|
buildGlobalVariables(_blockNumber, _coinbase, _feeRecipient, _slotNumber) {
|
|
8
8
|
return Promise.resolve(makeGlobalVariables());
|
|
9
9
|
}
|
|
10
|
-
buildCheckpointGlobalVariables(_coinbase, _feeRecipient, _slotNumber) {
|
|
10
|
+
buildCheckpointGlobalVariables(_coinbase, _feeRecipient, _slotNumber, _opts) {
|
|
11
11
|
const vars = makeGlobalVariables();
|
|
12
12
|
return Promise.resolve({
|
|
13
13
|
chainId: vars.chainId,
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { KeyStore } from '@aztec/key-store';
|
|
1
2
|
import { type AnchorBlockStore, type ContractStore, ContractSyncService, type NoteStore } from '@aztec/pxe/server';
|
|
3
|
+
import { MessageContextService } from '@aztec/pxe/simulator';
|
|
2
4
|
import { L2Block } from '@aztec/stdlib/block';
|
|
3
5
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
4
6
|
import { TXEArchiver } from './archiver.js';
|
|
@@ -9,8 +11,9 @@ export declare class TXEStateMachine {
|
|
|
9
11
|
archiver: TXEArchiver;
|
|
10
12
|
anchorBlockStore: AnchorBlockStore;
|
|
11
13
|
contractSyncService: ContractSyncService;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
messageContextService: MessageContextService;
|
|
15
|
+
constructor(node: AztecNode, synchronizer: TXESynchronizer, archiver: TXEArchiver, anchorBlockStore: AnchorBlockStore, contractSyncService: ContractSyncService, messageContextService: MessageContextService);
|
|
16
|
+
static create(archiver: TXEArchiver, anchorBlockStore: AnchorBlockStore, contractStore: ContractStore, noteStore: NoteStore, keyStore: KeyStore): Promise<TXEStateMachine>;
|
|
14
17
|
handleL2Block(block: L2Block): Promise<void>;
|
|
15
18
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZV9tYWNoaW5lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFFLEtBQUssYUFBYSxFQUFFLG1CQUFtQixFQUFFLEtBQUssU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSWpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBS3BELHFCQUFhLGVBQWU7SUFFakIsSUFBSSxFQUFFLFNBQVM7SUFDZixZQUFZLEVBQUUsZUFBZTtJQUM3QixRQUFRLEVBQUUsV0FBVztJQUNyQixnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMsbUJBQW1CLEVBQUUsbUJBQW1CO0lBQ3hDLHFCQUFxQixFQUFFLHFCQUFxQjtJQU5yRCxZQUNTLElBQUksRUFBRSxTQUFTLEVBQ2YsWUFBWSxFQUFFLGVBQWUsRUFDN0IsUUFBUSxFQUFFLFdBQVcsRUFDckIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLG1CQUFtQixFQUFFLG1CQUFtQixFQUN4QyxxQkFBcUIsRUFBRSxxQkFBcUIsRUFDakQ7SUFFSixPQUFvQixNQUFNLENBQ3hCLFFBQVEsRUFBRSxXQUFXLEVBQ3JCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxhQUFhLEVBQUUsYUFBYSxFQUM1QixTQUFTLEVBQUUsU0FBUyxFQUNwQixRQUFRLEVBQUUsUUFBUSw0QkF5Q25CO0lBRVksYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLGlCQXlDeEM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state_machine/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,mBAAmB,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAIjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKpD,qBAAa,eAAe;IAEjB,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,eAAe;IAC7B,QAAQ,EAAE,WAAW;IACrB,gBAAgB,EAAE,gBAAgB;IAClC,mBAAmB,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state_machine/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,mBAAmB,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnH,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAIjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKpD,qBAAa,eAAe;IAEjB,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,eAAe;IAC7B,QAAQ,EAAE,WAAW;IACrB,gBAAgB,EAAE,gBAAgB;IAClC,mBAAmB,EAAE,mBAAmB;IACxC,qBAAqB,EAAE,qBAAqB;IANrD,YACS,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,WAAW,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,qBAAqB,EAAE,qBAAqB,EACjD;IAEJ,OAAoB,MAAM,CACxB,QAAQ,EAAE,WAAW,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,4BAyCnB;IAEY,aAAa,CAAC,KAAK,EAAE,OAAO,iBAyCxC;CACF"}
|
|
@@ -4,6 +4,7 @@ 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 { MessageContextService } from '@aztec/pxe/simulator';
|
|
7
8
|
import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
8
9
|
import { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
9
10
|
import { getPackageVersion } from '@aztec/stdlib/update-checker';
|
|
@@ -19,20 +20,23 @@ export class TXEStateMachine {
|
|
|
19
20
|
archiver;
|
|
20
21
|
anchorBlockStore;
|
|
21
22
|
contractSyncService;
|
|
22
|
-
|
|
23
|
+
messageContextService;
|
|
24
|
+
constructor(node, synchronizer, archiver, anchorBlockStore, contractSyncService, messageContextService){
|
|
23
25
|
this.node = node;
|
|
24
26
|
this.synchronizer = synchronizer;
|
|
25
27
|
this.archiver = archiver;
|
|
26
28
|
this.anchorBlockStore = anchorBlockStore;
|
|
27
29
|
this.contractSyncService = contractSyncService;
|
|
30
|
+
this.messageContextService = messageContextService;
|
|
28
31
|
}
|
|
29
|
-
static async create(archiver, anchorBlockStore, contractStore, noteStore) {
|
|
32
|
+
static async create(archiver, anchorBlockStore, contractStore, noteStore, keyStore) {
|
|
30
33
|
const synchronizer = await TXESynchronizer.create();
|
|
31
34
|
const aztecNodeConfig = {};
|
|
32
35
|
const log = createLogger('txe_node');
|
|
33
|
-
const node = new AztecNodeService(aztecNodeConfig, new DummyP2P(), archiver, archiver, archiver, archiver, synchronizer, undefined, undefined, undefined, undefined, VERSION, CHAIN_ID, new TXEGlobalVariablesBuilder(), new MockEpochCache(), getPackageVersion() ?? '', new TestCircuitVerifier(), undefined, log);
|
|
34
|
-
const contractSyncService = new ContractSyncService(node, contractStore, noteStore, createLogger('txe:contract_sync'));
|
|
35
|
-
|
|
36
|
+
const node = new AztecNodeService(aztecNodeConfig, new DummyP2P(), archiver, archiver, archiver, archiver, synchronizer, undefined, undefined, undefined, undefined, undefined, VERSION, CHAIN_ID, new TXEGlobalVariablesBuilder(), new MockEpochCache(), getPackageVersion() ?? '', new TestCircuitVerifier(), new TestCircuitVerifier(), undefined, log);
|
|
37
|
+
const contractSyncService = new ContractSyncService(node, contractStore, noteStore, ()=>keyStore.getAccounts(), createLogger('txe:contract_sync'));
|
|
38
|
+
const messageContextService = new MessageContextService(node);
|
|
39
|
+
return new this(node, synchronizer, archiver, anchorBlockStore, contractSyncService, messageContextService);
|
|
36
40
|
}
|
|
37
41
|
async handleL2Block(block) {
|
|
38
42
|
// Create a checkpoint from the block manually.
|
|
@@ -7,23 +7,37 @@ import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
|
7
7
|
* Since in TXE we don't validate transactions, mock suffices here.
|
|
8
8
|
*/
|
|
9
9
|
export declare class MockEpochCache implements EpochCacheInterface {
|
|
10
|
-
getCommittee(): Promise<EpochCommitteeInfo>;
|
|
10
|
+
getCommittee(_slot?: SlotTag): Promise<EpochCommitteeInfo>;
|
|
11
|
+
getSlotNow(): SlotNumber;
|
|
12
|
+
getTargetSlot(): SlotNumber;
|
|
13
|
+
getEpochNow(): EpochNumber;
|
|
14
|
+
getTargetEpoch(): EpochNumber;
|
|
11
15
|
getEpochAndSlotNow(): EpochAndSlot & {
|
|
12
16
|
nowMs: bigint;
|
|
13
17
|
};
|
|
14
18
|
getEpochAndSlotInNextL1Slot(): EpochAndSlot & {
|
|
15
|
-
|
|
19
|
+
nowSeconds: bigint;
|
|
16
20
|
};
|
|
21
|
+
getTargetEpochAndSlotInNextL1Slot(): EpochAndSlot & {
|
|
22
|
+
nowSeconds: bigint;
|
|
23
|
+
};
|
|
24
|
+
isProposerPipeliningEnabled(): boolean;
|
|
17
25
|
getProposerIndexEncoding(_epoch: EpochNumber, _slot: SlotNumber, _seed: bigint): `0x${string}`;
|
|
18
26
|
computeProposerIndex(_slot: SlotNumber, _epoch: EpochNumber, _seed: bigint, _size: bigint): bigint;
|
|
19
27
|
getCurrentAndNextSlot(): {
|
|
20
28
|
currentSlot: SlotNumber;
|
|
21
29
|
nextSlot: SlotNumber;
|
|
22
30
|
};
|
|
31
|
+
getTargetAndNextSlot(): {
|
|
32
|
+
targetSlot: SlotNumber;
|
|
33
|
+
nextSlot: SlotNumber;
|
|
34
|
+
};
|
|
23
35
|
getProposerAttesterAddressInSlot(_slot: SlotNumber): Promise<EthAddress | undefined>;
|
|
24
36
|
isInCommittee(_slot: SlotTag, _validator: EthAddress): Promise<boolean>;
|
|
25
37
|
getRegisteredValidators(): Promise<EthAddress[]>;
|
|
26
38
|
filterInCommittee(_slot: SlotTag, _validators: EthAddress[]): Promise<EthAddress[]>;
|
|
39
|
+
isEscapeHatchOpen(_epoch: EpochNumber): Promise<boolean>;
|
|
40
|
+
isEscapeHatchOpenAtSlot(_slot: SlotTag): Promise<boolean>;
|
|
27
41
|
getL1Constants(): L1RollupConstants;
|
|
28
42
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19lcG9jaF9jYWNoZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRlX21hY2hpbmUvbW9ja19lcG9jaF9jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUEwQixLQUFLLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFN0Y7OztHQUdHO0FBQ0gscUJBQWEsY0FBZSxZQUFXLG1CQUFtQjtJQUN4RCxZQUFZLENBQUMsS0FBSyxHQUFFLE9BQWUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FPaEU7SUFFRCxVQUFVLElBQUksVUFBVSxDQUV2QjtJQUVELGFBQWEsSUFBSSxVQUFVLENBRTFCO0lBRUQsV0FBVyxJQUFJLFdBQVcsQ0FFekI7SUFFRCxjQUFjLElBQUksV0FBVyxDQUU1QjtJQUVELGtCQUFrQixJQUFJLFlBQVksR0FBRztRQUFFLEtBQUssRUFBRSxNQUFNLENBQUE7S0FBRSxDQU9yRDtJQUVELDJCQUEyQixJQUFJLFlBQVksR0FBRztRQUFFLFVBQVUsRUFBRSxNQUFNLENBQUE7S0FBRSxDQU9uRTtJQUVELGlDQUFpQyxJQUFJLFlBQVksR0FBRztRQUFFLFVBQVUsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUV6RTtJQUVELDJCQUEyQixJQUFJLE9BQU8sQ0FFckM7SUFFRCx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sR0FBRyxLQUFLLE1BQU0sRUFBRSxDQUU3RjtJQUVELG9CQUFvQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUVqRztJQUVELHFCQUFxQixJQUFJO1FBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQztRQUFDLFFBQVEsRUFBRSxVQUFVLENBQUE7S0FBRSxDQUt6RTtJQUVELG9CQUFvQixJQUFJO1FBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztRQUFDLFFBQVEsRUFBRSxVQUFVLENBQUE7S0FBRSxDQUt2RTtJQUVELGdDQUFnQyxDQUFDLEtBQUssRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FFbkY7SUFFRCxhQUFhLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FFdEU7SUFFRCx1QkFBdUIsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FFL0M7SUFFRCxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FFbEY7SUFFRCxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FFdkQ7SUFFRCx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FFeEQ7SUFFRCxjQUFjLElBQUksaUJBQWlCLENBRWxDO0NBQ0YifQ==
|
|
@@ -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,
|
|
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,2BAA2B,IAAI,OAAO,CAErC;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"}
|
|
@@ -4,7 +4,7 @@ import { EmptyL1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
|
4
4
|
* Mock implementation of the EpochCacheInterface used to satisfy dependencies of AztecNodeService.
|
|
5
5
|
* Since in TXE we don't validate transactions, mock suffices here.
|
|
6
6
|
*/ export class MockEpochCache {
|
|
7
|
-
getCommittee() {
|
|
7
|
+
getCommittee(_slot = 'now') {
|
|
8
8
|
return Promise.resolve({
|
|
9
9
|
committee: undefined,
|
|
10
10
|
seed: 0n,
|
|
@@ -12,6 +12,18 @@ import { EmptyL1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
|
12
12
|
isEscapeHatchOpen: false
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
|
+
getSlotNow() {
|
|
16
|
+
return SlotNumber(0);
|
|
17
|
+
}
|
|
18
|
+
getTargetSlot() {
|
|
19
|
+
return SlotNumber(0);
|
|
20
|
+
}
|
|
21
|
+
getEpochNow() {
|
|
22
|
+
return EpochNumber.ZERO;
|
|
23
|
+
}
|
|
24
|
+
getTargetEpoch() {
|
|
25
|
+
return EpochNumber.ZERO;
|
|
26
|
+
}
|
|
15
27
|
getEpochAndSlotNow() {
|
|
16
28
|
return {
|
|
17
29
|
epoch: EpochNumber.ZERO,
|
|
@@ -25,9 +37,15 @@ import { EmptyL1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
|
25
37
|
epoch: EpochNumber.ZERO,
|
|
26
38
|
slot: SlotNumber(0),
|
|
27
39
|
ts: 0n,
|
|
28
|
-
|
|
40
|
+
nowSeconds: 0n
|
|
29
41
|
};
|
|
30
42
|
}
|
|
43
|
+
getTargetEpochAndSlotInNextL1Slot() {
|
|
44
|
+
return this.getEpochAndSlotInNextL1Slot();
|
|
45
|
+
}
|
|
46
|
+
isProposerPipeliningEnabled() {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
31
49
|
getProposerIndexEncoding(_epoch, _slot, _seed) {
|
|
32
50
|
return '0x00';
|
|
33
51
|
}
|
|
@@ -40,6 +58,12 @@ import { EmptyL1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
|
40
58
|
nextSlot: SlotNumber(0)
|
|
41
59
|
};
|
|
42
60
|
}
|
|
61
|
+
getTargetAndNextSlot() {
|
|
62
|
+
return {
|
|
63
|
+
targetSlot: SlotNumber(0),
|
|
64
|
+
nextSlot: SlotNumber(0)
|
|
65
|
+
};
|
|
66
|
+
}
|
|
43
67
|
getProposerAttesterAddressInSlot(_slot) {
|
|
44
68
|
return Promise.resolve(undefined);
|
|
45
69
|
}
|
|
@@ -52,6 +76,12 @@ import { EmptyL1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
|
52
76
|
filterInCommittee(_slot, _validators) {
|
|
53
77
|
return Promise.resolve([]);
|
|
54
78
|
}
|
|
79
|
+
isEscapeHatchOpen(_epoch) {
|
|
80
|
+
return Promise.resolve(false);
|
|
81
|
+
}
|
|
82
|
+
isEscapeHatchOpenAtSlot(_slot) {
|
|
83
|
+
return Promise.resolve(false);
|
|
84
|
+
}
|
|
55
85
|
getL1Constants() {
|
|
56
86
|
return EmptyL1RollupConstants;
|
|
57
87
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import type { L2Block } from '@aztec/stdlib/block';
|
|
2
|
+
import type { BlockHash, L2Block } from '@aztec/stdlib/block';
|
|
3
3
|
import type { MerkleTreeReadOperations, MerkleTreeWriteOperations, SnapshotDataKeys, WorldStateSynchronizer, WorldStateSynchronizerStatus } from '@aztec/stdlib/interfaces/server';
|
|
4
4
|
import { NativeWorldStateService } from '@aztec/world-state/native';
|
|
5
5
|
export declare class TXESynchronizer implements WorldStateSynchronizer {
|
|
@@ -9,12 +9,12 @@ export declare class TXESynchronizer implements WorldStateSynchronizer {
|
|
|
9
9
|
static create(): Promise<TXESynchronizer>;
|
|
10
10
|
handleL2Block(block: L2Block): Promise<void>;
|
|
11
11
|
/**
|
|
12
|
-
* Forces an immediate sync to an optionally provided minimum block number
|
|
12
|
+
* Forces an immediate sync to an optionally provided minimum block number.
|
|
13
13
|
* @param targetBlockNumber - The target block number that we must sync to. Will download unproven blocks if needed to reach it.
|
|
14
|
-
* @param
|
|
14
|
+
* @param blockHash - If provided, verifies the block at targetBlockNumber matches this hash.
|
|
15
15
|
* @returns A promise that resolves with the block number the world state was synced to
|
|
16
16
|
*/
|
|
17
|
-
syncImmediate(_minBlockNumber?: BlockNumber,
|
|
17
|
+
syncImmediate(_minBlockNumber?: BlockNumber, _blockHash?: BlockHash): Promise<BlockNumber>;
|
|
18
18
|
/** Returns an instance of MerkleTreeAdminOperations that will not include uncommitted data. */
|
|
19
19
|
getCommitted(): MerkleTreeReadOperations;
|
|
20
20
|
/** Forks the world state at the given block number, defaulting to the latest one. */
|
|
@@ -30,4 +30,4 @@ export declare class TXESynchronizer implements WorldStateSynchronizer {
|
|
|
30
30
|
resumeSync(): void;
|
|
31
31
|
clear(): Promise<void>;
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY2hyb25pemVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdGVfbWFjaGluZS9zeW5jaHJvbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFDVix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIsNEJBQTRCLEVBQzdCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFcEUscUJBQWEsZUFBZ0IsWUFBVyxzQkFBc0I7SUFJekMsdUJBQXVCLEVBQUUsdUJBQXVCO0lBRm5FLE9BQU8sQ0FBQyxXQUFXLENBQW9CO0lBRXZDLFlBQW1CLHVCQUF1QixFQUFFLHVCQUF1QixFQUFJO0lBRXZFLE9BQWEsTUFBTSw2QkFJbEI7SUFFWSxhQUFhLENBQUMsS0FBSyxFQUFFLE9BQU8saUJBT3hDO0lBRUQ7Ozs7O09BS0c7SUFDSSxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxFQUFFLFNBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBRWhHO0lBRUQsK0ZBQStGO0lBQ3hGLFlBQVksSUFBSSx3QkFBd0IsQ0FFOUM7SUFFRCxxRkFBcUY7SUFDOUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FFOUQ7SUFFRCx1RkFBdUY7SUFDaEYsV0FBVyxDQUFDLFdBQVcsRUFBRSxNQUFNLEdBQUcsd0JBQXdCLENBRWhFO0lBRUQseUNBQXlDO0lBQ2xDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUVsSDtJQUVNLEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRTVCO0lBRU0sTUFBTSxJQUFJLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUVyRDtJQUVNLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRTNCO0lBRU0sUUFBUSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFL0I7SUFFTSxVQUFVLElBQUksSUFBSSxDQUV4QjtJQUVNLEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRTVCO0NBQ0YifQ==
|
|
@@ -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,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
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,iBAOxC;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"}
|
|
@@ -19,11 +19,11 @@ export class TXESynchronizer {
|
|
|
19
19
|
this.blockNumber = block.header.globalVariables.blockNumber;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
* Forces an immediate sync to an optionally provided minimum block number
|
|
22
|
+
* Forces an immediate sync to an optionally provided minimum block number.
|
|
23
23
|
* @param targetBlockNumber - The target block number that we must sync to. Will download unproven blocks if needed to reach it.
|
|
24
|
-
* @param
|
|
24
|
+
* @param blockHash - If provided, verifies the block at targetBlockNumber matches this hash.
|
|
25
25
|
* @returns A promise that resolves with the block number the world state was synced to
|
|
26
|
-
*/ syncImmediate(_minBlockNumber,
|
|
26
|
+
*/ syncImmediate(_minBlockNumber, _blockHash) {
|
|
27
27
|
return Promise.resolve(this.blockNumber);
|
|
28
28
|
}
|
|
29
29
|
/** Returns an instance of MerkleTreeAdminOperations that will not include uncommitted data. */ getCommitted() {
|