-
Notifications
You must be signed in to change notification settings - Fork 327
/
Copy pathsetup_phase_manager.test.ts
57 lines (46 loc) · 1.99 KB
/
setup_phase_manager.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import { PublicKernelType, type TreeInfo, mockTx } from '@aztec/circuit-types';
import { GlobalVariables, Header } from '@aztec/circuits.js';
import { type PublicExecutor } from '@aztec/simulator';
import { type MerkleTreeOperations } from '@aztec/world-state';
import { it } from '@jest/globals';
import { type MockProxy, mock } from 'jest-mock-extended';
import { type PhaseConfig } from './abstract_phase_manager.js';
import { type WorldStateDB } from './public_db_sources.js';
import { type PublicKernelCircuitSimulator } from './public_kernel_circuit_simulator.js';
import { SetupPhaseManager } from './setup_phase_manager.js';
class TestSetupPhaseManager extends SetupPhaseManager {
override extractEnqueuedPublicCalls(tx: any) {
return super.extractEnqueuedPublicCalls(tx);
}
}
describe('setup_phase_manager', () => {
let db: MockProxy<MerkleTreeOperations>;
let publicExecutor: MockProxy<PublicExecutor>;
let worldStateDB: MockProxy<WorldStateDB>;
let publicKernel: MockProxy<PublicKernelCircuitSimulator>;
let root: Buffer;
let phaseManager: TestSetupPhaseManager;
beforeEach(() => {
db = mock<MerkleTreeOperations>();
publicExecutor = mock<PublicExecutor>();
worldStateDB = mock<WorldStateDB>();
root = Buffer.alloc(32, 5);
db.getTreeInfo.mockResolvedValue({ root } as TreeInfo);
publicKernel = mock<PublicKernelCircuitSimulator>();
const config: PhaseConfig = {
db,
publicExecutor,
publicKernel,
globalVariables: GlobalVariables.empty(),
historicalHeader: Header.empty(),
phase: PublicKernelType.SETUP,
worldStateDB,
};
phaseManager = new TestSetupPhaseManager(config);
});
it('does not extract non-revertible calls when none exist', function () {
const tx = mockTx(1, { numberOfNonRevertiblePublicCallRequests: 0, numberOfRevertiblePublicCallRequests: 0 });
const enqueuedNonRevertibleCalls = phaseManager.extractEnqueuedPublicCalls(tx);
expect(enqueuedNonRevertibleCalls).toEqual([]);
});
});