@aztec/txe 0.0.1-commit.d3ec352c → 0.0.1-commit.d6f2b3f94
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/constants.d.ts +3 -0
- package/dest/constants.d.ts.map +1 -0
- package/dest/constants.js +2 -0
- package/dest/index.d.ts +1 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +3 -2
- package/dest/oracle/interfaces.d.ts +7 -5
- package/dest/oracle/interfaces.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_public_context.d.ts +5 -5
- package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_public_context.js +10 -12
- package/dest/oracle/txe_oracle_top_level_context.d.ts +21 -12
- package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_top_level_context.js +119 -63
- package/dest/rpc_translator.d.ts +27 -15
- package/dest/rpc_translator.d.ts.map +1 -1
- package/dest/rpc_translator.js +117 -53
- package/dest/state_machine/archiver.d.ts +21 -57
- package/dest/state_machine/archiver.d.ts.map +1 -1
- package/dest/state_machine/archiver.js +63 -107
- package/dest/state_machine/dummy_p2p_client.d.ts +14 -12
- package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
- package/dest/state_machine/dummy_p2p_client.js +29 -21
- package/dest/state_machine/global_variable_builder.d.ts +4 -3
- package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
- package/dest/state_machine/global_variable_builder.js +13 -1
- package/dest/state_machine/index.d.ts +7 -7
- package/dest/state_machine/index.d.ts.map +1 -1
- package/dest/state_machine/index.js +40 -23
- package/dest/state_machine/mock_epoch_cache.d.ts +9 -6
- package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -1
- package/dest/state_machine/mock_epoch_cache.js +14 -7
- package/dest/state_machine/synchronizer.d.ts +3 -3
- package/dest/state_machine/synchronizer.d.ts.map +1 -1
- package/dest/state_machine/synchronizer.js +2 -2
- package/dest/txe_session.d.ts +18 -10
- package/dest/txe_session.d.ts.map +1 -1
- package/dest/txe_session.js +95 -46
- package/dest/util/encoding.d.ts +618 -19
- package/dest/util/encoding.d.ts.map +1 -1
- package/dest/util/encoding.js +1 -1
- package/dest/util/txe_account_store.d.ts +10 -0
- package/dest/util/txe_account_store.d.ts.map +1 -0
- package/dest/util/{txe_account_data_provider.js → txe_account_store.js} +1 -1
- package/dest/util/txe_contract_store.d.ts +12 -0
- package/dest/util/txe_contract_store.d.ts.map +1 -0
- package/dest/util/{txe_contract_data_provider.js → txe_contract_store.js} +3 -3
- package/dest/util/txe_public_contract_data_source.d.ts +5 -5
- package/dest/util/txe_public_contract_data_source.d.ts.map +1 -1
- package/dest/util/txe_public_contract_data_source.js +11 -11
- package/dest/utils/block_creation.d.ts +19 -5
- package/dest/utils/block_creation.d.ts.map +1 -1
- package/dest/utils/block_creation.js +38 -4
- package/dest/utils/tx_effect_creation.d.ts +2 -3
- package/dest/utils/tx_effect_creation.d.ts.map +1 -1
- package/dest/utils/tx_effect_creation.js +4 -7
- package/package.json +16 -16
- package/src/constants.ts +3 -0
- package/src/index.ts +15 -12
- package/src/oracle/interfaces.ts +6 -4
- package/src/oracle/txe_oracle_public_context.ts +10 -17
- package/src/oracle/txe_oracle_top_level_context.ts +189 -92
- package/src/rpc_translator.ts +138 -56
- package/src/state_machine/archiver.ts +59 -131
- package/src/state_machine/dummy_p2p_client.ts +40 -27
- package/src/state_machine/global_variable_builder.ts +19 -2
- package/src/state_machine/index.ts +60 -22
- package/src/state_machine/mock_epoch_cache.ts +15 -11
- package/src/state_machine/synchronizer.ts +3 -4
- package/src/txe_session.ts +189 -79
- package/src/util/encoding.ts +1 -1
- package/src/util/{txe_account_data_provider.ts → txe_account_store.ts} +1 -1
- package/src/util/{txe_contract_data_provider.ts → txe_contract_store.ts} +3 -3
- package/src/util/txe_public_contract_data_source.ts +10 -10
- package/src/utils/block_creation.ts +48 -15
- package/src/utils/tx_effect_creation.ts +4 -12
- package/dest/util/txe_account_data_provider.d.ts +0 -10
- package/dest/util/txe_account_data_provider.d.ts.map +0 -1
- package/dest/util/txe_contract_data_provider.d.ts +0 -12
- package/dest/util/txe_contract_data_provider.d.ts.map +0 -1
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import type { SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import type { AuthRequest, ENR, P2P, P2PBlockReceivedCallback, P2PConfig, 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
4
|
import type { PeerInfo } from '@aztec/stdlib/interfaces/server';
|
|
5
|
-
import type {
|
|
6
|
-
import type { Tx, TxHash } from '@aztec/stdlib/tx';
|
|
5
|
+
import type { BlockProposal, CheckpointAttestation, CheckpointProposal } from '@aztec/stdlib/p2p';
|
|
6
|
+
import type { BlockHeader, Tx, TxHash } from '@aztec/stdlib/tx';
|
|
7
7
|
export declare class DummyP2P implements P2P {
|
|
8
|
-
broadcastAttestations(_attestations: BlockAttestation[]): Promise<void>;
|
|
9
8
|
validate(_txs: Tx[]): Promise<void>;
|
|
10
9
|
clear(): Promise<void>;
|
|
11
10
|
getPendingTxs(): Promise<Tx[]>;
|
|
12
11
|
getEncodedEnr(): Promise<string | undefined>;
|
|
13
12
|
getPeers(_includePending?: boolean): Promise<PeerInfo[]>;
|
|
14
13
|
broadcastProposal(_proposal: BlockProposal): Promise<void>;
|
|
14
|
+
broadcastCheckpointProposal(_proposal: CheckpointProposal): Promise<void>;
|
|
15
|
+
broadcastCheckpointAttestations(_attestations: CheckpointAttestation[]): Promise<void>;
|
|
15
16
|
registerBlockProposalHandler(_handler: P2PBlockReceivedCallback): void;
|
|
17
|
+
registerCheckpointProposalHandler(_handler: P2PCheckpointReceivedCallback): void;
|
|
16
18
|
requestTxs(_txHashes: TxHash[]): Promise<(Tx | undefined)[]>;
|
|
17
19
|
requestTxByHash(_txHash: TxHash): Promise<Tx | undefined>;
|
|
18
20
|
sendTx(_tx: Tx): Promise<void>;
|
|
19
|
-
|
|
21
|
+
handleFailedExecution(_txHashes: TxHash[]): Promise<void>;
|
|
20
22
|
getTxByHashFromPool(_txHash: TxHash): Promise<Tx | undefined>;
|
|
21
23
|
getTxByHash(_txHash: TxHash): Promise<Tx | undefined>;
|
|
22
24
|
getArchivedTxByHash(_txHash: TxHash): Promise<Tx | undefined>;
|
|
@@ -30,25 +32,25 @@ export declare class DummyP2P implements P2P {
|
|
|
30
32
|
getEnr(): ENR | undefined;
|
|
31
33
|
isP2PClient(): true;
|
|
32
34
|
getTxsByHash(_txHashes: TxHash[]): Promise<Tx[]>;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
addAttestations(_attestations: BlockAttestation[]): Promise<void>;
|
|
35
|
+
getCheckpointAttestationsForSlot(_slot: SlotNumber, _proposalId?: string): Promise<CheckpointAttestation[]>;
|
|
36
|
+
addOwnCheckpointAttestations(_attestations: CheckpointAttestation[]): Promise<void>;
|
|
36
37
|
getL2BlockHash(_number: number): Promise<string | undefined>;
|
|
37
38
|
updateP2PConfig(_config: Partial<P2PConfig>): Promise<void>;
|
|
38
39
|
getL2Tips(): Promise<L2Tips>;
|
|
39
40
|
handleBlockStreamEvent(_event: L2BlockStreamEvent): Promise<void>;
|
|
40
41
|
sync(): void;
|
|
41
|
-
requestTxsByHash(_txHashes: TxHash[]): Promise<Tx[]>;
|
|
42
|
-
getTxs(_filter: 'all' | 'pending' | 'mined'): Promise<Tx[]>;
|
|
43
42
|
getTxsByHashFromPool(_txHashes: TxHash[]): Promise<(Tx | undefined)[]>;
|
|
44
43
|
hasTxsInPool(_txHashes: TxHash[]): Promise<boolean[]>;
|
|
45
44
|
addTxsToPool(_txs: Tx[]): Promise<number>;
|
|
46
45
|
getSyncedLatestBlockNum(): Promise<number>;
|
|
47
46
|
getSyncedProvenBlockNum(): Promise<number>;
|
|
48
47
|
getSyncedLatestSlot(): Promise<bigint>;
|
|
49
|
-
|
|
48
|
+
protectTxs(_txHashes: TxHash[], _blockHeader: BlockHeader): Promise<TxHash[]>;
|
|
49
|
+
prepareForSlot(_slotNumber: SlotNumber): Promise<void>;
|
|
50
50
|
addReqRespSubProtocol(_subProtocol: ReqRespSubProtocol, _handler: ReqRespSubProtocolHandler, _validator?: ReqRespSubProtocolValidators[ReqRespSubProtocol]): Promise<void>;
|
|
51
51
|
handleAuthRequestFromPeer(_authRequest: AuthRequest, _peerId: PeerId): Promise<StatusMessage>;
|
|
52
52
|
registerThisValidatorAddresses(_address: EthAddress[]): void;
|
|
53
|
+
registerDuplicateProposalCallback(_callback: P2PDuplicateProposalCallback): void;
|
|
54
|
+
registerDuplicateAttestationCallback(_callback: P2PDuplicateAttestationCallback): void;
|
|
53
55
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtbXlfcDJwX2NsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRlX21hY2hpbmUvZHVtbXlfcDJwX2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFDVixXQUFXLEVBQ1gsR0FBRyxFQUNILEdBQUcsRUFDSCx3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLFNBQVMsRUFDVCwrQkFBK0IsRUFDL0IsNEJBQTRCLEVBQzVCLFlBQVksRUFDWixNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsYUFBYSxFQUNkLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhFLHFCQUFhLFFBQVMsWUFBVyxHQUFHO0lBQzNCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUV6QztJQUVNLEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRTVCO0lBRU0sYUFBYSxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUVwQztJQUVNLGFBQWEsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUVsRDtJQUVNLFFBQVEsQ0FBQyxlQUFlLENBQUMs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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,SAAS,EACT,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;AAChE,OAAO,KAAK,EAAE,
|
|
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,7 +1,4 @@
|
|
|
1
1
|
export class DummyP2P {
|
|
2
|
-
broadcastAttestations(_attestations) {
|
|
3
|
-
return Promise.resolve();
|
|
4
|
-
}
|
|
5
2
|
validate(_txs) {
|
|
6
3
|
return Promise.resolve();
|
|
7
4
|
}
|
|
@@ -20,9 +17,18 @@ export class DummyP2P {
|
|
|
20
17
|
broadcastProposal(_proposal) {
|
|
21
18
|
throw new Error('DummyP2P does not implement "broadcastProposal"');
|
|
22
19
|
}
|
|
20
|
+
broadcastCheckpointProposal(_proposal) {
|
|
21
|
+
throw new Error('DummyP2P does not implement "broadcastCheckpointProposal"');
|
|
22
|
+
}
|
|
23
|
+
broadcastCheckpointAttestations(_attestations) {
|
|
24
|
+
throw new Error('DummyP2P does not implement "broadcastCheckpointAttestations"');
|
|
25
|
+
}
|
|
23
26
|
registerBlockProposalHandler(_handler) {
|
|
24
27
|
throw new Error('DummyP2P does not implement "registerBlockProposalHandler"');
|
|
25
28
|
}
|
|
29
|
+
registerCheckpointProposalHandler(_handler) {
|
|
30
|
+
throw new Error('DummyP2P does not implement "registerCheckpointProposalHandler"');
|
|
31
|
+
}
|
|
26
32
|
requestTxs(_txHashes) {
|
|
27
33
|
throw new Error('DummyP2P does not implement "requestTxs"');
|
|
28
34
|
}
|
|
@@ -32,8 +38,8 @@ export class DummyP2P {
|
|
|
32
38
|
sendTx(_tx) {
|
|
33
39
|
throw new Error('DummyP2P does not implement "sendTx"');
|
|
34
40
|
}
|
|
35
|
-
|
|
36
|
-
throw new Error('DummyP2P does not implement "
|
|
41
|
+
handleFailedExecution(_txHashes) {
|
|
42
|
+
throw new Error('DummyP2P does not implement "handleFailedExecution"');
|
|
37
43
|
}
|
|
38
44
|
getTxByHashFromPool(_txHash) {
|
|
39
45
|
throw new Error('DummyP2P does not implement "getTxByHashFromPool"');
|
|
@@ -45,7 +51,9 @@ export class DummyP2P {
|
|
|
45
51
|
throw new Error('DummyP2P does not implement "getArchivedTxByHash"');
|
|
46
52
|
}
|
|
47
53
|
getTxStatus(_txHash) {
|
|
48
|
-
|
|
54
|
+
// In TXE there is no concept of transactions but we need to implement this because of tagging. We return 'mined'
|
|
55
|
+
// tx status for any tx hash.
|
|
56
|
+
return Promise.resolve('mined');
|
|
49
57
|
}
|
|
50
58
|
iteratePendingTxs() {
|
|
51
59
|
throw new Error('DummyP2P does not implement "iteratePendingTxs"');
|
|
@@ -74,14 +82,11 @@ export class DummyP2P {
|
|
|
74
82
|
getTxsByHash(_txHashes) {
|
|
75
83
|
throw new Error('DummyP2P does not implement "getTxsByHash"');
|
|
76
84
|
}
|
|
77
|
-
|
|
78
|
-
throw new Error('DummyP2P does not implement "
|
|
79
|
-
}
|
|
80
|
-
deleteAttestation(_attestation) {
|
|
81
|
-
return Promise.resolve();
|
|
85
|
+
getCheckpointAttestationsForSlot(_slot, _proposalId) {
|
|
86
|
+
throw new Error('DummyP2P does not implement "getCheckpointAttestationsForSlot"');
|
|
82
87
|
}
|
|
83
|
-
|
|
84
|
-
throw new Error('DummyP2P does not implement "
|
|
88
|
+
addOwnCheckpointAttestations(_attestations) {
|
|
89
|
+
throw new Error('DummyP2P does not implement "addOwnCheckpointAttestations"');
|
|
85
90
|
}
|
|
86
91
|
getL2BlockHash(_number) {
|
|
87
92
|
throw new Error('DummyP2P does not implement "getL2BlockHash"');
|
|
@@ -98,12 +103,6 @@ export class DummyP2P {
|
|
|
98
103
|
sync() {
|
|
99
104
|
throw new Error('DummyP2P does not implement "sync"');
|
|
100
105
|
}
|
|
101
|
-
requestTxsByHash(_txHashes) {
|
|
102
|
-
throw new Error('DummyP2P does not implement "requestTxsByHash"');
|
|
103
|
-
}
|
|
104
|
-
getTxs(_filter) {
|
|
105
|
-
throw new Error('DummyP2P does not implement "getTxs"');
|
|
106
|
-
}
|
|
107
106
|
getTxsByHashFromPool(_txHashes) {
|
|
108
107
|
throw new Error('DummyP2P does not implement "getTxsByHashFromPool"');
|
|
109
108
|
}
|
|
@@ -122,8 +121,11 @@ export class DummyP2P {
|
|
|
122
121
|
getSyncedLatestSlot() {
|
|
123
122
|
throw new Error('DummyP2P does not implement "getSyncedLatestSlot"');
|
|
124
123
|
}
|
|
125
|
-
|
|
126
|
-
throw new Error('DummyP2P does not implement "
|
|
124
|
+
protectTxs(_txHashes, _blockHeader) {
|
|
125
|
+
throw new Error('DummyP2P does not implement "protectTxs".');
|
|
126
|
+
}
|
|
127
|
+
prepareForSlot(_slotNumber) {
|
|
128
|
+
return Promise.resolve();
|
|
127
129
|
}
|
|
128
130
|
addReqRespSubProtocol(_subProtocol, _handler, _validator) {
|
|
129
131
|
throw new Error('DummyP2P does not implement "addReqRespSubProtocol".');
|
|
@@ -133,4 +135,10 @@ export class DummyP2P {
|
|
|
133
135
|
}
|
|
134
136
|
//This is no-op
|
|
135
137
|
registerThisValidatorAddresses(_address) {}
|
|
138
|
+
registerDuplicateProposalCallback(_callback) {
|
|
139
|
+
throw new Error('DummyP2P does not implement "registerDuplicateProposalCallback"');
|
|
140
|
+
}
|
|
141
|
+
registerDuplicateAttestationCallback(_callback) {
|
|
142
|
+
throw new Error('DummyP2P does not implement "registerDuplicateAttestationCallback"');
|
|
143
|
+
}
|
|
136
144
|
}
|
|
@@ -2,9 +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 GlobalVariableBuilder, GlobalVariables } from '@aztec/stdlib/tx';
|
|
5
|
+
import { 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
10
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZV9tYWNoaW5lL2dsb2JhbF92YXJpYWJsZV9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFNUMsT0FBTyxFQUFFLEtBQUsseUJBQXlCLEVBQUUsS0FBSyxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvRyxxQkFBYSx5QkFBMEIsWUFBVyxxQkFBcUI7SUFDOUQsaUJBQWlCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUUzQztJQUVNLG9CQUFvQixDQUN6QixZQUFZLEVBQUUsV0FBVyxFQUN6QixTQUFTLEVBQUUsVUFBVSxFQUNyQixhQUFhLEVBQUUsWUFBWSxFQUMzQixXQUFXLENBQUMsRUFBRSxVQUFVLEdBQ3ZCLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FFMUI7SUFFTSw4QkFBOEIsQ0FDbkMsU0FBUyxFQUFFLFVBQVUsRUFDckIsYUFBYSxFQUFFLFlBQVksRUFDM0IsV0FBVyxFQUFFLFVBQVUsR0FDdEIsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBV3BDO0NBQ0YifQ==
|
|
@@ -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,EAAE,KAAK,qBAAqB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE/
|
|
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,EAAE,KAAK,yBAAyB,EAAE,KAAK,qBAAqB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE/G,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,GACtB,OAAO,CAAC,yBAAyB,CAAC,CAWpC;CACF"}
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import { GasFees } from '@aztec/stdlib/gas';
|
|
2
2
|
import { makeGlobalVariables } from '@aztec/stdlib/testing';
|
|
3
3
|
export class TXEGlobalVariablesBuilder {
|
|
4
|
-
|
|
4
|
+
getCurrentMinFees() {
|
|
5
5
|
return Promise.resolve(new GasFees(0, 0));
|
|
6
6
|
}
|
|
7
7
|
buildGlobalVariables(_blockNumber, _coinbase, _feeRecipient, _slotNumber) {
|
|
8
8
|
return Promise.resolve(makeGlobalVariables());
|
|
9
9
|
}
|
|
10
|
+
buildCheckpointGlobalVariables(_coinbase, _feeRecipient, _slotNumber) {
|
|
11
|
+
const vars = makeGlobalVariables();
|
|
12
|
+
return Promise.resolve({
|
|
13
|
+
chainId: vars.chainId,
|
|
14
|
+
version: vars.version,
|
|
15
|
+
slotNumber: vars.slotNumber,
|
|
16
|
+
timestamp: vars.timestamp,
|
|
17
|
+
coinbase: vars.coinbase,
|
|
18
|
+
feeRecipient: vars.feeRecipient,
|
|
19
|
+
gasFees: vars.gasFees
|
|
20
|
+
});
|
|
21
|
+
}
|
|
10
22
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import {
|
|
3
|
-
import { type L2Block } from '@aztec/stdlib/block';
|
|
1
|
+
import { type AnchorBlockStore, type ContractStore, ContractSyncService, type NoteStore } from '@aztec/pxe/server';
|
|
2
|
+
import { L2Block } from '@aztec/stdlib/block';
|
|
4
3
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
5
4
|
import { TXEArchiver } from './archiver.js';
|
|
6
5
|
import { TXESynchronizer } from './synchronizer.js';
|
|
@@ -8,9 +7,10 @@ export declare class TXEStateMachine {
|
|
|
8
7
|
node: AztecNode;
|
|
9
8
|
synchronizer: TXESynchronizer;
|
|
10
9
|
archiver: TXEArchiver;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
anchorBlockStore: AnchorBlockStore;
|
|
11
|
+
contractSyncService: ContractSyncService;
|
|
12
|
+
constructor(node: AztecNode, synchronizer: TXESynchronizer, archiver: TXEArchiver, anchorBlockStore: AnchorBlockStore, contractSyncService: ContractSyncService);
|
|
13
|
+
static create(archiver: TXEArchiver, anchorBlockStore: AnchorBlockStore, contractStore: ContractStore, noteStore: NoteStore): Promise<TXEStateMachine>;
|
|
14
14
|
handleL2Block(block: L2Block): Promise<void>;
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZV9tYWNoaW5lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFFLEtBQUssYUFBYSxFQUFFLG1CQUFtQixFQUFFLEtBQUssU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSWpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBS3BELHFCQUFhLGVBQWU7SUFFakIsSUFBSSxFQUFFLFNBQVM7SUFDZixZQUFZLEVBQUUsZUFBZTtJQUM3QixRQUFRLEVBQUUsV0FBVztJQUNyQixnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMsbUJBQW1CLEVBQUUsbUJBQW1CO0lBTGpELFlBQ1MsSUFBSSxFQUFFLFNBQVMsRUFDZixZQUFZLEVBQUUsZUFBZSxFQUM3QixRQUFRLEVBQUUsV0FBVyxFQUNyQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQzdDO0lBRUosT0FBb0IsTUFBTSxDQUN4QixRQUFRLEVBQUUsV0FBVyxFQUNyQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsYUFBYSxFQUFFLGFBQWEsRUFDNUIsU0FBUyxFQUFFLFNBQVMsNEJBb0NyQjtJQUVZLGFBQWEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxpQkF5Q3hDO0NBQ0YifQ==
|
|
@@ -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":"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;IALjD,YACS,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,WAAW,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EAC7C;IAEJ,OAAoB,MAAM,CACxB,QAAQ,EAAE,WAAW,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,4BAoCrB;IAEY,aAAa,CAAC,KAAK,EAAE,OAAO,iBAyCxC;CACF"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { AztecNodeService } from '@aztec/aztec-node';
|
|
2
2
|
import { TestCircuitVerifier } from '@aztec/bb-prover/test';
|
|
3
|
+
import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
4
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
5
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
+
import { ContractSyncService } from '@aztec/pxe/server';
|
|
7
|
+
import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
8
|
+
import { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
6
9
|
import { getPackageVersion } from '@aztec/stdlib/update-checker';
|
|
7
|
-
import { TXEArchiver } from './archiver.js';
|
|
8
10
|
import { DummyP2P } from './dummy_p2p_client.js';
|
|
9
11
|
import { TXEGlobalVariablesBuilder } from './global_variable_builder.js';
|
|
10
12
|
import { MockEpochCache } from './mock_epoch_cache.js';
|
|
@@ -15,37 +17,52 @@ export class TXEStateMachine {
|
|
|
15
17
|
node;
|
|
16
18
|
synchronizer;
|
|
17
19
|
archiver;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
anchorBlockStore;
|
|
21
|
+
contractSyncService;
|
|
22
|
+
constructor(node, synchronizer, archiver, anchorBlockStore, contractSyncService){
|
|
20
23
|
this.node = node;
|
|
21
24
|
this.synchronizer = synchronizer;
|
|
22
25
|
this.archiver = archiver;
|
|
23
|
-
this.
|
|
26
|
+
this.anchorBlockStore = anchorBlockStore;
|
|
27
|
+
this.contractSyncService = contractSyncService;
|
|
24
28
|
}
|
|
25
|
-
static async create(
|
|
26
|
-
const archiver = new TXEArchiver(db);
|
|
29
|
+
static async create(archiver, anchorBlockStore, contractStore, noteStore) {
|
|
27
30
|
const synchronizer = await TXESynchronizer.create();
|
|
28
|
-
const syncDataProvider = new SyncDataProvider(db);
|
|
29
31
|
const aztecNodeConfig = {};
|
|
30
32
|
const log = createLogger('txe_node');
|
|
31
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);
|
|
32
|
-
|
|
34
|
+
const contractSyncService = new ContractSyncService(node, contractStore, noteStore, createLogger('txe:contract_sync'));
|
|
35
|
+
return new this(node, synchronizer, archiver, anchorBlockStore, contractSyncService);
|
|
33
36
|
}
|
|
34
37
|
async handleL2Block(block) {
|
|
38
|
+
// Create a checkpoint from the block manually.
|
|
39
|
+
// TXE uses 1-block-per-checkpoint for testing simplicity, so we can use block number as checkpoint number.
|
|
40
|
+
// This uses the deprecated fromBlockNumber method intentionally for the TXE testing environment.
|
|
41
|
+
const checkpointNumber = CheckpointNumber.fromBlockNumber(block.number);
|
|
42
|
+
const checkpoint = new Checkpoint(block.archive, CheckpointHeader.from({
|
|
43
|
+
lastArchiveRoot: block.header.lastArchive.root,
|
|
44
|
+
inHash: Fr.ZERO,
|
|
45
|
+
blobsHash: Fr.ZERO,
|
|
46
|
+
blockHeadersHash: Fr.ZERO,
|
|
47
|
+
epochOutHash: Fr.ZERO,
|
|
48
|
+
slotNumber: block.header.globalVariables.slotNumber,
|
|
49
|
+
timestamp: block.header.globalVariables.timestamp,
|
|
50
|
+
coinbase: block.header.globalVariables.coinbase,
|
|
51
|
+
feeRecipient: block.header.globalVariables.feeRecipient,
|
|
52
|
+
gasFees: block.header.globalVariables.gasFees,
|
|
53
|
+
totalManaUsed: block.header.totalManaUsed
|
|
54
|
+
}), [
|
|
55
|
+
block
|
|
56
|
+
], checkpointNumber);
|
|
57
|
+
const publishedCheckpoint = new PublishedCheckpoint(checkpoint, new L1PublishedData(BigInt(block.header.globalVariables.blockNumber), block.header.globalVariables.timestamp, block.header.globalVariables.blockNumber.toString()), []);
|
|
58
|
+
// Wipe contract sync cache when anchor block changes (mirrors BlockSynchronizer behavior)
|
|
59
|
+
this.contractSyncService.wipe();
|
|
35
60
|
await Promise.all([
|
|
36
|
-
this.synchronizer.handleL2Block(block
|
|
37
|
-
this.archiver.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
blockHash: block.header.globalVariables.blockNumber.toString(),
|
|
42
|
-
blockNumber: BigInt(block.header.globalVariables.blockNumber),
|
|
43
|
-
timestamp: block.header.globalVariables.timestamp
|
|
44
|
-
},
|
|
45
|
-
attestations: []
|
|
46
|
-
})
|
|
47
|
-
]),
|
|
48
|
-
this.syncDataProvider.setHeader(block.getBlockHeader())
|
|
61
|
+
this.synchronizer.handleL2Block(block),
|
|
62
|
+
this.archiver.addCheckpoints([
|
|
63
|
+
publishedCheckpoint
|
|
64
|
+
], undefined),
|
|
65
|
+
this.anchorBlockStore.setHeader(block.header)
|
|
49
66
|
]);
|
|
50
67
|
}
|
|
51
68
|
}
|
|
@@ -1,26 +1,29 @@
|
|
|
1
1
|
import type { EpochAndSlot, EpochCacheInterface, EpochCommitteeInfo, SlotTag } from '@aztec/epoch-cache';
|
|
2
2
|
import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
|
+
import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
4
5
|
/**
|
|
5
6
|
* Mock implementation of the EpochCacheInterface used to satisfy dependencies of AztecNodeService.
|
|
6
7
|
* Since in TXE we don't validate transactions, mock suffices here.
|
|
7
8
|
*/
|
|
8
9
|
export declare class MockEpochCache implements EpochCacheInterface {
|
|
9
10
|
getCommittee(): Promise<EpochCommitteeInfo>;
|
|
10
|
-
getEpochAndSlotNow(): EpochAndSlot
|
|
11
|
+
getEpochAndSlotNow(): EpochAndSlot & {
|
|
12
|
+
nowMs: bigint;
|
|
13
|
+
};
|
|
11
14
|
getEpochAndSlotInNextL1Slot(): EpochAndSlot & {
|
|
12
15
|
now: bigint;
|
|
13
16
|
};
|
|
14
17
|
getProposerIndexEncoding(_epoch: EpochNumber, _slot: SlotNumber, _seed: bigint): `0x${string}`;
|
|
15
18
|
computeProposerIndex(_slot: SlotNumber, _epoch: EpochNumber, _seed: bigint, _size: bigint): bigint;
|
|
16
|
-
|
|
17
|
-
currentProposer: EthAddress | undefined;
|
|
18
|
-
nextProposer: EthAddress | undefined;
|
|
19
|
+
getCurrentAndNextSlot(): {
|
|
19
20
|
currentSlot: SlotNumber;
|
|
20
21
|
nextSlot: SlotNumber;
|
|
21
|
-
}
|
|
22
|
+
};
|
|
23
|
+
getProposerAttesterAddressInSlot(_slot: SlotNumber): Promise<EthAddress | undefined>;
|
|
22
24
|
isInCommittee(_slot: SlotTag, _validator: EthAddress): Promise<boolean>;
|
|
23
25
|
getRegisteredValidators(): Promise<EthAddress[]>;
|
|
24
26
|
filterInCommittee(_slot: SlotTag, _validators: EthAddress[]): Promise<EthAddress[]>;
|
|
27
|
+
getL1Constants(): L1RollupConstants;
|
|
25
28
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19lcG9jaF9jYWNoZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRlX21hY2hpbmUvbW9ja19lcG9jaF9jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUEwQixLQUFLLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFN0Y7OztHQUdHO0FBQ0gscUJBQWEsY0FBZSxZQUFXLG1CQUFtQjtJQUN4RCxZQUFZLElBQUksT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBTzFDO0lBRUQsa0JBQWtCLElBQUksWUFBWSxHQUFHO1FBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQTtLQUFFLENBT3JEO0lBRUQsMkJBQTJCLElBQUksWUFBWSxHQUFHO1FBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQTtLQUFFLENBTzVEO0lBRUQsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsS0FBSyxNQUFNLEVBQUUsQ0FFN0Y7SUFFRCxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFakc7SUFFRCxxQkFBcUIsSUFBSTtRQUFFLFdBQVcsRUFBRSxVQUFVLENBQUM7UUFBQyxRQUFRLEVBQUUsVUFBVSxDQUFBO0tBQUUsQ0FLekU7SUFFRCxnQ0FBZ0MsQ0FBQyxLQUFLLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLENBRW5GO0lBRUQsYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBRXRFO0lBRUQsdUJBQXVCLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBRS9DO0lBRUQsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBRWxGO0lBRUQsY0FBYyxJQUFJLGlCQUFpQixDQUVsQztDQUNGIn0=
|
|
@@ -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;
|
|
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,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAO1C;IAED,kBAAkB,IAAI,YAAY,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAOrD;IAED,2BAA2B,IAAI,YAAY,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAO5D;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,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,cAAc,IAAI,iBAAiB,CAElC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { EmptyL1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
2
3
|
/**
|
|
3
4
|
* Mock implementation of the EpochCacheInterface used to satisfy dependencies of AztecNodeService.
|
|
4
5
|
* Since in TXE we don't validate transactions, mock suffices here.
|
|
@@ -7,14 +8,16 @@ import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
|
7
8
|
return Promise.resolve({
|
|
8
9
|
committee: undefined,
|
|
9
10
|
seed: 0n,
|
|
10
|
-
epoch: EpochNumber.ZERO
|
|
11
|
+
epoch: EpochNumber.ZERO,
|
|
12
|
+
isEscapeHatchOpen: false
|
|
11
13
|
});
|
|
12
14
|
}
|
|
13
15
|
getEpochAndSlotNow() {
|
|
14
16
|
return {
|
|
15
17
|
epoch: EpochNumber.ZERO,
|
|
16
18
|
slot: SlotNumber(0),
|
|
17
|
-
ts: 0n
|
|
19
|
+
ts: 0n,
|
|
20
|
+
nowMs: 0n
|
|
18
21
|
};
|
|
19
22
|
}
|
|
20
23
|
getEpochAndSlotInNextL1Slot() {
|
|
@@ -31,13 +34,14 @@ import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
|
31
34
|
computeProposerIndex(_slot, _epoch, _seed, _size) {
|
|
32
35
|
return 0n;
|
|
33
36
|
}
|
|
34
|
-
|
|
35
|
-
return
|
|
36
|
-
currentProposer: undefined,
|
|
37
|
-
nextProposer: undefined,
|
|
37
|
+
getCurrentAndNextSlot() {
|
|
38
|
+
return {
|
|
38
39
|
currentSlot: SlotNumber(0),
|
|
39
40
|
nextSlot: SlotNumber(0)
|
|
40
|
-
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
getProposerAttesterAddressInSlot(_slot) {
|
|
44
|
+
return Promise.resolve(undefined);
|
|
41
45
|
}
|
|
42
46
|
isInCommittee(_slot, _validator) {
|
|
43
47
|
return Promise.resolve(false);
|
|
@@ -48,4 +52,7 @@ import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
|
48
52
|
filterInCommittee(_slot, _validators) {
|
|
49
53
|
return Promise.resolve([]);
|
|
50
54
|
}
|
|
55
|
+
getL1Constants() {
|
|
56
|
+
return EmptyL1RollupConstants;
|
|
57
|
+
}
|
|
51
58
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { 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 {
|
|
@@ -7,7 +7,7 @@ export declare class TXESynchronizer implements WorldStateSynchronizer {
|
|
|
7
7
|
private blockNumber;
|
|
8
8
|
constructor(nativeWorldStateService: NativeWorldStateService);
|
|
9
9
|
static create(): Promise<TXESynchronizer>;
|
|
10
|
-
handleL2Block(block:
|
|
10
|
+
handleL2Block(block: L2Block): Promise<void>;
|
|
11
11
|
/**
|
|
12
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.
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY2hyb25pemVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdGVfbWFjaGluZS9zeW5jaHJvbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUNWLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsZ0JBQWdCLEVBQ2hCLHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDN0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVwRSxxQkFBYSxlQUFnQixZQUFXLHNCQUFzQjtJQUl6Qyx1QkFBdUIsRUFBRSx1QkFBdUI7SUFGbkUsT0FBTyxDQUFDLFdBQVcsQ0FBb0I7SUFFdkMsWUFBbUIsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUk7SUFFdkUsT0FBYSxNQUFNLDZCQUlsQjtJQUVZLGFBQWEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxpQkFPeEM7SUFFRDs7Ozs7T0FLRztJQUNJLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBRSxXQUFXLEVBQUUsNEJBQTRCLENBQUMsRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUVoSDtJQUVELCtGQUErRjtJQUN4RixZQUFZLElBQUksd0JBQXdCLENBRTlDO0lBRUQscUZBQXFGO0lBQzlFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBRTlEO0lBRUQsdUZBQXVGO0lBQ2hGLFdBQVcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxHQUFHLHdCQUF3QixDQUVoRTtJQUVELHlDQUF5QztJQUNsQyxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FFbEg7SUFFTSxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUU1QjtJQUVNLE1BQU0sSUFBSSxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FFckQ7SUFFTSxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUUzQjtJQUVNLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRS9CO0lBRU0sVUFBVSxJQUFJLElBQUksQ0FFeEI7SUFFTSxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUU1QjtDQUNGIn0=
|
|
@@ -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,
|
|
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;AACnD,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,4BAA4B,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAEhH;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,6 +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 { Fr } from '@aztec/foundation/
|
|
3
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { NativeWorldStateService } from '@aztec/world-state/native';
|
|
5
5
|
export class TXESynchronizer {
|
|
6
6
|
nativeWorldStateService;
|
|
@@ -15,7 +15,7 @@ export class TXESynchronizer {
|
|
|
15
15
|
return new this(nativeWorldStateService);
|
|
16
16
|
}
|
|
17
17
|
async handleL2Block(block) {
|
|
18
|
-
await this.nativeWorldStateService.handleL2BlockAndMessages(block, Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(0).map(Fr.zero)
|
|
18
|
+
await this.nativeWorldStateService.handleL2BlockAndMessages(block, Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(0).map(Fr.zero));
|
|
19
19
|
this.blockNumber = block.header.globalVariables.blockNumber;
|
|
20
20
|
}
|
|
21
21
|
/**
|
package/dest/txe_session.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { type Logger } from '@aztec/foundation/log';
|
|
4
4
|
import { KeyStore } from '@aztec/key-store';
|
|
5
5
|
import type { ProtocolContract } from '@aztec/protocol-contracts';
|
|
6
|
-
import {
|
|
6
|
+
import { AddressStore, CapsuleStore, JobCoordinator, NoteStore, PrivateEventStore, RecipientTaggingStore, SenderAddressBookStore, SenderTaggingStore } from '@aztec/pxe/server';
|
|
7
7
|
import { type IPrivateExecutionOracle, type IUtilityExecutionOracle } from '@aztec/pxe/simulator';
|
|
8
8
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
9
9
|
import { PrivateContextInputs } from '@aztec/stdlib/kernel';
|
|
@@ -11,8 +11,8 @@ import type { IAvmExecutionOracle, ITxeExecutionOracle } from './oracle/interfac
|
|
|
11
11
|
import { RPCTranslator } from './rpc_translator.js';
|
|
12
12
|
import { TXEStateMachine } from './state_machine/index.js';
|
|
13
13
|
import type { ForeignCallArgs, ForeignCallResult } from './util/encoding.js';
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
14
|
+
import { TXEAccountStore } from './util/txe_account_store.js';
|
|
15
|
+
import { TXEContractStore } from './util/txe_contract_store.js';
|
|
16
16
|
type MethodNames<T> = {
|
|
17
17
|
[K in keyof T]: T[K] extends (...args: any[]) => any ? K : never;
|
|
18
18
|
}[keyof T];
|
|
@@ -35,17 +35,24 @@ export declare class TXESession implements TXESessionStateHandler {
|
|
|
35
35
|
private logger;
|
|
36
36
|
private stateMachine;
|
|
37
37
|
private oracleHandler;
|
|
38
|
-
private
|
|
38
|
+
private contractStore;
|
|
39
|
+
private noteStore;
|
|
39
40
|
private keyStore;
|
|
40
|
-
private
|
|
41
|
-
private
|
|
41
|
+
private addressStore;
|
|
42
|
+
private accountStore;
|
|
43
|
+
private senderTaggingStore;
|
|
44
|
+
private recipientTaggingStore;
|
|
45
|
+
private senderAddressBookStore;
|
|
46
|
+
private capsuleStore;
|
|
47
|
+
private privateEventStore;
|
|
48
|
+
private jobCoordinator;
|
|
49
|
+
private currentJobId;
|
|
42
50
|
private chainId;
|
|
43
51
|
private version;
|
|
44
52
|
private nextBlockTimestamp;
|
|
45
|
-
private pxeOracleInterface;
|
|
46
53
|
private state;
|
|
47
54
|
private authwits;
|
|
48
|
-
constructor(logger: Logger, stateMachine: TXEStateMachine, oracleHandler: IUtilityExecutionOracle | IPrivateExecutionOracle | IAvmExecutionOracle | ITxeExecutionOracle,
|
|
55
|
+
constructor(logger: Logger, stateMachine: TXEStateMachine, oracleHandler: IUtilityExecutionOracle | IPrivateExecutionOracle | IAvmExecutionOracle | ITxeExecutionOracle, contractStore: TXEContractStore, noteStore: NoteStore, keyStore: KeyStore, addressStore: AddressStore, accountStore: TXEAccountStore, senderTaggingStore: SenderTaggingStore, recipientTaggingStore: RecipientTaggingStore, senderAddressBookStore: SenderAddressBookStore, capsuleStore: CapsuleStore, privateEventStore: PrivateEventStore, jobCoordinator: JobCoordinator, currentJobId: string, chainId: Fr, version: Fr, nextBlockTimestamp: bigint);
|
|
49
56
|
static init(protocolContracts: ProtocolContract[]): Promise<TXESession>;
|
|
50
57
|
/**
|
|
51
58
|
* Processes an oracle function invoked by the Noir test associated to this session.
|
|
@@ -62,6 +69,7 @@ export declare class TXESession implements TXESessionStateHandler {
|
|
|
62
69
|
private exitPrivateState;
|
|
63
70
|
private exitPublicState;
|
|
64
71
|
private exitUtilityContext;
|
|
72
|
+
private utilityExecutorForContractSync;
|
|
65
73
|
}
|
|
66
74
|
export {};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX3Nlc3Npb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90eGVfc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUMsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsWUFBWSxFQUVaLFlBQVksRUFDWixjQUFjLEVBRWQsU0FBUyxFQUNULGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNuQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFJTCxLQUFLLHVCQUF1QixFQUM1QixLQUFLLHVCQUF1QixFQUk3QixNQUFNLHNCQUFzQixDQUFDO0FBVzlCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUczRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU81RCxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3ZGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFB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
|